2010-02-19 7 views

ответ

3

Я использовал OpenNLP с хорошими результатами. Вы также можете посмотреть MorphAdorner.

3

Я использовал и LingPipe, и PST Tagger от Stanford. Позже это state-of-the-art POS Tagger, но, по моему опыту, он слишком медленный (хотя они предоставляют менее точные модели, которые достаточно быстрые). Конечно, это всегда зависит от того, чего вы пытаетесь достичь, и всегда будет компромисс между скоростью и точностью.

Я также когда-то использовал программное обеспечение NER на основе LBJ и, хотя оно было довольно точным, исходный код был полным беспорядком. Источник LingPipe и Stanford очень чист и хорошо документирован.

Вы также можете посмотреть LTAG-spinal. Я еще не использовал его, но из описания алгоритма и из приведенной точности он кажется лучше, чем альтернативы, которые у вас есть.

Надеюсь, это поможет.

+6

Лучшая модель Стэнфорда умеренно медленная. Но, на самом деле, LTAG-спиналь снова в 3 раза медленнее и ничтожно лучше. Для общего использования мы рекомендуем использовать модель left3words: пометка с ней имеет одинаковую или лучшую скорость, чем у тегов Ratnaparkhi или OpenNLP, но более точная. Найдите [дополнительную информацию] (http://nlp.stanford.edu/software/pos-tagger-faq.shtml#h) в FAQ по чат-тестеру в Стэнфорде. –

+0

Я не могу найти никакого сравнения с OpenNlp там (только с другими taggers) - я что-то пропускаю? – benroth

+0

@ChristopherManning Я только что сделал 10-кратное перекрестное подтверждение, используя Penn Treebank. кажется, что left3words немного хуже, чем opennlp. Но двунаправленное действительно лучше. Не могли бы вы рассказать больше о данных, по которым вы провели сравнение? Благодаря! –

15

Вы хотите пометить POS в определенном домене? Большинство тегов общего назначения проходят обучение по новостному тексту. Как правило, они плохо работают, когда вы используете их в определенных доменах (таких как биомедицинский текст). Существуют и другие тегеры, специально обученные для таких доменов, такие как dTagger (java) для биомедицинского текста.

Для текста с новостью, Adwait Ratnaparkhi's MXPOST очень хорош и является тем, который я бы рекомендовал.

Других реализаций Java включают в себя:

  1. MontyLingua
  2. Berkeley Parser (Не совсем POS Tagger, но все полные взорваны парсеры обычно включают в себя POS Taggers Google для Java синтаксических анализаторов и вы найдете много. .)
  3. QTag
  4. LBJ

OpenNLP и Lingpipe, как и другие плакаты, также довольно приличные.

Информация о состоянии дел по маркировке POS может быть найдена here. Как вы можете видеть, LTAG-Spinal (также упоминается еще одним плакатом) сейчас лучше, но вариации по различным меткам не так много. Я сам не использовал LTAG.

Также обратите внимание, что базовая производительность для маркировки POS составляет около 90%. Исходный уровень означает: (a) пометить каждое слово наиболее частого тега POS из лексикона и (b) пометить каждое неизвестное слово как существительное.

+0

Ваша ссылка MXPOST относится к FTP-сайту со сжатым архивом. Я искал вокруг и не мог найти много о MXPOST, кроме того, что это тезис CS. Правильно ли я полагаю, что поддержка MXPOST не так много? – Glenn

+1

@Glenn Да. Хотя OPENNLP представляется эквивалентной реализацией MXPOST. Я цитирую с сайта OPENNLP: 1. * Если вы знакомы с выбором функции для максимальной реализации Adwait Ratnaparkhi, у вас не должно быть проблем, так как наша реализация [тегатора POS] использует функции так же, как и его. * и 2. * Его введение [Adwait в] для MaxEnt НЛП и диссертационной что на самом деле сделаны opennlp.maxent и наши MaxEnt компоненты ГРОК (POS Tagger, конец детектора предложения, Tokenizer, имя искатель) возможно! * OpenNLP, похоже, имеет активное сообщество sourceforge. – hashable

+0

В конце концов, это был LingPipe, который работал лучше для меня. Это было лучшее с точки зрения возможности встраивания в другую систему. Это тоже неплохая работа по пометке POS. – Glenn

Смежные вопросы