数据挖掘——文本挖掘
Posted rix-yb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘——文本挖掘相关的知识,希望对你有一定的参考价值。
文本挖掘是将文本信息转化为可利用的数据的知识。
第一步:创建“语料库”
语料库(Corpus)是我们要分析的所有文档的集合。
实现逻辑:
将各文本文件分类放置在一个根目录下,通过读取根目录下所有子目录中的所有文件,
然后将读取结果赋值到一个数据框中,得到含有文件路径、文件内容的结果。
代码核心:
构建方法:os.walk(fileDir) 对在fileDir目录下的所有文件(for循环)进行操作 ,得到文件路径
文件读取:codecs.open(filepath,medthod,encoding) 文件路径、打开方式(r,w,rw)、文件编码 ,得到文本内容
#构建语料库 import codecs filepaths = [] #构建一个空的‘文件路径’列表 filecontents = [] #构建一个空的‘文件内容’列表 for root, dirs, files in os.walk(‘.SogouC.miniSample‘): for name in files: #拼接文件路径,得到所有子文件夹下的文件的文件路径的列表 filepaths,包含根目录、子目录和文件名 filepath = os.path.join(root,name) filepaths.append(filepath) #将所有子文件夹下的文件路径的列表合并到一个新的列表中 #打开文件,‘r’表示只读,编码方式‘utf-8’ f = codecs.open(filepath,‘r‘,‘utf-8‘) filecontent = f.read() #读取文件,并将内容传入到 ‘filecontent‘(文件内容)列表中 f.close() #关闭文件 filecontents.append(filecontent) #将所有子文件夹下的文件内容的列表合并到一个新的列表中 import pandas as pd #根据得到的合并后的文件路径和文件内容,得到语料库的数据框 corpos = pd.DataFrame({ ‘filePath‘:filepaths, ‘fileContent‘:filecontents}) corpos.to_csv(‘.corpos.csv‘,sep=‘,‘,encoding=‘utf_8_sig‘,index=False)
###防止保存时出现乱码,需要参数encoding=‘utf_8_sig‘
第二步:中文分词
一般使用 jieba 中文分词包
jieba.cut(‘str‘) 对str进行分词
jieba.add_word() 增加自定义分词
jieba.load_userdict() 通过导入保存文件中的单词添加到词库
<未完>
以上是关于数据挖掘——文本挖掘的主要内容,如果未能解决你的问题,请参考以下文章