项目应用自然语言处理-python实现jieba中文分词

Posted 人工智能学术前沿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目应用自然语言处理-python实现jieba中文分词相关的知识,希望对你有一定的参考价值。

自然语言处理-python实现中文分词

【项目应用】自然语言处理-python实现jieba中文分词


【项目应用】自然语言处理-python实现jieba中文分词

jieba分词器介绍

【项目应用】自然语言处理-python实现jieba中文分词

自然语言处理中,英文中,词与词之间有空格进行分割,但是中文中的词需要进行分析,切分操作。


jieba分词器支持三种分词模式:


1.精确模式,试图将句子最精确地切开,适合文本分析;

2.全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

3.搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

支持繁体分词


下面使用jieba官方的demo例子做简单的应用。

【项目应用】自然语言处理-python实现jieba中文分词

输出后的3中模式的效果

【项目应用】自然语言处理-python实现jieba中文分词


【项目应用】自然语言处理-python实现jieba中文分词

jieba自定义词典

【项目应用】自然语言处理-python实现jieba中文分词

jieba自己已经有词典,但是你还可以自己向词典中增加。比如一些人名、地名、机构名,词典中未收录,为了避免分词分错,可以自行增加。


1.构造txt文档增加词

自己写一个txt文档,然后通过调用txt文档使用新加入的词,txt文档书写时,词典的格式和jieba分词器本身的分词器中的词典格式必须保持一致,一个词占一行,每一行分成三部分,一部分为词语,一部分为词频,最后为词性(可以省略),用空格隔开。


2.程序中动态修改词典

调用jieba的函数add_word(word, freq=None, tag=None) 和 del_word(word) 可以在词典中增加删除单词。


下面时使用增加新词和未增加新词的对比分词结果输出。

【项目应用】自然语言处理-python实现jieba中文分词

输出结果如下,可以看到石墨烯 本来被分成两个词,经过添加后,正确的划分为了1个词。

【项目应用】自然语言处理-python实现jieba中文分词


【项目应用】自然语言处理-python实现jieba中文分词

jieba分词后标注词性

【项目应用】自然语言处理-python实现jieba中文分词

接着上例,分好的词,我们继续对词进行标注词性。

【项目应用】自然语言处理-python实现jieba中文分词

输出结果:

【项目应用】自然语言处理-python实现jieba中文分词

词性标注

【项目应用】自然语言处理-python实现jieba中文分词

输出结果:

【项目应用】自然语言处理-python实现jieba中文分词


【项目应用】自然语言处理-python实现jieba中文分词

jieba更改原有的词频统计

【项目应用】自然语言处理-python实现jieba中文分词

因为,前面我们自定义了加减了词典,所有会出现原有jieba默认的词频会受影响发生改变,有两种情况。


1.本该分,但系统没分的例子。
加入自定义的该分词后,原来词频 会减少。

例子如下:

【项目应用】自然语言处理-python实现jieba中文分词

输出结果

【项目应用】自然语言处理-python实现jieba中文分词

相反的,另一种情况。


2.本不该分,但系统分了的例子。
加入自定义的该合并的词后,原来词频 会增加(生成)。

例子如下:

【项目应用】自然语言处理-python实现jieba中文分词

输出结果:

【项目应用】自然语言处理-python实现jieba中文分词

更多精彩内容,尽在阅读原文


以上是关于项目应用自然语言处理-python实现jieba中文分词的主要内容,如果未能解决你的问题,请参考以下文章

jieba分词(R vs. python)

自然语言处理之中文分词器-jieba分词器详解及python实战

自然语言处理基础——jieba分词的原理与使用方法

自然语言处理基础——jieba分词的原理与使用方法

Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现

中文自然语言处理(NLP)python jieba模块