Статистические техники для анализа естественного языка

Вопросно-ответные системы

Анатолий Никитин, Павел Райков

1. Введение. 2

1.1 Проблемы.. 3

2. QA-система Start 4

2.1 Тернарные выражения. 5

2.2 S-правила. 6

2.3 Лексикон. 6

2.6 Аннотации на естественном языке. 8

2.7 Заключение. 9

3. Статистические техники для анализа естественного языка. 10

3.1 Введение. 10

3.2 Определение частей речи для слов в предложениях. 11

3.3 Создание деревьев разбора из предложений. 14

3.4 Создание собственных правил разбора на основе PCFG. Treebank grammars. “Markov grammars” 16

3.5 Лексические парсеры.. 16

1. Введение

В связи с бурным развитием информационных технологий и непрерывным увеличением объемов информации, доступной в глобальной сети Интернет, всё большую актуальность приобретают вопросы эффективного поиска и доступа к данным. Зачастую стандартный поиск с использованием ключевых слов не даёт желаемого результата, в связи с тем, что такой подход не учитывает языковые и смысловые взаимосвязи между словами запроса. Поэтому сейчас активно развиваются технологии обработки естественных языков (Natural Language Processing, NLP) и основанные на них вопросно-ответные системы (Question-Answering Systems, QAS).

Вопросно-ответная система – это информационная система , являющаяся гибридом поисковых, справочных и интеллектуальных систем, которая использует естественно-языковой интерфейс. На вход такой системе подаётся запрос, сформулированный на естественном языке, после чего он обрабатывается с использованием методов NLP, и генерируется естественно-языковой ответ. В качестве базового подхода к задаче поиска ответа на вопрос обычно применяется следующая схема: сначала система тем или иным образом (например, поиском по ключевым словам) отбирает документы, содержащие информацию, связанные с поставленным вопросом, затем фильтрует их, выделяя отдельные текстовые фрагменты, потенциально содержащие ответ, после чего из отобранных фрагментов генерирующий модуль синтезирует ответ на вопрос.

В качестве источника информации QA-система использует либо локальное хранилище, либо глобальную сеть, либо и то и другое одновременно. Несмотря на явные преимущества использования Интернета, такие как доступ к огромным, постоянно растущим информационным ресурсам, с этим подходом связана существенная проблема – информация в Интернете неструктурированна и для её корректного извлечения необходимо создание так называемых «оберток» (wrapper), то есть подпрограмм, которые обеспечивают унифицированный доступ к различным информационным ресурсам.

Современные QA-системы разделяют на общие (open-domain) и специализированные (closed-domain). Общие системы, то есть системы, ориентированные на обработку произвольных вопросов, имеют достаточно сложную архитектуру, но тем не менее на практике дают достаточно слабые результаты и невысокую точность ответов. Но, как правило, для таких систем более важным оказывается степень покрытия знаний, нежели точность ответов. В специализированных системах, отвечающих на вопросы, связанные с конкретной предметной областью, напротив, точность ответов зачастую оказывается критическим показателем (лучше вообще не дать ответа на вопрос, чем дать неправильный ответ).

1.1 Проблемы

В 2002 году группа исследователей написала план исследований в области вопросно-ответных систем. Предлагалось рассмотреть следующие вопросы:

Типы вопросов . Разные вопросы требуют разных методов поиска ответов. Поэтому нужно составить или улучшить методические списки типов возможных вопросов. Обработка вопросов. Одну и ту же информацию можно запросить разными способами. Требуется создать эффективные методы понимания и обработки семантики (смысла) предложения. Важно, чтобы программа распознавала эквивалентные по смыслу вопросы, независимо от используемых стиля, слов, синтаксических взаимосвязей и идиом. Хотелось бы, чтобы QA-система разделяла сложные вопросы на несколько простых, и правильно трактовала контекстно-зависимые фразы, возможно, уточняя их у пользователя в процессе диалога. Контекстные вопросы. Вопросы задаются в определенном контексте. Контекст может уточнить запрос, устранить двусмысленность или следить за ходом мыслей пользователя по серии вопросов. Источники знаний для QA-системы. Перед тем как отвечать на вопрос, неплохо было бы осведомиться о доступных базах текстов. Какие бы способы обработки текстов не применялись, мы не найдем правильного ответа, если его нет в базах. Выделение ответов. Правильное выполнение этой процедуры зависит от сложности вопроса, его типа, контекста, качества доступных текстов, метода поиска и др. - огромного числа факторов. Поэтому подходить к изучению методов обработки текста нужно со всей осторожностью, и эта проблема заслуживает особого внимания. Формулировка ответа. Ответ должен быть как можно более естественным. В некоторых случаях достаточно и простого выделения его из текста. К примеру, если требуется наименование (имя человека, название прибора, болезни), величина (денежный курс, длина, размер) или дата («Когда родился Иван Грозный?») - прямого ответа достаточно. Но иногда приходится иметь дело со сложными запросами, и здесь нужны особые алгоритмы слияния ответов из разных документов. Ответы на вопросы в реальном времени. Нужно сделать систему, которая бы находила ответы в хранилищах за несколько секунд, независимо от сложности и двусмысленности вопроса, размера и обширности документной базы. Многоязыковые запросы. Разработка систем для работы и поиска на других языках (в том числе автоматический перевод). Интерактивность. Зачастую информация, предлагаемая QA-системой в качестве ответа, неполна. Возможно, система неправильно определила тип вопроса или неправильно «поняла» его. В этом случае пользователь может захотеть не только переформулировать свой запрос, но и «объясниться» с программой с помощью диалога. Механизм рассуждений (вывода). Некоторые пользователи хотели бы получить ответ, выходящий за рамки доступных текстов. Для этого в QA-систему нужно добавить знания, общие для большинства областей, а также средства автоматического вывода новых знаний. Профили пользователей QA-систем. Сведения о пользователе, такие как область интересов, манера его речи и рассуждения, подразумеваемые по умолчанию факты, могли бы существенно увеличить производительность системы.

2. QA-система Start

QA-система Start является примером общей вопросно-ответной системы, отвечающей на произвольные запросы, сформулированные на английском языке . Она разрабатывается в MIT Artificial Intelligence Laboratory под руководством Boris Katz. В Интернете эта система впервые появилась в 1993 и сейчас она доступна по адресу http://start. csail. mit. edu. При поиске ответа на вопрос система использует как локальную базу знаний, так и ряд информационных ресурсов в сети Интернет.

Система умеет отвечать на различные виды вопросов, которые условно можно разделить на следующие категории:

Вопросы об определениях (What is a fractal?)

Фактографические вопросы (Who invented the telegraph?)

Вопросы об отношениях (What country is bigger, Russia or USA?)

Списковые запросы (Show me some poems by Alexander Pushkin)

Ядром системы является База Знаний. Существуют 2 модуля: Парсер и Генератор, которые умеют, соответственно, преобразовывать тексты на английском языке в специальную форму (T-выражения), в которой они сохраняются в Базе Знаний, и, наоборот, по набору T-выражений генерировать англоязычные тексты.

2.1 Тернарные выражения

Тернарное выражение (T-выражение) – это выражение вида <объект отношение субъект>. При этом в качестве объектов/субъектов одних T-выражений могут выступать другие T-выражения. Прилагательные, притяжательные местоимения , предлоги и другие части предложения используются для создания дополнительных T-выражений. Остальные атрибуты предложения (артикли , времена глаголов, наречия, вспомогательные глаголы , знаки препинания и т. д.) хранятся в специальной структуре History, связанной с T-выражением.

Например, предложение Bill surprised Hillary with his answer” после прохождения через Парсер будет преобразовано в 2 тернарных выражения: << Bill surprise Hillary> with answer> и < answer related- to Bill>. Информация о времени глагола surprise будет сохранена в структуре History.

