條件隨機場 (CRF) 分詞序列談之一

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://langiner.blog.51cto.com/1989264/379166

條件隨機場 (CRF) 分詞序列談之一
Langiner

判別式機器學習技術來解決分詞問題,其中判別式機器學習技術主要代表有條件隨機場,最大熵/隱馬爾科夫最大熵、感知機,支撐向量機等,有關它們的相同點與不同點以後有機會在談,今天主要談利用隨機場解決分詞問題

條件隨機場(Conditional Random Fields)由John Lafferty提出並應用於自然語言處理領域,主要用於序列標註問題,如分詞、實體識別、詞性標註(當然詞性數目相對比較小的情況下)、淺層句法分析等問題。

判別式機器學習技術解決分詞問題基於由字構詞理念,將分詞問題轉化爲分類問題,通過定義每個字的詞位信息(每個字在詞中的位置)來確定字類別的序列預測,而詞位信息可以定義爲下面其中任何一種
兩類(詞首和詞中)、三類(詞首、詞中和詞尾)、四類(詞首、詞中、詞尾,單字詞)等等,一般而言,類別越多,字的區別能力越強,分類越精確,但是分類空間越大,模型也越大,解碼空間越大,導致解碼速度也越慢,實際系統中,三類別(詞首、詞尾和詞中)是一個很好的平衡。

互聯網上開源的隨機場項目很多,最典型和使用最多的是CRF++,裏面有完整的源代碼和應用實例,通過該軟件,我們可以方便學習和使用。CRF++開源代碼最大問題是隻有Linux版,考慮到Linux環境下,跟蹤調試不方便,如果在Windows下通過建立Visual C++或者Visual Studio工程,通過跟蹤調試,更加有效地學習該算法,本人將自己的學習實踐中,將Linux版本移植到Windows平臺上,並將其開源在SourceForge平臺上(CRF中文分詞開源版)。

利用哪些特徵業績如何利用這些特徵是機器學習算法性能關鍵,中文分詞主要使用字的上下文知識,上下文範圍可以是3字、5字和7字,同時考慮到由字構詞處理長詞比較弱,可以考慮引入仿詞模式、成語/習語等特徵,有研究表示,加入核心詞典會提高詞典詞的分類效果,這需要權衡,如果訓練語料覆蓋核心詞典比較全面,核心詞典的構詞知識往往在語料中已經包含,但是如果訓練語料對於核心詞覆蓋不夠,可以考慮加入核心詞的構詞知識,但是這對核心詞典有比較高的要求,我們認爲北大計算語言研究所發佈的GKB詞典可以作爲核心詞典使用,如果沒有比較好的核心詞典,這個核心詞的構詞知識還是不要加入爲好。
 

本文出自 “專注自然語言技術” 博客,請務必保留此出處http://langiner.blog.51cto.com/1989264/379166

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