LINUX.ORG.RU

Увидел свет Link Grammar Parser 5.2.0

 , ,


6

5

Двадцать седьмого декабря две тысячи четырнадцатого года увидел свет 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;
  • исправлены падения при анализе длинных предложений.

>>> Подробности



Проверено: anonymous_incognito ()
Последнее исправление: anonymous_incognito (всего исправлений: 3)

Ответ на: комментарий от AVL2

Кот лежащий на столе может мурлыкать.

1) «лежащий на столе» - свойство, относящееся к коту.

Т.е. кот со свойством «лежащий на столе», може мурлыкать

записывая нормально, получаем «кот, лежащий на столе, может мурлыкать»

2) «лежащий» - свойство кота. «на столе» - свойство мурлыканья, где оно может происходить.

Т.е. кот, со свойством «лежащий», может мурлыкать в месте «на столе».

Записывая нормально, получаем «лежащий кот может мурлыкать на столе»

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 2)
Ответ на: комментарий от cvs-255

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

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

без перестановки тоже можно. Просто получается в стиле магистра Йоды.

«Кот, лежащий, на столе может мурлыкать»

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 2)

После слов Link Grammar ожидал увидеть слово Nazi :)

drull ★☆☆☆
()
Ответ на: комментарий от cvs-255

Вы поосторожнее с запятыми... Правильно что соответствий не нашлось, наоборот получаться так:

Cat, lying on the table, can purr. Кот, лежащий на столе, может мурлыкать.

Cat lying on the table, can purr. Кот лежал на столе, может мурлыкать.

Cat, lying on, the, table can purr Кот, лежать на, таблица может мурлыкать

Cat, lying on, the table can, purr Кот, лежа на, стол может, мурлыканье

верлибр, однако... почти стихи...

anonymous
()

то есть если дропнуть запятые, оно уже ничего не понимает? шикарный парсер который не поймет ни одного пста на лоре

stevejobs ★★★★☆
()

Имеются привязки к Java,

Прикручивайте к лору, а то поднадоели батхёрты граммар-наци. Давно заменялок текста к лору не прикручивали новых.

What_nick
()
Ответ на: комментарий от What_nick

Давно заменялок текста к лору не прикручивали новых.

99% постов будет заменено на «Тупое не обученное школоло!»? :)

yyk ★★★★★
()

Будущее наступает... Примерно лет 5 назад ABBYY начало пиарить compreno, потом даже бабло на это дело получило. Но толком ничего и не выкатило...

Насколько хорош Link Grammar Parser? Он может «понять» связи между словами в предложении? Он может определить семантику текста и учитывать ее при анализе последующих предложений?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.