对话策略:即 policy,是根据上面介绍的置信状态来决策的过程。对话策略的输出是一个系统动作(system action)。和用户的 dialogue act 类似,系统动作也是一个由 communicative function 和 slot-value pairs 组成的语义表示,表明系统要执行的动作的类型和操作参数。“每次决策的目标不是当前动作的对与错,而是当前动作的选择会使未来收益的预期(expected long-term reward)最大化”。 自然语言生成:natural language generation(NLG)的任务是将对话策略输出的语义表示转化成自然语言的句子,反馈给用户。 有了上面的基础知识,我们就可以进入正题了:如何评估一个任务驱动的多轮对话系统?下面我们就分对话状态跟踪和对话策略两部分详细介绍。 等一下,为什么不讲 SLU 和 NLG?先说 SLU,其本质就是一个结构化分类的问题,虽然所用到的模型可能千差万别,繁简不一,但是评估标准比较明确,无非是准确率、召回率、F-score 等,所以这里就不详细论述了。至于 NLG,直播,据我所知目前的商业应用的对话系统中的 NLG 部分主要是靠模板解决的,所以也没什么可评估的。不是说 NLG 问题本身简单,而是现有对话系统的能力还远没达到要靠优化 NLG 来提升用户体验的程度,前面一系列的问题还都没解决到极致,模板话术死板这事儿根本不是瓶颈所在。当然,学术界对 NLG 问题早有很多年的研究积累,感兴趣的读者可以参考我前前前雇主赫瑞瓦特大学交互实验室 Oliver Lemon,Helen Hastie 和 Verena Rieser,霍尔大学 Nina Dethlefs,还有剑桥大学对话组 Tsung-Hsien Wen 的工作。
虽然对话状态跟踪本质上也是一个分类问题,但作为辅助对话策略决策的一个关键步骤,DST 维护的是一个概率分布,那么这里就引入了两个问题:(1)怎样衡量一个概率分布的优劣;(2)在哪一轮评估合适。下面我们就结合2013年 Dialog State Tracking Challenge(DSTC)(2) 的评估结果来分析一下这些问题。 DSTC 2013 是国际上第一届对话状态跟踪任务的公开评测,由微软研究院,本田研究院和卡内基·梅陇大学联合组织。评测数据来自匹斯堡公车路线电话自动查询系统3年间的真实用户 log。评测提供5组训练集和4组测试集,分别用于测试以下四种情况: (1)有与测试集来自完全相同的 ASR、SLU 和对话策略的训练数据; (2)有与测试集来自完全相同的 ASR 和 SLU的训练数据,但对话策略不同; (3)只有少量与测试集来自完全相同的 ASR、SLU 和对话策略的训练数据; (4)产生测试数据的 ASR、SLU 和对话策略均与产生训练样本的系统不同。 除了两组训练集只有 ASR 的标注外,其它训练集均提供了人工标注的 ASR、SLU 和 DST 结果。此次评测共有11个团队参与,提交了27个系统。因为是第一次评测,主办方提出了11种评测指标和3种评测时机(schedule)作为参考,详细说明如下: Hypothesis accuracy: 置信状态中首位假设(top hypothesis)的准确率。此标准用以衡量首位假设的质量。 Mean reciprocal rank: 1/R 的平均值,其中R是第一条正确假设在置信状态中的排序。此标准用以衡量置信状态中排序的质量。 L2-norm: 置信状态的概率向量和真实状态的0/1向量之间的 L2 距离。此标准用以衡量置信状态中概率值的质量。 Average probability: 真实状态在置信状态中的概率得分的平均值。此标准用以衡量置信状态对真实状态的概率估计的质量。 ROC performance: 如下一系列指标来刻画置信状态中首位假设的可区分性 Equal error rate: 错误接受率(false accepts,FAs) 和错误拒绝率(false rejects,FRs)的相交点(FA=FR)。 Correct accept 5/10/20: 当至多有5%/10%/20%的 FAs 时的正确接受率(correct accepts,CAs)。 (责任编辑:本港台直播) |