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