950 likes | 1.15k Views
Friendly software should listen and speak …. Вопросно-ответные системы. Анатолий Никитин гр.3539 Павел Райков гр.3539. План. Введение QA- система Start Статистические техники для анализа естественного языка Восстановление смысловых связей Ссылки. Введение.
E N D
Friendly software should listen and speak… Вопросно-ответные системы Анатолий Никитин гр.3539 Павел Райков гр.3539
План • Введение • QA-система Start • Статистические техники для анализа естественного языка • Восстановление смысловых связей • Ссылки
Вопросно-ответные системы Определение • Вопросно-ответная система: • информационная система • Поисковая • Справочная • Интеллектуальная • использует естественно-языковой интерфейс
Источники информации • Сеть Интернет • Проблема доступа к внешним ресурсам • Локальное хранилище • Необходимость хранения локальной копии информации
История и области применения QA-систем • 1960-е гг. – первые QA-системы • Использовались как естественно-языковые оболочки для экспертных систем • Современные QA-системы: • Узкоспециализированные (closed-domain) • Области применения: • Медицина • Автомобили • Справочная информация • Японцы • … • Требования к точности ответов • Составление онтологий для предметных областей • Общие (open-domain) • Универсальность • Наиболее известная система – Start (1993 г.)
Проблемы • Типы вопросов • Обработка вопросов • Контекстные вопросы • Источники знаний для QA-систем • Выделение ответов • Формулировка ответа • Ответы на вопросы в реальном времени • Многоязыковые запросы • Интерактивность • Механизм рассуждений (вывода) • Профили пользователей QA-систем
QA-система Start. • http://start.csail.mit.edu • Создана в MIT Artificial Intelligence Laboratory в 1993 году под руководством Boris Katz • Универсальная • Использует английский язык • Источники знаний: • локальное хранилище (База Знаний) • сеть Интернет • Основания системы Start: • Применение особых методов NLP, разработанных специально для системы Start • Идея создания аннотаций на естественных языках к блокам информации
Start. Виды вопросов • Вопросы об определениях: • What is a fractal? • Вопросы о фактах: • Who invented the telegraph? • Вопросы об отношениях: • What country is bigger, Russia or USA? • Списковые запросы: • Show me some poems by Alexander Pushkin • …
Start. Примеры вопросов • География • Give me the states that border Colorado. • What's the largest city in Florida? • Show me a map of Denmark • List some large cities in Argentina • Which is deeper, the Baltic Sea or the North Sea? • Show the capital of the 2nd largest country in Asia • Искусство • When was Beethoven born? • Who composed the opera Semiramide? • What movies has Dustin Hoffman been in?
Start. Примеры вопросов • Наука и справочная информация • What is Jupiter's atmosphere made of? • Why is the sky blue? • Convert 100 dollars into Euros • How is the weather in Boston today? • How far is Neptune from the sun? • Show me a metro map of Moscow. • История и культура • What countries speak Spanish? • Who was the fifth president of the United States? • What languages are spoken in the most populous country in Africa? • How many people live on Earth?
Start. База знаний doc1 doc2 Parser Generator База Знаний text doc3 doc4
Start. База знаний • Состоит из 3-х частей: • Тернарные выражения (T-выражения) • Синтаксические/семантические правила вывода (S-правила) • Каталог слов (Лексикон)
Start. Тернарные выражения • T-выражения – это выражения вида <объект отношение субъект> • В качестве объекта/субъекта одного T-выражения могут выступать другие T-выражения • Прилагательные, притяжательные местоимения, предлоги и другие части предложения используются для создания дополнительных T-выражений • Остальные атрибуты предложения (артикли, времена глаголов, наречия, вспомогательные глаголы, знаки препинания и т.д.) хранятся в специальной структуре History,связанной с T-выражением.
Start. Пример T-выражения “Bill surprised Hillary with his answer” Parser <<Bill surprise Hillary> with answer> <answer related-to Bill>
Start. Обработка запросов с помощью T-выражений “Whom did Bill surprise with his answer?” Анализатор вопросов “Bill surprised whom with his answer?” Parser <<Bill surprise whom> with answer> <answer related-to Bill> База Знаний Whom = Hillary <<Bill surprise Hillary> with answer> <answer related-to Bill> Генератор “Bill surprised Hillary with his answer”
Start. Обработка запросов с помощью T-выражений “Did Bill surprise with his answer?” Анализатор вопросов “Bill surprised Hillary with his answer?” Parser <<Bill surprise Hillary> with answer> <answer related-to Bill> База Знаний Yes! Генератор “Yes, Bill surprised Hillary with his answer”
Т-выражения vs. ключевые слова • The bird ate the young snake The snake ate the young bird • The meaning of life A meaningful life • The bank of the river The bank near the river
Т-выражения vs. ключевые слова • Ключевые слова: • Утрачивается информация о смысловых связях между словами • Тексты сравниваются не со семантическим признакам, а по статистическим характеристикам ключевых слов • T-выражения: • Отражают порядок слов в предложении и смысловые связи между ними • Выразительной силы T-выражений достаточно для составления аннотаций на естественных языках • Эффективны при индексировании
What do frogs eat? • Поиск, основанный на T-выражениях выдал 6 ответов, из которых 3 правильных: • Adult frogs eat mainly insects and other small animals, including earthworms, minnows, and spiders • One group of South American frogs feeds mainly on other frogs • Frogs eat many other animals, including spiders, flies, and worms • …
What do frogs eat? • Поиск, основанный на ключевых словах, выдал 33 результата, в которых также встречались ответы на вопрос “What eats frog?” и просто совпадения слов “eat” и “frog”: • Bowfins eat mainly other fish, frogs, and crayfish • Cranes eat a variety of foods, including frogs, fishes, birds, and various small mammals. • …
Start. S-правила Проблема: = “Bill surprised Hillary with his answer” “Bill’s answer surprised Hillary” Parser Parser <answer surprise Hillary> <answer related-to Bill> <<Bill surprise Hillary> with answer> <answer related-to Bill> = Решение:
Start. S-правила • S-правила описывают лингвистические вариации: • Лексические • Синонимы • Морфологические • Однокоренные слова • Синтаксические • Инверсии • Активный/пассивный залог • Притяжательные прилагательные • Также используются для описания логических импликаций
Start. S-правила • Некоторые S-правила могут использоваться в 2-х направлениях: • в прямом • при пополнении базы знаний новыми T-выражениями • в обратном • при обработке запроса пользователя
Start. Лексикон • Некоторые S-правила применимы к группам слов • В Лексиконе содержатся перечень слов языка, причем для каждого слова указан список групп, к которым оно относится
WordNet • Семантический лексикон английского языка • Состоит из синсетов (смыслов) • Синсет: • несколько синонимичных слов • описание значения • Одно слово – несколько синсетов (значений) • 150 000 слов, 115 000 синсетов, 207 000 пар «слово – синсет»
WordNet. Семантические отношения между синсетами • Существительные • Гиперонимы: Y – гиперонимX, если X – разновидность Y • Гипонимы: Y – гипонимX, если Y – разновидность X • Равные по рангу: Xи Yравны по рангу, если у них общий гипероним • Голонимы: Y – голонимX, если X – часть Y • Меронимы: Y – меронимX, если Y – часть X
WordNet. Семантические отношения между синсетами • Глаголы • Двигаться – гиперонимБегать • Шептать – гипонимГоворить • Спать – следованиеХрапеть • Ходить –равный по рангу Бегать
Start. WordNet • WordNet используется в системе Start при поиске совпадения с T-выражениями • Пусть в базе есть T-выражение <bird can fly> • Canary– гипонимBird • На вопрос: “Can canary fly?” Start ответит “Yes”
Start. Omnibase • «Универсальная база» • Используется для выполнения запросов о фактах • Модель «объект-свойство-значение» • Пример: “Federico Fellini is a director of La Strada” • Объект:La Strada • Свойство:director • Значение:Federico Fellini • Каждому объекту сопоставлен источник данных (data source): • Star Wars imdb-movie
Start. Omnibase. Пример запроса “Who directed gone with the wind?” Start Анализ вопроса “Who directed X?”, X = “Gone with the wind” “Gone with the wind” Omnibase Генерация запроса Каталог объектов imdb-movie (get“imdb-movie” “Gone with the Wind” “Director”) «обертка» Выполнение запроса imdb-movie “Victor Fleming” Генерация ответа “Victor Fleming directed Gone with the wind”
Start. Omnibase • Преимущества: • Единый формат запросов к базе • Естественность использования модели «объект-свойство-значение» • Недостатки: • Необходимость написания «обертки» для каждого источника данных
Start. Список внешних источников данных • Wikipedia • The World Factbook 2006 • Google • Yahoo • The Internet Movie Database • Internet Public Library • The Poetry Archives • Biography.com • Merriam-Webster Dictionary • WorldBook • Infoplease.com • Metropla.net • Weather.com
Семантическая паутина • Новая концепция развития сети Интернет • Проблема машинного анализа информации, размещенной в Сети • Вся информация в Сети должна размещаться на двух языках: • Человеческом • Компьютерном • Для создания компьютерного описания ресурса используется формат RDF (Resource Description Framework), основанный на: • Формат XML • Триплеты «Объект – Отношение – Субъект»
Start. Natural Language Annotations • Предлагается к каждому информационному блоку составлять аннотацию на естественном языке • Компромисс между машинно-читаемым и естественным описанием информации • В базе знаний хранятся только аннотации с прикрепленными ссылками на источники • Эффективная организация доступа к информации произвольного типа: • Тексты • Изображения • Мультимедиа • Базы данных • Процедуры • Аннотации могут быть параметризованы
Start. Natural Language Annotations • Внедрение аннотаций: • Добавление аннотацийв RDF описания документов • Использование параметризованных аннотаций (схем доступа к информации) • Использование схем поиска ответов
Start. Добавление аннотаций • How many people live in Kiribati? • What is the population of theBahamas? • Tell me Guam’s population.
Start. Добавление аннотаций • <rdfs:Class ID="Country"> • <rdfs:comment>A Country in the CIA Factbook</rdfs:comment> • </rdfs:Class> • <rdf:Property ID="population"> • <rdfs:domain rdf:resource="#Country"/> • <rdfs:range rdf:resource="xsd:string"/> • <nl:ann text="Many people live in ?s"/> • <nl:ann text="population of ?s"/> • <nl:gen text="The population of ?s is ?o"/> • </rdf:Property>
Start. Параметризованные аннотации • What is the country in Africa with the largest area? • Tell me what Asian country has the highest population density. • What country in Europe has the lowest infant mortality rate? • What is the most populated South American country?
Start. Параметризованные аннотации • <nl:InformationAccessSchema> • <nl:ann>what country in $region has the largest$attribute</nl:ann> • <nl:pattern>?x a :Country</nl:pattern> • <nl:pattern>?x map($attribute) ?val</nl:pattern> • <nl:pattern>?x :location $region</nl:pattern> • <nl:action>display(boundto(?x, max(?val)))</nl:action> • <nl:mapping> • <nl:hash variable="$attribute"> • <nl:map value="population">:population</nl:map> • <nl:map value="area">:area</nl:map> • ... • </nl:hash> • </nl:mapping> • </nl:InformationAccessSchema>
Start. Параметризованные аннотации • Is Canada’s coastline longer than Russia’scoastline? • Which country has the larger population, Germanyor Japan? • Is Nigeria’s population bigger than that ofSouth Africa?
Start. Параметризованные аннотации • <nl:InformationAccessSchema> • <nl:ann>$country-1’s $attis larger than $country-2’s $att</nl:ann> • <nl:pattern>?x a :Country</nl:pattern> • <nl:pattern>?x map($att) ?val-1</nl:pattern> • <nl:pattern>?y a :Country</nl:pattern> • <nl:pattern>?y map($att) ?val-2</nl:pattern> • <nl:action>display(gt(?val-1, ?val-2)))</nl:action> • <nl:mapping> • <nl:hash variable="$att"> • <nl:map value="population">:population</nl:map> • <nl:map value="area">:area</nl:map> • ... • </nl:hash> • </nl:mapping> • </nl:InformationAccessSchema>
Start. Схема поиска ответа • What is the distance from Japan to South Korea? • How far is the United States from Russia? • What’s the distance between Germany and England? • План ответа на такой вопрос: • Найти столицу одной страны • Найти столицу другой страны • Вычислить расстояние между ними
Start. Схема поиска ответа • <nl:InformationPlanningSchema> • <nl:ann>distance between $country1 and $country2</ann> • <nl:plan> • <rdf:Seq> • <rdf:li>what is the capital of $country1 := ?capital1</rdf:li> • <rdf:li>what is the capital of $country1 := ?capital2</rdf:li> • <rdf:li>what is the distance between ?capital1 and ?capital2 • := ?distance</rdf:li> • </rdf:Seq> • </nl:plan> • <nl:action>display(?distance)</nl:action> • </nl:InformationPlanningSchema>
Start. Natural Language Annotations • Преимущества: • Описание информации на универсальном, естественном языке • Одна параметризованная аннотация может обрабатывать сотни вопросов • Автоматизация процесса составления аннотаций • Запросы к Omnibase также описываются с помощью аннотаций • Недостатки: • сложность внедрения
Start. Схема работы анализатор вопросов шаблон ответа Parser вопрос База знаний T-выражение WordNet … ответ аннотация1 аннотация2 Omnibase Запрос к Omnibase ссылка WWW doc3 doc2 docN Фильтр doc1 passageM passage1 passage2 ответ генератор ответов