Пусть системе, в Базе Знаний которой находятся 2 описанных выше Т-выражения, был задан вопрос: Whom did Bill surprise with his answer?”. Обработка вопроса будет происходить в следующем порядке:

1. Анализатор Вопросов преобразует вопрос к виду шаблона, обратив инверсию, которая используется при формулировке вопросов в английском языке: Bill surprised whom with his answer?” .

2. Парсер переводит предложение в 2 T-выражения: <whom> with answer> и

3. Полученный шаблон сверяется с Т-выражениями, находящимися в Базе Знаний. Найдено совпадение при Whom = Hillary

4. Генератор преобразует Т-выражения <> with answer> и в предложение и выдаёт его в качестве ответа.

Аналогичным образом выполняется поиск ответов на вопросы вида “Did Bill surprise with his answer?”. Только в данном случае будет осуществляться поиск точного совпадения с выражениями в Базе, а не поиск по шаблону.

Таким образом, Т-выражения в некоторой степени сохраняют информацию о семантических связях между словами. В 2002 году были произведен ряд экспериментов с целью оценки эффективности организации поиска на основе Т-выражений по сравнению с поиском по ключевым словам. После обработки Парсером Энциклопедии с описаниями различных видов животных, системе был задан вопрос: “What do frogs eat?” («Что едят лягушки?»). Описанный выше метод поиска выдал 6 ответов, из которых 3 были правильными. Поиск на основе ключевых слов по исходным документам выдал 33 результата, среди которых были те же 3 правильных ответа, но, кроме того, встречались случайные совпадения слов frogs и eat (например, ответы на вопрос “Кто ест лягушек?”). Таким образом, поиск на основе T-выражений выдал в 10 раз меньше неверных ответов.

2.2 S-правила

Помимо T-выражений, в Базе Знаний также хранится перечень S-правил. Это правила перевода T-выражений в эквивалентные формы. Дело в том, что одну и ту же идею в естественном языке можно выразить различными способами. Например, предложения “Bill’s answer surprised Hillary” и “Bill surprised Hillary with his answer” эквивалентны. Но Т-выражения, получаемые при проходе этих предложений через Парсер различны: , и < with answer>, . Поэтому вводится S-правило Surprise :

<<n1 surprise n2 > with n3 >, <n3 related-to n1 > = <n3 surprise n2 >, <n3 related-to n1 >,

Where ni Nouns

C помощью таких правил можно описать так называемые лингвистические вариации , то есть эквивалентные трансформации языковых конструкций:

Лексические (синонимы)

Морфологические (однокоренные слова)

Синтаксические (инверсии, активный/пассивный залог, …)

Кроме того, S-правила могут описывать логические импликации. Например:

<<A sell B > to C > = <<C buy B > from A >

2.3 Лексикон

Многие S-правила применимы к группам слов. Например, описанное ранее S-правило Surprise выполняется не только для глагола surprise, но также для любого глагола из так называемой группы эмоционально-реакционных глаголов. Для того, чтобы не плодить S-правила был создан Лексикон, в котором хранятся все слова английского языка. С каждым словом связан перечень групп, к которым оно относится. Теперь S-правило Surprise можно сделать ещё более абстрактным:

<<n1 v n2 > with n3 >, <n3 related-to n1 > = <n3 v n2 >, <n3 related-to n1 >,

Where ni Nouns , v emotional-reaction-verbs

2.4 WordNet

Кроме Лексикона , в котором хранятся сгруппированные по различным синтаксическим и семантическим признакам слова, система Start использует ещё один мощнейший инструмент обработки семантики слов – словарь WordNet . В качестве базовой единицы в этом словаре используется понятие синсета . Синсет – это некоторый смысл, значение. Различные слова могут иметь одно и то же значение (синонимы), поэтому относиться к одному синсету, и, наоборот, одно слово может иметь несколько значений, то есть принадлежать нескольким синсетам. Кроме того, в словаре WordNet введены отношения между синсетами. Например, между существительными существуют следующие отношения:

- Гиперонимы : Y гипероним X , если X – разновидность Y (фрукт – гипероним персика )

- Гипонимы : Y гипоним X , если Y – разновидность X (персик – гипоним фрукта )

- Равные по рангу : X и Y равны по рангу , если у них общий гипероним (персик и яблоко – равные по рангу)

- Голонимы : Y голоним X , если X – часть Y (персик – голоним косточки )

- Меронимы : Y мероним X , если Y – часть X (кожура – мероним персика )

Таким образом, в словаре WordNet описаны отношения между смыслами вида общее-частное и часть.

WordNet используется при поиске совпадений в Базе Знаний. Например, если в Базе хранится Т-выражение < bird can fly> и в словаре WordNet определено, что canary гипоним bird . Пусть был задан вопрос Can canary fly?” . Парсер преобразует этот вопрос в выражение < canary can fly> . Не найдя совпадений в Базе, Start применит WordNet и попробует найти ответ на более общий вопрос: Can bird fly?”. На этот вопрос будет найден ответ Yes, из чего, учитывая, что canary – разновидность bird Start сделает вывод о том, что canary can fly” .

2.5 Omnibase

Для поиска ответов на фактографические вопросы типа “When did Beethoven die?” или “What is the capital of England?” Start использует базу Omnibase . В этой базе используется иная модель хранения информации: «объект-свойство-значение». Например информация “Federico Fellini is a director of La Strada” сохранится в базе Omnibase в виде La Strada – director – Federico Fellini . Здесь La Strada – объект, director – свойство, а Federico Fellini – значение этого свойства. При такой модели данных поиск необходимой информации происходит достаточно быстро и эффективно.

Для поиска информации Omnibase использует большое количество внешних источников данных из сети Интернет: Wikipedia, Google, Internet Movie Database и т. д. При этом извлечение данных из внешнего источника происходит через так называемую обертку (wrapper) – модуль, обеспечивающий доступ к внешней базе через запросы вида «объект-свойство». Для определения источника, в котором хранится информация о том или ином объекте, Omnibase использует Каталог Объектов , в котором каждому объекту сопоставлен источник данных. Например, объекту La Strada соответствует база imdb- movie (Internat Movie Database). Определив базу, в которой следует искать, Omnibase посылает запрос к обертке этой базы: (La Strada , director ) и получает ответ Frederico Fellini .

2.6 Аннотации на естественном языке

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

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

Внедрение аннотаций происходит через RDF-описания (Resource Description Framework), которые прикрепляются к каждому ресурсу. Язык RDF основан на формате XML. Описание этого языка достаточно объемно, поэтому мы лишь ограничимся примером RDF-описания некоторой базы, в которой хранится географическая информация. К этой базе прикрепляются параметризованные аннотации " Many people live in ? s " и " population of ? s " , и шаблон ответа: "The population of ?s is ?o " , где ? o обозначает обращение к базе и извлечение свойства population у объекта ? s . При обработке такой аннотации Парсер сохранит 2 шаблона вопроса и ссылку на шаблон ответ. Если при выполнении запроса пользователя Start найдёт совпадение в Базе Знаний с шаблоном вопроса, то произойдёт обращение к внешнему ресурсу, из которого была взята аннотация, и будет сгенерирован соответствующий ответ.

Кроме того, используя параметризованные аннотации можно описывать схему поиска ответа на целый класс вопросов. Например, вопросы вида “What is the country in Africa with the largest area?” или “What country in Europe has the lowest infant mortality rate?” попадают под один шаблон: “What country in $region has the largest $attribute ”. Далее, в аннотации описывается общий алгоритм поиска ответа на подобные вопросы.

