Релиз SDK грамматического словаря v.13.26 для Linux 32/64

Mar 06, 2015 08:37

Дистрибутивы SDK

Linux x86: http://solarix.ru/for_developers/download/lin/libgren-demo.tar.bz2 (83 Мб)
Linux x64: http://solarix.ru/for_developers/download/lin/libgren64-demo.tar.bz2 (86 Мб)

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

Проверка синтаксического анализатора

В состав SDK входит набор правил для синтаксического разбора русских предложений и консольный интерактивный отладчик для проверки работы парсера. Далее будет показано, как запустить парсер в режиме частеречной разметки с помощью морфомодели и убедиться в ее работоспособности. Также в состав SDK входит исхордный текст утилиты ParseLine, которая умеет считывать из входного файла предложение, разбирать его и сохранять синтаксическое дерево в xml файл.

1. Идем в каталог .../scripts/syntax
2. Запускаем ./console-syntax.sh
3. Загружается интерактивный отладчик парсера.
4. Вводим команду #allow_model
5. Программа ответит, что морфологическая модель включена.
6. Вводим команду #debug
7. Программа ответит, что отладчик включен.
8. Вводим тестовое предложение 'ее ели качались на ветру'
9. Появится текстовое меню команд, нажимаем 't' для установки точки останова
10. Появится список триггеров, в котором выбираем '2'
11. Программа вернет нас в меню команд, выбираем 'r' для запуска разбора
12. Появится детальная информация о словоформах, выбранных для каждого токена. На первом месте в каждом токене стоит слофоформа, выбранная моделью как самая вероятная в контексте.

В консоли это выглядит примерно так:

[kelijah@inetsrv syntax]$ ./console-syntax.sh
Solarix SYNTAX parser debugger ver. 13.36.11138 Standard Linux 3.0.24-std-def-alt0.M60P.2 x86_64  (build date Mar  4 2015)
Loading dictionary from ../../bin-linux64/dictionary.xml... ok
Enter #help to read online help.

: #allow_model
Morphology model is enabled
: #debug
Debugger enabled.
:> ее ели качались на ветру                                          
Debugger commands: Run Step Breakpoints Triggers

...

Model has been applied:
There is 1 path:
PATH #0:
0: BEGIN
1: ((version=48 ПРИТЯЖ_ЧАСТИЦА:ее{} version=44 МЕСТОИМЕНИЕ:ее{ЛИЦО:3 ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:ЖЕН} version=46 МЕСТОИМЕНИЕ:ее{ЛИЦО:3 ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:ЖЕН}))
2: ((version=65 СУЩЕСТВИТЕЛЬНОЕ:ели{ПАДЕЖ:ИМ ЧИСЛО:МН РОД:ЖЕН ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА} version=52 ГЛАГОЛ:ели{НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ ЧИСЛО:МН ПЕРЕХОДНОСТЬ:ПЕРЕХОДНЫЙ ПАДЕЖ:ВИН ПАДЕЖ:ТВОР ВИД:НЕСОВЕРШ ~ВОЗВРАТНОСТЬ ~МОДАЛЬНЫЙ} version=54 СУЩЕСТВИТЕЛЬНОЕ:ели{ПАДЕЖ:РОД ЧИСЛО:ЕД РОД:ЖЕН ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА} version=56 СУЩЕСТВИТЕЛЬНОЕ:ели{ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:ЖЕН ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА} version=58 СУЩЕСТВИТЕЛЬНОЕ:ели{ПАДЕЖ:ПРЕДЛ ЧИСЛО:ЕД РОД:ЖЕН ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА} version=60 СУЩЕСТВИТЕЛЬНОЕ:ели{ПАДЕЖ:ВИН ЧИСЛО:МН РОД:ЖЕН ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА}))
3: ГЛАГОЛ:качались{НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ ЧИСЛО:МН ~МОДАЛЬНЫЙ ПЕРЕХОДНОСТЬ:НЕПЕРЕХОДНЫЙ ВИД:НЕСОВЕРШ ~ВОЗВРАТНОСТЬ}
4: ((version=70 ПРЕДЛОГ:на|1|{ПАДЕЖ:ВИН ПАДЕЖ:ПРЕДЛ ПАДЕЖ:МЕСТ} version=69 ЧАСТИЦА:на|-10|{}))
5: ((version=75 СУЩЕСТВИТЕЛЬНОЕ:ветру{ПАДЕЖ:МЕСТ ЧИСЛО:ЕД РОД:МУЖ ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА} version=74 СУЩЕСТВИТЕЛЬНОЕ:ветру{ПАДЕЖ:ДАТ ЧИСЛО:ЕД РОД:МУЖ ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА}))
6: END

Что можно увидеть в этой отладочной выдаче?

Для слова 'ее' выбран вариант ПРИТЯЖ_ЧАСТИЦА, а не местоимение.
Для слова 'ели' выбран вариант существительного 'ель', а не глагол 'есть'.
Для слова 'ветру' выбран вариант локатива 'ветр^у', а не датива 'в^етру'.

Сборка и проверка утилиты POSTagger

Скомпилированная утилита POSTagger лежит в каталоге .../exe или .../exe64. Но ее можно скомпилировать из C++ исходника и самостоятельно.
Для компиляции и работы необходимо установить библиотеку solarix_grammar_engine.so, которая лежит в каталоге .../lib или .../lib64.
Сделать это можно примерно так:

cp ../../lib/solarix_grammar_engine.so /lib
ln -s /lib/solarix_grammar_engine.so /lib/libgren.so
ln -s /lib/solarix_grammar_engine.so /lib/libgren.so.1.0.0

Затем перейдите в каталог .../demo/ai/solarix/argon/POSTagger и выполните make.

Для проверки работы частеречной разметки перейдите в каталог .../scripts/POSTagger и запустите там команду:

./tag.sh input.txt output.txt

В результате получится текстовый файл output.txt с результатами разметки.

парсер, SDK грамматического словаря, linux, частеречная разметка

Previous post Next post
Up