Вы находитесь на странице: 1из 5

Программные продукты и системы / Software & Systems № 3, том 29, 2016

УДК 004.5 Дата подачи статьи: 22.03.16


DOI: 10.15827/0236-235X.115.005-009
ЕСТЕСТВЕННО-ЯЗЫКОВОЙ ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
ДИАЛОГОВОЙ СИСТЕМЫ
(Исследование выполнено при финансовой поддержке Фонда содействия развитию малых форм предприятий
в научно-технической сфере в рамках научно-исследовательского проекта № 7369ГУ2015)

Р.В. Посевкин, аспирант, rus_posevkin@mail.ru;


И.А. Бессмертный, д.т.н., профессор, igor_bessmertny@hotmail.com
(Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики (Университет ИТМО),
Кронверкский просп., 49, г. Санкт-Петербург, 197101, Россия)

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


компьютерных систем во все сферы человеческой жизни все больше проявляется проблема перехода от визуальных и
командных интерфейсов к естественно-языковым. В статье рассмотрены методы компьютерной лингвистики и обра-
ботки естественного языка. Представлено полное описание всех стадий обработки естественного языка, таких как
морфологический, синтаксический и семантический анализ. Рассмотрен ограниченный язык как подмножество есте-
ственного языка, на котором текст хорошо воспринимается носителем естественного языка без дополнительных уси-
лий. Подобное решение позволяет сократить время анализа естественно-языковых элементов в диалоговой системе, а
также помогает избежать неоднозначностей на лингвистическом уровне. Методы для работы с естественным языком
могут применяться в программных системах машинного перевода, поисковых системах, системах автоматического
реферирования и в экспертных системах. Представлено формальное описание диалоговой системы в контексте мар-
ковского процесса принятия решений. Разработан прототип естественно-языкового пользовательского интерфейса,
который производит преобразования пользовательского запроса на естественном языке в SQL-запрос к БД. Интерфейс
взаимодействует с БД, содержащей информацию о существующих программных библиотеках и фреймворках. Таким
образом, использование методов обработки естественного языка позволяет разработать естественно-языковой поль-
зовательский интерфейс для взаимодействия с диалоговой системой.
Ключевые слова: диалоговая система, обработка естественного языка, пользовательский интерфейс, БД.

Существует большое количество программных составления текстов. Данный язык обладает сокра-
систем, каждая из которых обладает характерными щенным набором лексики и грамматики, что поз-
именно для нее принципами взаимодействия. В ре- воляет сократить время анализа естественно-язы-
зультате свободное использование системы затруд- ковых элементов в диалоговой системе, а также
няется и увеличивается время, необходимое на обу- избежать неоднозначностей на лингвистическом
чение пользователя работе с ней. уровне [2].
Одним из вариантов решения проблемы взаи- Цикл работы естественно-языкового пользова-
модействия с компьютерной системой является ис- тельского интерфейса начинается с ввода пользо-
пользование естественного языка, более привыч- вателем текста сообщения на естественном языке.
ного для пользователя. На основе введенного текста строится его формаль-
Такое решение имеет следующие преимуще- ное описание. При этом все предшествующие ре-
ства: зультаты анализа используются при анализе после-
 минимальная подготовка пользователя для дующих запросов, что позволяет системе сохра-
работы с системой; нять нить диалога с пользователем и разрешать
 высокая скорость и простота формирования неоднозначные и спорные моменты, связанные с
произвольных запросов к системе. различным использованием одних и тех же слов в
Простота при работе с естественно-языковым разных предметных областях [3].
пользовательским интерфейсом достигается путем В процессе обработки естественно-языкового
применения пользователем языка, используемого в текста последовательно выполняется морфологи-
ежедневной коммуникации [1]. ческий, синтаксический и семантический анализ.
Для естественно-языкового пользовательского Общая схема работы системы представлена на ри-
интерфейса диалоговых систем возможно исполь- сунке 1.
зование ограниченной лексики и грамматики На первом этапе обработки пользовательского
языка. При этом не происходит серьезного ухудше- запроса осуществляется морфологический и мор-
ния функциональности и производительности во- фемный анализ. Для каждого слова предложения в
просно-ответной системы. формальной записи строятся отношения, задающие
Ограниченный естественный язык – это под- соответствия для значений грамматических катего-
множество естественного языка, на котором текст рий [4].
воспринимается носителем естественного языка В результате морфологического анализа опре-
без дополнительных усилий. При этом не требу- деляются морфологические характеристики каж-
ется изучение ограниченной версии языка для дого слова, такие как падеж, склонение, часть речи