Некоторые вопросы являются композицией нескольких вопросов. Например, для ответа на вопрос “Is Canada’s coastline longer than Russia’s coastline?” необходимо, во-первых, вычислить длину береговой линии Канады и России, а во-вторых, сравнить полученные значения и сгенерировать ответ. Поэтому для такого рода вопросов можно описать план поиска ответа, в котором будут задаваться вспомогательные вопросы.

2.7 Заключение

Вопросно-ответная система Start использует дифференцированный подход к поиску ответов в зависимости от вида вопроса. Это даёт относительно хороший результат для большого числа общих вопросов.

Используемые в качестве основы База Знаний и тернарные выражения являются удачной моделью представления информации, которая, с одной стороны, в некоторой степени сохраняет семантические связи между словами, а с другой стороны, является достаточно простой для эффективной реализации поиска и редактирования Базы.

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

И, наконец, различные словари и лингвистические модули в некоторой степени моделировать семантические особенности естественного языка и обрабатывать более сложные запросы. Задача составления таких словарей, равно как и другие проблемы, связанные с разработкой вопросно-ответных систем, неизбежно требует привлечения как специалистов не только в области computer science, но и лингвистов и филологов.

3. Статистические техники для анализа естественного языка

3.1 Введение

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

Рис.1 Дерево разбора для фразы “The dog ate”

На рис.1 вершины (det, noun, np и т. д.) представляют собой логические объединения частей предложения. Например, np – noun phrase, значит, что этот узел дерева отвечает за часть предложения имеющую смысл существительного. Заметим, что для любой, даже такой простой фразы может существовать несколько деревьев разбора, которые будут отличаться тем, что одной и той же фразе будут придавать различный смысл. Например, можно сказать: “I ate meat with dogs”. Из такого предложения можно получить 2 совершенно разных дерева разбора. В одном получиться, что я ел мясо вместе с собаками, а в другом, что я ел какое-то мясо разбавленное собачьими внутренностями. Самое удивительное, что такие “замечательные” примеры повсеместно встречаются в английской литературе , так что придётся довольствоваться ими. Чтобы избежать подобных нелепостей, следует использовать отдельный синтаксический анализатор, который, в меру своих сил, будет помогать нашему парсеру. В данной работе мы будем строить парсер, который сам по себе будет учитывать синтаксические связи при построении дерева разбора.

3.2 Определение частей речи для слов в предложениях

На английском языке задача данной части звучит как Part-Of-Speech tagging и является одной из многочисленных подзадач такого раздела современной науки как NLP (Natural Language Processing). Вообще, NLP ставит своей целью возможность понимания компьютером текстов на естественном языке. Эти задачи сейчас широко встречаются и их эффективные решения сильно востребованы. Было бы, конечно, замечательно, если бы программа, “прочитав” учебник по физике, самостоятельно отвечала на вопросы типа: “Что является причиной нагревания полупроводника в таком-то опыте?”. Здесь сразу же видна и очередная трудность – даже прочитав учебник, программа должна ещё понимать вопросы пользователя, а ещё, желательно, уметь генерировать свои вопросы (мечта некоторых ленивых преподавателей).

Вернёмся к уже поставленному вопросу: “Как определить часть речи для слова в предложении?”.

Антонимы" href="/text/category/antonimi/" rel="bookmark">антонимов и т. д. Так как мы рассматриваем статистический подход, то для каждого слова мы рассмотрим вероятность того, что оно будет существительным, прилагательным и т. д. Построить такую таблицу вероятностей мы сможем на основе тестовых текстов, которые уже вручную проанализированы. На рис.2 жирным шрифтом выделены те части речи, которые определяются у слов при таком подходе. Сразу же видна и одна из возможных проблем – хоть “can” в большинстве случаев и является модальным глаголом, но иногда он может быть и существительным. Получается, что данный способ будет всегда рассматривать “can” как модальный глагол. Несмотря на свою простоту и очевидные минусы, данный способ показывает хорошие результаты и, в среднем, распознаёт правильно 90% слов. Формализуя полученные результаты, напишем произведение, которое надо максимизировать в ходе данного алгоритма:

Здесь введены следующие обозначения:

    t – таг (det, noun, …) w – слово в тексте (can, will…) p(t | w) – вероятность того, что таг t соответствует слову w

Учитывая недостатки предыдущей модели, была создана новая, принимающая во внимание такой факт, что, например, по статистике, после прилагательного идёт другое прилагательное или существительное. Стоит отметить, что эта, как и все остальные статистики получены из какого-то примера, а случай, когда начальной статистики нет, рассматриваться не будет. На основе данного предложения была выведена следующая формула:

    p(w | t) – вероятность того, что слово w соответствует тагу t p(t1 | t2) – вероятность того, что t1 идёт после t2

Как видно из предложенной формулы, мы пытаемся подобрать таги так, чтобы слово подходило тагу, и таг подходил предыдущему тагу. Данный метод показывает лучшие результаты, чем предыдущий, что вполне естественно, так, например, он распознает “can”, как существительное, а не как модальный глагол.

Построенная модель для вычисления вероятности того, что набор тагов будет соответствовать предложению, как оказалось, может быть интерпретирована как “скрытая модель Маркова“ (Hidden Markov Model).

Получаем что-то наподобие конечного автомата. Теперь опишем, как его получить. Вершины – части речи. Пара (слово, вероятность) в вершине показывает, какая вероятность того, что слово, отнесённое к данной части речи будет именно этим, например, для вершины “det” и слова “a” это будет вероятность того, что взятый наобум артикль из тестового текста будет “а”. Переходы показывают, с какой вероятностью после одной части речи будет следовать другая. Например, вероятность того, что подряд будут идти 2 артикля, при условии, что встретился артикль, будет равняться 0.0016.

Наша же задача будет состоять в том, чтобы найти путь в такой модели, так чтобы произведение чисел на рёбрах и в вершинах было бы максимальным. Решение такой задачи существует, но мы не будем останавливаться на нём, так как данный вопрос выходит за рамки этой работы. Скажем лишь, что существуют алгоритмы, решающие эту задачу за линейное по количеству вершин время. Добавим, что по существующей классификации мы получили “канонический статический расстановщик тагов” (canonical statistical tagger).

Рассмотрим теперь другой подход к определению тагов. Он называется трансформационная схема (transformational scheme). Она заключается в том, что, работая над тестовыми предложениями, сначала применяется тривиальный алгоритм, а затем система рассматривает все правила вида: “Поменять у слова таг X на таг Y, если таг предыдущего слова – Z”. Всего таких правил будет количество тэгов в кубе, что сравнительно мало. Поэтому на каждом шаге пытаемся применить такое правило, и, если после этого количество правильно определённых частей речи возрастёт, то правило станет кандидатом на звание лучшего правила на первом шаге. Далее выбирается лучшее правило и записывается в список “хороших” правил. Так делаем сколько-то раз. Получаем N правил, которые “хорошо” улучшают вероятность системы тагов для предложений из тестовой системы. Далее при самом разборе произвольного предложения, после применения тривиального алгоритма, используем уже заготовленные правила. Для данного алгоритма можно отметить один из его основных плюсов – скорость. Она равняется 11,000 слов/сек., тогда как алгоритм, использующий HMM, имеет 1,200 слов/сек.

В заключение хотелось бы добавить, что пока мы предполагали наличие объёмной начальной базы. Если же такой нет, то тренировка HMM не приводит к существенным улучшениям (эффективность составляет 90%). В то время как TS (transformational scheme) позволяет достичь 97%. Напомним, что эффективность мерится, как количество правильно определённых тагов на тестовых текстах.

3.3 Создание деревьев разбора из предложений

