如何使用关键词形成有意义的句子?

时间:2019-05-01 11:42:46

标签: nlp nlg

我正在构建一个模型,该模型使用一些关键字,例如“我”,“喝”,“水”,并将其转换为有意义的句子,例如“我在喝水”。有什么参考或方法可以做到吗?

1 个答案:

答案 0 :(得分:1)

您似乎正在寻找realization的方法,作为自然语言生成(NLG)的一部分。最好的NLG系统是商用的,但也存在一些开源系统,如Wikipedia文章中所列出。我找到了两个维护的软件库:

还有两个似乎不再积极维护的项目:

OpenCCG似乎比SimpleNLG提供更多功能,但后者似乎更易于使用。 SimpleNLG教程中的This small example对于您的用例可能已经足够了:

 import simplenlg.framework.*;
 import simplenlg.lexicon.*;
 import simplenlg.realiser.english.*;
 import simplenlg.phrasespec.*;
 import simplenlg.features.*;

 Lexicon lexicon = Lexicon.getDefaultLexicon();
 NLGFactory nlgFactory = new NLGFactory(lexicon);
 Realiser realiser = new Realiser(lexicon);

 SPhraseSpec p = nlgFactory.createClause();
 p.setSubject("Mary");
 p.setVerb("chase");
 p.setObject("the monkey");

 // prints "Mary chases the monkey.":
 System.out.println(realiser.realiseSentence(p));

如果您喜欢使用Python this wrapper around SimpleNLG可能会有所帮助。