导航:首页 > 电影天堂 > 基于神经网络的电影推荐算法

基于神经网络的电影推荐算法

发布时间:2023-03-20 08:18:08

『壹』 「干货」YouTube 基于深度神经网络推荐系统剖析

YouTube推荐系统的三大难点:

· 一是规模太大,简单的推荐算法在如此大规模数据量上可能是失效的;

· 二是实效性,即新数据不断产生,需要将其良好的呈现给用户,以平衡旧有的好内容以及新内容;

· 三是噪音问题,用户行为与视频描述均有噪音,并且只能获得充满噪音的用户隐含反馈,而不能直接获取用户满意度。

图1.YouTube基于深度学习推荐系统架构图

本文呈现的推荐系统解决方案分为两个部分:

· 一个是备选生成(Candidate Generation),其目标是初选结果,从海量数据中选择出符合其个人需求偏好的百级别数据;

· 一个则是排序(Ranking),通过更加丰富的用户,视频乃至场景信息,对结果进行精细化排序,得到呈现给用户的备选。

备选生成阶段,将推荐系统定义为一个多分类器,其职责是确定某个用户,在某个场景与时间下,将从系统的视频中选择消费哪一个视频。具体的方法是,将用户与视频全部转化为Embedding描述,即一个向量,最终用户消费某个视频的概率通过如下方式计算得到:

而构建用户与视频的Embedding,则是通过训练而来。将用户观看视频/搜索记录/其它信息如年龄性别等作为输入特征,部分稀疏特征首先进行Embedding化,中间为数层ReLU,最终一层用SoftMax进行分类。大胡 换句话讲,是将用户与场景信息作为输入,预估用户下一个要看的视频,也就是将用户分到具体某一个视频作为其类别。 用户与视频的Eembedding,则是神经网络最后一层的对应矩阵。这种方法除了能利用用户行为信息外,其它信息例如设备,地理位置,性别等也可以作为输入,这是神经网络相对于普通MF类算法的优势之一。

图2.YouTube推荐备选生成阶段架构

备选生成的下一个阶段是排序。其网络结构跟备选生成阶段类似,将所有排序模型中的信息输入后,进入多层ReLU,最终进行优化的是一个加权逻辑回归损失函数,观看时间作为阳性样本权重。在这一层,也可以看到其推荐“代理问题”的转化:由点击行为预估转为了以观看时长为权重的点击行为预估,这样更佳贴近Youtube的产品优化方向。与备选生成阶段另一个不同在于,排序模块需要考量的特征要多得多:

· “场景”类特征,例如用户可能在某个地方某个时间愿意观看某一条视频,但是在别的地方别的时备猛间则不会;

· 曝光信息:用户观看了某界面,但是并未在其上进行操作,那么随之应进行已呈现内容降级;

· 备选生成层输出:排序需要将各种备选结果联合起来;

· 更丰富的用户信息:例如用户最近的一次搜索词,用户最近观看的同一个主题下的视频数量,用户上一次观看同主题视频的时间,用户所使用的语言等;

图3.YouTube推荐排序阶段架构

除了整体设计与系统架构以外,本篇论文中陈述了很多“选择”,这些选择更多的是“艺术”而不完全属于技术范畴。这些选择往往是很多技术人员关注不多的点,但在笔者看来,这些都蕴含着YouTube技术与产品人员深入的思考与判断。

“Example Age” 特征

对于YouTube产品层来讲,鼓励内容产生毫无疑问是至关重要的,所以推荐系统也希望对用户上传的新内容的有所偏好。然而幸运的是,即使损失一部分相关性,视频的消费者也偏好新内容。也就是说,新内容的价值可以良好的通过其带来的吸引力呈现出来,并不需要平台刻意而为之。

由于系统使用一个时间窗口的训练样本进行训练,如果没有视频的上传时间信息,那么模型会认为这个时间窗口内用户对视频的偏好是稳定的,然而事实远非如此。将视频的上传时间加入到特征集合后,预估更加准确,尤仿仿桥其是视频刚上传阶段的强烈便好被成功捕捉到。

