java - 如何找到句子的主语?

标签 java php nlp

<分区>

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

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

  2. 有没有一种工具可以给定一个句子,找出句子的主语。

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

非常感谢。

最佳答案

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

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

编写朴素贝叶斯分类器很简单;像 MALLET 这样的软件包也会有这个加上更好的机器学习方法。 Lingpipe也会有这种东西。

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

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

关于java - 如何找到句子的主语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448002/

相关文章:

java - oracle INACTIVE session 正在阻塞 Activity session 需要一种方法来查找正在阻塞的 sqlid

php - 如何在一个循环中使行溢出

python - 基于 Spacy 规则的匹配来识别 python 中与金钱/日期相关的单词

java - JTable:如何用TableCellRenderer实现自定义翻转效果

java - Java中的自定义缓存实现

php - 依赖 "mysql_insert_id"

python - ModuleNotFoundError : No module named 'pegasus'

nlp - 如何在启用SELinux的Linux机器上安装小子注释工具

java - MongoDb GridFs 更新 Java

php - 一种整理 PHP 代码的方法