Nlp nlg构建一个句子

Nlp nlg构建一个句子,nlp,Nlp,我想生成一个句子,输入单词。 例如 输入: Mary chase the monkey 输出: Mary chases the monkey. 这可以通过使用SimpleLink库来实现:通过以下方式: String subject = "Mary"; String verb = "chase"; String object = "the monkey"; p.setSubject(subject); p.setVerb(verb); p.setObject(object); Strin

我想生成一个句子,输入单词。 例如

输入:

Mary
chase
the monkey
输出:

Mary chases the monkey.
这可以通过使用SimpleLink库来实现:通过以下方式:

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);

这将生成“玛丽追猴子”的句子。但是我想让它自动化,我输入单词,然后生成句子。这需要一些预处理来指定哪个词是主语,哪个词是动词,哪个词是宾语。我知道有词性标记库,但它们没有指定它是主语还是宾语。有什么建议可以这样做吗?同样,为了使其适用于包含多个宾语、副词等的大型句子,最常用的方法是建立ngramm统计,然后建立最容易传播的单词序列。这里有一个著名的例子

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

有两组主要的解析工具,组成解析器和依赖解析器,但通常前者是获取所需内容的更直接路径

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


这个相关的问题也可能有帮助:

这取决于单词的顺序。如果订单为Mary chase the monkey,则输出为Mary chase the monkey。如果订单是猴子追玛丽,那么输出将是猴子追玛丽

我看了一下OpenNLP解析器,但它将正在解析的句子作为输入。我输入的是单词,我需要构建一个句子

不管怎样,当我看这个例子时: 敏捷的棕色狐狸跳过了懒狗

解析器现在应该将以下内容打印到控制台。 (上)(NP)(NP)(DT)(JJ快速)(JJ布朗)(NN狐狸)(NNS跳跃)(PP(在上面)(NP(DT)(JJ懒惰)(NN狗)))(……)

我所能看到的只是词性。我无法看到它指定对象、主题等,除非API中有这样的函数


如果我错了,请纠正我。

我不知道你在问什么。是否要输入一袋单词(不考虑顺序)并输出句子?程序如何知道您想要的是“玛丽追猴子”还是“猴子追玛丽”?解析器(OpenNLP,斯坦福)从一个句子开始,告诉您主语、宾语等的角色是什么。