nlg建一句话

Rad*_*dek 7 nlp

我想生成一个输入单词的句子.例如

输入:

Mary
chase
the monkey
Run Code Online (Sandbox Code Playgroud)

输出:

Mary chases the monkey.
Run Code Online (Sandbox Code Playgroud)

这可以使用simpleNLG库来完成:http://code.google.com/p/simplenlg/,方法如下:

String subject = "Mary";
String verb = "chase";
String object = "the monkey";

p.setSubject(subject);
p.setVerb(verb);
p.setObject(object);

String output = realiser.realiseSentence(p);
System.out.println(output);
Run Code Online (Sandbox Code Playgroud)

这将产生玛丽追逐猴子的句子.但是我想让它自动化,我输入单词并生成句子.这将需要一些预处理,该预处理将指定哪个单词是主语哪个单词是动词,哪个是对象.我知道有POS(词性)标记库,但它们没有指定它是主题还是对象.有任何建议如何做到这一点?也适用于使用多个对象,副词等更大的句子.

小智 1

为了获得输入句子的主语、动词或宾语,您需要执行句法分析或解析。

解析工具主要有两类:成分解析器和依存解析器,但通常前者是获取所需内容的更直接途径。

这些是您可以尝试的一些研究成分解析器:

这个相关问题也可能有帮助:Simple Natural Language Processing Startup for Java