Genius 分詞 3.1.6 版本發布

jopen 10年前發布 | 7K 次閱讀 Genius

Genius 分詞 3.1.6 版本發布

本次更新的主要更新:

1、修復在python3.x情況下,默認系統編碼不為utf8導致無法安裝的情況。

2、修復wapiti在python3.x下調用出錯問題。

更新方法執行命令:easy_install --upgrade genius或者pip install genius --upgrade

 

Genius

Genius是一個開源的python中文分詞組件,采用 CRF(Conditional Random Field)條件隨機場算法。

Feature

  • 支持python2.x、python3.x以及pypy2.x。

  • 支持簡單的pinyin分詞

  • 支持用戶自定義break

  • 支持用戶自定義合并詞典

  • 支持詞性標注

Source Install

  • 安裝git: 1) ubuntu or debianapt-get install git2) fedora or redhatyum install git

  • 下載代碼:git clone https://github.com/duanhongyi/genius.git

  • 安裝代碼:python setup.py install

Pypi Install

  • 執行命令:easy_install genius或者pip install genius

Algorithm

  • 采用trie樹進行合并詞典查找

  • 基于wapiti實現條件隨機場分詞

  • 可以通過genius.loader.ResourceLoader來重載默認的字典

功能 1):分詞genius.seg_text方法

  • genius.seg_text函數接受5個參數,其中text是必填參數:

  • text第一個參數為需要分詞的字符

  • use_break代表對分詞結構進行打斷處理,默認值True

  • use_combine代表是否使用字典進行詞合并,默認值False

  • use_tagging代表是否進行詞性標注,默認值True

  • use_pinyin_segment代表是否對拼音進行分詞處理,默認值True

代碼示例( 全功能分詞 )

#encoding=utf-8
import genius
text = u"""昨天,我和施瓦布先生一起與部分企業家進行了交流,大家對中國經濟當前、未來發展的態勢、走勢都十分關心。"""
seg_list = genius.seg_text(
    text,
    use_combine=True,
    use_pinyin_segment=True,
    use_tagging=True,
    use_break=True
)
print('\n'.join(['%s\t%s' % (word.text, word.tagging) for word in seg_list]))

功能 2):面向索引分詞

  • genius.seg_keywords方法專門為搜索引擎索引準備,保留歧義分割,其中text是必填參數。

  • text第一個參數為需要分詞的字符

  • use_break代表對分詞結構進行打斷處理,默認值True

  • use_tagging代表是否進行詞性標注,默認值False

  • use_pinyin_segment代表是否對拼音進行分詞處理,默認值False

  • 由于合并操作與此方法有意義上的沖突,此方法并不提供合并功能;并且如果采用此方法做索引時候,檢索時不推薦genius.seg_text使用use_combine=True參數。

代碼示例

#encoding=utf-8
import genius

seg_list = genius.seg_keywords(u'南京市長江大橋')
print('\n'.join([word.text for word in seg_list]))

功能 3):關鍵詞提取

  • genius.tag_extract方法專門為提取tag關鍵字準備,其中text是必填參數。

  • text第一個參數為需要分詞的字符

  • use_break代表對分詞結構進行打斷處理,默認值True

  • use_combine代表是否使用字典進行詞合并,默認值False

  • use_pinyin_segment代表是否對拼音進行分詞處理,默認值False

代碼示例

#encoding=utf-8
import genius

tag_list = genius.extract_tag(u'南京市長江大橋')
print('\n'.join(tag_list))

其他說明 4):

  • 目前分詞語料出自人民日報1998年1月份,所以對于新聞類文章分詞較為準確。

  • CRF分詞效果很大程度上依賴于訓練語料的類別以及覆蓋度,若解決語料問題分詞和標注效果還有很大的提升空間。

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!