Advertisement

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)
    真武
    七截阵
    和
    天罡
    北斗
    阵
    哪个
    更
    厉害
    呢
    ?
    
    
    AI写代码
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/ko2HtlEmDWycaGnIdps4vUgLJ71e.png)

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

复制代码
    jieba.add_word('真武七截阵')
    jieba.add_word('天罡北斗阵')
    seg_list = jieba.cut(
    "真武七截阵和天罡北斗阵哪个更厉害呢?"
    )
    for w in seg_list:
    print(w)
    真武七截阵
    和
    天罡北斗阵
    哪个
    更
    厉害
    呢
    ?
    
    
    AI写代码
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/DcQr4LtXpBTGuo9wAslSnV1ehR7Y.png)

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

复制代码
    #一次性导入所有专有词
    jieba.load_userdict(
    r"C:\Users\www12\Desktop\data\2.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中
    
    
    AI写代码
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/4WTLYwXyGtr1PQhkaUZfsgB38A9v.png)
复制代码
    #将分词结果及对应文件路径添加到数据框中
    segmentDataFrame = pandas.DataFrame({
    'segment': segments, 
    'filePath': filePaths
    })
    
    

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

全部评论 (0)

还没有任何评论哟~