Python的jieba分词及TF-IDF和TextRank 算法提取关键字

文章推薦指數: 80 %
投票人數:10人

基于TF-IDF(term frequency–inverse document frequency) 算法的关键词抽取. import jieba.analyse. jieba.analyse.extract_tags(sentence, ... Python的jieba分词及TF-IDF和TextRank算法提取关键字 xw__cqx 于 2018-05-0116:19:18 发布 53073 收藏 115 文章标签: jieba TF-IDF  TextRank 参考文章:Github上的项目———jieba 中文分词 对于NLP(自然语言处理)来说,分词是一步重要的工作,市面上也有各种分词库,11款开放中文分词系统比较。

1.基于词典:基于字典、词库匹配的分词方法;(字符串匹配、机械分词法) 2.基于统计:基于词频度统计的分词方法; 3.基于规则:基于知识理解的分词方法。

第一类方法应用词典匹配、汉语词法或其它汉语语言知识进行分词,如:最大匹配法、最小分词方法等。

这类方法简单、分词效率较高,但汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。

第二类基于统计的分词方法则基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词,由于这些信息是通过调查真实语料而取得的,因而基于统计的分词方法具有较好的实用性。

jieba分词,完全开源,有集成的python库,简单易用。

 jieba分词是基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG),动态规划查找最大概率路径,找出基于词频的最大切分组合 安装jieba 在安装有python3和pip的机子上,安装jieba库很简单,使用pip即可: pipinstalljieba 1 jieba分词特性 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

支持繁体分词支持自定义词典MIT授权协议 主要功能 分词 jieba.cut :方法接受三个输入参数:需要分词的字符串;cut_all参数用来控制是否采用全模式;HMM参数用来控制是否使用HMM模型jieba.cut_for_search :方法接受两个参数:需要分词的字符串;是否使用HMM模型。

该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细待分词的字符串可以是unicode或UTF-8字符串、GBK字符串。

注意:不建议直接输入GBK字符串,可能无法预料地错误解码成UTF-8jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator,可以使用for循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut 以及jieba.lcut_for_search 直接返回 listjieba.Tokenizer(dictionary=DEFAULT_DICT):新建自定义分词器,可用于同时使用不同词典。

jieba.dt为默认分词器,所有全局分词相关函数都是该分词器的映射。

#官方例程 #encoding=utf-8 importjieba seg_list=jieba.cut("我来到北京清华大学",cut_all=True) print("FullMode:"+"/".join(seg_list))#全模式 seg_list=jieba.cut("我来到北京清华大学",cut_all=False) print("DefaultMode:"+"/".join(seg_list))#精确模式 seg_list=jieba.cut("他来到了网易杭研大厦")#默认是精确模式 print(",".join(seg_list)) seg_list=jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")#搜索引擎模式 print(",".join(seg_list)) 12345678910111213141516 【全模式】:我/来到/北京/清华/清华大学/华大/大学 【精确模式】:我/来到/北京/清华大学 【新词识别】:他,来到,了,网易,杭研,大厦(此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了) 【搜索引擎模式】:小明,硕士,毕业,于,中国,科学,学院,科学院,中国科学院,计算,计算所,后,在,日本,京都,大学,日本京都大学,深造 关键词提取 基于TF-IDF(termfrequency–inversedocumentfrequency)算法的关键词抽取 importjieba.analyse jieba.analyse.extract_tags(sentence,topK=20,withWeight=False,allowPOS=()) sentence :为待提取的文本topK:为返回几个TF/IDF权重最大的关键词,默认值为20withWeight :为是否一并返回关键词权重值,默认值为FalseallowPOS :仅包括指定词性的词,默认值为空,即不筛选 #基于TF-IDF算法的关键词抽取 importjieba importjieba.analyse sentence='全国港澳研究会会长徐泽在会上发言指出,学习系列重要讲话要深刻领会主席关于香港回归后的宪制基础和宪制秩序的论述,这是过去20年特别是中共十八大以来"一国两制"在香港实践取得成功的根本经验。

首先,要在夯实香港的宪制基础、巩固香港的宪制秩序上着力。

