推荐系统通过根据用户的兴趣制作个性化内容来帮助用户处理信息过载问题。除了传统的推荐策略之外,越来越多的人努力将用户的评论纳入推荐过程,因为它们提供了有关项目功能和用户偏好的丰富信息。
本文提出了一个推荐系统,该系统使用用户的评论来生成基于对项目功能的整体情绪的项目表示。我们专注于利用不同特征提取技术与情感分析相结合,在基于项目属性感知的邻域推荐器算法中造成的影响。
我们比较了两种推荐场景(评级预测和项目推荐)中四种不同粒度(术语和方面)的技术,并选择了最有前途的技术。我们还将我们的技术与传统的结构化元数据结构进行了比较,这些结构被用作我们实验评估的基线。
结果表明,基于项的技术提供了更好的结果,因为它们产生了更大的特征集,因此可以更好地细化项目。
介绍推荐系统的出现是为了通过向用户提供个性化的内容建议来处理信息过载问题。这些系统传统上可以分为两种主要策略:基于内容的过滤和协同过滤。
在基于内容的方法中,用户的配置文件使用相似性度量与项目的表示进行匹配。
在协同过滤中,有两个主要领域:邻域模型(也称为基于内存的模型),它从相似用户或项目的集群中查找并匹配评级以预测未知评级和潜在因子(或基于模型)模型。
其中包括将项目和用户转换为相同潜在因子空间的替代路径, 允许它们直接比较。除了这两种策略之外,还努力将它们组合成第三种混合方法,其中彼此的缺陷通过它们的优势来弥补。
鉴于 Web 的当前场景,用户可以通过生成有关任何主题的注释、评论和评论来提供内容,因此社区协作创建了大量丰富而详细的信息。
尽管具有非结构化和不受控制的性质,但信息检索和推荐系统任务可以利用用户创建的描述,从而减少了领域专家创建有关项目的结构化元数据(索引)的需求。
此外,人们总是可以获得有关新添加项目的更新描述,这些描述可能会随着时间的推移而变化。
具体取决于它们插入的上下文(例如,关于确定事件的新闻必然会很快变化,而关于电影和书籍的描述可能随着时间的推移几乎没有变化)。
最近的工作重点是通过使用这种用户提供的非结构化信息来扩展传统的推荐范式。这是一个很好的信息来源,因为它能够描述项目并提供有关用户对项目及其功能的意见的反馈。
事实上,用户通常会分析其他用户的评论以决定是否消费某种产品。在阅读评论时,用户可以验证该项目在某些方面是否符合他/她的期望,分析大多数评论者是否认为他/她认为有趣的功能是积极的。
然而,处理非结构化文本会带来一系列挑战,尤其是在考虑用户提供的评论时。首先,评论容易出现噪音,例如拼写错误、虚假信息以及仅对评论者有效的个人意见。
其次,需要自然语言处理(NLP)工具来分析,提取和构建有关文本的主题的相关信息。最后,缺乏关于如何组织和使用用户提供的其他数据以增强项目表示,从而提高建议的准确性的研究。
我们的提案侧重于开发基于用户对推荐系统的评论生成项目表示的方法。为此,我们提出了一种从文本预处理到生成建议的架构,利用特征提取技术(应用于两个粒度:术语和方面)。
再加上情感分析技术,为用户在评论中描绘的各种主题分配极性。因此,项目的表示旨在通过其特征和用户对它们的集体欣赏来描述项目。
最后,这些表示为混合推荐系统提供信息,该系统将基于内容的方法与基于项目的邻域模型相结合,向用户生成建议。
本文扩展了以前的工作,其中提出了两种特征提取技术(启发式术语和方面)并使用小数据集进行了评估。在本文中,我们提出了两种新的特征提取技术:分类术语和层次结构方面。
分类术语技术在中进行了简要探讨,通过使用转导半监督学习提取术语,而层次结构方面技术使用分层聚类解决方案来识别与主题相关的文档集群,并选择每个组中最重要的单词来形成方面。
通过这些技术,我们将机器学习聚合到术语/方面提取中,这与以前的技术不同,以前的技术仅依赖于简单的启发式方法。
此外,我们通过在两种不同的推荐场景中进行比较,对提出的四种技术进行了更深入的评估:评级预测和项目推荐。
作为这项工作的一部分,我们仍然分析两个电影数据库中的结果,这两个数据库的大小差异很大,一个非常小,另一个非常大。
在实验的基础上,我们选择并讨论了在其他项目中表现更好的项目表示的特征提取技术。根据我们的发现,在大多数情况下,机器学习技术比基于启发式的对应技术产生更好的结果。
文章结构如下:在“相关工作”部分,我们概述了一些与在推荐过程中使用用户文本评论相关的工作;在“建议的系统”部分中,我们描述了建议的系统。
在“实证评估”部分,我们介绍了我们的实证评估,详细介绍了实验环境,数据库和结果。最后,在“结论和未来工作”部分,我们提出了我们的结论,并讨论了当前的局限性和未来的工作。
相关工作在本节中,我们将介绍一些与使用用户评论相关的作品,以便为特定用户生成更好的建议。
最近的一些作品使用评论来提取与项目特征相关的情绪,以便为基于内容的推荐场景表征它们。
例如,Qumsiyeh和Ng提出了一个系统,该系统能够使用从多个受信任网站中提取的信息(如流派,演员和评论)为各种多媒体项目生成推荐。
他们的方法完全基于数学和统计公式,使用它认为预测未分类项目分数的每个方面的极性(正或负)和程度(评级,欣赏水平)。Li等人提出了一种推荐算法。
该算法捕获与产品相关的网页的内容,例如产品信息和客户评论,并使用它们来计算分数并对这些动态网页进行排名。虽然这些作品确实提供了项目描述,但它们主要用于基于内容的过滤。
反过来,我们的方法在典型的协作过滤算法中应用描述,解决基于内容的主要问题,例如有限的内容分析:如果缺少一些项目描述,算法仍然可以依靠用户评级来提供推荐。
与上述工作不同,其他工作使用审查来构建用户配置文件,并将其应用于协同过滤和混合方法。例如,Kim等人根据评论和用户提供的评级,提出了一种名为MovieMine的个性化电影搜索引擎。
在这个系统中,用户键入一个查询,通过添加从他自己提供的早期评论中获取的关键字来扩展该查询,以反映他的偏好,从而允许搜索关键字可自定义。
Wang和Chen提出了一种推荐系统,该系统使用评论来获取特征和他们对配置文件构建的情感。然后使用这些特征执行推荐,通过协同过滤和分组方法查找相似用户。
在Aciar等人提出的系统中,文本挖掘技术用于将有关项目的意见映射到定义用户与项目及其特征相关的技能和知识的本体中。该建议是通过对拟议的本体实例进行分析而提出的。
Ganu等人提出了一种基于评论的餐厅推荐系统。该系统根据手动预定义的主题执行用户的软聚类,这些主题的情绪可以在评论中找到。
使用评论生成用户配置文件的一大缺点是,并非每个用户都有撰写评论的习惯,因此无法准确定义他们的偏好。
通过使用这些评论,人们可以很容易地更好地描述项目,因为那一端的信息更丰富,即描述一个项目的用户比描述多个项目的用户多。此外,人们可以在网络上的其他来源中找到有关项目的其他评论和描述。
在第三种方法中,最近的作品利用用户的评论来得出评级,这些评级将用作用户在协同过滤过程中已经分配的评级的补充。
例如,在上面描述的Ganu等人的工作中,还产生了基于文本的评级,并且使用各种推荐算法将其值与使用传统评级进行比较,作为基于邻域和潜在因素的模型。
最后,将两个评级与所提出的软聚类模型进行比较。Pero 和 Horváth 提出了一个框架,该框架使用情感分析来生成基于文本的评级,这些评级与矩阵分解算法上的传统评级一起处理。
这种方法的主要缺点是,如果只考虑整个评论的单一评级,系统可能会丢失有关用户偏好和/或项目在不同方面的质量的信息。
这项工作与上述工作不同,因为它使用评论来生成项目表示,这些表示将为通常用于协作过滤场景的算法提供信息。
之前报道的一些相关作品,如Ganu等人和Aciar等人的作品,使用手动预定义的特征集。反过来,我们的工作侧重于特征提取和选择方法,这些方法将自动从评论中检测相关特征。
这使得我们的方法适用于不同的产品领域,对我们方法的推广产生了积极影响。我们还通过比较基于启发式和机器学习的不同技术对推荐准确性的影响,提供了全面的研究。
拟议的系统如前所述,拟议的系统使用用户的评论来生成有关项目的表示,其中包含它们最相关的特征和对它们的整体情绪。因此,用户的偏好是基于意见的平均数建立的。
例如,在用户对电影的评论中,您给予了积极的评价,据报道它们具有强烈的科幻元素(积极的情绪),但具有弱或不存在(消极或中性/缺席的情绪)的浪漫。
另一个用户v对评论中对导演和摄影受到称赞的电影进行了正面评价,并对包含对其悬念的积极评论的负面电影进行了************。
因此,系统很可能会推荐与这些用户的偏好相关的电影:对于用户u,它将建议没有浪漫方面的科幻电影,而对于用户v,建议将具有积极的方向和摄影,以及负面或没有悬念。
为了做到这一点,我们开发了一个具有简洁和特定模块的系统架构。系统的主要目标是生成一组项目的表示,这些表示将与用户提供的评级一起提供推荐算法。
首先,评论经过预处理步骤(详见“文本预处理”部分),以减少噪音并提供它们的结构化版本。
接下来,特征提取模块获取有关项目域的相关特征。该模块是本工作中解决的主要挑战,并测试了四种不同的技术,其中两种基于术语,另外两种基于方面。
此外,对于每个粒度(术语和方面),我们探索一种基于启发式和一种基于机器学习的技术,并验证哪些技术提供最佳结果。本模块将在“特征提取”部分中详细介绍。
在项目的表示创建模块中,先前提取的特征表示为每个项目向量的位置,并且它们的分数计算为在项目评论中获得的对它们的整体情绪。
此步骤在“情绪分析和项目表示构造”部分中详细介绍,对数据库中存在的每个项目执行,生成一组项目的表示。这些表示提供基于邻域的协同过滤算法,该算法在“推荐”部分中进行了详细介绍。
结论在本文中,我们比较了四种不同的文本特征提取技术用于项目表示构建,并分析了它们在基于邻域的推荐算法中产生的影响。
结果表明,基于项的技术提供了更好的结果,因为它们产生了更大的特征集,因此可以更好地详细说明项目。值得注意的另一点是,对于这两种特征粒度,基于机器学习的技术提供了更好的结果。
在所有技术中,基于转导学习的技术提供了最好的结果,在更大的数据库中在统计学上更胜一筹。
尽管分类术语技术提供了最佳结果,但另一种基于术语的技术也产生了有趣的结果,由于它基于简单的启发式方法,因此更容易实现。这些启发式方法还需要更少的计算资源,对于有限的推荐服务器来说是一种有趣的方法。
层次结构方面方法在更大的数据库设置中还提供了有趣的结果,提供的功能集比基于术语的方法小得多,对于在线执行项目相似性计算并需要更快结果的系统来说很有趣。
最后,启发式方面方法提供了具有基线的竞争结果,对于具有限制性计算资源且没有可用项目元数据的系统来说,这是一个很好的替代方案。