jieba 詞性標註 & 並行分詞

Galois發表於2020-12-19

jieba 詞性標註

# 新建自定義分詞器
jieba.posseg.POSTokenizer(tokenizer=None)
# 引數可指定內部使用的 jieba.Tokenizer 分詞器。 jieba.posseg.dt 為預設詞性標註分詞器。
# 標註句子分詞後每個詞的詞性,採用和 ictclas 相容的標記法。

jieba 並行分詞

將目標文字按行分隔後,把各行文字分配到多個 Python 程式並行分詞,然後歸併結果,從而獲得分詞速度的可觀提升。

基於 python 自帶的 multiprocessing 模組,目前暫不支援 Windows

jieba.enable_parallel(4) - 開啟並行分詞模式,引數為並行程式數。
jieba.disable_parallel() - 關閉並行分詞模式

並行分詞僅支援預設分詞器jieba.dtjieba.posseg.dt

Tokenize:返回詞語在原文的起止位置,輸入引數只接受 unicode

import jieba
import jieba.analyse
result = jieba.tokenize(u'冷酷是個很酷的網站')
for tk in result:
    print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))

搜尋模式:

result = jieba.tokenize(u'冷酷是個前途無量的網站', mode='search')
for tk in result:
    print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))

延遲載入

jieba 採用延遲載入,import jiebajieba.Tokenizer() 不會立即觸發詞典的載入,一旦有必要才開始載入詞典構建字首字典。如果想初始 jieba,也可以手動初始化。

import jieba
# 手動初始化
jieba.initialize()

詞典檔案:

jieba.set_dictionary('data/dict.txt.big')
本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章