前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
先简单介绍一下jieba中文分词包,jieba包主要有三种分词模式:
精确模式:默认情况下是精确模式,精确地分词,适合文本分析;
全模式:把所有能成词的词语都分出来, 但是词语会存在歧义;
搜索引擎模式:在精确模式的基础上,对长词再次切分,适合用于搜索引擎分词。
jieba 包常用的语句:
精确模式分词:jieba.cut(text,cut_all = False),当cut_all = True时为全模式
自定义词典:jieba.load_userdict(file_name)
增加词语:jieba.add_word(seg,freq,flag)
删除词语:jieba.del_word(seg)
《哈利·波特》是英国作家J·K·罗琳的奇幻文学系列小说,描写主角哈利·波特在霍格沃茨魔法学校7年学习生活中的冒险故事。下面将以《哈利波特》错综复杂的人物关系为例,实践一下jieba包。
#加载所需包
import numpy as np
import pandas as pd
import jieba,codecs
import jieba.posseg as pseg #标注词性模块
from pyecharts import Bar,WordCloud
#导入人名、停用词、特定词库
renmings = pd.read_csv('人名.txt',engine='python',encoding='utf-8',names=['renming'])['renming']
stopwords = pd.read_csv('mystopwords.txt',engine='python',encoding='utf-8',names=['stopwords'])['stopwords'].tolist()
book = open('哈利波特.txt',encoding='utf-8').read()
jieba.load_userdict('哈利波特词库.txt')
#定义一个分词函数
def words_cut(book):
words = list(jieba.cut(book))
stopwords1 = [w for w in words if len(w)==1] #添加停用词
seg = set(words) - set(stopwords) - set(s