码迷,mamicode.com
首页 > 其他好文 > 详细

数据挖掘——文本挖掘

时间:2018-09-11 23:50:44      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:contents   led   构建   dir   app   集合   os.walk   strong   列表   

文本挖掘是将文本信息转化为可利用的数据的知识。  

第一步:创建“语料库”

语料库(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.mini\Sample):
    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()  通过导入保存文件中的单词添加到词库

<未完>

 

 

  

数据挖掘——文本挖掘

标签:contents   led   构建   dir   app   集合   os.walk   strong   列表   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!