Python分詞模組推薦:jieba中文分詞
一、結巴中文分詞采用的演算法
- 基於Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)
- 採用了動態規劃查詢最大概率路徑, 找出基於詞頻的最大切分組合
- 對於未登入詞,採用了基於漢字成詞能力的HMM模型,使用了Viterbi演算法
二、結巴中文分詞支援的分詞模式
目前結巴分詞支援三種分詞模式:
- 精確模式,試圖將句子最精確地切開,適合文字分析;
- 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
- 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
<span style="font-size:14px;"><pre name="code" class="python"># -*- coding:utf-8 -*-
import jieba
text = '我來到北京清華大學'
default_mode =jieba.cut(text)
full_mode = jieba.cut(text,cut_all=True)
search_mode = jieba.cut_for_search(text)
print "精確模式:","/".join(default_mode)
print "全模式:","/".join(full_mode)
print "搜尋引擎模式:","/".join(search_mode)
精確模式: 我/來到/北京/清華大學
全模式: 我/來到/北京/清華/清華大學/華大/大學
搜尋引擎模式: 我/來到/北京/清華/華大/大學/清華大學</span>
上述程式碼解釋:
- jieba.cut方法接受兩個輸入引數: 1) 第一個引數為需要分詞的字串 2)cut_all引數用來控制是否採用全模式,預設不採用。
- jieba.cut_for_search方法接受一個引數:需要分詞的字串,該方法適合用於搜尋引擎構建倒排索引的分詞,粒度比較細
- 注意:待分詞的字串可以是gbk字串、utf-8字串或者unicode
- jieba.cut以及jieba.cut_for_search返回的結構都是一個可迭代的generator,可以使用for迴圈來獲得分詞後得到的每一個詞語(unicode),也可以用list(jieba.cut(…))轉化為list
三、結巴中文分詞的其他功能
1、新增或管理自定義詞典
結巴的所有字典內容存放在dict.txt,你可以不斷的完善dict.txt中的內容。
2、關鍵詞抽取
通過計算分詞後的關鍵詞的TF/IDF權重,來抽取重點關鍵詞。
3.詞性標註
對一句話進行切分後,對每個詞進行詞性標註,是名詞還是動詞
具體示例:
<span style="font-size:14px;"># -*- coding:utf-8 -*-
import jieba.analyse
text = "結巴中文分詞模組是一個非常好的Python分片語件"
tags = jieba.analyse.extract_tags(text,2)
print "關鍵詞抽取:","/".join(tags)
關鍵詞抽取: 分詞/Python</span>
<span style="font-size:14px;">#! /usr/bin/env python2.7
#coding:utf-8
import jieba
import jieba.posseg
print "Full Mode:","/".join(jieba.cut('始游泳'))
print "Full Mode:","/".join(jieba.cut('過郭美美'))
s=["我勒個去","費打電話","響全世界","線情人"]
for i in s:
pos=[]
seg=jieba.posseg.cut(i)
for j in seg:
print j.word,'/',j.flag,'#',
pos.append([j.word,j.flag])
print
#----------------------------------
string="當我輸給青雉的時候就在想,在以後的航海中再遇到像他那麼強的對手的時候"
seg=jieba.posseg.cut(string)
pos=[]
for i in seg:
pos.append([i.word,i.flag])
for i in pos:
print i[0],'/',i[1],"#",</span>
輸出結果:
<span style="font-size:14px;">Full Mode:Building prefix dict from E:\Python27\lib\site-packages\jieba\dict.txt ...
Loading model from cache c:\users\shifeng\appdata\local\temp\jieba.cache
Loading model cost 0.941999912262 seconds.
Prefix dict has been built succesfully.
始/游泳
Full Mode: 過/郭美美
我 / r # 勒 / v # 個 / q # 去 / v #
費 / v # 打電話 / l #
響 / zg # 全世界 / n #
線 / n # 情人 / n #
當 / p # 我 / r # 輸給 / v # 青雉 / n # 的 / uj # 時候 / n # 就 / d # 在 / p # 想 / v # , / x # 在 / p # 以後 / f # 的 / uj # 航海 / n # 中 / f </span>
相關文章
- python 中文分詞包 jiebaPython中文分詞Jieba
- Python:Python 中 jieba 庫的使用(中文分詞)PythonJieba中文分詞
- python jieba庫,句子分詞PythonJieba分詞
- [Python] 基於 jieba 的中文分詞總結PythonJieba中文分詞
- python使用jieba實現中文文件分詞和去停用詞PythonJieba分詞
- jieba 詞性標註 & 並行分詞Jieba詞性標註並行分詞
- 中文分詞原理及常用Python中文分詞庫介紹中文分詞Python
- 如何用Python做中文分詞?Python中文分詞
- #Elasticsearch中文分詞器 #IK分詞器 @FDDLCElasticsearch中文分詞
- java版JieBa分詞原始碼走讀JavaJieba分詞原始碼
- 自然語言處理之jieba分詞自然語言處理Jieba分詞
- python 實現中文分詞統計Python中文分詞
- HanLP分類模組的分詞器介紹HanLP分詞
- Python 自然語言處理(基於jieba分詞和NLTK)Python自然語言處理Jieba分詞
- NLP之中文分詞中文分詞
- 中文分詞技術中文分詞
- Hanlp等七種優秀的開源中文分詞庫推薦HanLP中文分詞
- Laravel 中使用 PHP 分詞庫 (jieba) 和 (scws)LaravelPHP分詞Jieba
- 古詩詞 中文 分詞 自動化分詞
- 分詞工具Hanlp基於感知機的中文分詞框架HanLP中文分詞框架
- python分詞和生成詞雲圖Python分詞
- 中文分詞工具之基於字標註法的分詞中文分詞
- 中文分詞研究難點-詞語劃分和語言規範中文分詞
- pyhanlp 中文詞性標註與分詞簡介HanLP詞性標註分詞
- Hanlp分詞之CRF中文詞法分析詳解HanLP分詞CRF詞法分析
- HanLP中文分詞Lucene外掛HanLP中文分詞
- SCWS PHP 中文簡易分詞PHP分詞
- 中文分詞器,整理自Ai中文分詞AI
- 使用cjieba(結巴分詞庫)實現php擴充套件中文分詞JiebaPHP套件中文分詞
- 分詞分詞
- 將使用jieba分詞的語料庫轉化成TFIDF向量Jieba分詞
- elastcisearch中文分詞器各個版本AST中文分詞
- 深度有趣 | 15 淺談中文分詞中文分詞
- Coreseek-帶中文分詞的Sphinx中文分詞
- 史上最全中文分詞工具整理中文分詞
- 中文搜尋引擎技術揭密:中文分詞中文分詞
- Python文字處理NLP:分詞與詞雲圖Python分詞
- HanLP分詞工具中的ViterbiSegment分詞流程HanLP分詞Viterbi
- 分詞-1分詞