热线电话:13121318867

登录
2018-10-16 阅读量: 1980
中文分词jieba的学习分享
  1. jieba.cut 接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
  2. 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。
  3. jieba.cut 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用
  4. jieba.lcut 直接返回 list
 #加载自定义字典jieba.load_userdict("newdic.txt)
获取关键词
# jieba.cut 生成generator
# 全模式分词
seg_list = jieba.cut("我来北京上学", cut_all=True)
print("Full Model " + '/'.join(seg_list))
# 精确模式 (默认)
seg_list = jieba.cut("我来北京上学", cut_all=False)
# jieba.lcut 生成List
tags = jieba.lcut(text)
tags_df = pd.DataFrame({'segment': tags})
# 去除停用词
stopword = pd.read_csv("stopwords.txt", header=None, names=['words'], encoding='utf-8')
tags_df = tags_df[~tags_df['segment'].isin(stopword.words)]
print(tags_df)
正则表达式取中文字符
pattern = re.compile(r'[\u4e00-\u9fa5]+')
filter_data = re.findall(pattern, text)
text = ''.join(filter_data)
print(text)
# 获取关键词
# tags = jieba.analyse.extract_tags(text, topK=3)
# jieba.lcut 生成List
tags = jieba.lcut(text)
tags_df = pd.DataFrame({'segment': tags})
# 去除停用词
stopword = pd.read_csv("stopwords.txt", header=None, names=['words'], encoding='utf-8')
tags_df = tags_df[~tags_df['segment'].isin(stopword.words)]
# tags_df.index =
print(tags_df)
# 词频计数
word_count = tags_df.groupby('segment')['segment'].count().sort_values(ascending=False)
print(word_count[:5])

142.1984
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子