图4.无时间特征预估/有时间特征预估/真实情况 三者对比

优化目标选择

图5.优化对象的选择

算法系统的设计首先要明确优化对象,这不仅仅涉及到损失函数的形式,同样也是评判系统成功与否的标准。YouTube是视频平台,更是富含“价值”的长视频平台,其观看行为比点击行为意义更大。(当然,笔者认为没有任何一个简单指标可以完全代表一个产品)

“正样本”定义

图6.何为正样本的设计选择

训练数据来源

图7.关于训练数据来源的设计抉择

训练数据应该只来源于推荐界面的曝光吗?YouTube认为不然。如果只考虑推荐界面曝光,则无法对用户便好进行 探索 ,更加无法捕捉用户偏好的变化,因为用户偏好的变化往往首先会对应着搜索与浏览行为。所以YouTube将各个界面例如搜索,导航等用户行为全部纳入其中。

训练数据窗口

图8. 训练数据收集方式的设计选择

Youtube将所有用户等而视之,每个用户收集一定量的样本。而不是惯常可见的直接收集一个时间窗口内的所有用户行为,作为训练样本。这样的好处是避免系统收到少数行为过多用户的影响,使得系统更多的为大众设计。这样的设计理念与近期阿里Gai Kun的论文中评测方法(用户AUC)设计有异曲同工之妙。

用户行为序列处理

图9.用户行为序列信息处理的设计选择

在系统中,用户往往会顺着一个检索结果页或者用户发布者浏览页进行顺序观看,如果系统捕捉到了用户看了检索界面的前三个结果,那么预估用户将看第四个结果就会很容易。但是这样真的好吗?将检索结果页面或者用户发布视频界面直接作为推荐结果呈现给用户是并不友好的--抢了别的界面应该干的活嘛。所以此处YouTube对用户行为序列做了处理,在模型输入中选择放弃用户行为的序列信息,将其打散成词袋Embedding,即使这样的信息有利于模型的离线训练效果。

预估对象的选择

图10.关于预估对象的设计选择

用户的行为往往是有顺序的,用户在系统中“热身”后,在一个频道下面,往往先看大众喜欢的热门,然后逐步找到自己的兴趣点,聚焦看一块内容。那么,训练数据则应该收集用户前段时间行为,预估此后的行为。而不是收集时间前后段的行为,预估中间时间段的用户行为。这样模型更加接近用户习惯。

除此之外,Youtube根据系统设计了对应的实验,结果非常简单:深度网络层数越高,效果越好。

YouTube的推荐系统,已经为其贡献了70%的用户播放时长,搜索与导航在PC时代的主导地位在移动时代已经完全被颠覆掉。希望大家在其中学到一些东西。笔者水平所限,若有错误不当之处,敬请指正。

另外,个人用TensorFlow模拟Youtube的推荐系统,做了一个简单实现。其实就是一个多分类器外加一个单分类器,远谈不上成熟,可以供大家参考。

https://github.com/wangkobe88/Earth

——END——

『贰』 推荐系统论文阅读(十)-基于图神经网络的序列推荐算法

论文:

论文地址: https://arxiv.org/abs/1811.00855

论文题目:《Session-based Recommendation with Graph Neural Networks》SR-GNN

github: https://github.com/CRIPAC-DIG/SR-GNN

基于会话的推荐一般是将序列会话建模,将整个session进行编码,变成一个隐向量,然后利用这个隐向量进行下一个点击预测。但是这种方法没有考虑到item直接复杂的转换(transitions)关系,也就是item之间在点击的session中除了时间顺序外还有复杂的有向图内的节点指向关系,所以之前的方法不足以很好的对点击序列进行建模。

现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺点:

1)当一个session中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。如当使用RNN模型时,用户行为的表示即最后一个单元的输出,论文认为只有这样并非十分准确。

