Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Автоматическое извлечение фактов из текста

Лекция



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

Задача извлечения информации из текста сама по себе не нова: в этом направлении проделано довольно много работы как со стороны крупных компаний aka Яndex и Google, так и со стороны независимых разработчиков. Однако, говорить о том, что данная задача окончательно решена, увы, не приходится. В этой статье я хочу немного упорядочить свои знания по данному вопросу, поверхностно разобрав наработки, с которыми мне недавно пришлось столкнуться.

Существующие решения


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

I. Токенизация


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

II. Морфологический анализ


После разбивки, для каждого слова необходимо получить морфологическую информацию о нем (часть речи, род, падеж, число и т.д.) и всевозможные атрибуты (например, является ли слово именем или географическим месторасположением). Для данной задачи необходимо наличие специальных словарей: в качестве реестра русских слов можно использовать словарь Зализнякаили его проприетарные производные. В качестве готового решения можно рассмотреть утилиту Mystem от Яndex.

В случае использования утилиты Mystem исходное предложение будет разобрано следующим образом:

krestyaninov@localhost# echo "Визит Президента в Данию придаст новое дыхание диалогу двух стран" | ./mystem -niwg
Визит{визит=S,муж,неод=(им,ед|вин,ед)}
Президента{президент=S,муж,од=(род,ед|вин,ед)}
в{в=PR=|в=S,сокр=(им,ед|им,мн|род,ед|род,мн|дат,ед|дат,мн|вин,ед|вин,мн|твор,ед|твор,мн|пр,ед|пр,мн)}
Данию{дания=S,гео,жен,неод=вин,ед}
придаст{придавать=V=непрош,ед,изъяв,3-л,сов}
новое{новое=S,сред,неод=(им,ед|вин,ед)|новый=A=(им,ед,полн,сред|вин,ед,полн,сред)}
дыхание{дыхание=S,сред,неод=(им,ед|вин,ед)}
диалогу{диалог=S,муж,неод=дат,ед}
двух{два=NUM=(род|вин,жен,од|вин,муж,од|пр)}
стран{страна=S,жен,неод=род,мн}



III. Синтаксический разбор


На данном этапе определяются связанные подгруппы слов в предложении. Например, СУЩЕСТВИТЕЛЬНОЕ-ГЛАГОЛ: «визит-предаст». Установление этих связей позволит нам определится с неоднозначностями в морфологическом анализе. Так например, из словосочетания «новое дыхание» видно, что «новое» — это прилагательное, а не существительное (в чем не было уверенности после морфологического анализа).

IV. Семантический разбор


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

V. Извлечение фактов


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

Подробнее об извлечении фактов можно посмотреть по перечисленным ниже адресам:
— Презентация «Яндекс.Пресс-портреты»;
— Презентация: « автоматическое извлечение фактов из текста »;

Существующие решения


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

Из платных систем можно отметить отечественную разработку RCO (спасибо rg_software).

 

 

