Я экспериментировал с набором инструментов Stanford NLP и его возможностями лемматизации. Я удивлен, как он лемматизирует некоторые слова. Например:
depressing -> depressing
depressed -> depressed
depresses -> depress
Он не может преобразовать depressing
и depressed
в одну и ту же лемму. Аналогично происходит с confusing
и confused
, hopelessly
и hopeless
. У меня такое ощущение, что единственное, что он может сделать, это удалить s
, если слово находится в такой форме (например, feels -> feel
). Является ли такое поведение нормальным для Lematizatiors в английском языке? Я ожидаю, что они смогут преобразовать такие вариации обычных слов в одну и ту же лемму.
Если это нормально, следует ли мне использовать стеммеры? И есть ли способ использовать стеммеры, такие как Porter (Snowball и т. д.) в StanfordNLP? В их документации нет упоминания о стеммерах; однако в API есть несколько CoreAnnotations.StemAnnotation
. Если это невозможно в StanfordNLP, какие стеммеры вы рекомендуете использовать в Java?