中文分詞工具及中文語料資源

關(guān)鍵詞: 中文分詞;分詞;自然語言處理;中文語料

最近要做中文自然語言處理相關(guān)任務(wù),牽涉到使用中文分詞工具和相關(guān)算法的研究。
整理不同分詞工具的比較研究:

Stanford團(tuán)隊(duì)開源工具。支持中文和阿拉伯語等分詞。
分詞采用兩種模式:Two models with two different segmentation standards are included: Chinese Penn Treebank standard and Peking University standard.
清華大學(xué)現(xiàn)代漢語語料庫加工規(guī)范——詞語切分與詞性標(biāo)注,這個(gè)作為分詞和詞性標(biāo)記的依據(jù)標(biāo)準(zhǔn)。
授權(quán)方式: licensed under the GNU General Public License
支持:Python包、C#和.NET擴(kuò)展包。Python包被集成到了NLTK中。
持續(xù)更新,當(dāng)前更新到3.8.0

老牌中文分詞系統(tǒng),中科院張華平博士研究團(tuán)隊(duì)開發(fā),C++/JAVA/C#版本。持續(xù)更新
性能:
獲取Bakeoff 1兩項(xiàng)第一.
單機(jī)每秒可以查詢 100 萬詞條
授權(quán)方式
非商用永久免費(fèi),為確保我們大家拿到最新版本,非商用授權(quán)為1月;授權(quán)到期后,可以訪問網(wǎng)站獲得最新授權(quán)與最新的程序包;如果需要長(zhǎng)期授權(quán),請(qǐng)聯(lián)系商用授權(quán)
GitHub 地址

