Компьютеры невероятно быстры, точны и глупы; люди невероятно медлительны, неточны и умны; вместе они сильны за гранью воображения. - Альберт Эйнштейн

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

РАССВЕТ НЛП

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

Самые ранние попытки НЛП были предприняты с использованием систем, основанных на правилах, которые опирались на набор предопределенных правил для понимания и создания человеческого языка.

В 1960-х разработка компьютерных программ, которые могли понимать простые английские команды, таких как ELIZA, которая могла отвечать на простые вопросы и утверждения так, как это казалось человеческому.

В 1990-х, с появлением мощных компьютеров и доступности больших объемов текстовых данных, исследователи начали разрабатывать более продвинутые системы NLP, такие как подходы, основанные на машинном обучении.

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

В 2015 году Google Translate представил нейронный машинный перевод для повышения качества переводов.

В 2016 году компания Open AI запустила GPT-1, одну из первых крупномасштабных моделей, обученных с использованием неконтролируемого обучения, что позволило ей генерировать человекоподобный текст.

Наконец, в 2020 было представлено GPT-3, третье поколение GPT с еще большей емкостью и более реалистичными выходными данными. Он использовался для генерации текста, ответов на вопросы и выполнения других языковых задач таким образом, который часто неотличим от текста, созданного человеком.

РЕАЛЬНЫЕ ПРИМЕНЕНИЯ НЛП

  1. Контекстная реклама. Контекстная реклама относится к типу целевой рекламы, при которой реклама отображается на веб-сайтах или других медиа-платформах в зависимости от содержания просматриваемой пользователем страницы. Например, реклама, которую вы видите на Facebook, может полностью отличаться от рекламы, которую видят ваши друзья, потому что у вас и вашего друга разные интересы. А вот и НЛП.
  2. Почтовые клиенты — фильтрация спама, умный ответ: мы могли заметить, что Gmail помечает электронные письма, которые кажутся спамом, и помещает их в папку со спамом. Кроме того, почтовые клиенты также показывают варианты ответа на основе полученной вами почты.
  3. Социальные сети — удаление контента для взрослых, анализ мнений. Сайты социальных сетей, такие как Facebook, Twitter и Instagram, используют методы обработки естественного языка (NLP) для обнаружения и удаления контента для взрослых со своих платформ. Это включает в себя выявление и удаление изображений, видео и письменного контента, которые нарушают стандарты и правила сообщества Facebook в отношении наготы, материалов сексуального характера и другого контента откровенного содержания. Интеллектуальный анализ мнений включает использование методов НЛП для анализа больших объемов текстовых данных, таких как сообщения в социальных сетях, онлайн-обзоры и отзывы клиентов, для определения общего настроения, выраженного в тексте. Настроение может быть положительным, отрицательным или нейтральным. Информация, полученная в результате анализа мнений, может использоваться предприятиями для принятия решений на основе данных, таких как улучшение обслуживания клиентов, разработка продуктов и маркетинговые стратегии.
  4. Чат-боты. Используя НЛП, чат-боты могут понимать намерения пользователя и отвечать естественным и разговорным способом. Например, если пользователь просит чат-бота забронировать рейс, чат-бот может проанализировать ввод пользователя и задать дополнительные вопросы, чтобы определить предпочтительный пункт назначения пользователя, даты поездки и другие детали. Затем чат-бот может использовать эту информацию для поиска рейсов и предоставления пользователю вариантов, соответствующих его требованиям.

И многое другое.

ОБЩИЕ ЗАДАЧИ НЛП:

1. Классификация текстов/документов:

Это процесс автоматического назначения предопределенных категорий или меток текстовым документам на основе их содержимого.

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

Узнайте больше об анализе настроений на https://www.engati.com/glossary/sentiment-analysis.

3. Поиск информации.Поиск информации включает в себя поиск и доступ к наиболее релевантной информации из текстовой базы данных или набора документов на основе определенного запроса, предоставленного пользователем. Это достигается за счет использования контекстного индексирования или метаданных, которые помогают сузить результаты поиска до наиболее подходящей информации. Поиск Google — самый известный пример поиска информации.

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

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

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

