美文网首页
利用jieba分词并去除停用词

利用jieba分词并去除停用词

作者: momo1023 | 来源:发表于2019-05-13 17:28 被阅读0次
    import jieba
    import re
    
    # 停用词
    # 创建停用词列表
    def get_stopwords_list():
        stopwords = [line.strip() for line in open('stopwords.txt',encoding='UTF-8').readlines()]
        return stopwords
    
    # 对句子进行中文分词
    def seg_depart(sentence):
        # 对文档中的每一行进行中文分词
        sentence_depart = jieba.lcut(sentence.strip())
        return sentence_depart
    
    def remove_digits(input_str):
        punc = u'0123456789.'
        output_str = re.sub(r'[{}]+'.format(punc), '', input_str)
        return output_str
    
    # 去除停用词
    def move_stopwords(sentence_list, stopwords_list):
        # 去停用词
        out_list = []
        for word in sentence_list:
            if word not in stopwords_list:
                if not remove_digits(word):
                    continue
                if word != '\t':
                    out_list.append(word)
        return out_list
    

    样例如下:

    sentence = '1、判令被告赵军霞偿还原告借款本息及应收费用共计4278.6元(计算至2017年1月10日,实际还款额以合同约定的计费方式计算至最终还款日)'
    stopwords = get_stopwords_list()
    sentence_depart = seg_depart(sentence)
    print(sentence_depart)
    sentence_depart = move_stopwords(sentence_depart, stopwords)
    print(sentence_depart)
    

    输出结果为:

    ['1', '、', '判令', '被告', '赵军', '霞', '偿还', '原告', '借款', '本息', '及', '应收', '费用', '共计', '4278.6', '元', '(', '计算', '至', '2017', '年', '1', '月', '10', '日', ',', '实际', '还款额', '以', '合同', '约定', '的', '计费', '方式', '计算', '至', '最终', '还款', '日', ')']
    ['判令', '被告', '赵军', '霞', '偿还', '原告', '借款', '本息', '应收', '费用', '共计', '元', '计算', '年', '月', '日', '还款额', '合同', '约定', '计费', '方式', '计算', '最终', '还款', '日']
    

    相关文章

      网友评论

          本文标题:利用jieba分词并去除停用词

          本文链接:https://www.haomeiwen.com/subject/keuraqtx.html