我正在建立一个模型,该模型采用了一些关键字,例如" i" draind" water",并将其转换为有意义的句子,例如"我正在喝水"。有什么参考或我可以做的方式吗?
您似乎正在寻找实现的方法作为自然语言生成(nlg(的一部分。最好的NLG系统是商业化的,但存在一些开源系统,以及Wikipedia文章中列出的。我发现了两个维护的软件库:
- simplenlg
- openccg
和两个似乎不再积极维护的项目:
- kpml
- fuf/surge
OpenCCG似乎提供了比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可能会有所帮助。