Основы обработки естественного языка (NLP)

Обработка естественного языка с помощью spaCy

Azadeh Mobasher

Principal Data Scientist

Обработка естественного языка (NLP)

 

  • Подраздел искусственного интеллекта (ИИ)
  • Помогает компьютерам понимать человеческий язык
  • Позволяет извлекать знания из неструктурированных данных
  • Использует статистику, модели машинного обучения и модели глубокого обучения

 

NLP — подраздел ИИ

Обработка естественного языка с помощью spaCy

Применение NLP

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

  • Автоматическое определение субъективной тональности текста с помощью компьютера

 

Примеры анализа тональности

Обработка естественного языка с помощью spaCy

Применение NLP

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

  • Поиск и классификация именованных сущностей в неструктурированном тексте по заранее заданным категориям
  • Именованные сущности — реальные объекты, такие как человек или место

 

Примеры NER

Обработка естественного языка с помощью spaCy

Применение NLP

 

  • Генерируют ответы, похожие на человеческие, например ChatGPT

 

Чат-боты

Обработка естественного языка с помощью spaCy

Введение в spaCy

spaCy — бесплатная библиотека с открытым исходным кодом для NLP на Python, которая:

  • Разработана для построения систем извлечения информации
  • Предоставляет готовый к использованию код для задач NLP
  • Поддерживает 64+ языка
  • Отличается надёжностью, быстродействием и наличием библиотек визуализации

 

spaCy и NLP

Обработка естественного языка с помощью spaCy

Установка и импорт spaCy

 

  • Первый шаг — установка spaCy с помощью менеджера пакетов 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")
Обработка естественного языка с помощью spaCy

Чтение и обработка текста с помощью spaCy

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

Обработка текста с помощью spaCy

Обработка естественного языка с помощью 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', '.']
Обработка естественного языка с помощью spaCy

Давайте потренируемся!

Обработка естественного языка с помощью spaCy

Preparing Video For Download...