2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的 单向转移关系 进行建模,而忽略了会话中其他的物品。

为了克服上述缺陷,本文提出了用图神经网络对方法对用户对session进行建模:

下面具体介绍怎么进行图序列推荐

V = {v1,v2...vm}为全部的item,S = { }为一个session里面按时间顺序的点击物品,论文的目标是预测用户下一个要点击的物品vs,n+1,模型的任务是输出所有item的预测概率,并选择top-k进行推荐。

我们为每一个Session构建一个子图,并获得它对应的出度和入度矩阵。

假设一个点击序列是v1->v2->v4->v3,那么它得到的子图如下图中红色部分所示:

另一个例子,一个点击序列是v1->v2->v3->v2->v4,那么它得到的子图如下:

同时,我们会为每一个子图构建一个出度和入度矩阵,并对出度和入度矩阵的每一行进行归一化,如我们序列v1->v2->v3->v2->v4对应的矩阵如下:

这个矩阵里面的值是怎么计算的呢?下面讲一下:

看左边的出度矩阵,第一行为 0 1 0 0 ,代表着v1->v2,因为v1,只有一个指向的item,所以为1;看第二行,0 0 1/2 1/2,因为v2有指向v3和v4的边,所以进行归一化后每一个值都变成了1/2。入度矩阵的计算方法也是一样的,就不再说了。

本文采用的是GRU单元进行序列建模,将图信息嵌入到神经网络中,让GRU充分学习到item之间的关系,传统的GRU只能学到相邻的两个物品之间的关系,加入图信息后就能学到整个session子图的信息。

计算公式如下:

为了刚好的理解这个计算过程,我们还是使用之前那个例子:v1->v2->v3->v2->v4来一步步分析输入到输出的过程。

(1) 是t时刻,会话s中第i个点击对应的输入, 是n✖️2n的矩阵,也就是会话子图的完整矩阵,而 是其中一行,即物品vi所对应的那行,大小为1✖️2n,n代表序列中不同物品的数量。

如果按照例子来看,如果i取2,那么 为 [0 0 1/2 1/2 1/2 0 1/2 0]

进一步的,可以把 :拆解为[ , ]

(2) 可以理解基枯为序列中第i个物品,在训练过程中对应的嵌入向量,这个向量随山锋唯着模型的训练不断变化,可以理解为隐藏层的状态,是一个d维向量。

   (3)  H是d*2d的权重向量,也可以看作是一个分块的矩阵,可以理解为H=[Hin|Hout],每一块都是d*d的向量。

那么我们来看看计算过程:

1)[ ..., ] ,结果是d * n的矩阵,转置之后是n*d的矩阵,计作

2) : H相当于[   ],即拆开之后相乘再拼接,因此结果是一个1 * 2d的向量。

上面就是完整的第i个点击的输入的计算过程,可以看到,在进入GRU计算之前,通过跟As,i矩阵相乘,把图信息嵌入到了神经网络中取,逗培加深了神经网络学习到的item之间的交互信息。

此外,就是GRU的计算过程了,跟原始的GRU不一样的地方在于输入从xt变成了嵌入了图信息的as,i。

通样也有更新门和重置门,计算方法跟原始GRU一模一样。

这里的 其实就是相当于原始gru中的 ,只不过在SR-GNN里面,进行一轮运算的时候i是没有变化,相当于每个物品单独进去GRU进行计算,得到自己的向量,也就是说在GRU的计算过程中, 是不断变化的,看一下源码更易于理解:

hidden就是公式里面的 ,在gru的每一个step计算中都会进行更新,这里我有个疑问,如果所有item的hidden都更新的话,那么应该是整个序列中所有的item并行进入GRU中进行计算,每一个step都得到自己的vector,当每个item的vector更新后,下一个step就重新根据新的 计算 ,接着计算下一个step。

计算过程大概就是下面这样:

