Conversational Recomender System(对话式推荐)推荐系统研究专区

CRS(1)阅读笔记:2018-NIPS Towards Dee

2021-03-06  本文已影响0人  阿瑟_TJRS

前言

REDIAL数据构建

数据集构建方式:在电影数据的基础上采用众包方式分为两方:一方作为recommender,另一方作为seeker寻求推荐。虽然对话系统有时被归类为任务式对话与闲聊,但关于电影的讨论通常结合了闲谈,任务型对话甚至自然回答问题的各种要素。

指导众包志愿者按照规定的方式进行对话:要求使用正式语言,并且对话至少包含十条消息。还要求每次对话中至少要提及四部不同的电影。最后,我们要求仅谈论电影。此外,还要(与正在进行的讨论分开)对每部电影提出三个问题:(1)该电影是seeker提到的电影,还是来自recommender的推荐(“建议”标签); (2)搜寻者是否看过电影(“看过”的标签):“看过”,“没看过”或“未说”; (3)搜寻者喜欢这部电影还是该建议(“喜欢”标签):“喜欢”,“不喜欢”,“不说”之一。我们将这些附加标签称为电影对话格式。

其中HRED是一种根据上下文生成建议的NLP方法


模型架构

本文旨在研究能够与伙伴聊天并询问有关他们的电影品味的系统,以提出电影推荐,作为推荐的“聊天机器人”。模型有四个子组件:(1)使用HRED架构的分层递归编码器; (2)开关解码器Switching Decoder,对recommender产生的对话行为进行建模; (3)每次对话后,我们的模型都会检测是否已讨论过电影实体(使用@标注的),并实例化了一个RNN,重点对有关该电影的seeker的情感或观点进行分类。因此,这些RNN的数量与讨论中涉及的电影实体的数量一样多。情感分析RNN用于指示形成输入推荐模型的用户意见,即基于自动编码器的推荐模块。

Hierarchical Recurrent Encoder

由于对话数据较少,对对话语句使用预训练模型进行初始化表征,至于其中的电影实体名称,则通过词嵌入来初始化。完整一组对话用以下形式表示,s_m \in \{-1,1\}表示当前语句的来源


每句话的word输入GRU,通过双向处理得到对应的表征h_1,...h_M

Dynamically Instantiated RNNs for Movie Sentiment Analysis

在测试中,用户不会提供有关对话中提到的电影的明确评分。但是,可以从他们自己的话语中推断出他们的对应情感。因此,为了构建基于自动编码器的推荐模块,我们构建了一个情感分析模型,该模型以对话和电影名称作为输入,并为该电影预测相关电影对话形式的答案。该模型为搜索者和推荐者预测了不同的答案。对于每个参与者,它学会预测三类标签:“推荐”标签(二进制),“seen”标签(三类分类),“喜欢”标签(三类分类),总共14个维度。

The Autoencoder Recommender

在每次对话开始时,推荐者都没有关于电影seeker的先验信息。在对话过程中,推荐者收集有关电影搜索者的信息,并(隐式地)建立seeker电影偏好信息。基于用户的协作过滤自动编码器(U-Autorec),该模型能够为训练集中看不到的用户预测收视率。 文中使用类似的模型,并使用MovieLens数据对其进行预训练。

Our Decoder with a Movie Recommendation Switching Mechanism

当我们处于对话D的第m步,上面的情感分析RNN可以针对目前提到的每部电影预测seeker是否喜好,这些预测。层次编码器生成的当前对话表征h_{m-1}和推荐向量r_{m-1}用于预测recommender的下个语句。
为了选择当前生成的是描述/问题,还是生成推荐(电影名称),文中使用switching机制进行转化。编码器使用GRU,隐藏层状态通过h_{m-1}初始化,对于下一句话通过以下方式表示:

v_{m,n}是预测下一个词的概率分布。下一个推荐电影预测为: 通过在上下文表征h_{m-1}h_{m,n}'的switching network来决定生成词还是电影。

这种切换机制允许在对话中包括明确的推荐系统。 这种方法的一个问题是,推荐条件取决于对话中提到的电影,而不是直接基于语言。 例如,我们的系统将无法向只要求“一部出色的科幻电影”的人提供推荐。最初的实验将推荐系统置于对话隐藏状态下导致过度拟合。 这可能是将来工作的有趣方向。 另一个问题是,它依靠使用“ @”符号来提及电影,这可以通过添加实体识别模块来解决。

实验部分

文中使用已建立的指标分别评估推荐和情感分析模块。 我们认为,当模块在推荐系统中更紧密地结合在一起时,这些单独的指标将得到改善,从而可以为总体对话质量提供代理。 我们还执行话语级别的人工评估,以比较在相似设置中不同模型生成的响应。 最终的测试环境是在与人交谈的完全交互的环境中评估模型。 然而,一次评估一个回应话语比较具有挑战性,并没有做。

小结

上一篇下一篇

猜你喜欢

热点阅读