Главная arrow Предыстория arrow Анализа текста
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Анализа текста Печать

Задача извлечения информации заключается в обработке текста на естественном языке с целью извлечения заданных элементов. На входе системы извлечения информации –– слабоструктурированный или неструктурированный текст на естественном языке; на выходе––

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

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

Релевантная информация должна быть определена абсолютно точно для того, чтобы автоматическая система извлечения информации показывала хорошие результаты. Хорошей постановкой задачи можно считать такую, для которой согласованность результатов выделения информации вручную для нескольких экспертов предметной области (inter-annotator agreement) будет высокой (более 90%). Если же ключевая информация скрыта или настолько плохо определена.

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

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

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

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

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

Общая схема обработки текста при извлечении информации

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

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

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

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

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

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

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

В дальнейшем происходит выделение семантических классов (составных типов). При выделении составных типов осуществляется пометка фрагментов текста, которые позже (например, при применении правил) рассматриваются как единое целое (например, даты, имена, должности). Выделение семантических классов осуществляется на основе тезаурусов или правил, подобных правилам извлечения информации. Оба варианта представляют интерес с точки зрения методов машинного обучения. Первый, к сожалению, практически невозможно автоматизировать, а второй мы рассмотрим ниже. Затем осуществляется применение правил извлечения информации к тексту. При выполнении условий и ограничений, описанных в правилах, выполняется функциональная часть правил. Функциональная часть позволяет строить целевые структуры данных или сохранять дополнительную информацию, которая будет использована на последующих этапах. Чаще всего правила группируются по фазам: правила последующих фаз имеют доступ к информации, порожденной правилами предыдущих. Построение и тестирование наборов правил извлечения информации, особенно для сложной предметной области –– трудоемкая задача, для которой предлагается ряд удовлетворительных решений с применением машинного обучения.

Целевые фреймы могут быть подвергнуты дополнительной обработке с целью повышения качества работы системы. Для этого используются средства разрешения кореферентности и объединения частичных результатов.

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

Объединение частичных результатов заключается в поиске частично заполненных целевых фреймов и принятии решения о возможности объединения результатов. В случае, когда объединение возможно, из нескольких целевых фреймов собирается один, обладающий более полной информацией, чем каждый из исходных. Объединение частичных результатов не имеет общего решения, как и ряд перечисленных выше проблем, а требует настройки на предметную область. Особенность этого этапа заключается в том, что есть ряд подходов, реализующих алгоритмы из области машинного обучения и близкие к ним (часто статистические), но помимо настройки параметров алгоритма, требуется выбор алгоритма для каждой предметной области и его творческая «доводка» для решения конкретной задачи. Алгоритмы построения правил объединения частичных результатов часто сходны с алгоритмами построения правил извлечения информации.

Качество морфологического анализа можно повысить при помощи контекстного анализа. Это позволит в большинстве случаев избавиться от морфологической омонимии. Модуль контекстного анализа можно настраивать на произвольную предметную область. Для этого необходимо обучающей программе модуля предоставить множество текстов –– документов целевой предметной области. На этом множестве обучающая программа выделит наиболее характерный контекст для значимых с точки зрения омонимии слов и будет использовать его в дальнейшем для разрешения омонимической неоднозначности.

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

Синтаксический анализ

Для использования машинного обучения при синтаксическом анализе требуется тщательная разметка больших объемов текстов, поэтому супервизорное обучение применять неперспективно.

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

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

Определение семантических классов

Важным свойством для системы извлечения информации является ее способность определять семантические классы фрагментов текста. Набор семантических классов может включать в себя разные составляющие –– от примитивных вариантов (например, определение дат) до выделения именованных сущностей и определения их класса (например, «Организация», «Персона», «Должность»). Это позволит при задании правил извлечения информации оперировать не отдельными словами и их взаимосвязями, а сущностями, характерными для предметной области.

Машинное обучение в этом контексте, скорее всего, возможно только в супервизорном варианте, поскольку применение кластеризации на множестве семантических классов приведет к результатам, с трудом воспринимаемыми человеком.