Основи Natural Language Processing (NLP)

Обробка природної мови (NLP) зі spaCy

Azadeh Mobasher

Principal Data Scientist

Natural Language Processing (NLP)

 

  • Підгалузь Artificial Intelligence (AI)
  • Допомагає комп'ютерам розуміти людську мову
  • Дозволяє видобувати інсайти з неструктурованих даних
  • Поєднує статистику, моделі машинного навчання та моделі глибокого навчання

 

NLP, підгалузь AI

Обробка природної мови (NLP) зі spaCy

Приклади використання NLP

Аналіз тональності  

  • Використання комп'ютерів, щоб визначити прихильний або негативний настрій у тексті

 

Приклади аналізу тональності

Обробка природної мови (NLP) зі spaCy

Приклади використання NLP

Розпізнавання іменованих сутностей (NER)  

  • Пошук і класифікація іменованих сутностей у неструктурованому тексті за наперед заданими категоріями
  • Іменовані сутності — це об'єкти реального світу, як-от особа чи локація

 

Приклади NER

Обробка природної мови (NLP) зі spaCy

Приклади використання NLP

 

  • Генерують відповіді, схожі на людські, на текстові запити, наприклад ChatGPT

 

Чатботи

Обробка природної мови (NLP) зі spaCy

Вступ до spaCy

spaCy — це безплатна, відкрита бібліотека для NLP у Python, яка:

  • Створена для систем витягання інформації
  • Надає готовий до продакшну код для кейсів NLP
  • Підтримує 64+ мов
  • Надійна й швидка, має бібліотеки візуалізації

 

spaCy та NLP

Обробка природної мови (NLP) зі spaCy

Встановлення та імпорт spaCy

 

  • Спочатку встановіть spaCy через менеджер пакетів Python pip
  • Можна завантажити треновані моделі spaCy
  • Для англійської доступно кілька моделей на spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Обробка природної мови (NLP) зі spaCy

Зчитування й обробка тексту в spaCy

  • Завантажена модель spaCy en_core_web_sm = об'єкт nlp
  • Об'єкт nlp перетворює текст на об'єкт Doc (контейнер) для збереження опрацьованого тексту

Опрацювання тексту в spaCy

Обробка природної мови (NLP) зі spaCy

spaCy у дії

  • Опрацювання рядка за допомогою spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Токенізація
    • Token — найменша значуща частина тексту.
    • Токенізація: поділ тексту на список значущих токенів
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Обробка природної мови (NLP) зі spaCy

Давайте потренуємось!

Обробка природної мови (NLP) зі spaCy

Preparing Video For Download...