Рис.4 Разбор предложения “The stranger ate doughnut with a fork.”

Задачей данного раздела будет построение деревьев разбора аналогичных приведённому на рис. 4. Сразу отметим, что в Интернете существует богатая коллекция уже созданных деревьев для соответствующих предложений из начальной базы. Об этой системе можно узнать подробнее, посетив сайт . Сразу оговорим вопрос проверки парсеров. Мы просто подаём им на вход предложения из и проверяем полученные деревья на совпадения. Это можно сделать несколькими способами, но в данной работе мы воспользуемся одним из уже предложенных в . На пространстве деревьев мы введём две метрики: точность (precision) и память (recall). Точность будет определяться, как количество правильно определённых нетерминальных вершин, делённое на их общее количество. Память будет равняться количеству правильно найденных вершин, делённое на количество нетерминалов того же предложения в базе . В утверждается, что, если применить самый простой подход к построению дерева, то сразу получится эффективность по обеим метрикам 75%. Однако, современные парсеры могут достигать эффективности 87-88% (везде и далее, если не будет специально указано, эффективность будет иметься в виду по обеим метрикам).

Разобьём нашу задачу на 3 главных этапа:

    Нахождение правил для применения Назначение вероятностей правилам Нахождение наиболее вероятного правила

Один из простейших механизмов, позволяющих решить данную задачу, есть “Вероятностные контекстно-свободные грамматики” (PCFG). Рассмотрим пример такой грамматики, который позволит легче разобраться в этом понятии:

    sp → np vp (1.0) vp → verb np (0.8) vp → verb np np (0.2) np → det noun (0.5) np → noun (0.3) np → det noun noun (0.15) np → np np (0.05)

Здесь написаны правила для разбора соответствующих вершин, при этом для каждого правила существует вероятность его применения. Таким образом, мы можем посчитать вероятность соответствия дерева “π” своему предложению “s”:

margin-top:0cm" type="disc"> s – начальное предложение π – полученное нами дерево с – пробегает внутренние вершины дерева r(c) – вероятность применения r для с

Мы не будем приводить точных алгоритмов, скажем лишь, что перебор всех деревьев разбора длины N, используя PCFG, займёт N в кубе времени. К сожалению, можно отметить, что PCFG сами по себе не выводят “хороших” статистических парсеров, поэтому они и не получают большое распространение.

3.4 Создание собственных правил разбора на основе PCFG. Treebank grammars. “Markov grammars”

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

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

Обзор последних 2 проблем был дан в предыдущей части, поэтому сейчас остановимся

на первом пункте. Сначала предложим простой вариант его решения. Допустим, у нас уже есть готовая коллекция деревьев разбора. Тогда, обрабатывая каждое из таких деревьев, мы просто из каждой нетерминальной вершины сделаем правило, исходя из того, как она раскрыта в конкретном дереве. После этого, если такое правило уже есть, то увеличиваем его статистический параметр на 1, а если его нет, тогда добавляем в нашу грамматику новое правило с этим параметром равным 1. После обработки всех тестовых деревьев, произведём нормирование, чтобы вероятность применения каждого правила была ≤ 1. Эффективность таких моделей составляет 75% . Такие модели и получили название “Treebank grammars”.

Теперь немного поговорим о подходе, который позволяет изобретать новые правила “на лету”. Для этого на основе тестовых деревьев мы построим статистику для следующей величины – p(t1 | f, t2). Она означает вероятность того, что таг “t1” встретится после тага “t2” при раскрытии формы “f”. Например, p(adj | np, det) означает, вероятность того, что после прилагательного будет стоять артикль, при условии, что мы раскрываем “фраза существительное” (вольный перевод np) и встретили артикль. На основе этого для вероятности правильного применения любого правила к какой-то вершине можно составить формулу:

3.5 Лексические парсеры

Главной идеей данной части будет изменение структуры дерева для того, чтобы улучшить эффективность нашей модели. Теперь мы не просто будем строить дерево разбора, как было представлено выше, а будем дополнительно каждой вершине приписывать слово, которое будет лучше всего характеризовать её, как лексическую единицу. Для вершины “c” такую строчку обозначим, как head(c). Head(c) будет определяться, как применение некой функции к детям “c” и правилу, по которому была “раскрыта” “c”. В общем, получается, что при построении этого head мы учитываем, что некоторые слова встречаются часто друг с другом, поэтому, имея такую статистику, мы сможем улучшить вероятность правдивости разбора для некоторых предложений. Например, в предложении “the August merchandise trade deficit” подряд идут 4 существительных, следовательно, если использовать предыдущие модели, мы получим очень малую вероятность для корректного разбора этого предложения. Но факт того, что “deficit” является главной частью этой “np” и того, что в тестовых текстах нам встречались выражения, в которых одновременно были “deficit” и остальные слова, поможет нам правильно составить дерево разбора. Теперь формализуем сказанное выше с помощью формулы:

    p(r | h) – вероятность того, что будет применено правило r для узла с заданным h. p(h | m, t) – вероятность того, что такой h является ребёнком вершины с head = m и тагом t.

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

h(c) = “deficit”

Здесь активно используется понятие условной вероятности. Просто вероятность того, что слово в вершине дерева “c” – “August”, как оказывается выше, если предположить, что head(c) = “deficit”. Фактически, мы хотим конкретизировать наши случаи так, чтобы очень редкие правила наподобие “rule = np → det propernoun noun noun noun” могли получить достаточно хорошую вероятность, и тогда мы могли бы обрабатывать очень сложные тексты. При этом нам неважно, что правило, которое мы хотели бы применить, могло не встречаться в начальной коллекции правил.

3.6 Заключение

Статистический подход позволяет решить многие задачи NLP и является одним из достаточно новых и быстро развивающихся направлений в математической лингвистике. В данной работе были рассмотрены лишь базовые понятия и термины, что оставляет читателю свободу выбора при чтении специфических исследований на данную тему. К сожалению русскоязычных читателей, стоит отметить, что количество исследований и работ на эту тему в России мало и весь материал приходилось брать из английских источников. Возможно, вы тот самый человек, который сможет изменить ситуацию и подхватит начинания 2 российских проектов. Один из них некоммерческий и разрабатывается на ПМ-ПУ СПбГУ. Другой – коммерческий продукт фирмы RCO, желающие могут прочитать научные труды этой компании на их сайте . Все примеры и картинки, которые использовались в этой статье, были взяты из .

4. Ссылки

CLEF. http://clef-qa. itc. it/ WordNet. http://wordnet. princeton. edu/ Pen treebank. http://www. cis. upenn. edu/~treebank/ Start. http://start. csail. mit. edu/ TREC. http://trec. nist. gov/ Eugene Charniak , “Statistical Techniques for Natural Language Parsing” Gary C. Borchardt , “Causal Reconstruction” Boris Katz, Beth Levin “Exploiting Lexical Regularities in Designing Natural Language Systems” SEMLP. http:/// RCO. http://www. *****/

Вопросно-ответные системы

Вопросно-ответная система (англ. Question-answering system) - это особый тип информационных систем , являющиеся гибридом поисковых , справочных и интеллектуальных систем (часто они рассматриваются как интеллектуальные поисковые системы ). QA-система должна быть способна принимать вопросы на естественном языке, то есть это система с естественно-языковым интерфейсом. Информация предоставляется на основе документов из сети Интернет или из локального хранилища. Современные разработки QA-систем позволяют обрабатывать множество вариантов запросов фактов, списков, определений, вопросов типа Как, Почему, гипотетических, сложных и межязыковых.

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

Архитектура

