我必须写一个程序(在Java中)来识别像名词,形容词,动词等几个词性。该程序还应该识别数字(在数字,例如10)和数字写在简单的英语(十,百等)和更多。我不确定前进的方向是什么。有没有可以提供帮助的库?这只能用正则表达式来完成吗?或者我需要学习NLP吗?
请提出一个前进的方向。
发布于 2013-04-02 04:03:48
(1) OpenNLP
(2) LingPipe
(3)斯坦福NLP
以上3种方法(基于Java)都可以帮助你,开箱即用地识别POS。
对于数字,请使用正则表达式。
发布于 2013-04-02 03:54:27
词性标注(POS)是一项非常标准的NLP任务。从理论上讲,您可以编写对非常简单的句子进行POS标记的正则表达式,但使用正则表达式模型不太可能实现合理的覆盖率或准确性。在手工标记的训练集上,你可以很好地训练一个相当简单的HMM模型或一个有区别的标记器。
但是要标记特定的语料库,你不一定需要学习POS标记的所有细节并自己滚动-学习使用现有的库可能就足够了(例如NLTK或Stanford NLP库)。
将文本数字表示转换为阿拉伯形式(反之亦然)属于“文本规范化”的范畴。正则表达式(或其他有限状态转换)在那里可能更有用,尽管同样,您可能希望在从头开始之前寻找满足您需求的现有解决方案。
https://stackoverflow.com/questions/15742892
复制相似问题