只有牢牢确立起"一国两制"的宪制秩序,才能保证"一国两制"实践不走样、不变形。

其次,要在完善基本法实施的制度和机制上用功。

中央直接行使的权力和特区高度自治权的结合是特区宪制秩序不可或缺的两个方面,同时必须切实建立以行政长官为核心的行政主导体制。

第三,要切实加强香港社会特别是针对公职人员和青少年的宪法、基本法宣传,牢固树立"一国"意识,坚守"一国"原则。

第四,要努力在全社会形成聚焦发展、抵制泛政治化的氛围和势能,全面准确理解和落实基本法有关经济事务的规定,使香港继续在国家发展中发挥独特作用并由此让最广大民众获得更实在的利益。

' keywords=jieba.analyse.extract_tags(sentence,topK=20,withWeight=True,allowPOS=('n','nr','ns')) #print(type(keywords)) # foriteminkeywords: print(item[0],item[1]) 1234567891011121314 运行结果:  基于TextRank算法的关键词抽取 jieba.analyse.textrank(sentence,topK=20,withWeight=False,allowPOS=(‘ns’,‘n’,‘vn’,‘v’)) 直接使用,接口相同,注意默认过滤词性。

jieba.analyse.TextRank()新建自定义TextRank实例 基本思想: 将待抽取关键词的文本进行分词以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图计算图中节点的PageRank,注意是无向带权图 #基于TextRank算法的关键词抽取 keywords=jieba.analyse.extract_tags(sentence,topK=20,withWeight=True,allowPOS=('n','nr','ns')) #type(keywords) # foriteminkeywords: print(item[0],item[1]) 123456789 运行结果: 词性标注 jieba.posseg.POSTokenizer(tokenizer=None)新建自定义分词器,tokenizer参数可指定内部使用的jieba.Tokenizer分词器。

jieba.posseg.dt为默认词性标注分词器。

标注句子分词后每个词的词性,采用和ictclas兼容的标记法。

#官方例程 importjieba.possegaspseg words=pseg.cut("我爱北京天安门") #words类别为:generator forword,flaginwords: print('%s%s'%(word,flag)) 12345678 运行结果: 我r 爱v 北京ns 天安门ns 词性对照表 名词(1个一类,7个二类,5个三类) 名词分为以下子类: n名词 nr人名 nr1汉语姓氏 nr2汉语名字 nrj日语人名 nrf音译人名 ns地名 nsf音译地名 nt机构团体名 nz其它专名 nl名词性惯用语 ng名词性语素时间词(1个一类,1个二类) t时间词 tg时间词性语素处所词(1个一类) s处所词方位词(1个一类) f方位词动词(1个一类,9个二类) v动词 vd副动词 vn名动词 vshi动词“是” vyou动词“有” vf趋向动词 vx形式动词 vi不及物动词(内动词) vl动词性惯用语 vg动词性语素形容词(1个一类,4个二类) a形容词 ad副形词 an名形词 ag形容词性语素 al形容词性惯用语区别词(1个一类,2个二类) b区别词 bl区别词性惯用语状态词(1个一类) z状态词代词(1个一类,4个二类,6个三类) r代词 rr人称代词 rz指示代词 rzt时间指示代词 rzs处所指示代词 rzv谓词性指示代词 ry疑问代词 ryt时间疑问代词 rys处所疑问代词 ryv谓词性疑问代词 rg代词性语素数词(1个一类,1个二类) m数词 mq数量词量词(1个一类,2个二类) q量词 qv动量词 qt时量词副词(1个一类) d副词介词(1个一类,2个二类) p介词 pba介词“把” pbei介词“被”连词(1个一类,1个二类) c连词 cc并列连词助词(1个一类,15个二类) u助词 uzhe着 ule了喽 uguo过 ude1的底 ude2地 ude3得 usuo所 udeng等等等云云 uyy一样一般似的般 udh的话 uls来讲来说而言说来 uzhi之 ulian连(“连小学生都会”)叹词(1个一类) e叹词语气词(1个一类) y语气词(deleteyg)拟声词(1个一类) o拟声词前缀(1个一类) h前缀后缀(1个一类) k后缀字符串(1个一类,2个二类) x字符串 xx非语素字 xu网址URL标点符号(1个一类,16个二类) w标点符号 wkz左括号,全角:(〔[{《【〖〈半角:([{ wyz左引号,全角:“‘『 wyy右引号,全角:”’』 wj句号,全角:。

 ww问号,全角:?半角:? wt叹号,全角:!半角:! wd逗号,全角:,半角:, wf分号,全角:;半角:; wn顿号,全角:、 wm冒号,全角::半角:: ws省略号,全角:……… wp破折号,全角:——--——-半角:——- wb百分号千分号,全角:%‰半角:% wh单位符号,全角:¥$£°℃半角:$ 转自https://blog.csdn.net/sinat_34022298/article/details/75943272   侵请联删 xw__cqx 关注 关注 23 点赞 踩 2 评论 115 收藏 扫一扫,分享内容 点击复制链接 轻松学NLP--使用Jieba工具实现TF-IDF和TextRank文本关键字提取(附代码) ccaoshangfei的博客 02-16 1305 简单快速实现文本关键词提取 python使用jieba实现tf-idf m0_38071676的博客 05-16 1334 具体代码: 在这里插入代码片 评论 2 您还未登录,请先 登录 后发表或查看评论 【NLP学习笔记】使用jieba实现关键词提取 虚幻社区 08-25 972 1关键词提取 jieba提供了两种关键词提取方法,分别基于TF-IDF算法和TextRank算法。

