亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于語義的本地文檔檢索方法

文檔序號:6572503閱讀:201來源:國知局
專利名稱:一種基于語義的本地文檔檢索方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于語義的本地文檔檢索方法,屬于信息檢索(Information Retrieval)的技術(shù)領(lǐng)域。
背景技術(shù)
數(shù)據(jù)庫技術(shù)發(fā)展至今,對于格式化數(shù)據(jù)的檢索已經(jīng)比較成熟,已經(jīng)可以實現(xiàn)基于字符串匹配功能的文檔檢索功能。然而對于大量的非格式化文檔的數(shù)據(jù),如文本文件、Word文檔,還沒有有效的檢索辦法。如何讓用戶在浩如煙海的自由文本集中以最有效的方式最準確地找到需要的信息,已經(jīng)成為中文檢索領(lǐng)域內(nèi)的熱點。另外,由于Internet技術(shù)、移動式計算技術(shù)和普適計算的發(fā)展,使得數(shù)據(jù)的無線傳輸和移動計算成為可能。因此,在不久的將來,人類必然對移動計算提出新的要求,其中最重要的需求就是獲得自己需要的信息?,F(xiàn)實中,大量的信息都是以非格式化的形式保存。如何在移動的情況下有效地檢索這些非格式化文檔顯得尤為重要和迫切。
對于非格式化文檔,目前的處理方法是潛語義分析(簡稱LSA)。在基于LSA的文本處理中,每篇文本首先被分詞并抽取關(guān)鍵詞詞頻,表示成(關(guān)鍵詞,詞頻)的集合,這樣一個文本庫就可以表示為一個t×d的關(guān)鍵詞-文本矩陣A=[Wij]t×d,其中,一個關(guān)鍵詞對應(yīng)于矩陣的一行,一個文本對應(yīng)于矩陣的一列,wij為非負值,表示第i個關(guān)鍵詞在第j篇文本中的權(quán)重。單個詞的權(quán)重主要考慮其對文本的表征程度和所帶的文本的信息量,所以對權(quán)重的處理主要考慮了兩方面的貢獻,即其在文本內(nèi)部的重要程度-局部權(quán)重和在整個文本集中的重要程度-全局權(quán)重。局部權(quán)重和全局權(quán)重有不同的取值方法,取值方法的不同會對最后的檢索結(jié)果產(chǎn)生影響。公式1給出了經(jīng)典的LSA中權(quán)重的計算方法(TF-IDF),即wij=tfij*idfi=tfij*log2(1+N/ni) (1)
其中,wij表示第i個關(guān)鍵詞在第j篇文本中的權(quán)重,tfij表示第i個關(guān)鍵詞在第j篇文本中出現(xiàn)的頻率,idfi表示第i個關(guān)鍵詞的反比文本頻率,N是整個文本集的文本個數(shù),ni是包含第i個關(guān)鍵詞的文本個數(shù)。
這樣統(tǒng)計得到的矩陣At×d,它的每個列是一個t維特征向量,它反映了與該列對應(yīng)文本的詞分布特征。同理,對于查詢問題,也可將它看成是一篇偽文檔,將它表示成為一個t維向量。然后根據(jù)向量間的相似度或距離為所有文檔就該查詢排序。這種方法就是傳統(tǒng)的VSM方法。
但是,VSM方法無法解決同義詞、近義詞以及多義詞的問題??梢酝ㄟ^對矩陣At×d奇異值分解(SVD),降低關(guān)鍵詞-文檔矩陣里的噪聲,使得其中隱藏的主要信息凸顯出來。從而在一定程度上解決了同義詞、近義詞及多義詞帶來的問題。奇異值分解可以表示為At×d=Tt×t·St×d·Dd×dT]]>其中St×d=Σr,rOr,d-rOt-r,rOt-r,d-r]]>∑r,r為r階對角陣,r=Rank(A),∑=diag(σ1,…,σr),σ1≥σ2≥…≥σr>0,稱它們?yōu)榫仃嘇的奇異值,其值等于AAT和ATA的非零特征值的平方根。設(shè)k≤r可以通過數(shù)學變換得到A的一個近似矩陣Ak,從而降低矩陣維度,將文本在更少、更能表示其特征的語義空間中表示出來。Ak=Tt×t·diag(σ1,σ2,...σk,0,...,0)·Dd×dT]]>也就是Ak把A最小的r-k個奇異值和相應(yīng)的左右奇異向量丟棄了,因為這些向量都乘以0了。[1](如圖1)從某種意義上說,SVD是一種用于發(fā)掘一組相互無關(guān)聯(lián)的索引變量因素的技術(shù),從而使每個詞/文本都可以利用左/右奇異值向量表示為單個k維空間向量。利用SVD降維的目的是為了削弱噪音或消除一些不需要的細節(jié)信息,從而使得對文本理解的潛語義結(jié)構(gòu)凸顯出來。[2]在同一個空間中,可以計算詞和文本、詞和詞以及文本和文本的相似度,例如可以通過它們在向量空間中的向量距離來衡量。
用戶查詢要求可以是詞、文本或兩者的任意組合。檢索執(zhí)行時,先對用戶查詢進行預(yù)處理,根據(jù)詞頻信息生成一個t維的查詢向量,并將其轉(zhuǎn)換成k維語義空間向量。預(yù)處理過程為設(shè)q為原始查詢向量,根據(jù)[3]可得其在k維語義空間向量計算方法為q*=qTTKSK-1]]>這樣就可在k維空間中計算k維查詢向量q*和其它文本向量的相似度(如公式2所示)sim(q*,dj)=Σm=1kwim×wjm(Σm=1kwim2)·(Σm=1kwjm2)---(2)]]>其中,q*為查詢向量,dj為第j篇文本向量,k為語義空間的維數(shù),wim為q*的第m維權(quán)值,wjm為dj的第m維的權(quán)值。這樣就可以計算查詢向量q*與每篇文本向量相似度,把相似度高于閾值的文本按相似度大小從高到低排列文本,再將該檢索結(jié)果返回給用戶。以上這種文本索引和建設(shè)方法就是LSA方法。
在傳統(tǒng)的LSA模型中,由于是基于詞袋模型的方法,很難在概念層次上進行擴展,所以在語義層面上存在很多的信息丟失。而且這種語義信息的丟失僅依靠傳統(tǒng)方法較難解決。例如在傳統(tǒng)的LSA模型中,把“交通工具”和“汽車”、“飛機”、“輪船”、“火車”、“公交車”等看成互相沒有聯(lián)系的詞匯,而事實上它們之間具有包含關(guān)系,即后面的概念是前面的概念的子概念。然而傳統(tǒng)的LSA模型中,沒有在概念層次上考慮這種關(guān)系,所以在語義層次上很難提高,造成了語義信息的大量丟失。如果能夠從外部對這些語義信息加以彌補,將很有可能提高檢索的準確率和召回率。

