- PVSM.RU - https://www.pvsm.ru -

ABBYY Labs. Проект «Q&A»: демонстрация возможностей

ABBYY Labs. Проект «Q&A»: демонстрация возможностейКраткое содержание прошлых серий:

ABBYY Labs? Что это?

Идея студенческих лабораторий очень проста: мы собираем команду студентов, которые занимаются решением задач под руководством наших специалистов. В МФТИ это проходит в рамках годового курса «Инновационный практикум». Цель проекта – дать возможность студентам в процессе обучения решать задачи, в большей степени приближенные к реальным, чем это бывает в обычном учебном процессе. И «погрузить» их при этом в соответствующее окружение: среда, в которой проходит разработка, – реально действующая IT-компания.
Проекты прошлых лет

Распознавание формул
Постановка задачи: image Студенческие лаборатории ABBYY [1]
Решение задачи: image ABBYY Labs – what's new? [2]
Текущие проекты

Приложение для Android
image ABBYY Labs: Проект «FromWord» — играем словами на Android [3]
Вопросно-ответная система
image ABBYY Labs. Проект «Q&A»: начало [4]
+↓

Кратко о проекте:
Задача: Иметь возможность найти часть ранее загруженного текста, наиболее полно отвечующую на вопрос пользователя, заданный на естественном языке.
Текущее состояние: Можно пощупать ручками!
Будущее: Туманно. Зависит от реакции и платёжеспособности аудитории.
Поэтому: Не проходите мимо!

Под катом ссылка на демо-пример, и вообще, логическое продолжение прошлой части [4]

Принцип работы

Заранее загружаются тексты, с которыми планируется работать. После обработки этих текстов появляется возможность задавать вопросы по ним на естественном языке и, что важно, получать ответы :). Под это дело уже готов API. Ребятам видится, что данный сервис может быть хорош для использования на сайтах с большим количеством текстовой информации, например, на форумах, в медицинских и юридических справочниках. Если же хабралюд предложит новую область применения — разработчики будут только рады.

Языковой барьер — не проблема, пока мы говорим об английском и русском (в том смысле, что по русскому тексту можно задавать вопрос на английском и наоборот). В будущем список «родных» для механизма языков будет расти.

Ребята очень просили рассказать про организацию движка. Я в их описании понял чуть меньше половины (читай — ничего), поэтому помещаю его под спойлер

Устрашающие слова: эллипсис, морфологическое описание, дерево, граф

  1. Обработка текстов
    • Получили от Compreno разбор текста в виде xml
    • Каждое предложение текста представляет собой дерево (в общем случае лес, если предложение сложное). Узел такого дерева – это слово (или словосочетание, например, когда в предложении есть фразеологизм) в предложении. Причем в каждой вершине, хранится морфологическое описание данного слова (т.е. падеж, число, род и т.д.) Две связанных вершины дерева представляют собой словосочетание.
    • В общем случае предложение представляет собой несколько деревьев (например, две части сложносочиненного предложения), и поэтому для каждого предложения создаётся чисто технический узел, не несущий никакой информации, за который подвешиваются деревья из предложения. А они в свою очередь подвешиваются к корню текста. Таким образом для любого текста мы получаем одно дерево разбора.
    • Затем добавляем недревесные связи(анафоры [5] и эллипсисы [6])
  2. Аналогичное дерево строится и для вопроса
  3. Далее осуществляется поиск
    • Пробегаем по всем предложениям текста и сравниваем все узлы из вопроса со всеми узлами из этого предложения. Сравнение происходит по их морфологическим и семантическим описаниям. Такое сравнение позволяет отождествлять не только синонимы, но и схожие слова из разных языков (слова со схожим значением). И результатом сравнения является коэффициент схожести контента узлов в паре.
    • Далее обрабатываются анафорические связи, и для некоторых пар (узел из предложения – узел из вопроса), пересчитывается коэффициент.
    • Повторно сравниваются все узлы вопроса со всеми узлами предложения, но теперь с учетом детей. В результате каждая пара узлов получает коэффициент структурной схожести (это число, характеризующее схожесть поддеревьев по строению).
    • На следующем этапе сравниваются уже целые поддеревья. Описать процесс сравнения поддеревьев словами сложно, поэтому попробуем провести аналогию (не совсем адекватную). Пусть есть две сети дорог, представляющие собой деревья. Выберем узел в каждой сети и поместим туда по близнецу, которые любят ходить по одинаковым (или очень похожим) дорогам. И, собственно, просим их ходить по ним, подсчитывая суммарную похожесть. Помещая их изначально в различные пары узлов, можно найти ту пару, начиная от которой суммарная похожесть окажется наибольшей. Это число и запоминается для данного предложения, как его вес.
    • В качестве ответов выбираются предложения с наибольшим весом.

Прочие важные штуки

Скорость. Работает не то, чтобы молниеносно, но тому есть свои причины: держится всё это хозяйство в амазоновском облаке на самом дешёвом инстансе (который бесплатный для тестовых целей). Поэтому на скорость не пеняйте!

Качество поиска ответа.
ABBYY Labs. Проект «Q&A»: демонстрация возможностей Через сайт можно увидеть самый релевантный по мнению системы ответ. Однако, как это бывает в суровой реальности, не всегда самый релевантный ответ по мнению «компьютера» и по мнению человека — это одно и то же. Поэтому пользователям API будут возвращены несколько возможных ответов с учётом релевантности, а как их отображать — это уже владельцу сервиса лучше знать. Впрочем, увидеть их можно и сейчас в виде xml-файла, ссылка на который находится прямо под словами «Файл со всеми ответами».

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

Самое главное. Ссылка-то, вот она [7]!
Achtung! На данный момент ответ можно искать по одному из 3 текстов (загрузка новых отключена для избежания хабраэффекта), среди которых

Хочется знать мнение пользователей Хабра: где ещё можно использовать данный сервис? Ну и критики давайте, критики :)

Автор: MKrivosheev

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/uchebny-j-protsess-v-it/23050

Ссылки в тексте:

[1] Студенческие лаборатории ABBYY: http://habrahabr.ru/company/abbyy/blog/117682/

[2] ABBYY Labs – what's new?: http://habrahabr.ru/company/abbyy/blog/136506/

[3] ABBYY Labs: Проект «FromWord» — играем словами на Android: http://habrahabr.ru/company/abbyy/blog/155647/

[4] ABBYY Labs. Проект «Q&A»: начало: http://habrahabr.ru/company/abbyy/blog/150273/

[5] анафоры: http://ru.wikipedia.org/wiki/%C0%ED%E0%F4%EE%F0%E0

[6] эллипсисы: http://ru.wikipedia.org/wiki/%DD%EB%EB%E8%EF%F1%E8%F1

[7] вот она: http://bit.ly/Tz37eh

[8] отсюда: http://rulesoffootball.co.uk/

[9] отсюда: http://www.abbyy.ru/company/facts/

[10] отсюда: http://hobbitaniya.ru/perro/perro4.php

[11] Источник: http://habrahabr.ru/post/161245/