如何将 BERT 用作多功能对话式 AI?

人工智能 自然语言处理 分类 伯特 语言模型
2021-11-12 02:11:19

我正在寻找一个可以实现双重目的的 NLP 模型。一个目的是它可以进行有趣的对话(对话式人工智能),另一个目的是它可以进行意图分类,甚至完成分类任务。

要做到这一点,我是否需要使用多模式机器学习,将两个模型的信号合二为一?还是可以用一个模型来完成?

在我的互联网搜索中,我发现了由 Google 工程师开发的BERT(尽管显然不是 Google 产品),它是一种 NLP 模型,在无监督的情况下训练了 33 亿个或更多单词,看起来非常有能力。

我如何利用 BERT 制作自己的对话式 AI,它也可以执行任务?是不是像将权重从 BERT 复制到自己的模型一样简单?

任何指导表示赞赏。

1个回答

将 BERT(或类似模型)视为理解上下文的良好起点。

使 BERT 上下文化对话的几个选项:

  • 使用分隔符嵌入连接所有消息并微调像 BERT 这样的语言模型
    • 这在本文中显示了很好的结果,但要理解它有一些弱点,例如难以确定顺序或作者理解或对话解开。此外,随着线程变长,这变得越来越昂贵
  • 使用类似 BERT 的模型作为 RNN,并将作者/记忆信息作为隐藏状态传递
    • 这里的缺点是你对模型的隐藏状态施加了很大的压力,理想情况下你想单独训练每个评论块,这样梯度就不需要在反向传播中展开或遍历网络(我实际上实现了这个的变体为我的工作,并取得了良好的效果)

上面的 2 种模式只是基准示例,您可以根据自己的需要进行更改,如果您集思广益,我相信还有其他模式。

请注意,如果您需要生成功能,则需要使用 GPT2 或 XLNet 而不是 BERT 进行单向嵌入。希望这有帮助。