我试图得到一个句子的主要主题,即一个句子在说什么(不是可能不同的语法主题)。
到目前为止,我得到了
1.) Java 中的 OpenNLP,它为我提供了句子检测、POS 标记、解析、标记器和名称查找器。
2.) MatlParser,stanford Parser - 它可以通过依存解析给出一个简单句子的语法主语。
我认为名词或名词短语在更一般的意义上总是主语,但一个句子可以有很多名词和名词短语。任何帮助将非常感激。
我试图得到一个句子的主要主题,即一个句子在说什么(不是可能不同的语法主题)。
到目前为止,我得到了
1.) Java 中的 OpenNLP,它为我提供了句子检测、POS 标记、解析、标记器和名称查找器。
2.) MatlParser,stanford Parser - 它可以通过依存解析给出一个简单句子的语法主语。
我认为名词或名词短语在更一般的意义上总是主语,但一个句子可以有很多名词和名词短语。任何帮助将非常感激。
正如您正确指出的那样,语法是不够的。必须使用某种形式的浅语义分析来识别您所谓的“主题”。我相信它在 SRL(语义角色标签)的上下文中更常被称为代理。有开源工具(例如UIUC SRL 解析器)来执行语义角色标签,至少对于英语来说,但它们通常处理单独的谓词,其中在一个句子中可能有几个,所以必须以某种方式找出哪个“主题”是“主要”之一。
事实上,我认为后一个概念的定义并不明确,因为在一个复杂的句子中,可能不清楚哪个主语是“主要”主语。对于特定类型的句子,它可能更有意义,但不是一般的。我认为,如果您描述您正在使用的数据和/或给出一些示例,将会有所帮助。