-1

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

4

1 回答 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 回答