跳转至

引言

背景

当前的对话系统在处理单轮对话问题上效果非常好,而在处理多轮或者与上文相关的用户问题时,当前对话系统则表现一般,主要原因是人们的日常对话中每个轮次之间并非孤立的,而是每一轮对话都可能存在指代(pronoun)或者省略(ellipsis)的情况。 这时如果只基于用户当前轮的输入进行回复,则会忽略掉上文的一些重要信息,导致回复的结果不符合上下文语境。

问题

Non-Sentential Utterances(NSUs) 表示对话过程中存在省略和指代,且不具备完备语义信息的句子。下表中列举了对话系统中指代和省略造成NSUs的示例:

类型 示例
指代 A1: 梅西有多高
B1: 官方说他的身高是5英尺7英寸。
A2: 他和C罗谁是最好的球员?
省略 A1: 你喜欢什么电影?
B1: 泰坦尼克。
A2: 为什么呢?

在指代示例中,A2中的【他】指A1中的【梅西】。

在省略示例中,A2中省略了【喜欢泰坦尼克】。

目标

对于 NSUs 问题,改写任务的目标是将最后一句话恢复到具备完整语义信息的句子。在指代示例中,A2恢复到具备完整语义信息的句子,即【梅西和C罗谁是最好的球员?】。在省略示例中,A2恢复到具备完整语义信息的句子,即【你为什么喜欢泰坦尼克?】。

句子恢复到具备完整语义信息后,对话系统的理解模块将其作为输入,无需通过上下文进行建模,便可以准确地理解用户的问题。

任务描述

对轮对话 NSUs 的改写问题,可以描述为如下形式:

\[ (H, U_{n} \rightarrow R), H=\{U_{1}, U_{2}, U_{3}, \cdots, U_{n-1}\} \]

其中:

  • \(U_{n}\) 表示在时间 \(n\) 时刻的对话文本,属于 NSUs 的输入;
  • \(H\) 表示在时间 \(n\) 之前的会话历史,一共 \(n-1\) 轮对话;
  • \(R\) 表示 \(U_{n}\) 经过改写之后得到的文本。

为了保证能为自然语言理解模块提供完整的信息输入,要求改写得到的 \(R\) 具备完整的对话历史信息,同事需要保证 \(R\) 的流程性和合理性。

改写任务的目标是学习得到的模型 \(P(R | (H, U_{n}))\),能够判断是否需要改写,如果需要,则返回噶写后的文本序列。