33、对话生成模型:从技术优化到竞赛评估

对话生成模型:从技术优化到竞赛评估

1. 模型优化:模拟退火提升回复多样性

在构建优秀的生成式对话代理时,一个常见问题是模型往往会生成枯燥或千篇一律的回答。为了解决这个问题,采用了模拟退火算法来增加模型回复的多样性。

在束搜索的每次迭代中,退火过程不是选择能使结果序列概率最大化的标记,而是根据相应概率对下一个标记进行采样。这个操作以一定概率执行,该概率在每一步都会通过退火系数因子减小,这里选择的退火系数为 0.6。

2. 模型训练
  • 数据集 :使用从混合数据集中采样的对话进行训练。
  • 训练参数
    • 批量大小:256
    • 优化器:AdamW
    • 学习率:$6.25 · 10^{-5}$
    • 预热步骤:16,000
    • L2 权重衰减:0.01
  • 训练时间
    • 第一阶段:在单个 Nvidia GTX 1080TI GPU 上训练 1 周。
    • 第二阶段:在相同硬件上训练 2 天。
3. ConvAI2 竞赛评估

ConvAI2 竞赛分为两个阶段:
- 第一阶段:自动评估
- 评估指标
- 困惑度(PPL):衡量正确序列的对数似然。
- Hits@1:在 19 个随机干扰响应中检索真实下一个话语的准确率。
- F1 分数:基于真实话语中单词计算的精确率和召回率的调和平均值。
- 各模型表现
| 模型 | 验证集 - PPL | 验证集 - Hits@1 | 验证集 - F1 | 测试集 - PPL | 测试集 - Hits@1 | 测试集 - F1 |
| — | — | — | — | — | — | — |
| Hugging Face | 17.51 | 82.1 | 19.09 | 16.28 | 80.7 | 19.5 |
| ADAPT centre | 22.57 | - | 20.3 | 31.4 | - | 18.39 |
| Happy Minions | 29.85 | - | 17.79 | 29.01 | - | 16.01 |
| Mohd Shadab Alam | 34.12 | 13.4 | 17.08 | 29.94 | 13.8 | 16.91 |
| Little baby | - | 83.0 | - | - | 64.8 | - |
| Seq2Seq + attention (ConvAI2 baseline) | 35.07 | 12.5 | 16.82 | 29.8 | 12.6 | 16.18 |
| Language model (ConvAI2 baseline) | 51.1 | - | 15.31 | 46.0 | - | 15.02 |
| KV profile memory (ConvAI2 baseline) | - | 55.1 | 11.72 | - | 55.2 | 11.9 |
| Lost in conversation (ours) | - | 17.3 | 17.79 | - | 17.1 | 17.7 |

  • 第二阶段:人工评估
    • 评估维度
      • 综合流畅度得分
      • 一致性和参与度(评分范围 1 - 5)
      • 个人信息一致性得分:在两个提供的选项中猜对聊天机器人角色的准确率。
    • 各模型表现
      | 模型 | 评分 | 角色检测 |
      | — | — | — |
      | Hugging Face | 2.68 | 0.98 |
      | Little baby | 2.44 | 0.79 |
      | Mohd Shadab Alam | 2.33 | 0.93 |
      | Happy Minions | 1.92 | 0.46 |
      | ADAPT centre | 1.6 | 0.93 |
      | KV profile memory (ConvAI2 baseline) | 2.44 | 0.76 |
      | Lost in conversation (ours) | 3.11 | 0.9 |
      | Human | 3.48 | 0.96 |
4. 模型表现分析

在开发和原型设计阶段,主要依赖 F1 分数,因为经验和观察表明它是主观对话质量的最佳代表。然而,自动评估指标很难反映自然语言对话的许多方面,如对话流程的自然程度。

在自动评估阶段,模型没有取得最佳成绩,在 F1 分数上也落后于主要竞争对手 Hugging Face。但在人工评估阶段,模型取得了迄今为止最好的质量得分,更接近真人的对话质量。模型还成功维护了预分配的角色信息,但没有过度拟合角色信息。

5. 样本对话分析

展示了基于角色和无角色的样本对话。可以看出,模型能够很好地考虑角色信息,并在对话陷入僵局时尝试发起新话题。但当需要从信息中得出结论时,模型往往会出错。