1.1基于TF-IDF算法的关键词提取 TF-IDF(TermFrequency-InverseDocumentFrequency,词频-逆文件频率)是一种统计方法,用以评估一个词语对于一个文件集或一个语料库中的一份文件的重要程度,其原理可概括为: 一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表该文章 计算公式:TF-IDF=TF*IDF,其中: jieba分词textrank算法 最新发布 Claire_Mk的博客 12-25 156 2021SC@SDUSC TextRank是一种用以关键词提取的算法,因为是基于PageRank的,所以先介绍PageRank。

PageRank通过互联网中的超链接关系确定一个网页的排名,其公式是通过一种投票的思想来设计的:如果我们计算网页A的PageRank值,那么我们需要知道哪些网页链接到A,即首先得到A的入链,然后通过入链给网页A进行投票来计算A的PR值。

这样设计可以保证达到这样一个效果:当某些高质量的网页指向网页A的时候,那么网页A的PR值会因为这些高质量的投票而变大,而网页A被较少网页指向或被一 NLP基础2-jieba中文处理 u014168855的博客 05-06 635 1.基本分词函数与用法 jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode) jieba.cut方法接受三个输入参数: 需要分词的字符串 cut_all参数用来控制是否采用全模式 HMM参数用来控制是否使用HMM模型 jieba.cut_for_search... 使用jieba进行关键字词提取(基于Textrank算法) btod49的博客 03-12 4041 基于Textrank的关键词提取 函数:jieba.analyse.textrank(string,topK=20,withWeight=True,allowPOS=()) string:待处理语句 topK:关键字的个数,默认20 withWeight:是否返回权重值,默认false allowPOS:是否仅返回指定类型,默认为空 importjieba.analyse sentenc... jieba分词库——基于TextRank算法的关键词抽取 ziupan的博客 03-23 450 基于TextRank算法的关键词抽取 jieba.analyse.textrank(sentence,topK=20,withWeight=False,allowPOS=(‘ns’,‘n’,‘vn’,‘v’))直接使用,接口相同,注意默认过滤词性。

jieba.analyse.TextRank()新建自定义TextRank实例 基本思想: 将待抽取关键词的文本进行分词 以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图 计算图中节点的PageR 中文自然语言处理--jieba基于TF-IDF算法进行中文文本中的关键词提取 糯米君的博客 03-10 883 在信息检索理论中,TF-IDF是TermFrequency-InverseDocumentFrequency的简写。

TF-IDF是一种数值统计,用于反映一个词对于语料中某篇文档的重要性。

在信息检索和文本挖掘领域,它经常用于因子加权。

TF-IDF的主要思想就是:如果某个词在一篇文档中出现的频率高,也即TF高;并且在语料库中其他文档中很少出现,即DF低,也即IDF高,则认为这个词具有很好的类别区分能力。