“結(jié)巴”中文分詞:做最好的 Python 中文分詞組件.
語言支持最豐富,R、iOS、PHP、.NET(C#)、Go、Java、C++等都支持。
官方分詞速度:1.5 MB / Second in Full Mode
400 KB / Second in Default Mode

支持三種分詞模式:

精確模式:試圖將句子最精確地切開,適合文本分析;
全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
搜索引擎模式: 在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞。

支持繁體分詞
支持自定義詞典
授權(quán)方式:MIT 授權(quán)協(xié)議
在線演示
代碼示例:

# encoding=utf-8
import jieba

seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("我來到北京清華大學(xué)", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精確模式

seg_list = jieba.cut("他來到了網(wǎng)易杭研大廈")  # 默認(rèn)是精確模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明碩士畢業(yè)于中國(guó)科學(xué)院計(jì)算所,后在日本京都大學(xué)深造")  # 搜索引擎模式
print(", ".join(seg_list))
輸出:

【全模式】: 我/ 來到/ 北京/ 清華/ 清華大學(xué)/ 華大/ 大學(xué)

【精確模式】: 我/ 來到/ 北京/ 清華大學(xué)

【新詞識(shí)別】:他, 來到, 了, 網(wǎng)易, 杭研, 大廈    (此處,“杭研”并沒有在詞典中,但是也被Viterbi算法識(shí)別出來了)

【搜索引擎模式】: 小明, 碩士, 畢業(yè), 于, 中國(guó), 科學(xué), 學(xué)院, 科學(xué)院, 中國(guó)科學(xué)院, 計(jì)算, 計(jì)算所, 后, 在, 日本, 京都, 大學(xué), 日本京都大學(xué),深造

THULAC(THU Lexical Analyzer for Chinese)由清華大學(xué)自然語言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標(biāo)注功能。
支持C++、python、Java。
THULAC具有如下幾個(gè)特點(diǎn):
能力強(qiáng)。利用我們集成的目前世界上規(guī)模最大的人工分詞和詞性標(biāo)注中文語料庫(約含5800萬字)訓(xùn)練而成,模型標(biāo)注能力強(qiáng)大。
準(zhǔn)確率高。該工具包在標(biāo)準(zhǔn)數(shù)據(jù)集Chinese Treebank(CTB5)上分詞的F1值可達(dá)97.3%,詞性標(biāo)注的F1值可達(dá)到92.9%,與該數(shù)據(jù)集上最好方法效果相當(dāng)。
速度較快。同時(shí)進(jìn)行分詞和詞性標(biāo)注速度為300KB/s,每秒可處理約15萬字。只進(jìn)行分詞速度可達(dá)到1.3MB/s。
授權(quán)方式
THULAC面向國(guó)內(nèi)外大學(xué)、研究所、企業(yè)以及個(gè)人用于研究目的免費(fèi)開放源代碼。
如有機(jī)構(gòu)或個(gè)人擬將THULAC用于商業(yè)目的,請(qǐng)發(fā)郵件至thunlp@gmail.com洽談技術(shù)許可協(xié)議。

使用HTTPS在線API方式使用.
授權(quán)方式:
語言技術(shù)平臺(tái)面向國(guó)內(nèi)外大學(xué)、中科院各研究所以及個(gè)人研究者免費(fèi)開放源代碼,但如上述機(jī)構(gòu)和個(gè)人將該平臺(tái)用于商業(yè)目的(如企業(yè)合作項(xiàng)目等)則需要付費(fèi)。
除上述機(jī)構(gòu)以外的企事業(yè)單位,如申請(qǐng)使用該平臺(tái),需付費(fèi)。

  • 分詞算法

    • 基于字符串匹配(基于字典的方式)
      ??即掃描字符串,如果發(fā)現(xiàn)字符串的子串和詞相同,就算匹配。這類分詞通常會(huì)加入一些啟發(fā)式規(guī)則。正向最大匹配法、逆向最大匹配法和雙向匹配分詞法等。
      ??這類算法優(yōu)點(diǎn)是速度塊,都是O(n)時(shí)間復(fù)雜度,實(shí)現(xiàn)簡(jiǎn)單,效果尚可。
      也有缺點(diǎn),就是對(duì)歧義和未記錄詞處理不好。

    1. 正向最大匹配法
    ??假設(shè)詞典中最大詞條所含的漢字個(gè)數(shù)為n個(gè),取待處理字符串的前n個(gè)字作為匹配字段。若詞典中含有該詞,則匹配成功,分出該詞,然后從被比較字符串的n+1處開始再取n個(gè)字組成的字段重新在詞典中匹配;如果沒有匹配成功,則將這n個(gè)字組成的字段的最后一位剔除,用剩下的n一1個(gè)字組成的字段在詞典中進(jìn)行匹配,如此進(jìn)行下去,直到切分成功為止。(鏈接:http://www.itdecent.cn/p/e978053b0b95
    2. 逆向最大匹配法
    ??與正向的區(qū)別在于如果匹配不成功則減去最前面的一個(gè)字。
    3. 最少切分
    ??使每一句中切出的詞數(shù)最少。

ikanalyzer工具就是這一類

  • 基于統(tǒng)計(jì)和機(jī)器學(xué)習(xí)
    ??這類分詞基于人工標(biāo)注的詞性和統(tǒng)計(jì)特征,對(duì)中文進(jìn)行建模,即根據(jù)觀測(cè)到的數(shù)據(jù)(標(biāo)注好的語料)對(duì)模型參數(shù)進(jìn)行估計(jì),即訓(xùn)練。 在分詞階段再通過模型計(jì)算各種分詞出現(xiàn)的概率,將概率最大的分詞結(jié)果作為最終結(jié)果。常見的序列標(biāo)注模型有HMM和CRF。
    ??這類分詞算法能很好處理歧義和未記錄詞問題,效果比前一類效果好,但是需要大量的人工標(biāo)注數(shù)據(jù),以及較慢的分詞速度。
    ICTCLAS是HMM算法
    Jieba的精確模式也是采用HMM算法
    Stanford是CRF算法
    CRF算法默認(rèn)被認(rèn)為是最好的一種方式,基本思路是對(duì)漢字進(jìn)行標(biāo)注訓(xùn)練,不僅考慮了詞語出現(xiàn)的頻率,還考慮上下文,具備較好的學(xué)習(xí)能力,因此其對(duì)歧義詞和未登錄詞的識(shí)別都具有良好的效果。
    論文[Chinese word segmentation as character tagging]中較為詳細(xì)地闡述了基于字標(biāo)注的分詞法
    論文[Combining Classifiers for Chinese Word Segmentation]提出使用機(jī)器學(xué)習(xí)方法對(duì)每個(gè)字符進(jìn)行標(biāo)注,通過機(jī)器學(xué)習(xí)算法訓(xùn)練分類器進(jìn)行分詞。

思路比較:

??一般來說,語言模型搜索匹配的方式速度更快,對(duì)專業(yè)詞匯影響好,但是發(fā)現(xiàn)新詞和消除歧義方面不好,對(duì)字典要求比較高,需要不停的更新詞典。
詞典可以使用CRF等算法訓(xùn)練生成,識(shí)別新詞。
依據(jù)具體項(xiàng)目任務(wù)確定采用那種方式。

中文語料庫

人民日?qǐng)?bào):貌似機(jī)器分詞,錯(cuò)誤率高
信息處理用現(xiàn)代漢語詞類標(biāo)記規(guī)范(現(xiàn)代漢語語料庫詞類標(biāo)記集)
現(xiàn)代漢語語料庫詞頻表
現(xiàn)代漢語語料庫字頻表
現(xiàn)代漢語語料庫分詞類詞頻表
四十萬漢語大詞庫, 解壓密碼:www.hankcs.com
69萬中文詞庫
wiki百科語料
維基百科語料庫的預(yù)處理可參閱博客:維基百科簡(jiǎn)體中文語料的獲取中文Wiki語料獲取
漢語開放詞網(wǎng),漢語語義詞典chinese wordnet
部分資料來源:http://www.aihanyu.org/cncorpus/resources.aspx

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識(shí)圖譜 信息檢索 文本分類 常用技術(shù): 詞級(jí)別...
    御風(fēng)之星閱讀 9,979評(píng)論 1 25
  • 轉(zhuǎn)載請(qǐng)注明:終小南 ? 中文分詞算法總結(jié) 什么是中文分詞眾所周知,英文是以 詞為單位的,詞和詞之間是靠空格隔開,而...
    kirai閱讀 10,079評(píng)論 3 24
  • 命名實(shí)體識(shí)別 命名實(shí)體的提出源自信息抽取問題,即從報(bào)章等非結(jié)構(gòu)化文本中抽取關(guān)于公司活動(dòng)和國(guó)防相關(guān)活動(dòng)的結(jié)構(gòu)化信息,...
    我偏笑_NSNirvana閱讀 10,908評(píng)論 1 35
  • 1)ICTCLAS 最早的中文開源分詞項(xiàng)目之一,由中科院計(jì)算所的張華平、劉群所開發(fā),采用C/C++編寫,算法基于《...
    MobotStone閱讀 6,082評(píng)論 1 15
  • 前段日子觀看了一部名叫《盲山》的電影,內(nèi)容大概就是被拐賣進(jìn)大山的大學(xué)生在反抗、逃跑、被抓、順從而后被救的經(jīng)歷。電影...
    趙趙小爬閱讀 285評(píng)論 0 0

友情鏈接更多精彩內(nèi)容