我试图得到一个句子的主题,即一个句子在说什么(不是可能不同的语法主题)。
到目前为止我已经
了1。)Java中的OpenNLP,它给我一个句子检测,POS标记,解析,标记器和名字查找器。
2。)MatlParser,stanford Parser - 它可以通过依赖解析给出一个简单句子的语法主题。
我认为名词或名词短语总是在更广泛的意义上,但句子可以有许多名词和名词短语。 任何帮助将不胜感激。
答案 0 :(得分:7)
正如您正确指出的那样,语法是不够的。人们必须使用某种形式的浅层语义分析来识别你所谓的“主体”。我相信它在SRL(语义角色标签)的上下文中通常被称为代理。有开源工具(例如UIUC SRL parser)来执行语义角色标记,至少对于英语,但它们通常在单独的谓词上工作,在句子中可能有几个,所以必须弄清楚哪个“主题”是“主要”主题。
事实上,我并不认为后者的概念是明确定义的,因为在一个复杂的句子中,可能不清楚哪个主题是“主要”主题。对于某种特定的句子,它可能更有意义,但不是一般的。我认为,如果您描述了您正在使用的数据和/或提供了一些示例,那将会有所帮助。
P.S。您可以考虑在https://linguistics.stackexchange.com/
上询问此问题