#-*-coding:utf-8-*- importjieba.an jiebatextrank关键词提取python_jieba分词使用 weixin_39910824的博客 11-29 102 jieba基于python坏境下最好(最方便)的中文分词。

支持3种分词模式。

精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的短语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合使用搜索引擎分词。

全模式/精准模式jieba.cut/jieba.lcutjiaba.lcut和jieba.cut的区别:jieb... TextRank和python代码的实现 for_yayun的博客 09-28 1435 TextRank 类似于PageRank的思想,将文本中的语法单元视作图中的节点,如果两个语法单元存在一定语法关系(例如共现),则这两个语法单元在图中就会有一条边相互连接,通过一定的迭代次数,最终不同的节点会有不同的权重,权重高的语法单元可以作为关键词。

参考论文:RadaMihalcea的《TextRank:BringOrderintotexts》。

节点的权重不仅依赖于它的入度结点,还依赖于这些入度结点的权重,入度结点越多,入度结点的权重越大,说明这个结点的权重越高;图中任两点Vi,. jieba分词详解 zdb的博客 12-15 3555 jieba分词器 1.jieba分词器的分词模式说明 jieba分词器提供4种分词模式,并且支持简体/繁体分词、自定义词典、关键词提取、词性标注。

(1)精确模式 该模式会将句子最精确地切分开,适合在文本分析时使用。

(2)全模式 该模式会将句子中所有成词的词语都扫描出来,速度也非常快,缺点是不能解决歧义问题,有歧义的词语也会被扫描出来。

(3)搜索引擎模式 该模式会在精确模式的基础上对长词再进行切分,将更短的词语切分出来。

在搜索引擎中,要求输入词语的一部分也能检索到整个词语相关的文档,所以该模式适用于搜 【推荐系统】基于TextRank算法+TF-IDF算法提取关键词 wssjdysf1的专栏 01-25 221 TextRank代码实现 packageprogram importalgorithm.TextRank importorg.apache.spark.sql.SaveMode importutil.{SegmentWordUtil,SparkSessionBase} importscala.collection.mutable importscala.collection.mutable.ListBuffer objectComputeTextR... jieba:关键词抽取(TD-IDF、TextRank) qqMiSa的博客 02-25 1311 目录 TF-IDF关键词抽取 TextRank关键词抽取 jieba实现了两种关键词抽取算法,分别是TF-IDF和TextRank。

TF-IDF关键词抽取 TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

