Содержание к диссертации
Введение
Глава 1. Актуальность и формальные средства разработки рекомендательных систем с естественно-языковым интерфейсом 13
1.1. Ранние подходы к разработке рекомендательных систем 13
1.2. Предпосылки появления рекомендательных систем с естественно-языковым интерфейсом 17
1.3. Рекомендательные системы с естественно-языковым интерфейсом 21
1.4. Принципы функционирования рекомендательной системы с естественно языковым интерфейсом NLA 25
1.5. Основные подходы к формализации семантики естественно-языковых текстов, имеющие ограниченную сферу применения 29
1.5.1. Теория концептуальной зависимости в естественных языках 29
1.5.2. Семантические сети 30
1.5.3. Расширенные и неоднородные семантические сети 31
1.5.4. Теория концептуальных графов 32
1.5.5. Эпизодическая логика 33
1.6. Подход теории К-представлений к формализации смысловой структуры естественно-языковых текстов 34
1.6.1. Краткая характеристика теории К-представлений 34
1.6.2. Основные идеи базовой математической модели теории К представлений 36
1.7. Постановка задачи 41
1.8. Выводы по главе 1 42
Глава 2. Математические модели для преобразования запроса пользователя рекомендательной системы в семантическое представление 44
2.1. Неформальное описание структуры и принципов обработки первоначального запроса пользователя на естественном языке 44
2.2. Метод формализации проектирования рекомендательных систем с естественно-языковым интерфейсом 46
2.3. Разработка дополнительных предположений о структуре рассматриваемого концептуального базиса 48
2.4. Разработка математической модели многообразия смысловых структур первоначального запроса пользователя рекомендательной системы 51
2.5. Формализация бизнес-правил 58
2.5.1. Основные идеи определения класса прагматических сигнатур 58
2.5.2. Определение класса прагматических сигнатур 59
2.5.3. Принципы компьютерной реализации бизнес-правил 59
2.6. Вспомогательные определения, используемые для формализации структуры лингвистической базы данных 60
2.7. Формализация структуры семантико-синтаксических компонентов лингвистической базы данных 65
2.7.1. Модифицированное определение текстообразующей системы 65
2.7.2. Модифицированное определение лексико-семантического словаря 66
2.7.3. Модифицированное определение словаря предложных семантико синтаксических фреймов 69
2.8. Понятие лингвистического базиса 71
2.9. Выводы по главе 2 71
Глава 3. Разработка алгоритма преобразования запроса пользователя в семантическое представление и затем в SQL выражение 73
3.1. Разработка плана алгоритма построения семантического представления запроса пользователя 73
3.1.1. Назначение алгоритма 73
3.1.2. Внешняя спецификация алгоритма "Построение-СемП-запроса" 75
3.1.3. План алгоритма "Построение-СемП-запроса" 75
3.2. Разработка алгоритма первичной обработки запроса пользователя 77
3.2.1. Внешняя спецификация алгоритма "Первич-обработка" 77
3.2.2. Внешние спецификации вспомогательных алгоритмов 77
3.2.3. Алгоритм первичной обработки запроса 79
3.2.4. Рекомендации по реализации процедуры выделения элементарных значащих единиц входного запроса ." 83
3.2.5. Принципы обработки многозначных слов 84
3.2.6. Рекомендации по обработке фрагментов текста с частицей "не ",
числительными и обозначениями числовых значений параметров 85
3.3. Алгоритмизация поиска смысловых связей между элементарными значащими единицами запроса 87
3.3.1. Обработка конструкций "Существительное 1 + предлог + Существительное!" 87
3.3.2. Обработка конструкции вида "Существительное + прилагательное" 91
3.3.3. Обработка сравнительных конструкций
3.4. Обработка конструкций с именами собственными и связующими словами 97
3.5. Разработка головного алгоритма 100
3.6. Принципы использования бизнес-правил для построения SQL запроса 101
3.7. Программная реализация алгоритма построения семантического представления запроса 105
3.7.1. Структуры данных, соответствующих проблемно-ориентированному лингвистическому базису 105
3.7.2. Сведения о программной реализации алгоритма построения семантического представления запроса 107
3.8. Разработка алгоритма преобразования К-представления в SQL запрос 108
3.8.1. Назначение и принципы работы алгоритма 108
3.8.2. Разработка алгоритма создания промежуточного массива 109
3.8.3. Разработка алгоритма построения набора ограничивающих параметров отбора 111
3.8.4. Разработка итогового алгоритма 114
Выводы по Главе 3 115
4. Разработка и программная реализация алгоритмов для организации диалога с пользователем рекомендательной системы 117
4.1. Принципы и схема обработки SQL запроса, соответствующего входному запросу пользователя рекомендательной системы 117
4.2. Разработка КС-грамматики для порождения выражений, отражающих ситуацию диалога с пользователем 119
4.3. Применение бизнес - стратегий при организации диалога с пользователем рекомендательной системы 122
4.3.1. Синтез антирекомендации 122
4.3.2. Рекомендации, основанные на неявном параметре отбора 123
4.3.3. Рекомендация товара по ключевым словам 125
4.4. Разработка формулы для установления очерёдности выборки товаров из построенного списка 125
4.5. Результаты испытаний разработанной компьютерной программы 128
4.6. Анализ возможностей интеграции разработанной системы в существующие решения 129
4.7. Эффективность внедрения ЕЯ-помощника на сайт 130
4.8. Разработка логической структуры данных для обеспечения возможности интеграции с существующими базами данных 133
4.9. Выводы по Главе 4 134
Заключение по диссертации 135
Список литературы
- Основные подходы к формализации семантики естественно-языковых текстов, имеющие ограниченную сферу применения
- Метод формализации проектирования рекомендательных систем с естественно-языковым интерфейсом
- Рекомендации по реализации процедуры выделения элементарных значащих единиц входного запроса ."
- Разработка КС-грамматики для порождения выражений, отражающих ситуацию диалога с пользователем
Введение к работе
Актуальность темы исследования. С начала 2000-х годов в области электронной коммерции развивается направление, цель которого заключается в разработке рекомендательных систем (РекС) с естественно-языковым интерфейсом (ЕЯ-интерфейсом). Такие системы предназначены для того, чтобы помочь посетителю Интернет-портала фирмы или государственной организации принять решение о выборе товаров и/или услуг. Исследование, проведенное в начале 2000-х годов в США, показало, что до 80 процентов пользователей предпочитают взаимодействовать не с традиционной системой предлагаемых меню, а с ЕЯ-интерфейсом (в экспериментах применялись англоязычные интерфейсы).
В декабре 2010 года первое место в рейтинге начинающих компаний (стартапов), ежегодно составляемом международной компанией Guidewire Group, заняла испанская компания Anboto. В конкурсе участвовало несколько сотен начинающих компаний из разных стран мира. Компания Anboto разрабатывает рекомендательные системы, ориентированные на диалог с пользователем на естественном языке (виртуальные агенты по продаже). Диалог реализуется на основе семантически-ориентированного подхода к обработке компьютером естественного языка.
Исследования по организации взаимодействия с компьютером на естественном языке (ЕЯ) - русском, английском, японском и других -развиваются с конца 1960-х годов как в нашей стране, так и во многих других странах. В нашей стране значительный вклад в развития этого направления внесли Ю.Д. Апресян, И.М. Богуславский, И.А. Большаков, Е.И. Большакова, В.М. Брябрин, Б.Ю. Городецкий, В.А. Жигалов, А.К. Жолковский, А.Е. Ермаков, А.П. Ершов, О.С. Кулагина, Е.С. Кузин, И.П. Кузнецов, С.С. Курбатов, Д.Г. Лахути, Н.Н. Леонтьева, Л.И. Литвинцева, Ю.Я. Любарский, М.Г. Мальковский, Л.И. Микулич, А.С. Нариньяни, Г.С. Осипов, Э.В. Попов, Д.А. Поспелов, Г.В. Рыбина, В.Ш. Рубашкин, В.А. Тузов, В.А. Фомичёв, Н.П. Харин, В.Ф. Хорошевский, Г.С. Цейтин, ПЛ. Цинман и другие учёные.
После длительного периода экспериментальных исследований в начале 2000-х годов наметилась тенденция к широкому применению ЕЯ-интерфейсов. Главным образом, это вызвано бурным развитием сети Интернет и прогрессом в реализации широкомасштабного проекта Семантической Паутины (Семантического Веба).
Основная часть исследований по разработке ЕЯ-интерфейсов и лингвистических процессоров (ЛП) различных видов была реализована для английского языка, синтаксис которого существенно отличается от синтаксиса русского языка (РЯ). В отличие от английского языка, русский язык (РЯ) относится к классу сильно флективных языков.
Однако в научной литературе остаются недостаточно проработанными теоретические вопросы проектирования РекС с ЕЯ-интерфейсом, это относится
как к русскоязычным, так и англоязычным интерфейсам РекС. В первую очередь следует отметить недостаточную проработанность вопросов формального описания входного языка ЕЯ-интерфейса, логической структуры используемой ЕЯ-иктерфейсом лингвистической базы данных и потребность в программно-независимых методах описания алгоритмов семантико-синтаксического анализа входных запросов РекС. Рекомендательные системы необходимы для разных предметных областей. Поэтому чёткое описание входного языка должно являться важной частью технической документации системы. Такое описание позволяет оценить возможность адаптации системы к новой предметной области и трудоёмкость доработки ЕЯ-интерфейса. Сегодня публикации по этой проблеме, как правило, содержат только несколько примеров входных текстов.
Объест исследования: методы проектирования рекомендательных систем с естественно-языковым интерфейсом.
Предмет исследования: технологии применения формальных средств для описания входного языка рекомендательной системы с ЕЯ-интерфейсом, логической структуры лингвистической базы данных (ЛБД) и для представления ситуаций, возникающих з процессе обработки входного запроса пользователя РекС.
Цель исследования: разработать метод проектирования РекС с семантически-ориентированным ЕЯ-интерфейсом, предусматривающий применение формальных средств для описания (а) многообразия смысловых структур, соответствующих запросам пользователя на нормализованном русском языке, (б) логической структуры ЛБД, (в) ситуаций, возникающих в процессе обработки входного запроса пользователя РекС.
Задачи исследования:
-
Разработка математической модели проблемно-ориентированной системы первичных единиц концептуального уровня, используемой рекомендательной системой.
-
Разработка математической модели многообразия смысловых структур, соответствующих запросам пользователей РекС на нормализованном ЕЯ, как центральной части описания входного языка ЕЯ-интерфейса РекС.
-
Разработка и программная реализация алгоритма, преобра$ующеш нормализованный ЕЯ-запрос пользователя РекС (запрос на русском языке) в его семантическое представление (СП).
-
Разработка и программная реализация алгоритма, преобразующего СП запроса в SQL-выражение для последующей организации взаимодействия с базой данных о товарах и выдачи рекомендации пользователю.
-
Разработка и программная реализация алгоритма обработки SQL запроса, соответствующего входному запросу пользователя РекС на нормализованном естественном (русском) языке.
-
Разработка рекомендаций для интеграции созданного программного комплекса в существующие решения.
7. Исследование работоспособности предложенных методов и алгоритмов.
Теоретико-методологическую основу исследования составляют метод формального описания семантики естественно-языковых текстов с помощью аппарата СК-языков (стандартных концептуальных языков), метод построения формальных моделей лингвистических баз данных, разработанный в теории К-нредставлений, теория алгоритмов, теория контекстно-свободных грамматик, методы теоретического программирования и Веб программирования.
Достоверность и обоснованность научных положений подтверждается корректным применением математического аппарата теории К-представлений и теории контекстно-свободных грамматик, теории алгоритмов и результатами тестирования разработанной компьютерной программы.
В ходе исследования была решена научная задача создания метода проектирования рекомендательных систем с семантически-ориентированным ЕЯ-интерфейсом, предусматривающего применение формальных средств для описания (1) многообразия смысловых структур, ассоциированных с запросами пользователя на нормализованном русском языке, (2) логической структуры лингвистической базы данных, (3) многообразия ситуаций, возникающих в процессе обработки входного запроса пользователя РекС.
База исследования. Исследование проводилось на кафедре информационных технологий в «МАТИ» - Российском государственным технологическом университете им. К.Э. Циолковского.
Основные результаты, полученные лично соискателем, и их научная новизна состоят в том, что:
-
Построена проблемно-ориентированная математическая модель системы первичных единиц концептуального уровня, используемой ЕЯ-интерфейсом рекомендательной системы (РекС), которая вводит дополнительные информационные единицы, обеспечивающие: (а) возможность формального описания смысловой структуры таких ЕЯ-запросов, которые являются фразами смешанного типа: включающими обозначения объектов интереса для пользователя РекС и высказывания, касающиеся свойств этих объектов; (б) возможность формального описания семантики и прагматики нечетких характеристик объектов («недорогой», «компактный» и т.д.) с помощью выражений СК-языков.
-
Разработан метод математического описания смысловой структуры ЕЯ-запросов пользователя РекС, являющихся фразами смешанного типа, т.е. конкатенациями (сцеплениями) обозначений объектов и высказываний (утверждений), описывающих свойства этих объектов, причем в этих фразах могут использоваться логические связки «и», «или», «не» (в доступной научной литературе такие методы не рассматривались).
-
Построена математическая модель лингвистической базы данных (ЛБД), основными отличиями которой по сравнению с моделью ЛБД, предложенной В.А. Фомичевым, являются (а) оригинальный компонент ЛБД, являющийся математической моделью системы первичных единиц
концептуального уровня, используемой ЕЯ-интерфейсом РекС и (б) упрощенная структура модели ЛБД за счет отсутствия словаря глагольно-предложных семантико-синтаксических фреймов. Преимуществом предложенной математической модели ЛБД является уменьшение трудоемкости разработки алгоритма семантико-синтаксического анализа входных ЕЯ-запросов РекС.
-
Разработан алгоритм преобразования ЕЯ-запроса пользователя РекС в семантическое представление (К-представление), главными отличиями и преимуществами которого по сравнению с алгоритмами семантико-синтаксического анализа SemSyn и SemSynil, предложенными В.А. Фомичевым, являются: (а) входные тексты другого вида, а именно, фразы смешанного вида, т.е. конкатенации (сцепления) обозначений объектов интереса пользователя РекС и высказываний (утверждений), описывающих свойства этих объектов, (б) упрощение алгоритма семантико-синтаксического анализа за счет отсутствия промежуточного этапа построения матричного семантико-синтаксического предстгаления входного запроса.
-
Предложен способ формализации семантики и прагматики нечетких характеристик объектов интереса пользователя РекС («недорогой», «компактный» и т.п.) с помощью математических понятий функции и СК-языка в заданном концептуальном базисе.
-
Построена КС-грамматика в форме Бэкуеа-Наура для генерации выражений, отображающих различные ситуации диалога, возникающие в результате поиска списка товаров по запросу пользователя РекС.
-
Разработана и исследована формула для определения очерёдности вывода пользователю отдельных товаров из общего списка релевантных товаров.
-
Разработан метод формализации проектирования рекомендательных систем с ЕЯ-интерфейсом, отличием и преимуществами которого по сравнению с известными методами являются (а) построение математической модели смысловой структуры входного запроса на нормализованном естественном (русском) языке, (б) применение формальных понятий для описания алгоритма семантико-синтаксического анализа ЕЯ-запросов пользователя РекС, (в) разработка КС-грамматики для порождения выражений, отражающих ситуации диалога с пользователем РекС.
Теоретическая значимость исследования. Впервые предложены средства и метод формализации проектирования рекомендательных систем с семантически-ориентированным ЕЯ-иктерфейсом> входные запросы которого формулируются на нормализованном русском языке.
Практическая значимость исследования диссертации состоит в том, что предложен новый подход к разработке рекомендательных систем с ЕЯ-интерфейсом. Этот подход базируется на построении математических моделей семантических объектов, связанных с входными запросами пользователя РекС и на формальном описании ситуаций диалога, возникающих в ходе обработки
входного запроса пользователя. Разработанные алгоритмы позволяют сделать более удобным и ускорить взаимодействие пользователя с рекомендательной системой и увеличить эффективность интернет ресурса за счёт внедрения более эффективного механизма поиска товара и механизма формирования рекомендации пользователю на основе имеющейся базы данных о товарах. Предложенный способ нормализации входных запросов пользователя делает структуру запроса не слишком сложной, но гибкой. Это уменьшает трудоёмкость программной реализации алгоритмов, осуществляющих семантическую обработку входного запроса. Математический подход, базирующейся на теории К-представлений, является предметно независимым и может быть использован при проектировании РекС в разных предметных областях. Важным аспектом практической ценности разработанного комплекса является возможность его интеграции в существующую структуру интернет каталога или магазина.
Полученные в диссертации результаты использованы в научных и проектных исследованиях компании «ТРИАЛ ЭЛЕКТРОНИКС Плс» (Москва) и «МАТИ» - Российского государственного технологического университета им К.Э. Циолковского. Материалы диссертационной работы использованы при проведении лекционных и лабораторных занятий по дисциплине «Проектирование лингвистических процессоров» на кафедре «Информационные технологии» МАТИ.
Основные положения, выносимые на защиту:
1. Разработан комплекс математических моделей семантических и семантико-
синтаксических объектов, ассоциированных с входными запросами
пользователей рекомендательной системы:
-
Математическая модель системы первичных единиц концептуального уровня, используемой ЕЯ-интерфейсом РекС.
-
Математическая модель многообразия смысловых структур, соответствующих запросам пользователей РекС, как центральный компонент описания входного языка ЕЯ-интерфейса РекС.
-
Математическая модель лингвистической базы данных, используемой алгоритмом семантико-синтаксического анализа входных запросов пользователя РекС.
-
Разработан комплекс из двух алгоритмов, обеспечивающих преобразование запроса пользователя на нормализованном русском языке в SQL выражение с использованием К-представления запроса в качестве промежуточной формы представления.
-
Разработана структура реляционной базы данных для хранения морфологической и семантико-синтаксической информации, связанной с лексическими единицами. Программно реализован набор функций языка Веб программирования РНР, предназначенный для преобразования входного текста на русском языке в SQL-запрос. Разработанный программный комплекс был успешно внедрён на сайте .
-
Разработана КС-грамматика в форме Бзкуса-Наура для порождения выражений, отражающих ситуацию диалога с пользователем.
-
Разработана формула для определения очерёдности вывода пользователю отдельных товаров из общего списка релевантных товаров. Выполнено компьютерное моделирование для исследования поведения значений формулы в широком диапазоне изменения значений входных параметров.
Апробация и внедрение результатов исследования. Основные результаты работы представлялись на молодежной научной конференции «Гагаринские чтения» в МАТИ в 2009 и 2010 годах и на научно-практической конференции студентов и аспирантов «Информационные технологии в экономике, бизнесе, управлении» (ГУ-ВШЭ, 2010). По теме диссертационной работы опубликовано 6 научных работ, включая две публикации в изданиях из списка изданий, рекомендованных ВАК РФ. Разработанный в диссертации программный комплекс был интегрирован на сайте ..
Структура диссертации: диссертация изложена на 160 страницах, состоит из введения, четырёх глав, заключения, списка литературы, из 138 наименований, и двух приложений. Приложение 1 содержит результаты тестирования программного комплекса. В Приложении 2 приведен акт внедрения. Объём работы: 151 страница основного текста включающего 9 рисунков, 10 таблиц и 9 страниц приложения.
Основные подходы к формализации семантики естественно-языковых текстов, имеющие ограниченную сферу применения
В начале 2000-х годов сотрудники научного центра фирмы IBM в штате Нью-Йорк совместно с лабораторией искусственного интеллекта, Массачусетского технологического института провели исследование по выяснению предпочтений пользователей рекомендательной системы, если им предоставить выбор между взаимодействием с традиционными меню и с англоязычным интерфейсом. В качестве предметной области была использована продажа ноутбуков фирмы IBM. Были разработаны два вида интерфейсов -традиционный, основанный на предъявлении пользователю различных меню, и англоязычный интерфейс, названный Естественно-языковым помощником (Natural Language Assistant = NLA). Проведенный эксперимент показал, что до 80 процентов пользователей предпочитают взаимодействовать не с традиционной системой предлагаемых меню, а с ЕЯ-интерфейсом [81-83]. Принципы организации ЕЯ-интерфейса NLA рассматриваются в следующем параграфе.
Результаты этого эксперимента оказали значительное позитивное влияние на исследования по разработке РекС с ЕЯ-интерфейсом. Рассмотрим наиболее интересные результаты, полученные в этом направлении.
В работе [136] подробно рассматриваются две рекомендательные системы с естественно-языковым интерфейсом на основе алгоритма BCORN (Behaviour-based conversational recommender). Первая из них посвящена поиску музыки, вторая - поиску фильмов. Алгоритм BCORN состоит из трех основных компонентов. Во-первых, это среда моделирования пользовательских предпочтений - так называемые preflets. В ней обрабатывается естественный язык - в том числе и сравнительные, превосходные и т.п. конструкции. Во-вторых, для описания предпочтенческих и фактических утверждений и запросов используется собственная нотация PCQL. Наконец, для формирования стратегии диалога с пользователем применяются диаграммы построения диалога.
Рекомендательные системы с ЕЯ-интерфейсом, разработанные для немецкого языка, описываются в публикациях [102-103].
ЕЯ-интерфейс значительно облегчает поиск товаров, в частности, в сети[ интернет [44-45, 4], однако неподготовленному пользователю он может показаться слишком необычным. Для повышения эффективности поиска необходимо комбинировать NLA со стандартными средствами. Помимо сети интернет, есть и менее очевидные сфер применения ЕЯ-анализаторов, например, системы документооборота [2-3, 1, 19].
В нашей стране важную роль в развитии исследований в направлении разработки РекС с ЕЯ-интерфейсом сыграли публикации, описывающие прикладную компьютерную систему InBase. Технология InBase [12, 15-19, 109] является одним из самых известных решений в области систематизации технологии распознавания текста на русском языке и его обращения к SQL. С её помощью появляется возможность построения ЕЯ-интерфейсов к базам данных [18-19]. Помимо технологии InBase, существуют и другие известные российские разработки и подходы [9, 23, 33].
В последнее время стало появляться всё больше сайтов, использующих преимущества русскоязычного интерфейса. К сожалению, получить доступ к применяемым алгоритмам и, следовательно, проанализировать методику их работы не представляется возможным. Однако, имея представление о принципах реализации различных подходов, мы можем, используя разные входные данные, понять алгоритм работы.
Первый сайт компании «Окей медиа». На сайте реализован виртуальный менеджер, являющейся компьютерной моделью образа человека. Помимо интерпретации фраз, направленных на уточнение характеристик товаров и услуг, модель способна выполнять простейшие действия или, по крайне мере, понимать, о чём идёт речь. К сожалению, несмотря на попытку распознавания фраз и действия, хронология разговора не поддерживается. При вводе некорректного запроса появляется сообщение о предложении ответить позже. При распознавании существительного, в случае понимания контекста фразы, выдаётся уточняющий запрос, но при отсутствии хронологии диалога пользы от этого мало.
По-видимому, алгоритм распознавания построен на примитивном распознавании слов по неким шаблонам типа: контен(контента, контентом, контент), последовательность слов или их шаблонов заложены в массив, сопоставленный с ответом. Предусмотрена возможность исправления ошибок, например, в базе есть слово "контент", но нет слова "контакт". Можно предположить, что для распознавания слова контент в базе предусмотрен шаблон - конте т , а, например, слово портфолио - портфол , где символ может быть любым.
Система распознаёт некоторые несложные фразы. Стоит отметить что фраза "сколько стоит поддержка" и " стоимость поддержки" распознаются одинаково по смыслу, но ответ выдаётся с разным содержимым, что говорит о наличии различных шаблонов для разных фраз.
В качестве следующего примера РекС с русскоязычным интерфейсом рассмотрим алгоритм работы рекомендательных сервисов на примере сайта imhonet [20]. Без регистрации на сайте доступен список фильмов, где на первой странице выделены новинки. При выборе фильма появляется его описание и рейтинг. На основании этих характеристик строится список с похожими фильмами.
Для получения рекомендации необходимо пройти несложную процедуру регистрации, очевидно, это необходимо для создания профайла с оценками фильмов. После этого предлагается список с фильмами, которые необходимо оценить по шкале от 1 до 10. Если какой-то из фильмов незнаком, то он заменяется на другой. Далее предлагается оценить 20 книг и ответить на несколько вопросов о себе, включая возраст, пол, местоположение, и дать оценку нескольким жизненным интересам.
После выставления оценок и создания своего профиля система готова давать рекомендации. Стоит отметить, что рекомендации выдаются сразу на главной странице после того, как пользователь вошёл в систему. Кроме рекомендаций фильмов, система готова предложить массу рекомендаций в различных областях, начиная с телефонов и заканчивая людьми.
Следуя тенденции внедрения рекомендательных сервисов, базирующихся на ЕЯ-интерфейсе, своего онлайн помощника создала компания Билайн. В разделе «Мобильная связь» для частных лиц существует возможность вызвать «Онлайн консультанта», оформленного в виде всплывающего окна с немасштабируемым контентом. В отличие от многих, компания решила разместить фото реального человека и небольшое поле для ввода своего вопроса. Отличительной особенностью данного решения является то что разговор ведётся непрерывно, то есть поддерживается хронология, по крайне мере визуально. Главное же - в процессе разговора виртуальный менеджер может открывать страницы с дополнительной информацией, относящейся в диалогу. К минусам стоит отнести то, что база знаний и алгоритмы довольно скудны на ветвления. Фраза "тарифы для молодёжи 4 и "тарифы" приводят на одну и ту же страницу с тарифными планами.
Метод формализации проектирования рекомендательных систем с естественно-языковым интерфейсом
Можно построить такую концептуальную сигнатуру Consign, что будут выполняться следующие соотношения: у, єУ(В(Consign)), язык Lfuncl(B(Consign),yi) включает цепочку (Цена(у{) 354000/руб). Определение 4. Пусть Consign - произвольная концептуальная сигнатура, В = B(Consign), var - произвольная переменная из множества V(B). Тогда Lfunc2(B, var) - это множество всех цепочек СК-языка Ls(B), представимых в виде (f(var) =(div...v dn)) или в виде (f(var) =(djv... v dtl)), где / - одноместный (или унарный) функциональный символ тГ(В), п 1, dj...dneX(B). Пример. Легко определить такую концептуальную сигнатуру Consign, что Уі єУ(В (Consign)) и язык Lfunc2(В(Consign), у\) включает цепочку (Страна-сборки(у і) = (Германия v Бельгия)). Используем введённые определения для формирования смысловой структуры тех фрагментов первоначального запроса пользователя РекС, которые описывают дополнительную информацию об объекте интереса. В частности, таким фрагментом является выражение "Цвет - темно зелёный или тёмно-синий, не старше 5 лет ".
Определение 5. Пусть Consign - произвольная концептуальная сигнатура, В = B(Consign), var - произвольная переменная из множества V(B). Тогда обозначим через Lmany(B, var) множество всех цепочек вида (ztA ... л z„), где п 1, Z}...zne Lrell(B, var)uLrel2(B, var) uLfuncl(B, var) uLfunc2(B, var). Пример. Можно задать концептуальную сигнатуру Consign так, что у і eV(В (Consign)) и язык Lmany (B(Consign), у}) включает цепочку (Меньше(Цена(у1),350000/руб)л Цвет(у 1, (тёмно-зелёный v темно -синий)) А Страна-сборки (у и (Герман ия v Бел ъгия))).
Определение 6. Пусть В - произвольный концептуальный базис, var -произвольная переменная из множества У (В). Тогда пусть Linf(B,var)=Lrell(B,var) и Lrel2(B,var) и Lfuncl(B,var) и Lfunc2(B,var) и Lmany (В,var).
Введём понятие первичного семантического образа исходного запроса пользователя РекС. Важным фактором, который необходимо учитывать, является то, что вероятно, большинство запросов пользователя будут состоять из двух частей. Часть 1 кратко обозначает объект интереса пользователя (например, "Немецкий легковой автомобиль ). Часть 2 перечисляет дополнительные требования, которым должен удовлетворять объект интереса (например, "не старше 5 лет, цвет тёмно-зелёный или тёмно-синий ").
СК-языки, определяемые теорией К-представлений, позволяют строить обозначения упорядоченных наборов формальных объектов как цепочки вида Wj,W2,...., wn , где k l, wj, ...,wk - выражения СК-языка Ls(B), иВ- некоторый концептуальный базис.
Поэтому в данной работе предлагается строить первичный семантический образ запроса пользователя РекС в виде Semreprl, Semrepr2 , где Semreprl — семантическое представление (СП) краткого описания объекта интереса пользователя (например, СП выражения "немецкий легковой автомобиль"), а Semreprl — СП фрагмента, перечисляющего дополнительные требования, которым должен удовлетворять объект интереса (например, СП выражения «не старше 5 лет, цвет тёмно-зелёный или тёмно-синий»).
Во вводимом ниже определении параметр п интерпретируется как порядковый номер запроса пользователя, поэтому п 1.
Определение 7. Пусть Consign - произвольная концептуальная сигнатура, В = B(Consign), п 1. Тогда Lsemimage(B,n) - это множество всех цепочек вида Semreprl, Semrepr2 , где Semreprl- цепочка СК-языка Ls(B) вида все concept (ri,d])...(rbdi) , где concept є Х(В), тип элемента concept - цепочка tp(concept) - начинается с символа Т, к 1,Г]....гк- бинарные реляционные символы из Х(В), d],... , dkeX(B), Semreprl є Linf(B, YJ. Множество цепочек Lsemimage(B,n) будем называть языком первичных семантических образов с параметрами В и п.
Пример. Пусть запрос 1 = «Немецкие легковые автомобили не старше 5 лет, Цвет - тёмно-зелёный или тёмно-синий, не дороже 350000 рублей», тогда моясно задать концептуальную сигнатуру Consign так, что язык Lsemimage(В(Consign), 1) будет включать выражение Semreprl, Semrepr2 , где Semrepr 1 =все авто (Страна-производитель, Германия) (Вид-авто, легковой), Semrep2=( Больше(Возраст(у\),5/год) л Цвет(уі, (тёмно-зелёный v темно-синий)) л -пБолыие(Цена(у1), 350000/руб)). Выражение Semreprl, Semrepr2 будем интерпретировать как первичный семантический образ запроса 1.
В построенном в предыдущем примере выражении вида Semreprl, Semrepr2 значения параметров Страна-производитель и Вид-авто задаются в подцепочке Semreprl не в той же форме, что и значения параметров Возраст, Цвет и Цена в подцепочке Semrepr2. Анализ выразительных механизмов СК-языков позволил предложить такую форму первичного семантического представления исходного естественно языкового запроса пользователя РекС, которая дает возможность единообразно отображать значения всех параметров объекта интереса пользователя, что удобно для последующей обработки запроса. Для задания такой формы первичного семантического представления запроса потребуется ввести дополнительные предположения о рассматриваемом концептуальном базисе. Предположение 6. Множество сортов St(B) включает выделенные элементы физ.об и инф.об, первичный информационный универсум Х(В) включает различные элементы Объекты-интереса, Элемент, Описание 1, причем (р(Объекты-интереса) ={(инф.об, {физ.об}, Р) )} , ф(Элемент)={( физ.об, {физ.об})}, tp(Onucamiel)—)—{(инф.об, Р))} , где Р = Р(В) - выделенный сорт «смысл сообщения» концептуального базиса В; подмножество интенсиональных кванторов первого вида Intl(B) множества Х(В) . включает элемент произв; подмножество интенсиональных кванторов второго вида Int2(B) множества Х(В) включает элемент все. \
Выделенные элементы физ.об и инф.об называются соответственно сортом «физический объект» и сортом «информационныий объект», элемент произв называется интенсиональным квантором «произвольный».
Рекомендации по реализации процедуры выделения элементарных значащих единиц входного запроса ."
Разработанный алгоритм "Построение-СемП-запроса" предназначен для преобразования входного текста из подъязыка русского языка (т.е. запроса пользователя РекС) в семантическое представление, являющееся К-представлением текста, т.е. выражением СК-языка в используемом концептуальном базисе. Операции, осуществляемые по ходу обработки текста, зависят от выбранного лингвистического базиса, определение которого интерпретируется как формальная модель лингвистической базы данных (ЛБД).
Известно, что проблема семантико-синтаксичсского анализа (ССА) компьютером ЕЯ-текстов включает много аспектов. Начальный этап ССА текстов на РЯ включает нахождение базовых форм слов из входного текста, нахождение возможных значений морфологических признаков (число, падеж, лицо, время и т.д.) для этих словоформ делаем разбиение текста на такие сегменты, которые соответствуют определенным элементарным единицам смыслового уровня. К таким сегментам относятся, например, выражения "были оповещены", "будет рассмотрен", "Игры юниоров", "180 км" , "2010-й год" , "24 минуты", "сорок литров".
Различные аспекты автоматизации морфологического анализа русскоязычных текстов рассматривались во многих публикациях на русском и английском языках. Вопросы, касающиеся автоматического выделения таких коротких сегментов текста, которые обозначают элементарные единицы смыслового уровня, оказываются не слишком сложными с логической точки зрения и могут решаться непосредственно на уровне программной реализации алгоритма.
При разработке алгоритма построения семантического представления запроса основной акцент делается на формализации и алгоритмизации процесса поиска смысловых отношений между компонентами входного текста. Для этого в данной работе будем исходить из следующих предположений:
1. Во многих случаях входной текст Т алгоритма является некоторой абстракцией по сравнению с реальным входным текстом лингвистического процессора. Причиной этого является то, что единицами входного текста алгоритма могут быть не только словоформы, но и короткие словосочетания ("будут получены", "был оплачен", "XXI век" и т.д...), являющиеся обозначениями элементарных единиц смыслового (семантического, концептуального) уровня. Такие единицы входного текста будем называть элементарными значащими единицами текста.
2. Постулируется существование отображений, ставящих в соответствие словоформам их базовые формы (лексемы) и наборы значений морфологических признаков, а также связывающие с каждым конструктом (числовым значением какого-то параметра) некоторую семантическую (другими словами, концептуальную) единицу.
В тех случаях, когда вспомогательный алгоритм является весьма простым (непосредственно программируемым) либо его разработка не представляет теоретических трудностей с учетом имеющихся научных публикаций, в структурированных описаниях таких алгоритмов указывается только внешняя спецификация, т.е. описание назначения, входных и выходных данных алгоритма. Для описания алгоритмов используется один из возможных вариантов языка разработки алгоритмов, или псевдокода, предложенный в монографии [62]. Служебные слова нач, кон, кесли, кцикл, квыбор, цикл-до, выход-при, пока интерпретируются следующим образом: нач = начало, кон = конец, кесли = конец-если, цикл = конец-цикла, квыбор = конец оператора выбора, цикл-до = начало цикла с постусловием, выход-при = условие выхода из цикла с пост условием, пока = начало цикла с пред условием. Problingb - проблемно-ориентированный лингвистический базис (см. раздел 2.8); NLquery - строка - запрос пользователя из подъязыка русского языка. Основные выходные данные: nt — целое — количество элементарных значащих единиц текста; Plsdic - двумерный массив - проекция лексико-семантического словаря Lsdic на входной текст NL_query; Arfrp - двумерный массив - проекция словаря предложных семантико синтаксических фреймов Frp на входной текст NLquery; K_preds - строка - К-представление входного запроса.
План алгоритма "Построение-СемП-запроса" Нач Query: = E[epBH4-o6pa6oTKa(NL_query) С помощью некоторого алгоритма Первич-обработка входной запрос NL_query просматривается слева направо и выполняются следующие действия: (а) удаляются лишние пробелы между единицами текста, (б) для каждой лексической единицы извлекаются сведения, ассоциированные с этой единицей в лексика - семантическом словаре Lsdic и эти сведения отображаются в двумерном массиве Query, (в) для каждого предлога из словаря предложенных семантико-синтаксических фреймов Frp извлекаются шаблоны (фреймы), связанные с этим предлогом, и помещаются в двумерный массив Query.
С помощью вспомогательного алгоритма Поиск-сущ-и-предлогов, обрабатывающего массив Query, находится очередная конструкция вида "Существительное 1 + предлог + Существительное2".
Затем применяется вспомогательный алгоритм Поиск-сем-отнош-сущ1-сущ2 для поиска смыслового отношения в этом словосочетании. Полученные результаты применения этого алгоритма позволяют преобразовать строку K_preds, интерпретируемую как семантическое представление входного запроса.
С помощью вспомогательного алгоритма Поиск-сем-отнош-прил-сущ, обрабатывающего массив Query, находится очередная конструкция вида "Существительное + Прилагательное". Полученные сведения о смысловой связи, реализуемой в этом сочетании, используются для преобразования строки Kjpreds, интерпретируемой как семантическое представление входного запроса.
Вспомогательный алгоритм Поиск-сем-отнош-сравнений в массиве Query находит очередную конструкцию? выражающую сравнения двух параметров (например, "не дороже 150000р."). Полученные сведения о смысловой связи, реализуемой в этом сочетании, отражаются в новом значении строки K_preds.
Разработка КС-грамматики для порождения выражений, отражающих ситуацию диалога с пользователем
Все параметры представляют из себя логические выражения, которые соединены связками &&("и"), ("или"). Данные связки указывают на то, какую (или какие) фразу необходимо выдать пользователю при наступлении того или иного события.
Особенно важной служебной фразой является _EVENT. Данный идентификатор указывает на то, какое событие участвует в формировании фразы. Например, значение рекомендация говорит о том, что запрос возвратил какой-то результат в виде группы товаров, но система рекомендует обратить внимание на конкретный товар. Значение фильтр укажет на то, что список товаров можно сократить по каким-либо параметрам, описанным в этом выражении, а значение ничего не найдено говорит о том, что запрос ничего не возвратил.
В процессе рекомендации товара участвуют различные алгоритмы, каждый из них может выдать как один, так и несколько параметров для формирования текста рекомендаций. Как следствие, пользователю может быть предложено сразу несколько вариантов выбора нужного ему товара.
Синтез антирекомендации Задачи рекомендательных систем заключаются не только в том, чтобы дать пользователю рекомендацию по товару, отвечающему желаемым характеристикам, но также не дать сделать неправильный выбор. В каталоге продукции есть некоторый товар, рекомендация которого не должна происходить. Это может быть связано с несколькими причинами: 1. отсутствие товара на складе 2. товар был ранее куплен этим пользователем 3. негативные отзывы потребителей.
Первая и вторая причины актуальны для Интернет магазинов. Отсутствие товара на складе или возможность того, что его купили ранее, можно легко проверить, если велась статистика покупки. Для этого необходимо сделать запрос по соответствующему полю. Что касается негативных отзывов, подобный способ оценки имеет смысл использовать скорее в Интернет каталогах, поскольку в магазине подобная оценка может привести к тому, что товар, имеющийся в наличии, просто не будут покупать.
Если в качестве параметра отбора выступает неявный параметр (большой, маленький, дорогой, красивый и так далее), у рекомендательной системы появляется возможность начать диалог, направленный на уточнение параметров и на формирование текста, способного дать общее представление пользователю о том, какие параметры можно конкретизировать. В параграфе 4.2. рассказывается об алгоритмах поиска подобных критериев и формировании из них запроса. Однако запрос может не только сформировать список с товаром, он также способен помочь реализации диалога. Для этого была создана таблица в БД, отвечающая за связь неявных параметров и рекомендательных фраз.
Рассмотрим алгоритм работы подобного механизма рекомендации. Пользователь вводит запрос: "большой автомобиль" или "красивый телефон". Параметры "большой" и "красивый" не могут дать точное представление о том, по каким параметрам необходимо отбирать товар. Однако возможно сопоставить неопределенный параметр с группой определённых параметров, по которым будет сформирован список с товаром. К-представление будет включать в себя сам объект - автомобиль, телефон; параметры - размер и дизайн и непосредственно значения: большой и красивый. Выглядеть данные запросы будут следующим образом: нек автомобиль (Размер 1, "большой "):xl, нек телефон (Дизайні, "красивый"):х2.
На основе данных К-представлений можно построить запрос к БД, где из таблицы 4.2. будет осуществляла выборка, представленная следующими SQL запросами: select from recommended_parm_text where parmname— Размер 1 and obj_name= автомобиль select from recommended_parm_text where parm_name— Дизайні and obj_name— телефон Результатом выполнения запросов будет текст, который даст пользователю представление о том, какие действия необходимо сделать для конкретизации введённых параметров. Например, по первому запросу текст будет иметь следующий вид:
По Вашему запросу сформирован следующий список товаров. К сожалению, введённый Вами параметр не способен дать нашей системе точное описание Вашего запроса, т.к. параметр "большой" в описании автомобиля даёт неоднозначное описание его размера.
Видя данное сообщение, пользователь может либо просмотреть список с товаром и выбрать тот, который ему подходит, либо ввести уточняющий запрос, например: автомобиль длиной не больше 5 метров.
Кроме введённого текста, будет сформирован текст, помогающий сократить список с товаром, при помощи других алгоритмов рекомендации, описанных в разделе 4.2.
Часто пользователь, не зная точно, что он хочет, указывает не модель или название, а просто ключевое слово, которое, по его мнению, должно характеризовать тот товар или группу товаров, которые его интересуют.
Если ЕЯ - анализатор распознаёт введённый текст как бессвязный набор слов или всего одно слово, то в таком случае необходимо определить тематику, интересующую пользователя. Для связки тематик и ключевых слов нет смысла заводить отдельную таблицу. Мы можем определить предметную область путём выборки из различных характеристик товара и его категорий с учётом введённых слов.
В случае, если запрос возвратил 0 строк, система предложит конкретизировать запрос. Если запрос возвратил одну или более позиции, система выведет сообщение о том, что происходит поиск в заданной категории.