SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Анализ текстов на ЕЯ
Проект DictaScope
Владимир Окатьев
к.ф.-м.н., директор ООО «Диктум»


                                                Mathlingvo
                               Санкт-Петербург, 28.11.2009
Содержание доклада

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

 Поиск объектов и фактов

 Анализ структуры документа


            © Dictum Ltd. 2009   2 / 46
Обзор аналогичных разработок
 Connexor
 RCO
 ИППИ РАН (Кузнецов И.П., Мацкевич А.Г.):
  Система извлечения фактов из ЕЯ-текста
 Пресс-портреты в Яндекс.Новостях (ранее
  «Интегрум», Гершензон Л.М., Ножов И.М.,
  Панкратов Д.В.)
 Onthos (Минор С.А., Старостин А.С.,
  AviComp)
 «ЭТАП-3», ИППИ РАН
 Treeton, МГУ
                  © Dictum Ltd. 2009         3 / 46
Задача синтаксического анализа

Вход: предложение на ЕЯ
Дельта Волги является восьмым чудом света




                                           является
Выход: синтаксическая               что?              чем?
разметка (дерево
зависимостей + роли             дельта                чудом

знаков препинания)    чего?                  каким?            чего?

                         Волги                восьмым         света



                     © Dictum Ltd. 2009                                4 / 46
Остовное дерево?




                 Оптимальное проективное
 G=(V, E)            остовное дерево:
                      T=(V,E*), E* E
Как вычислить вес (где взять корпус)?
Как быть с омонимией?  следующий слайд
                © Dictum Ltd. 2009         5 / 46
От СЛОВОформ к ОМОформам
Начался     рабочий              день




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
Этапы синтаксического анализа

 Лексический анализ
 Морфологический анализ
 Определение потенциальных связей
 Взвешивание потенциальных связей
 Построение минимального проективного
  дерева с учетом пунктуации (ядро
  синтаксического анализа)

                © Dictum Ltd. 2009       7 / 46
Архитектура синт. анализатора




Базы правил


                Компиляция


Описание
правил


              © Dictum Ltd. 2009   8 / 46
Описание потенциальных связей




 Рассматриваются пары омоформ
 Учитываются не лексические, а грамматические
значения слов


                  © Dictum Ltd. 2009         9 / 46
Описание синтаксиса ЕЯ




 Для русского языка ~ 300 правил;
 Наследование для компактности и удобства
  описания;
 Ключ для быстрого поиска правила в базе.



                   © Dictum Ltd. 2009        10 / 46
Структура правила

NounParticiple: NounFullAdj              // наследование
{
     Key: (Noun, Part)       // ключ
     Criterion:              // ограничения
        …
     Character:             // характеристика связи
        …
};

                         © Dictum Ltd. 2009                11 / 46
Критерий

 Согласования
 (В.п.: белый автомобиль, белого котенка);
 Модели управления;
 Взаимное расположение слов;
 Наличие/отсутствие знаков препинания;




                 © Dictum Ltd. 2009       12 / 46
Характеристика связи
 Тип связи (согласование, управление, …);
 Замещение (горит зеленый);
 Инверсия (пришел человек);
 Рассогласования (новая доктор).



Вес связи W(i,j) = K*L2:
L – расстояние между словами в предложении;
K – коэффициент, зависящий от характеристики.
                      © Dictum Ltd. 2009        13 / 46
О роли запятых
 Очень-очень странный вид:         Старый дед
 Речка за окном - горит,           Клюет зерно,
 Чей-то дом                        Воробей
 Хвостом виляет,                   Влетел в окно
 Песик                             Да как крикнет,
                                   Вылетая:
 Из ружья стреляет,
                                   - Вот что значит
 Мальчик
                                   ЗАПЯТАЯ!..
 Съел
 Живую мышку,                                 Б.Заходер. Загадочные стихи.
 Кот
 В очках
 Читает книжку,




                         © Dictum Ltd. 2009                             14 / 46
