Dictum
- 1. Анализ текстов на ЕЯ
Проект DictaScope
Владимир Окатьев
к.ф.-м.н., директор ООО «Диктум»
Mathlingvo
Санкт-Петербург, 28.11.2009
- 3. Обзор аналогичных разработок
Connexor
RCO
ИППИ РАН (Кузнецов И.П., Мацкевич А.Г.):
Система извлечения фактов из ЕЯ-текста
Пресс-портреты в Яндекс.Новостях (ранее
«Интегрум», Гершензон Л.М., Ножов И.М.,
Панкратов Д.В.)
Onthos (Минор С.А., Старостин А.С.,
AviComp)
«ЭТАП-3», ИППИ РАН
Treeton, МГУ
© Dictum Ltd. 2009 3 / 46
- 4. Задача синтаксического анализа
Вход: предложение на ЕЯ
Дельта Волги является восьмым чудом света
является
Выход: синтаксическая что? чем?
разметка (дерево
зависимостей + роли дельта чудом
знаков препинания) чего? каким? чего?
Волги восьмым света
© Dictum Ltd. 2009 4 / 46
- 5. Остовное дерево?
Оптимальное проективное
G=(V, E) остовное дерево:
T=(V,E*), E* E
Как вычислить вес (где взять корпус)?
Как быть с омонимией? следующий слайд
© Dictum Ltd. 2009 5 / 46
- 6. От СЛОВОформ к ОМОформам
Начался рабочий день
G=(V, E) Минимальное проективное
Vi i=1,N+1 остовное дерево:
Vi Vj = i j T=(V*,E*)
V* V, E* E, |V*∩Vi|=1
V1… VN+1=V
© Dictum Ltd. 2009 6 / 46
- 7. Этапы синтаксического анализа
Лексический анализ
Морфологический анализ
Определение потенциальных связей
Взвешивание потенциальных связей
Построение минимального проективного
дерева с учетом пунктуации (ядро
синтаксического анализа)
© Dictum Ltd. 2009 7 / 46
- 10. Описание синтаксиса ЕЯ
Для русского языка ~ 300 правил;
Наследование для компактности и удобства
описания;
Ключ для быстрого поиска правила в базе.
© Dictum Ltd. 2009 10 / 46
- 12. Критерий
Согласования
(В.п.: белый автомобиль, белого котенка);
Модели управления;
Взаимное расположение слов;
Наличие/отсутствие знаков препинания;
© Dictum Ltd. 2009 12 / 46
- 13. Характеристика связи
Тип связи (согласование, управление, …);
Замещение (горит зеленый);
Инверсия (пришел человек);
Рассогласования (новая доктор).
Вес связи W(i,j) = K*L2:
L – расстояние между словами в предложении;
K – коэффициент, зависящий от характеристики.
© Dictum Ltd. 2009 13 / 46
- 14. О роли запятых
Очень-очень странный вид: Старый дед
Речка за окном - горит, Клюет зерно,
Чей-то дом Воробей
Хвостом виляет, Влетел в окно
Песик Да как крикнет,
Вылетая:
Из ружья стреляет,
- Вот что значит
Мальчик
ЗАПЯТАЯ!..
Съел
Живую мышку, Б.Заходер. Загадочные стихи.
Кот
В очках
Читает книжку,
© Dictum Ltd. 2009 14 / 46
- 19. Вложенные конструкции
… пшеница,( которая … хранится в доме,( который построил Джек.))
a b c w х y z=d
Вот кот,( который пугает и ловит синицу.)
a=w b c=x y z d
© Dictum Ltd. 2009 19 / 46
- 21. Синтаксическая разметка
К1 пешеходам2 приравниваются3 лица4,
ведущие5 велосипед6, мопед7, везущие8 санки9.
3 Покрытие:
()
1 4
<4, 4.1, 5, 7.1>
<4, 7.1, 8, 9.1>()
2 5 8
|
<5, 6, 6.1, 7>
|
6 7 9
<4, 5, 7.1, 8>
© Dictum Ltd. 2009 21 / 46
- 22. Поиск объектов и фактов
ООО «Диктум» основано 4 апреля 2006 г.
© Dictum Ltd. 2009 22 / 46
- 23. Поиск объектов и фактов
ООО «Диктум» основано 4 апреля 2006 г.
Класс Организация Класс Дата
Тип ООО День 4
Имя Диктум Месяц 4
Год 2006
Базовая разметка
Линейные токены в тексте
© Dictum Ltd. 2009 23 / 46
- 24. Поиск объектов и фактов
Расширенная разметка
Отношения токенов
«X основан (когда?) Y»
ООО «Диктум» основано 4 апреля 2006 г.
Класс Организация Класс Дата
Тип ООО День 4
Имя Диктум Месяц 4
Год 2006
Базовая разметка
Линейные токены в тексте
© Dictum Ltd. 2009 24 / 46
- 25. Многообразие объектов
Даты: 20/03/06, 7 февраля 2007 г., 1991-2006 гг.
Персоны: Петров И.С., Иван Петров, Иван Сергеевич, Петров И.
Адреса Интернет и e-mail: http://www.dictum.ru
Географические адреса: Россия, г. Н.Новгород, пр-т Гагарина, 23, корп. 7
Названия организаций: Университет им. Н.И.Лобачевского, КБ «Квазар»,
Общеобразовательная школа № 7
Должности: Председатель Правления ОАО «Газпром» Алексей Миллер
Числа прописью: две тысячи восемьсот единиц техники
Результаты измерений: 8 кг., не более 50 км/ч
Денежные единицы: 2 000 р., 80 454,2 USD
Порядковые числительные: 1-ый, 18-ого
Составные союзы: несмотря на то что, как бы
Номера телефонов: (831) 278-67-57, +79200459731
Номера кредитных карт, ИНН и т.д.
© Dictum Ltd. 2009 25 / 46
- 26. Регулярные выражения?
Быстрый рост сложности выражений
Нетривиальная обработка разделителей (переносы
строк, пробелы) и их сочетаний
Отсутствие механизмов повторного использования
уже написанных выражений (наследования): можно
лишь подставить одно выражение в другое
Увеличение времени анализа с ростом количества
описаний: каждое описание (регулярное выражение)
приходится применять к тексту отдельно
Отсутствие специфических возможностей: проверка
вхождения слов и их цепочек в заданные множества,
работа с грамматическими значениями слова…
Решение: DictaScope Tokenizer
© Dictum Ltd. 2009 26 / 46
- 27. Язык описания правил
M_Set := {("январь",1),...,("декабрь",12)}; Y_Suffix: optional { /* г. */
T := y_contr .?;
D_Number: optional { /* 4 */ C := Lower(y_contr) in {"г", "гг"};
T := d; };
C := IsNumeric(d) & Diap(d,1,31);
A := { Day := d; }; Y_End: optional { /* 2006-го */
}; T := - _end;
C := Lower(_end) in {"х", "го",
M_Word: optional { /* апреля */ "й", "му", "м", "е"}; };
T := m;
C := IsPOS(m,Noun_) & Year { /* 2006 г., 2006-й г. */
(Lower(GetNounForm(m, Sg_, Nom_)) T := [Y_Full] [Y_End]? [Y_Suffix]; };
in M_Set); Date { /* 4 апреля 2006 г. */
A := { Month := M_Set[Lower( T := [D_Number] [M_Word] [Year]?; };
GetNounForm(m, Sg_, Nom_)]; };
}; Date
Y_Full: optional { /* 2006 */
T := y;
C := IsNumeric(y) & Diap(y,1,5000); D_Number M_Word Year
A := { Year := y; };
};
Y_Full Y_End Y_Suffix
© Dictum Ltd. 2009 27 / 46
- 28. Наследование правил
Председатель совета директоров ОАО «Газпром нефть» А. Миллер
9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом
© Dictum Ltd. 2009 28 / 46
- 29. Наследование правил
Organization Person
Председатель совета директоров ОАО «Газпром нефть» А. Миллер
9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом
Date Geography
© Dictum Ltd. 2009 29 / 46
- 30. Наследование правил
Job
Organization Person
Председатель совета директоров ОАО «Газпром нефть» А. Миллер
9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом
Date Geography
© Dictum Ltd. 2009 30 / 46
- 31. Наследование правил
Attendance
Job
Organization Person
Председатель совета директоров ОАО «Газпром нефть» А. Миллер
9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом
Date Geography
© Dictum Ltd. 2009 31 / 46
- 32. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
T {1, 2}{1, 2,3}{2,3}{3}
© Dictum Ltd. 2009 32 / 46
- 33. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1
T {1, 2}{1, 2,3}{2,3}{3}
© Dictum Ltd. 2009 33 / 46
- 34. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1 p2
T {1, 2}{1, 2,3}{2,3}{3}
© Dictum Ltd. 2009 34 / 46
- 35. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1 p2
T {1, 2}{1, 2,3}{2,3}{3}
© Dictum Ltd. 2009 35 / 46
- 36. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1 p2
T {1, 2}{1, 2,3}{2,3}{3}
p1 p2
© Dictum Ltd. 2009 36 / 46
- 37. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1 p2 p1
T {1, 2}{1, 2,3}{2,3}{3}
p1 p2
© Dictum Ltd. 2009 37 / 46
- 38. Атрибутный подход
A {a1 , , an } {1, 2,3}; X A
T X 1 X 2 X L {1, 2}{1, 2,3}{2,3}{3}
P p1 p2 pm {1}{2,3} p1 p2 ; P {Ps }s 1
M
Задача: найти все вхождения образцов из P в T
p1 p2 p1
T {1, 2}{1, 2,3}{2,3}{3}
p1 p2
© Dictum Ltd. 2009 38 / 46
- 39. Свойства DictaScope Tokenizer
Анализ управляется правилами,
правила отделены от алгоритма анализа
Язык для компактного описания правил с возможностью
наследования (напр., «Должности» наследуют от
«Организаций» и «Персон»)
Математический аппарат – расширение регулярных
выражений: правила формулируются не для символов,
а для слов, у которых рассматриваются атрибуты
Алгоритм собственной разработки, не связанный с
анализом текста по КС-грамматикам
Высокая скорость работы (~0,5 Мб/сек для описаний
персон, организаций, должностей) при низких
требованиях к памяти (несколько Мб для любого текста)
© Dictum Ltd. 2009 39 / 46
- 40. Навигация в документе
Часто документы
Поиск в документах… доступны только в
неразмеченном виде
© Dictum Ltd. 2009 40 / 46
- 41. Анализ иерархической структуры
Plain Text Дерево документа
(разметка отсутствует) (модель иерархической структуры)
…
Root
12.4. Остановка запрещается:
1) на трамвайных путях, а также в
непосредственной близости от них, 12.4.
если это создаст помехи движению
трамваев; Остановка запрещается:
2) на железнодорожных переездах,
в тоннелях, а также на эстакадах, 1) 2) 3)
мостах, путепроводах (если для
движения в данном направлении на трамвайных путях, на железнодорожных на пересечении
имеется менее трех полос) и под а также в переездах, в проезжих частей
ними; непосредственной тоннелях, а также на и ближе 5 м. от
близости от них, если эстакадах, мостах, края
3) на пересечении проезжих частей это создаст помехи путепроводах (если пересекаемой
и ближе 5 м. от края пересекаемой движению трамваев; для движения в проезжей части.
проезжей части; … данном направлении
имеется менее трех
…
полос) и под ними;
© Dictum Ltd. 2009 41 / 46
- 43. Для разработчиков
1. Извлечение цитат из структурированных текстов для
последующих этапов обработки (лексический,
синтаксический анализ, индексация)
Остановка запрещается на трамвайных путях, а также в непосредственной близости от них, если это
создаст помехи движению трамваев
Остановка запрещается на железнодорожных переездах, в тоннелях, а также на эстакадах, мостах,
путепроводах (если для движения в данном направлении имеется менее трех полос) и под ними.
Остановка запрещается на пересечении проезжих частей и ближе 5 м. от края пересекаемой
проезжей части
2. Конвертация Plain Text в HTML / XML
© Dictum Ltd. 2009 43 / 46
- 44. Приложения
Навигация в текстах сложной структуры: кодексы и
законы («Налоговый кодекс, Закон о труде», …),
правила (ПДД), стандарты (ГОСТ, ANSI, ISO), договоры
«Прошивка» законодательства (специальные
конструкции-директивы + анализ структуры документа)
Статья 8
Внести в Федеральный закон от 2 декабря 1994 года N 53-ФЗ "О закупках и поставках сельскохозяйственной
продукции, сырья и продовольствия для государственных нужд" (Собрание законодательства Российской
Федерации, 1994, N 32, ст. 3303; 2003, N 2, ст. 167) следующие изменения:
1) в преамбуле слово ", размещения" исключить, слово "договорной" заменить словом "контрактной";
2) часть первую статьи 1 признать утратившей силу;
3) в статье 3:
а) в абзаце первом пункта 5 слово "договорам" заменить словами "государственным контрактам";
б) в пункте 6 слово "договорами" заменить словами "государственными контрактами";
6) в статье 6:
а) в пункте 4 слово "договор" в соответствующем падеже заменить словами "государственный контракт" в
соответствующем падеже;
б) в абзаце первом пункта 5 слова "в договорах" заменить словами "государственными контрактами“…
© Dictum Ltd. 2009 44 / 46
- 45. Программные продукты
DictaScope Syntax: синтаксический анализатор
естественного языка (русский язык, для
английского имеется прототип)
DictaScope ModifyPhrase: приведение
словосочетаний русского языка к заданной
форме
DictaScope Tokenizer: описание и нахождение
текстовых объектов (даты, персоны,
организации) и их отношений
DictaScope Structure: определение
иерархической структуры plain-текстов
популярных форматов (законы, кодексы, …)
© Dictum Ltd. 2009 45 / 46