Pull to refresh

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

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

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

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

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

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

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

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

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

Этот код можно использовать для работы, в которой приемлема точность в 70-90% и необходим легкий POS-tagger. Он занимает в 100 раз меньше места, чем корпусные POS-tagger'ы (например) и работает в 5-20 раз быстрее оных.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.
Change theme settings