Как стать автором
Обновить

Эврестический POS-tagging русского языка на js

Здравствуйте!

Собственно, я кратко расскажу о том, как, на мой взгляд, получился весьма неплохой и почти бессловарный POS-tagger на javascript:

PidginSyntax.js;
Применение — «КРАСНОРЕЧИЕ».

Код опирается на лемматизатор с алгоритмом Snowball.

pidginSyntax.js работает так:
  • Каждое слово в тексте разбивается на лемму и «окончание»
  • Используя список «окончаний», типичных для каждой части речи
  • Часто употребляемые слова, некорректно определяемые pidginSyntax' ом, выделены в отдельный список — по большей части, его составляют служебные слова

pidginSyntax отлично определяет причастия, глаголы и прилагательные и чуть хуже — существительные.

Хуже всего определяются наречия, т.к. «слово» довольно трудно отличить от «ново» лишь по морфемам. Поэтому большинство наречий по умолчанию откатываются в существительные, но используя частотный словарь, выделены некоторые предпоследние буквы, типичные для наречий — «ш», «в», «х». Это значительно повышает точность различия pidginSyntax' ом наречий.

Также, код предусматривает игнорирование возвратного суффикса «ся».

Этот код можно использовать для работы, в которой приемлема точность в 70-90% и необходим легкий POS-tagger. Он занимает в 100 раз меньше места, чем корпусные POS-tagger'ы (например) и работает в 5-20 раз быстрее оных.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.