發(fā)明內(nèi)容
本發(fā)明的目的是針對特定領(lǐng)域或者特定組織內(nèi)部的非格式化的信息,提出一種基于語義的本地文檔檢索方法。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是首先按照傳統(tǒng)的LSA方法對本地文檔進行索引,然后根據(jù)本體對查詢語句中出現(xiàn)的概念進行語義擴展,再根據(jù)查詢及其擴展概念生成查詢向量,向量的值會考慮查詢概念和擴展概念的相似度,所以在一定程度上彌補了傳統(tǒng)LSA模型在語義上的缺失。
現(xiàn)詳細描述本發(fā)明的技術(shù)方案。
一種基于語義的本地文檔檢索方法需要在以下的硬件環(huán)境中實現(xiàn)該硬件環(huán)境含有客戶端、服務(wù)器和有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò),客戶端和服務(wù)器連接在有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)上,其特征在于,該方法包括兩個過程一、在進行檢索前需要做準備工作,即需要根據(jù)傳統(tǒng)的LSA算法對文檔建立索引以及建立領(lǐng)域本體和計算本體中概念的相似度第1步,對本地需要檢索的非格式化文檔,根據(jù)傳統(tǒng)的LSA方法建立索引,過程如下第1.1步對于本地的文檔集,通過分詞工具對文檔集合的每篇文檔內(nèi)容進行分詞,同時對于每篇文檔中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體、其它專名進行詞頻統(tǒng)計,即計算出tfij,分詞工具是海量集團的中文分詞工具,http://www.hylanda.com/;第1.2步根據(jù)第1.1步的結(jié)果,可以形成關(guān)鍵詞-文檔詞頻矩陣,矩陣的行表示的是關(guān)鍵詞在不同文檔中的詞頻特征,矩陣的列表示的是文檔中所有詞的詞頻特征,矩陣中第i行第j列的值表示的是第i個關(guān)鍵詞在第j篇文檔中的詞頻;第1.3步根據(jù)第1.2步的結(jié)果,計算出每個詞在整個文檔集中出現(xiàn)該詞的文檔的個數(shù),即ni;第1.4步根據(jù)第1.3步的結(jié)果,同時根據(jù)log2(N/ni)計算出每個詞的全局權(quán)重,即idfi,對數(shù)的真數(shù)由1+N/ni變?yōu)镹/ni,這種變化的意義基于以下假設(shè)如果所搜索的整個文本集中每一篇文本都出現(xiàn)第i個關(guān)鍵詞,那么第i個關(guān)鍵詞在區(qū)分這些文本所能貢獻的力量將趨近于0,表現(xiàn)在公式中就是對于所有的i都有wij=0;第1.5步由第1.1步和第1.4步,根據(jù)公式wij=tfij*idfi=tfij*log2(N/ni)計算出每個詞的權(quán)重;第1.6步索引過程到第1.5步結(jié)束,將第1.5步得到的關(guān)鍵詞-文檔權(quán)重矩陣At×d作為特征矩陣保存,該矩陣的行表示的是關(guān)鍵詞在不同文檔中的權(quán)重特征,矩陣的列表示的是文檔中所有詞的權(quán)重特征。矩陣中第i行第j列的值表示的是第i個關(guān)鍵詞在第j篇文檔中的權(quán)重;第2步,根據(jù)人類對世界的認識,對概念的基本分類,利用建立本體的工具,建立一個知識本體,它是對概念在語義層次上的理解,本體的建立可以找專家建立;第3步,計算出本體中所有概念之間的語義相似度,計算得方法是第3.1步,計算本體概念樹每個概念的深度,深度的計算方法是對于本體概念樹中概念N,它的深度定義為Depth(N)=Depth(parentOf(N))+1,其中,根節(jié)點的深度為0,即若root表示本體概念樹的根,則Depth(root)=0;patentOf(N)表示N的父親概念或父親節(jié)點;第3.2步,根據(jù)第3.1步計算本體中任意兩個概念之間的長度,計算方法是對于本體概念樹中任意兩個節(jié)點N1、N2,則它們之間的長度定義為Length(N1,N2)=Depth(N1)+Depth(N2)-2*Depth(com_parent(N1,N2)),com_parent(N1,N2)表示N1和N2的公共父親概念或公共父親節(jié)點;第3.3步,根據(jù)第3.1步計算本體中任意節(jié)點的高度,計算方法是對于本體概念樹中任意節(jié)點N,它的高度定義為Height(N)=Max(Depth(childOf(N))),其中Max表示求最大值,childOf(N)表示N的所有子孫,即N的高度應(yīng)該是其所有子孫的深度的最大值,也就是從N的任意一個子孫到N距離的最大值;第3.4步,根據(jù)第3.1步、第3.2步、第3.3步計算本體中任意兩個節(jié)點之間的語義相似度,計算方法是對本體概念樹中任意兩個節(jié)點N1,N2之間的語義相似度的定義為SN(N1,N2)SN(N1,N2)=Depth(com_parent(N1,N2))Height(root)×(length(N1,N2)+1);]]>
第3.5步,根據(jù)第3.4步計算結(jié)果,將所有概念兩兩之間的相似度保存;二、基于語義的本地文檔檢索的操作步驟第一步,用戶通過便攜式設(shè)備如PDA或個人電腦,即PC,通過設(shè)計的界面向服務(wù)器提出查詢請求,查詢請求是一個以自然語言形式描述的語句,PDA將該語句以XML文件的形式傳送給服務(wù)器,服務(wù)器接收到該XML文件后,解析XML文件內(nèi)容,獲得查詢請求;第二步,服務(wù)器利用分詞工具對查詢請求即查詢語句分詞,提取其中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體名、其它專名,將它們作為查詢概念;第三步,根據(jù)本體和第二步,對查詢概念進行擴展,得到查詢概念的擴展概念以及它們的相似度,擴展的方法如下根據(jù)準備工作第3步得到的概念之間的相似度對由第二步獲得的查詢概念進行擴展,擴展的方法是定義一個閾值θ,凡是和查詢概念之間相似度大于θ的概念都作為查詢概念的擴展概念;第四步,根據(jù)第三步和準備工作中準備的關(guān)鍵詞-文檔矩陣對應(yīng)的關(guān)鍵詞生成查詢向量q,如果關(guān)鍵詞是查詢概念則其值取1,如果關(guān)鍵詞是查詢概念的擴展概念,則其值是查詢概念和該概念之間的相似度;除此之外,向量中對應(yīng)分量的值取0;第五步,對關(guān)鍵詞-文檔矩陣進行奇異值分解(SVD),即At×d=Tt×t·St×d·Dd×dT,]]>然后A將分解后的矩陣降稚到K維,即Ak=Tt×t·diag(σ1,σ2,...σk,0,...,0)·Dd×dT,]]>降維的方法是如果Σi=0jσi≥α×Σi=0rσi]]>則k=j(luò),其中0<α≤1;σi是非0的奇異值,r為關(guān)鍵詞-文本矩陣分解后,中間矩陣的秩,α反映了對原始矩陣信息量的保持程度,例如α=0.7就是保留了原始矩陣70%的信息而去除了30%的信息(可能是噪聲);第六步,根據(jù)第四步和第五步,將查詢向量q變化到K維空間,向量變化空間的方法是q*=qTTKSK-1]]>其中q*是變化后的K維空間向量,q是原始查詢向量,Tk是降維后A的左奇異向量矩陣(即Tt×t的前t行K列),SK是降維后A的奇異值矩陣(即St×d的前K行K列);第七步,根據(jù)第六步,計算降維后的查詢向量和每一篇文檔對應(yīng)向量(即D的每一個K維行向量)的相似度,并根據(jù)相似度大小排序,相似度越大排的越靠前,向量相似度的計算方法是經(jīng)典的Cos夾角的計算方法,具體是sim(q*,dj)=Σm=1kwim×wjm(Σm=1kwim2)·(Σm=1kwjm2)]]>其中,q*為查詢向量,dj為第j個文本向量,k為語義空間的維數(shù),wim為q*的第m維權(quán)值,wjm為dj的第m維的權(quán)值,這樣就可以計算查詢向量q*與每篇文本向量相似度,把相似度高于閾值的文本按相似度大小從高到低排列文本,再將該檢索結(jié)果返回給用戶。
本發(fā)明與已有技術(shù)相比所具有的優(yōu)點本發(fā)明主要應(yīng)用于本地非格式化文檔信息的檢索。下面主要將其和傳統(tǒng)的關(guān)系數(shù)據(jù)庫、網(wǎng)絡(luò)搜索引擎(如Google)、操作系統(tǒng)自帶的文件搜索功能以及傳統(tǒng)的LSA檢索功能進行比較。
1、與傳統(tǒng)的關(guān)系數(shù)據(jù)庫比較傳統(tǒng)的數(shù)據(jù)庫查詢,主要是基于字符串的匹配功能,因此無法避免一詞多義引起的查不準和多詞一義引起的查不全的問題。另外由于傳統(tǒng)數(shù)據(jù)庫查詢原理是基于詞或者字段的匹配功能,很難支持部分匹配功能。本發(fā)明與傳統(tǒng)的數(shù)據(jù)庫查詢不同,它是基于潛語義分析(LSA)的方法。LSA是一種通過分析大量文本集,自動生成關(guān)鍵詞-概念(語義)之間的映射規(guī)則的方法。它的基本假設(shè)是文本內(nèi)容的意思與該文本中使用的詞匯有著很強的聯(lián)系。[2]它認為詞語在文本中的使用模式內(nèi),存在著潛在的語義結(jié)構(gòu),同義詞之間具有基本相同的語義結(jié)構(gòu),多義詞的使用必定具有多種不同的語義結(jié)構(gòu),而詞語之間的這種語義結(jié)構(gòu)體現(xiàn)為它們在文本中的出現(xiàn)頻率上,通過統(tǒng)計學方法,提取并量化這些潛在的語義結(jié)構(gòu),進而消除同義詞、多義詞的影響,提高文本表示的準確性。[4]因此本發(fā)明可以一定程度上避免傳統(tǒng)數(shù)據(jù)庫檢索的弊病。另外,從應(yīng)用領(lǐng)域來說,本發(fā)明主要是針對非格式化信息的查詢,是傳統(tǒng)數(shù)據(jù)庫很難應(yīng)用的領(lǐng)域。
2、與網(wǎng)絡(luò)搜索引擎比較對于網(wǎng)絡(luò)搜索引擎,雖然各個搜索引擎公司都有自己的Page Rank算法,但是這些算法的基本思想是部分地考慮Web網(wǎng)頁的內(nèi)容以及該網(wǎng)頁的鏈入度和鏈出度,同時還要考慮自己的商業(yè)利益。這種搜索引擎相比本發(fā)明有以下缺點1)搜索內(nèi)容只能針對Web頁面信息,應(yīng)用面不廣;2)搜索的頁面來自整個Internet,針對性不強。3)搜索引擎多是基于字符串匹配,沒有的Web文檔內(nèi)容進行語義層次的理解。相對搜索引擎的缺點,本發(fā)明的優(yōu)點是1)搜索的內(nèi)容表達形式多樣,可以使Web文檔、文本文檔、word文檔等等;2)搜索的范圍可以針對特定的領(lǐng)域、應(yīng)用;3)本發(fā)明是基于LSA,是對文檔內(nèi)容語義層次的理解。
①和操作系統(tǒng)自帶的文件搜索功能比較現(xiàn)在的操作系統(tǒng)大多帶有文件搜索功能,但是這種功能大多只限于對文件名、創(chuàng)建日期等信息的查找,幾乎沒有涉及文件內(nèi)容的查找。而本發(fā)明恰恰是基于對文件內(nèi)容的語義理解基礎(chǔ)上的查找,因此查找出的內(nèi)容也更加符合用戶的需求。另外,操作系統(tǒng)的文件查找功能,一般是基于文件名字符串匹配出來的,所以需要和每個文件名相比較,因此耗時比較長。然而,對于本發(fā)明由于它在檢索之前已經(jīng)對文檔內(nèi)容做好了索引,所以在檢索時只需要根據(jù)特征矩陣和查詢向量計算出最相關(guān)的若干篇文檔,因此檢索所需要的時間非常少(一般都在2秒鐘之內(nèi))。
②和傳統(tǒng)的LSA檢索比較正如背景技術(shù)所述,傳統(tǒng)的LSA檢索模型在語義存在著大量的丟失,沒有辦法在語義層次上理解查詢語句。然而,本發(fā)明提出的“一種基于語義的本地文檔檢索方法”,它通過本體這個外部知識庫,可以對查詢概念在語義層次上擴展,例如把“交通工具”擴展成“汽車”、“飛機”、“輪船”、“火車”、“公交車”等概念。因而可以避免傳統(tǒng)LSA模型造成了語義信息的大量丟失。因此,如果能夠從外部對這些語義信息加以彌補,將很有可能提高檢索的準確率和召回率。