graph LR
    A[开始] --> B[模型训练]
    B --> C[ConvAI2 竞赛]
    C --> C1[第一阶段:自动评估]
    C --> C2[第二阶段:人工评估]
    C1 --> D[输出自动评估结果]
    C2 --> E[输出人工评估结果]
    D --> F[分析自动评估表现]
    E --> G[分析人工评估表现]
    F --> H[总结自动评估优缺点]
    G --> I[总结人工评估优缺点]
    H --> J[综合分析与改进方向]
    I --> J
    J --> K[结束]

通过以上分析可以看出,虽然模型在自动评估中表现一般,但在人工评估中展现出了优势。未来可以进一步研究如何改进自动评估指标,使其更能反映人类对对话质量的感知,同时解决模型存在的重复问题,提高对话质量。

对话生成模型:从技术优化到竞赛评估

6. 模型存在的问题及改进方向

尽管模型在人工评估阶段取得了较好的成绩,但也暴露出了一些问题。其中,最主要的问题是存在重复内容,这对对话的整体感知产生了负面影响。为了提高模型的表现,使其在人工评估中的得分更接近真人水平,可以考虑添加一个专门的机制来消除重复内容。这一问题仍有待进一步研究,有望成为未来的研究方向。

7. 结论与展望

在这项工作中,提出了一种针对对话生成的解决方案,该方案在 ConvAI2 竞赛中取得了胜利。其基本思路是在大型语料库上预训练一个受 Transformer 和 OpenAI GPT 启发的基于神经注意力的架构,然后在实际的(小得多)竞赛数据集上进行微调。

近年来,类似的迁移学习方法在自然语言处理的各个领域得到了广泛应用,交互式对话代理也不例外。通过将在大型无标签语料库上训练的语言模型成功改编为开放域生成式对话系统,结果表明,这种方法在人工评估和总体对话质量方面产生了出色的效果,值得进一步深入研究。

竞赛结果还表明,自动评估指标不能真正反映非目标导向对话代理的人类感知。尽管为了通过竞赛的第一阶段而尝试优化 F1 指标,但最终还是主要关注对话的主观质量,通过与机器人进行手动聊天并相应地调整模型来进行评估。因此,虽然在竞赛的各项指标上没有取得领先,但在人工评估中脱颖而出。这证实了现有的自动评估指标在评估对话系统质量方面仍然面临挑战,进一步开发对话模型的自动评估方法是该领域进一步发展的重要障碍之一。

8. 不同模型话语的词统计分析
模型 人工评估分数 平均单词数(模型) 平均单词数(人类) 平均字符数(模型) 平均字符数(人类)
Hugging Face 2.67 11.5 11.9 44.4 49.2
Little baby 2.4 11.5 11.3 51.5 47.3
Mohd Shadab Alam 2.36 9.5 10.2 33.8 42.5
Happy Minions 1.92 8.0 10.2 27.9 42.5
ADAPT centre 1.59 15.1 11.8 60.0 48.0
Lost in conversation (ours) 3.11 10.18 11.9 39.2 48.2
Human 3.46 14.1 13.7 59.9 57.7

从这个表格可以看出不同模型在生成话语时的词数和字符数特征,与人类的表现进行对比。例如,“Lost in conversation”模型的人工评估分数较高,其平均单词数和字符数与人类的差距相对较小,这可能与它在对话中的表现较好有关。

9. 总结与未来规划
  • 总结
    • 模拟退火算法有效提升了模型回复的多样性。
    • 模型在人工评估中表现出色,但自动评估指标存在不足。
    • 模型存在重复内容的问题,影响对话质量。
  • 未来规划
    • 改进自动评估指标,使其更能反映人类对对话质量的感知。
    • 开发专门机制消除模型中的重复内容。
    • 进一步优化模型,提高对话的自然度和逻辑性。
graph LR
    A[当前模型状态] --> B[解决重复问题]
    A --> C[改进自动评估指标]
    B --> D[提高人工评估得分]
    C --> D
    D --> E[优化模型性能]
    E --> F[实现更自然的对话]

通过对模型的不断优化和改进,有望打造出更加智能、自然的对话生成模型,为用户提供更好的对话体验。同时,深入研究自动评估指标的改进方法,将有助于更准确地衡量对话系统的质量,推动对话生成技术的发展。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值