劉湘贛
摘 要:隨著21世紀(jì)信息技術(shù)的迅速發(fā)展,互聯(lián)網(wǎng)信息大爆炸效應(yīng)引發(fā)的信息盲區(qū)問題越來越受到人們關(guān)注。使用語義分析算法構(gòu)建搜索引擎能夠在很大程度上提高搜索效率,提升用戶體驗。探討了語義分析算法在信息檢索中的一些應(yīng)用方法,以期為互聯(lián)網(wǎng)平臺開發(fā)提供一些思路。
關(guān)鍵詞:語義分析;信息檢索;互聯(lián)網(wǎng);神經(jīng)網(wǎng)絡(luò);分詞
DOIDOI:10.11907/rjdk.1511099
中圖分類號:TP312
文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)009006602
1 語義分析技術(shù)應(yīng)用領(lǐng)域和價值
自本世紀(jì)初互聯(lián)網(wǎng)普及以來,人們在互聯(lián)網(wǎng)上的行為廣義上可分為兩類:獲取信息和分享信息。其中,獲取信息往往是每一位接觸互聯(lián)網(wǎng)用戶的最初訴求。然而,面對數(shù)量龐大的互聯(lián)網(wǎng)信息,要在其中獲取到自己想要的內(nèi)容,這在上世紀(jì)90年代搜索引擎問世之前并非易事。1998年9月,美國google(谷歌)公司成立,并于同年推出一款功能強(qiáng)大的信息檢索工具;2000年1月,百度公司率先推出了全球最大的中文搜索引擎。在此之后,各類互聯(lián)網(wǎng)搜索工具大量涌現(xiàn),用戶在互聯(lián)網(wǎng)中的搜索體驗也得到顯著改善。優(yōu)秀的搜索引擎通常都是基于高效的語義分析算法構(gòu)建,通過對語言的合理建模和分詞,搜索引擎往往只需相當(dāng)小的系統(tǒng)開銷就能獲得大量信息回饋。因此,搜索引擎在互聯(lián)網(wǎng)信息檢索中有著重要意義。
2 基于語言分析的搜索引擎文本處理方法
文本處理通俗地講是告訴計算機(jī)如何認(rèn)識人類的單詞。高質(zhì)量的語義分析算法通常在一套好的文本處理機(jī)制之上完成建模,其中最重要的兩個方法是:中文分詞以及分詞權(quán)重(Term Weighting)。當(dāng)獲取一段文本時,計算機(jī)該如何知道它的語法和詞語構(gòu)成?參考人腦對語言的反應(yīng),一般情況下應(yīng)先做分詞。分詞即是將一段文字合理地拆分成若干詞根以匹配參照詞庫。
2.1 局部切分多次匹配方法
分別按照順詞序最大匹配、逆詞序最大匹配、雙詞序最大匹配及最短路徑拆分的方式逐一查找詞庫,只要能命中詞庫詞根即切分,在設(shè)立編號后寫入索引表。
2.2 應(yīng)用統(tǒng)計模型的切分方法
按局部切分多次匹配的方法進(jìn)行分詞后,對結(jié)果一般使用雙數(shù)組Trie樹進(jìn)行存儲,然后運(yùn)用N元文法模型(n-gram)[1]統(tǒng)計模型找出最優(yōu)路徑,并在結(jié)果中遴選出最優(yōu)切分方法。一個解決分詞歧義的例子,如“湖北省長江學(xué)者”,根據(jù)詞庫的匹配情況切分出如下詞根“湖北、省、長江、學(xué)者、湖北省、長江學(xué)者、省長、江學(xué)、江學(xué)者”,使用n-gram模型測算出語言模型得分,選出得分最高的模型作為最終切分方法。測算結(jié)果如表1所示,顯然模型得分最高的C組同時也是最佳的分詞方案。
2.3 基于條件隨機(jī)場(CRF)算法的由字組詞切詞方法
很多時候用戶搜索的關(guān)鍵詞句字與字中間的邏輯關(guān)系并非十分明顯,如早期白話文、文言文、專業(yè)術(shù)語等。與基于隱馬爾可夫模型的最短路徑分詞、N-最短路徑分詞相比,基于條件隨機(jī)場(CRF[1])的分詞對未登錄詞庫的詞根有更好的支持。使用CRF預(yù)測串中每個字的標(biāo)注(tag),如以B、I、E、S 4個tag表示:開始(beginning)、包含(inside)、結(jié)束(ending)、單獨(dú)(single),則“湖北省長江學(xué)者”的標(biāo)注應(yīng)為:“湖(B)北(I)?。‥)長(B)江(E)學(xué)(B)者(E)”。CRF算法是目前分詞效果相對較好的一種算法,它既可以像最大熵模型一樣廣泛加入各類特征(feature),又能夠避免HMM的齊次馬爾科夫假設(shè)。目前市面上包括谷歌和百度在內(nèi)的多數(shù)搜索引擎都采用CRF算法構(gòu)建語言模型[2]。
2.4 語言模型構(gòu)建
語言模型狹義地說是一種概率模型,主要用來計算句子產(chǎn)生的組合。在公式P(m1,m2,m3…mn)中,n表示詞的總數(shù),根據(jù)條件概率Bayes Rule,則有:P(m1,m2,m3 … mn) = P(m1)P(m2|m1)P(m3|m1,m2) …P(mn|m1,m2 … m(n-1))。對于N-gram統(tǒng)計模型得到的語言模型通常也是最簡單的語言模型。根據(jù)馬爾科夫假設(shè),句中每個單詞與其前n-1個單詞有關(guān),則單詞mn的條件概率僅僅依賴于它之前的n-1個詞,顯然有P(mn|m1,m2…m(n-1)) = P(mn|m(n-k+1),m(n-k+2) … m(n-1))。n取值越大,模型值域越大,n值越小,模型可靠性越高。然而N-gram語言模型雖然簡單有效,但也有局限性。由于僅考慮了詞之間的位置關(guān)系,在詞間相似度、語法語義等方面還存在明顯不足,更為復(fù)雜的神經(jīng)網(wǎng)絡(luò)語言模型正好填補(bǔ)了這片空白。神經(jīng)網(wǎng)絡(luò)語言模型在N-gram上將每個單詞m(n-k+1),m(n-k+2) … m(n-1)映射到詞向量,再將每個詞的向量組合構(gòu)成更大向量作為神經(jīng)網(wǎng)絡(luò)輸入,輸出則是P(mn),詞語間的相似性最終通過詞向量來表現(xiàn)。映射結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)語言模型映射結(jié)構(gòu)
3 分詞權(quán)重設(shè)置
Term Weighting,即分詞權(quán)重。對于信息檢索結(jié)果,用戶通常更愿意看到匹配度最高、最貼近搜索條件的結(jié)果列于高位顯示。在對文本分詞后,緊接著需要對每個term計算權(quán)重,重要的term應(yīng)給予高權(quán)重。比如“湖北省長江學(xué)者”的Term Weighting結(jié)果中,“長江”的權(quán)重很可能是0.8,而“湖北省”的權(quán)重可能是0.5,而“省長”的權(quán)重可能不足 0.1。Term Weighting結(jié)果在文本檢索中對于文本相關(guān)性、核心詞提取等過程都有非常重要的參考價值。采用合理的Term Weighting計算方法會得出較為理想的分詞權(quán)重值,常見的算法有Tf-Idf[3]算法和Okapi、MI、LTU、ATC、TF-ICF等算法。
4 主題模型(Topic Model)應(yīng)用于信息檢索的方法
上文提到了語義分析中的一些文本處理方法,對于一條文本信息,在對其進(jìn)行分詞和Term Weighting打分后便要開始執(zhí)行更高層的語義分析任務(wù),當(dāng)前業(yè)界使用較多的主體模型是LDA,其算法執(zhí)行效率高,能夠較好地解決關(guān)鍵詞的主題關(guān)聯(lián)問題。
4.1 LDA訓(xùn)練算法
LDA[4]的推演方法可以參考有關(guān)文獻(xiàn),本文主要討論如何訓(xùn)練LDA。目前通常的做法是基于吉布斯采樣(gibbs sampling[5])的工序。算法如下:
Step1:任意初始化每個詞的主題(Topic),并計算兩個頻率計數(shù)的矩陣。D-T 矩陣N(t,d),用于描述文檔的主題頻率分布情況;W-T 計數(shù)矩陣N(w,t),用于描述每個主題下詞的頻率分布情況。
Step2:順序遍歷訓(xùn)練語料,按照概率公式重新采樣Topic, 并更新兩個矩陣的計數(shù)。
Step3:重復(fù)Step2,直到模型收斂。
4.2 主題模型應(yīng)用領(lǐng)域
主題模型已經(jīng)可以廣泛應(yīng)用于文本分類、主題詞歸類、信息相關(guān)性檢索、精確廣告投放等。具體而言,基于主題模型可以很方便地計算出文本或用戶的主題分布,并將其當(dāng)作用戶特征充分利用。
4.3 文本分類
文本分類是最常見的文本語義分析任務(wù),好的文本分類能夠有效提高資源耦合度,在執(zhí)行檢索時有效提高命中率。文本分類方法通常比較簡單,但工作量較大,內(nèi)容復(fù)雜?;旧纤械臋C(jī)器學(xué)習(xí)方法都可以用來作文本分類,常用的有l(wèi)R、MAXENT、SVM等算法。
5 圖片語義分析法在圖片搜索中的應(yīng)用
圖片搜索是現(xiàn)代搜索引擎提供的一個重要功能,然而對于圖片本身而言,并沒有相關(guān)的關(guān)鍵詞信息。如何根據(jù)文字檢索出圖片,是搜索引擎設(shè)計開發(fā)必須考慮的難點(diǎn)問題。采用基于圖片的語義分析方法是一種較為良好的解決方案。
5.1 卷積的作用
計算機(jī)在處理圖像時經(jīng)常使用卷積算法,如高斯變換即是對圖像進(jìn)行卷積。計算機(jī)對圖像用一個卷積核進(jìn)行卷積運(yùn)算,其實際是一個濾波的過程,并藉此可以得到一個圖像的權(quán)重模板。
5.2 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是一種特殊簡化的深層神經(jīng)網(wǎng)絡(luò)模型,每個卷積層都是由多個卷積濾波器組成。在卷積神經(jīng)網(wǎng)絡(luò)中,圖像的局部感受區(qū)域被作為層級結(jié)構(gòu)的最底層輸入,信息逐層上導(dǎo),每層均通過多個卷積濾波器來獲取圖片特征。
5.3 一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖片主題提取方法
首先對圖片使用深度卷積神經(jīng)網(wǎng)絡(luò)和深度自動編碼器提取圖片的多層特征,并據(jù)此提取圖片的虛擬關(guān)鍵詞(visual word),建立索引。然后對大量種子圖片作語義分析,根據(jù)相似種子圖片的語義推導(dǎo)出新圖片的語義。
6 結(jié)語
在互聯(lián)網(wǎng)項目開發(fā)過程中,信息檢索通常是項目開發(fā)計劃中的早期任務(wù),關(guān)聯(lián)到全系統(tǒng)的各級功能,因此是在系統(tǒng)架構(gòu)設(shè)計過程中應(yīng)充分考慮的因素。本文主要從文本處理、主題模型及圖片卷積分類抽取特征信息3個方面探討了語義分析算法在實施互聯(lián)網(wǎng)信息檢索工程中的一些方法,希望本文能給使用語義分析算法進(jìn)行互聯(lián)網(wǎng)項目尤其是搜索引擎項目開發(fā)的同行提供參考。
參考文獻(xiàn)參考文獻(xiàn):
[1] 宗成慶.統(tǒng)計自然語言處理[M].北京:清華大學(xué)出版社,2008.
[2] 馮志偉.自然語言處理的形式模型[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,2010.
[3] 刁倩,張惠惠.文本自動分類中的詞權(quán)重與分類算法[J].中文信息學(xué)報,2000(3):2529.
[4] 李文波,孫樂,張大鯤.基于Labeled-LDA模型的文本分類新算法[J].計算機(jī)學(xué)報,2008(4):620627.
[5] 劉知遠(yuǎn).基于文檔主題結(jié)構(gòu)的關(guān)鍵詞抽取方法研究[D].北京:清華大學(xué),2011.
責(zé)任編輯(責(zé)任編輯:黃 ?。?