5
Программные продукты и системы / Software & Systems № 3, том 29, 2016

Совокупность всех возможных корней слов


Пользовательский Запрос к информационной
запрос системе
русского языка представляет собой открытое мно-
жество. В то же время множество всех приставок,
суффиксов и окончаний ограничено. Также изве-
стен порядок следования морфем в составе слова
Морфологический Синтакси- Семанти- на русском языке: приставки, затем корни, суф-
и морфемный ческий ческий фиксы и окончания. Таким образом, с помощью
анализ анализ анализ словаря морфем русского языка можно построить
словарь, содержащий информацию как о разбие-
нии слова на составные части, так и о типе каждой
из морфем. В результате для проведения мор-
Рис. 1. Общая схема обработки фемного анализа слова достаточно использовать
естественно-языкового текста разработанный словарь.
Fig. 1. General scheme of natural language processing В случае отсутствия слова в словаре возможен
непосредственный анализ на основе стандартного
и т.д. Количество и наличие морфологических ха- строения слов русского языка (приставка – корень
рактеристик слов и допустимых значений зависят – суффикс – окончание) и множества всех приста-
от конкретного языка. Однако некоторые характе- вок, суффиксов и окончаний [6].
ристики, например часть речи, существуют во мно- На этапе синтаксического анализа выделяются
гих языках. отношения синтаксических связей внутри предло-
Для проведения морфологического анализа тек- жения. Далее определяются главные и второсте-
ста существуют следующие подходы: четкая мор- пенные члены предложения, тип предложения.
фология, нечеткая морфология, вероятностный Синтаксический анализ выполняется поэтапно:
подход. при описании формальной структуры предложения
При обработке естественно-языковых текстов используется полученная на этапе морфологиче-
на русском языке наиболее часто применяется под- ского анализа информация. На данном этапе ис-
ход, основанный на четкой морфологии и базирую- пользуются синтаксические и лексические правила
щийся на словаре Зализняка. В этом словаре опи- анализируемого языка.
саны основные словоформы для слов русского Далее следует наиболее сложная часть обра-
языка. Каждой такой словоформе сопоставляется ботки естественно-языкового текста – этап семан-
определенный код. Существует система правил, в тического анализа, который можно рассматривать
соответствии с которой для слова можно построить как обработку семантической сети. В свою оче-
все остальные формы [5]. В качестве исходных редь, семантическая сеть представляет собой ре-
данных используются начальная словоформа и со- зультат анализа естественно-языкового текста на
ответствующий ей код. В случае использования предыдущих этапах и присутствующих в системе
четкого подхода в процессе морфологического ана- знаний о предметной области и языке программной
лиза необходимо иметь в наличии словарь всех системы. На данном этапе анализируются соотно-
словоформ и слов для данного языка. Словарь на шения лингвистической конструкции и хранимых
входе принимает форму слова, а на выходе пред- в памяти системы конструкций, предназначенных
ставляет морфологические характеристики кон- для выявления отношений соответствия.
кретной словоформы. В процессе построения семантической модели
Возможно построение словаря на основе сло- слова учитывается его многозначность. Смысл
варя Зализняка по следующему алгоритму. Сна- слова рассматривается как множество различных
чала перебираются все слова, содержащиеся в сло- значений. Вся совокупность этих значений в целом
варе. Для каждого из этих слов выделяются все или каждое из них реализуется в определенном
допустимые словоформы и сохраняются в форми- контексте. Результатом семантического анализа
руемом словаре. В процессе морфологического является конструкция запроса к информационной
анализа конкретного слова достаточно найти его в системе.
словаре. В результате будут получены точные зна- Система преобразования естественно-языко-
чения всех морфологических характеристик анали- вого текста в запрос к БД является частью диалого-
зируемого слова. вой системы. Рассмотрим диалоговую систему в
При морфемном анализе для каждого слова вы- контексте марковского процесса принятия реше-
деляются морфемы: приставка, корень, суффикс, ний. Данный процесс представлен в виде диалога,
окончание. В словаре морфем русского языка для конечная цель которого – получение пользовате-
каждого слова указано разделение на составные ча- лем списка библиотек за наименьшее количество
сти. При этом в словаре не указываются типы каж- возможных итераций. В рассматриваемом примере
дой из составных частей. Таким образом, досто- пользователь формирует запрос с использованием
верно неизвестно, какая из частей является суф- значений «язык программирования» и «тип лицен-
фиксом, а какая корнем. зий» в качестве фильтра.

6
Программные продукты и системы / Software & Systems № 3, том 29, 2016

Марковский процесс принятия решений описы- В целом веса в марковском процессе принятия
вается в терминах пространства состояний, набора решений описываются условным распределением
действий и стратегии. Состояния диалоговой си- PC (c(t) = c | s(t) = s, a(t) = a). (3)
стемы затрагивают все ресурсы, с которыми взаи- Совокупность из четырех состояний системы,
модействует пользователь [7]. набора вариантов взаимодействий с системой, ве-
Полный набор состояний диалоговой системы роятностей перехода и распределения весов опре-
может включать в себя: деляют марковский процесс принятия решений.
 одно начальное состояние; Для рассматриваемого примера целевая функция
 различные комбинации списков библиотек, представлена как
формируемых в зависимости от начальных значе- C = Wi × <# interactions> + We ×
ний и используемого фильтра; ×<# errors> + Wf × <# incomplete values>. (4)
 специальное состояние, обозначающее Целевая функция включает в себя три компо-
окончание работы текущей диалоговой сессии. нента: первый – ожидаемая продолжительность
В данном примере рассматриваются такие со- диалога, второй – предполагаемое количество оши-
стояния диалоговой системы, как список библио- бок в полученных данных, третий – предполагае-
тек, выбранных с применением фильтров «язык мое расстояние до получения пользователем целе-
программирования» и «тип лицензии». вого результата от диалоговой системы.
В качестве возможных действий с диалоговой В зависимости от соответствия целевой функ-
системой рассматриваются взаимодействие поль- ции диалоговой модели возникает связь веса c с со-
зователя с системой (например, ввод пользовате- вершаемым взаимодействием a пользователя с си-
лем запроса к системе, предоставление системой стемой, находящейся в состоянии s.
ответа на пользовательский запрос, уведомления), Вес включает в себя любое из первых трех дей-
взаимодействие системы с внешними ресурсами ствий с диалоговой системой: Wi + We × number of
(например, отправка запроса к БД), внутренняя об- errors. Рассмотрим понятие веса ошибок для опре-
работка данных [8]. деления значений с применением фильтров по от-
В предлагаемом примере возможен следующий дельности (для действий 1 и 2) – это p1, и совместно
набор действий с диалоговой системой. (для действия 3) – это p2, при этом p2 > p1. Тогда
1. Пользовательский запрос к системе на полу- ожидаемый вес для взаимодействий 1 и 2 будет
чение списка программных библиотек для опреде- представлен как Wi +We × p1, для действия 3 – Wi +
ленного языка программирования. + 2 × We × p2. Для действия 4 (закрытие диалоговой
2. Пользовательский запрос к системе на полу- сессии) вес зависит от состояния диалоговой си-
чение списка программных библиотек, распростра- стемы, в котором произошло взаимодействие. Так,
няемых в соответствии с запрашиваемым типом для начального состояния вес будет выражен как
лицензии. Wi + 2 × Wf. Для случаев, когда был применен
3. Пошаговые запросы, когда пользователь за- только один из фильтров («язык программирова-
прашивает список программных библиотек для ния» или «тип лицензии»), вес определяется как
конкретного языка программирования, а затем от- Wi + Wf. В случае применения обоих фильтров вес
бирает из них только библиотеки с определенным представлен как Wi.
типом лицензии (или в обратном порядке). На рисунке 2 отображены три различные стра-
4. Финальное действие, завершающее теку- тегии пользовательского взаимодействия с диало-
щую сессию диалога с программной системой. говой системой. Оптимальная стратегия стремится
Когда действие a производится над системой в к минимизации целевой функции. В данном случае
состоянии s, система переходит в состояние s’. C1 = Wi + 2 × Wf. В соответствии со стратегией 1,
В подобной ситуации вероятность перехода описы- когда пользователь первым же действием закры-
вается формулой вает диалоговую сессию, оптимальной является си-
PT (s(t+1) = s’ | s(t) = s, a(t) = a). (1) туация со слишком большим весом ошибок:
Диалоговая сессия представляет собой длину p1 > (Wf − Wi)/We.
пути при переходе пользователя из начального в В стратегии 2 пользователь запрашивает список
конечное состояние диалоговой системы. При этом библиотек с использованием одного из фильтров, а
диалоговая стратегия отображает, какое действие затем закрывает диалоговую сессию. В данном слу-
будет совершено для перехода в каждое последую- чае C2 = 2 × Wi + 2× p2 × We.
щее состояние программной системы. В стратегии 3 пользователь запрашивает список
Производительность системы можно измерить программных библиотек с использованием как
с помощью целевой функции C, где веса Ci пред- фильтра «язык программирования», так и «тип ли-
ставляют собой расстояние до достижения конеч- цензии» и после этого закрывает диалоговую сес-
ной цели. Таким образом, эффективность взаимо- сию. В текущей ситуации целевая функция имеет
действия пользователя с диалоговой системой рас- следующий вид: C3 = 3 × Wi + 2 × p1 × We. Страте-
считывается по формуле гия 3 оптимальна, когда верно выражение p2 − p1 >
C = ∑ Ci. (2) > Wi / 2 × We.

