nlg建立一个句子
我想生成一个有输入词的句子。 例如
输入:
Mary
chase
the monkey
输出:
Mary chases the monkey.
这可以通过以下方式使用简单的NLG库来完成: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);
这将产生句子玛丽追逐猴子。 但是我想在输入单词和生成句子的地方使它自动化。 这需要一些预处理来指定哪个词是主题,哪个词是动词,哪个词是对象。 我知道有POS(词类)标签库,但他们没有说明它是一个主题还是客体。 任何建议如何做到这一点? 也为了使它适用于多个对象,副词等更大的句子。
为了获得输入句子的主语,动词或宾语,您需要执行语法分析或语法分析。
有两个主要的解析工具组,构成解析器和依赖解析器,但通常前者是获取所需内容的更直接路径。
这些是您可以尝试的一些研究组成分析器:
这个相关的问题也可能有助于:Java的简单自然语言处理启动
最常见的方法是建立ngramm统计数据,然后建立最可靠的词语序列。 Oen着名的例子可以在这里找到http://scribe.googlelabs.com/
这取决于单词的顺序。 如果命令是玛丽追逐猴子,那么输出将是玛丽追逐猴子。 如果命令是猴子追逐玛丽然后输出将是猴子追逐玛丽。
我看了一下OpenNLP解析器,但它将输入一个正在解析的句子。 我所输入的是单词,我需要建立一个句子。
无论如何,当我看到这个例子:快速的棕色狐狸跳过懒惰的狗。
解析器现在应该将以下内容输出到控制台。 (NP(DT))(JJ quick)(JJ brown)(NN狐狸)(NNS jump))(PP(IN))(NP(DT the) ...)))
我所能看到的只是言语的一部分。 除非在API中有这样的功能,否则我无法看到它指定对象,主题等。
如果我错了,请纠正我。
链接地址: http://www.djcxy.com/p/52879.html