NLP初步——jieba

2022年5月22日14:55:34 发表评论 4,382 views

pip install jieba

jieba有一定识别新词的能力

 

#-*- coding:utf-8 -*-

import jieba
import jieba.analyse as anls
# 分词全模式 (尽可能多的分词)
text = '我们再灵山学院学习大数据与人工智能NLP处理,然后变成攻城狮'
print("全模式"+'/'.join(jieba.cut(text,cut_all = True)))

# 精确模式(用的比较多)
print("精确模式"+'/'.join(jieba.cut(text,cut_all = False)))

# 搜索引擎模式  HMM模型
print("搜索引擎模式"+'/'.join(jieba.cut(text)))
# 支持繁体模式 略
jieba.add_word('灵山学院')
print("搜索引擎模式"+'/'.join(jieba.cut(text)))
# 支持用户字典 略 jieba.load_userdict(path)

# 关键词抽取
s = """早期大部分的门户网站都是按照专题频道等划分,通过专业的人工编辑来维护信息的更新,所有人在同一时刻看到的门户新闻都是一样的。
而随着信息的爆炸,互联网上源源不断生产出海量内容,通过人工的方式已经很难去维护和更新。除此之外,随着互联网的用户爆发性的增长,每个用户对信息的喜好亦有所不同,这就导致了千人一面的门户网站难以满足用户的需求。
推荐系统在这个场景下得到了快速的发展,每个人在打开 App 或者网页时,看到的都是和自身兴趣相关的内容,从而实现了千人千面,提升了信息的分发效率。"""
keywords = anls.extract_tags(s,topK=5,withWeight=True)
for keyword, weight in keywords:
    print(keyword,weight)  #效果较差,信息爆炸,推荐系统,千人千面,互联网,爆发性 等关键词没找到
keywords = anls.textrank(s,topK=5,withWeight=True)
for keyword, weight in keywords:
    print('textrank',keyword,weight)  #效果较差,信息爆炸,推荐系统,千人千面,互联网,爆发性 等关键词没找到
# 词性标注 略




其它:

4、jieba (1)目前最好的Python中文分词组件,主要有3个特性:

1)支持繁体分词

2)支持自定义词典。

3)支持3种分词方式 精确模式:试图将句子最精确的切开,适合文本分析。 全模式:把句子中所有可能的词都扫描说出来,速度非常快,不能解决歧义; 搜索引擎模型:在精确模式的基础上,适用于搜索引擎,对长词再次切分 结巴有自己识别新词的能力。 HMM

 

 

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: