Java 使用Stanford NLP的单词标记化
我正在使用斯坦福NLP Java库。我发现它在处理词干、引理化和将句子标记成单词时最准确Java 使用Stanford NLP的单词标记化,java,nlp,stanford-nlp,Java,Nlp,Stanford Nlp,我正在使用斯坦福NLP Java库。我发现它在处理词干、引理化和将句子标记成单词时最准确 我的要求是把单词标记化,比如“leatherjacket”可以正确地解释为“leatherjacket”。在这一级别,我不处理拼写更正问题,但请告诉我这是否可行。这是一个复杂的问题,因为您假设您是在单词上标记,而不是在标记/原始语言单位上标记。Wikipedia将标记化描述为: 在词法分析中,标记化是打断流的过程 将文本分解为单词、短语、符号或其他有意义的元素 称为代币 PTBTokenizer(CoreN
我的要求是把单词标记化,比如“leatherjacket”可以正确地解释为“leatherjacket”。在这一级别,我不处理拼写更正问题,但请告诉我这是否可行。这是一个复杂的问题,因为您假设您是在单词上标记,而不是在标记/原始语言单位上标记。Wikipedia将标记化描述为: 在词法分析中,标记化是打断流的过程 将文本分解为单词、短语、符号或其他有意义的元素 称为代币 PTBTokenizer(CoreNLPs主标记器)大致拆分单词,而不是实际单词。因此,下面的句子将产生6个标记 我有一件很酷的皮夹克 ['I'、'have'、'a'、'really'、'cool'、'leatherjack'] 理解到标记化并不能像您所想的那样安静地工作,我可以推荐一个解决方案作为您的标记化过程的先驱。在谷歌,这部臭名昭著的作品的合著者讨论了他的玩具(概率/辨别)算法,该算法达到了80%-90%的准确率。但已移植到其他语言,可能适合您的需要。RaelGC用Java实现了一个42行的解决方案,这在很多方面都令人印象深刻
或者,您可以创建自己的标记器,它更进一步,是某种混合拼写更正器/标记器。然而,这将是荒谬的困难/乏味,并且由于新颖性,值得出版。但简短的回答是,这里并没有黄金子弹。我不确定我们现在有什么可以做到这一点的。但我个人以前也曾处理过这个问题,将这样一个组件添加到StanfordCorenlp中可能会很有趣 我的简单方法基本上是:
谢谢你的建议!目前我正在使用PTBTokenizer,正如您所提到的。你分享的链接很值得一读。我正在尝试进一步挖掘关于编写我自己的分词器或单词标记器和拼写更正器的信息。谢谢您的回复。我试图找到一种算法,它以最小的复杂性为我提供所需的功能,并了解遗留动态规划(O(n^2))。我想试一试。再次感谢你提到这个把戏。