对话式推荐综述阅读(Conversational Recomme
前言
- 本文简要记录阅读何向南老师关于CRS的综述文章:Advances and Challenges in Conversational Recommender Systems: A Survey
- SIGIR2020-CRS-turorial
- 承接上篇,介绍评估和用户模拟
Evaluation
-
常见数据集如下,大部分研究采用基于对通用数据模拟得到的对话数据进行处理。部分采用众包平台进行真实对话收集。CRS评估开源工具:https://github.com/RUCAIBox/CRSLab
-
Turn-Level Evaluation 轮次评估
对每轮对话进行评估,包括语言生成和推荐
语言生成可以利用BLEU和Rouge指标来评估语言质量;
推荐方面可以通过Rating或者Rank-based的指标进行评估。 -
Conversation-level Evaluation
在线测试:设计适当的指标来评估多轮对话中的推荐性能。例如,平均对话轮次(AT)是在CRS中进行优化的全局指标,因为该模型应捕获用户的意图并提出成功的推荐,从而以尽可能少的轮次完成对话。一个类似的指标是推荐成功率,它衡量到第t轮成功推荐后共进行多少轮对话。此外,失败尝试的比例(例如,系统拒绝了多少个系统询问的问题或被用户忽略)可能是衡量系统是否做出让用户满意的决定的可行方法。它仍然存在一个开放性问题,即定义适当的指标来评估对话中的用户体验。
在线用户评估虽然有效,但仍存在严重问题:(1)人与CRS之间的在线互动速度较慢,通常需要数周的时间才能收集到足够的数据以使评估具有统计学意义。 (2)收集用户的反馈是昂贵的,并且可能会损害用户的体验,自然的解决方案是在模型开发阶段和评估阶段都拥有模拟用户。
user simulation
在模拟用户时,通常有四种策略:(1)使用用户的直接交互历史记录;(2)估计所有项目上的用户偏好;(3)从用户评论中提取信息;以及(4)模仿人类会话语料库。
-
Using Direct Interaction History of Users. 使用用户的直接交互历史记录。
这个想法类似于对传统推荐系统的评估,在传统推荐系统中,一部分人机交互数据被保留为测试集。如果CRS推荐的物品在用户的测试集中,则该推荐被认为是成功的。由于用户与机器的交互相对较少,因此需要生成/模拟交互数据以进行培训和评估。 Sun和Zhang [160]做出了一个强有力的假设,即用户在与虚拟代理聊天之后访问了餐馆。基于此假设,他们创建了一个众包任务,以使用基于模式的方法从Yelp数据集中收集对话话语。他们总共收集了385个对话,并根据称为“去词化”的过程,在收集到的对话的基础上分别模拟了875、721个对话。例如,“我正在寻找Glendale的墨西哥食物”被转换为模板:“我正在寻找<City>的<Category>”,然后他们使用这些模板通过使用评级数据生成对话以及有关Yelp数据集的丰富信息。 Lei等。 [88,89]使用LastFM和Yelp数据集中的点击数据来模拟对话用户互动。给定观察到的用户-项目交互,他们将项目视为要寻求的基本事实项目,并将其属性视为用户在此会话中首选的预言属性集。首先,作者从预言集中随机选择一个属性,作为用户对该会话的初始化。该会话进入“模型行为-模拟器响应”过程的循环,在该过程中,如果查询实体包含在oracle集合中,则模拟用户将回答“是”,否则将回答“否”。这种模拟方法由于其简单性[229,31,20],但是,推荐系统中的稀疏性问题仍然存在:用户项矩阵中只有几个值是已知的,而大多数元素都丢失了,这禁止了这些物品上的模拟。 -
Estimating User Preferences on All Items
使用直接的用户交互来模拟对话具有上面提到的缺点,即,大量用户未看到的物品被视为不喜欢的物品。为了克服评估过程中的这种偏见,一些研究提出提前获得所有物品的用户偏好。给定一个物品及其辅助信息,模拟用户交互的关键是估计或综合该物品的偏好。例如,一项工作让28位参与者对10个选定物品进行评分,然后他们可以根据他们的矩阵分解模型来估计10个用户偏好的潜在向量。通过向潜在矢量添加噪声,他们模拟了50个新用户画像,并基于相同的矩阵分解模型对任何项目计算了这些新用户的偏好。还有工作根据历史交互和用户特征的这些已知奖励,使用岭回归来计算用户偏好;他们根据计算出的首选项综合用户对每个项目的反应(奖励)。从理论上讲,这种方法可以模拟完整的用户偏好,而不会出现曝光偏差。但是,由于用户偏好是经过计算或综合的,因此可能会偏离实际的用户偏好。 -
Extracting Information from User Reviews 从用户评论中提取信息
除了用户行为历史记录外,许多电子商务平台还具有文本评论数据。与消费历史记录不同,商品的评论数据通常会明确提及属性,这些属性可以反映用户对此商品的个性化意见。有工作将部分Amazon数据集的每个文本评论转换为问答序列,以模拟对话。例如,当用户在手机X的评论中提到带有Android系统的蓝色华为电话时,从该评论构建的对话顺序为(类别:手机→系统:Android→颜色:蓝色→建议:X)。还有研究通过利用用户评论来构建模拟的互动:基于给定的用户资料及其历史观看记录,作者构建了一个主题线程,该主题线程包括从这些观看的电影的评论中提取的主题(例如“家庭”或“求职”)。主题线程是由规则组织的,并最终引出目标电影。通过检索相应主题下最相关的评论,充实了综合对话。
值得注意的问题是,评论中提到的方面可能包含产品的某些缺点,这无助于理解用户为什么选择产品。例如,当用户抱怨64 GB的电话容量不足时,不应将其简单地转换为(存储容量:64 GB)以供CRS学习。因此,有必要对评论数据进行情感分析,并且只有具有正面情感的属性才应被视为选择物品的原因。
-
Imitating Humans’ Conversational Corpora 模仿人类会话的语料库
为了生成没有偏见的对话数据,一种可行的解决方案是使用现实世界中的两方人类对话作为训练数据。 通过使用这种类型的数据,CRS系统可以通过从大量真实的人与人之间的对话中学习来直接模仿人的行为。 例如,Li等。 要求AMT的工作人员就电影推荐中的主题进行交谈。 将这些会话语料库用作训练,模型可以学习如何基于情感分析的结果进行合理地回应。2020KDD的一篇工作提出利用堆栈的形式组织交互序列,称为user agenda,每一个单元指定用户的行为类型来模拟真实用户的行为意图。
END
本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c