首页 » SEO优化 » php中文切词技巧_jieba分词最强大的Python中文分词库

php中文切词技巧_jieba分词最强大的Python中文分词库

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

1. jieba的江湖地位

NLP(自然措辞)领域现在可谓是群雄纷争,各种开源组件层出不穷,个中一支不可忽略的力量便是jieba分词,号称要做最好的 Python 中文分词组件。

“最好的”这三个字可不是空穴来风,jieba在开源社区的受欢迎程度非常之高。

php中文切词技巧_jieba分词最强大的Python中文分词库

jieba项目目前的github star数已经达到24k,其他热门分词组件像HanLP star数20k、ansj_seg star数5.6k、pkuseg-python star数5k。
可见jieba已经稳居中文分词领域c位。

php中文切词技巧_jieba分词最强大的Python中文分词库
(图片来自网络侵删)

jieba的紧张功能是做中文分词,可以进行大略分词、并行分词、命令行分词,当然它的功能不限于此,目前还支持关键词提取、词性标注、词位置查询等。

更让人愉悦的是jieba虽然立足于python,但同样支持其他措辞和平台,诸如:C++、Go、R、Rust、Node.js、PHP、 iOS、Android等。
以是jieba能知足各种开拓者的需求。

2. 如何学jieba

据我所知,jieba最靠谱的文档是github项目的readme,由于它彷佛还没有独立的利用文档。
但由于利用起来大略,看readme也能快速上手。
https://github.com/fxsjy/jieba

海内各大博客有关于jieba的利用教程,但须要甄别下准确度和时效性,由于jieba项目一贯在更新。

当然本文不是纯粹的种草文章,会大略先容下jieba的利用方法。

如果对python不理解的小伙伴,可以先学学python语法:

3. 安装jieba

jieba支持pip或者conda安装,直接在命令行实行:

pipinstalljieba

不出意外,该当能很快安装好。

你也可以下载jieba安装包再安装,jieba的pypi地址: http://pypi.python.org/pypi/jieba/

4. 分词初体验

分词是NLP处理的第一步,也是最基本的任务,分词的好坏直接决定了后面语义剖析的精准度。

所谓分词便是将一段表述里的词汇进行分解,比如“我爱中国”,分解后有三个词:我、爱、中国,词性分别是名词、动词、名词。

jieba库中用于分词的方法有三个:

jieba.cut

给定中笔墨符串,分解后返回一个迭代器,须要用for循环访问。

参数阐明:

「strs」: 须要分词的字符串;「cut_all」:用来掌握是否采取全模式;「HMM」:用来掌握是否利用 HMM 模型;「use_paddle」:用来掌握是否利用paddle模式下的分词模式,paddle模式采取延迟加载办法,通过enable_paddle接口安装paddlepaddle-tiny,并且import干系代码;

这里区分全模式和精确模式,举个例子先看看差异:

#全模式seg_list=jieba.cut("中国上海是一座俏丽的国际性大都邑",cut_all=True)print("FullMode:"+"/".join(seg_list))#返回结果FullMode:中国/上海/是/一座/俏丽/的/国际/国际性/大都/大都邑/都邑#精确模式seg_list=jieba.cut("中国上海是一座俏丽的国际性大都邑",cut_all=False)print("FullMode:"+"/".join(seg_list))#返回结果DefaultMode:中国/上海/是/一座/俏丽/的/国际性/大都邑

可以看到,全模式把句子中所有的可以成词的词语都扫描出来, 会涌现一词多用、一词多意。
精确模式将句子最精确的切分开,每个词都只有一种含义。

jieba.cut方法默认是精确模式。

还有一个参数掌握paddle模式,会更加精确,利用这个的条件是你须要先安装paddlepaddle-tiny。

安装命令:pip install paddlepaddle-tiny==1.6.1

详情可以辞官网看下,这里不举例。

jieba.cut_for_search

该方法和cut一样,分解后返回一个迭代器,须要用for循环访问。
不过它是搜索引擎模式,在精确模式的根本上,对长词再次切分,提高召回率,适宜用于搜索引擎分词。

参数阐明:

「strs」:须要分词的字符串;「HMM」:是否利用 HMM 模型,默认值为 True。
该方法适宜用于搜索引擎构建倒排索引的分词,粒度比较细。

#搜索引擎模式seg_list=jieba.cut_for_search("中国上海是一座俏丽的国际性大都邑,拥有复旦大学、上海交通大学等有名高档学府")print(",".join(seg_list))#返回结果SearchMode:中国,上海,是,一座,俏丽,的,国际,国际性,大都,都邑,大都邑,,,拥有,复旦,大学,复旦大学,、,上海,交通,大学,上海交通大学,等,有名,高档,学府,高档学府jieba.lcut

和jieba.cut利用方法一样,不过返回的是列表。

cut和cut_for_search方法都是支持繁体字的。

5. 添加自定义词典

如果是对专业新闻或者小说进行分词,会有很多的新词汇,jieba库里没有就没办法识别,那么就须要添加自定义的词汇,比如:奥利给。

添加自定义词汇的方法: jieba.load_userdict(file_name) 参数是文本文件,txt、csv都可以。

自定义词典文件的词汇格式是一个词占一行,每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
比如:

以"奥利给,管虎执导的八佰是一部让人热血沸腾的好电影。
" 这段话为例, 如果不添加自定义词典,很多词没办法识别出来。

#不添加自定义词典seg_list=jieba.cut("奥利给,管虎执导的八佰是一部让人热血沸腾的好电影")print("/".join(seg_list))#返回结果奥利/给/,/管虎/执导/的/八佰是/一部/让/人/热血沸腾/的/好/电影

添加自定义词典后,新词、人名、电影名都可以识别出来

#载入词典jieba.load_userdict("dict.txt")seg_list=jieba.cut("奥利给,管虎执导的八佰是一部让人热血沸腾的好电影")print("/".join(seg_list))#返回结果奥利给/,/管虎/执导/的/八佰/是/一部/让/人/热血沸腾/的/好/电影6. 结论

jieba无疑是一款精良的分词工具,而且在不断地优化发展。
前面讲了一些基本的利用,大家还可以考试测验利用停用词、提取关键词、词性标注、词位置查询等功能,也是十分的便捷。

标签:

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读1 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读1 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0