Первые QA-системы были разработаны в 1960х годах и являлись естественно-языковыми оболочками для экспертных систем , ориентированных на конкретные области. Современные системы предназначаются для поиска ответов на вопросы в предоставляемых документах с использованием технологий обработки естественных языков (NLP).

Современные QA-системы обычно включают особый модуль - классификатор вопросов , который определяет тип вопроса и, соответственно, ожидаемого ответа. После этого анализа система постепенно применяет к предоставленным документам все более сложные и тонкие методы NLP, отбрасывая ненужную информацию. Самый грубый метод - поиск в документах - предполагает использование системы поиска информации для отбора частей текста, потенциально содержащих ответ. Затем фильтр выделяет фразы, похожие на ожидаемый ответ (например, на вопрос «Кто …» фильтр вернет кусочки текста, содержащие имена людей). И, наконец, модуль выделения ответов найдет среди этих фраз правильный ответ.

Схема работы

Производительность вопросно-ответной системы зависит от качества текстовой базы - если в ней нет ответов на вопросы, QA-система мало что сможет найти. Чем больше база - тем лучше, но только если она содержит нужную информацию. Большие хранилища (такие как Интернет) содержат много избыточной информации. Это ведёт к двум положительным моментам:

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

Поверхностный поиск

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

Расширенный поиск

Проблемы

В 2002 году группа исследователей написала план исследований в области вопросно-ответных систем. Предлагалось рассмотреть следующие вопросы.

Типы вопросов Разные вопросы требуют разных методов поиска ответов. Поэтому нужно составить или улучшить методические списки типов возможных вопросов. Обработка вопросов Одну и ту же информацию можно запросить разными способами. Требуется создать эффективные методы понимания и обработки семантики (смысла) предложения. Важно, чтобы программа распознавала эквивалентные по смыслу вопросы, независимо от используемых стиля , слов, синтаксических взаимосвязей и идиом . Хотелось бы, чтобы QA-система разделяла сложные вопросы на несколько простых, и правильно трактовала контекстно-зависимые фразы, возможно, уточняя их у пользователя в процессе диалога. Контекстные вопросы Вопросы задаются в определенном контексте . Контекст может уточнить запрос, устранить двусмысленность или следить за ходом мыслей пользователя по серии вопросов. Источники знаний для QA-системы Перед тем как отвечать на вопрос, неплохо было бы осведомиться о доступных базах текстов. Какие бы способы обработки текстов не применялись, мы не найдем правильного ответа, если его нет в базах. Выделение ответов Правильное выполнение этой процедуры зависит от сложности вопроса, его типа, контекста, качества доступных текстов, метода поиска и др. - огромного числа факторов. Поэтому подходить к изучению методов обработки текста нужно со всей осторожностью, и эта проблема заслуживает особого внимания. Формулировка ответа Ответ должен быть как можно более естественным. В некоторых случаях достаточно и простого выделения его из текста. К примеру, если требуется наименование (имя человека, название прибора, болезни), величина (денежный курс, длина, размер) или дата («Когда родился Иван Грозный?») - прямого ответа достаточно. Но иногда приходится иметь дело со сложными запросами, и здесь нужны особые алгоритмы слияния ответов из разных документов. Ответы на вопросы в реальном времени Нужно сделать систему, которая бы находила ответы в хранилищах за несколько секунд, независимо от сложности и двусмысленности вопроса, размера и обширности документной базы. Многоязыковые запросы Разработка систем для работы и поиска на других языках (в том числе автоматический перевод). Интерактивность Зачастую информация, предлагаемая QA-системой в качестве ответа, неполна. Возможно, система неправильно определила тип вопроса или неправильно «поняла» его. В этом случае пользователь может захотеть не только переформулировать свой запрос, но и «объясниться» с программой с помощью диалога. Механизм рассуждений (вывода) Некоторые пользователи хотели бы получить ответ, выходящий за рамки доступных текстов. Для этого в QA-систему нужно добавить знания, общие для большинства областей (см. Общие онтологии в информатике), а также средства автоматического вывода новых знаний. Профили пользователей QA-систем Сведения о пользователе, такие как область интересов, манера его речи и рассуждения, подразумеваемые по умолчанию факты, могли бы существенно увеличить производительность системы.

Ссылки

  • Dialogus - поисковая машина, автоматически подбирающая ответы на вопросы пользователей.
  • Ответы@Mail.Ru: Человеческий поиск ответов на любые вопросы.

Wikimedia Foundation . 2010 .

