zoukankan      html  css  js  c++  java
  • 论文阅读 | Improving Neural Conversational Models with Entropy-Based Data Filtering

    论文地址 :https://www.aclweb.org/anthology/P19-1567/

    作者 : Richárd Csáky, Patrik Purgai, Gábor Recski

    机构 : Budapest University of Technology and Economics,Apollo.AI

    研究的问题:

    关注的是对话数据集的优化问题,用的是基于熵的方法。基于神经网络的对话模型,在开放式对话中,容易产生通用的回复,缺乏多样性。因而,本文通过剔除掉具有高熵值的对话语句,来修正数据集,进而提升对话系统的性能。

    研究方法:

    Intuition:为了处理数据集中“一对多”和“多对一”的问题,以往的研究有添加规则的,本文是直接选择删除一些数据。

    这里举了一个例子,一个高熵值的例子,如「what did you do today」,这个问句的答案会有很多种回复;而「what is the color of sky」的熵值就比较低,因为回复很明确。

    方法:在计算熵值的时候,对对话中的 source 和 target 做区分。给定数据集 D 时,Target 和 source 的熵值的定义如下:

     

     

    这里的概率当然就是用数据集中的观测到的频率来表示的。

    为了实现基于熵的过滤,首先对句子做了聚类的操作。聚类能反映出问句的回答是否是语义上的多样。比如「how old are you」,虽然答案也会有很多种,但语义上都是接近的。一个句子可能有低熵值,但是如果组成的 cluster 有高熵值,这个 cluster 也会从数据集中删除掉。

    聚类的方法,可以用 Mean shift algorithm,或者 sent2vec,即在word2vec的基础上拓展为句向量的方法。

    在mean shift algorithm算法中,一个话语U的表示的计算公式为:

     

    这里的E(w)是词的embedding,p(w)是词w的概率,所以也就是一句话中所有词按频率的倒数加权的词向量的平均值。

    一个 source cluster 的目标熵值定义如下:

     

    这里的C 是所有的 cluster的集合。在删除 cluster 时,高熵的 source cluster 和 target cluster 都会被删掉。

    实验部分:

    数据集DailyDialog,Cornell,Twitter

    模型:基于Transformer 的 encoder-decoder 架构。

    评估指标:长度、单词和句子的熵、KL散度、Embedding metrics(输入和输出之间词向量的平均值、极值比较)Coherence(输入和输出之间的余弦相似度)、Distinct metrics(Distinct-1、distinct-2)BLEU。

    三个数据集上的实验结果分别如下所示:

     

    总的来说,在三个数据集上都有一定提升,但在DailyDialog上的提升更加明显,原因可能在于Twitter是更开放的数据集,聚类的效果相对来说更差一些。

    评价:

    提出了一种数据预处理的方法,目的是去掉那些可能导致安全回答的句子,也就是在统计上熵更高的句子。其实这种方法并不是很新的方法,之前也见过类似的处理方法。不过本文更加系统地整理和扩展了一下,加入了聚类的方法来对整个类操作。由实验可以看到这个聚类所起到的作用还是比较明显的。在对话任务上数据的清洗是个很重要的步骤,可以解决大多数类型的bad case,所以这个方法还是挺有用的。另外本文只在对话任务上做了实验,在翻译任务上可能也会有作用。

  • 相关阅读:
    Turtlebot3 OpenCR 机器人端刷固件方案(包括ROS1和ROS2)
    TurtleBot3自动驾驶Noetic模拟仿真项目 1.准备工作
    OpenManipulatorX Gazebo仿真(Noetic)
    Ned
    OpenMANIPULATORX Melodic ROS包安装
    TurtleBot3自动驾驶Noetic6.模拟隧道
    Turtlebot3 Noetic ROS包安装
    WEB网站发布服务器IIS报错问题终极解决方案,查到问题点
    理解javascript中的连续赋值
    C# webBrowser.DocumentCompleted 解决之道
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/12749091.html
Copyright © 2011-2022 走看看