圖1是SVD算法示意圖。其中,A是原始的關(guān)鍵詞-文檔矩陣,Ak是降維后的關(guān)鍵詞-文檔矩陣,T是SVD后的左奇異值矩陣,Tk是降維后的左奇異值矩陣,S奇異值矩陣,Sk是降維后的奇異值矩陣;DT是右奇異值矩陣,DTk是降維后的右奇異值矩陣。
圖2是本地非格式化文檔的檢索過程圖,其中,符號說明如下1.1用戶可以通過語音或者手工向PDA移動設(shè)備輸入需要查詢的內(nèi)容請求;1.2用戶可以通過語音或者手工向個人電腦PC機輸入需要查詢的內(nèi)容請求;1.3便攜設(shè)備PDA將用戶的請求以XML文件的形式,通過無線網(wǎng)絡(luò)傳送到服務(wù)器端;1.4個人電腦PC機將用戶的請求以XML文件的形式,通過有線網(wǎng)絡(luò)傳送到服務(wù)器端;2.1服務(wù)器端根據(jù)本發(fā)明提出的計算查詢語句和文檔的相似度的算法計算查詢語句與本地文檔的相似度,將該相似度排序并將排序的結(jié)果形成XML文件,并將該XML文件通過無線網(wǎng)絡(luò)傳送到移動便攜式設(shè)備PDA上;2.2服務(wù)器端根據(jù)本發(fā)明提出的計算查詢語句和文檔的相似度的算法計算查詢語句與本地文檔的相似度,將該相似度排序并將排序的結(jié)果形成XML文件,并將該XML文件通過無線網(wǎng)絡(luò)傳送到個人電腦PC機上;2.3便攜式設(shè)備PDA將處理的結(jié)果顯示給用戶;2.4個人電腦將處理的結(jié)果顯示給用戶。
圖3是本地文檔的檢索過程。
圖4是實施例建立的交通本體。
具體實施例方式
實施例1利用本發(fā)明的檢索方法檢索本地非格式化文檔假設(shè)有五篇文檔,它們的內(nèi)容分別為文檔1公共交通火車、飛機、汽車、巴士、地鐵文檔2交通堵塞文檔3交通行業(yè)文檔4公共交通之命脈文檔5巴士和地鐵是主要的交通工具假設(shè)檢索內(nèi)容為公共交通首先利用分詞工具,對每篇文檔中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體名、其它專名進行詞頻統(tǒng)計(一、的第1步中的第1.1步)。形成關(guān)鍵詞-文檔詞頻矩陣(如表1,一、的第1步中的第1.2步、第1.3步、第1.4步)。
表1 關(guān)鍵詞-文檔詞頻矩陣以及ni和idfi


