Вернуться назад

УДК 004.81

СЕМАНТИЧЕСКИЙ АНАЛИЗ ИНФОРМАЦИИ И ОБРАБОТКА ЕСТЕСТВЕННЫХ ЯЗЫКОВ

Шатохин Н.А., Дмитриева О. А.

Донецкий национальный технический университет

Мотивация работы

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

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

Задачи:
  1. Разработка алгоритмов обработки естественных языков.
  2. Сравнение с существующими аналогами.
  3. Оценка проблем и перспектив развития.
Алгоритм

Система состоит из трех модулей: модуля преобразования предложения на естественном языке в лексемы [2], модуля построения ответа к полученному запросу и модуля преобразования построенной лексемы-ответа в предложение естественного языка.

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

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

Сравнение с существующими системами

Сравнение с языком Пролог

  1. В отличии от Пролога, для работы с данной системой не требуется компьютерных знаний. Взаимодействие с пользователем осуществляется на естественном языке.
  2. Данная система способна работать не только с символьными данными. Можно написать модули преобразования информации так, чтобы они работали, например, с графической или звуковой информацией, оставив центральный без изменений. Либо переписать только центральный, чтобы он обрабатывал не естественные языки, а, к примеру, математические выражения.
Сравнение с говорящими ботами
  1. Все существующие аналоги лишь определяют ключевые слова во входящем предложении и подставляют в качестве отфета готовые шаблоны [3]. Данная система определяет семантику предложения.
  2. Данная система способна самообучаться, заполняя свою базу данных. В аналогах база заполняется разработчиком.
Основные проблемы
  1. Главной проблемой является неоднозначность предложений естественного языка. Например, фразы “Мы отдали свои бананы обезьянам, потому что они были голодные” и “Мы отдали свои бананы обезьянам, потому что они были перезрелыми” очень похожи по своей синтаксической структуре. Но в первом случае местоимение они относится к обезьянам, а во втором — к бананам. Программа должна сама определять это, основываясь на знаниях об обезьянах и бананах.
  2. Свободный порядок слов может привести к совершенно иному толкованию фразы: «Бытие определяет сознание» — кто кого определяет?
  3. В речи могут встретиться неологизмы, например, глагол «Пятидесятирублируй» — то есть высылай 50 рублей. Система должна уметь отличать такие случаи от опечаток и правильно их понимать.
Перспективы развития

Данная разработка имеет огромные перспективы. На ее основе можно создавать когнитивные переводчики (как текста, так и устной речи), справочные системы, системы бронирования билетов. Ее можно использовать в компьютерных играх, либо в специальных тренажерах, обучающих общению с людьми. Систему можно встраивать в “Умный дом”, чтобы позволить хозяину управлять бытовыми устройствами посредством человеческой речи.

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

Литература
  1. Сайт “Республика Марий Эл” [Электронный ресурс] — Ссылка: http://www.mari.ru/mmlab/home/AI/10/index.html
  2. Ю. Г. Карпов. Основы построения трансляторов., BHV, Санкт-Петербург, 2005
  3. Сайт проекта “A.L.I.C.E” [Электронный ресурс] — Ссылка: http://alicebot.blogspot.com/