admin管理员组

文章数量:1530078

题目

Dynamic Online Conversation Recommendation

介绍

这是一篇ACL2020的文章,本文研究了动态在线对话推荐,提出用户的兴趣会随时间产生变化,预测兴趣变化过程中的推荐对话。与假设用户兴趣不变的会话推荐不同,我们的模型捕捉了用户兴趣在时间方面的变化。在本文中提出的神经架构可以用来分析用户交互和兴趣随时间的变化,其结果还可以用于预测用户可能会参与哪些讨论,此外,本文的模型还可以解决冷启动问题

why

社交媒体内容中的热门话题会随着时间的推移而演变,因此以动态的方式了解社交媒体用户及其人际交流至关重要。但是,关于推荐对话的现有工作假设用户的讨论偏好不会随着时间而改变。此外,推荐的常见做法是通过协作过滤(CF),它依赖于丰富的用户交互历史来进行模型训练。当训练数据中完全没有对话时,模型性能会受到影响,这种现象被称为对话冷启动,而且也难以解决实践中的一个常见问题,即预测模型训练后创建的对话

what

  • user Response Prediction
    1)之前的研究有:具有手工响应特征的消息流行度预测和具有用户交互结构的对话轨迹。但是这些工作只是预测普通公众的反应,而本文则致力于个性化推荐和关注用户兴趣建模

    2)之前也有大量关于post-level 和会话级的推荐,但是这些方法假设用户兴趣不变,本文旨在从聊天内容和交互行为中学习用户兴趣动态如何随时间变化,从而进行对话推荐,这在以前的研究中从未探索过

  • Conversation Structure Modeling
    本文在时间动力学和回复结构这两方面进行了大量的研究,并在交互建模中耦合了时间动力学和回复结构这两大因素

how

本节描述了动态对话推荐模型,首先介绍如何用用户的聊天历史来建模用户兴趣动态,然后描述对话建模,最后介绍如何产生输出最终建议

  • User Interest Dynamic Modeling
    该模块的目标是从用户聊天消息序列中捕获时间模式,然后产生用户兴趣表示,具体包括两个级别的建模——消息级和用户级

    • Message-level Modeling
      给定用户u的历史消息m,首先使用预训练单词嵌入层将每个单词映射到向量空间中,然后使用卷积神经网络(CNN)编码器对某个单词和其邻近的单词进行建模。最后,把Zm当作m中的内容最终表示

    • User-level Modeling
      有些用户兴趣可能变化很快,有些可能持续很长时间,对于后者,本文采用用户嵌入层来捕获兴趣不经常变化的因子r(时序因子特征)

      对于兴趣经常变化的用户,本文采用GRU 编码器来捕获用户如何基于聊天消息改变兴趣。对于每个时间状态t,基于先前的兴趣和当前行为Zm更新用户的当前兴趣:

      此外,为了在用户兴趣动态建模中引入时序因子特征r,本文通过以下线性变换初始化GRU的隐藏状态

      对于最后一个GRU状态,即

      传达了用户最新的兴趣信息,接下来将用于会话建模和推荐预测

  • User-aware Conversation Modeling
    该模块将介绍如何根据用户兴趣对对话进行编码。每个对话c由一系列按时间顺序排列的轮数t1、t2,…,t|c|(|c|是c的轮数)组成,其中每一轮t是由单词序列wt、其作者ID ut和该轮回复组合在一起

    为了学习对话c的表示,本文对每一个turn中出现的单词和每个turn之间的交互进行编码

    然后,为了识别与目标用户兴趣相匹配的turn,本文又提出了一种基于turn的用户感知注意力

    • Turn-level Modeling
      把上一模块中提到的Zm和r结合生成turn-level的表示
    • Conversation-level Modeling
      该模块利用了每一轮会话中的Chronological Order 和replying structure
      • Chronological Order
        建立了双向GRU模型去捕获每轮对话在每一时刻t与其前后时刻之间的关系

        然后本文把两个方向的表示拼接起来作为该时刻的最终表示
      • Replying Structure
        因为回复关系通常呈现树形结构(一个问题可能会导致多个回复),所以本文采用Graph encoder。具体来说,首先通过添加边(每轮对话到其回复)来为对话构建有向图,然后定义三个方向的turn interactions:Pre、Suc和self。接下来,我们用下面的公式更新每轮的隐藏状态:
      • User-aware Attention
        使用用户感知的注意力机制来对每轮对话进行注意力权重的计算和相加

    • Recommendation Prediction
      预测用户u是否会参与对话c

    • Learning Objective
      采用加权二元交叉熵损失作为目标函数,它为正反馈分配更多的权重:

Dataset

  • Describe
    数据是有帖子和评论组成相关对话,有以下几个特征:
    1)训练集是前四个月的数据,而测试集是五月份的数据,模型会面临冷启动的挑战
    2)数据集中的对话大多只包含几轮(轮数较少),对于用户和对话来说,稀疏的交互历史为推荐带来了一定挑战
    3)数据集中有超过60%的对话,其回复结构中包含2至多条的root-to-leaf路径,适用于图结构编码器
  • Reult
    1)当遇到数据稀疏的问题,或者难以处理过多的用户历史信息时,更重要的是,本文的模型已经优于LC-RNN和CRIM

    2)随着轮数增多,性能表现都增加

    3)为了理解模型如何在对话冷启动中准确执行,本文将测试集分成未来的对话(在测试中新创建的,在训练数据中未看到的)和现有的对话(部分上下文在训练数据中)。然后计算对话的平均结果。表3中报告了最终的MAP分数,本文的模型在推荐未来对话方面大大优于其他两个模型

Conslusion

本文提出了一个动态会话推荐模型,该模型是从内容和用户交互随时间的变化中学习而来的。在Reddit的三个新数据集上的实验结果表明,我们的模型明显优于以前的方法,同时本文还进一步的讨论证明了模型对历史稀疏性和冷启动问题有很好地针对性

本文标签: 论文dynamicOnlineConversationRecommendation