This question already has answers here:
Can you programmatically detect pluralizations of English words, and derive the singular form?
                                
                                    (6个答案)
                                
                        
                                5年前关闭。
            
                    
在最近的项目中,我面临着将复数名词转换为单数形式的任务。我知道一些POS标记算法和工具可以识别名词的多种形式并将其标记为“ NNS”,但是我不知道有任何算法可以将名词转换为单数形式。我已经尝试过阻止,但是阻止似乎过于激进,无法转换这个词。它给出了这样的内容:

parties -> parti


但是我想要的是:

fish -> fish
classes -> class
parties -> party
goods -> goods
cups -> cup


如果没有一个庞大的字典,里面没有每个英语单词,这似乎是一个难题。有没有成熟的算法可以做到?我也很高兴了解是否有任何库可以做到这一点,尤其是Java中的库。谢谢。

最佳答案

您想要的是词条还原器而不是词干分析器。 java中有多种实现。我发现最容易从命令行使用Stanford CoreNLP。 Morpha也相当受欢迎。

PS您的问题是重复的。我之所以要回答是因为很难通过Google找到答案。

关于java - 如何将复数名词转换为单数名词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23946819/

10-12 18:57