数据挖掘——关键字提取—sklearn的实际应用

前面的步骤都相似

#构建语料库

#使用jieba包进行分词,并将分词结果用空格分隔后再传回分词列表

zh = re.compile(u‘[\u4e00-\u9fa5]+‘)    #中文的正则表达式
for seg in segs:
        if zh.search(seg):  #只匹配中文分词
            segments.append(seg)
    filepath.append(filePath)
 #使用空格将符合要求的分词隔开,然后放回语料库中,而不是得到分词和路径的矩阵
    row[‘fileContent‘] = ‘ ‘.join(segments) 

#导入sklearn包中计算TF-IDF的模块,可以将停用词以参数的形式传入CountVectorizer模块

得到numpy类的数据结构,需要进行转换

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
skcount = CountVectorizer(
        stop_words=list(stopwords[‘stopword‘].values),
        min_df=0,
        token_pattern=r‘\b\w+\b‘) #分词的正则表达式

text = skcount.fit_transform(corpos[‘fileContent‘])

trans = TfidfTransformer()
tfidf = trans.fit_transform(text)

#将得到的TF-IDF结构转换成数组的形式,并得到关键字numpy类的数据结构

#按行转换成数组,并排序,取tfidf值前5的元素的位置
sort = np.argsort(tfidf.toarray(),axis=1)[:,-5:]
#获取该位置所对应的列名,即分词关键字
names = skcount.get_feature_names()
keywords = pd.Index(names)[sort].values #非数组

#将关键字按数据框的格式进行输出,得到最终结果

tagDF = pd.DataFrame({
        ‘文件路径‘:corpos.filePath,
        ‘文本内容‘:corpos.fileContent,
        ‘关键字1‘:keywords[:,0],
        ‘关键字2‘:keywords[:,1],
        ‘关键字3‘:keywords[:,2],
        ‘关键字4‘:keywords[:,3],
        ‘关键字5‘:keywords[:,4]})

原文地址:https://www.cnblogs.com/rix-yb/p/9704308.html

时间: 2024-11-05 05:48:20

数据挖掘——关键字提取—sklearn的实际应用的相关文章

数据挖掘——关键字提取—基于sklearn包实现

什么是sklearn? sklearn全名是Scikit-Learn,是基于Python的机器学习模块,基于BSD开源许可证,官方网址是:http://scikit-learn.org/stable Scikit-Learn的数据结构基于Numpy和Pandas模块,数据计算基于Scipy模块,数据可视化基于Matplotlib模块. Scikit-Learn的基本功能: 分类:回归:聚类:数据降维:模型选择:数据预处理. Scikit-Learn将具体的机器学习分为3个步骤: 数据准备与预处理

关键字提取算法TF-IDF和TextRank(python3)————实现TF-IDF并jieba中的TF-IDF对比,使用jieba中的实现TextRank

关键词:    TF-IDF实现.TextRank.jieba.关键词提取数据来源:    语料数据来自搜狐新闻2012年6月-7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据    数据处理参考前一篇文章介绍:    介绍了文本关键词提取的原理,tfidf算法和TextRank算法    利用sklearn实现tfidf算法    手动python实现tfidf算法    使用jieba分词的tfidf算法和TextRank提取关键词 1.关键字提取: 关键词抽取就是从文本里面把跟这

3 中文文本中的关键字提取

前言 关键词提取就是从文本里面把跟这篇文章意义最相关的一些词语抽取出来.这个可以追溯到文献检索初期,关键词是为了文献标引工作,从报告.论文中选取出来用以表示全文主题内容信息的单词或术语,在现在的报告和论文中,我们依然可以看到关键词这一项.因此,关键词在文献检索.自动文摘.文本聚类/分类等方面有着重要的应用,它不仅是进行这些工作不可或缺的基础和前提,也是互联网上信息建库的一项重要工作. 关键词抽取从方法来说主要有两种: 第一种是关键词分配:就是给定一个已有的关键词库,对于新来的文档从该词库里面匹配

数据挖掘——文本挖掘-关键字提取

基于jieba包的自动提取 关键方法:jieba.analyse.extract_tags(content,topK=n) 具体思路:通过jieba包自带的extract_tags方法,在遍历读取文件内容时,获得每篇文档前n个关键字 使用的包: import os import codecs import pandas as pd import jieba import jieba.analyse 过程: '''定义变量 文件路径/文件内容/关键字(5个)''' filepaths = [] c

信息技术手册可视化进度报告 基于jieba的关键字提取技术

在这一篇博客之前,我已经将word文件中的内容通过爬虫的方式整理到数据库中了,但是为了前台展示的需要,还必须提取出关键字,用于检索. 我用的是jieba分词,GitHub地址:https://github.com/fxsjy/jieba 在项目中主要用到的是jieba分词技术中的提取文章中的关键字的技术: 基于 TF-IDF 算法的关键词抽取 import jieba.analyse jieba.analyse.extract_tags(sentence, topK=20, withWeight

关键字提取算法TF-IDF

在文本分类的学习过程中,在"如何衡量一个关键字在文章中的重要性"的问题上,遇到了困难.在网上找了很多资料,大多数都提到了这个算法,就是今天要讲的TF-IDF. 总起 TF-IDF,听起来很高大上啊,其实理解起来相当简单,他实际上就是TF*IDF,两个计算值的乘积,用来衡量一个词库中的词对每一篇文档的重要程度.下面我们分开来讲这两个值,TF和IDF. TF TF,是Term Frequency的缩写,就是某个关键字出现的频率,具体来讲,就是词库中的某个词在当前文章中出现的频率.那么我们可

关键字提取算法之TF-IDF扫盲

TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术.TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度.字词的重要性随著它在文件中出现的次数成正比增加,但同时会随著它在语料库中出现的频率成反比下降.TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关 ... TF/IDF算法可能并不是百度的重要方法,google适用:百度个人认为是向量空间模型,

数据挖掘:提取百度知道QA中的影视信息

1. 背景 网站上爬取了部分关于影视的百度知道QA,为了后续提高影视的搜索效果,需要基于百度知道QA的答案抽取相关的影视信息. 2. 流程 目前已有基础的媒资视频库信息,基于媒资视频库中的视频名称,构建分词字典,结合使用AC双数组,然后针对百度的QA进行分词.针对分词后的结果,可以结合视频热度与评分进行筛选. 3. 代码实现 (1) 基于文本(格式为每行一条视频名称),结合AC双数组,构建分词 package com.test.model.act; import com.google.commo

数据挖掘原理学习笔记【1】 绪论

学习绪论,可以让我们从大方向上对一本书有一个总体的把握,从一定的高度俯瞰过后,才能更加清楚每个小部分的意义所在. 即使是绪论,也是有干货的! 1.1 数据挖掘简介 本书中采用如下的数据挖掘定义:数据挖掘就是对观测到的数据集(经常是很庞大的)进行分析,目的是发现未知的关系和以数据拥有者可以理解并对其有价值的新颖方式来总结数据. 上面定义中所说的“观测到的数据”,是与“实验得到的”数据相对而言的,一般来说数据挖掘所处理的数据都是为了其他某个目的已经收集好的,是“顺便的”或者“机会的”样本,而不是为了