python中文分词+词频统计

文章目录

  • 目录

    文章目录

    前言

    一、文本导入

    二、使用步骤

    1.引入库

    2.读入数据

            3.取出停用词表

            3.分词并去停用词(此时可以直接利用python原有的函数进行词频统计)

            4. 输出分词并去停用词的有用的词到txt

            5.函数调用

            6.结果

     ​

            总结



  • 前言

    本文记录了一下Python在文本处理时的一些过程+代码

    一、文本导入

    我准备了一个名为abstract.txt的文本文件

    接着是在网上下载了stopword.txt(用于结巴分词时的停用词)

    有一些是自己觉得没有用加上去的 

    另外建立了自己的词典extraDict.txt

    准备工作做好了,就来看看怎么使用吧!

    二、使用步骤

    1.引入库

    代码如下:
     

    import jieba
    from jieba.analyse import extract_tags
    from sklearn.feature_extraction.text import TfidfVectorizer
    
    

    2.读入数据

    代码如下:

    jieba.load_userdict('extraDict.txt')  # 导入自己建立词典

    3.取出停用词表

    def stopwordlist():
        stopwords = [line.strip() for line in open('chinesestopwords.txt', encoding='UTF-8').readlines()]
        # ---停用词补充,视具体情况而定---
        i = 0
        for i in range(19):
            stopwords.append(str(10 + i))
        # ----------------------
    
        return stopwords

    4.分词并去停用词(此时可以直接利用python原有的函数进行词频统计)

    def seg_word(line):
        # seg=jieba.cut_for_search(line.strip())
        seg = jieba.cut(line.strip())
        temp = ""
        counts = {}
        wordstop = stopwordlist()
        for word in seg:
            if word not in wordstop:
                if word != ' ':
                    temp += word
                    temp += '\n'
                    counts[word] = counts.get(word, 0) + 1#统计每个词出现的次数
        return  temp #显示分词结果
        #return str(sorted(counts.items(), key=lambda x: x[1], reverse=True)[:20])  # 统计出现前二十最多的词及次数

    5. 输出分词并去停用词的有用的词到txt

    def output(inputfilename, outputfilename):
        inputfile = open(inputfilename, encoding='UTF-8', mode='r')
        outputfile = open(outputfilename, encoding='UTF-8', mode='w')
        for line in inputfile.readlines():
            line_seg = seg_word(line)
            outputfile.write(line_seg)
        inputfile.close()
        outputfile.close()
        return outputfile

    6.函数调用

    if __name__ == '__main__':
        print("__name__", __name__)
        inputfilename = 'abstract.txt'
        outputfilename = 'a1.txt'
        output(inputfilename, outputfilename)

    7.结果

     

    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了python的中文分词及词频统计,欢迎指正!

    来源:爱吃糖的月妖妖

    物联沃分享整理
    物联沃-IOTWORD物联网 » python中文分词+词频统计

    发表评论