赵娜0418

2020-10-11   阅读量: 2519

机器学习

jieba.cut 如何使用?

扫码加入数据分析学习群
  1. jieba.cut 接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型

  2. 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。

  3. jieba.cut 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用

  4. jieba.lcut 直接返回 list

获取关键词
# 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])



210.0568 3 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子