7
Программные продукты и системы / Software & Systems № 3, том 29, 2016

Спасибо
Сложные предложения на естественном языке
Конечное
не используются в пользовательском запросе к базе
1. —
состояние в рамках естественно-языкового пользователь-
ского интерфейса. Несмотря на то, что требуется
Библиотеки Спасибо создание лингвистического анализатора в виде
для С++

2. Список
преобразователя, состоящего из двух видов аб-
Конечное
— библиотек
для C++ состояние стракции – морфологической и синтаксической
[11], каждый из уровней абстракции должен иметь
Библиотеки Только
в наличии компонентную модель с набором правил
Спасибо
для С++ платные и библиотек и определенный образ запросов в виде
3. —
Список
библиотек
Список
платных Конечное морфологических и синтаксических структур.
библиотек состояние
для C++ для C++ Также не требуется фаза семантического ана-
лиза за счет того, что известна предметная область.
Рис. 2. Стратегии взаимодействия пользователя Таким образом, лингвистический анализатор
с диалоговой системой можно назвать лингвистическим преобразователем
Fig. 2. Strategies of interactions between a user (транслятором).
and a dialogue system Добиться приемлемого уровня обработки ес-
тественного языка возможно без использования
Существуют различные методы вычисления оп- полного грамматического анализа. Достаточно
тимальной стратегии с учетом корректных пара- извлечь наиболее информативные части предло-
метров модели (вероятности перехода и распреде- жения, такие как ключевые слова, фразы и фраг-
ления весов), среди которых алгоритм итераций по менты. Следующим шагом является создание мор-
критерию или итерации по стратегиям. Данные фологических и синтаксических моделей с исполь-
подходы основаны на динамическом программиро- зованием морфологических и синтаксических
вании, которое может быть использовано благо- методов анализа.
даря марковскому характеру представленной мо- Например, пользовательский запрос на есте-
дели [9]. Подходы основаны на следующем опре- ственном языке «Показать библиотеки для С++»
делении: оптимальное значение V(s) состояния будет преобразован в SQL-запрос к БД SELECT
диалоговой системы s представляет собой мини- Name, Url FROM Data WHERE Type=’library’ AND
мальный ожидаемый вес, формируемый начиная с Language=’cpp’ .
момента, когда система перешла из состояния s, и Таким образом, естественно-языковой пользо-
до тех пор, пока не достигла финального (конеч- вательский запрос на русском языке преобразуется
ного) состояния. Оптимальное значение функции в SQL-запрос, который в дальнейшем может быть
уникально и может быть определено как решение отправлен к БД.
системы уравнений: В результате разработанная программная си-
  стема реализует естественно-языковой пользова-