这里有四个GRU并行计算,没次更新自己的hidden状态,输入则考虑所有的hidden和图信息。

从上面的图看来,每一个item都要进行T个step得到自己的item-vec,所以经过T个step后,我们就得到了序列中所有item的向量,即:

图中用蓝色框框画出来的向量,有了这些向量后,我们怎么得到预测结果呢?这就引入了下一个问题。

观察上面的模型结构,我们看到attention,没错,我们认为一个session中的这些item-vec并不都对预测结果产生影响,有些item对结果影响很大,有些影响很小,所以我们进行了加权求和。同时,论文认为session对最后一个item-vec,s1=vn是重要的,所以单独拿出来:

公式(6)就是简单的attention操作,其实从公式上来看就是计算每个vi跟最后一个向量vn的权值,然后进行加权求和。

在最后的输出层,使用sh和每个物品的embedding进行内积计算,这里vi应该是item的embedding层出来的向量,而不是后面一直更新的hidden:

最后通过一个softmax得到最终每个物品的点击概率:

损失函数为交叉熵损失函数:

从数据上来看,SR-GNN超过了经典的GRU4REC,这也说明了图信息的嵌入能带来更好的推荐效果。

本论文很巧妙的将图信息嵌入的神经网络中,更高地让GRU学习到每个item之间的关系,不再局限于相邻的物品之间进行学习。近年来,图神经网络的思想和方法屡屡被用在推荐系统中,学好图神经网络应该是推荐系统的下一个热潮。

『叁』 简单介绍神经网络算法

直接简单介绍神经网络算法

神经元:它是神经网络的基本单元。神经元先获得输入,然后执行某卜银些数学运算后,再产生一个输出。

神经元内输入 经历了3步数学运算,

先将两个输入乘以 权重 :

权重 指某一因素或指标相对于某一事物的重要程度,其不同于一般的比重,体现的不仅仅是某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度

x1→x1 × w1

x2→x2 × w2

把两个结果相加,加上一个 偏置 :

(x1 × w1)+(x2 × w2)+ b

最后将它们经过 激活函数 处理得到输出:

y = f(x1 × w1 + x2 × w2 + b)

激活函数 的作用是将无限制的输入转换为可预测形式的输出。一种常用的激活函数是 sigmoid函数

sigmoid函数的输御弊巧出 介于0和1,我们可以理解为它把 (−∞,+∞) 范围内的数压缩到 (0, 1)以内。正值越大输出越接近1,负向数值越大输出越接近0。

神经网络: 神经网络就是把一堆神经元连接在一起

隐藏层 是夹在输入输入层和输出层之间的部分,一个神经网络可以有多个隐藏层。

前馈 是指神经元的输入向前传递获得输出的过程

训练神经网络 ,其实这就是一个优化的过程,将损失最小化

损失 是判断训练神经网络的一个标准

可用 均方误差 定义损失

均方误差 是反映 估计量 与 被估计量 之间差异程度的一种度量。设t是根据子样确定的总体参数θ的一个估计量,镇键(θ-t)2的 数学期望 ,称为估计量t的 均方误差 。它等于σ2+b2,其中σ2与b分别是t的 方差 与 偏倚 。

预测值 是由一系列网络权重和偏置计算出来的值

反向传播 是指向后计算偏导数的系统

正向传播算法 是由前往后进行的一个算法

『肆』 推荐算法综述

推荐系统的目的是通过推荐计算帮助用户从海量的数据对象中选择出用户最有可能感兴趣的对象。涉及三个基本内容:目标用户、待推荐项目以及推荐算法,基本流程为:描述为用户模型构建、项目模型建立以及推荐算法处理三个基本流程;

为了能够为用户提供准确的推荐服务,推荐系统需要为用户构建用户模型,该模型能够反映用户动态变化的多层次兴趣偏好,有助于推荐系统更好的理解用户的特征和需求。构建用户模型通常需要经历三个流程:用户数据收集,用户模型表示以及用户模型更新。

