Научная статья на тему 'Анализ и классификация современных QA-систем'

Анализ и классификация современных QA-систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
193
40
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Поздняков А.С.

В данной статье проведен обзор современных вопросно-ответных систем (QA), разработка которых в последнее время становится все более актуальной. Рассматриваются популярные системы, такие как START, AQUA, TrueKnowledge, Answer.com и WolframAlpha. Приводится описание принципов их построения и особенностей формирования ответов на вопрос пользователя. Подчеркиваются различия поисковых систем и QA-систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ и классификация современных QA-систем»

даёт точные оценки. При дифференцировании в общем случае количество вхождений переменной в выражении увеличивается, что негативно сказывается на точности интервального расширения. Это приводит к неэффективности интервального оценивания второй производной для исключения областей поиска. Вычислительные эксперименты показали, что для многих стандартных тестовых задач (см. сборник [6]) не более 10 % брусов в процессе работы алгоритма адаптивного дробления были отсеяны этим тестом. Как правило, к тому моменту, как брус становился достаточно мал для того, что бы интервальное расширение второй производной перестало быть чрезвычайно избыточным, он либо уже был исключён из рассмотрения другими тестами. Например, использующими значение верхней границы интервального расширения (отбраковка по значению). Либо же тестом, исключающим области, на которых интервальное расширение первой производной не содержит нуля.

Список литературы:

1. Шарый С.П. Конечномерный интервальный анализ [Электронный ресурс]. - Новосибирск: 2012. - Режим доступа: http://www.nsc.ru/interval/ index.php?j=Library/InteBooks/index.

2. Панов Н.В., Шарый С.П. Интервальный эволюционный алгоритм поиска глобального оптимума // Известия Алтайского государственного университета. - 2011. - № 1 (69), Т. 2. - С. 108-113.

3. Панов Н.В. Объединение стохастических и интервальных подходов для решения задач глобальной оптимизации функций // Вычислительные технологии. - 2009. - Т. 14, № 5. - С. 49-65.

4. Панов Н.В. Адаптивный мета-алгоритм глобальной оптимизации // Естественные и технические науки. - 2009. - № 1 (39). - C. 315-318.

5. Панов Н.В. Оценка области значений функций методами интервального анализа // Вопросы современной науки и практики. - 2009. - № 3. - C. 78-86.

6. Jansson C., Knuppel O. A Global Minimization Method: The Multi-Dimensional Case // Berichte des Forschungsschwerpunktes Informations und Kommunikationstechnik. - Hamburg: TU Hamburg, 1992.

АНАЛИЗ И КЛАССИФИКАЦИЯ СОВРЕМЕННЫХ QA-СИСТЕМ

© Поздняков А.С.*

Балтийский государственный технический университет «Военмех» им. Д.Ф. Устинова, г. Санкт-Петербург

В данной статье проведен обзор современных вопросно-ответных систем (QA), разработка которых в последнее время становится все более

* Аспирант кафедры И5 Информационные системы и компьютерные технологии.

актуальной. Рассматриваются популярные системы, такие как START, AQUA, TrueKnowledge, Answer.com и WolframAlpha. Приводится описание принципов их построения и особенностей формирования ответов на вопрос пользователя. Подчеркиваются различия поисковых систем и QA-систем.

QA-системы (вопросно-ответные системы) - это автоматические системы для ответов пользователям по широкому кругу вопросов на естественном языке. QA-системы представляют собой новую ступень развития поисковых систем. Для нахождения ответа на какой-либо вопрос, интересующий пользователя, достаточно задать этот вопрос системе. Нет необходимости поиска ответа в ссылках, как при работе с интернет-поисковиком. QA-систе-ма выдает уже заключительный ответ, соответственно оформленный, и в форме, удобной для восприятия.

QA-системы - достаточно новый вид систем. Они появились в 90-х годах. На данный момент количество QA-систем, получивших признание у пользователей, достаточно мало: START, AQUA, TrueKnowledge, Answer.com и WolframAlpha. Среди русскоязычных систем, пожалуй, нельзя выделить какую-либо систему, способную составить конкуренцию вышеперечисленным системам.

Появление класса QA-систем связано с развитием методов NLP (natural language processing - обработка естественного языка) и внедрения их в процесс поиска. Эти методы позволили перейти от поиска по ключевым словам к поиску, работающему с семантическим содержимым предложения. При таком подходе каждая фраза естественного текста должна быть разобрана системой и переведена во внутреннее представление, которое в дальнейшем используется для поиска. Все вышеперечисленные системы построены на принципах NLP, но они отличаются друг от друга способами внутреннего представления семантического содержимого предложения и алгоритмами для приведения текста на естественном языке к внутреннему представлению.

START - QA-система, разрабатываемая в лаборатории искусственного интеллекта института MIT Борисом Катцем [1]. START впервые был подключен к сети в декабре 1993 года. Разработчики системы отмечают, что START построена с использованием следующих четырех техник: аннотация естественного языка, тернарное представление, правила трансформации и совместное накопление знаний [2].