Обособление




              © Dictum Ltd. 2009   15 / 46
Однородные члены




           © Dictum Ltd. 2009   16 / 46
Конструкции

 Обособление




 Сочинительная связь (ряд)




                © Dictum Ltd. 2009   17 / 46
Соседние конструкции




            © Dictum Ltd. 2009   18 / 46
Вложенные конструкции



… пшеница,( которая … хранится в доме,( который построил Джек.))
     a    b                 c            w х        y      z=d




   Вот кот,( который пугает и ловит синицу.)
     a=w b           c=x y z                    d
                           © Dictum Ltd. 2009              19 / 46
Покрытие

Совместимые конструкции:
 соседние;
 вложенные.

Композиция – множество попарно
             совместимых конструкций.

Покрытие – композиция, содержащая все
           внутренние разделители
           предложения.
               © Dictum Ltd. 2009       20 / 46
Синтаксическая разметка

К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
Поиск объектов и фактов




  ООО «Диктум» основано 4 апреля 2006 г.




                © Dictum Ltd. 2009         22 / 46
Поиск объектов и фактов




  ООО «Диктум» основано 4 апреля 2006 г.
   Класс   Организация                        Класс   Дата
   Тип     ООО                                День    4
   Имя     Диктум                             Месяц   4
                                              Год     2006



                    Базовая разметка
                 Линейные токены в тексте

                         © Dictum Ltd. 2009                  23 / 46
Поиск объектов и фактов
 Расширенная разметка
     Отношения токенов
                       «X основан (когда?) Y»


   ООО «Диктум» основано 4 апреля 2006 г.
      Класс   Организация                        Класс   Дата
      Тип     ООО                                День    4
      Имя     Диктум                             Месяц   4
                                                 Год     2006



                       Базовая разметка
                    Линейные токены в тексте

                            © Dictum Ltd. 2009                  24 / 46
Многообразие объектов

   Даты: 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
Регулярные выражения?
 Быстрый рост сложности выражений
 Нетривиальная обработка разделителей (переносы
  строк, пробелы) и их сочетаний
 Отсутствие механизмов повторного использования
  уже написанных выражений (наследования): можно
  лишь подставить одно выражение в другое
 Увеличение времени анализа с ростом количества
  описаний: каждое описание (регулярное выражение)
  приходится применять к тексту отдельно
 Отсутствие специфических возможностей: проверка
  вхождения слов и их цепочек в заданные множества,
  работа с грамматическими значениями слова…

Решение: DictaScope Tokenizer
                      © Dictum Ltd. 2009              26 / 46
Язык описания правил
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
Наследование правил




  Председатель совета директоров ОАО «Газпром нефть» А. Миллер
  9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом




                         © Dictum Ltd. 2009                      28 / 46
Наследование правил




                                         Organization    Person


  Председатель совета директоров ОАО «Газпром нефть» А. Миллер
  9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом

      Date                   Geography




                         © Dictum Ltd. 2009                       29 / 46
Наследование правил



                                                        Job

                                         Organization         Person


  Председатель совета директоров ОАО «Газпром нефть» А. Миллер
  9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом

      Date                   Geography




                         © Dictum Ltd. 2009                            30 / 46
Наследование правил


                         Attendance

                                                        Job

                                         Organization         Person


  Председатель совета директоров ОАО «Газпром нефть» А. Миллер
  9 июля 2008 г. посетил г. Нижний Новгород с рабочим визитом

      Date                   Geography




                         © Dictum Ltd. 2009                            31 / 46
Атрибутный подход

 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
Атрибутный подход

 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
Атрибутный подход

 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
Атрибутный подход

 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
Атрибутный подход

 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
Атрибутный подход

 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
Атрибутный подход

 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
