正在閱讀:搜狗拼音輸入法詞庫是怎樣煉成的搜狗拼音輸入法詞庫是怎樣煉成的

2007-04-08 18:19 出處: 作者:呂杰勇 責(zé)任編輯:linjixiong

 

  眾所周知,搜狗輸入法在詞庫方面具有鮮明的特色,其詞庫不僅超大全面(大概有35萬左右),而且詞條質(zhì)量也很高。隨著搜狗輸入法的不斷普及,越來越多的用戶體驗(yàn)到了搜狗輸入法的超級(jí)流暢性,但是這樣的流暢性是以一個(gè)優(yōu)秀的詞庫為基礎(chǔ)的。作為一個(gè)輸入法的核心部分,搜狗的超強(qiáng)詞庫是怎樣來的呢?下面和廣大關(guān)心搜狗輸入法的朋友們分享一下詞庫制作中的艱辛和快樂。

  搜狗的詞條來源

  詞匯是一切中文應(yīng)用的基礎(chǔ),但是世界上并沒有任何一個(gè)詞典包含了輸入法所需要的所有詞匯。比如中國漢語大辭典雖然包含了很多詞條,但是仍然缺乏很多比較新、比較具體的詞,網(wǎng)絡(luò)的新詞又層出不窮,所以搜狗輸入法必須自己想辦法構(gòu)造一個(gè)適合他自己的詞庫。

  由于搜狗是一家搜索引擎公司,自然會(huì)有一批自己做文本分析的詞庫,它包含了常用的基本詞匯和部分專業(yè)詞匯,但是在數(shù)量上還是遠(yuǎn)遠(yuǎn)不能覆蓋用戶對(duì)詞匯的需求空間。經(jīng)過分析可知,這部分缺少的詞中有相當(dāng)一部分是人名、地名、歌曲、小說、財(cái)經(jīng)、旅游、游戲、體育等。幸運(yùn)的是,搜狐矩陣蘊(yùn)含著許多搜狗需要的這些資源,比如地名資源可以從go2map拿到,歌曲資源可以從搜狗的音樂搜索拿到,小說資源可以從搜狐網(wǎng)拿到,游戲詞匯可以從17173游戲網(wǎng)拿到……這些資源雖然是內(nèi)部資源,但是當(dāng)初也是編輯經(jīng)過長時(shí)間大量的整理維護(hù)工作的結(jié)晶,并且這涉及到大量部門間的合作,每一個(gè)流程下來都會(huì)花許多精力。

  除了搜狐內(nèi)部資源的整合,我們還為某些事件、場合特別整理了大量的詞表。比如在世界杯期間,我們的編輯整理了幾乎所有與世界杯相關(guān)的詞匯,使得球迷們可以更為流暢地交流。對(duì)于詩詞,我們特別匯總了幾乎所有從最早的詩經(jīng)到毛澤東的所有古詩詞(包括宋詞),這都成為搜狗詞庫來源的一部分。

  在融合搜狗自己的詞庫和各個(gè)兄弟部門提供的資源后,搜狗輸入法詞庫有了較大的完善,但是仍然缺少很多各種各樣的詞,比如“挖人”、“電荒”等。這些詞無法通過尋找資源的方式全部找到,所以不得不自己想辦法。幸運(yùn)的是,互聯(lián)網(wǎng)網(wǎng)頁是個(gè)大寶庫,里面蘊(yùn)含著幾乎所有我們需要的知識(shí),所以我們的工程師們?cè)O(shè)計(jì)了一套機(jī)器學(xué)習(xí)的算法從這些網(wǎng)頁中訓(xùn)練新詞,訓(xùn)練的結(jié)果是得到了大批的新詞匯,但是也引入了大量的噪聲,即垃圾詞。比如在最初的搜狗輸入法版本里,“謝霆鋒”這個(gè)詞的錯(cuò)法就有“謝霆峰”、“謝廷鋒”等數(shù)種,這對(duì)用戶的體驗(yàn)和輸入法的智能性都造成了損害。

  搜狗的詞頻統(tǒng)計(jì)

  輸入法離不開詞頻,詞頻直接影響著智能組詞。搜狗輸入法的詞頻統(tǒng)計(jì)是在一個(gè)極其大的互聯(lián)網(wǎng)網(wǎng)頁上統(tǒng)計(jì)出來的。為了得到一個(gè)最優(yōu)的詞頻,或者得到某類風(fēng)格的詞頻(比如口語化風(fēng)格),我們不斷更換語料庫,從網(wǎng)頁類型的選取、文章長度的限制、某些特殊的預(yù)處理等都做了大量的嘗試。每一次嘗試都需要重新統(tǒng)計(jì)詞頻,動(dòng)輒需要幾天時(shí)間才能完成一輪詞庫的制作與驗(yàn)證,占用的機(jī)器、人力、資源之多不是某些小手工作坊式的輸入法小組能夠完成的。

  詞庫過濾系統(tǒng)的搭建

  經(jīng)過前面的資源整理,我們得到了一個(gè)非常非常大的詞庫(約合幾百萬),這個(gè)詞庫中的詞良莠不齊,需要堅(jiān)決的過濾才能滿足輸入法的需要。試想,從幾百萬個(gè)詞條的集合過濾得到35萬左右的詞條集合,這注定是一個(gè)龐大而又精細(xì)的工作。

  事實(shí)上詞條出現(xiàn)的頻率是詞條質(zhì)量的最重要維度,頻率越高則詞條是好詞的概率越高,并且不同來源的詞匯有著不同的可信度。為此我們搭建了一個(gè)詞庫過濾系統(tǒng),這個(gè)系統(tǒng)好比是一個(gè)漏斗,可以靈活地對(duì)源頭的詞匯進(jìn)行過濾,同時(shí)輸出中間每一步的過濾過程以方便開發(fā)人員調(diào)整算法。就這樣,在不斷的過濾、驗(yàn)證、修改參數(shù)的循環(huán)中,這個(gè)系統(tǒng)逐漸趨于穩(wěn)定,為整個(gè)詞庫的質(zhì)量做出了重要的保證。這個(gè)系統(tǒng)雖然只有幾千行代碼,但是開發(fā)人員對(duì)它閾值等參數(shù)的調(diào)整可謂不計(jì)其數(shù)。經(jīng)過這一輪的處理,詞條的總體質(zhì)量有了飛躍般的提升。

鍵盤也能翻頁,試試“← →”鍵
302 Found

302 Found


Powered by Tengine
tengine