假设我们有一个事实列表(类似于 prolog 元组),它定义了一些关于某些实体的知识。例如
doing(clean, data)
done(collect, data)
todo(train, model)
todo(write, paper)
我可以使用哪些方法来生成以下句子:
你应该清理你收集的数据,然后你需要训练你的模型并写你的论文。
假设我们有一个事实列表(类似于 prolog 元组),它定义了一些关于某些实体的知识。例如
doing(clean, data)
done(collect, data)
todo(train, model)
todo(write, paper)
我可以使用哪些方法来生成以下句子:
你应该清理你收集的数据,然后你需要训练你的模型并写你的论文。
当您解析句子时,您使用语法来获取句子的含义(语义)。
现在你使用语义(元组)和语法来造句。
你的知识包括动词、名词和他们定义的任务准备就绪的某种概念。
要形成句子,您还需要有关这些类别之间额外合格单词的知识/规则,以及时间与动词语法时态的关系。
您必须为元组编写一个解析器,该解析器对三个部分中的元组进行编码,制定语法,然后将语法应用于解析的元组数据。
之后你会得到句子。
有关如何编码的更精确信息以及此信息以及图片来源:
http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/node93.html#l14.sec.nlg