邢小東
(山西大同大學計算機與網(wǎng)絡(luò)工程學院,大同 037009)
知識檢索是知識管理和知識共享的一種有效實現(xiàn)途徑,是用戶主動獲取知識的典型應(yīng)用。用戶可以通過檢索引擎找到多種類型的知識來滿足不同的需求。檢索行為是一種用戶行為,每種檢索行為都對應(yīng)了用戶的檢索意圖。準確識別用戶檢索意圖是檢索引擎優(yōu)化的重要研究內(nèi)容。它可以用來對檢索結(jié)果進行排序,使檢索引擎更加智能化。
檢索意圖識別就是讓檢索引擎知道用戶“為什么”進行檢索。不考慮用戶檢索意圖的情況下,檢索引擎依據(jù)用戶輸入的查詢關(guān)鍵詞與知識的索引進行匹配,從而確定檢索結(jié)果。該過程采用基于匹配模型、排序算法以及語義分析等技術(shù)實現(xiàn)智能檢索。這類模型和算法依賴于索引和查詢關(guān)鍵詞中的詞頻信息。但是,用戶輸入查詢關(guān)鍵詞是根據(jù)自身的檢索意圖,并不會考慮詞頻信息。在許多應(yīng)用場景中,用戶無法預知某個關(guān)鍵詞在哪條或哪類知識中詞頻最高。例如,關(guān)鍵詞“流程優(yōu)化”對應(yīng)兩類知識,分別是論文和案例。技術(shù)研究人員可能想要找到論文,而生產(chǎn)銷售人員可能想要找到案例。無論關(guān)鍵詞“流程優(yōu)化”在哪類知識中出現(xiàn)的詞頻更高,都不能同時滿足不同用戶的需求。
用戶檢索意圖的相關(guān)信息包括兩個部分,一部分是用戶屬性,例如用戶的身份、職業(yè)、工作性質(zhì)等,不同屬性的用戶,檢索意圖也不相同;另一部分是查詢屬性,即用戶輸入的查詢關(guān)鍵詞,每個查詢關(guān)鍵詞對應(yīng)不同的知識類型,因此本文更關(guān)注詞匯的范疇,而不是詞匯本身,依據(jù)詞匯的范疇,可以確定其對應(yīng)的知識類型。本文綜合考慮兩部分信息,提出了一種基于混合屬性的用戶檢索意圖識別方法,該方法首先采用機器學習分別對用戶屬性對應(yīng)的檢索意圖和查詢屬性對應(yīng)的檢索意圖進行識別,然后采用回歸分析將兩種用戶意圖進行融合,獲得最終的用戶檢索意圖。
本文將用戶檢索意圖分為兩類:用戶屬性對應(yīng)的檢索意圖(User attribute Intention,UaI)和查詢屬性對應(yīng)的檢索意圖(Query attribute Intention,QaI)。如圖1所示,UaI的識別需要包含用戶特征的樣本數(shù)據(jù),QaI的識別需要包含查詢關(guān)鍵詞范疇的樣本數(shù)據(jù)。兩類樣本數(shù)據(jù)均可以通過檢索日志文件獲得,依據(jù)兩類樣本數(shù)據(jù)的數(shù)據(jù)類型,本文分別采用決策樹學習和最大熵學習方法識別UaI 和QaI,然后采用二元線性回歸分析方法將UaI 和QaI 進行融合,獲得最終的混合屬性對應(yīng)的綜合檢索意圖(Mixed attribute Intention,MaI)。
圖1 用戶檢索意圖識別總流程
本文采用詞向量描述每個查詢關(guān)鍵詞的特征。以某航天企業(yè)知識管理中的檢索引擎為例,通過詞向量學習及可視化分析,發(fā)現(xiàn)獲得的結(jié)果中詞匯被分為:人名、組織機構(gòu)名稱、地名、時間、專業(yè)術(shù)語。各類詞匯數(shù)量統(tǒng)計如圖2 所示,其中人名、組織機構(gòu)名稱、地名、時間都是通用詞匯;專業(yè)術(shù)語是應(yīng)用場景對應(yīng)的專業(yè)領(lǐng)域中的特有詞匯,在不同的專業(yè)領(lǐng)域,通過其知識庫學習得到的詞向量也不相同。
圖2 關(guān)鍵詞統(tǒng)計分析結(jié)果
用戶檢索意圖對應(yīng)知識的類型,本文以某航天企業(yè)知識庫為知識源,采用向量空間模型將知識表示為特征向量,采用DBScan 方法進行聚類分析和可視化分析,得到的聚類結(jié)果顯示,知識被分為6個類別,各類知識的統(tǒng)計結(jié)果如圖3所示,分別是鏈接類知識(URL.)、新聞類知識(New.)、概念解釋類知識(Wik.)、制定的標準(Sta.)、技術(shù)報告(Tec.)、科技論文(Pap.)。每種類型的知識對應(yīng)著不同的檢索意圖,如表1所示,本文梳理了用戶檢索意圖與其知識類型的對應(yīng)關(guān)系。
圖3 知識聚類分析結(jié)果
表1 用戶檢索意圖與知識類型對應(yīng)表
UaI是由用戶的身份、職業(yè)、工作性質(zhì)以及當前任務(wù)的類型等用戶屬性確定的,在UaI的學習過程中,輸入和輸出的特征與類別均為離散型數(shù)據(jù),本文采用決策樹學習對UaI的學習建立訓練模型,采用C4.5 算法能夠有效地對決策樹進行剪枝,防止過擬合現(xiàn)象發(fā)生。UaI學習過程的偽代碼如下:
獲得決策樹模型后,未來在用戶進行檢索時,檢索引擎便能夠從日志文件中獲得用戶屬性的各項取值,進而便能夠使用訓練好的決策樹模型進行預測,通過計算能夠獲得當前用戶的UaI。
QaI是由查詢關(guān)鍵詞所屬的范疇對應(yīng)的檢索意圖,本文在前期已經(jīng)訓練好了關(guān)鍵詞的詞向量,詞向量的每個維度可以看作關(guān)鍵詞的一個特征,其取值均為數(shù)值型,維度之間相互獨立,并且檢索意圖所對應(yīng)的知識類型也僅有6 類(URL.,New.,Wik.,Sta.,Tec.,Pap.)。本文采用樸素貝葉斯分類器學習QaI,訓練分類器的樣本數(shù)據(jù)同樣從日志文件中獲取,QaI學習流程偽代碼如下:
分類器訓練完成后,當用戶在檢索時輸入了查詢關(guān)鍵詞之后,便以查詢關(guān)鍵詞的詞向量作為輸入,通過分類器計算,獲得查詢關(guān)鍵詞對應(yīng)的檢索意圖。
用戶檢索意圖的識別是將其對應(yīng)的知識類型進行排序,將得分較高的類型的知識排在前面,以滿足用戶檢索意圖,通過UaI 和QaI 的學習,可以獲得用戶各項檢索意圖的得分,通過歸一化處理,可得其對應(yīng)的概率分布,如式(1)和式(2)所示,可將其表示為概率分布向量,概率值較大的項對應(yīng)的檢索意圖即是得分較高的檢索意圖。
上文分別從用戶屬性和查詢屬性兩個維度獲得了用戶意圖得分,即UaI 和QaI,本文對兩部分得分向量建立了二元線性模型,并通過二元線性回歸分析,最終確定了各自的權(quán)重值和MaI的計算模型,如式(3)所示。
當給定了用戶屬性和查詢關(guān)鍵詞后,該模型便可以分別計算UaI 和QaI,最終計算MaI 的概率分布向量,用以指導檢索結(jié)果的排序,實現(xiàn)對檢索引擎的優(yōu)化。
本文以某航天企業(yè)知識庫的檢索為例開展驗證,該知識庫涉及工藝優(yōu)化、工藝設(shè)計、結(jié)構(gòu)設(shè)計、可靠性分析、可行性分析等方面的知識,在第2 部分,已經(jīng)給出了數(shù)據(jù)準備的情況。本節(jié)將通過實驗,與單一機器學習方法進行對比,并與傳統(tǒng)的檢索引擎進行對比。以用戶知識包中的知識類型作為參考標準,對檢索結(jié)果的準確率進行評價。
本文將檢索意圖分為用戶屬性對應(yīng)的檢索意圖和查詢屬性對應(yīng)的檢索意圖,相對于單一的檢索意圖而言,能夠獲得更高的準確率。單一檢索意圖是指將用戶屬性和查詢屬性看作整體,采用單一機器學習算法進行訓練,如圖4所示,可以看出本文區(qū)分不同屬性對應(yīng)的檢索意圖相比單一檢索意圖學習而言,準確率更高。
圖4 混合屬性與單一屬性對比結(jié)果
除此之外,本文還與常用的檢索引擎Lucene、Solr、Sphinx 進行了對比,如圖5 所示,可以看出本文通過識別用戶檢索意圖對檢索引擎進行優(yōu)化后,準確率相對有所提高。
圖5 與其他檢索引擎對比結(jié)果
本文針對檢索引擎的優(yōu)化問題,提出了一種基于混合屬性的用戶檢索意圖識別方法,并應(yīng)用于檢索引擎中。該方法的主要優(yōu)勢是對不同類型的屬性采用了不同的機器學習方法,以提高用戶檢索意圖識別的準確率。對于離散型的用戶屬性,采用了決策樹學習方法;對于數(shù)值型的查詢關(guān)鍵詞向量,采用了樸素貝葉斯分類器方法。本文以某航天企業(yè)知識庫的檢索為例,分別與單一屬性的檢索意圖識別方法和目前常用的開源檢索引擎進行了對比實驗,實驗結(jié)果表明,在準確率方面,本文方法均表現(xiàn)出了優(yōu)勢。