你如何找到句子的主语?

时间:2011-06-23 00:09:05

标签: java php nlp

我是NLP的新手,正在研究我应该使用什么语言工具包来执行以下操作。我想完成同样事情的两件事之一:

  1. 我基本上想要对文本进行分类,通常是一个包含15个单词的句子。如果句子是在谈论特定主题,想要分类。

  2. 是否有一个给出句子的工具,它会找出句子的主语。

  3. 我使用的是PHP和Java,但该工具可以是在Linux命令行上运行的任何东西

    非常感谢。

2 个答案:

答案 0 :(得分:7)

这样做的最基本方法是创建一组标记的训练数据并使用它来训练分类器。分类器如何工作是一个更复杂的问题 - 对于垃圾邮件过滤和许多其他事情,只需查看单词频率就可以很好地工作。

以下是一个基本示例:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex6/ex6.html

写一个朴素贝叶斯分类器是微不足道的;像MALLET这样的软件包也会有更好的机器学习方法。 Lingpipe也会有这种东西。

您真正需要关注的是数据的质量以及您的功能。根据数据的质量,我指的是没有那么多边界情况的大量数据,而我的意思是你只选择单词,单词组合(单词ngrams),或依赖项功能,或者更复杂的东西。您需要一种方法来创建要素数据以及实际进行学习!从这个意义上说,Lingpipe是好的,因为你可以进行标记化和所有这些,而不是编写自己的函数来执行此操作,或者必须将其他工具拼凑到您自己的要素生成代码中。

可在此处找到MALLET指南:http://courses.washington.edu/ling570/fei_fall10/11_15_Mallet.pdf

答案 1 :(得分:2)

NLTK可以解决问题。

我发现下面的web服务api方便,现成的使用......

http://text-processing.com/demo/