Свойства DictaScope Tokenizer
 Анализ управляется правилами,
  правила отделены от алгоритма анализа
 Язык для компактного описания правил с возможностью
  наследования (напр., «Должности» наследуют от
  «Организаций» и «Персон»)
 Математический аппарат – расширение регулярных
  выражений: правила формулируются не для символов,
  а для слов, у которых рассматриваются атрибуты
 Алгоритм собственной разработки, не связанный с
  анализом текста по КС-грамматикам
 Высокая скорость работы (~0,5 Мб/сек для описаний
  персон, организаций, должностей) при низких
  требованиях к памяти (несколько Мб для любого текста)


                      © Dictum Ltd. 2009             39 / 46
Навигация в документе
                                        Часто документы
 Поиск в документах…                   доступны только в
                                        неразмеченном виде




                   © Dictum Ltd. 2009                        40 / 46
Анализ иерархической структуры
        Plain Text                                    Дерево документа
    (разметка отсутствует)                     (модель иерархической структуры)
…




                                                                Root
12.4. Остановка запрещается:
1) на трамвайных путях, а также в
непосредственной близости от них,                                         12.4.
если это создаст помехи движению
трамваев;                                                         Остановка запрещается:

2) на железнодорожных переездах,
в тоннелях, а также на эстакадах,                1)                         2)                   3)
мостах, путепроводах (если для
движения в данном направлении           на трамвайных путях,       на железнодорожных      на пересечении
имеется менее трех полос) и под         а также в                  переездах, в            проезжих частей
ними;                                   непосредственной           тоннелях, а также на    и ближе 5 м. от
                                        близости от них, если      эстакадах, мостах,      края
3) на пересечении проезжих частей       это создаст помехи         путепроводах (если      пересекаемой
и ближе 5 м. от края пересекаемой       движению трамваев;         для движения в          проезжей части.
проезжей части; …                                                  данном направлении
                                                                   имеется менее трех
…




                                                                   полос) и под ними;



                                    © Dictum Ltd. 2009                                                41 / 46
Решение от Dictum
 Поиск цитат в документах 




                    © Dictum Ltd. 2009   42 / 46
Для разработчиков

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


2. Конвертация Plain Text в HTML / XML




                                        © Dictum Ltd. 2009                                             43 / 46
