CoAI

全栈式任务域对话系统平台ConvLab/ConvLab-2

  • 2020年10月29日 16:00

ConvLab及ConvLab-2是由清华大学交互智能(CoAI)小组与微软研究院合作开发的任务导向对话平台。平台支持研究人员用最新的模型搭建对话系统,结合用户模拟器或真人进行端到端评估,以及使用分析工具和交互工具诊断系统的缺陷。ConvLab-2平台支持多种流水线式和端到端式的对话系统,支持的模型覆盖了各个模块,用户也可以便捷的加入自己的模型。分析工具可用于从对话中提取丰富的统计信息,总结常见的错误。交互工具可将对话系统部署到服务器,与人通过网页交互,便于诊断对话系统以及收集人机对话数据。



ConvLab 论文:https://www.aclweb.org/anthology/P19-3011/ (ACL 2019 demo paper, best demo nominee)
ConvLab 代码:
https://github.com/ConvLab/ConvLab
ConvLab-2 论文https://www.aclweb.org/anthology/2020.acl-demos.19/ (ACL 2020 demo paper)
ConvLab-2 代码:
https://github.com/thu-coai/Convlab-2
ConvLab-2 demo video:https://youtu.be/00VWzbcx26E
ConvLab 和 ConvLab-2 平台分别被用于 DSTC-8 和 DSTC-9 多领域任务导向对话挑战赛:https://convlab.github.io/


ConvLab-2 平台的整体框架如下图所示。用户可采用不同的模块配置搭建对话系统。对每个模块我们都提供了基线模型,用户也可以便捷的接入自己的模型。系统搭建完后,可以与提供的用户模拟器进行端到端对话,评估系统级别的性能。或者通过AMT与真人进行对话。平台还提供了分析工具对模拟的对话提取统计信息进行错误分析,生成HTML格式的分析报告。平台的交互工具能将搭建好的对话系统部署到服务器上,允许人与系统在网页端对话,查看和修改系统内部的状态,便于诊断对话系统以及收集人机对话数据。


framework.jpeg

   图1:整体框架。每个模块都提供了基准模型,研究者也可以自己构建模型。


目前ConvLab-2为对话系统中每个可能的组件提供以下模型(图2)。与ConvLab相比,ConvLab-2中新集成的模型以粗体标记。研究人员可以通过实现相应组件的接口轻松添加自己的模型。我们也会不断增加最新的模型和数据集,以反映任务导向对话的前沿进展。


1605413385299949.png

图2:支持的模型和数据集。


利用 ConvLab-2 提供的的用户模拟器,我们在MultiWOZ数据集上端到端地评估了几种不同配置的对话系统,主要指标有:

1. Complete:是否完成用户目标,由用户模拟器判断。
2. Success:主要指标。对话是否成功,用户需求的信息是否被告知,这些信息是否真的满足用户约束,由第三方评估者结合数据库判断。
3. Book:预订的实体是否满足用户约束。
4. Inform Precision/Recall/F1:多少用户的需求被系统告知。

结果如下图所示:(最新结果见 ConvLab-2 github仓库)

1605494141535865.png

图3:端到端评估结果。


ConvLab-2提供了一个分析工具,在上述端到端指标外提供每个模块更细致的分析,并生成一个包含丰富的模拟对话统计信息的HTML报告。分析工具还支持与同一用户模拟器交互的不同对话系统之间的比较。

1605496596988588.png

图4:分析工具。


下图展示了 MultiWOZ 数据集上 BERTNLU+RuleDST+RulePolicy+TemplateNLG 的部分分析结果。从成功率, inform F1, 和对话循环比例可以看出,Hotel 领域比其他领域更难。

1605497045719897.png

图5:MultiWOZ数据集部分分析结果。


对 Hotel 领域进行更细致的分析见下图。我们可以发现 NLU 模块经常错误地把邮政编码、地址和电话号码的请求当成其他领域的;特别是当用户询问电话号码时,更容易产生对话死循环。


1605497272264761.png

图6:MultiWOZ Hotel 领域的部分分析结果。


ConvLab-2 提供的交互工具可以让真人与对话系统通过网页端的图形界面对话。交互工具把搭建好的对话系统部署到服务器上,前端就可以通过浏览器访问了。模型中间结果的输出(比如NLU的解析结果)也会展示,并且允许手动修改中间结果以跳过某个模块进行模块的分析和测试。此外,这个工具也可以帮助收集人机对话,更进一步也可以用来通过用户反馈迭代的训练模型。交互工具的界面如下图:


1605497749868811.png

图7:交互工具界面截图


ConvLab 和 ConvLab-2平台分别被用于 DSTC-8 和 DSTC-9 多领域任务导向对话挑战赛,吸引了上百只队伍参加,十几只队伍最终提交。参赛公司有华为,滴滴,阿里,蚂蚁金服,中国平安,同花顺等。参赛学校有 KAIST,POSTECH,NTU,UC Davis等。