Смотреть что такое "Вопросно-ответные системы" в других словарях:

    Эта статья об автоматических информационных системах. О типе социальных сетей см. система вопросов и ответов (веб сервис). Вопросно ответная система (QA система; от англ. QA англ. Question answering… … Википедия

    Интеллектуальная информационная система (ИИС) это один из видов автоматизированных информационных систем, иногда ИИС называют системой, основанных на знаниях. ИИС представляет собой комплекс программных, лингвистических и логико математических… … Википедия

    В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия

    URL … Википедия

    - (от англ. Virtual виртуальный, Digital цифровой, Assistant помощник, сокращенно VDA) веб сервис и/или приложение для смартфонов и ПК, фактически исполняющий роль личного секретаря при пользователе. Решает задачи планирования графика,… … Википедия

    Представление знаний вопрос, возникающий в когнитологии (науке о мышлении), в информатике и в исследованиях искусственного интеллекта. В когнитологии он связан с тем, как люди хранят и обрабатывают информацию. В информатике с подбором … Википедия

    Представление знаний вопрос, возникающий в когнитологии (науке о мышлении), в информатике и в искусственном интеллекте. В когнитологии он связан с тем, как люди хранят и обрабатывают информацию. В информатике основная цель подбор представления … Википедия

    Предназначена для получения пользователем максимально точной (релевантной) информации по интересующей его (и ограниченной базой статей) теме. Обычно выбор статьи происходит по иерархии разделов справки. Справочные системы часто комбинируются с… … Википедия

    - (Natural Language Processing, NLP) общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза естественных языков. Применительно к искусственному интеллекту анализ означает … Википедия

    Wolfram|Alpha Главная страница сайта … Википедия

Введение

Проблемы

Обзор предметной области

1 Задача анализа вопроса

Методы анализа вопросов

1 Символьные шаблоны вопросов

2 Синтаксические шаблоны вопросов

3 Статистика употребления слов в вопросах

Оценка методов анализа вопросов

1 Создание тестовой коллекции вопросов

2 Метрики

3 Результаты простого эксперимента

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

Введение

В связи с бурным развитием информационных технологий и непрерывным увеличением объемов информации, доступной в глобальной сети Интернет, всё большую актуальность приобретают вопросы эффективного поиска и доступа к данным. Зачастую стандартный поиск с использованием ключевых слов не даёт желаемого результата, в связи с тем, что такой подход не учитывает языковые и смысловые взаимосвязи между словами запроса. Поэтому сейчас активно развиваются технологии обработки естественных языков (Natural Language Processing, NLP) и основанные на них вопросно-ответные системы (Question-Answering Systems, QAS).

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

В качестве источника информации QA-система использует либо локальное хранилище, либо глобальную сеть, либо и то и другое одновременно. Несмотря на явные преимущества использования Интернета, такие как доступ к огромным, постоянно растущим информационным ресурсам, с этим подходом связана существенная проблема - информация в Интернете неструктурированна и для её корректного извлечения необходимо создание так называемых "оберток" (wrapper), то есть подпрограмм, которые обеспечивают унифицированный доступ к различным информационным ресурсам.

Современные QA-системы разделяют на общие (open-domain) и специализированные (closed-domain). Общие системы, то есть системы, ориентированные на обработку произвольных вопросов, имеют достаточно сложную архитектуру, но тем не менее на практике дают достаточно слабые результаты и невысокую точность ответов. Но, как правило, для таких систем более важным оказывается степень покрытия знаний, нежели точность ответов. В специализированных системах, отвечающих на вопросы, связанные с конкретной предметной областью, напротив, точность ответов зачастую оказывается критическим показателем (лучше вообще не дать ответа на вопрос, чем дать неправильный ответ).

1. Проблемы

Однако сегодня вопросно-ответные системы показывают далеко не впечатляющие результаты. Так, лучшая система на дорожке GikiCLEF 2009 продемонстрировала точность 47% (отметим, что это результат работы систем на многоязыковой коллекции). Отдельно отметим тот факт, что сегодня очень мало русскоязычных вопросно-ответных систем участвует в открытой независимой оценке качества. В публикациях встречается только один случай, дающий возможность сравнить хотя бы две системы - это участие системы Стокона (сегодня AskNet.ru) и Exacatus.ru на семинаре РОМИП 2006 (2., 23). Обе системы используют метод семантического индексирования, который является сегодня только одним из множества методов, используемых исследователями в мире (3,4). По мнению авторов, требуется провести исследование других популярных методов на русскоязычном корпусе.

Анализ существующих работ показал, что для проведения независимой оценки на корпусах русского языка всего спектра методов, применяемых в вопросно-ответных системах, требуется создание исследовательской программной платформы в согласии с т.н. типовой архитектурой вопросно-ответной системы (Common architecture for Question Answering (3)). В качестве основы предлагается использовать систему с открытым исходным кодом OpenEphyra, которая уже была использована другими исследователями для работы с английским, немецким и голландским языками (5). Архитектура системы OpehEphyra повторяет типовую архитектуру.

Основными задачами для работы являются реализация практически всех модулей конвейера системы для русского языка. Авторы предполагают задействовать следующие существующие программные библиотеки для обработки русского языка: библиотеки лексического, морфологического и синтаксического разбора от aot.ru (6), модуль морфологического разбора предложений mystem (7), классификацию вопросов системы AskNet.ru для русского языка (8., 34), тезаурус русского языка RussNet (9). Ряд недостающих модулей необходимо разработать самостоятельно: синтаксические шаблоны вопросов и ответов, модуль категоризации вопросов, модуль распознавания именованных сущностей.

Рис.1. Архитектура системы OpenEphyra (10., 1)

Целью работы является подготовка базовой исследовательской системы для выступления на семинарах РОМИП, CLEF, TREC. Без подобной системы авторы считают невозможным проведение экспериментальных исследований методов автоматического ответа на вопросы на русском языке. Учитывая результаты аналогичного проекта на голландском языке - в работе (5) была достигнута точность 3.5% - авторы ожидают, что базовая реализация системы продемонстрирует точность того же порядка на дорожке РОМИП прошлых лет. Отдельной проблемой является невозможность повторно использовать вопросно-ответные дорожки РОМИП в автоматическом режиме (2). Для решения этой проблемы авторы планируют создать повторно используемую тестовую коллекцию на основе подмножества заданий РОМИП, с использованием регулярных выражений для сравнения ответов, как предложено организаторами TREC в работе (11).

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

2. Обзор предметной области

Системы вопросно-ответного поиска в сравнении с традиционными поисковыми системами получают вопросительно предложение на естественном языке (на английском, на русском и т.д.), а не набор ключевых слов, и возвращают краткий ответ, а не список документов и ссылок. Современные системы информационного поиска позволяют нам получить список целых документов, которые могут содержать интересующую информацию, при этом оставляют пользователю работу по получению нужных данных из документов, упорядоченных по уровню релевантности запросу. Например, пользователь вводит следующий вопрос: "Кто является президентом России?" и в качестве ответа получает имя человека, а не список релевантных ссылок на документы. Таким образом, нахождение ответа на вопрос извлечением небольшого отрывка текста из документа, в котором непосредственно содержится сам ответ, в отличие от информационного поиска совсем другая задача.

Большая часть существующих проектов в области вопросно-ответного поиска предназначены для английского языка. Если сравнить несколько работ в данной сфере исследований, то можно прийти к стандартной схеме устройства вопросно-ответных систем. Как правило, работа типовой вопросно-ответной системы состоит из нескольких этапов:

Этап анализа вопроса, введенного пользователем;

Этап информационного поиска;

Этап извлечения ответа.

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

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

.1 Задача анализа вопроса

Первым этапом работы является создание модуля анализа вопросов (Question Analysis на Рис.1). Для модуля ставится следующая задача: для вопроса на естественном языке выделить фокус вопроса, опору вопроса и определить семантический тэг ответа (Рис.2).

Рис. 2. Недетализированная диаграмма IDEF0 для процесса анализа вопроса.

Фокус вопроса (англ.: question focus) -это такие сведения,содержащиеся ввопросе, которые несут в себе информацию об ожиданиях пользователя от информации в ответе (4).

Опора вопроса (англ.: question support) -это остальная часть вопроса(после"вычета" фокуса), которая несёт в себе информацию, поддерживающую выбор конкретного ответа.

Семантический тэг ответа (англ.: answer tag, answer type) -классзапрашиваемой пользователем информации согласно некоторой ранее заданной таксономии.

Ниже приведены примеры анализа вопросов из заданий РОМИП 2009, выполненного вручную (Таб.2.1., сохранена орфография реальных запросов ).

Таблица 2.1.

Примеры анализа вопросов из заданий РОМИП 2009. (3., 12)

№Вопрос, жирным шрифтом выделен фокусСемантический тэгnqa2009_6368как отключить перехват клавиатуры?Recipenqa2009_7185сколько стоит поченить гнездо у телефона сони эрикссон?Moneynqa2009_6425в каких религиях как рассматривается карма?Definitionnqa2009_3123отечественная война кто с кем?Countrynqa2009_8557являются ли чердаки пожароопасными помещениями?Yes/Nonqa2009_7801какое колличество циклов чтения/записи предусмотренноCardinalкомпанией fujifilm для картриджей стандарта lto 4?nqa2009_8763когда начнется распродажа в меге?Datenqa2009_9150во сколько заход солнца 27 февраля?Timenqa2009_8754когда можно сводить кошек?Agenqa2009_6797какие в тамбове есть студии звукозаписи??Organization

Таксономия семантических тэгов обычно выбирается разработчиками системы так, чтобы покрыть большую часть вопросов к системе. Следующая таксономия была заимствована из (3) и дополнена авторами несколькими тэгами, чтобы лучше покрывать тестовую коллекцию вопросов РОМИП 2009: Age, Disease, Ordinal, Recipe, Animal, Duration, Organ, Salutation, Areas, Event, Organization, Substance, Attraction, Geological objects, People, Term (Reverse definition), Cardinal, Law, Percent, Time, Company-roles, Location, Person, Title-of-work, Country, Manner, Phrase (NNP), URL, Date, Measure, Plant, Weather, Date-Reference, Money, Product, Yes/No, Definition, Occupation, Reason .

3. Методы анализа вопросов

В этом разделе дан краткий обзор существующих методов анализа вопросов.

.1 Символьные шаблоны вопросов

Простейшим способом определить тэг или фокус в вопросе является подготовка шаблонов (регулярных выражений) для распознавания распространённого вопросительного оборота. Ниже приведёны некоторые правила, используемые в системе OpenEphyra для английского языка (Таб.3.1.).

Таблица 3.1.

Символьные шаблоны вопросов из системы OpenEphyra (10)

СемантическийРегулярное выражение вопросаТэгNEaward(what|which|name|give|tell) (.*)?(accolade|award|certification|decoration|honoring|honouring|medal|prize|reward)NEbird(what|which|name|give|tell) (.*)?birdNEbirthstone(what|which|name|give|tell) (.*)?birthstoneNEcolor(what|which|name|give|tell) (.*)?(color|colour)NEconflict(what|which|name|give|tell) (.*)?(battle|conflict|conquest|crisis|crusade|liberation|massacre|rebellion|revolt|revolution|uprising|war)NEdate(when|what|which|name|give|tell) (.*)?(birthday|date|day)NEdate-century(when|what|which|name|give|tell) (.*)?century

Для выделения фокуса в работе (3) использовались следующие шаблоны, использующие в т.ч. и морфологическую информацию (Таб.3.2., на английском языке):

Таблица 3.2.

Примеры шаблонов для выделения фокуса вопроса на английском языке (3)

Вопросительное словоШаблонWhat, which , name , list,question word + headword of first noun clusteridentifyWho, why, whom, whenquestion wordWherequestion word + main verbHowquestion word plus next word if it seeks an count attribute + headword of firstnoun clusterquestion word plus the next word if it seeks an attributeif question seeks a methodology, then just question word

Очевидными недостатками такого подхода являются:

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

2.После ряда экспериментов становится очевидно, что связь между вопросительными словами и семантическими тэгами не так прямолинейна. Так слово "кто" может сигнализировать и о персоне, и об организации, и о стране, и о народе (например, в вопросе "Кто выиграл войну?").

.Выделение фокуса на основе шаблонов также работает в очень ограниченных случаях.

Метод шаблонов успешно использовался в системах, учувствовавших в TREC-8 (1999), в котором организаторы подготовили вопросы для дорожки QA вручную. Однако, уже в TREC-9 (2000) были предложены задания на основе реальных запросов пользователей и те системы, которые не применили иные методы анализа вопроса, заметно отстали от адаптировавшихся лидеров.

3.2 Синтаксические шаблоны вопросов

Для выделения фокуса вопросаследующим шагом после символьных шаблонов стал метод синтаксических шаблонов. В основе метода лежит предположение, что фокус вопроса часто находится в определённом синтаксическом отношении с вопросительным словом, м.б. не в одном, но набор вариантов этих отношений ограничен. Если выполнить синтаксический разбор предложения, то получится синтаксическое дерево (Рис.3.). Этот пример наглядно демонстрирует, что для работы на коллекции реальных вопросов пользователей система в т.ч. должна справляться с опечатками и орфографическими ошибками.

Вот пример синтаксического шаблона для распознавания фокуса, используемого в системе OpenEphyra:

(ROOT (SBARQ (WHNP (WP What)) (SQ (VP (VBZ is) (NP (NP (DT the) (NN name)) (PP (IN of) (*NP xx)))))))

Здесь в скобочной нотации задано синтаксическое дерево со словами или их синтаксическими/морфологическими метками в узлах. Такой шаблон дерева сравнивается с реальным деревом вопроса и, в случае совпадения, фокусом считаются члены предложения, соответствующие позиции xx в шаблоне.

3.3 Статистика употребления слов в вопросах

В работе(3)предложен методавтоматического обучения статистической модели для простановки семантического тэга. Для каждого вопроса из обучающей выборки выделяют три "потока" признаков (features stream):

1.все слова как есть и дополнительные метки к некоторым из них (например, метка bqw означает, что вопросительное слово стоит в начале предложения);

2.метки частей речи слов и порядковые номера слов в предложении;

3.Фокусные слова с гиперонимами, согласно лексическому тезаурусу.

Ниже приведены признаки для одного вопроса на английском языке (Таб.3.3.).

Таблица 3.3.

Признаки для вопроса " Which European city hosted the 1992 Olympics?" (3)

Слова как естьWhich which_bqw which_JJ European city host 1992 olympicsЧасти речиWDT_0 which_WDT JJ_0 european_JJ NN_1 city_NN VBD_2hosted_VBD DT_3 CD_4 1992_CD NNS_5 olympics_NNSГиперонимыEuropean city metropolis urban_center municipality urban_areageographical_areageographic_areageographical_regiongeographic_region regionlocation entity metropolisurban_centercity_centercentral_cityfinancial_centerHubcivic_centermunicipal_center down_town inner_city

Разметив вручную коллекцию из более 4 тыс. вопросов авторы (3) посчитали, какие свойства чаще означают каждый семантический тэг. Для этого использовался математический аппарат максимизации энтропии. Всего на коллекции из 4 тыс. вопросов было порождено 36 тыс. признаков. Ниже приведены веса для принятия решения о простановке того или иного тэга на основании выявленных признаков (Таб.3.4.).

Недостатком статистического метода является необходимость создания большой обучающей коллекции вопросов вручную. Так, авторы работы (3) не удовлетворены размером своей коллекции из 4 тыс. вопросов TREC-9.

Таблица 3.4.

Признаки для простановки семантического тэга (3)

ПризнакиСемантический тэгВесmany | COUNT0CARDINAL6,87why_WRBREASON33,04RegionLOCATION5,75who_VPERSON4,09when_V | DEFN0DATE17,31PeriodDURATION7,66GovernmentLOCATION9,56

4. Оценка методов анализа вопросов

Рассмотрим процедуру экспериментального исследования методов анализа вопросов.

.1 Создание тестовой коллекции вопросов

Как и в других задачахинформационного поиска предлагается создать текстовую коллекцию вопросов и выполнить анализ вручную с помощью инструмента асессора. В качестве тестовой коллекции авторы используют задания к вопросно-ответной дорожке семинара РОМИП 2009. Это 9617 русскоязычных вопросов, сформулированных пользователями в интернете.

.2 Метрики

В качестве основной метрики предлагается использоватьошибку простановки семантического тэга : Et = (M-N)/M, где N - число вопросов, обработанных асессором, M - число вопросов, для которых модулем анализа вопроса был проставлен тот же семантический тэг, что и асессором (3).

Вторая метрика должна оценивать правильность выделения фокуса в вопросе. Авторы не нашли существующей метрики в литературе, поэтому предлагают свои метрики: точность P и полноту R выделения фокуса у заданного вопроса:

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

.3 Результаты простого эксперимента

На коллекции русскоязычных вопросовбыл поставлен эксперимент по исследованию тривиальной реализации модуля простановки семантического тэга. Модуль использовал таблицу поиска слов в вопросе для выбора того или иного семантического тэга. Ниже перечислены все правила работы модуля (Таб.4.1.).

Таблица 4.1.

Правила работы тривиального модуля анализа вопросов на русском языке.

СловоТэгСловоТэгСкачатьURLподарить | подарокProductКтоPersonЛиYes/NoКакRecipeопределение | что такоеDefinitionГдеLocationцена | стоимость | сколько стоитMoneyкогда | в каком годуDateвозраст | сколько летAge

Эксперимент показал, что такая реализация модуля анализа вопроса даёт ошибку 67%. На момент написания статьи авторы не проводили экспериментов с выделением фокуса.

Вывод

В задаче автоматического ответа на вопрос на естественном языке первым этапом работы системы является анализ вопроса. Качество работы модуля анализа вопроса существенно влияет на качество работы системы в целом (3). Зарубежными исследователями были поставлены эксперименты по анализу вопросов на английском языке, причём разные исследовательские группы, использовали разные методы решения этой первой задачи.

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

семантический тэг вопрос шаблон

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

1.Carol Peters. What happened in CLEF 2009 Introduction to the Working Notes. // Proceedings of CLEF2009. URL: #"justify">2.Российский семинар по Оценке Методов Информационного Поиска. Труды четвертого российского семинара РОМИП"2006. СПб.: НУ ЦСИ, 2006, 274 с.

3.Abraham Ittycheriah. A Statistical Approach For Open Domain Question Answering // Advances in Open Domain Question Answering. Springer Netherlands, 2006. Part 1. Vol.32.

4.Burger, J. и др. Issues, tasks and program structures to roadmap research in question & answering (Q&A). NIST DUC Vision and Roadmap Documents, 2001. URL: #"justify">6.Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search engine. MLMTA, 2003.

7.Поисковая система AskNet.ru [Электронный ресурс]: Перечень вопросов, поддерживаемых системой AskNet для проведения семантического поиска. URL: #"justify">.Азарова И. В. и др. Разработка компьютерного тезауруса русского языка типа WordNet // Доклады научной конференции "Корпусная лингвистика и лингвистические базы данных" / Под ред. А.С. Герда. СПб., 2002. С. 6-18.

9.Semantic Analyzer group blog [Электронный ресурс]. URL: http://semanticanalyzer.info/

Новые информационные технологии

Лекция № 2.2. Основные классы естественно-языковых систем. Интеллектуальные вопросно-ответные системы

    Новые информационные технологии (3)

1.1. Основные классы естественно-языковых систем

        Функциональные компоненты естественно-языковых систем

        Сравнительная характеристика основных классов ЕЯ-систем

        1. Интеллектуальные вопросно-ответные системы

          1. Информационно-поисковые системы

            Системы общения с базами данных

            Экспертные системы

            Диалоговые системы решения задач

            Интеллектуальные хранилища и цифровые библиотеки

        2. Системы распознавания речи

          1. Системы распознавания изолированно произносимых команд

            Системы распознавания ключевых слов в потоке слитной речи

            Системы распознавания слитной речи

            Подход «анализ-через-синтез»

            Системы чтения по губам

          Системы обработки связных текстов

          1. Системы реферирования текстов

            Системы сравнения и классификации текстов

            Системы кластеризации текстов

          Системы синтеза

          1. Системы синтеза речи

            Системы синтеза видеоряда по тексту

          Системы машинного перевода. Системы понимания речи (текстов)

          1. Системы фразового перевода

            Системы контекстного перевода

            Системы понимания речи (текстов)

          Онтологии и тезаурусы

          Речевые и текстовые базы

          Компоненты интеллектуальных систем

        Сравнительная характеристика естественно-языковых систем

        Интеллектуальные вопросно-ответные системы

В настоящее время наиболее массовым продуктом, подпадающим под категорию интеллектуальных вопросно-ответных систем, являются (57) информационно поисковые системы .

2.2.1.1. Информационно-поисковые системы

Наиболее известные информационно-поисковые системы GOOGLE, Yandex, Rambler, имеют приблизительно одинаковые возможности и функциональность. Единственное (58) отличие системы GOOGLE от остальных носит скорее технический характер: эта система реализована как параллельная распределенная система с использованием большого количества процессоров с памятью собственного производства. Возможно, именно это отличие сыграло решающую роль в несомненном превосходстве этой системы перед всеми остальными, хотя и имеющими более интеллектуальные функции. (59) Обработка естественного языка в этой и других информационно-поисковых системах играет не очень большую роль , но зато объем их использования в системах человеко-машинного общения очень велик.

Рис. 2.2. Типичная информационно-поисковая система.

(60) Основные функции информационно-поисковой системы сводятся к парсингу источников, индексированию текстов, извлеченных из источников, обработке запроса пользователя, сравнению проиндексированных текстов базы с запросом пользователя, выдаче результатов. Недавно в системе GOOGLE появился речевой ввод , позволяющий вводить в систему ограниченный по объему запрос голосом. Еще одной функцией, используемой в информационно-поисковых системах, является функция представления структуры модели мира системы, являющейся средством навигации по ресурсам системы .

Таким образом, стандартная (61) информационно-поисковая система содержит семь основных компонентов (см. рис. 2.2): блок ввода информации, блок парсинга, блок индексирования источников, блок обработки запросов пользователя, блок сравнения текстов источников с запросом пользователя, представленным на естественном языке, блок вывода результатов, и блок структурирования предметных областей и навигации .

Основной задачей реализации ввода является представление исходного множества текстов и запроса пользователя в виде, удобном компьютеру. Дело в том, что в силу большого объема обрабатываемой информационно-поисковыми системами информации (62) тексты обрабатываемых документов обычно не хранятся в системе .Хранятся только их представления . Тексты берутся из хранилища (хранилищ) и обрабатываются, время от времени (обычно циклически).

(63) Таким представлением текста может быть, например, список ключевых слов, извлеченных из текста (представленный векторно-пространственной, или n -граммной моделями), но может быть и сеть совместной встречаемости слов в фрагментах текста .

Основная идея (64) векторно-пространственной модели проста:текст описывается лексическим вектором в евклидовом пространстве,каждому компоненту вектора соответствует некоторый объект, содержащийся в тексте (слово, словосочетание, названия фирм, должности, имена и т.п.), который называется термом.Каждому используемому в текстетерму ставится в соответствие его вес (значимость), определяемый на основе статистической информации о его встречаемости в отдельном тексте .Размерность вектора – это количество термов, которые встречаются в текстах .

(65) В полиграммной модели текст представляется вектором, где элементы вектора – все комбинации символов длины n из алфавита M (для русского языка M = 33 ). Каждому элементу вектора ставится в соответствие частота встречаемости соответствующей n -граммы в тексте. Размерность вектора для произвольного текста жестко фиксирована и составляет 33 3 = 35937 элемента. Однако, как показывает практика, в реальных текстах реализуется не более 25-30 процентов n-грамм от общего допустимого их числа, т.е. для русского языка их не более 7000.

(66) Сеть совместной встречаемости слов в фрагментах текста . Текст представляется множеством понятий в их взаимосвязях. И понятия и связи оцениваются их весом.

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

Таким образом, помимо способов внутреннего представления текста, в информационно-поисковых системах существенную роль играет способ классификации (сравнения) текстов. (68) В настоящее время практическое применение получили классификаторы следующие типов :

        (69) Статистические классификаторы на основе вероятностных методов. Наиболее известным в данной группе является семейство Байесовых классификаторов. Их общей чертой являетсяпроцедура классификации, в основе которой лежит формула Байеса для условной вероятности .

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

2. (70) Классификаторы, основанные на функциях подобия . Наиболее характерными для таких классификаторов является использование лексических векторов модели терм-документ, которые так же применяются и в нейронных классификаторах. В качествемеры подобия обычно берется косинус угла между векторами, вычисляемый через скалярное произведение .

В свете выше описанного (72) в системах информационного поиска используются следующие стратегии .

1. (73) На основе ключевых слов . Ключевые слова обычно снабжаются весовыми характеристиками, которые определяют вес слова в тексте. В основе числовой характеристики лежит частота встречаемости слов в тексте. Однако смысловой вес слова отличается от частоты его появления в тексте.

2. Очень важна (74) информация о порядке следования ключевых слов в фрагментах текста . Для увеличения эффективности поиска в этом случае вместо ключевых понятий используютсяn-граммы ключевых понятий.

3. При поиске используется также частота совместной встречаемости ключевых слов в фрагментах текста. Внутренняя структура текста (75) в терминах ключевых слов в их взаимосвязях – смысловой портрет текста – является основой представления текста в информационно-поисковых системах. Смысловой портрет текста позволяет выявитьлогическую структуру текста (и логическую структуру всего корпуса текстов), которые улучшают качество поиска и ускоряют его.

4. В последнее время при поиске начали использовать так называемое (76) нечеткое сравнение .

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

Под (76) выводом результатов надо понимать те ссылки на исходный текст (тексты), которые система выдает пользователю . Это может быть система цитат, номера документов, хранящие анализируемые тексты.

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



Понравилась статья? Поделиться с друзьями: