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

Одной из первых стояла задача машинного перевода — автоматического перевода текста с одного языка на другой с помощью компьютера или вычислительной машины. В середине 1950-х годов были выполнены первые успешные эксперименты по машинному переводу для пары «русский — английский». Вторая задача — создание диалоговых систем, которые ведут с человеком диалог на естественном языке. В те же годы появились первые подобные программы и системы. Третья задача — создание вопросно-ответных систем, точно отвечающих на вопрос человека, который обычно представлен в форме текста на естественном языке.

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

Рекомендуем по этой теме:
1042
Может ли машина обмануть человека?

Задача распознавания речи, перевод речи в текст, с которым удобнее работать: когда мы говорим о том, что работаем с естественным языком, мы чаще всего работаем с текстами на естественном языке.

Обратная задача синтеза речи.

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

Задачи классификации текстов, когда необходимо отнести текст к одному из заранее известных классов.

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

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

Задачи, связанные с анализом социальных сетей, извлечением мнений пользователей социальных сетей о заданных объектах.

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

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

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

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

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

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

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

Рекомендуем по этой теме:
8782
Машинное обучение

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

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

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

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

Рекомендуем по этой теме:
19100
Математическое моделирование

В Институте проблем искусственного интеллекта ФИЦ РАН мы занимаемся проблемами обработки естественного языка на протяжении последних пятнадцати лет. Мы долго занимались моделированием семантики высказываний и текста на естественном языке. Для нас анализ естественного языка — это инструмент для создания различных интеллектуальных систем. Мы разрабатываем системы поиска и анализа больших массивов текстов, наша система может решать почти все задачи обработки естественного языка: семантический поиск, кластеризация, классификация текста.

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