ЕСТЕСТВЕННО-ЯЗЫКОВОЙ ИНТЕРФЕЙС В ЭЛЕКТРОННОЙ КОММЕРЦИИ
В. А. Жигалов
РосНИИ Искусственного интеллекта
zhigalov@aha.ru
Ключевые слова: InBASE, естественно-языковые интерфейсы, базы данных, поисковые системы, электронные каталоги, электронные магазины, поисковые запросы, естественно-языковые запросы.
Появление на российском рынке технологии InBASE привело к созданию нового сектора рынка - рынка естественно-языковых интерфейсов. Основным применением ЕЯ-интерфейсов в настоящее время являются онлайн-приложения в области электронной коммерции. В докладе рассматриваются аспекты применения этого нового средства, связанные со строением и наполнением баз данных каталогов, с особенностью жанра ЕЯ-запросов и влияния на него жанра поисковых запросов в Интернет.
- Применение ЕЯ-интерфейсов в электронных каталогах
Технология InBASE (<http://inbase.artint.ru>, [1]) является первой и пока единственной отечественной промышленной технологией, позволяющей строить ЕЯ-интерфейсы к реляционным базам данных. В настоящее время InBASE проверена на нескольких пилотных внедрениях, накоплен опыт в ходе создания пилотных ЕЯ-интерфейсов (как демонстрационных, так и коммерческих), этим опытом и хочется поделиться в данной статье.
Безусловно, одно из самых интересных с позиции рынка применений естественно-языковых интерфейсов лежит в сфере электронной коммерции: создание интеллектуальных систем общения пользователя (посетителя, покупателя) и электронного каталога. ЕЯ-интерфейс, конечно, не является самодостаточным средством в удовлетворении потребностей пользователя. Также следует заметить, что в данной статье под ЕЯ-интерфейсом понимается не диалоговая система, а система, переводящая поисковые запросы пользователя в формальное представление (в SQL-запрос к БД каталога товаров), и выдающая результат поиска.
Основная особенность ЕЯ-интерфейсов, отличающая их от обычного поиска в каталоге товаров - на порядки большие требования к функциональности. Любой, кто общался с традиционными поисковыми системами, знает, что требовать от них интеллектуальности смысла не имеет, и локальный поиск (т.е. на одном сайте, в одной базе данных или каталоге) традиционно воспринимается как рулетка.
Система, которая претендует на понимание поисковых запросов с учетом предметной области, конечно же, воспринимается пользователем совершенно иначе. Об особенностях жанра поисковых ЕЯ-запросов см. ниже, а пока коснемся тех отличий, которые несет в себе ЕЯ-интерфейс, как с точки зрения функциональности, так и с точки зрения затрат на создание.
Прежде всего, ЕЯ-интерфейс призван разгрузить пользователя от усилий по подстраиванию под конкретный каталог; напротив, ЕЯ-интерфейс при построении подстраивается под типичные запросы посетителей, какими бы ни были эти запросы. Такая особенность ЕЯ-интерфейсов достигается гибкостью настройки, и обеспечивает для онлайн-каталога важное качество - низкий барьер освоения для посетителя.
ЕЯ-интерфейс позволяет посетителю сообщить в поисковом запросе требования к товару, а это предполагает не просто разбор запроса, но и владение предметной областью. Традиционный поиск работает просто со строками/подстроками, ища их в текстовых полях БД или на страницах сайта, и, естественно, предметной области не касается.
Я не буду долго останавливаться на преимуществах ЕЯ-интерфейса как средства в электронной коммерции [3], для этого доклада гораздо более интересны его недостатки. Принципиальный минус - настройка ЕЯ-интерфейса требует времени и понимания предметной области, хотя все усилия по настройке идут в конечном счете как вклад в повышение качества поиска.
При построении ЕЯ-интерфейса всплывают многие недостатки строения и наполнения БД (об этом см. ниже). Наконец, использование запроса на естественном языке в качестве поискового инструмента поднимает извечную проблему: насколько интеллектуальна должна быть система, должна ли она удовлетворять тесту Тьюринга? Сейчас InBASE в качестве интеллектуальной системы находится в пути от традиционных поисковых систем до систем, удовлетворяющих такому тесту. Вполне возможно, что для решения этого вопроса нужна более широкая экспериментальная база. А учитывая, что удовлетворение тесту Тьюринга - как предел в математике: к нему можно стремиться, но никогда не достичь окончательно, то такое стремление, подкрепленное инструментарием динамично развивающейся технологии, уже само в себе несет качественный сдвиг.
- База данных и предметная область электронного каталога
Первый опыт показал, что сама по себе структура типичных баз данных электронных каталогов обычно хорошо отображается на модель предметной области, и проблемы с генерацией SQL к этим базам на текущем уровне развития InBASE возникают редко. Проблемы возникают, как правило, с наполнением БД, они носят принципиальный характер, хотя в большинстве случаев и могут быть безболезненно устранены.
Чтобы пояснить суть возникающих проблем, следует напомнить, что InBASE - это прежде всего технология, включающая в себя набор средств и инструментов, облегчающих процесс построения ЕЯ-интерфейсов к любым РСУБД. Среди таких ключевых инструментов - автоматическое наполнение словаря, так называемая прокачка. Прокачка создает словарные статьи класса Значение из содержимого строковых полей БД. Этот процесс массовый, он может настраиваться на уровне атрибутов (полей БД), но, разумеется, не на уровне отдельных записей (строк).
Первая типичная проблем - это неинформативность названий товаров с точки зрения задачи поиска, а также обратная проблема: перенасыщенность названий товаров посторонними (для названий) фрагментами. Пример такого названия товара:
стул на 4-х ножках для посетителей "OPERATIVE"
при этом "стул" в данной предметной области - это лексика, ориентированная на категорию товара (есть категории стульев, столов и т.д.). В процессе прокачки это название попадет в словарь как словокомплекс, однако такая словарная статья в лучшем случае будет бесполезна, в худшем - будет мешает работе ЕЯ-интерфейса и только добавляет работы настройщику: вряд ли пользователь станет искать товар ровно с такой формулировкой. "Стул" в словаре после прокачки имеет двойную ориентацию - на категорию и название, хотя достаточно было бы искать только в категории. В этом словокомплексе с точки зрения предметной области смешано несколько атрибутов: категория, имя собственное, особенность товара (которая релевантна скорее полю комментария, но используется здесь для идентификации и именования товара). Проблема в общем виде может быть сформулирована так: не приспособленные для поиска строковые поля.
Разумеется, процесс прокачки не может решить эту проблему в общем виде: даже автоматическое распознавание и разделение этих частей (например, технологией Алекс [2]) не решает полностью проблему, если не прикладывать усилий на уровне самой БД (нормализуя и выделяя содержимое в отдельные поля). Особенно это касается числовых параметров, которые указываются в строковых полях БД (например, часто хранят размеры в строках вида AxBxC): становится невозможно понимать запросы вида "высота 100-120 см", поскольку соответствующие конструкции в SQL-запросе (>=, <=) для выдачи релевантного ответа требуют числовых типов полей.
Вторая особенность, с которой практически неизбежно сталкивается настройщик ЕЯ-интерфейса к каталогу товаров: зачастую пользователь хочет иметь доступ к тем свойствам, значения которых в БД не указаны, часто указание их не входит в цель построения базы данных. Типичным примером является цвет товара (скажем, сотового телефона): обычно продавец показывает для товара фотографию, на которой цвет виден, и при просмотре каталога такой вопрос просто не возникает, в отличие от ситуации ЕЯ-поиска. К тому же цвет для продавца не имеет такого значения, как для покупателя. Если же цвет указан для товара явно (например, для автомобилей), то сопутствующей задачей становится увязка цветов по принципу общее/частное. Сложности добавляет тот факт, что в зависимости от предметной области каталога, цвет может быть субъективным критерием (пользователь может под "красной машиной" понимать все оттенки красного, в т.ч. бордовый). Эта проблема довольно легко решается вводом необходимой информации в БД в явном виде.
Среди атрибутов, о которых спрашивают пользователи, встречаются слабо формализуемые субъективные критерии: хороший, красивый, удобный, практичный, крутой и т.д. В этом случае обычно выручает класс словарных статей Реакция: пользователю выдается сообщение о том, что каталог товаров не содержит таких критериев (следует заметить, что использование Реакций, несмотря на простоту использования и работы, является мощным механизмом придания ЕЯ-интерфейсу дружественности, и даже остроумности). В отличие от этих субъективных критериев, атрибут "популярность" по отношению к товару часто поддается объективной оценке, и заметно может повысить ценность ЕЯ-интерфейса и самой БД. То же касается запросов вида "что есть из новых поступлений" - если есть информация о дате поступлении товара, то дать к нему доступ пользователя, особенно на ЕЯ, представляется удачным решением.
Наконец, есть одна, по-видимому, фундаментальная особенность процесса построения ЕЯ-интерфейсов к БД. Возможно, это то, что отличает базы данных от баз знаний: информация в БД узкоспециализирована и содержит лишь некоторое подмножество информации из данной предметной области. Например, если в БД содержится адрес магазина, включающий в себя название улицы (это характерно для мета-каталогов), то в БД в целом содержится лишь некоторое подмножество названий улиц. Для того же, чтобы система адекватно воспринимала название произвольных улиц в запросе, надо наполнять словарь дополнительной лексикой. Это удорожает стоимость построения ЕЯ-интерфейса, если такие тематические словари приходится вводить вручную.
По отношению к каталогам в электронной коммерции актуальным часто является дополнение в словаре списка производителей, моделей и категорий товаров: несмотря на то, что в БД этой информации на момент построения ЕЯИ может не быть, ЕЯ-интерфейс должен адекватно понимать любые запросы, релевантные предметной области базы данных. InBASE позволяет вводить в словарь лексику в массовом порядке из текстового формата, и таким образом решается задача повторного использования словарной информации, а это позволяет сократить трудоемкость построения ЕЯ-интерфейсов.
Отдельной особенностью стоит выделить наличие в БД опечаток, а также разнообразие написаний названий товаров, особенно иностранных и заимствованных слов: так, в каталоге товаров магазина shop.7ya.ru слово baby было записано пятью разными способами, а слово Алладин - четырьмя. Еще одно типичное слово - плеер (плейер, плэер, плэйер). Эта проблема решается путем ввода синонимов и множественных поисковых образов: разнообразие касается не только содержимого БД, но и словоупотребления в запросах.
- ЕЯ-запрос как жанр поисковых запросов
Отдельно следует коснуться особенностей жанра запросов на естественном языке. Практика показывает, что ЕЯ-запрос как новое средство поиска информации пока в диковинку массовому пользователю. Разумеется, одна из трактовок ЕЯ-запроса - это действительно произвольная формулировка потребности пользователя, но эта трактовка часто подводит в коммуникативной ситуации "человек-машина". Например, реальный запрос к ЕЯИ о моделях сотовых телефонах:
телефон дороже чем у меня
Понятно, что коммуникативная цель этого запроса - просто посмотреть, как система будет "выкручиваться" из такой ситуации, когда ей не хватает информации. Степень "корректности" пользователей здесь может варьироваться очень сильно: достаточно лишь упомянуть, что процент матерной лексики в логах демо-версий ЕЯИ к сотовым телефонам заставил разработчиков всерьез подумать о включении словаря нецензурной лексики в универсальный словарь InBASE, тем более что эта лексика практически всегда используется как значимая.
Сильно влияет на жанр ЕЯ-запросов жанр традиционных поисковых запросов. В обычных системах поиска ищут, как правило, простыми запросами, часто в одно ключевое слово. ЕЯ-интерфейсы в этом смысле обратно совместимы с обычными поисковыми системами - однословные запросы также понимаются адекватно, и информация из БД выдается релевантная.
Часто пользователь просто не знает, о чем можно спросить "умную систему", и задает вопросы вида "что есть в магазине" или "что у вас есть", не подозревая, что если ему просто выдастся весь набор товаров магазина, то это является, в принципе, релевантным ответом, хотя более правильно выдавать дерево категорий или текстовое (гипертекстовое) описание того, какие товары есть в магазине. Также можно направить посетителя на отдельную страничку знакомства с каталогом (магазином) - это делается также Реакциями, в которые можно включать текст любой длины, в том числе и в HTML-формате.
- Жизненный цикл ЕЯ-интерфейса
Сам процесс построения ЕЯ-интерфейса разбивается на этапы:
- Обследование
- Макетирование
- Проектирование
- Построение
- Тестирование
- Эксплуатация
Обследование заключается в ознакомлении с предметной областью и базой данных, на этом этапе принимается решение строить ЕЯ-интерфейс и даются предварительные оценки трудоемкости этой работы. Практически одновременно с обследованием идет макетирование, т.е. построение макетного ЕЯ-интерфейса. Макетный интерфейс демонстрирует основные возможности будущего ЕЯ-интерфейса, и позволяет оценить за короткое время возможные проблемы, с которыми придется столкнуться в дальнейшем. Макет отличается от окончательного варианта в основном только неполнотой словаря, он, как правило, уже содержит полную модель предметной области и модель базы данных (их спецификация обычно происходит за час-два). Обычно обследование и макетирование занимают не более одного рабочего дня, и на их основе пишется документ "Техническое задание", который содержит исходные данные (схема БД, схема модели предметной области) и описывает конечный результат (виды запросов, которые будет понимать ЕЯ-интерфейс). Если это необходимо, принимается решение об изменениях в целевой базе данных (строения или наполнения). На этом первая фаза (обследованиие-макетирование-проектирование) завершается.
Процесс собственно построения идет параллельно в двух потоках: наполнение словаря и работа с банком тестов. Работа идет оптимально, когда словарем и тестированием занимаются разные люди: это повышает объективность тестирования и в конечном итоге повышает качество. Затем наступает фаза бета-тестирования, хотя собственно тестирование идет, как правило, с первого дня работы над ЕЯ-интерфейсом. На этапе бета-тестирования желателен поток запросов "со стороны", например, из числа пользователей/посетителей электронного каталога. Тестовые запросы накапливаются подсистемой лога (автоматическая фиксация ЕЯ-запросов) и могут быть импортированы в банк тестов. Желательный размер банка тестов - несколько тысяч запросов, сгруппированных по тематике и особенностям. Очень помогает снабжение страницы, на которой тестируется ЕЯ-интерфейс, формой ввода комментария: бета-тестеры могут в явном виде указывать на ошибки.
Наконец, ЕЯ-интерфейс сдается в эксплуатацию, в течение некоторого времени идет сопровождение: выборочно анализируются логи работающей системы, периодически пополняется словарь. Более подробно о процессе построения ЕЯ-интерфейсов см. [4].
- Роль повторно используемых ЕЯ-компонентов
Рассматривая электронную коммерцию как предметную мета-область, можно заметить, что она содержит ряд инвариантов: сама ситуация, в которой оказывается посетитель электронного каталога - типовая. Для всех каталогов понятие купли/продажи и связанная с ним лексика является повторно используемой. В InBASE эта лексика составляет тематический словарь, а также раздел тематических тестов. И лексика, и тесты относятся, как правило, к одному атрибуту - цена.
В состав тематического словаря по цене входят различные синонимы собственно слова цена, а также косвенно связанная лексика: единицы измерения для валют (в российских электронных каталогах рубль и доллар имеют примерно одинаковое хождение), в том числе жаргонная лексика (баксы), слова-отношения (дороже/дешевле), адъективы (дорогой/дешевый), всего порядка сотни словарных статей.
В некоторых предметных областях повторно используемыми компонентами с точки зрения лексики являются названия производителей и торговых марок, а также шаблоны буквенно-цифровых названий модификаций товаров. Повторно могут быть также использованы названия улиц, метро, цвета, а также лексика, привязанная к таким универсальным атрибутам, как вес и размер.
- Заключение
Как показала практика первого года существования InBASE, технология вызывает неподдельный интерес как у конечных пользователей, которые «общались» с пилотными ЕЯ-интерфейсами, так и у представителей из сектора электронной коммерции. Притом, что технология продолжает динамично развиваться и в ней хватает точек приложения усилий, уже на текущем этапе она способна решать задачу придания человеко-машинному интерфейсу естественности.
Литература
- Жигалов В.А., Соколова Е.Г. InBASE: технология построения ЕЯ интерфейсов к базам данных // Труды Международного семинара Диалог’2001 по компьютерной лингвистике, Том 2, Аксаково, Июнь 2000, с. 123-135.
- Жигалов В.А., Жигалов Д.В., Жуков А.А., Кононенко И.С., Соколова Е.Г., Толдова С.Ю. Система Alex как средство для автоматизированной обработки текстов экспертом и перспективы ее развития // Труды Международного семинара Диалог’2002 (настоящий сборник).
- Жигалов В.А. Естественное общение с приложением // Открытые системы №12/2001, стр. 22-27. <http://inbase.artint.ru/article/zhigalov-0102.asp>
- InBASE: создание и настройка ЕЯ-интерфейсов. Инструкции и рекомендации. <http://inbase.artint.ru/docs/docs.asp?show=cre&page=1>
Natural language interface in e-commerce
Vlad Zhigalov
Keywords: InBASE, natural language interfaces, databases, search systems, e-catalogues, e-stores, search queries, natural language queries.
As InBASE technology appeared on the Russia market, new sector of a local IT-market has been created - market of natural language interfaces. The main kind of NLI-application now are e-commerce applications. In this paper DB-structure- and DB-filling-, genre- and genre-inflation aspects are considered.