Аннотация естественного языка представляет собой метаданные. Они применяются для связи запросов на естественном языке с упорядоченными внешними источниками. В качестве источников система использует такие сайты как biography.com - для ответов по библиографическим запросам, CIA World Factbook - для географических фактов и другие [3].

Тернарное представление - это структура для внутреннего представления семантики предложения. Такое представление строится при помощи тройки

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

Правила трансформации необходимы для построения внутреннего представления [2]. Эти правила представляют собой механизм, способный свести воедино фразы, имеющие разное представление, но обладающие одним смыслом. На стадии разбора применяются правила синонимии, инверсии субъект-объект и другие, для этого используются словари и онтологии.

Совместное накопление знаний представляет собой процесс обучения системы новым знаниям [2]. База знаний может пополняться пользователями системы. Для этого система обеспечена интерфейсом, с помощью которого можно добавлять знания в базу.

START использует два подхода при поиске ответов: аннотация знаний и интеллектуальное извлечение знаний. Аннотация знаний используется, если существует проверенный источник, где может быть найдена необходимая информация. Если информацию не найти в проверенных источниках, используется интеллектуальное извлечение знаний. В этом случае результат разбора вопроса пользователя используется для составления поискового запроса, который переадресуется поисковику [3]. Далее этот запрос исполняется и QA-системе возвращается список ссылок, в которых, предположительно, может содержаться ответ на вопрос пользователя. Затем происходит голосование, и полученные кандидаты фильтруются системой. Кандидаты комбинируются с учетом веса каждого кандидата. В результате генерируется окончательный ответ. Аннотация знаний обеспечивает более качественные ответы нежели интеллектуальное извлечение знаний. Разработчик системы утверждает, что чаще всего задается небольшая группа вопросов, и именно они обрабатываются при помощи аннотации знаний [4].

AQUA - QA-система, разработанная в рамках проекта AKT [5]. Эта система представляет собой консольное приложение, работающее под Unix-подобными системами. В качестве внутреннего представления выбран логический язык запросов - подмножество языка Prolog. Для перевода текста на естественном языке во внутреннее представление используется NLP-разборщик, разбирающий фразы на лексемы. В системе AQUA широко применяются онтологии и словари. Среди них WordNet, а также специально разработанные онтологии [6]. Архитектура системы AQUA представлена на рис. 1.

При работе система AQUA разбирает поисковый запрос и передает результат разбора поисковику [6]. Большое внимание уделено классификации запросов. В зависимости от типа вопроса (кто, что, когда, который, почему и где) вывод ответа осуществляется в разной форме.

Рис. 1. Архитектура системы AQUA

Поисковик возвращает системе множество ссылок на сайты. Эти сайты просматриваются и из них выбираются кандидаты на ответ. Происходит ранжирование и голосование, выбирается ответ. В отличие от системы START работа с проверенными источниками не поддерживается.

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

TrueKnowledge - QA-система, разрабатываемая одноименной компанией. Эта QA-система поддерживает запросы на естественном языке, как и аналоги, но к тому же она может работать с запросами, основанными на поиске по ключевым словам [8]. В составе системы имеется база знаний, которая к 2010 году насчитывала порядка 300 миллионов фактов. Базу знаний могут пополнять пользователи системы. В отличие от публичных энциклопедий, знания, добавляемые пользователями в TrueKnowledge, могут контролироваться системой [7]. Для этого в системе существует специальный модуль -оценщик. Этот модуль следит за целостностью базы знаний. В случае, если один факт противоречит множеству других фактов, этот факт может быть признан системой как ложный.

Answers.com - QA-система, разрабатываемая израильской компанией Answer Corporation [9]. В этой системе большое внимание отводится отве-

там по определенному термину или персоне. Обычно такие ответы генерируются при запросах «Кто такой?...» и «Что такое?...», при этом на экран будет выведено краткая анкета по данной сущности.

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

WolframAlpha - QA-система, разработанная Стефаном Вольфрамом. Была запущена в мае 2009 года[10]. Эта система использовала ранние разработки Wolfram Research, математический пакет Mathematica, предназначенный для решения различных математических задач: вычисление интегралов, построение графиков функций и т.д. В результате, WolframAlpha также способна решать подобные математические задачи. Как и в Mathe-matica, для ответа на запрос в WolframAlpha используется механизм вывода на знаниях. Система поддерживает запросы на естественном языке, приветствуются запросы, построенные по внутренним стандартам системы.

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

Создатель WolframAlpha указывает, что его продукт не использует NLP. Для этой системы был разработан специальный теоретический аппарат, носящий название NKS (New Kind of Sciense - новый вид знаний). NKS использует методы обработки естественного языка, немного отличные от методов NLP.

Проведенный выше анализ позволяет классифицировать QA-системы по ряду признаков.

