csdn博客推荐系统实战-6关键词提取-TF-IDF,TEXTRANK
csdn博客推荐系统实战-6关键词提取-TF-IDF,TEXTRANK 前⾯⼏篇写了相似度计算和话题模型,都是怎么到相似的⽂章。2篇⽂章⽤各种⽅法向量化,然后余弦计算相似度,或者同在⼀个话题的2篇⽂章,把⼀整篇⽂章切成很多很多的词,有的模型或算法还要尽量在词多的情况下计算才准确。
⼈类有归纳总结的能⼒,看了⼀篇英超曼城对曼联⽐赛的报道,会总结⼏个出⼏个关键词,英超 曼联 曼城 得⽐,看了关键词就能知道这篇⽂章⼤概的内容,如果机器也能做到,那该多好啊能,当然能,就是今天要介绍的关键词提取。
关键词提取就是从⽂本⾥⾯把跟这篇⽂档意义最相关的⼀些词抽取出来。在⽂献检索领域,依然可以在论⽂中看到关键词这⼀项。
关键词还可以在⽂本聚类、分类、⾃动摘要等领域中有着重要的作⽤。⽐如在聚类时将关键词相似的⼏篇⽂档看成⼀个团簇,可以⼤⼤提⾼聚类算法的收敛速度;从某天所有的新闻中提取出这些新闻的关键词,就可以⼤致了解那天发⽣了什么事情;或者将某段时间内⼏个⼈的微博拼成⼀篇长⽂本,然后抽取关键词就可以知道他们主要在讨论什么话题。
算法上分为2种,有监督和⽆监督,有监督算法需要标注数据,⼈⼯成本很⼤,今天我主要说的是⽆监督算法。
⽆监督提取关键词算法有很多,今天讲TF-IDF,TEXTRANK提取关键词。
TF-IDF
前⾯我介绍过TF-IDF模型,怎么提取关键词呢?取整篇⽂章切词后TF-IDF值最⾼的N个词做为这篇⽂章的关键词!很简单吧,就是这么简单!。
1. 预处理,⾸先进⾏分词和词性标注,去掉停⽤词,将满⾜指定词性的词作为候选词;
计算机操作知识
2. 分别计算每个词的TF-IDF值;
3. 根据每个词的TF-IDF值降序排列,并输出指定个数的词汇作为可能的关键词;
TextRank
TextRank算法是由google的PageRank算法转化⽽来的。PR(PageRank简称,下同)算法简单点说2句话,⼀个⽹页被很多⽹页链接时,排名就好;排名⾼的⽹页权重更⾼。⼀个⽹页的排名是由链接这个⽹页的数量及质量(排名的⾼低)决定的。
同学名字PR公式
10万元左右汽车
TextRank公式
TextRank中没有链接的概念,⽤窗⼝来代替链接的概念,窗⼝就是词距,⼀般取5,表⽰与某个词的词距不⼤于5的集合。
TF-IDF和TextRank算法原理都不难,也有很多实现,我这次主要⽤jieba来实现这2种算法。
internet  产品  apple  blackberry  nokia  服务器  ||PC Internet 2003 PDA Apple Intel 产品 iPod||市场产品领域技术应⽤没有设备计算
汽车轮胎保养读书出版教育设计模式语⾔  java  ||教材书籍教学技术课堂学⽣教科书习题||教材技术书籍学⽣教学⽅法知识市场
report  ||设置 LaTeX 0pt fancyhead renewcommand 页眉字号 1ex||设置显⽰缩进页脚包来纸张习惯字号
⼯作企业应⽤算法申诉微软浏览器  ||项⽬软件队伍领导油⽥分数系统考核||项⽬队伍领导软件油⽥系统企业公司
腾讯创业  qq  互联⽹⽹络游戏  ||腾讯 QQ OICQ MIH 移动梦⽹马化腾 SP 服务||服务业务互联⽹⽤户注册收⼊移动梦⽹游戏
医疗服务器技术⼈⽹络产品  internet  ||医院信息系统服务器信息化建设医疗系统 PC||医院信息系统系统建设信息化医疗服务器⽹络
华为⼯作⽣活报表数据库制造  ||⼲部改进流程批判⾃我⼈均管理⼀定||⼲部公司管理不能流程批判改进没有
创业⼯作⽣活融资平台  ||创业软件产业软件软件业⼏百万成功不是⼀个||创业软件发展过程速度产业收⼊政策
java  j2me  嵌⼊式平台  j2se  linux  ||Java com http 嵌⼊式 java 程序类别 sun||程序平台类别执⾏函式装置审核预先
⼯作审查体育招聘活动  ||⼯作职员待遇⽼板了解简历能⼒变动||⼯作能⼒实际公司没有可能变动获得
constructor  os  class  c++  reference  library  ||Complex operator real imaginary const return ostream os||应该函数风格成员操作内容说明翻译
function  class  iostream  string  struct  dependencies  ||include std class ostream 头⽂件 list private public||头⽂件需要代码使⽤程序函数成员类型
2022年六一儿童节放假吗c++  microsoft  游戏语⾔  borland  pascal  ||50 C++ Kingofark PV Learning Points View kingofark||编程观点学习简称
汇编  c++  语⾔⼯作  c  ||kingofark 五评推荐学过 com impossible ⼀点点本⽂||推荐团体技术条款初学者个⼈喜爱学院
asp  web服务  button  textbox  asp  脚本编程语⾔  ||控件 Greeter Web NET aspx 页⾯ ASP Button||控件页⾯服务器端⽣成应⽤程序⽂件验证数据设计模式  java  出版  uml  读书⼯具  ||乐趣模式读者这本设计模式或许⼊门 2003||模式读者设计模式教材作品⼊门没有标题
applet  java  jdk  程序开发⽹络  sun  ||保护许可线程应⽤程序⼀个调⽤系统访问||保护系统访问应⽤程序线程调⽤可能⽅法
url  applet  solaris  windows  java  扩展  ||java 许可 security FilePermission ⽂件 com home 策略||⽂件策略代码属性指定密钥⼊⼝系统
买二手房注意事项
classloader  applet  java  jdk  虚拟机语⾔  ||装载⼀个 Java 授权⼦类类时 AppletClassLoader 虚拟机||
授权使⽤创建可能原始提供⽤户运⾏
⼯具  jdk  java  applet  solaris  windows  ||storetype keystore 管理器 security Djava keytool storepass SecurityManager||⼯具策略使⽤⽂件管理器证书调⽤⽤户algorithm  算法  object  java  存储  string  ||GuardedObject 签字 Guard 对象线程访问控制⼀个 SignedObject||对象签字线程访问控制消费者⽅法资源获得applet  jar  jdk  ⽂档  java  加密  ||签字⼦域许可⼀个代码密钥 com JAR||签字使⽤⼦域保护代码概念资源认证
编程语⾔加密⼯作产品  c  ||程序员程序修养编程函数我要语句⼀个||程序员程序修养函数进⾏语句编程没有
语⾔  pascal  fortran  unix  scheme  c++  ||GDB 调试 language 命令 set 程序 Use 函数||命令调试程序语⾔函数环境执⾏功能
就这样了?还能再提⾼⼀些成功率吗?我个⼈认为还是有可能的,那怎么做呢?
1.专业领域要有专业的关键词表,这样就不会把专业词分成⼏个普通词了。
2.停⽤词,太重要了,必须下功夫好好整理整理。
3.预处理太重要了,⽂章内包括有代码的,是不是要把代码分离出去,有英⽂翻译的,是不是要把英⽂分离出去,要保证语料库的质量,质
量,质量
当然,提取关键词还有很多其它的算法,可以试试其它算法,或者是其它算法和以上2种算法的混合。
今天2种算法的测试都不成功,等以后有时间了,我再做更深⼀步的测试。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。