結巴中文分詞使用學習(python)

中文分詞工具:結巴分詞
github地址:https://github.com/fxsjy/jieba

分詞功能

  1. 精確模式(默認):試圖將句子最精確地切開,適合文本分析;
  2. 全模式,把句子中所有的可以成詞的詞語都掃描出來,但是不能解決歧義;
  3. 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。

    注意jieba.cut以及jieba.cut_for_search返回的結構都是一個可迭代的 generator,並不是一個list列表。

示例代碼1

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:結巴分詞測試,基本分詞功能
時間:2016年5月21日 15:44:24
"""

import jieba

# 分詞模式
seg = jieba.cut("這是一本關於信息檢索的書", cut_all=True)  # cut_all=True,全模式
print(u"全模式分詞: " + "/ ".join(seg))

seg = jieba.cut("這是一本關於信息檢索的書", cut_all=False)  # cut_all=False,精確模式
print(u"精確模式分詞: " + "/ ".join(seg))

seg = jieba.cut("他來到了網易杭研大廈")  # 默認是精確模式
print(", ".join(seg))

seg = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造")  # 搜索引擎模式
print(", ".join(seg))

添加自定義詞典

用法jieba.load_userdict(file_name)
file_name 爲文件類對象或自定義詞典的路徑
詞典格式:一個詞佔一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略);用空格隔開,順序不可顛倒。
詞典示例

雲計算 5
李小福 2 nr
創新辦 3 i
easy_install 3 eng
好用 300
韓玉賞鑑 3 nz
八一雙鹿 3 nz
臺中
凱特琳 nz
Edu Trust認證 2000

示例代碼2

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:結巴分詞測試,添加詞典
時間:2016年5月21日 15:44:24
"""

import jieba

# 添加自定義詞典
jieba.load_userdict("userdic.txt")
seg = jieba.cut("這是一本關於信息檢索的書")
print "/ ".join(seg)

if __name__ == "__main__":
    pass

詞性標註

採用和 ictclas (NLPIR)兼容的標記法。

words = pseg.cut("這是一本關於信息檢索的書")
for word, flag in words:
    print ('%s %s' % (word, flag))

備註:在anaconda python下,上述print報錯方式,原因暫時未知。

其他

  1. 支持繁體分詞
  2. 關鍵詞提取
  3. 並行分詞
  4. 返回詞語在原文的起止位置

參考文獻
官方說明:https://github.com/fxsjy/jieba
其他:https://segmentfault.com/a/1190000004061791

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章