描述長度增益
在這個網站有篇詳細的論文介紹:Improving Chinese word segmentation with description length gain. / Kit, Chunyu; Zhao, Hai.
位址:https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.298.3906&rep=rep1&type=pdf
相關介紹如下:
翻譯過來就是:
無監督分詞政策必須遵循一些預定義的标準來識别單個單詞。在[20]中可以發現使用互資訊(MI)進行這方面的早期研究。一大把文章都使用了MI等統計方法[3,21,5,26,27]。描述長度增益(DLG),如
[9,7]測量從語料庫中提取子串作為單詞的壓縮效果,是無監督詞發現的另一個經驗準則。
理論上,它源自于最小描述長度(minimum description length, MDL)參考[15,16]。本文在[8]中初步研究了該方法在檢測非詞彙類詞彙方面的潛力。DLG是從一個語料中
提取所有出現的子字元串
(也可以表示為
),得到詞彙V,作為一個詞被定義為:
在這裡
代表的是用一個新的符号 r 貫穿整個X替換所有
子字元串,
代表的是兩個字元串的連接配接。
代表的是可以用Shannon-Fano碼或Huffman碼估計的以比特為機關的語料庫的經驗描述長度,如下所示,遵循經典資訊論[18,4]:
在這裡 |.| 代表的是字元串的長度,
是 x 在 X 中的頻率。
使用DLG的無監督分割是為了推斷出輸入的DLG和最大的子串的最優序列。原則上,單詞發現中不應該放棄DLG為負的子串,因為它可以是最優序列[9]之一。然而,由于将DLG內建到CWS的CRF模組化中較為簡單,本研究隻考慮DLG值為正的子串。
到這裡,DLG便介紹完了。但是由于英文水準與專業能力有限,可能會産生誤解或者歧義,還望各位大佬指出謝謝!
舉個栗子:X=“我愛偉大祖國” ,假設下标從0開始,則
=“偉大祖國”,
="我愛 r " ,
=“我愛 r 偉大祖國”,好像做了一件這樣的事:使用字元 r 替換所有指定子字元後在末尾加上
,這樣了解不知道有沒有錯。然後計算
,看了這裡的
感覺有點像哈夫曼編碼求平均編碼長度,乘以 |X| = 6 得到的就可以了解為使用哈夫曼編碼這句話的編碼長度,V=“偉大祖國” ,x="偉"時 ,
=1/6 , 類似地分别代入 x= 大、祖、國,相乘累加之後再乘以 -|X| 即為L(X) 。DLG難道就是語料哈夫曼平均編碼長度 減去 替換後末尾加上子序列語料的平均編碼長度?
那麼DLG的實際意義是什麼呢?不妨先從資訊增益開始,因為DLG也算是個增益,也許能找到一些共性。
我們知道熵是事件不确定性的度量:
條件熵是在發生x事件的條件下發生y事件的不确定性的度量:
資訊增益就是:
即為在一個條件下,随機變量的不确定性。如果Y是一個很有用的資訊,那麼條件熵就會很小,因為提供的資訊很有用則不确定性很變小,則資訊增益比較大。如果提供的資訊很備援,條件熵的不确定性幾乎不變會比較大,則資訊增益比較小。綜上所述,若資訊增益大的話,則提供的Y很關鍵,反之資訊增益小提供的Y很多餘。
實際意義?實際上編碼長度也可以看作為資訊量,然而資訊熵代表的是對随機變量的不确定性,在資訊論中反複強調資訊熵不是資訊量,其實說到底資訊熵越大不确定性越大所蘊含的資訊越多,即狀态越混亂。在中文分詞中,如果按字記憶一篇文章肯定比按詞記憶要難,按字記憶的資訊熵大于按詞記憶的資訊熵。是以我們要追求最小資訊熵,一種完美的分詞手法它的資訊熵總是最小的。是以編碼長度在這裡可以了解為是資訊量,我們需要尋找某種分詞手法使得編碼長度最小。我們把子序列字元串替換成 r ,其實我們是在把 子序列看作為一個整理詞彙 r ,我們希望 r 确實是一個詞,那麼編碼長度将會減少,描述長度增益DLG将為正值(代表将子序列字元串看作為詞之後編碼長度下降了)。若DLG為負值,那麼則認為将 r 看作為一個詞之後,總編碼長度變大了。我們追求的是最小編碼長度!是以此方法可以分詞!至于為什麼替換為 r 之後末尾還要連接配接子序列字元串還沒有想明白,若有朋友想明白了友善的話告知一下,謝謝!