上手结巴分词文本分析,输出热词、TF-IDF权重和词频

本文介绍了如何利用Python和结巴分词进行文本分析,包括读取文本、分词、去除停用词、计算TF-IDF权重、绘制热词图云并保存结果。适合于舆情分析和文本特征提取。
摘要由CSDN通过智能技术生成

前言

舆情分析、文本分析,在做特征提取时,需要把一整段内容合并后,提取内容中的热词、F-IDF权重和词频,本编以python编程,分享如何通过结巴分词简易上手。

代码讲解

先给代码片段配内容讲解,篇尾给完整的python代码。

1、读取文本信息

import pandas as pd


# 1.导入数据语料的特征源数据
    #df_data = pd.read_table('data.txt', names=[ 'type', 'content'], encoding='utf-8')  #读txt文本的方式,names=[ 'type', 'content'] 表示读取两个字段内容
    df_data = pd.read_excel('data.xlsx',names=['type','content'],header =0)   
    contentslist = df_data.content.values.tolist()  #这是一个list,从多维数组df_data里面提取'content'这一列内容

引用pd,有两种读取方式,txt文件使用pd.read_table,excel文件使用pd.read_excel,内容如下:

 txt文件的内容格式

 excel文件的内容格式

2、通过结巴分词获取分词后的内容

import jieba
import jieba.analyse

def jiebacut(content):
    content_S = []
    for line in content:
        # jieba分词 精确模式。返回一个列表类型,建议使用
        current_segment = jieba.lcut(line) #每一行都做分词
        if len(current_segment) > 1 and current_segment != '\r\n':
            content_S.append(current_segment)
    return content_S

# 2、通过jieba分词,获取分词后的内容list
jieba_contentslist=jiebacut(contentslist)

3、获取删除停用词后的分词

import re
import jieba
import jieba.analyse

# 删除内容中的停用词
def drop_stopwords(contents, stopwords):
    contents_clean = [] # 删除后的新闻
    all_words = []  # 构造词云所用的数据
    for line in contents:
        line_clean = []
        for word in line:
            if word in stopwords:  #这里只去掉停词表的内容,没有做去重
                continue
            if word == ' ' or bool(re.search(r'\d', word)):  #去掉空格和包含数字的分词(浮点型、带有%的百分比分词)
                continue
            line_clean.append(word)
            all_words.append(str(word))
        contents_clean.append(line_clean)
    return contents_clean, all_words
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值