0

我必须编写一个程序(用Java)来识别名词,形容词,动词等的几个词性。该程序还应该识别数字(数字,例如10)和用普通英语写的数字(十,百等)和多得多。我不确定前进的方向是什么。有没有可以提供帮助的图书馆?这只能用正则表达式来完成吗?还是我需要学习 NLP?

请提出前进的道路。

4

2 回答 2

2

(1) OpenNLP

(2) 灵管

(3) 斯坦福自然语言处理

以上所有 3 项(基于 Java)将帮助您,开箱即用地识别 POS。

对于数字,请使用正则表达式。

于 2013-04-01T20:03:48.327 回答
1

词性 (POS) 标记是一项非常标准的 NLP 任务。理论上,您可以编写正则表达式来对非常简单的句子进行 POS 标记,但您不太可能使用正则表达式模型实现合理的覆盖率或准确性。你可以很好地训练一个相当简单的 HMM 模型或一个手工标记的训练集上的判别标记器。

但是要标记一个特定的语料库,您不一定需要学习 POS 标记的所有细节并自己动手——学习使用现有的库可能就足够了(例如 NLTK 或斯坦福 NLP 库)。

将文本数字表示转换为其阿拉伯形式(反之亦然)属于“文本规范化”的标签。正则表达式(或其他有限状态转换)在那里可能更有用,但同样,您可能希望在从头开始之前寻找满足您需求的现有解决方案。

于 2013-04-01T19:54:27.197 回答