基于检索的模型 VS. 生成式模型
基于检索的模型(retrieval-based model)更容易实现,它使用预定义响应的数据库和某种启发式推理来根据输入(input)和
上下文(context)选择适当的响应(response)。 启发式推理可以像基于规则(rule based)的表达式匹配一样简单,或者
像机器学习中的分类器集合(classifier ensemble)一样复杂。 这些系统不会产生任何新的文本,他们只是从固定的集合中选
择一个响应。
成式模型(generative model)要更难一些,它不依赖于预定义的响应,完全从零开始生成新的响应。 生成式模型通常基于机
器翻译技术,但不是从一种语言翻译到另一种语言,而是从输入到输出(响应)的“翻译”:
两种方法都有明显的优点和缺点。 由于使用手工打造的存储库,基于检索的方法不会产生语法错误。 但是,它们可能无法处
理没有预定义响应的场景。 出于同样的原因,这些模型不能引用上下文实体信息,如前面提到的名称。 生成式模型更“更聪
明”一些。 它们可以引用输入中的实体,给人一种印象,即你正在与人交谈。 然而,这些模型很难训练,而且很可能会有语法
错误(特别是在较长的句子上),并且通常需要大量的训练数据。
深度学习技术既可以用于基于检索的模型,也可以用于生成式模型,但是chatbot领域的研究似乎正在向生成式模型方向发
展。 像seq2seq这样的深度学习体系结构非常适合l来生成文本,研究人员希望在这个领域取得快速进展。 然而,我们仍然处
于建立合理、良好的生成式模型的初期阶段。现在上线的生产系统更可能是采用了基于检索的模型。
对话的长短