然后,根據(jù)wij=tfij*idfi=tfij*log2(N/ni)計算每個關(guān)鍵詞在每篇文檔內(nèi)的權(quán)重,得到關(guān)鍵詞-文檔權(quán)重矩陣A(如表2所示,一、的第1步中的第1.5步、第1.6步)。
表2 關(guān)鍵詞-文檔權(quán)重矩陣A

建立本體假設(shè)建立的交通本體如圖4所示(對應(yīng)于一、的第2步)。根據(jù)SN(N1,N2)=Depth(com_parent(N1,N2))Height(root)×(length(N1,N2)+1),]]>計算出檢索概念和其他概念的相似度分別為(一、的第3步)交通0,地鐵1/6(取0.167),巴士1/6,飛機1/6,汽車1/6,火車1/6,輪船1/6,高速火車1/9,普通火車1/9。
通過PDA內(nèi)設(shè)計的軟件界面,輸入查詢請求“公共交通”。PDA將該語句以XML文件的形似傳送給服務(wù)器。服務(wù)器接收到該XML文件后,解析XML文件內(nèi)容,獲得查詢請求。(對應(yīng)于二、的第一步)對查詢請求利用分詞工具分詞得到查詢概念“公共交通”(對應(yīng)于二、的第二步)。根據(jù)相似度大于0.1的概念為查詢概念的擴展概念,則公共交通的擴展概念為地鐵,巴士,飛機,汽車,火車,輪船,高速火車,普通火車。根據(jù)分析文檔集獲得的關(guān)鍵詞,生成檢索向量q檢索向量中,對應(yīng)于關(guān)鍵詞,如果關(guān)鍵詞是查詢概念則其值取1,如果關(guān)鍵詞是查詢概念的擴展概念,則其值是查詢概念和該概念之間的相似度;除此之外,向量中對應(yīng)分量的值取0(對應(yīng)于二、的第三步)。
檢索向量q

