Академический Документы
Профессиональный Документы
Культура Документы
Существует большое количество программных составления текстов. Данный язык обладает сокра-
систем, каждая из которых обладает характерными щенным набором лексики и грамматики, что поз-
именно для нее принципами взаимодействия. В ре- воляет сократить время анализа естественно-язы-
зультате свободное использование системы затруд- ковых элементов в диалоговой системе, а также
няется и увеличивается время, необходимое на обу- избежать неоднозначностей на лингвистическом
чение пользователя работе с ней. уровне [2].
Одним из вариантов решения проблемы взаи- Цикл работы естественно-языкового пользова-
модействия с компьютерной системой является ис- тельского интерфейса начинается с ввода пользо-
пользование естественного языка, более привыч- вателем текста сообщения на естественном языке.
ного для пользователя. На основе введенного текста строится его формаль-
Такое решение имеет следующие преимуще- ное описание. При этом все предшествующие ре-
ства: зультаты анализа используются при анализе после-
минимальная подготовка пользователя для дующих запросов, что позволяет системе сохра-
работы с системой; нять нить диалога с пользователем и разрешать
высокая скорость и простота формирования неоднозначные и спорные моменты, связанные с
произвольных запросов к системе. различным использованием одних и тех же слов в
Простота при работе с естественно-языковым разных предметных областях [3].
пользовательским интерфейсом достигается путем В процессе обработки естественно-языкового
применения пользователем языка, используемого в текста последовательно выполняется морфологи-
ежедневной коммуникации [1]. ческий, синтаксический и семантический анализ.
Для естественно-языкового пользовательского Общая схема работы системы представлена на ри-
интерфейса диалоговых систем возможно исполь- сунке 1.
зование ограниченной лексики и грамматики На первом этапе обработки пользовательского
языка. При этом не происходит серьезного ухудше- запроса осуществляется морфологический и мор-
ния функциональности и производительности во- фемный анализ. Для каждого слова предложения в
просно-ответной системы. формальной записи строятся отношения, задающие
Ограниченный естественный язык – это под- соответствия для значений грамматических катего-
множество естественного языка, на котором текст рий [4].
воспринимается носителем естественного языка В результате морфологического анализа опре-
без дополнительных усилий. При этом не требу- деляются морфологические характеристики каж-
ется изучение ограниченной версии языка для дого слова, такие как падеж, склонение, часть речи
5
Программные продукты и системы / Software & Systems № 3, том 29, 2016
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.
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.