图模型-随机游走算法

文章目录

  • 推荐基本概念
  • PageRank
  • PersonalRank
  • TextRank
  • SimRank

推荐基本概念

其中用户user=[A,B,C],物品item=[a,b,c,d],用户和物品有以下的关系

在这里插入图片描述

上述便是一个典型的二分图,我们用G(V,E)来表示,其中V为用户user和物品item组成的顶点集即[A,B,C,a,b,c,d],而E则代表每一个二元组(u,i)之间对应的边e(u,i),我们这里不考虑用户对物品的喜爱程度,即默认喜爱则e=1,不喜爱则e=0。

那么我们如何使用上述的二分图模型进行物品的推荐呢?根据用户与物品的相关性,对于相关性高的顶点有如下的定义:

  • (1)两顶点间的路径数/越多相关性越高
  • (2)两顶点之间的路径长度/越短相关性越高
  • (3)两顶点之间经过的顶点的出度/越小相关性越高

上面有一个概念需要理解,度,顶点的度是指和该顶点相关联的边数。

基于上述的定义,我们这里使用基于随机游走的算法来计算

PageRank

它的基本思想是,假设网页之前通过超链接相互连接,互联网上的所有网页便构成了一张图。用户随机的打开一个网页,并通过超链接跳转到另一个网页。每当用户到达一个网页,他都有两种选择,停留在当前网页或者通过继续访问其他网页。如果用户继续访问网页的概率为d,那么用户停留在当前网页的概率便是1-d。如果用户继续访问其他网页,则会以均匀分布的方式随机访问当前网页指向的另一网页,这是一个随机游走的过程。当用户多次访问网页后,每一个网页被访问到的概率便会收敛到某个值,而计算出来的结果便可以用于网页排名,我们用以下的公式来表示:

在这里插入图片描述

其中PR(i)是网页i被访问到的概率,d代表用户继续访问网页的概率,N为所有网页的数量,in(i)代表所有指向网页i的网页集合,out(j)代表网页j指向的其他网页集合。

接下来我们分析一下这个公式,网页i被访问到的概率由两部分组成:

  • 第一部分是网页i作为起点,第一个被用户点击后停留在当前页面的概率,即:
  • 第二部分是用户点击其他网页后(无论网页i是不是起点),再次跳转回到网页i的概率:

这两部分的和便是网页i被点击到的概率

PersonalRank

pageRank算法中计算出来的是每一个顶点相对其他顶点的相关性,代入到我们的用户物品二分图中,这显然不是我们想要的,我们需要的是所有物品相对于特定某个用户的相关性

将用户行为表示为二分图模型。假设给用户u进行个性化推荐,要计算所有节点相对于用户u的相关度,则PersonalRank从用户u对应的节点开始游走,每到一个节点都以1−d的概率停止游走并从u重新开始,或者以d的概率继续游走,从当前节点指向的节点中按照均匀分布随机选择一个节点往下游走。这样经过很多轮游走之后,每个顶点被访问到的概率也会收敛趋于稳定,这个时候我们就可以用概率来进行排名了。在执行算法之前,我们需要初始化每个节点的初始概率值。如果我们对用户u进行推荐,则令u对应的节点的初始访问概率为1,其他节点的初始访问概率为0,然后再使用迭代公式计算。有公式如下:

在这里插入图片描述

在这里插入图片描述

对比pageRank,不同点只在于r的值不同,u代表根节点,即我们的目标用户节点,意思便是我们每次都是从目标用户节点出发,进行随机游走,而不同于pageRank的起点是随机从所有网页中进行选择,personalRank算法得出的结果便是所有顶点相对于目标用户结点的相关性

TextRank

1. TextRank 算法是一种用于文本的基于图的排序算法,通过把文本分割成若干组成单元(句子),构建节点连接图,用句子之间的相似度作为边的权重,通过循环迭代计算句子的TextRank值,最后抽取排名高的句子组合成文本摘要

  • 抽取型摘要:这种方法依赖于从文本中提取几个部分,例如短语、句子,把它们堆叠起来创建摘要。因此,这种抽取型的方法最重要的是识别出适合总结文本的句子。
  • 抽象型摘要:这种方法应用先进的NLP技术生成一篇全新的总结。可能总结中的文本甚至没有在原文中出现

现在我们已经掌握了PageRank,让我们理解TextRank算法。我列举了以下两种算法的相似之处:

  • 用句子代替网页
  • 任意两个句子的相似性等价于网页转换概率
  • 相似性得分存储在一个方形矩阵中,类似于PageRank的矩阵M

在这里插入图片描述

