系統學習NLP(二十五)--語種識別landID

一.項目簡介

1.1LangID & langid

項目地址:https://github.com/saffsd/langid.py

Langid是一個現成的語言識別工具。語言識別(LangID)可用於USENET信息,網絡搜索詞,多語言文本檢索,語法分析等領域。從1990年起,LangID就被視爲有監督的機器學習任務,並極大地受到文本分類(text categorization)研究的影響[3]。這裏我們研究的是單語言(Monolingual)文本的語言識別問題。

langid.py是一個全監督分類器,主要基於多項式(multinomial event model)的樸素貝葉斯分類器。[1][2] 它用共包括97種語言的多場景(domain)的語料對模型進行了訓練,場景包括5類:政府文件,軟件文檔,新聞電訊,在線百科和網絡爬蟲。

1.2 langid工具優點

1.      與傳統文本識別工具不同,可現成使用(off-the-shelf)

2.      模型適用於不同的文本場景(domain),不受場景特徵(domain-specific features)的影響

3.      代碼輕便易部署,且只用到單個文件

4.      執行速度快

5.      可以作爲網絡服務(network/internet service)

6.      langid.py與WSGI兼容,可以部署在支持WSGI的網絡服務器上,實現並行運算

1.3 langid模型的系統結構

        

二.文檔分類模型

2.1 多項式樸素貝葉斯分類器[3]


注意,這裏寫的不對,P(Ci)不是根據最大似然得到,是直接根據樣本中每種類別的個數佔比就可以。另外,term只是特徵,即特徵獨立同分布,P(D|Ci)纔可以用連乘方式計算,也就是樸素的含義。 所謂的多項式,主要是指這裏假設一篇文章是由服從多項式分佈的單詞生成的。P(D|Ci)的計算,與實際多項式分佈有點差異,前面少了個|di}!,是因爲這裏由argmax操作。


三.文本特徵項的確定

         本節我們討論二中的分類模型特徵(項)的確定。由於我們將對任意場景的網絡文檔進行語言識別,因此需要一種對場景不敏感的文本表示(document representation)方法[5]。byte n-grams可以直接提取特徵不需做編碼檢測,這裏我們採用byte n-grams而不是 codepoint n-grams(具體查看[5])(這裏byte n-grams 指字符級N-gram,之所以在這裏這麼選,是因爲這裏的語言識別,不受場景影響,不受原始語言編碼影響,採用codepoint n-grams的話,需要切詞,由此導致a.過度分割特徵空間,b.編碼之間的虛假匹配)。

3.1 byte n-grams[4]

         原文獻中n-grams的應用是文本分類(textcategory),這裏我們可以認爲類別是語種,本質上也是分類問題。



3.1.3 如何建立N-gram頻率表

算法流程見下,就不在此累述了。

 

至此,我們就可以將得到的N-gram頻率表作爲二.中模型的輸入。


3.2 特徵選取

         如果希望降低上述N-gram頻率表的詞表大小,我們可以選擇具有較高平均互信息的特徵N-gram項;且這些項對於同一語言,在不同場景下的分佈應該相似,即對場景不敏感,即 (language-domain) score較低。具體的特徵選取見[3]和[2]中的FeatureSelection部分。

四.結論

對於語言檢測,測試文檔越長準確率越高,但通過對micor-blog & twitter等進行實驗,langid.py具有較高的準確率和識別速度,因此適用於長/短文檔,所以可以考慮將其作爲我們search query的語言識別工具。

五.參考文獻

[1]Marco Lui 安定Timothy Baldwin, langid.py: An Off-the-shelf Language Identification Tool.

[2] Andrew McCallum, Kamal Nigam, A Comparison of Event Models for Naive Bayes Text Classification

[3] Marco Lui and Timothy Baldwin, Cross-domainFeature Selection for Language Identification

[4] William B. Cavnar and John M. Trenkle, N-Gram-BasedText Categorization

[5] Timothy Baldwin and Marco Lui, Language Identification: The Long and the Short of the Matter


補充:http://www.meilongkui.com/archives/431
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章