Автоматическое извлечение фактов из текста На примере газетных статей Татьяна Ландо ООО «Идеограф»
Что это такое?
Fact extraction (text mining) – автоматическое извлечение из текстов новой, заранее неизвестной информации, для построения фактов.
Примеры фактов:
Установление связей между объектами
Установление свойств объектов
Установление значений параметров
Зачем это надо?
Сокращение трудоемкости при обработке текстов в конкретной предметной области. Об этом говорит сайт https://intellect.icu . Популярная область применения:
Медицина, биотехнологии.
Может применяться в:
Поддержка систем принятия решений
Экспертные системы
Базы знаний
Системы документооборота
Пример: текст
«Евросеть», крупнейшая розничная компания СНГ, объявляет о назначении на пост Вице-президента по маркетингу и рекламе компании Андрея Рукавишникова. Оборот компании «Евросеть», в 2006 году составил 4,62 млрд. долларов.
Пример: факты
1. отношения между объектами
Андрей Рукавишников - вице-президент по маркетингу и рекламе компании «Евросеть».
2. свойства объектов
«Евросеть» - крупнейшая розничная компания СНГ
3. значение параметров
Оборот компании «Евросеть» - 4,62 млрд. долларов за 2006 год.
Формулировка задачи
Извлекать факты из газетных текстов.
(Создать базу данных фактов)
На данном этапе стоят задачи:
Отождествлять имена собственные:
Андрей Рукавишников = > человек
«Евросеть» => компания
Устанавливать связи между ними
вице-президент по маркетингу и рекламе = >
=> занимаемая должность
Существующие проекты
Яндекс.Новости – пресс-портреты. http://news.yandex.ru/people/
RCO Fact Extractor http://rco.ru
Интегрум http:// www.integrum.ru /
Зачем еще одна система?
Существующие системы построены практически без использования лингвистических технологий.
Применение лингвистики может
обогатить результаты
сделать их более качественными
придать системе гибкость и расширяемость
Добавляем лингвистику!
определения
Термин – компонент тройки, т.е.единица релевантная для системы, в нашем случае: Имя человека, Название компании, Должность
Элементарный факт - полностью заполненная тройка (Человек, Компания, Должность) должность компания человек
Этапы обработки текста (для любой системы)
Первичная обработка текста (структурирование)
Извлечение фактов, с использованием образцов (паттернов)
Интерпретация результатов
Этапы работы нашей системы
Первичная обработка текста
Токенизация
Парсинг
Извлечение фактов
Идентификация терминов
Построение элементарных фактов
Интерпретация результатов
Проверка корректности
Запись в базу данных
Первичная обработка текста
Обязательные компоненты
Токенизация
Разбивка текста на слова.
Лемматизация (Нормализация)
приведение слова к начальной (нормальной) форме
Дополнительные компоненты
Частичный синтаксический анализ
Идентификация терминов
Токенизация
- Разбивка текста на слова.
Маркеры:
Пунктуация
Пробелы
Цифры
Проблемы:
Дефисное написание Связь-Банк
Использование пунктуации и цифр в именах собственных заявочный комитет "Сочи-2014"
Лемматизация
Приведение слова к начальной (нормальной) форме
Основная проблема:
Морфологическая неоднозначность директора – ед.ч. Р.п. или мн.ч. Им.п
Способы решения:
Статистический (частотный)
Учет синтаксической информации
Частичный синтаксический анализ
Частичный разбор предложения, установление грамматических связей между словами
Функции:
Снятие морфологической неоднозначности
Первичная идентификация терминов
Метод:
особый формализм для описания естественно-языковых грамматик: AGFL
AGFL
Affix grammar over the finite lattice
Распространяется под свободной лицензией ( GNU GPL )
уже подтверждена перспективность использования (на материале других европейских языков) для представления естественного языка в NLP технологиях
http :// www.agfl.cs.ru.nl / links.html ( примеры)
AGFL
Гибкость и устойчивость системы:
работает не только с предложениями, но и с «сегментами» текста
может обрабатывать грамматически неверные или неполные предложения
разрешение неоднозначности за счет сочетания признаков слов.
AGFL
Двухуровневая контекстно-свободная порождающая формальная грамматика
Морфология
Синтаксис
дополнена решеткой признаков с конечным числом значений.
Признаки:
грамматические категории,
лексико-грамматические разряды частей речи,
любые необходимые формальные характеристики
AGFL : морфологический модуль
задается анализ основных частей речи (существительных, глаголов, прилагательных и наречий).
использует лексикон основ, для которых указаны основные классификационные категории частей речи:
характеристика рода и одушевленности существительных,
лексико-грамматический разряд прилагательных
схема управления глаголов и т. д.
дополнительно используется модуль деривации
AGFL : морфологический модуль
результат работы
приписанная форме слова частеречная характеристика и набор значений морфологических категорий (многозначный – в случае омонимии форм )
встроен в синтаксический модуль
учет локального синтаксического контекста для снятия омонимии
наличие предлогов
соответствия между значениями грамматических категорий
словоформа пути в конструкции в пути получит не 5 интерпретаций в роли существительного а 2 – П.п. ед.ч. и В.п. мн.ч.
AGFL : синтаксический модуль
частотные конструкции словосочетаний,
частотные схемы построения простых предложений
отдельные осложняющие конструкции в простом предложении
ряды
причастные обороты
деепричастные обороты
AGFL : пример
Директора интерпретации :
Р.п. ед.ч., В.п. ед.ч., Им.п. мн.ч.
В заседании приняли(мн.ч) участие директора(мн.ч) крупнейших компаний Петербурга
Он был назначен на должность (управляет Р.п.) директора(Р.п.) по маркетингу.
Вчера совет акционеров снял(требует В.п.) с должности директора(В.п.) по инвестициям.
Этапы работы нашей системы
Первичная обработка текста
Токенизация
Парсинг
Извлечение фактов
Идентификация терминов
Построение элементарных фактов
Интерпретация результатов
Проверка корректности
Запись в базу данных
Идентификация терминов
На основе синтаксических зависимостей между словами делается вывод о том, обозначает ли эта конструкция один термин.
Для имен собственных учитываются так же пунктуация и заглавные буквы, написание латиницей
Идентификация терминов
Поиск опорного элемента
Предикаты
назначить
Маркеры классов
Господин
Компания
Должность
2. Наличие в словаре или онтологии
3. Паттерны / регулярные выражения
Идентификация терминов: пример
Новым директором по финансам и управлению в российском подразделении компании T-Systems назначен Игорь Чупалов
директор по NP(dat)
компания CompanyName
назначен PersonName(Nom)
Построение элементарных фактов
В реальности: почти неотделимо от предыдущего этапа.
Полный элементарный факт в одном предложении
Особый предикат
Отсутствие предиката
Особый маркер (временной, глагол говорения)
Построение элементарных фактов
Особый предикат
Новым директором по финансам и управлению в российском подразделении компании T-Systems назначен Игорь Чупалов
Отсутствие предиката
С 1 октября 2007 г. Джонатан Спарроу– генеральный директор Nokia Siemens Networks в России
Особый маркер (время, глагол говорения)
Президент компании «Евросеть» Алексей Чуйкин отметил: <…>
Построение элементарных фактов
Сложные ситуации:
В предложении содержится неполный факт.
В 1995 году возглавлял отдел маркетинга в компании Rothmans. (Решение: Учет всего абзаца)
В предложении содержится более одного факта.
Ранее г-н Шенделл работал на позиции вице-президента по продажам, а г-н Имс – старшего вице-президента Best Buy (Решение пока не найдено)
Этапы работы нашей системы
Первичная обработка текста
Токенизация
Парсинг
Извлечение фактов
Идентификация терминов
Построение элементарных фактов
Интерпретация результатов
Проверка корректности
Запись в базу данных
Проверка корректности
Осуществляется с помощью онтологии.
Онтология – формализация некоторой области знаний с помощью концептуальной схемы.
Иерархия понятий (объектов) и заданные отношения между ними.
Подробнее через неделю
Проверка корректности
С января Donald Ims директор Best Buy.
Donald Ims, Best Buy: человек vs компания?
… годовой оборот Best Buy превышает…
Онтология: у компании есть признак «оборот» = > Best Buy - компания
C января Х директор компании
=> Donald Ims – человек
Запись в базу данных
Запись фактов в базу данных (RDF?)
Организация поиска по базе данных
должность штат компания человек оборот
Использованные технологии
Разработана специальная платформа Ideolog:
Является системой логического вывода,
Полностью создана на основе платформы Java
Имеет классический набор встроенных предикатов, который подойдет для решения любых задач логического вывода.
Использованные технологии
Ideolog
имеет расширение для работы с типизированными структурами ( TFS ).
является полностью расширяемой и может быть дополнена модулями для решения новых задач
имеет простой механизм пополнения встроенными предикатами, типами данных и т.п.
имеет удобную и наглядную графическую среду
Использованные технологии
Отличия от остальных систем
Использование формальной грамматики:
Для снятия морфологической омонимии
Для идентификации терминов
Использование онтологии
Не использование статистики и машинного обучения
(планируется на дальнейших стадиях)
Достоинства
Работает для отдельных текстов (не нужен массив для составления статистики)
Легко расширить элементарный факт, подключив, например, учет размера штата или местонахождения компании,
Есть решение, позволяющее автоматически расширять онтологию (в разработке)
Спасибо за внимание!
[email_address]
Полезные ссылки
http://ideograph.ru ООО «Идеограф»
http://www.cs.ru.nl/agfl AGFL
http://www.w3.org/TR/owl-features Онтологии и язык OWL
http://people.ischool.berkeley.edu/~hearst/text-mining.html - Статья Марти Херста об извлечении фактов
http://filebox.vt.edu/users/wfan/text_mining.html Коллекция ссылок по информационному поиску и извлечению фактов

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

создано: 2014-08-25
обновлено: 2021-03-13
132800



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Автоматическое извлечение фактов из текста (fact extraction)

Термины: Автоматическое извлечение фактов из текста (fact extraction)