V  s   mina  C  s, a   PT (s | s, a)V  s    , (5) тельский интерфейс к БД. Подобная система может
 S 
применяться в областях, где требуется обеспечить
где C(s, a) – ожидаемый вес для взаимодействия доступ пользователя к информации из определен-
a в состоянии s [10]. ной предметной области. Например, возможна реа-
В рамках исследований разработан прототип лизация естественно-языкового интерфейса для
программной системы, реализующей естественно- аналитической программной системы. Введя за-
языковой пользовательский интерфейс к структу- прос на естественном языке, пользователь полу-
рированному источнику данных. чает отчет, выборку по данным за определенный
В качестве исходных данных представлена временной период. В результате, применяя методы
БД MySQL, которая содержит информацию о су- обработки естественно-языкового текста, можно
ществующих программных библиотеках и фрейм- создать программный интерфейс, обеспечиваю-
ворках. Тестовая БД содержит в себе таблицу, щий взаимодействие пользователя с программной
имеющую следующие поля: уникальный иденти- системой на естественном языке.
фикатор, имя, ссылка на официальный сайт или ре-
позиторий, дата создания, автор, тип лицензии, тип Литература
записи (библиотека или фреймворк), размер, спи- 1. Bessmertny I. On constructing intellectual systems in ter-
сок зависимостей, язык программирования, нали- nary logic. Programming and Computer Software, 2014, vol. 40,
чие активного сообщества разработчиков. no. 1, pp. 43–46.
Значением, получаемым на выходе програм- 2. Deshpande A.K., Devale P.R. Natural language query pro-
cessing using probabilistic context free grammar. Intern. Journ. of
мной системы, является SQL-запрос к БД. Одно из Advances in Engineering & Technology. 2012, vol. 3, no. 2,
необходимых условий для работы системы – нали- pp. 568–573.
чие структуры данных, описывающей содержимое 3. Житко В.А. Пользовательский интерфейс интеллекту-
БД. В частности, необходимо описание таблицы и альных вопросно-ответных систем // NB: Кибернетика и про-
граммирование. 2012. № 1. С. 23–30.
входящих в нее полей.

8
Программные продукты и системы / Software & Systems № 3, том 29, 2016

4. Крайванова В.А. Модель естественно-языкового интер- 8. Dezhao S., Schilder F., Smiley C., Brew C., Zielund T.,
фейса для систем управления сложными техническими объек- Bretz H., Martin R., Dale C., Pomerville S., Duprey J., Miller T., and
тами и оценка эффективности алгоритмов на ее основе // Управ- Harrison J. TR Discover: a natural language interface for querying
ление большими системами. М.: Изд-во ИПУ РАН, 2009. and analyzing interlinked datasets. Proc. 14th Intern. conf. on the Se-
Вып. 26. С. 158–178. mantic Web: ISWC 2015, Springer Intern. Publ., 2015, pp. 21–37.
5. Damljanovic D., Agatonovic M., and Cunningham H. 9. Kesavan S., Giudice N.A. Indoor scene knowledge acquisi-
FREyA: An interactive way of querying Linked Data using natural tion using a natural language interface. SKALID 2012 – Spatial
language. Proc. 8th Intern. conf. on the Semantic Web: ESWC 2011. Knowledge Acquisition with Limited Information Displays, 2012,
Springer Berlin Heidelberg, 2012, pp. 125–138. pp. 1–6.
6. Селезнев К. Обработка текстов на естественном языке 10. Levin E., Pieraccini R., Eckert W. Learning dialogue stra-
// Открытые системы. 2003. № 12; URL: http://www.osp.ru/os/ tegies within the Markov decision process framework. Automatic
2003/12/183694/ (дата обращения: 27.02.2016). Speech Recognition and Understanding IEEE Proc., 1997,
7. Li F., Jagadish H.V. NaLIR: An interactive natural language pp. 72–79.
interface for querying relational databases. Proc. 2014 ACM 11. Елисеева О.Е. Естественно-языковой интерфейс интел-
SIGMOD Intern. conf. on Management of data, ACM, 2014, лектуальных систем: учеб. пособие. Минск: Изд-во БГУИР,
pp. 709–712. 2009. С. 84–85.

