项目应用自然语言处理-python实现jieba中文分词
Posted 人工智能学术前沿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目应用自然语言处理-python实现jieba中文分词相关的知识,希望对你有一定的参考价值。
自然语言处理-python实现中文分词
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/599784567ec54bd5ae065d349c745121.jpg)
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/f24e6eeaa2fa484a90475f71ab5baa09.jpg)
jieba分词器介绍
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/2d289ddf55da40a0bff1eb7996276d59.jpg)
自然语言处理中,英文中,词与词之间有空格进行分割,但是中文中的词需要进行分析,切分操作。
jieba分词器支持三种分词模式:
1.精确模式,试图将句子最精确地切开,适合文本分析;
2.全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
3.搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
支持繁体分词
下面使用jieba官方的demo例子做简单的应用。
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/09768042290540aba881d7c43900b8ab.jpg)
输出后的3中模式的效果
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/bee0c4fe588449a5849f229d5218d0b4.jpg)
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/f24e6eeaa2fa484a90475f71ab5baa09.jpg)
jieba自定义词典
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/2d289ddf55da40a0bff1eb7996276d59.jpg)
jieba自己已经有词典,但是你还可以自己向词典中增加。比如一些人名、地名、机构名,词典中未收录,为了避免分词分错,可以自行增加。
1.构造txt文档增加词
自己写一个txt文档,然后通过调用txt文档使用新加入的词,txt文档书写时,词典的格式和jieba分词器本身的分词器中的词典格式必须保持一致,一个词占一行,每一行分成三部分,一部分为词语,一部分为词频,最后为词性(可以省略),用空格隔开。
2.程序中动态修改词典
调用jieba的函数add_word(word, freq=None, tag=None) 和 del_word(word) 可以在词典中增加删除单词。
下面时使用增加新词和未增加新词的对比分词结果输出。
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/f9668691604d4f9ba47a2e3e441cc323.jpg)
输出结果如下,可以看到石墨烯 本来被分成两个词,经过添加后,正确的划分为了1个词。
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/c0014a165e61423e931cf2404f65d544.jpg)
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/f24e6eeaa2fa484a90475f71ab5baa09.jpg)
jieba分词后标注词性
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/2d289ddf55da40a0bff1eb7996276d59.jpg)
接着上例,分好的词,我们继续对词进行标注词性。
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/5a46fb0a6c584f6bb7f62ad89b04a71b.jpg)
输出结果:
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/3231dca1a8e5442bb4dd9c74680f7115.jpg)
词性标注
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/aeaf5d2ce49949b79958844f5eef8556.jpg)
输出结果:
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/a11ddb2c402a4344b75f8d4aefddeaf6.jpg)
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/f24e6eeaa2fa484a90475f71ab5baa09.jpg)
jieba更改原有的词频统计
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/2d289ddf55da40a0bff1eb7996276d59.jpg)
因为,前面我们自定义了加减了词典,所有会出现原有jieba默认的词频会受影响发生改变,有两种情况。
1.本该分,但系统没分的例子。
加入自定义的该分词后,原来词频 会减少。
例子如下:
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/2c41bd24395a4f5ea42260efea9a26b3.jpg)
输出结果
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/07923daa39564e10ad1b7780d6cea65c.jpg)
相反的,另一种情况。
2.本不该分,但系统分了的例子。
加入自定义的该合并的词后,原来词频 会增加(生成)。
例子如下:
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/a6647c23370b47009eb43f75bb82e545.jpg)
输出结果:
![【项目应用】自然语言处理-python实现jieba中文分词](https://image.cha138.com/20210412/61dcc474c48a431e99552c00694b5e35.jpg)
更多精彩内容,尽在阅读原文
以上是关于项目应用自然语言处理-python实现jieba中文分词的主要内容,如果未能解决你的问题,请参考以下文章
自然语言处理之中文分词器-jieba分词器详解及python实战