对话改写实现模糊语句澄清

1 背景

在当前对话系统中(比如智能客服机器人),基于口语化表达方式,有很多信息不完整的模糊语句。当前自然语言处理技术在单轮对话语句的处理中效果很好,基于多轮则效果欠佳。一种直观的想法是,通过对话上下文信息,对当前不完整的模糊语句进行信息补全和指代消解,从而实现模糊问题澄清。

需要做信息补全的例子
A: 二维码无效
B: 您的乘车二维码页面提示的吗
A: 乘车刷卡时
改写后: 乘车刷卡时二维码无效

需要做指代消解的例子
A: 我激活成功ETC了,但是支付宝找不到确认收货那里了呢
B 在您申请ETC的页面
A: 这个页面吗?
改写后: 申请ETC页面吗?

2 技术框架

由于模糊问题缺失的信息,绝大部分在context上下文中能够找到,所以我们采用了基于pointer-network的框架,从当前语句和它的上下文中取词,来构成改写后的语句。

对话改写实现模糊语句澄清_第1张图片

框架原理详见论文《Get To The Point: Summarization with Pointer-Generator Networks》
由于大部分缺失信息在context中存在,为了让输出更加收敛,同时基于实验对比结果,我们最终选择去掉从vocabulary中选词的generator部分,只采用单纯的pointer-network。

大多数时候,context一般较长,使用transformer作为特征提取,在长文本捕获,并行计算等方面均有较大优势。基于transformer的pointer-network 架构如下

对话改写实现模糊语句澄清_第2张图片

数据集方面,英文领域有ontonotes5.0等公开的对话改写数据集,中文领域相对来说少一些。我们采用了19年ACL一篇论文发布的两万条公开数据集,作为原始数据,并利用相关领域话术对其进行数据增强。

3 总结和展望

通过对话改写,可实现模糊问题澄清。作为基础服务,对话改写大大提升了下游任务的数据利用率。

目前仍有一部分模糊问题无法直接通过上下文进行补全,可以考虑结合其他场景信息。比如,在智能客服场景下,知识库中的标准问题和标准答案,也包含了丰富的信息。结合知识库进行对话改写,可以大大提升改写成功率。利用知识图谱来进行对话改写,已经有相关论文工作进行了研究。

参考文献

  1. Get To The Point: Summarization with Pointer-Generator Networks
  2. Improving Multi-turn Dialogue Modelling with Utterance ReWriter
  3. Deep Reinforcement Learning for Chinese Zero pronoun Resolution
  4. Knowledge-aware Pronoun Coreference Resolution
  5. Incorporating Context and External Knowledge for Pronoun Coreference Resolution

你可能感兴趣的:(深度学习,深度学习,神经网络)