首页 > 编程知识 正文

中文分词库jieba库的作用及常用模式,jieba库分词原理

时间:2023-05-03 20:25:06 阅读:278919 作者:622

jieba库概述(jieba是优秀的中文分词第三分库) 中文文本需要通过分词获得单个的词语jieba是优秀的中文分词第三方库,需要额外安装jieba库提供三种分词模式,最简单只需要掌握一个函数 jieba库的安装 (cmd命令行)pip install jieba(导入)import jieba(查看版本)jieba.__version__ jieba分词的原理(jieba分词依靠中文词库) 利用一个中文词库,确定汉字之间的关联概率汉字间概率大的组成词组,形成分词结果除了分词,用户还可以添加自定义的词组 jieba分词的三种模式 精确模式:把文本精确的切分开,不存在冗余单词全模式:把文本中所有可能的词语都扫描出来,有冗余搜索引擎模式:在精确模式基础上,对长词再次切分 函数描述jieba.cut(s)精确模式,返回一个可迭代的数据类型jieba.cut(s,cut_all=True)全模式,输出文本s中所有可能单词jieba.cut_for_search(s)搜索引擎模式,适合搜索引擎建立索引的分词结果jieba.lcut(s)精确模式,返回一个 列表类型,建议使用jieba.lcut(s,cut_all=True)全模式,返回一个列表类型,建议使用jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型,建议使用jieba.add_word(w)向分词词典中增加新词Wjieba.del_word(w)从分词词典中删除词汇W使用自定义词典(按照自己定义的分词保存)

load_uaerdict(file_name)# 一词一行

ss = "你是想红寺湖但行好事时尚先生"jieba.lcut(ss)>>>['你', '是', '想', '红寺', '湖', '但行好事', '时尚', '先生'] jieba.load_userdict("F:\dict.txt")

jieba.lcut(ss)>>>['你是想红寺湖', '但行好事', '时尚先生'] 去除停用词(分词后去停用词) sss = '成本价大白菜不饿厚度恶化打电话补偿金活动IC不能简单菜农ID那次军坡节噢紧凑级'jieba.lcut(sss)>>>['成本价', '大白菜', '不饿', '厚度', '恶化', '打电话', '补偿金', '活动', 'IC', '不能', '简单', '菜农', 'ID', '那次', '军坡节', '噢', '紧凑', '级'] wordlist = jieba.lcut(sss)newlist = [word for word in wordlist if word not in ['噢','级']] print(newlist)>>>['成本价', '大白菜', '不饿', '厚度', '恶化', '打电话', '补偿金', '活动', 'IC', '不能', '简单', '菜农', 'ID', '那次', '军坡节', '紧凑'] 用extract_tags函数去除停用词

jieba.analyse.set_stop_words()

import jieba.analyse as anaana.set_stop_words('F:\停用词.txt') sentence="湖北经济学院大数据专业的同学棒棒哒!"ana.extract_tags(sentence)>>>['棒棒', '同学', '湖北', '学院', '专业', '数据', '经济'] sentence="必须is彼此的hi哦好的次哦红血丝红寺湖细搜呼吸声"ana.extract_tags(sentence)>>>['红血丝', '红寺', '湖细', '呼吸声'] 词性标注 标识种类Ag形语素a形容词ad副形词Dg副语素d副词m数词Ng名语素n名词nr人名Vg动语素v动词vn名动词nce="必须is彼此的hi哦好的次哦红血丝红寺湖细搜呼吸声"psg.lcut(sentence)>>>[pair('必须', 'd'), pair('is', 'eng'), pair('彼此', 'r'), pair('的', 'uj'), pair('hi', 'eng'), pair('哦', 'e'), pair('好', 'a'), pair('的', 'uj'), pair('次', 'q'), pair('哦', 'e'), pair('红血丝', 'n'), pair('快三最准高手教学个列表类型,建议使用jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型,建议使用jieba.add_word(w)向分词词典中增加新词Wjieba.del_word(w)从分词词典中删除词汇W使用自定义词典(按照自己定义的分词保存)

load_uaerdict(file_name)# 一词一行

ss = "你是想红寺湖但行好事时尚先生"jieba.lcut(ss)>>>['你', '是', '想', '红寺', '湖', '但行好事', '时尚', '先生'] jieba.load_userdict("F:\dict.txt")

jieba.lcut(ss)>>>['你是想红寺湖', '但行好事', '时尚先生'] 去除停用词(分词后去停用词) sss = '成本价大白菜不饿厚度恶化打电话补偿金活动IC不能简单菜农ID那次军坡节噢紧凑级'jieba.lcut(sss)>>>['成本价', '大白菜', '不饿', '厚度', '恶化', '打电话', '补偿金', '活动', 'IC', '不能', '简单', '菜农', 'ID', '那次', '军坡节', '噢', '紧凑', '级'] wordlist = jieba.lcut(sss)newlist = [word for word in wordlist if word not in ['噢','级']] print(newlist)>>>['成本价', '大白菜', '不饿', '厚度', '恶化', '打电话', '补偿金', '活动', 'IC', '不能', '简单', '菜农', 'ID', '那次', '军坡节', '紧凑'] 用extract_tags函数去除停用词

jieba.analyse.set_stop_words()

import jieba.analyse as anaana.set_stop_words('F:\停用词.txt') sentence="湖北经济学院大数据专业的同学棒棒哒!"ana.extract_tags(sentence)>>>['棒棒', '同学', '湖北', '学院', '专业', '数据', '经济'] sentence="必须is彼此的hi哦好的次哦红血丝红寺湖细搜呼吸声"ana.extract_tags(sentence)>>>['红血丝', '红寺', '湖细', '呼吸声'] 词性标注 标识种类Ag形语素a形容词ad副形词Dg副语素d副词m数词Ng名语素n名词nr人名Vg动语素v动词vn名动词nce="必须is彼此的hi哦好的次哦红血丝红寺湖细搜呼吸声"psg.lcut(sentence)>>>[pair('必须', 'd'), pair('is', 'eng'), pair('彼此', 'r'), pair('的', 'uj'), pair('hi', 'eng'), pair('哦', 'e'), pair('好', 'a'), pair('的', 'uj'), pair('次', 'q'), pair('哦', 'e'), pair('红血丝', 'n'), pair('红寺湖', 'nr'), pair('细', 'a'), pair('搜', 'v'), pair('呼吸声', 'n')]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。