2. 基于TextRank的文本关键词抽取是利用局部词汇关系,即共现窗口,对候选关键词进行排序,该方法的步骤如下:

  • (1) 对于给定的文本D进行分词、词性标注和去除停用词等数据预处理操作。本分采用结巴分词,保留'n','nz','v','vd','vn','l','a','d'这几个词性的词语,最终得到n个候选关键词,即D=[t1,t2,…,tn] ;
  • (2) 构建候选关键词图G=(V,E),其中V为节点集,由候选关键词组成,并采用共现关系构造任两点之间的边,两个节点之间仅当它们对应的词汇在长度为K的窗口中共现则存在边,K表示窗口大小即最多共现K个词汇;
  • (3) 根据公式迭代计算各节点的权重,直至收敛;
  • (4) 对节点权重进行倒序排列,得到排名前TopN个词汇作为文本关键词。

 

SimRank

解决数据稀疏性的问题
Ref:https://blog.csdn.net/qq_34219959/article/details/101456105

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380743.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

matlab 训练一个用于降维的暹罗网络(孪生网络)

原文:https://ww2.mathworks.cn/help/deeplearning/ug/train-a-siamese-network-for-dimensionality-reduction.html 这个例子展示了如何训练一个暹罗网络使用降维来比较手写数字。 暹罗网络是一种深度学习网络,它使用两个或多个具有相同架构和共享相同参…

运动规划RRT*算法图解

RRT*算法: 具体过程: 1. 产生一个随机点xrand。 2. 在树上找到与xrand最近的节点xnearest。 3. 连接xrand与xnearest。 4. 以xrand为中心,ri为半径,在树上搜索节点。 5. 找出潜在的父节点集合Xpotential_parent,其目的…

三分钟教会你汉诺塔图解

C语言实现汉诺塔 汉诺塔的实现主要分为3个步骤和一个出口条件 1、将n - 1个碟子从 x 经由 z 移动到 y 2、将第 n (x上的最大一个碟子) 个移动到 z 3、再将n - 1个碟子由 y 经过 x 移动到 z 4、递归出口n 1的时候 a -> c #define _CRT_SECURE_NO_WARNINGS #include<std…

python 画曼陀罗花_巧用Adobe Illustrator绘制精美的曼陀罗花

在本教程中我告诉你如何创建曼陀罗&#xff0c;在Adobe Illustrator看起来很复杂&#xff0c;但技术是真的很简单 软件名称&#xff1a;Adobe Illustrator CC(AI) 2016特别版 64位 简体中文完整版软件大小&#xff1a;1.67GB更新时间&#xff1a;2016-04-11立即下载 使一个新的…

深圳多九云优曼陀罗彩绘疗愈系统 ---- 化解潜意识冲突、领悟生命意义

曼陀罗是一种经典的艺术疗愈工具&#xff0c;著名心理学家荣格认为曼陀罗创作能使人更好地了解自我、回归自性&#xff0c;并自发地有一种心理疗愈的作用。 本系统取曼陀罗积聚福德、智慧圆满的艺术疗法&#xff0c;云配置免安装&#xff0c;在移动端、PC 端全网络彩绘及创意分…

当你灵感枯竭的时候,如何深挖客户需求?采用曼陀罗思考法(5W1H模式),相信你会找到出路

这六个路径其实就是英语当中所提到的六个常用问句 &#xff08;5W1H&#xff09;&#xff1a;What、Why、Who、Where、When、How。每一件事情或主题&#xff0c;如果都可以透过这六个路径&#xff0c;其实也就可以得到一个完整的景观 了。在六个路径与曼陀罗图的搭配操作上&…

Matlab.图像处理设计-曼陀罗图片绘制

Matlab.图像处理设计-曼陀罗图片绘制 【程序设计】 本次设计的内容是用Matlab.绘制曼陀罗图形&#xff0c;通过在Matlab.中对给定形状的图片进行移动、旋转和叠加等方式来实现。 设计中用到了二值化处理、图片移动处理、图片旋转处理、图片叠加处理、输出图像等五种图像处理方…

曼陀罗彩绘疗愈系统--艺术疗愈

曼陀罗是一种经典的艺术疗愈工具&#xff0c;著名心理学家荣格认为曼陀罗创作能使人更好地了解自我、回归自性&#xff0c;并自发地有一种心理治疗的作用。 本系统取曼陀罗积聚福德、智慧圆满的艺术疗法&#xff0c;云配置免安装&#xff0c;在移动端、PC 端全网络彩绘及创意分…

曼陀罗花对女性有什么作用?

如果您不是看完武侠片来提问的&#xff0c; 那我就给您介绍一下曼陀罗花是什么样子的&#xff0c; 曼陀罗在我们身边其实也是很常见的。公园里 或者谁家院子里&#xff0c;开花的时候跟个黄瓜挂在那树上差不多。 武侠片里说曼陀罗是剧毒&#xff0c;听起来也是如梦如幻的名字&…