- По типу использованных источников. В качестве источника знаний для QA-системы могут выступать: специально подобранные сайты (WolframAlpha); Всемирная Паутина целиком, когда обрабатываются все ссылки, полученные от поисковой машины (AQUA); может использоваться комбинированный подход (START).

- По внутреннему способу представления знаний. Знания внутри системы могут быть представлены подмножеством логического языка (например, PROLOG в системе AQUA), с использованием математического аппарата (NKS в WolframAlpha), либо с помощью специального представления (тернарное представление в START).

- По используемым онтологиям и словарям. Некоторые системы используют общедоступные онтологии, например, WordNet (AQUA), другие используют собственные разработки (WolframAlpha, START).

- По роли пользователя. Пользователь может пополнять базу знаний системы самостоятельно (WolframAlpha, TrueKnowledge). Пользователь может выступать в качестве обратной связи, указывая системе на ошибки (TrueKnowledge).

Несмотря на то, что рассмотренные QA-системы достаточно отличаются между собой, следует отметить несколько основополагающих черт, которые обособляют класс QA-систем от поисковых систем: переход от поиска по ключевым словам к поиску, основанному на семантике задаваемого вопроса, тенденции к использованию для ответа на вопросы пользователя проверенных и заведомо верных источников.

Можно выделить следующие направления, в которых применение QA-систем выглядит наиболее перспективно.

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

- Огромная база знаний по любой тематике, замена экспертов в любой области. Взаимодействие системы с пользователем происходит на естественном языке, в результате чего система может стать заменой любой узкоспециализированной экспертной системе.

- Использование знаний сторонними приложениями. Если QA-система располагает API, становится возможным использовать знания системы в сторонних приложениях. Так как процесс накопления знаний приложением является довольно нетривиальной задачей, использование знаний QA-системы позволяет свести к минимуму трудоемкость этого этапа накопления знаний.

Список литературы:

1. START [Электронный ресурс]. - Режим доступа: http://start.csail.mit. edu/start-system.html

2. Katz B., Lin J., Felsin S. Gathering Knowledge for a Question Answering System from Heterogeneous Information Sources [Электронный ресурс] / MIT Artificial Laboratory. - Cambridge, Massachusetts, USA. 2001 - Режим доступа: http://groups.csail.mit.edu/infolab/publications/Katz-etal-ACL01 .pdf.

3. Lin J., Katz B. Question Answering from the Web Using Knowledge Annotation and Knowledge Mining Techniques [Электронный ресурс]. - Cambridge, Massachusetts, USA. 2003. - Режим доступа: http://groups.csail.mit. edu/infolab/publications/Lin+Katz-cikm-2003.pdf.

4. Katz B., Marton B., Borchard B. External Knowledge Sources for Question Answering [Электронный ресурс] / MIT Artificial Laboratory. - Cam-

bridge, Massachusetts, USA. 2005. - Режим доступа: http://groups.csail.mit. edu/infolab/publications/TREC2005.pdf.

5. AQUA [Электронный ресурс]. - Режим доступа: www.aktors.org/ technologies/aqua.

6. Vargas-Vera M., Motto E., Domingue J. An Ontology-Driven Questinon Answering System (AQUA) [Электронный ресурс] / Knowledge Media Institute (KMi), The Open University, Walton Hall, Milton Keynes, UK 2003. - Режим доступа: http://www.aktors.org/technologies/aqua/SS803MVargas-Vera.pdf.

7. TrueKnowledge - technology [Электронный ресурс]. - Режим доступа: http://corporate.trueknowledge.com/technology.

8. TrueKnowledge - architecture [Электронный ресурс]. - Режим доступа: http://corporate.trueknowledge.com/architecture/

9. Answer.com [Электронный ресурс]. - Режим доступа: http://wiki.an-swers.com/about.

10. WolframAlpha [Электронный ресурс]. - Режим доступа: www.wolf-ramalpha.com/about.html.

11. WolframAlpha FAQ [Электронный ресурс]. - Режим доступа: www.wolf-ramalpha.com/faqs.html.

ФАЗЗИНГ ВЕБ-ПРИЛОЖЕНИЙ, ЗАЩИЩЕННЫХ МОДУЛЕМ APACHE MOD_REWRITE

© Полухин П.В.*

Воронежский государственный университет, г. Воронеж

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

В современных условиях в сети Интернет все чаще можно встретить сайты, которые скрывают передаваемые параметры приложений посредством модуля Apache - mod_rewrite. Это зачастую создает у web-разработчиков иллюзию возможности защитить web-приложения от атак с использованием уязвимостей SQL Injection, Cross-Site Scripting и прочих. Однако мы считаем, что это является распространенным заблуждением, подобно тому, что сокрытие fingerprint (отпечатков) сервисов увеличивает безопасность этих сервисов. Безусловно, использование mod_rewrite для сокрытия передаваемых параметров к приложению, также как и сокрытие отпе-

* Аспирант кафедры Математических методов исследования операций.

i Надоели баннеры? Вы всегда можете отключить рекламу.