Приложения
 Навигация в текстах сложной структуры: кодексы и
  законы («Налоговый кодекс, Закон о труде», …),
  правила (ПДД), стандарты (ГОСТ, 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
Программные продукты
 DictaScope Syntax: синтаксический анализатор
  естественного языка (русский язык, для
  английского имеется прототип)
 DictaScope ModifyPhrase: приведение
  словосочетаний русского языка к заданной
  форме
 DictaScope Tokenizer: описание и нахождение
  текстовых объектов (даты, персоны,
  организации) и их отношений
 DictaScope Structure: определение
  иерархической структуры plain-текстов
  популярных форматов (законы, кодексы, …)

                   © Dictum Ltd. 2009        45 / 46
Контакты

Адрес:
603950 Россия, Нижний Новгород,
Проспект Гагарина 23, корпус 7
Тел (факс): +7 (831) 278-67-57
e-mail: oka@dictum.ru
web: www.dictum.ru


               © Dictum Ltd. 2009   46 / 46

Weitere ähnliche Inhalte

Mehr von NLPseminar

клышинский
клышинскийклышинский
клышинскийNLPseminar
 
конф ии и ея гаврилова
конф ии и ея  гавриловаконф ии и ея  гаврилова
конф ии и ея гавриловаNLPseminar
 
кудрявцев V3
кудрявцев V3кудрявцев V3
кудрявцев V3NLPseminar
 
акинина осмоловская
акинина осмоловскаяакинина осмоловская
акинина осмоловскаяNLPseminar
 
потапов
потаповпотапов
потаповNLPseminar
 
molchanov(promt)
molchanov(promt)molchanov(promt)
molchanov(promt)NLPseminar
 
белканова
белкановабелканова
белкановаNLPseminar
 
гвоздикин
гвоздикингвоздикин
гвоздикинNLPseminar
 
веселов
веселоввеселов
веселовNLPseminar
 

Mehr von NLPseminar (20)

Tomita
TomitaTomita
Tomita
 
бетин
бетинбетин
бетин
 
Andreev
AndreevAndreev
Andreev
 
клышинский
клышинскийклышинский
клышинский
 
конф ии и ея гаврилова
конф ии и ея  гавриловаконф ии и ея  гаврилова
конф ии и ея гаврилова
 
кудрявцев V3
кудрявцев V3кудрявцев V3
кудрявцев V3
 
rubashkin
rubashkinrubashkin
rubashkin
 
Vlasova
VlasovaVlasova
Vlasova
 
Ageev
AgeevAgeev
Ageev
 
Khomitsevich
Khomitsevich Khomitsevich
Khomitsevich
 
акинина осмоловская
акинина осмоловскаяакинина осмоловская
акинина осмоловская
 
Serebryakov
SerebryakovSerebryakov
Serebryakov
 
потапов
потаповпотапов
потапов
 
molchanov(promt)
molchanov(promt)molchanov(promt)
molchanov(promt)
 
белканова
белкановабелканова
белканова
 
Skatov
SkatovSkatov
Skatov
 
гвоздикин
гвоздикингвоздикин
гвоздикин
 
веселов
веселоввеселов
веселов
 
Mitsov
MitsovMitsov
Mitsov
 
Maleev
MaleevMaleev
Maleev
 

Dictum

  • 1. Анализ текстов на ЕЯ Проект DictaScope Владимир Окатьев к.ф.-м.н., директор ООО «Диктум» Mathlingvo Санкт-Петербург, 28.11.2009
  • 2. Содержание доклада  Синтаксический анализ  Поиск объектов и фактов  Анализ структуры документа © Dictum Ltd. 2009 2 / 46
  • 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
  • 8. Архитектура синт. анализатора Базы правил Компиляция Описание правил © Dictum Ltd. 2009 8 / 46
  • 9. Описание потенциальных связей  Рассматриваются пары омоформ  Учитываются не лексические, а грамматические значения слов © Dictum Ltd. 2009 9 / 46
  • 10. Описание синтаксиса ЕЯ  Для русского языка ~ 300 правил;  Наследование для компактности и удобства описания;  Ключ для быстрого поиска правила в базе. © Dictum Ltd. 2009 10 / 46
  • 11. Структура правила NounParticiple: NounFullAdj // наследование { Key: (Noun, Part) // ключ Criterion: // ограничения … Character: // характеристика связи … }; © Dictum Ltd. 2009 11 / 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
  • 15. Обособление © Dictum Ltd. 2009 15 / 46
  • 16. Однородные члены © Dictum Ltd. 2009 16 / 46
  • 18. Соседние конструкции © Dictum Ltd. 2009 18 / 46
  • 19. Вложенные конструкции … пшеница,( которая … хранится в доме,( который построил Джек.)) a b c w х y z=d Вот кот,( который пугает и ловит синицу.) a=w b c=x y z d © Dictum Ltd. 2009 19 / 46
  • 20. Покрытие Совместимые конструкции:  соседние;  вложенные. Композиция – множество попарно совместимых конструкций. Покрытие – композиция, содержащая все внутренние разделители предложения. © Dictum Ltd. 2009 20 / 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
  • 42. Решение от Dictum Поиск цитат в документах  © Dictum Ltd. 2009 42 / 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
  • 46. Контакты Адрес: 603950 Россия, Нижний Новгород, Проспект Гагарина 23, корпус 7 Тел (факс): +7 (831) 278-67-57 e-mail: oka@dictum.ru web: www.dictum.ru © Dictum Ltd. 2009 46 / 46