6. Диалоговые агенты: диалоговые агенты могут понимать входные данные пользователей на естественном языке, генерировать соответствующие ответы и выполнять такие задачи, как ответы на вопросы, предоставление информации и выполнение транзакций.

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

7. График знаний и система вопросов и ответов.График знаний — это тип представления знаний, который моделирует знания как граф сущностей и их взаимосвязей друг с другом. Это способ организации и представления знаний в структурированном и осмысленном виде, который обеспечивает эффективный и точный поиск информации.

С другой стороны, система вопросов и ответов (QA) представляет собой тип приложения, в котором используются методы обработки естественного языка (NLP) и машинного обучения для понимания вопросов на естественном языке и предоставления соответствующих ответов.

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

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

8. Обобщение текста. Обобщение текста — это процесс создания более короткой версии длинного документа с сохранением самой важной информации.

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

9. Генерация текста.Генерация текста с использованием НЛП — это процесс создания нового текста на основе заданного набора входных данных или подсказок.

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

10. Проверка орфографии и коррекция грамматики. Проверка орфографии и грамматическая коррекция важны для обеспечения ясности, точности и эффективности написанного текста, что является еще одним применением НЛП.

Примером этого является грамматика.

11. Преобразование речи в текст.Преобразование речи в текст (STT) — это еще один тип обработки естественного языка, который включает преобразование устной речи в письменный текст.

ПОДХОДЫ К НЛП

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

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

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

Примеры:

  1. Регулярное выражение
  2. Ворднет
  3. Здравый смысл открытого разума

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

Подход машинного обучения:

Каковы преимущества подхода на основе машинного обучения по сравнению с подходом на основе правил?

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

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

Задачи НЛП часто связаны с большими объемами данных. Модели машинного обучения могут масштабироваться до больших наборов данных, что позволяет им быстро и эффективно обрабатывать больше данных, чем подходы, основанные на правилах.

Как это делается с помощью машинного обучения?

В этом подходе текстовые данные преобразуются в числа, что известно как векторизация текста, а затем выполняется аналогично любому другому подходу машинного обучения для решения задачи.

Какие алгоритмы используются?

  1. Наивный Байес
  2. Логистическая регрессия
  3. SVM
  4. ЛДА
  5. Скрытые марковские модели

ПОДХОД НА ОСНОВЕ ГЛУБОКОГО ОБУЧЕНИЯ:

Каковы преимущества подхода на основе DL по сравнению с подходом на основе ML?

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

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

Какие архитектуры используются?

  1. РНН
  2. LSTM (RNN не может сохранять контекст из больших объемов данных, и для решения этой проблемы был введен LSTM.)
  3. ГРУ (рекуррентные блоки закрытого типа) /CNN
  4. Преобразователи (особенность этой архитектуры в том, что она может уделять внимание определенной части предложения.)
  5. Автоэнкодеры

Какие проблемы возникают в НЛП?

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

  1. Я видел мальчика на пляже с моим биноклем.
  2. Я никогда раньше не пробовала такой торт.

Эти два предложения имеют разное значение. Как и в первом примере, можно интерпретировать, что на пляже видели мальчика с биноклем. Кроме того, можно также интерпретировать, что я видел мальчика на пляже с помощью своего бинокля.

Контекстные слова:

Одно и то же слово имеет разные значения в зависимости от контекста. Давайте посмотрим на следующий пример.

  1. Я побежал в магазин, потому что у нас кончилось молоко.

Для нас, людей, легко понять значение каждого слова «раньше», но для машин это довольно сложная задача.

Разговорные выражения и сленг:

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

Синонимы:

Чем больше синонимов у слова, тем сложнее машинам его интерпретировать.

Тональные различия и сарказм:

Например -

Это как раз то, что мне нужно сегодня!

Орфографическая ошибка:

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

Творчество:

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

Разнообразие:

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