中文分词_数据分析之中文分词

本文介绍了使用jieba包和百度AI开放平台进行中文分词的方法,通过获取AccessToken调用自然语言处理接口。主要步骤包括将词典数据转换为DataFrame,进行词频统计并绘制词云图。在实际分析中,需要注意同义词的处理。
摘要由CSDN通过智能技术生成

使用python做中文分词最好的就是jieba包,除此之外,我们还可以使用百度的AI开放平台,获取其AccessToken,调用自然语言处理接口,进行中文分词处理。

主要步骤:‍

# 导入requests工具包import requests# client_id 为官网获取的AK, client_secret 为官网获取的SKhost = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'response = requests.get(host)#借助AK和SK,获取access_tokenif response:    access_token = response.json()['access_token']# 按要求写入header参数headers = {'content-type': 'application/json'}# 生成urlurl = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=' +  access_token
#读取特定文本文件f=open('C:est.txt','rb')f_read=f.read()news=f_read.decode('utf-8')
response = requests.post(url,                          data = json.dumps({'text': news}),    # news变量写在这里                         headers = headers)if response:    result = response.json()['items']
c2a089fcc070b978cd90a7e4cefec628.png

注:该结果为每个词汇的属性所组成的字典
针对字典型数据,我们可以使用DataFrame将其转化为表格化数据

import  pandas as pddf = pd.DataFrame(result['items'])df.head()
48e066b330c593dbaed3dc97acd29c6e.png
7a21ee320032770a980bd69243c4b7a4.png
#在分词中,我们一般只需要‘item’,‘ne’,‘pos’这三列即可,所以只索引这三列df_new = df[['item','ne','pos']]df_new
5b048fbfb96c0791222620ac528b1629.png
df_n =df_new[(df_new['ne'] == 'PER')| (df_new['pos'] =='n')]df_n
0c5eb01270ed4993266fe0a9363c4b8f.png

对分析结果进行词频统计

df_n_count = df_n['item'].value_counts()df_n_count.head(20)
088dfc81ae31aa0872c2a7686a08f383.png


针对分词结果绘制词云图

import pyecharts as pewd = pe.WordCloud('老罗卖货词云图')  #词云图图名words = df_n_count.index  #构建词云图中的词words_size = df_n_count.values  #构建每个词的 word_size_range大小# 绘制图表wd.add("", words, words_size, shape = 'cardioid',       word_size_range=[20, 100], rotate_step=10)#参数分析:''为图例,本图不需要,words和words_size分别为上面所赋值的参数#shape 为词云图的形状,有'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'可选# word_size_range为单词大小的范围,rotate_step为旋转单词角度,默认时为 45°
8ccf8240b5f45532070dc0b5595a75a8.png

(注:其中有部分词为同义词,并未替换,正式的数据分析中需要将其转为同一词进行统计)
参考来源:
CSDN 《利用百度的词法分析区分数据》

- END -

d8dca37d014a5184038768614cbe0f9a.png
3ba50b8b63330f7818c5628fc90eed0b.png


读书、观影
分享生活的碎片
有理想的人不会伤心

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值