用户画像算法TF_IDF,TextRank实战

本文介绍了TF_IDF和TextRank算法在用户画像中的应用。TF_IDF是文本挖掘中的重要算法,而TextRank则是基于PageRank在文本领域的延伸,常用于关键词提取和摘要生成。通过jieba分词和滑动窗口构造无向无权图,以及利用word2vec计算句子相似度来建立图的边权重。PageRank公式解释了用户在网页间的随机游走模型,其稳定访问概率作为网页重要性指标。TextRank在文本摘要中则通过邻接矩阵和PageRank计算句子重要性。
摘要由CSDN通过智能技术生成
TF_IDF算法
#coding:utf-8
import jieba.analyse

#基于 TF-IDF(term frequency–inverse document frequency) 算法的关键词抽取
print('*****案例一********')
txt='该项目采用盆栽与田间试验相结合的研究方法,揭示了冀南矿粮复合区矿井水的不同灌溉方式对冬小麦和夏玉米轮作体系中粮食产量与品质的影响,探明了矿井水直接用于灌溉抑制冬小麦和夏玉米作物的光合作用,导致作物减产,降低作物的籽粒品质;发现了矿井水与清水1:1的混灌或轮灌比清水灌溉更能促进作物生长,提高作物的产量和品质。探明了不同矿井水灌溉方式下,土壤盐分和重金属累积迁移规律,结合当地降水-土壤-矿井水-作物系统特征,优化出了高效安全的矿井水灌溉制度。根据矿井水高效安全灌溉的参数体系,设计研发出智能节水灌溉控制系统,实现了对上述参数的在线检测和智能化控制,为矿井水高效安全灌溉提供了经济适用的装备支撑。该成果可在我国北方矿区冬小麦和夏玉米轮作区推广应用,能够取得较好的经济效益、环境效益和社会效益,应用前景广阔。'
key=jieba.analyse.extract_tags(txt,topK=3)
print(key)

print('*****案例二********')
content='该课题在搜集柴胡种质资源基础上,开展了生物学特性、分子标记及栽培技术等方面的研究,形成的主要创新性结果如下:(1)通过AFLP、ISSR分子标记和ITS序列分析,明确了11个柴胡种源之间的亲缘关系;综合大田出苗率、抗根腐病能力、柴胡皂苷含量等8个指标,利用主成分分析法筛选出适植华北地区优质柴胡种源5个。(2)研究提出了柴胡栽培关键技术:促进种子萌发的处理为0.5g/L的硫酸锰浸种24h;适宜播期为3月中下旬;适宜播种量为3kg/亩;施肥比例为一年收获N25:P18:K18,二年收获N25:P6:K12;适宜采收期在7月中下旬~8月下旬,制种期为早熟品种八月中上旬、晚熟品种九月中上旬;在此基础上集成形成了柴胡规范化栽培技术体系并形成技术规程。建立了柴胡根腐病病菌检测方法,鉴定出柴胡根腐病病原菌为茄腐镰刀菌(Fusarium solani Will.)。采用“高校+公司+基地+农户”的模式,示范推广柴胡规范化栽培技术面积较大。该研究成果具有新颖性,先进性及实用性。经济效益、社会效益明显,具有良好的生产应用前景'
# 第一个参数:待提取关键词的文本
# 第二个参数:返回关键词的数量,重要性从高到低排序
# 第三个参数:是否同时返回每个关键词的权重
# 第四个参数:词性过滤,为空表示不过滤,若提供则仅返回符合词性要求的关键词,allowPOS('ns', 'n', 'vn', 'v') 地名、名词、动名词、动词
keywords=jieba.analyse.extract_tags(content,topK=5,withWeight=True,allowPOS=())
#访问提取结果
for item in keywords:
    print(item[0],item[1])
TextRank算法

第一种实现方式

#基于 TextRank 算法的关键词抽取
print('*****案例三********')
# 同样是四个参数,但allowPOS默认为('ns', 'n', 'vn', 'v')
# 即仅提取地名、名词、动名词、动词
keywords = jieba.analyse.textrank(content, topK=5, withWeight=True, allowPOS=('ns', 'n', 'vn', 'v'))
# 访问提取结果
for item in keywords:
    # 分别为关键词和相应的权重
    print(item[0], item[1])

第二种实现方式

这里要稍微介绍下pagerank的公式。
在这里插入图片描述

上式中PR(i)是网页i的访问概率(也就是重要度),d是用户继续访问网页的概率,N是网页总数。in(i)表示指向网页i的网页集合,out(j)表示网页j指向的网页集合。

PageRank是Larry Page 和 Sergey Brin设计的用来衡量特定网页相对于搜索引擎中其他网页的重要性的算法,其计算结果作为google搜索结果中网页排名的重要指标。网页之间通过超链接相互连接,互联网上不计其数的网页就构成了一张超大的图。PageRank假设用户从所有网页中随机选择一个网页进行浏览,然后通过超链接在网页直接不断跳转。到达每个网页后,用户有两种选择:到此结束或者继续选择一个链接浏览。算法令用户继续浏览的概率为d,用户以相等的概率在当前页面的所有超链接中随机选择一个继续浏览。这是一个随机游走的过程。当经过很多次这样的游走之后,每个网页被访问用户访问到的概率就会收敛到一个稳定值。这个概率就是网页的重要性指标,被用于网页排名

textrank可以看作是,在文本领域的textrank,首先基于文本建立Graph,然后使用Graph来应用PageRank。
建立图的方式,笔者目前发现有两种:

  1. 如果要寻找文本的关键词,会首先对文本进行jieba分词,然后采用滑动窗口来确定图的边。构造完成的图为无向无权图。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值