我正在构建一个模型,该模型采用“我”“喝”“水”等几个关键字并将其转换为“我在喝水”等有意义的句子。有什么参考或方法可以做到吗?
问问题
682 次
1 回答
1
您似乎正在寻找实现方法作为自然语言生成(NLG) 的一部分。最好的 NLG 系统是商业的,但也存在一些开源系统,正如 Wikipedia 文章中所列出的那样。我找到了两个维护的软件库:
还有两个似乎不再积极维护的项目:
OpenCCG 似乎提供了比 SimpleNLG 更多的功能,但后者似乎更易于使用。SimpleNLG 教程中的这个小示例对于您的用例可能已经足够了:
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 ,这个 SimpleNLG 的包装器可能会有所帮助。
于 2019-05-08T20:50:56.087 回答