部分语音标记 - 从哪里开始?

时间:2010-02-05 09:31:21

标签: java parsing nlp linguistics

您好我想知道如何为这样的任务实施解决方案:

有一份500Mb的普通英文文件。

我想收集有关单词频率的统计数据, 但另外要确保每个单词都被正确识别(或大部分单词)。

在句子中“哭”,“她给了一个响亮的CRY” 被归类为名词,“不要哭”会给统计数字添加动词。

此外,最好过滤正确的名称,以便他们形成另一个字典。

另一项任务将更加困难。我想找到那些词语的出现 经常聚集在一起并建立这样的事件清单。

让我们说,“绿草”,“漂亮女孩”,“小心处理”,“你是对的”。 因此,我们可以准确地说,在语言中经常使用哪些单词序列。

我如何开始?是否有开放的Java工具和关于这个问题的好书?

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

“比较困难”的“其他任务”远比将cry(v)与cry(n)区分开来的原始任务简单得多。您要做的是生成一致性(方便的搜索词)。有这样的工具可以为你做这件事,考虑到英语的流行,我会感到惊讶,如果你找不到一个甚至可以为你处理变形的东西,而不必做任何艰苦的工作。

答案 2 :(得分:0)

你的“其他任务”似乎只是一个马尔可夫链问题。如果你对两个单词的组合感兴趣,你只需要一次读一个单词,创建一个字典(散列,表,等等),其中键是当前和前一个单词,值是计数。

因此,对于输入文本“家就是家”,你得到

nil, home: 1   (ignore this)
home, is: 2
is, where: 1
where, the: 1
the, home: 1

答案 3 :(得分:0)

您可能对Introduction to Linguistic Annotation and Text Analytics感兴趣,这本书非常注重文本注释和文本分析的软件工具。它对自然语言处理理论没有任何关注,但可以作为当前NLP软件工具的良好介绍。

(预先警告说,由于这个焦点,它可能会非常快地过时。如果你可以从图书馆借用它,你可能应该这样做而不是购买它。)