我一直在尝试使用Stanford NLP工具箱及其lemmatization功能。我很惊讶它如何使某些词变得笨拙。例如:

depressing -> depressing
depressed -> depressed
depresses -> depress


它不能将depressingdepressed转换为相同的引理。 Simmilar与confusingconfusedhopelesslyhopeless一起发生。我感觉到,如果单词的形式是这种形式(例如s),它唯一可以做的就是删除feels -> feel。这样的行为对英语抗辩者正常吗?我希望他们能够将常见单词的这种变体转换成相同的引理。

如果正常,我应该使用茎干吗?并且,有没有办法在StanfordNLP中使用像Porter(Snowball等)这样的词干提取器?他们的文档中没有提到词干分析器;但是,API中有一些CoreAnnotations.StemAnnotation。如果无法使用StanfordNLP,那么您建议在Java中使用哪种茎茎?

最佳答案

合法化至关重要地取决于令牌的词性。只有具有相同词性的标记才被映射到相同的引理。

在句子“这令人困惑”中,confusing被分析为形容词,因此将其限定为confusing。相比之下,在句子“我在使您与其他人混淆”中,confusing被分析为动词,并被词义化为confuse

如果希望将具有不同词性的标记映射到同一引理,则可以使用诸如Porter Stemming之类的词干算法,只需对每个标记调用即可。

09-05 08:23