python数据挖掘实战笔记——文本挖掘(2):中文分词 - Go语言中文社区

python数据挖掘实战笔记——文本挖掘(2):中文分词


需要了解的几个概念:
**中文分词:**将一个汉字序列切分成一个一个的词。
**停用词:**数据处理时,需要过滤掉某些字或词,泛滥的词,比如web网站等,语气助词、介词、副词、连接词等,如 的、地、得

需要用到的模块:jieba
jieba最主要的方法就是cut()方法,举个例子:

import jieba
for w in jieba.cut("我爱Python"):
    print(w)
我
爱
Python
seg_list = jieba.cut(
    "真武七截阵和天罡北斗阵哪个更厉害呢?"
)
for w in seg_list:
    print(w)
真武
七截阵
和
天罡
北斗
阵
哪个
更
厉害
呢
?

虽然jieba包已经有默认词库,但是有时候遇到一些专业的场景会出现一些不太理想的效果(如上所示代码),这种情况就需要我们导入一些专有词。

jieba.add_word('真武七截阵')
jieba.add_word('天罡北斗阵')
seg_list = jieba.cut(
    "真武七截阵和天罡北斗阵哪个更厉害呢?"
)
for w in seg_list:
    print(w)
真武七截阵
和
天罡北斗阵
哪个
更
厉害
呢
?

当词的数量很多时,可以用jieba.load_userdict()方法,将包含所有专用词的txt文件一次性导入用户自定义词库中:

#一次性导入所有专有词
jieba.load_userdict(
    r"C:Userswww12Desktopdata2.2金庸武功招式.txt"
)

介绍完了jieba分词的用法,紧接着上篇的代码,对语料库进行分词处理,为了便于进行后续的分析,需要做出分词的结果以及对应的文件的出处。

import jieba

segments = []
filePaths = []
#遍历语料库的每一行数据,得到的row为一个个Series,index为key
for index, row in corpos.iterrows():
    filePath = row['filePath']#获取每一个row中filePath对应的文件路径
    fileContent = row['fileContent']#获取row中fileContent对应的每一个文本内容
    segs = jieba.cut(fileContent)#对文本进行分词
    for seg in segs:
        segments.append(seg)#分词结果保存到变量segments中
        filePaths.append(filePath)#对应的文件路径保存到变量filepaths中
#将分词结果及对应文件路径添加到数据框中
segmentDataFrame = pandas.DataFrame({
    'segment': segments, 
    'filePath': filePaths
})

分词完成,如图:
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42695959/article/details/82842060
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 15:21:11
  • 阅读 ( 927 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