Как работает НЛП?

Используя векторизацию текста, инструменты НЛП преобразуют текст в то, что может понять машина. Затем алгоритмы машинного обучения передаются к обучающим данным и ожидаемым результатам (тегам), чтобы обучать машины устанавливать ассоциации между конкретным входом и соответствующим ему выходом. Затем машины используют методы статистического анализа для создания своего собственного «банка знаний» и определяют, какие функции лучше всего представляют тексты, прежде чем делать прогнозы для невидимых данных.

В целом техники НЛП включают в себя 4 основных этапа:

  1. Лексический анализ: процесс разделения предложения на слова или небольшие единицы, называемые «токенами», для определения его значения и его отношения ко всему предложению.
  2. Синтаксический анализ: процесс определения отношений между различными словами и фразами в предложении, стандартизации их структуры и выражения отношений в иерархической структуре.
  3. Семантический анализ: процесс соотнесения синтаксических структур, от уровней фраз, предложений, предложений и абзацев до уровня письма в целом, до их независимых от языка значений.
  4. Преобразование вывода: процесс создания вывода на основе семантического анализа текста или речи, который соответствует цели приложения.

Рабочий процесс НЛП:

НЛП работает с основной моделью рабочего процесса, которая представляет собой пошаговый процесс для достижения желаемого результата. Весь процесс описан на изображении ниже в виде обработки текста, предварительной обработки, синтаксического анализа и результата.

Предварительная обработка текста

Предварительная обработка текста — это первый шаг в конвейере обработки естественного языка (NLP), который может повлиять на его окончательный процесс. Предварительная обработка текста — это процесс приведения текста к предсказуемому и анализируемому для конкретной задачи виду. Задача — это сочетание подхода и предметной области.

Текстовые данные также содержат много ненужных элементов, таких как специальные символы, знаки препинания, очистка корпуса текста, чтобы сделать его пригодным для обработки с помощью ML, называется предварительной обработкой текста.

Некоторые методы предварительной обработки текста:

Некоторыми важными методами предварительной обработки текста являются Токенизация, Выделение корней, Лемматизация, Удаление стоп-слов, Удаление HTML-тегов, Удаление пунктуации, Встраивание Word, моделирование темы и т. д.

1. Токенизация.Токенизация — это важная задача обработки естественного языка, используемая для разбиения строки слов на семантически полезные единицы, называемые токенами.

Токенизация предложений разделяет предложения в тексте, а токенизация слов разделяет слова внутри предложения. Как правило, токены слов разделяются пробелами, а токены предложений — точками.

Вот пример того, как токенизация слов упрощает текст:

Эта статья не может быть лучше! = «Эта» «статья» «не могла бы» «быть» «лучше».

2. Основополагание.Это процесс приведения слов к их «корневым» формам, например сопоставление группы слов с одной и той же основой. Основополагающие слова означают суффикс и префикс, которые прибавились к корневому слову. Это процесс создания грамматических вариантов корневых слов.

Пример: «Консультироватьмуравей», «Консультировать» сокращены до корневого слова «Консультировать».

3. Лемматизация . Лемматизация основана на словаре и выбирает подходящую лемму на основе контекста, определение основы работает с отдельными словами без учета контекста. Например, в предложении:

"Так лучше"

Слово «лучше» трансформируется в слово «хороший» посредством лемматизации, но не изменяется по корню. Несмотря на то, что стеммеры могут привести к менее точным результатам, их легче построить и они работают быстрее, чем лемматизация. Но лемматизация рекомендуется, если вы ищете более точные лингвистические правила.

4. Удаление стоп-слов. Удаление стоп-слов является важным шагом в обработке текста НЛП. Он включает в себя отфильтровывание часто встречающихся слов, которые практически не добавляют семантической ценности предложению, например, который, к, в, для, есть и т. д.

Допустим, мы хотим классифицировать обращения в службу поддержки клиентов по их темам. В этом примере: "Здравствуйте, у меня возникли проблемы со входом в систему с моим новым паролем" может быть полезно удалить стоп-слова, такие как "привет", «Я», «есть», «с», «мой», так что у нас остаются слова, которые помогают вы понимаете тему запроса: «проблема», «вход», «новый», «пароль».

При работе над задачами, где важна контекстная информация, например машинный перевод, удалять стоп-слова не рекомендуется.

5.Удаление HTML-тегов . Неструктурированный текст содержит много шума, особенно если вы используете такие методы, как очистка веб-страниц или экрана. HTML-теги, как правило, являются одним из таких компонентов, которые не имеют большого значения для понимания и анализа текста.

6.Удаление знаков препинания. Следующим шагом будет удаление знаков препинания, поскольку они не добавляют ценности модели. Удаление знаков препинания поможет уменьшить размер тренировочного набора. Мы удалим знаки препинания, такие как запятые и точки, из комментариев, поскольку они не добавляют никакой дополнительной информации при обработке текстовых данных.