Python+Selenium+Unittest 之selenium11--WebDriver操作方法1-常用操作

目录 1、send_keys("输入的内容") &#xff08;输入文字&#xff09; 2、clear() (清除元素内的内容) 3、click()&#xff08;点击元素&#xff09; 4、quit()关闭浏览器 5、refresh()&#xff08;刷新浏览器页面&#xff09; 6、set_window_size()和用 maxim…

美丽的曼陀罗曲线

最近看到一篇微信朋友圈上的文章&#xff0c;说两个行星运行轨迹的中心连线可以画出一个美丽的曼陀罗曲线&#xff0c;于是就写了一段代码生成这样的曲线&#xff0c;结果真是令人惊叹的美丽。 代码参见 &#xff1a; http://runjs.cn/detail/lbgqwfiu 或者 http://codepen…

波动速读入门训练(含黄卡、曼陀螺使用方法)

http://www.cnnlp.com/viewthread.php?tid5337&extrapage%3D1 波动速读入门训练&#xff08;含黄卡、曼陀螺使用方法&#xff09; 入门训练是进行波动速读的基础 在波动速读之前要进行入门训练,入门训练包括这样几项: 1.视觉训练 2.ESP(超感觉能力)训练 3.右脑记忆训…

思维导图 基础篇(06)思维方法-曼陀罗思考法

系列文章解读&说明&#xff1a; 本系列文章主要内容是 思维导图 基础课&#xff0c;旨在帮助更多 热爱学习的伙伴 更具体的了解思维导图&#xff0c;同时也会让 更多的伙伴从 思维导图 认知 误区中走出。 系列文章总纲链接为&#xff1a;专题总纲目录&#xff08;01&…

曼陀罗思考法

一 曼陀罗思考法的意义 曼陀罗艺术原本起源于佛教&#xff0c;被今泉浩晃先生加以系统化利用之后&#xff0c;却成为绝佳的计划工具。曼陀罗生活笔记最终目的是将「知识」转变为实践的「智慧」。按照此方法制作备忘录&#xff0c;应付学业与工作上各项疑惑&#xff0c;灵感将不…

曼陀罗绘画沙龙第二期|用100个曼陀罗,探索最真实的自我

感觉生活很平淡 找不到幸福感&#xff1f; 内心有伤痛 却不懂得自我疗愈&#xff1f; 不需任何绘画功底 一张曼陀罗就可以让你 随时随地随性进行情绪表达 唤醒沉睡的智慧 疗愈自我心灵 促进自我功能平衡 有些话儿无法言说 不如来一场治愈心灵的曼陀罗 给自己的心情放个假吧~ 什…

训练创新思维的方法:曼陀罗思考法

回顾10多年来走过的软件之路除了在经验上有一点积累、掌握了不少的技术之外似乎仍然一无所有&#xff0c;我并不是在传播负能量&#xff0c;这种一无所有指的并不是物质或是生活上的&#xff0c;而是在事业道路上。软件发展在于创新而这么多年来的工作却一直只是在跟随&#xf…

Spark(38):Streaming DataFrame 和 Streaming DataSet 转换

目录 0. 相关文章链接 1. 基本操作 1.1. 弱类型 api 1.2. 强类型 1.3. 直接执行 sql 2. 基于 event-time 的窗口操作 2.1. event-time 窗口理解 2.2. event-time 窗口生成规则 3. 基于 Watermark 处理延迟数据 3.1. 什么是 Watermark 机制 3.2. update 模式下使用 w…

Docker安装 Kibana

目录 前言安装Kibana步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 步骤2&#xff1a;拉取 kibana 镜像拉取镜像查看已拉取的镜像 步骤3&#xff1a;创建容器创建容器方式1&#xff1a;快速创建容器 步骤…

怎么学习AJAX相关技术? - 易智编译EaseEditing

学习AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;相关技术可以让你实现网页的异步数据交互&#xff0c;提升用户体验。以下是一些学习AJAX技术的步骤和资源&#xff1a; HTML、CSS和JavaScript基础&#xff1a; 首先&#xff0c;确保你已经掌握了基本的HTML…

网络营销新人应该掌握的6大通关方法

当然大多数网络营销新人的基础目的还是想实现网赚的第一步&#xff0c;那么我们以网赚为基础的前提下&#xff0c;新人应该掌握以下6大通关方法&#xff1a; 一、微博营销 以新浪微博为例&#xff0c;营销大号已然成为微博江湖里盈利模式较清晰的一种模式。这是目前营销模式…