DOI: 10.15827/0236-235X.115.005-009 Received 22.03.16


NATURAL LANGUAGE USER INTERFACE OF A DIALOGUE SYSTEM
(Acknowledgements. The research was partially supported by FASIE (Fund for Assistance to Small Innovative Enterprises),
research project no. 7369GU2015)
1Posevkin R.V., Postgraduate Student, rus_posevkin@mail.ru
1Bessmertny I.A., Dr.Sc. (Engineering), Professor, igor_bessmertny@hotmail.com
1 The National Research University of Information Technologies, Mechanics and Optics,

Kronverksky Ave. 49, St. Petersburg, 197101, Russian Federation


Аbstract. Many people interact with software every day. Due to computer systems expansion to all fields of people’s
activity the problem of transition from visual and command interfaces to natural language user interfaces is becoming more
and more relevant. The article describes computational linguistics and natural language processing methods. It considers all
phases of natural language processing such as morphological, syntactic and semantic analysis. Limited language is represented
as a subset of natural language. This language allows avoiding linguistic uncertainty and decreases natural language elements
processing time. Translation system is a part of a dialogue system. Methods of natural language manipulation are applied in
machine translation software systems, search engines, data exchange, automatic abstracting and expert systems. The paper
represents a formal definition of a dialogue system as a Markov decision process. The authors developed a prototype of natural
language user interface for a structured data source. It converts natural language user’s query into SQL query to database. User
interface interacts with a database that contains information about existent program libraries and frameworks. Consequently,
using natural language processing methods makes it possible to develop natural language user interface providing a capability
to interact with a dialogue system.
Keywords: dialogue system, natural language processing, user interface, database.

References
1. Bessmertny I. On constructing intellectual systems in ternary logic. Programming and Computer Software. 2014,
vol. 40, no. 1, pp. 43–46.
2. Deshpande A.K., Devale P.R. Natural language query processing using probabilistic context free grammar. Int. Journ.
of Advances in Engineering & Technology. 2012, vol. 3, no. 2, pp. 568–573.
3. Zhitko V.A. Intelligent user interface for question answering systems. NB: Kibernetika i programmirovanie [Cyber-
netics and Programming]. 2012, no. 1, pp. 23–30 (in Russ.).
4. Krayvanova V.A. Model of natural-language interface for complex technical objects control systems and efficiency
evaluation of model-based algorithms. Upravlenie bolshimi sistemami [Large-scale Systems Control]. Moscow, Institute of
Control Sciences Publ., 2009, vol. 26, pp. 158–178 (in Russ.).
5. Damljanovic D., Agatonovic M., Cunningham H. FREyA: An interactive way of querying Linked Data using natural
language. The Semantic Web: ESWC 2011 Workshops. Springer Berlin Heidelberg Publ., 2012, pp. 125–138.
6. Seleznev K. Text processing on a natural language. Otkrytye sistemy [Open Systems]. 2003, no. 12. Available at:
http://www.osp.ru/os/2003/12/183694/ (accessed February 27, 2016) (in Russ.).
7. Li F., Jagadish H.V. NaLIR: An interactive natural language interface for querying relational databases. Proc. 2014
ACM SIGMOD Int. Conf. on Management of Data. ACM Publ., 2014, pp. 709–712.
8. Dezhao S. TR Discover: A Natural Language Interface for Querying and Analyzing Interlinked Datasets. The Semantic
Web-ISWC 2015. Springer Int. Publ., 2015, pp. 21–37.
9. Kesavan S., Giudice N.A. Indoor Scene Knowledge Acquisition using a Natural Language Interface. SKALID 2012 –
Spatial Knowledge Acquisition with Limited Information Displays. 2012, pp. 1–6.
10. Levin E., Pieraccini R., Eckert W. Learning dialogue strategies within the Markov decision process framework. Auto-
matic Speech Recognition and Understanding IEEE Proc. 1997, pp. 72–79.
11. Eliseeva O.E. Estestvenno-yazykovoy interfeys intellektualnykh sistem [Natural Language Interface of Intellectual Sys-
tems]. Study guide. Minsk, BGUIR Publ., 2009, pp. 84–85.

Вам также может понравиться