(1)用户数据收集:用户数据是用户模型构建的基础,用户数据收集的方式一般有显示方式获取和隐式方式获取两种。
显示方式获取的数据是用户特征属性和兴趣偏好的直接反映,所获得的信息数据是较为客观全面的,比如用户在注册时包含的性别、年龄等信息可以直接表示出用户的基本人口学信息和兴趣信息,用户对项目的评分可以反映出用户的偏好。但显示获取的方式最大的缺陷是其实时性较差,并且具有很强的侵袭性。
隐式方式获取用户数据是在不干扰用户的前提下,采集用户的操作行为数据,并从中挖掘出用户的兴趣偏好。用户的很多操作行为都能反映出用户的喜好,比如用户浏览网页的速度、用户查询的关键字等,推荐系统在不影响用户使用系统的情况下,通过行为日志挖掘出用户的偏好。隐式获取方式由于具有较好的实时性和灵活性和较弱的侵袭性,己经成为推荐系统中主要的用户数据采集方式。

(2)用户模型表示:用户模型是从用户数据中归纳出的推荐系统所理解的用户兴趣偏好的结构化形式。
a 基于内容关键词表示;
b 基于评分矩阵表示;
(3)用户模型更新:推荐系统面临的问题之一是兴趣漂移,兴趣漂移的根本原因在于用户的兴趣会随时间发生改变。为了使用户模型够准确的代表用户的兴趣,推荐系统需要根据最新的用户数据对用户模型进行更新。

目前项目模型主要通过基于内容和基于分类这两类方式来建立。基于内容的方式是以项目本身内容为基础,向量空间模型表示是目前御用最为广泛的基于内容的方式。

基于分类的方式是根据项目的内容或者属性,将项目划分到一个或者几个类别中,利用类别信息来表示项目,这种方法可以很方便地将项目推荐给对某一类别感兴趣的用户。常见的分类算法有朴素贝叶斯算法和KNN分类算法等。

推荐系统实现的核心是其使用的推荐算法。针对不同的使用环境及其系统的数据特征,选取不同的推荐算法,可以在本质上提高推荐系统的推荐效果。根据不同的分类标准,推荐算法出现了有很多不同的分类方法,本文采用了比较普遍的分类方法。

推荐系统通常被分为基于内容的推荐算法、协同过滤推荐算法以及混合模型推荐算法三大类。

基于内容的推荐算法,其本质是对物品或用户的内容进行分析建立属性特征。系统根据其属性特征,为用户推荐与其感兴趣的属性特征相似的信息。算法的主要思想是将与用户之前感兴趣的项目的内容相似的其他项目推荐给用户。

CBF(Content-based Filter Recommendations)算法的主要思想是将与用户之前感兴趣的项目的内容相似的其他项目推荐给用户,比如用户喜欢Java开发的书籍,则基于内容过滤算法将用户尚未看过的其他Java开发方面的书籍推荐给用户。因此,该推荐算法的关键部分是计算用户模型和项目模型之间的内容相似度,相似度的计算通常采用余弦相似性度量。

基于内容的推荐过程一般分为以下三个模块:
(1)特征提取模块:由于大多数物品信息是非结构化的,需要为每个物品(如产品、网页、新闻、文档等)抽取出一些特征属性,用某一恰当的格式表示,以便下一阶段的处理。如将新闻信息表示成关键词向量,此种表示形式将作为下一模块(属性特征学习模块)的输入。

(2)特征学习模块:通过用户的历史行为数据特征,机器学习出用户的兴趣特征模型。本模块负责收集代表用户喜好的数据信息,并泛化这些数据,用于构建用户特征模型。通常使用机器学习的泛化策略,来将用户喜好表示为兴趣模型。

