我是靠谱客的博主 大胆蜡烛,最近开发中收集的这篇文章主要介绍python调用jieba(结巴)分词 加入自定义词典和去停用词功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自https://www.cnblogs.com/zhangtianyuan/p/6875080.html

把语料从数据库提取出来以后就要进行分词啦,我是在linux环境下做的,先把jieba安装好,然后找到内容是build jieba PKG-INFO setup.py test的那个文件夹(我这边是jieba-0.38),把自己的自定义词典(选用,目的是为了分出原始词库中没有的词以及优先分出一些词),停用词词典(选用),需要分词的语料文件,调用jieba的python程序都放到这个文件夹里,就可以用啦。至于词典要什么样的格式,在网上一查就可以了。

      之前有看到别的例子用自定义词典替换掉jieba本身词典,但是我试了一下好像效果不行,假设原始词典中有’云‘,’计算‘而没有’云计算‘,我想要分出’云计算‘这个词,加载自定义词典可以成功,但替换原始词典就不一定成功了。(当然我说的也不一定对)

      还有停用词词典,我之前是把停用词在程序里存入一个列表,然后分每个词时都循环一遍列表,这样特别浪费时间。后来把停用词做成字典就很快了。

      for eachline in fin可避免memory error。如果还是报memory error,那应该就是输入语料文件单行数据多长了。

复制代码
#!/usr/bin/python  
#-*- encoding:utf-8 -*-  
import jieba                                           #导入jieba模块
import re 
jieba.load_userdict("newdict.txt")                     #加载自定义词典  
import jieba.posseg as pseg 

def splitSentence(inputFile, outputFile):
    #把停用词做成字典
    stopwords = {}
    fstop = open('stop_words.txt', 'r')
    for eachWord in fstop:
        stopwords[eachWord.strip().decode('utf-8', 'ignore')] = eachWord.strip().decode('utf-8', 'ignore')
    fstop.close()

    fin = open(inputFile, 'r')                                  #以读的方式打开文件  
    fout = open(outputFile, 'w')                                #以写得方式打开文件  
    jieba.enable_parallel(4)                                    #并行分词
    for eachLine in fin:
        line = eachLine.strip().decode('utf-8', 'ignore')       #去除每行首尾可能出现的空格,并转为Unicode进行处理 
        line1 = re.sub("[0-9s+.!/_,$%^*()?;;:-【】+"']+|[+——!,;:。?、~@#¥%……&*()]+".decode("utf8"), "".decode("utf8"),line)
        wordList = list(jieba.cut(line1))                        #用结巴分词,对每行内容进行分词  
        outStr = ''  
        for word in wordList:
            if word not in stopwords:  
                outStr += word  
                outStr += ' '  
        fout.write(outStr.strip().encode('utf-8') + 'n')       #将分词好的结果写入到输出文件
    fin.close()  
    fout.close()  
  
splitSentence('ss.txt', 'tt.txt') 

最后

以上就是大胆蜡烛为你收集整理的python调用jieba(结巴)分词 加入自定义词典和去停用词功能的全部内容,希望文章能够帮你解决python调用jieba(结巴)分词 加入自定义词典和去停用词功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部