200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 中文自然语言处理——jieba中文分词器

中文自然语言处理——jieba中文分词器

时间:2023-07-02 19:03:14

相关推荐

中文自然语言处理——jieba中文分词器

jieba分词器

1.引入jieba库和语料

import jiebacontent = '深度学习是机器学习的一个子集,传统机器学习中,人们需要对专业问题理解非常透彻,才能手工设计特征,然后把特征交给某个机器学习算法'

1)、精准分词:把句子最精确的分开

sens_1 = jieba.cut(content,cut_all=False)print('/'.join(sens_1))

可以看到分词结果

深度/学习/是/机器/学习/的/一个/子集/,/传统/机器/学习/中/,/人们/需要/对/专业/问题/理解/非常/透彻/,/才能/手工/设计/特征/,/然后/把/特征/交给/某个/机器/学习/算法

2)、全模式分词:把句子中所有可能的单词都找出来

sens_2 = jieba.cut(content,cut_all=True)print('/'.join(sens_2))

可以看到分词结果

深度/学习/是/机器/学习/的/一个/个子/子集/,/传统/机器/学习/中/,/人们/需要/对/专业/问题/理解/非常/透彻/,/才能/能手/手工/设计/特征/,/然后/把/特征/交给/某个/机器/学习/算法

3)、搜索引擎模式:在精准分词的基础上,对长词再次进行划分

content = '深度学习在大量数据可用时,才能有效地学习模型,才能从数据自身通过学习完成参数提取'sens_3 = jieba.cut_for_search(content)print('/'.join(sens_3))

可以看到分词结果

深度/学习/在/大量/数据/可用/时/,/才能/有效/地/学习/模型/,/才能/从/数据/自身/通过/学习/完成/参数/提取

4)、jieba.cut 和 jieba.cut_for_seatch 结果的封装

用jieba.lcut和 jieba.lcut_for_seatch函数输出的结果是一个列表

5)、可以使用jieba.posseg 模块实现词性标注

content = '很难想象哪一个大行业不会被人工智能改变,人工智能会在这个行业里发挥着重大作用'import jieba.posseg as psgprint([(x.word,x.flag) for x in psg.lcut(content)])

[('很', 'd'), ('难', 'a'), ('想象', 'n'), ('哪', 'r'), ('一个', 'm'), ('大', 'a'), ('行业', 'n'), ('不会', 'v'), ('被', 'p'), ('人工智能', 'n'), ('改变', 'v'), (',', 'x'), ('人工智能', 'n'), ('会', 'v'), ('在', 'p'), ('这个', 'r'), ('行业', 'n'), ('里', 'f'), ('发挥', 'v'), ('着', 'uz'), ('重大', 'a'), ('作用', 'v')]

6)、获取分词结果列表中出现频率top—n

其中Counter().most_common(n),参数n是获得top几的

content = '人工智能的难题不仅是计算机科学问题,更是数学、认知科学和哲学问题'sens_1 = jieba.lcut(content,cut_all=False)print('/'.join(sens_1))from collections import Countertop2= Counter(sens_1).most_common(2)print(top2)

[('问题', 2), (',', 2)]

7)、自定义添加词和字典

txt = "铁甲网是中国最大的工程机械交易平台。"print(jieba.lcut(txt))

['铁甲', '网是', '中国', '最大', '的', '工程机械', '交易平台', '。']

可以看出jieba分词器是不能分出“铁甲网”这个新词的,所以需要把这个词添加到字典中

jieba.add_word('铁甲网')print(jieba.lcut(txt))

['铁甲网', '是', '中国', '最大', '的', '工程机械', '交易平台', '。']

可以看出此时能正确分出铁甲网

当有多个词时,一个一个添加效率就不高了,所以可以采用这种方法

jieba.load_userdict('user_dict.txt')print(jieba.lcut(txt))

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。