(3)推荐模块:该模块利用上一阶段得到的用户特征模型,通过对比用户兴趣模型与带推荐物品的特征相似度,为用户推荐与其兴趣相似度较高的物品,从而达到个性化推荐的目的。该模块一般采用计算用户兴趣向量与待推荐物品特征向量的相似度来进行排序,将相似度较高的物品推荐给相应用户。计算相似度有多种方法,如皮尔逊相关系数法、夹角余弦法、Jaccard相关系数法等。

协同过滤算法(Collaborative Filtering)是于内容无关的,即不需要额外获取分析用户或物品的内容属性特征。是基于用户历史行为数据进行推荐的算法。其通过分析用户与物品间的联系来寻找新的用户与物品间的相关性。

该算法算法通常有两个过程,一个过程是预测,另一个过程是推荐。主流的协同过滤算法包括三种:基于用户的协同过滤(User-Based Collaborative Filtering,UBCF)、基于项目的协同过滤(Item-Based Collaborative Filtering, IBCF)和基于模型的协同过滤(Model-Based Collaborative Filtering, MBCF)

(1)基于用户的协同过滤算法
基于用户的协同过滤推荐算法,先通过用户历史行为数据找到和用户u相似的用户,将这些用户感兴趣的且u没有点击过的物品推荐给用户。
算法主要包括以下两个步骤:
(1)找到与目标用户喜好相似的邻居用户集合。
(2)在邻居用户集合中,为用户推荐其感兴趣的物品。

UBCF的基本思想是将与当前用户有相同偏好的其他用户所喜欢的项目推荐给当前用户。一个最典型的例子就是电影推荐,当我们不知道哪一部电影是我们比较喜欢的时候,通常会询问身边的朋友是否有好的电影推荐,询问的时候我们习惯于寻找和我们品味相同或相似的朋友。

(2)基于物品的协同过滤算法
基于物品的协同过滤算法(Item-based Collaborative Filtering)其主要思想是,为用户推荐那些与他们之前喜欢或点击过的物品相似的物品。不过基于物品的协同过滤算法并不是利用物品的内容属性特征来计算物品之间的相似度的。该类算法是利用用户的历史行为数据计算待推荐物品之间的相似度。在该类算法中,如果喜欢物品A的用户大都也喜欢物品B,那么就可以认为物品A和物品B之间的相似度很高。
算法分为以下两个步骤:
(1)根据用户历史行为数据,计算物品间的相似度。
(2)利用用户行为和物品间的相似度为用户生成推荐列表。

IBCF算法是亚马逊在2003年发表的论文中首次提出,该算法的基本思想是根据所有用户的历史偏好数据计算项目之间的相似性,然后把和用户喜欢的项目相类似的并且用户还未选择的其他项目推荐给用户,例如,假设用户喜欢项目a,则用户喜欢与项目a高度相似且还未被用户选择的项目b的可能性非常大,因此将项目b推荐给用户。

UBCF和IBCF都属于基于内存的协同过滤算法,这类算法由于充分发挥了用户的评分数据,形成全局推荐,因此具有较高的推荐质量。但随着用户和项目的规模增长,这类算法的计算时间大幅上升,使得系统的性能下降。针对该问题,研究人员提出将数据挖掘中的模型和CF算法结合,提出了基于模型的协同过滤算法(MBCF) 。

MBCF算法利用用户历史评分数据建立模型,模型建立的算法通常有奇异值分解、聚类算法、贝叶斯网络、关联规则挖掘等,且通常是离线完成。由于MBCF通常会对原始评分值做近似计算,通过牺牲一定的准确性来换取系统性能,因此MBCF的推荐质量略差于UBCF和IBCF。

由于基于内容的推荐算法和协同过滤推荐算法都有其各自的局限性,混合推荐算法应运而生。混合推荐算法根据不同的应用场景,有多
种不同的结合方式,如加权、分层和分区等。

目前使用的混合推荐算法的思想主要可以分成以下几类:
(1)多个推荐算法独立运行,获取的多个推荐结果以一定的策略进行混合,例如为每一个推荐结果都赋予一个权值的加权型混合推荐算法和将各个推荐结果取TOP-N的交叉混合推荐算法。

(2)将前一个推荐方法产出的中间结果或者最终结果输出给后一个推荐方法,层层递进,推荐结果在此过程中会被逐步优选,最终得到一个精确度比较高的结果。

(3)使用多种推荐算法,将每种推荐算法计算过程中产生的相似度值通过权重相加,调整每个推荐算法相似度值的权重,以该混合相似度值为基础,选择出邻域集合,并结合邻域集合中的评估信息,得出最优的推荐结果。

BP (Back Propagation)神经网络是目前应用最广泛的神经网络模型之一,是一种按误差逆传播算法训练的多层前馈网络。

BP神经网络模型包括输入层、隐藏层和输出层,每一层由一个或多个神经元组成,其结构图如图2-3所示。BP神经网络拥有很强的非线性映射能力和自学习、自适应能力,网络本身结构的可变性,也使其十分灵活,一个三层的BP神经网络能够实现对任意非线性函数进行逼近。

BP神经网络的训练过程通常分为3个过程,依次分别为数据初始化过程、正向推演计算过程以及反向权重调整过程。数据初始化是BP神经网络能够进行有效训练的前提,该过程通常包括输入数据进行归一化处理和初始权重的设置;正向推演计算是数据沿着网络方向进行推演计算;反向权重调整则是将期望输出和网络的实际输出进行对比,从输出层开始,向着输入层的方向逐层计算各层中各神经元的校正差值,调整神经元的权重。正向推演计算和反向权重调整为对单个训练样本一次完整的网络训练过程,经过不断的训练调整,网络的实际输出越来越趋近于期望输出,当网络输出到达预期目标,整个训练过程结束。

TF-IDF(Term Frequency-Inverse Document Frequency,词频一逆文档)是文本处理中常用的加权技术,广泛应用于信息检索、搜索引擎等领域。
TF-IDF的主要思想是:如果一个关键词在文档中出现的频率很高,而在其他文档中出现次数较少,则该关键词被认为具有较强的代表性,即该关键词通过TF-IDF计算后有较高的权重。

TextRank算法,是一种用于文本关键词排序的算法,页排序算法PageRank。
PageRank基本思想是将每个网页看成一个节点,网页中的链接指向看成一条有向边,一个网页节点的重要程度取决于链接指向该网页节点的其他节点的数量和重要权值,该过程描述如下:让每一个网页对其所包含的链接指向的网页进行迭代投票,每次迭代投票过程中票的权重取决于网页当前拥有的票数,当投票结果收敛或者达到指定的迭代次数时,每个网页所获得票数即为网页重要程度权值。

TextRank算法相比于TF-IDF最大的优点是TextRank是一种无监督的学习,因此不会受限于文本的主题,并且无需大规模的训练集,可以针对单一文本进行快速的关键词的权重计算。

阅读全文

与基于神经网络的电影推荐算法相关的资料

热点内容
after3免费完整下载 浏览:946
监狱暴力犯罪电影 浏览:568
韩国电影爱情片打电话邂逅 浏览:817
北京送快递小哥电影 浏览:640
金希贞的全部韩剧电影在线观看 浏览:285
以前有部电影里面有个女鬼 浏览:548
木星上行国语版在线免费观看 浏览:421
《飞夺泸定桥》电影 浏览:478
1905下载的视频在哪个文件夹 浏览:972
美片 浏览:150
外国一个电影骑着发火的摩托 浏览:1000
晚上我经常和我的父母一块看电视英语 浏览:631
韩国阿强和阿珍是什么电影 浏览:312
看电影九排 浏览:308
天主教宗教题材电影 浏览:417
二战电影虎虎虎国语版 浏览:332
战斗机 电影 浏览:937
成龙教外国小孩功夫电影叫什么 浏览:672
看电影怎么英文怎么翻译软件 浏览:77