06ia Seminar

300 views
249 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
300
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

06ia Seminar

  1. 1. Вопросно-ответные системы Анатолий Никитин гр.3539 Павел Райков гр.3539 Friendly software should listen and speak …
  2. 2. План <ul><li>Введение </li></ul><ul><li>QA- система Start </li></ul><ul><li>Статистические техники для анализа естественного языка </li></ul><ul><li>Восстановление смысловых связей </li></ul><ul><li>Ссылки </li></ul>
  3. 3. Введение
  4. 4. Вопросно-ответные системы Определение <ul><li>Вопросно-ответная система: </li></ul><ul><ul><li>информационная система </li></ul></ul><ul><ul><ul><li>Поисковая </li></ul></ul></ul><ul><ul><ul><li>Справочная </li></ul></ul></ul><ul><ul><ul><li>Интеллектуальная </li></ul></ul></ul><ul><ul><li>использует естественно-языковой интерфейс </li></ul></ul>
  5. 5. Источники информации <ul><li>Сеть Интернет </li></ul><ul><ul><li>Проблема доступа к внешним ресурсам </li></ul></ul><ul><li>Локальное хранилище </li></ul><ul><ul><li>Необходимость хранения локальной копии информации </li></ul></ul>
  6. 6. История и области применения QA -систем <ul><li>1960-е гг. – первые QA -системы </li></ul><ul><ul><li>Использовались как естественно-языковые оболочки для экспертных систем </li></ul></ul><ul><li>Современные QA -системы: </li></ul><ul><ul><li>Узкоспециализированные ( closed-domain ) </li></ul></ul><ul><ul><ul><li>Области применения: </li></ul></ul></ul><ul><ul><ul><ul><li>Медицина </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Автомобили </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Справочная информация </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Японцы </li></ul></ul></ul></ul><ul><ul><ul><ul><li>… </li></ul></ul></ul></ul><ul><ul><ul><li>Требования к точности ответов </li></ul></ul></ul><ul><ul><ul><li>Составление онтологий для предметных областей </li></ul></ul></ul><ul><ul><li>Общие (open-domain) </li></ul></ul><ul><ul><ul><li>Универсальность </li></ul></ul></ul><ul><ul><ul><li>Наиболее известная система – Start (1993 г. ) </li></ul></ul></ul>
  7. 7. Архитектура QA- системы Вопрос Анализатор вопросов Методы обработки естественных языков (NLP) Генератор ответов Ответ Поиск документов Фильтрация
  8. 8. Проблемы <ul><li>Типы вопросов </li></ul><ul><li>Обработка вопросов </li></ul><ul><li>Контекстные вопросы </li></ul><ul><li>Источники знаний для QA- систем </li></ul><ul><li>Выделение ответов </li></ul><ul><li>Формулировка ответа </li></ul><ul><li>Ответы на вопросы в реальном времени </li></ul><ul><li>Многоязыковые запросы </li></ul><ul><li>Интерактивность </li></ul><ul><li>Механизм рассуждений (вывода) </li></ul><ul><li>Профили пользователей QA -систем </li></ul>
  9. 9. Вопросно-ответная система Start
  10. 10. QA- система Start. <ul><li>http://start.csail.mit.edu </li></ul><ul><li>Создана в MIT Artificial Intelligence Laboratory в 1993 году под руководством Boris Katz </li></ul><ul><li>Универсальная </li></ul><ul><li>Использует английский язык </li></ul><ul><li>Источники знаний: </li></ul><ul><ul><li>локальное хранилище (База Знаний) </li></ul></ul><ul><ul><li>сеть Интернет </li></ul></ul><ul><li>Основания системы Start : </li></ul><ul><ul><li>Применение особых методов NLP , разработанных специально для системы Start </li></ul></ul><ul><ul><li>Идея создания аннотаций на естественных языках к блокам информации </li></ul></ul>
  11. 11. Start. Виды вопросов <ul><li>Вопросы об определениях: </li></ul><ul><ul><li>What is a fractal? </li></ul></ul><ul><li>Вопросы о фактах: </li></ul><ul><ul><li>Who invented the telegraph? </li></ul></ul><ul><li>Вопросы об отношениях: </li></ul><ul><ul><li>What country is bigger, Russia or USA? </li></ul></ul><ul><li>Списковые запросы : </li></ul><ul><ul><li>Show me some poems by Alexander Pushkin </li></ul></ul><ul><li>… </li></ul>
  12. 12. Start. Примеры вопросов <ul><li>География </li></ul><ul><ul><li>Give me the states that border Colorado. </li></ul></ul><ul><ul><li>What's the largest city in Florida? </li></ul></ul><ul><ul><li>Show me a map of Denmark </li></ul></ul><ul><ul><li>List some large cities in Argentina </li></ul></ul><ul><ul><li>Which is deeper, the Baltic Sea or the North Sea? </li></ul></ul><ul><ul><li>Show the capital of the 2nd largest country in Asia </li></ul></ul><ul><li>Искусство </li></ul><ul><ul><li>When was Beethoven born? </li></ul></ul><ul><ul><li>Who composed the opera Semiramide? </li></ul></ul><ul><ul><li>What movies has Dustin Hoffman been in? </li></ul></ul>
  13. 13. Start. Примеры вопросов <ul><li>Наука и справочная информация </li></ul><ul><ul><li>What is Jupiter's atmosphere made of? </li></ul></ul><ul><ul><li>Why is the sky blue? </li></ul></ul><ul><ul><li>Convert 100 dollars into Euros </li></ul></ul><ul><ul><li>How is the weather in Boston today? </li></ul></ul><ul><ul><li>How far is Neptune from the sun? </li></ul></ul><ul><ul><li>Show me a metro map of Moscow. </li></ul></ul><ul><li>История и культура </li></ul><ul><ul><li>What countries speak Spanish? </li></ul></ul><ul><ul><li>Who was the fifth president of the United States? </li></ul></ul><ul><ul><li>What languages are spoken in the most populous country in Africa? </li></ul></ul><ul><ul><li>How many people live on Earth? </li></ul></ul>
  14. 14. Start. База знаний doc1 doc2 doc3 doc4 Parser База Знаний Generator text
  15. 15. Start. База знаний <ul><li>Состоит из 3-х частей: </li></ul><ul><ul><li>Тернарные выражения (T- выражения ) </li></ul></ul><ul><ul><li>Синтаксические/семантические правила вывода ( S- правила) </li></ul></ul><ul><ul><li>Каталог слов (Лексикон) </li></ul></ul>
  16. 16. Start. Тернарные выражения <ul><li>T- выражения – это выражения вида </li></ul><ul><li>< объект отношение субъект > </li></ul><ul><li>В качестве объекта/субъекта одного T- выражения могут выступать другие T- выражения </li></ul><ul><li>Прилагательные, притяжательные местоимения, предлоги и другие части предложения используются для создания дополнительных T- выражений </li></ul><ul><li>Остальные атрибуты предложения (артикли, времена глаголов, наречия, вспомогательные глаголы, знаки препинания и т.д.) хранятся в специальной структуре History , связанной с T- выражением. </li></ul>
  17. 17. Start. Пример T- выражения Parser “ Bill surprised Hillary with his answer” <<Bill surprise Hillary> with answer> <answer related-to Bill>
  18. 18. Start. Обработка запросов с помощью T- выражений Анализатор вопросов Parser “ Whom did Bill surprise with his answer?” “ Bill surprised whom with his answer?” <<Bill surprise whom> with answer> <answer related-to Bill> Whom = Hillary “ Bill surprised Hillary with his answer” База Знаний <<Bill surprise Hillary > with answer> <answer related-to Bill> Генератор
  19. 19. Start. Обработка запросов с помощью T- выражений Анализатор вопросов Parser “ Did Bill surprise with his answer?” “ Bill surprised Hillary with his answer?” <<Bill surprise Hillary> with answer> <answer related-to Bill> Yes! “ Yes, Bill surprised Hillary with his answer” База Знаний Генератор
  20. 20. Т-выражения vs. ключевые слова <ul><li>The bird ate the young snake </li></ul><ul><li>The snake ate the young bird </li></ul><ul><li>The meaning of life </li></ul><ul><li>A meaningful life </li></ul><ul><li>The bank of the river </li></ul><ul><ul><li>The bank near the river </li></ul></ul>
  21. 21. Т-выражения vs. ключевые слова <ul><li>Ключевые слова: </li></ul><ul><ul><li>Утрачивается информация о смысловых связях между словами </li></ul></ul><ul><ul><li>Тексты сравниваются не со семантическим признакам, а по статистическим характеристикам ключевых слов </li></ul></ul><ul><li>T- выражения: </li></ul><ul><ul><li>Отражают порядок слов в предложении и смысловые связи между ними </li></ul></ul><ul><ul><li>Выразительной силы T- выражений достаточно для составления аннотаций на естественных языках </li></ul></ul><ul><ul><li>Эффективны при индексировании </li></ul></ul>
  22. 22. What do frogs eat? <ul><li>Поиск, основанный на T- выражениях выдал 6 ответов, из которых 3 правильных: </li></ul><ul><ul><li>Adult frogs eat mainly insects and other small animals, including earthworms, minnows, and spiders </li></ul></ul><ul><ul><li>One group of South American frogs feeds mainly on other frogs </li></ul></ul><ul><ul><li>Frogs eat many other animals, including spiders, flies, and worms </li></ul></ul><ul><ul><li>… </li></ul></ul>
  23. 23. What do frogs eat? <ul><li>Поиск, основанный на ключевых словах, выдал 33 результата, в которых также встречались ответы на вопрос “What eats frog?” и просто совпадения слов “eat” и “frog”: </li></ul><ul><ul><li>Bowfins eat mainly other fish, frogs, and crayfish </li></ul></ul><ul><ul><li>Cranes eat a variety of foods, including frogs, fishes, birds, and various small mammals. </li></ul></ul><ul><ul><li>… </li></ul></ul>
  24. 24. Start. S- правила = = Проблема: Решение: “ Bill’s answer surprised Hillary” <answer surprise Hillary> <answer related-to Bill> “ Bill surprised Hillary with his answer” <<Bill surprise Hillary> with answer> <answer related-to Bill> Parser Parser Where n i € Nouns S -правило Surprise < n 3 surprise n 2 > < n 3 related-to n 1 > << n 1 surprise n 2 > with n 3 > < n 3 related-to n 1 >
  25. 25. Start. S- правила <ul><li>S- правила описывают лингвистические вариации: </li></ul><ul><ul><li>Лексические </li></ul></ul><ul><ul><ul><li>Синонимы </li></ul></ul></ul><ul><ul><li>Морфологические </li></ul></ul><ul><ul><ul><li>Однокоренные слова </li></ul></ul></ul><ul><ul><li>Синтаксические </li></ul></ul><ul><ul><ul><li>Инверсии </li></ul></ul></ul><ul><ul><ul><li>Активный/пассивный залог </li></ul></ul></ul><ul><ul><ul><li>Притяжательные прилагательные </li></ul></ul></ul><ul><li>Также используются для описания логических импликаций </li></ul>
  26. 26. Start. S- правила. Примеры Where n i € Nouns S -правило Kill-Die < n 2 die self> < n 1 kill n 2 > Where n i € Nouns S -правило Sell-Buy << n 3 buy n 2 > from n 1 > << n 1 sell n 2 > to n 3 >
  27. 27. Start. S- правила <ul><li>Некоторые S- правила могут использоваться в 2-х направлениях: </li></ul><ul><ul><li>в прямом </li></ul></ul><ul><ul><ul><li>при пополнении базы знаний новыми T- выражениями </li></ul></ul></ul><ul><ul><li>в обратном </li></ul></ul><ul><ul><ul><li>при обработке запроса пользователя </li></ul></ul></ul>
  28. 28. Start. Лексикон <ul><li>Некоторые S- правила применимы к группам слов </li></ul><ul><li>В Лексиконе содержатся перечень слов языка, причем для каждого слова указан список групп, к которым оно относится </li></ul>Where n i € Nouns and v € emotional-reaction-verbs S -правило ERV < n 3 v n 2 > < n 3 related-to n 1 > << n 1 v n 2 > with n 3 > < n 3 related-to n 1 >
  29. 29. WordNet <ul><li>Семантический лексикон английского языка </li></ul><ul><li>Состоит из синсетов (смыслов) </li></ul><ul><li>Синсет: </li></ul><ul><ul><li>несколько синонимичных слов </li></ul></ul><ul><ul><li>описание значения </li></ul></ul><ul><li>Одно слово – несколько синсетов (значений) </li></ul><ul><li>150 000 слов, 115 000 синсетов, 207 000 пар «слово – синсет» </li></ul>
  30. 30. WordNet. Семантические отношения между синсетами <ul><li>Существительные </li></ul><ul><ul><li>Гиперонимы : Y – гипероним X , если X – разновидность Y </li></ul></ul><ul><ul><li>Гипонимы : Y – гипоним X , если Y – разновидность X </li></ul></ul><ul><ul><li>Равные по рангу : X и Y равны по рангу , если у них общий гипероним </li></ul></ul><ul><ul><li>Голонимы : Y – голоним X , если X – часть Y </li></ul></ul><ul><ul><li>Меронимы : Y – мероним X , если Y – часть X </li></ul></ul>
  31. 31. WordNet. Семантические отношения между синсетами <ul><li>Глаголы </li></ul><ul><ul><li>Двигаться – гипероним Бегать </li></ul></ul><ul><ul><li>Шептать – гипоним Говорить </li></ul></ul><ul><ul><li>Спать – следование Храпеть </li></ul></ul><ul><ul><li>Ходить – равный по рангу Бегать </li></ul></ul>
  32. 32. Start. WordNet <ul><li>WordNet используется в системе Start при поиске совпадения с T- выражениями </li></ul><ul><ul><li>Пусть в базе есть T -выражение <bird can fly> </li></ul></ul><ul><ul><li>Canary – гипоним Bird </li></ul></ul><ul><ul><li>На вопрос: “Can canary fly?” Start ответит “Yes” </li></ul></ul>
  33. 33. Start. Omnibase <ul><li>«Универсальная база» </li></ul><ul><li>Используется для выполнения запросов о фактах </li></ul><ul><li>Модель «объект-свойство-значение» </li></ul><ul><li>Пример: “Federico Fellini is a director of La Strada” </li></ul><ul><ul><li>Объект : La Strada </li></ul></ul><ul><ul><li>Свойство : director </li></ul></ul><ul><ul><li>Значение : Federico Fellini </li></ul></ul><ul><li>Каждому объекту сопоставлен источник данных (data source) : </li></ul><ul><ul><li>Star Wars imdb-movie </li></ul></ul>
  34. 34. Start. Omnibase. Примеры [images] Works Monet Show me paintings by Monet English, French Languages Guernsey What languages are spoken in Guernsey? 94,149 Population Kiribati How many people live in Kiribati? 51,100 sq. km Area Costa Rica How big is Costa Rica? Alfred Nobel Inventor Dynamite Who invented dynamite? John Williams Composer Star Wars Who wrote the music for Star Wars? Значение Свойство Объект Вопрос
  35. 35. Start. Omnibase. Пример запроса Анализ вопроса “ Who directed X?”, X = “Gone with the wind” “ Gone with the wind” imdb-movie Omnibase “ Who directed gone with the wind?” Start Генерация запроса Каталог объектов Выполнение запроса imdb-movie “ Victor Fleming” Генерация ответа “ Victor Fleming directed Gone with the wind” ( get “imdb-movie” “Gone with the Wind” “Director” ) «обертка»
  36. 36. Start. Omnibase <ul><li>Преимущества: </li></ul><ul><ul><li>Единый формат запросов к базе </li></ul></ul><ul><ul><li>Естественность использования модели «объект-свойство-значение» </li></ul></ul><ul><li>Недостатки: </li></ul><ul><ul><li>Необходимость написания «обертки» для каждого источника данных </li></ul></ul>
  37. 37. Start. Список внешних источников данных <ul><li>Wikipedia </li></ul><ul><li>The World Factbook 2006 </li></ul><ul><li>Google </li></ul><ul><li>Yahoo </li></ul><ul><li>The Internet Movie Database </li></ul><ul><li>Internet Public Library </li></ul><ul><li>The Poetry Archives </li></ul><ul><li>B iography.com </li></ul><ul><li>Merriam-Webster Dictionary </li></ul><ul><li>W orldBook </li></ul><ul><li>Infoplease.com </li></ul><ul><li>Metropla.net </li></ul><ul><li>Weather.com </li></ul>
  38. 38. Семантическая паутина <ul><li>Новая концепция развития сети Интернет </li></ul><ul><li>Проблема машинного анализа информации, размещенной в Сети </li></ul><ul><li>Вся информация в Сети должна размещаться на двух языках: </li></ul><ul><ul><li>Человеческом </li></ul></ul><ul><ul><li>Компьютерном </li></ul></ul><ul><li>Для создания компьютерного описания ресурса используется формат RDF (Resource Description Framework) , основанный на: </li></ul><ul><ul><li>Формат XML </li></ul></ul><ul><ul><li>Триплеты «Объект – Отношение – Субъект» </li></ul></ul>
  39. 39. Start. Natural Language Annotations <ul><li>Предлагается к каждому информационному блоку составлять аннотацию на естественном языке </li></ul><ul><li>Компромисс между машинно-читаемым и естественным описанием информации </li></ul><ul><li>В базе знаний хранятся только аннотации с прикрепленными ссылками на источники </li></ul><ul><li>Эффективная организация доступа к информации произвольного типа: </li></ul><ul><ul><li>Тексты </li></ul></ul><ul><ul><li>Изображения </li></ul></ul><ul><ul><li>Мультимедиа </li></ul></ul><ul><ul><li>Базы данных </li></ul></ul><ul><ul><li>Процедуры </li></ul></ul><ul><li>Аннотации могут быть параметризованы </li></ul>
  40. 40. Start. Natural Language Annotations <ul><li>Внедрение аннотаций: </li></ul><ul><ul><li>Добавление аннотаций в RDF описания документов </li></ul></ul><ul><ul><li>Использование параметризованных аннотаций (схем доступа к информации) </li></ul></ul><ul><ul><li>Использование схем поиска ответов </li></ul></ul>
  41. 41. Start. Добавление аннотаций <ul><li>How many people live in Kiribati? </li></ul><ul><li>What is the population of the Bahamas? </li></ul><ul><li>Tell me Guam’s population. </li></ul>
  42. 42. Start. Добавление аннотаций <ul><li><rdfs:Class ID= &quot;Country&quot; > </li></ul><ul><li><rdfs:comment> A Country in the CIA Factbook </ rdfs:comment> </li></ul><ul><li></rdfs:Class> </li></ul><ul><li><rdf:Property ID= &quot;population&quot; > </li></ul><ul><li><rdfs:domain rdf:resource= &quot;#Country&quot; /> </li></ul><ul><li><rdfs:range rdf:resource= &quot;xsd:string&quot; /> </li></ul><ul><li><nl:ann text= &quot;Many people live in ?s &quot; /> </li></ul><ul><li><nl:ann text= &quot;population of ?s &quot; /> </li></ul><ul><li><nl:gen text= &quot;The population of ?s is ?o &quot; /> </li></ul><ul><li></rdf:Property> </li></ul>
  43. 43. Start. Параметризованные аннотации <ul><li>What is the country in Africa with the largest area? </li></ul><ul><li>Tell me what Asian country has the highest population density. </li></ul><ul><li>What country in Europe has the lowest infant mortality rate? </li></ul><ul><li>What is the most populated South American country? </li></ul>
  44. 44. Start. Параметризованные аннотации <ul><li><nl:InformationAccessSchema> </li></ul><ul><li><nl:ann> what country in $ region has the largest $ attribute </nl:ann> </li></ul><ul><li><nl:pattern> ? x a :Country </nl:pattern> </li></ul><ul><li><nl:pattern> ? x map ( $ attribute ) ? val </nl:pattern> </li></ul><ul><li><nl:pattern> ? x :location $ region </nl:pattern> </li></ul><ul><li><nl:action> display(boundto( ? x , max( ? val ))) < /nl:action> </li></ul><ul><li><nl:mapping> </li></ul><ul><li><nl:hash variable= &quot; $attribute &quot; > </li></ul><ul><li><nl:map value= &quot;population&quot; > :population </nl:map> </li></ul><ul><li> <nl:map value= &quot;area&quot; > :area </nl:map> </li></ul><ul><li>... </li></ul><ul><li></nl:hash> </li></ul><ul><li></nl:mapping> </li></ul><ul><li></nl:InformationAccessSchema> </li></ul>
  45. 45. Start. Параметризованные аннотации <ul><li>Is Canada’s coastline longer than Russia’s coastline? </li></ul><ul><li>Which country has the larger population, Germany or Japan? </li></ul><ul><li>Is Nigeria’s population bigger than that of South Africa? </li></ul>
  46. 46. Start. Параметризованные аннотации <ul><li><nl:InformationAccessSchema> </li></ul><ul><li><nl:ann> $ country-1 ’s $ att is larger than $ country-2 ’s $att </nl:ann> </li></ul><ul><li><nl:pattern> ? x a :Country </nl:pattern> </li></ul><ul><li><nl:pattern> ? x map ( $ att ) ? val -1 </nl:pattern> </li></ul><ul><li><nl:pattern> ? y a :Country </nl:pattern> </li></ul><ul><li><nl:pattern> ? y map ( $ att ) ? val -2 </nl:pattern> </li></ul><ul><li><nl:action> display( gt ( ? val-1 , ? val -2 ))) < /nl:action> </li></ul><ul><li><nl:mapping> </li></ul><ul><li><nl:hash variable= &quot; $att &quot; > </li></ul><ul><li><nl:map value= &quot;population&quot; > :population </nl:map> </li></ul><ul><li> <nl:map value= &quot;area&quot; > :area </nl:map> </li></ul><ul><li>... </li></ul><ul><li></nl:hash> </li></ul><ul><li></nl:mapping> </li></ul><ul><li></nl:InformationAccessSchema> </li></ul>
  47. 47. Start. Схема поиска ответа <ul><li>What is the distance from Japan to South Korea? </li></ul><ul><li>How far is the United States from Russia? </li></ul><ul><li>What’s the distance between Germany and England? </li></ul><ul><li>План ответа на такой вопрос: </li></ul><ul><ul><li>Найти столицу одной страны </li></ul></ul><ul><ul><li>Найти столицу другой страны </li></ul></ul><ul><ul><li>Вычислить расстояние между ними </li></ul></ul>
  48. 48. Start. Схема поиска ответа <ul><li><nl:InformationPlanningSchema> </li></ul><ul><li><nl:ann> distance between $ country1 and $ country2 </ann> </li></ul><ul><li><nl:plan> </li></ul><ul><li><rdf:Seq> </li></ul><ul><li><rdf:li> what is the capital of $ country1 := ? capital1 </rdf:li> </li></ul><ul><li><rdf:li> what is the capital of $ country1 := ? capital2 </rdf:li> </li></ul><ul><li><rdf:li> what is the distance between ? capital1 and ? capital2 </li></ul><ul><li>:= ? distance </rdf:li> </li></ul><ul><li></rdf:Seq> </li></ul><ul><li></nl:plan> </li></ul><ul><li> <nl:action> display( ? distance )</nl:action> </li></ul><ul><li></nl:InformationPlanningSchema> </li></ul>
  49. 49. Start. Natural Language Annotations <ul><li>Преимущества: </li></ul><ul><ul><li>Описание информации на универсальном, естественном языке </li></ul></ul><ul><ul><li>Одна параметризованная аннотация может обрабатывать сотни вопросов </li></ul></ul><ul><ul><li>Автоматизация процесса составления аннотаций </li></ul></ul><ul><ul><li>Запросы к Omnibase также описываются с помощью аннотаций </li></ul></ul><ul><li>Недостатки: </li></ul><ul><ul><li>сложность внедрения </li></ul></ul>
  50. 50. Start. Схема работы вопрос анализатор вопросов шаблон ответа Parser T- выражение База знаний WordNet аннотация 2 ответ Запрос к Omnibase ссылка Omnibase doc2 doc3 doc1 docN аннотация 1 Фильтр passage1 passage2 passageM генератор ответов ответ … WWW
  51. 51. Start. Текущие разработки <ul><li>Обработка составных запросов и их автоматическая декомпозиция </li></ul><ul><li>Наращивание баз с целью повышения избыточности информации </li></ul><ul><li>Автоматизация анализа семантических связей в документах </li></ul><ul><li>Внедрение аннотаций </li></ul><ul><li>Особые стратегии поиска ответов для различных предметных областей </li></ul>
  52. 52. Статистические техники для анализа естественного языка
  53. 53. Пример <ul><li>The dog ate. </li></ul>s np vp det noun verb ate the dog
  54. 54. Проблема <ul><li>Salespeople sold the dog biscuits. </li></ul>s np vp noun Salespeople verb np sold det noun noun the dog biscuits s np vp noun Salespeople verb np np sold det noun noun the dog biscuits
  55. 55. Определение части речи Sentence The can will rust det modal verb noun verb modal verb noun verb noun verb
  56. 56. Принцип выбора части речи <ul><li>t – таг ( det, noun, … ) </li></ul><ul><li>w – слово в тексте ( can, will… ) </li></ul><ul><li>p(t | w) – вероятность того, что таг t соответствует слову w </li></ul><ul><li>p(w | t) – вероятность того, что слово w соответствует тагу t </li></ul><ul><li>p(t1 | t2) – вероятность того, что t1 идёт после t2 </li></ul>
  57. 57. Эффективность <ul><li>Тупой – 90% </li></ul><ul><li>Современные – 97% </li></ul><ul><li>Человек – 98% </li></ul>
  58. 58. Скрытые модели Маркова noun house 0.001 stock 0.001 adj large 0.004 small 0.005 det a 0.245 the 0.586 0.218 0.475 0.45 0.0016
  59. 59. Другой подход ( transformational tagging ) <ul><li>Применяем тупой алгоритм. </li></ul><ul><li>Есть набор правил: </li></ul><ul><ul><li>Поменять у слова таг X на таг Y, если таг предыдущего слова – Z . </li></ul></ul><ul><li>Применяем эти правила сколько-то раз. </li></ul><ul><li>Работают быстрее </li></ul><ul><li>Тренировка HMM vs. Тренировка TT </li></ul><ul><li>( Отсутствие начальной базы ) </li></ul>
  60. 60. Treebank <ul><li>Строим на основе предложения деревья, пользуясь существующими грамматическими правилами. </li></ul><ul><li>Пример : </li></ul><ul><li>(s (np (det The) (noun stranger)) </li></ul><ul><li>(vp (verb ate) </li></ul><ul><li> (np (det the) (noun doughnut) </li></ul><ul><li> (pp (prep with) (np (det a) (noun fork))))) </li></ul>
  61. 61. Собственный Statistical Parser <ul><li>Проверка </li></ul><ul><ul><li>Есть готовые примеры из Pen treebank </li></ul></ul><ul><ul><li>Сравниваем с ними </li></ul></ul><ul><li>Нахождение правил для применения </li></ul><ul><li>Назначение вероятностей правилам </li></ul><ul><li>Нахождение наиболее вероятного </li></ul>
  62. 62. PCFG (Probabilistic context-free grammars) <ul><li>sp -> np vp (1.0) </li></ul><ul><li>vp -> verb np (0.8) </li></ul><ul><li>vp -> verb np np (0.2) </li></ul><ul><li>np -> det noun (0.5) </li></ul><ul><li>np -> noun (0.3) </li></ul><ul><li>np -> det noun noun (0.15) </li></ul><ul><li>np -> np np (0.05) </li></ul>
  63. 63. Считаем вероятность построенного дерева <ul><li>s – начальное предложение </li></ul><ul><li>– полученное нами дерево </li></ul><ul><li>с – пробегает внутренние вершины дерева </li></ul><ul><li>r(c) – вероятность применения r для с </li></ul>
  64. 64. Построение собственной PCFG. Простой вариант. <ul><li>Берём готовый Pen treebank </li></ul><ul><li>Считываем из него все деревья </li></ul><ul><li>Читаем по каждому дереву </li></ul><ul><ul><li>Добавляем каждое новое правило </li></ul></ul><ul><li>P( правило ) = количество его вхождений, делённое на общее количество </li></ul>
  65. 65. Two state-of-the-art statistical parsers . Markov grammars <ul><li>Решают проблему существования очень редких правил </li></ul><ul><li>Идея – вместо хранения правил, считаем вероятности того, что, например np = prep + … </li></ul><ul><li>p(t1 | f, t2) – вероятность появления тага t2 после тага t1 внутри формы f. </li></ul>
  66. 66. Lexicalized parsing <ul><li>Каждой вершине дерева припишем слово ( head ), характеризующее её. </li></ul><ul><li>p(r | h) – вероятность того, что будет применено правило r для узла с заданным h. </li></ul><ul><li>p(h | m, t) – вероятность того, что такой h является ребёнком вершины с head = m и имеет таг t. </li></ul>
  67. 67. Lexicalized parsing <ul><li>Пример </li></ul><ul><li>( S (NP The (ADJP most troublesome) report) </li></ul><ul><li> (VP may </li></ul><ul><li> (VP be </li></ul><ul><li> (NP (NP the August merchandise trade deficit) </li></ul><ul><li> (ADJP due (ADVP out) (NP tomorrow))))) </li></ul><ul><li>p(h | m, t) = p(be | may, vp) </li></ul><ul><li>p(r | h) = p(posvp -> aux np | be) </li></ul>
  68. 68. Lexicalized parsing <ul><li>“ the August merchandise trade deficit” </li></ul><ul><li>rule = np -> det propernoun noun noun noun </li></ul>6.3*10^(-3) 1.9*10^(-1) h(c) = “deficit” 9.4*10^(-5) 2.8*10^(-3) Part of speech 3.8*10^(-5) 2.7*10^(-4) Nothing p(rule) p(“August”) Conditioning events
  69. 69. Восстановление смысловых связей ( Causal Reconstruction )
  70. 70. Пример <ul><li>Одна из нескольких парных дугообразных плоских костей, идущих от позвоночника к грудной кости и составляющих грудную клетку. </li></ul>
  71. 71. Пример <ul><li>Ребро. Одна из нескольких парных дугообразных плоских костей, идущих от позвоночника к грудной кости и составляющих грудную клетку. </li></ul><ul><li>Существует ли для каждого ребра пара? </li></ul><ul><li>Из чего состоит грудная клетка? </li></ul><ul><li>Кратно ли количество рёбер 2? </li></ul>
  72. 72. Задача CR (Causal Reconstruction) <ul><li>Имея такое описание предмета из энциклопедии, программа должна уметь отвечать на содержательные вопросы. </li></ul>
  73. 73. Пространство переходов (Transition space) <ul><li>Рассматриваем процессы, как цепочки переходов </li></ul><ul><ul><li>The perception of causality </li></ul></ul><ul><ul><li>Качественные изменения </li></ul></ul><ul><ul><ul><li>Пример </li></ul></ul></ul><ul><li>Удобно генерировать из словесных докладов </li></ul>
  74. 74. Смысловое моделирование ( Causal modeling ) <ul><li>Нефильтрованный ввод </li></ul>
  75. 75. Задачи человека, делающего входные данные для CR <ul><li>Количество </li></ul><ul><li>Качество </li></ul><ul><li>Связность </li></ul><ul><li>Стиль </li></ul>
  76. 76. Проверка созданной модели
  77. 77. Проверка созданной модели <ul><li>Количество </li></ul><ul><ul><li>Добавляются ли новые объекты? </li></ul></ul><ul><li>Качество </li></ul><ul><ul><li>Согласованность </li></ul></ul><ul><ul><li>Выполнимость </li></ul></ul><ul><li>Связность </li></ul><ul><ul><li>Создание смыслового отношения на множестве объектов </li></ul></ul><ul><li>Стиль </li></ul><ul><ul><li>Можно ли “ ужать ” созданную модель? </li></ul></ul>
  78. 78. Упрощения. 3 типа предложений <ul><li>Событийные </li></ul><ul><li>Задающие статические связи между объектами </li></ul><ul><li>Связывающие </li></ul>
  79. 79. Дополнительный ввод <ul><li>Добавление новых статических связей и утверждений </li></ul><ul><li>Определение событий </li></ul><ul><li>Предшествующие события </li></ul><ul><li>Правила вывода </li></ul><ul><li>Правила подтверждения </li></ul>
  80. 80. 2 уровня понимания созданной модели <ul><li>События </li></ul><ul><li>Объекты </li></ul>
  81. 81. 3 типа допустимых вопросов. Уровень объекта <ul><li>Вопросы связанные с изменением атрибутов объекта с течением времени </li></ul><ul><ul><li>Что происходит с позицией курсора во время завершения работы Windows? </li></ul></ul>
  82. 82. 3 типа допустимых вопросов. Уровень события <ul><li>Отношение событий между собой </li></ul><ul><ul><li>Как изменение длины волны света влияет на изменение ширины интерфереционной полосы в опыте Фраунгофера? </li></ul></ul><ul><li>Возможные отношения между событиями, описанными в вопросе, и уже созданной моделью </li></ul><ul><ul><li>Как изменение влажности может повлиять на настроение? </li></ul></ul>
  83. 83. Пространство переходов <ul><li>Представление мира человеком с помощью событий и объектов </li></ul><ul><li>Восприятие времени как последовательность breakpoint’ ов </li></ul><ul><li>Качественное восприятие </li></ul><ul><li>Соединение изменений </li></ul>
  84. 84. Состояния против изменений ( States vs. Changes ) <ul><li>Пример </li></ul><ul><li>Changes используются в речи </li></ul>
  85. 85. Пример <ul><li>The contact between the steam and the metal plate appears . </li></ul><ul><li>The concentration of the solution increases. </li></ul><ul><li>The appearance of the film changes. </li></ul><ul><li>The pin becomes a part of the structure. </li></ul><ul><li>The water remains inside the tank. </li></ul>
  86. 86. Пример <ul><li>The contact between the steam and the metal plate appears . </li></ul><ul><li>The concentration of the solution increases . </li></ul><ul><li>The appearance of the film changes . </li></ul><ul><li>The pin becomes a part of the structure. </li></ul><ul><li>The water remains inside the tank. </li></ul>
  87. 87. Классификация изменений Общая <ul><li>APPEAR </li></ul><ul><li>DISAPPEAR </li></ul><ul><li>NOT-APPEAR </li></ul><ul><li>NOT-DISAPPEAR </li></ul>
  88. 88. Специализация для NOT-DISAPPEAR <ul><li>Качественные атрибуты </li></ul>Количественные атрибуты DECREASE NOT-DECREASE CHANGE NOT-CHANGE INCREASE NOT-INCREASE
  89. 89. Предикатная нотация <ul><li>Название изменения </li></ul><ul><li>Атрибут </li></ul><ul><li>Объекты-участники </li></ul><ul><li>Точки времени </li></ul>
  90. 90. Пример <ul><li>APPEAR(contact, <the-steam, the-metal-plate>, t1, t2) </li></ul><ul><li>INCREASE(concentration, the-solution, t3, t4) </li></ul><ul><li>CHANGE(appearance, the-film, t5, t6) </li></ul><ul><li>APPEAR(a-part-of, <the-pin, the-structure>, t7, t8) </li></ul><ul><li>NOT-DISAPPEAR(inside, <the-water, the-tank>, </li></ul><ul><li> t9, t10) </li></ul>
  91. 91. Грамматики . Первая форма <ul><li><input sentence> ::= </li></ul><ul><li><attribute-expression> <verb-group> </li></ul><ul><li><attribute-expression> ::= </li></ul><ul><li>the <attribute> <preposition> <noun-phrase> </li></ul><ul><li>{ { <preposition> | and } <noun-phrase> } * </li></ul><ul><li><verb-group> ::= CHANGE | APPEAR и т.д. </li></ul><ul><li>The concentration of the solution increases. </li></ul>
  92. 92. Грамматики . Вторая форма <ul><li><input sentence> ::= </li></ul><ul><li><object> <verb-group> <predicate-modifier> </li></ul><ul><li><predicate-modifier> ::= </li></ul><ul><li><attribute> [ [<preposition>] <noun-phrase> </li></ul><ul><li>{ { <preposition> | and} <noun-phrase> } * ] </li></ul><ul><li><verb-group> ::= becomes | becomes not | remains | remains not </li></ul><ul><li>The water becomes a vapor. </li></ul>
  93. 93. Ссылки <ul><li>CLEF . http://clef-qa.itc.it/ </li></ul><ul><li>WordNet . http:// wordnet.princeton.edu / </li></ul><ul><li>Pen treebank . http://www.cis.upenn.edu/~treebank/ </li></ul><ul><li>Start . http://start.csail.mit.edu/ </li></ul><ul><li>TREC . http://trec.nist.gov/ </li></ul><ul><li>Eugene Charniak [1997], “Statistical Techniques for Natural Language Parsing” </li></ul><ul><li>Gary C. Borchardt [1993], “Causal Reconstruction” </li></ul>
  94. 94. Ссылки <ul><li>Boris Katz, Beth Levin [1988] “Exploiting Lexical Regularities in Designing Natural Language Systems” </li></ul><ul><li>Boris Katz and Jimmy Lin. Annotating the Semantic Web Using Natural Language. September, 2002. </li></ul><ul><li>Boris Katz, Sue Felshin, Deniz Yuret, Ali Ibrahim, Jimmy Lin, Gregory Marton, Alton Jerome McFarland and Baris Temelkuran. Omnibase: Uniform Access to Heterogeneous Data for Question Answering. June, 2002. </li></ul><ul><li>SEMLP . http://semlp.com/ </li></ul><ul><li>RCO . http://www.rco.ru/ </li></ul>

×