我正在构建一个模型,该模型使用一些关键字,例如“我”,“喝”,“水”,并将其转换为有意义的句子,例如“我在喝水”。有什么参考或方法可以做到吗?
答案 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可能会有所帮助。