实际应用中主要是将TF(词频,词t在文档d中出现的频率)*IDF(逆文档率,... 【python】使用jieba中的textrank提取文本/文章关键词,超简单! HelenLee 03-03 1695 使用jieba中的textrank提取文本关键词: 姐妹篇:https://blog.csdn.net/weixin_43289135/article/details/104628816 importjieba.analyse text='城市绿化是栽种植物以改善城市环境的活动。

城市绿化作为城市生态系统中的还原组织城市生态系统具有受到外来干扰和破坏而恢复原状的能力,就是通常所说的... TextRank算法原理简析、代码实现 GAOYUAN19941118的博客 05-23 6069 前言—PageRank 注:PageRank原理另行查询   在介绍TextRank前,我想先给大家介绍下PageRank,实质上个人认为可以把TextRank当做PageRank2.0。

  谷歌的两位创始人的佩奇和布林,借鉴了学术界评判学术论文重要性的通用方法,“那就是看论文的引用次数”。

由此想到网页的重要性也可以根据这种方法来评价。

于是PageRank的核心思想就诞生了: 如果个网页... Python文本处理工具——TextRank 热门推荐 搬砖小工053 06-19 1万+ 背景TextRank是用与从文本中提取关键词的算法,它采用了PageRank算法,原始的论文在这里。

Github地址。

这个工具可以直观的把文本中出现的关键词画在一张图片中,用户可以在图中发现中心词。

这个工具使用POS(part-of-speechtagging:词性标注)然后抽取名词,这种方法对于关键词提取独具特色。

注意: 先安装NLTK再使用这个工具。

NLTK版本要求3.2.1以上。

jieba下TextRank实现 z2539329562的博客 03-29 2015 TextRank实现步骤如下:#这一段是抄了别人的 (1)把给定的文本按照完整的句子进行分割; (2)对每个句子进行分词和词性标注,过滤停用词,只保留特定词性; (3)构建候选关键词图G=(V,E),首先生成关键词集((2)生成),然后采用共现关系构造两点之间的边,两个节点之间边 仅在对应词汇长度为K的窗口中出现,K表示窗口大小; (4)迭代传播各节点的权重,直至收敛 (5... python结巴分词(jieba)详解 lukabruce的博客 09-03 1万+ 【转自:https://www.cnblogs.com/jackchen-Net/p/8207009.html】 “结巴”中文分词:做最好的Python中文分词组件 "Jieba"(Chinesefor"tostutter")Chinesetextsegmentation:builttobethebestPythonChinesewordsegmentati... jieba实现基于tf-idf算法的关键词提取(附完整代码) qq_45402214的博客 11-10 3266 @基于itf-idf算法的关键词提取 提出问题 假设我们现在有一篇文章,需要提取这篇文章的关键词,要怎样才能通过计算机实现呢? TF-IDF算法介绍 一篇文章的关键词基本都是能体现文章的内容,而且几乎是在文章中频繁出现的词,统计文章中各个词出现的次数,出现最多的则是这篇文章的关键词了,那具体是怎么统计呢,这里有一个专业术语叫词频(termfrequency),简称TF。

计算公式如下: TF(词频)=某次在文章中出现的次数/文章中的总词数 举例子:我正在学习人工智能,并且我一定会成功的。

**通过j jieba-基于TextRank关键词提取的实现 木东的博客 11-24 474 对每个句子进行分词和词性标注处理 过滤掉除指定词性外的其他单词,过滤掉出现在停用词表的单词,过滤掉长度小于2的单词 将剩下的单词中循环选择一个单词,将其与其后面4个单词分别组合成4条边。

例如:[‘有’,‘媒体’,‘曝光’,‘高圆圆’,‘和’,‘赵又廷’,‘现身’,‘台北’,‘桃园’,‘机场’,‘的’,‘照片’]对于‘媒体‘这个单词,就有(‘媒体’,‘曝光’)、(‘媒体’,‘圆’)、(‘媒体’,‘和’)、(‘媒体’,‘赵又廷’)4条边,且每条边权值为1,当这条边在之后再次出现时,权值 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 ©️2022CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页 xw__cqx CSDN认证博客专家 CSDN认证企业博客 码龄6年 暂无认证 6 原创 20万+ 周排名 92万+ 总排名 8万+ 访问 等级 485 积分 9 粉丝 32 获赞 7 评论 142 收藏 私信 关注 分类专栏 电脑应用 1篇 linux 1篇 ss ubuntu 1篇 最新评论 欢迎使用CSDN-markdown编辑器,改一下csdn的编辑器选择即可 tangjiaxi0729: 感谢分享,正好再找这些资料呢,及时雨啊 解决nodejs安装不了mysql模块 小白程序小夏: 貌似可以,下载完之后显示的是对号 Python的jieba分词及TF-IDF和TextRank算法提取关键字 oldlybaby: 当时我也看了半天,怎么两种算法代码是一样的。

Python的jieba分词及TF-IDF和TextRank算法提取关键字 xiaomengxia2008: #转载文章也需要验证一下转载的内容是否真正正确 #基于TextRank算法的关键词抽取说明和代码对应错误,代码里面写错了,应该是 keywords=jieba.analyse.textrank(sentence,topK=20,withWeight=True,allowPOS=('n','nr','ns')) foriteminkeywords: print(item[0],item[1]) [code=python] [/code] 解决nodejs安装不了mysql模块 可汗大点兵: 不行什么办法都无效 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 ModuleNotFoundError:Nomodulenamed‘_lzma‘ UbuntuTXT等文件乱码 ubuntu百度云下载 2021年1篇 2019年4篇 2018年18篇 目录 目录 分类专栏 电脑应用 1篇 linux 1篇 ss ubuntu 1篇 目录 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。

2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值



請為這篇文章評分?