對關(guān)鍵詞-文檔權(quán)重矩陣奇異值分解(對應(yīng)于二、的第四步)分解后A的左奇異向量的特征矩陣T為


分解后A的奇異值矩陣S為

分解后A的右奇異向量特征矩陣DT為

取原有信息量的70%,計算出K=4,對SVD分解的結(jié)果進行降維(對應(yīng)于二、的第五步)。
則降維后左奇異值矩陣的近似矩陣為TK

中間矩陣的近似矩陣是SK

右奇異矩陣的近似矩陣是DTK

SK-1為


根據(jù)q*=qTTKSK-1,]]>查詢向量變形為q*(對應(yīng)于二、的第六步)

根據(jù)sim(q*,dj)=Σm=1kwim×wjm(Σm=1kwim2)·(Σm=1kwjm2),]]>計算出q*與每篇文檔的相似度分別是第一篇0.806363,第二篇-0.001475,第三篇-0.001475,第四篇0.586633,第五篇0.075094。則按照相似度從大到小排序為第一篇、第四篇、第五篇、第二篇、第三篇(對應(yīng)于二、的第七步)。對比實施例2中利用傳統(tǒng)的LSA方法的出來的結(jié)論,明顯改進后的方法更好,能夠體現(xiàn)出語義,這是因為改進后把第一篇、第五篇的排名提高了很多,從語義層次來講,這種提高具有明顯的合理性。
實施例2利用傳統(tǒng)LSA檢索方法檢索本地非格式化文檔假設(shè)有五篇文檔,它們的內(nèi)容分別為文檔1公共交通火車、飛機、汽車、巴士、地鐵文檔2交通堵塞文檔3交通行業(yè)文檔4公共交通之命脈文檔5巴士和地鐵是主要的交通工具假設(shè)檢索內(nèi)容為公共交通首先利用分詞工具,對每篇文檔中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體名、其它專名進行詞頻統(tǒng)計。形成關(guān)鍵詞-文檔詞頻矩陣,如表3所示。
表3 關(guān)鍵詞-文檔詞頻矩陣以及ni和idfi


然后,根據(jù)wij=tfij*idfi=tfij*log2(N/ni)計算每個關(guān)鍵詞在每篇文檔內(nèi)的權(quán)重,得到關(guān)鍵詞-文檔權(quán)重矩陣A,如表4所示。
表4 關(guān)鍵詞-文檔權(quán)重矩陣A


通過PDA內(nèi)設(shè)計的軟件界面,輸入查詢請求“公共交通”。PDA將該語句以XML文件的形似傳送給服務(wù)器。服務(wù)器接收到該XML文件后,解析XML文件內(nèi)容,獲得查詢請求。根據(jù)分析文檔集獲得的關(guān)鍵詞,生成檢索向量q檢索向量中,對應(yīng)于關(guān)鍵詞,如果關(guān)鍵詞是查詢概念則其值取1,否則,向量中對應(yīng)分量的值取0。
檢索向量q

對關(guān)鍵詞-文檔權(quán)重矩陣奇異值分解分解后A的左奇異向量的特征矩陣T為


分解后A的奇異值矩陣S為

分解后A的右奇異向量特征矩陣DT為

取原有信息量的70%,計算出K=4,對SVD分解的結(jié)果進行降維。
則降維后,左奇異值矩陣的近似矩陣為TK

中間矩陣的近似矩陣是SK

右奇異矩陣的近似矩陣是DTK

SK-1為


根據(jù)q*=qTTKSK-1,]]>查詢向量變形為q*

根據(jù)sim(q*,dj)=Σm=1kwim×wjm(Σm=1kwim2)·(Σm=1kwjm2),]]>計算出q*與每篇文檔的相似度分別是第一篇0.490022,第二篇0.005150,第三篇0.005150,第四篇0.868979,第五篇-0.068757。則按照相似度從大到下排序為第四篇、第一篇、第二篇、第三篇、第五篇。對比實施例1和實施例2的檢索結(jié)果,明顯改進后的方法更能體現(xiàn)出在語義層次上的理解。
參考文獻Yinghui Xu,Kyoji Umemura.Very Low-Dimensional LatentSemantic Indexing for Local Query Regions[C].Sappro,JapProc.of the Sixth International Workshop on InformationRetrieval with Asian Languages,2003,1184-91.Kakkonen,Myller,Timonen,et al.Automatic Essay Grading withProbabilistic Latent Semantic Analysis[C].Ann Arbor,USAProc.of the 2nd Workshop on Building Educational ApplicationsUsing NLP,June 200529-36.
George W.Furnas,Scott C.Deerwester,Susan T.Dumais,et al.Information Retrieval using a Singular Value DecompositionModel of Latent Semantic Structure[C].Grenoble,F(xiàn)ranceAnnual ACM Conference on Research and Development inInformation Retrieval,1988465-480.
蓋杰,王怡,武港山.基于潛在語義分析的信息檢索.計算機工程[J],2004,30(2)58-60.
權(quán)利要求
1.一種基于語義的本地文檔檢索方法需要在以下的硬件環(huán)境中實現(xiàn)該硬件環(huán)境含有客戶端、服務(wù)器和有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò),客戶端和服務(wù)器連接在有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)上,其特征在于,該方法包括兩個過程一、在進行檢索前需要做準備工作,即需要根據(jù)傳統(tǒng)的LSA算法對文檔建立索引以及建立領(lǐng)域本體和計算本體中概念的相似度第1步,對本地需要檢索的非格式化文檔,根據(jù)傳統(tǒng)的LSA方法建立索引,過程如下第1.1步對于本地的文檔集,通過分詞工具對文檔集合的每篇文檔內(nèi)容進行分詞,同時對于每篇文檔中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體、其它專名進行詞頻統(tǒng)計,即計算出tfij,分詞工具是海量集團的中文分詞工具,http//www.hylanda.com/;第1.2步根據(jù)第1.1步的結(jié)果,可以形成關(guān)鍵詞-文檔詞頻矩陣,矩陣的行表示的是關(guān)鍵詞在不同文檔中的詞頻特征,矩陣的列表示的是文檔中所有詞的詞頻特征,矩陣中第i行第j列的值表示的是第i個關(guān)鍵詞在第j篇文檔中的詞頻;第1.3步根據(jù)第1.2步的結(jié)果,計算出每個詞在整個文檔集中出現(xiàn)該詞的文檔的個數(shù),即ni;第1.4步根據(jù)第1.3步的結(jié)果,同時根據(jù)log2(N/ni)計算出每個詞的全局權(quán)重,即idfi,對數(shù)的真數(shù)由1+N/ni變?yōu)镹/ni,這種變化的意義基于以下假設(shè)如果所搜索的整個文本集中每一篇文本都出現(xiàn)第i個關(guān)鍵詞,那么第i個關(guān)鍵詞在區(qū)分這些文本所能貢獻的力量將趨近于0,表現(xiàn)在公式中就是對于所有的i都有wij=0;第1.5步由第1.1步和第1.4步,根據(jù)公式wij=tfij*idfi=tfij*log2(N/ni)計算出每個詞的權(quán)重;第1.6步索引過程到第1.5步結(jié)束,將第1.5步得到的關(guān)鍵詞-文檔權(quán)重矩陣At×d作為特征矩陣保存,該矩陣的行表示的是關(guān)鍵詞在不同文檔中的權(quán)重特征,矩陣的列表示的是文檔中所有詞的權(quán)重特征。矩陣中第i行第j列的值表示的是第i個關(guān)鍵詞在第j篇文檔中的權(quán)重;第2步,根據(jù)人類對世界的認識,對概念的基本分類,利用建立本體的工具,建立一個知識本體,它是對概念在語義層次上的理解,本體的建立可以找專家建立;第3步,計算出本體中所有概念之間的語義相似度,計算得方法是第3.1步,計算本體概念樹每個概念的深度。深度的計算方法是對于本體概念樹中概念N,它的深度定義為Depth(N)=Depth(parentOf(N))+1,其中,根節(jié)點的深度為0,即若root表示本體概念樹的根,則Depth(root)=0;patentOf(N)表示N的父親概念或父親節(jié)點;第3.2步,根據(jù)第3.1步計算本體中任意兩個概念之間的長度,計算方法是對于本體概念樹中任意兩個節(jié)點N1、N2,則它們之間的長度定義為Length(N1,N2)=Depth(N1)+Depth(N2)-2*Depth(com_parent(N1,N2)),com_parent(N1,N2)表示N1和N2的公共父親概念或公共父親節(jié)點;第3.3步,根據(jù)第3.1步計算本體中任意節(jié)點的高度,計算方法是對于本體概念樹中任意節(jié)點N,它的高度定義為Height(N)=Max(Depth(childOf(N))),其中Max表示求最大值,childOf(N)表示N的所有子孫,即N的高度應(yīng)該是其所有子孫的深度的最大值,也就是從N的任意一個子孫到N距離的最大值;第3.4步,根據(jù)第3.1步、第3.2步、第3.3步計算本體中任意兩個節(jié)點之間的語義相似度,計算方法是對本體概念樹中任意兩個節(jié)點N1,N2之間的語義相似度的定義為SN(N1,N2)SN(N1,N2)=Depth(com_parent(N1,N2))Height(root)×(length(N1,N2)+1);]]>第3.5步,根據(jù)第3.4步計算結(jié)果,將所有概念兩兩之間的相似度保存;二、基于語義的本地文檔檢索的操作步驟第一步,用戶通過便攜式設(shè)備如PDA或個人電腦,即PC,通過設(shè)計的界面向服務(wù)器提出查詢請求,查詢請求是一個以自然語言形式描述的語句,PDA將該語句以XML文件的形式傳送給服務(wù)器,服務(wù)器接收到該XML文件后,解析XML文件內(nèi)容,獲得查詢請求;第二步,服務(wù)器利用分詞工具對查詢請求即查詢語句分詞,提取其中的名詞、代詞、處所詞、人名、地名、機構(gòu)團體名、其它專名,將它們作為查詢概念;第三步,根據(jù)本體和第二步,對查詢概念進行擴展,得到查詢概念的擴展概念以及它們的相似度,擴展的方法如下根據(jù)準備工作第3步得到的概念之間的相似度對由第二步獲得的查詢概念進行擴展,擴展的方法是定義一個閾值θ,凡是和查詢概念之間相似度大于θ的概念都作為查詢概念的擴展概念;第四步,根據(jù)第三步和準備工作中準備的關(guān)鍵詞-文檔矩陣對應(yīng)的關(guān)鍵詞生成查詢向量q,如果關(guān)鍵詞是查詢概念則其值取1,如果關(guān)鍵詞是查詢概念的擴展概念,則其值是查詢概念和該概念之間的相似度;除此之外,向量中對應(yīng)分量的值取0;第五步,對關(guān)鍵詞-文檔矩陣進行奇異值分解(SVD),即At×d=Tt×t·St×d·Dd×dT,]]>然后A將分解后的矩陣降稚到K維,即Ak=Tt×t·diag(σ1,σ2,...σk,0,...,0)·Dd×dT,]]>降維的方法是如果Σi=0jσt≥α×Σt=0rσt]]>則k=j(luò),其中0<α≤1;σi是非0的奇異值,r為關(guān)鍵詞-文本矩陣分解后,中間矩陣的秩,α反映了對原始矩陣信息量的保持程度,例如α=0.7就是保留了原始矩陣70%的信息而去除了30%的信息(可能是噪聲);第六步,根據(jù)第四步和第五步,將查詢向量q變化到K維空間,向量變化空間的方法是q*=qTTKSK-1]]>其中q*是變化后的K維空間向量,q是原始查詢向量,Tk是降維后A的左奇異向量矩陣(即Tt×t的前t行K列),SK是降維后A的奇異值矩陣(即St×d的前K行K列);第七步,根據(jù)第六步,計算降維后的查詢向量和每一篇文檔對應(yīng)向量(即D的每一個K維行向量)的相似度,并根據(jù)相似度大小排序,相似度越大排的越靠前,向量相似度的計算方法是經(jīng)典的Cos夾角的計算方法,具體是sim(q*,dj)=Σm=1kwim×wjm(Σm=1kwim2)·(Σm=1kwjm2)]]>其中,q*為查詢向量,dj為第j個文本向量,k為語義空間的維數(shù),wim為q*的第m維權(quán)值,wjm為dj的第m維的權(quán)值,這樣就可以計算查詢向量q*與每篇文本向量相似度,把相似度高于閾值的文本按相似度大小從高到低排列文本,再將該檢索結(jié)果返回給用戶。
全文摘要
一種基于語義的本地文檔檢索方法,屬于信息檢索的技術(shù)領(lǐng)域。傳統(tǒng)的LSA方法,基于詞袋模型,很難在概念層次上進行擴展,在語義層面上存在很多的信息丟失。本發(fā)明采用的檢索方法是首先按照傳統(tǒng)的LSA方法對本地文檔進行索引,然后根據(jù)本體對查詢語句中出現(xiàn)的概念進行語義擴展,再根據(jù)查詢及其擴展概念生成查詢向量,向量的值會考慮查詢概念和擴展概念的相似度,所以在一定程度上彌補了傳統(tǒng)的LSA方法在語義上的缺失。本發(fā)明的重要意義是對非結(jié)構(gòu)化的文檔信息科學的索引和有效的檢索;實現(xiàn)對非結(jié)構(gòu)化信息的隨時隨地的檢索,幫助用戶方便及時地獲得自己需要的信息。
文檔編號G06F17/27GK101059806SQ200710041649
公開日2007年10月24日 申請日期2007年6月6日 優(yōu)先權(quán)日2007年6月6日
發(fā)明者顧君忠, 楊靜, 李子成, 張偉, 孫雙, 劉峰, 黃文蓓, 董曉春, 王 鋒 申請人:華東師范大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1