Двадцать седьмого декабря две тысячи четырнадцатого года увидел свет Link Grammar Parser 5.2.0.
Link Grammar Parser — это синтаксический анализатор английского, русского, арабского и персидского (и других языков). Создан на основе Link Grammar, оригинальной теории синтаксиса. Получив предложение, система присваивает ему синтаксическую структуру, которая состоит из набора меченых связей, соединяющих пары слов. Расширение RelEx предоставляет вывод разбора на основе зависимостей. Написан на Си. Имеются привязки к Java, Python, Common Lisp, Ocaml, Perl и AutoIt.
Link Grammar Parser применяется для проверки грамматики в AbiWord. Планируется его использование в Calligra Words.
Пример работы:
linkparser> Кот лежащий на столе может мурлыкать.
No complete linkages found.
linkparser> Кот, лежащий на столе, может мурлыкать.
Found 26 linkages (16 had no P.P. violations)
Изменения в версии 5.2:
Это мажорный релиз парсера, включающий много важных изменений. Внутренняя структура парсера была реорганизована, что привело к ускорению анализа типичных текстов на английском языке в 2 – 4 раза. Многие ошибки, связанные с многопоточностью, были исправлены, и появился простой тест для многопоточной работы. Одна утечка памяти и чрезмерное потребление памяти были исправлены. Эти изменения стали возможными благодаря окончательному удалению из парсера кода, ответственного за «жирные связи».
В этой версии:
- в англоязычных текстах теперь распознаются сокращения «y'all», «ain't», «gonna», «y'gotta», язык Beverly Hillbillies;
- полностью удалён код, ответственный за «жирные связи»;
- удалён код, ответственный за ранее не рекомендуемые деревья из составных частей;
- в англоязычных текстах глаголы «reign», «rule», «run», «leave», «come» теперь могут принимать предикативные прилагательные;
- переработаны весовые коэффициенты для многих прилагательных, образованных от глаголов;
- добавлена работа с предикативными модификаторами, похожими на прилагательные, для различных глаголов совершенного вида;
- исправлена работа с различными словами, обозначающими цвета;
- исправлена работа с различными утвердительными ответами;
- в словарь добавлено 100 различных глаголов;
- добавлена предварительная поддержка lxc-docker (docker.io);
- исправлена утечка памяти, появившаяся в релизе 5.1.0;
- работа программы ускорена в 1.7 – 4 раза (в зависимости от текста) благодаря переустройству обработки связей;
- исправлена ошибка, связанная с безопасностью многопоточности;
- исправлено выравнивание при печати связей и областей (ради улучшения поддержки UTF8);
- исправлена ошибка (EMPTY_WORD), приводившая к чрезмерному потреблению памяти, которая существовала с версии 4.7.10;
- больше не применяется функция «xrealloc», имя которой совпадает с символом «xrealloc» из «libbfd»;
- добавлен тест для многопоточного анализа.
В версии 5.2.1, вышедшей двадцать восьмого декабря две тысячи четырнадцатого года из-за срыва запуска всех тестов при создании 5.2.0:
- появился прототип словаря индонезийского языка от Hendy Irawan;
- исправлены падения при анализе длинных предложений.
>>> Подробности