Конвейер НЛП: учебник для начинающих

Краткий отчет, который дает общее объяснение общей обработки естественного языкаконвейера, с разбивкой всего процесса на этапы. .

"If you talk to a man in a language he understands, that goes to his head. If you talk to him in his own language, that goes to his heart."
                                                    - Nelson Mandela

Обработка естественного языка (NLP) определенно не новый термин для большинства из нас. В первую очередь это была тема для исследований и разработок в области компьютерных наук и лингвистики. Но с недавними достижениями в области ИИ, характерными для НЛП, и преимуществами, которые он приносит бизнесу, это стало основной темой. Осознаем мы это или нет, но большую часть нашей рутинной работы мы используем НЛП. Например, интеллектуальные поисковые подсказки, чат-боты на веб-сайтах, голосовые команды для Alexa, рекомендации продуктов и многое другое.

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

"Complexity, being a property of a problem, changes, and that depends on our angle of perception about the problem".                                                      

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

Давайте взглянем на различные этапы конвейера разработки системы НЛП.

конвейер НЛП

Получение данных

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

Очистка текста

Вторым шагом является извлечение текста и удаление символов, разметки html, ненужных символов и т. д. из данных, что может включать следующие действия.

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

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

Разработка функций

На этом этапе мы будем извлекать функции из входного текста и передавать их алгоритму ML. Извлечение признаков можно выполнить вручную или с помощью нейронной сети (в случае глубокого обучения). Оба подхода имеют свои плюсы и минусы. Например, если разработка функций выполняется вручную, мы можем легко определить, как эти функции влияют на производительность модели, но в случае разработки функций на основе DL эта информация недоступна, поскольку нейронная сеть не будет раскрывать, на каком основании она выбрала модель. функция и какое влияние она оказывает на производительность модели. С другой стороны, ручная разработка функций требует знаний предметной области о поставленной задаче, которые не нужны для подхода, основанного на DL.

Моделирование

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

Оценка

На этом этапе мы в основном определяем производительность моделей на невидимых данных. Это во многом зависит от метрики, выбранной для оценки, и самого процесса оценки. Это также зависит от фазы, на которой была выполнена оценка, например, фазы моделирования, фазы развертывания и фазы производства. Оценка, выполненная для первых двух фаз, необходима и называется внутренней оценкой. Наряду с внутренней оценкой дополнительные показатели для измерения влияния на бизнес могут быть выполнены на 3-м этапе и называются внешней оценкой. Несколько внутренних оценок, выполненных для модели НЛП, перечислены ниже:

Развертывание и мониторинг

Развертывание программного обеспечения NLP обычно выполняется в виде веб-службы или службы REST, которую могут использовать пользователи или другие службы.

Производительность развернутой модели постоянно контролируется. Этот вид мониторинга отличается от традиционных инструментов мониторинга программного обеспечения. Один из инструментов, с которым я столкнулся, — Очевидно. Как только мы начнем собирать больше данных, мы должны обновить развернутую модель, чтобы новые данные также учитывались моделью при прогнозировании.

использованная литература

Этот пост предназначен для ознакомления с несколькими этапами, из которых состоит общий конвейер НЛП, и представляет собой выдержку из тем, упомянутых в главе 2 Практическая обработка естественного языка книга. Каждый этап подробно описан в отдельных главах той же книги.

Спасибо, что нашли время прочитать этот пост!