專利名稱:處理查詢的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及因特網(wǎng)搜索,尤其涉及使用語(yǔ)義歧義消除與擴(kuò)展的因特網(wǎng)搜索。
背景技術(shù):
在處理龐大數(shù)據(jù)集時(shí),例如文檔數(shù)據(jù)庫(kù)或因特網(wǎng)上的網(wǎng)頁(yè),可用數(shù)據(jù)的容量會(huì)造成難以找到有關(guān)信息。嘗試使用了各種各樣的搜索方法來在這樣的信息庫(kù)中找到有關(guān)信息。其中一些最好的所知的系統(tǒng)是網(wǎng)絡(luò)搜索引擎,例如允許用戶執(zhí)行基于關(guān)鍵詞搜索的Yahoo(商標(biāo))和Google(商標(biāo))。這些搜索通常涉及將用戶輸入的關(guān)鍵詞與網(wǎng)頁(yè)索引中的關(guān)鍵詞進(jìn)行匹配。
然而,現(xiàn)有的因特網(wǎng)搜索方法經(jīng)常產(chǎn)生不是特別有用的結(jié)果。該搜索會(huì)返回很多結(jié)果,但僅有少量與用戶的查詢有關(guān)或根本沒有與用戶查詢有關(guān)的。另一方面,所述搜索會(huì)返回少量的結(jié)果,其中沒有一個(gè)是用戶正在搜尋的精確結(jié)果,同時(shí)無法返回潛在的相關(guān)結(jié)果。
在執(zhí)行所述搜索中會(huì)遇到一些困難的原因是在自然語(yǔ)言中使用的單詞的產(chǎn)生歧義。特別是,由于一個(gè)單詞會(huì)具有多種含義,所以經(jīng)常遇到困難。過去通過使用被稱為詞義歧義消除的技術(shù)處理該所述難題,所述技術(shù)包括將單詞轉(zhuǎn)換成具有特定的語(yǔ)義的詞義。例如,單詞“bank”可以具有“金融機(jī)構(gòu)”的含義或其他附加的定義。
第6,453,315號(hào)美國(guó)專利公開了基于詞義的信息組織和檢索。所述專利公開了通過概念詞典與概念之間的關(guān)系來創(chuàng)建一個(gè)語(yǔ)義空間。將查詢映射到表示所述查詢的位置與語(yǔ)義空間的含義區(qū)分器。通過確定區(qū)分器之間的語(yǔ)義差別來確定接近度和詞義來完成搜索。所述系統(tǒng)依賴用戶,并以所述系統(tǒng)所確定的詞義為基礎(chǔ)來確定所述搜索或另外通過在搜索結(jié)果中所找到的節(jié)點(diǎn)來導(dǎo)航。
如現(xiàn)有技術(shù)中已知的,通過“精度”和“重復(fù)度”來對(duì)信息檢索的有效性評(píng)價(jià)進(jìn)行量化。通過用在一個(gè)搜索中找到的正確結(jié)果的數(shù)量除以結(jié)果的整體數(shù)量可以量化精度。通過用在一個(gè)搜索中找到的正確結(jié)果的數(shù)量除以可能正確的結(jié)果的整體數(shù)量可以量化重復(fù)度??梢院?jiǎn)單地通過返回所有可能的結(jié)果來獲得完全的重復(fù)度(即100%),但是這會(huì)導(dǎo)致非常差的精度。大多數(shù)現(xiàn)有的系統(tǒng)力爭(zhēng)平衡精度與重復(fù)度的標(biāo)準(zhǔn)。例如通過使用同義詞來提供更多的可能結(jié)果而提高重復(fù)度,必然會(huì)降低精度。另一方面,通過縮小搜索結(jié)果,例如通過選擇與查詢中的單詞的精確順序相匹配的結(jié)果將降低重復(fù)度。
因此需要一種解決現(xiàn)有技術(shù)的缺陷的查詢的處理系統(tǒng)和方法。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供了一種信息搜索方法,包括以下步驟消除查詢的歧義,根據(jù)關(guān)鍵詞義消除信息的歧義并索引信息,通過使用所述查詢中的關(guān)鍵詞義和與所述查詢中的關(guān)鍵詞義語(yǔ)義相關(guān)的其他詞義,搜索已索引的信息來找到與所述查詢相關(guān)的信息,以及返回搜索結(jié)果,所述搜索結(jié)果包括包含關(guān)鍵詞義和其他語(yǔ)義上相關(guān)的詞義的信息。
所述方法可以應(yīng)用于任何使用關(guān)鍵詞進(jìn)行索引的數(shù)據(jù)庫(kù)。優(yōu)選地,把所述方法應(yīng)用于因特網(wǎng)搜索。
語(yǔ)義關(guān)系可以是任何邏輯上或語(yǔ)法上定義的兩個(gè)單詞之間的關(guān)系類型。這種關(guān)系的實(shí)例為同義關(guān)系、下義關(guān)系等。
消除查詢的歧義的步驟包括給關(guān)鍵詞義分配概率。類似地,消除信息的歧義的步驟包括為關(guān)鍵詞義添加概率。
在本方法中使用的關(guān)鍵詞義可以是比較精細(xì)的關(guān)鍵詞義的粗略分組。
在另一方面,提供一種面向數(shù)據(jù)庫(kù)的處理查詢的方法。該方法包括以下步驟獲得來自用戶的查詢;使用知識(shí)庫(kù)消除查詢的歧義來獲得一個(gè)與查詢中單詞有關(guān)的可確認(rèn)的詞義(或解釋)的集合。而且,如果所述集合包含多于一個(gè)的可確認(rèn)的詞義(或解釋),然后執(zhí)行下面的附加的步驟從集合中選擇一個(gè)詞義(或解釋)作為一個(gè)最好的詞義(或解釋);利用最好的查詢?cè)~義來確定來自與最好的詞義相關(guān)的數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果;通過執(zhí)行與最好的詞義相關(guān)的結(jié)果來再消除集合中的剩余的詞義的歧義;從剩余的詞義中選擇一個(gè)近乎最好的詞義;并且利用查詢的近乎最好的詞義來確定來自與近乎最好的詞義相關(guān)的數(shù)據(jù)庫(kù)的相關(guān)結(jié)果。
在所述方法中,消除查詢的歧義的步驟包括使用從下面的算法中選出的一種算法一種樣本歧義消除算法,一種n單詞歧義消除算法,和一種優(yōu)先歧義消除算法。
所述方法還包括獲得一個(gè)來自用戶的已被選擇的可確認(rèn)的詞義,所述用戶確定一個(gè)來自可確認(rèn)的詞義集合的已被選擇的詞義;并且用數(shù)據(jù)更新知識(shí)庫(kù),所述數(shù)據(jù)是關(guān)于查詢和已被選擇的可確認(rèn)的詞義的。
在所述方法中,數(shù)據(jù)包括對(duì)于用戶的數(shù)據(jù);在所述方法中,數(shù)據(jù)還包括對(duì)于與用戶和查詢相關(guān)的一個(gè)會(huì)話的數(shù)據(jù)。
在另一方面,提供一種面向數(shù)據(jù)庫(kù)的處理查詢的方法。所述方法包括以下步驟獲得來自用戶的查詢;并且使用知識(shí)庫(kù)消除查詢的歧義來獲得與查詢中單詞有關(guān)的可確認(rèn)的詞義的一個(gè)集合。如果所述集合包括多于一個(gè)的可確認(rèn)的詞義。則所述方法包括從集合中選擇一個(gè)詞義作為最好的詞義;利用查詢的最好的詞義來確定來自與最好的詞義有關(guān)的數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果;擴(kuò)展最好的詞義獲得最好的詞義的相關(guān)的詞義,進(jìn)而產(chǎn)生查詢的一個(gè)擴(kuò)展的最好詞義;把查詢的擴(kuò)展的最好詞義與跟數(shù)據(jù)庫(kù)有關(guān)的一個(gè)索引相比較。然后通過以下方式,所述方法能夠選擇性地處理集合的剩余的詞義通過排除與最好的詞義相關(guān)的結(jié)果來再消除集合的剩余的詞義的歧義;從剩余的詞義中選擇下一個(gè)最好的詞義;利用查詢的近乎最好的詞義來確定來自與近乎最好的詞義有關(guān)的數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果;并且確定與近乎最好的詞義相關(guān)的術(shù)語(yǔ),所述術(shù)語(yǔ)把近乎最好的詞義與最好詞義分辨開來。接下來,所述方法包括利用擴(kuò)展查詢的最好的詞義獲得來自數(shù)據(jù)庫(kù)的結(jié)果的步驟;為用戶生成一個(gè)查詢,利用術(shù)語(yǔ)來測(cè)試是否次最好詞義是用戶表示的意思;獲得來自用戶的一個(gè)響應(yīng),確定來自顯示結(jié)果的一個(gè)所要表達(dá)的詞義;并且利用響應(yīng)來進(jìn)一步的再消除詞義的集合的歧義。
在所述方法中,消除查詢的歧義的步驟包括使用下面的一種算法一種樣本歧義消除算法,一種n單詞歧義消除算法,和一種優(yōu)先的歧義消除算法。
然而在另一方面,提供處理一個(gè)面向數(shù)據(jù)庫(kù)的查詢的方法。所述方法包括以下步驟從用戶獲得查詢;和使用知識(shí)庫(kù)消除查詢的歧義來獲得一個(gè)與查詢中單詞有關(guān)的可確認(rèn)的詞義的集合。如果集合包含多于一個(gè)的可確認(rèn)的詞義,則所述方法還包括以下步驟從集合中選擇一個(gè)詞義作為一個(gè)最好的詞義;并且有選擇地處理集合中剩下的詞義。所述再歧義消除通過以下方式來執(zhí)行通過排除與最好的詞義有關(guān)的結(jié)果,再消除集合的剩余的詞義的歧義;并且從剩余的詞義中選擇至少一個(gè)近乎最好詞義來形成已被再歧義消除的剩余的詞義的集合。對(duì)于最好的詞義和已被再歧義消除剩余詞義集合的每個(gè)成員,所述方法還包括以下步驟擴(kuò)展相關(guān)的詞義來獲得相關(guān)的詞義,進(jìn)而生成查詢的擴(kuò)展集;把擴(kuò)展詞義與跟數(shù)據(jù)庫(kù)有關(guān)的一個(gè)索引相比較;并且利用擴(kuò)展詞義獲得來自數(shù)據(jù)庫(kù)的結(jié)果。所述方法還包括以下步驟從用戶獲得一個(gè)指示性注釋,所述指示性注釋是查詢的一種傾向性詞義,是由從數(shù)據(jù)庫(kù)返回的結(jié)果產(chǎn)生的,并且利用指示來進(jìn)一步地歧義消除詞義的集合。
在另一方面,提供一種修改知識(shí)庫(kù)的方法,所述知識(shí)庫(kù)是與查詢有關(guān)的面向數(shù)據(jù)庫(kù)的。所述方法包括以下步驟使用知識(shí)庫(kù)消除查詢的歧義來獲得與查詢中的單詞有關(guān)的可確認(rèn)的詞義的一個(gè)集合;確認(rèn)來自集合的一個(gè)所表達(dá)的詞義;并且用與查詢和已被選擇的可確認(rèn)的詞義相關(guān)的數(shù)據(jù)來更新數(shù)據(jù)庫(kù)。
在所述方法中,消除查詢的歧義的步驟利包括使用一個(gè)下面的算法一個(gè)樣本歧義消除算法。一個(gè)n單詞歧義消除算法,和一個(gè)優(yōu)先歧義消除算法。而且,更新知識(shí)庫(kù)的步驟包括更新一個(gè)與算法相關(guān)的本地知識(shí)庫(kù)。
另一方面,提供上面幾個(gè)方面的集合和子集的各種各樣的組合。
通過下面對(duì)本發(fā)明的具體實(shí)施例的描述和附圖,本發(fā)明的上述和其它方面將會(huì)變的更加清楚,其中,附圖只是示例性地示出本發(fā)明的原理。在附圖中,用相同的附圖標(biāo)記表示相同的單元(并且其中每個(gè)單元帶有唯一的字母后綴)
圖1是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施例提供詞義歧義消除的信息檢索系統(tǒng)的示意圖;圖2是圖1系統(tǒng)中的單詞與詞義的示意圖;圖3A是圖1系統(tǒng)的代表性的語(yǔ)義關(guān)系或單詞的示意圖;圖3B是用來表示圖1系統(tǒng)的圖3A的語(yǔ)義關(guān)系的數(shù)據(jù)結(jié)構(gòu)圖;圖4是由圖1系統(tǒng)使用圖2的詞義以及圖3A的語(yǔ)義關(guān)系所執(zhí)行的方法的流程圖;圖5是將由圖1系統(tǒng)提供的使用詞義歧義消除來處理查詢的一種方法流程圖;圖6是將由圖1系統(tǒng)提供的使用詞義歧義消除來處理查詢的另一種方法的流程圖;并且圖7是將由圖1系統(tǒng)提供的使用個(gè)人化來處理查詢的方法流程圖。
具體實(shí)施例方式
以下的描述,以及其中描述的實(shí)施例只是示例性地示出反映本發(fā)明原理地一個(gè)或多個(gè)具體實(shí)施例。提供這些實(shí)例的目的在于解釋而非限制本發(fā)明的原理。在以下的說明中,在整個(gè)說明書與附圖用相同的各個(gè)附圖標(biāo)記標(biāo)注相同的部件。
在后續(xù)的說明中會(huì)使用以下的術(shù)語(yǔ),并且所使用的術(shù)語(yǔ)具有以下所示的含義計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)用于存儲(chǔ)計(jì)算機(jī)的指令或數(shù)據(jù)的硬件。例如,磁盤、磁帶、諸如CDROM那樣的光學(xué)可讀介質(zhì),以及諸如PCMCIA卡那樣的半導(dǎo)體存儲(chǔ)器。在每一種情況下,介質(zhì)可以采取諸如小型磁盤、軟盤、盒式磁帶那樣的便攜物件的形式,或采取諸如硬盤驅(qū)動(dòng)器、固態(tài)存儲(chǔ)卡或RAM那樣的相對(duì)較大或固定物件的形式。
信息包含可搜索的、用戶感興趣的內(nèi)容的文檔、網(wǎng)頁(yè)、電子郵件、圖像描述、抄本、存儲(chǔ)文本等,這些內(nèi)容例如是,與新聞文章、新聞組消息、網(wǎng)絡(luò)日志等有關(guān)的內(nèi)容。
模塊執(zhí)行特定步驟和/或處理過程的軟件或硬件組件;可以在運(yùn)行于通用處理器上的軟件中實(shí)現(xiàn)。
自然語(yǔ)言人而非機(jī)器或計(jì)算機(jī)所能理解的單詞信息。
網(wǎng)絡(luò)設(shè)備的互連系統(tǒng),所述設(shè)備配置成使用特定協(xié)議在通信信道上進(jìn)行通信。它可以是一個(gè)局域網(wǎng)、廣域網(wǎng)、因特網(wǎng)或類似的在通信線路上或通過無線傳輸工作的網(wǎng)絡(luò)。
查詢表示一列具有期望查詢結(jié)果的指示性的關(guān)鍵詞;可以使用布爾運(yùn)算符(例如“與”、“或”);可以用自然語(yǔ)言表示。
查詢模塊處理查詢的硬件或軟件組件。
搜索引擎響應(yīng)來自用戶的查詢,提供涉及用戶感興趣的信息的搜索結(jié)果的硬件或軟件組件??梢愿鶕?jù)關(guān)聯(lián)性排列和/或分類來查詢結(jié)果。
參照附圖1,用數(shù)字10整體表示與一個(gè)實(shí)施例有關(guān)的信息檢索系統(tǒng)。所述系統(tǒng)包括一個(gè)可以通過網(wǎng)絡(luò)14訪問的信息庫(kù)12。信息庫(kù)12可以包括文檔、網(wǎng)頁(yè)、數(shù)據(jù)庫(kù)等。優(yōu)選地,網(wǎng)絡(luò)14是因特網(wǎng),而且信息庫(kù)12包含網(wǎng)頁(yè)。當(dāng)網(wǎng)絡(luò)14是因特網(wǎng)時(shí),協(xié)議包括TCP/IP(傳輸控制協(xié)議/網(wǎng)絡(luò)協(xié)議)。各種客戶機(jī)16在物理網(wǎng)絡(luò)情況下通過線路或通過無線發(fā)射器和接收器的方式連接到網(wǎng)絡(luò)14。每一個(gè)客戶機(jī)16包括一個(gè)為本領(lǐng)域技術(shù)人員所理解的網(wǎng)絡(luò)接口。網(wǎng)絡(luò)14為客戶機(jī)16提供對(duì)信息庫(kù)12中內(nèi)容的訪問。為了使客戶機(jī)16能夠在信息庫(kù)12內(nèi)找到特定的信息、文檔、網(wǎng)頁(yè)等,把系統(tǒng)10配置成允許客戶機(jī)16通過提交查詢來搜索信息。該查詢包括至少一列關(guān)鍵詞,而且還具有采取諸如“與”和“或”的布爾關(guān)系的形式結(jié)構(gòu)。在自然語(yǔ)言中查詢還可以由句子或問題構(gòu)成。
所述系統(tǒng)包括搜索引擎20,搜索引擎20連接到網(wǎng)絡(luò)14,接收來自客戶機(jī)16的查詢并將查詢導(dǎo)向信息庫(kù)12內(nèi)的單個(gè)文檔。搜索引擎20可以通過專用硬件來實(shí)現(xiàn),或通過運(yùn)行在通用處理器上的軟件來實(shí)現(xiàn)。所述搜索引擎運(yùn)行來定位信息庫(kù)12中的文檔,所述文檔與來自客戶機(jī)的查詢相關(guān)。
搜索引擎20通常包括一個(gè)處理器22。所述引擎還可以直接連接到或通過網(wǎng)絡(luò)或其他諸如此類的通信方式間接地連接到顯示器24、接口26和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)28。處理器22與顯示器24和接口26耦合,接口26可以包括諸如鍵盤、鼠標(biāo)或其他相應(yīng)的用戶輸入設(shè)備。如果顯示器24是觸感式的,則可以將顯示器24本身用作接口26。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)28與處理器22耦合,向處理器22提供指令,以指示和/或設(shè)置處理器22,處理器22執(zhí)行與搜索引擎20的操作相關(guān)的步驟或算法,下面作進(jìn)一步的解釋。把計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)28的一部分或全部在物理上設(shè)置在搜索引擎28之外以容納例如非常大的存儲(chǔ)量。本領(lǐng)域技術(shù)人員會(huì)理解可以在本發(fā)明中使用多種形式的搜索引擎。
可選地并且為了更高的計(jì)算速度,搜索引擎20可以包括多個(gè)并行處理器或其他的多處理結(jié)構(gòu)。通過使用多個(gè)處理器,搜索引擎20可以對(duì)多個(gè)處理器分配任務(wù)。此外,本領(lǐng)域技術(shù)人員能夠理解,不必將所述的多個(gè)處理器在物理上設(shè)置在相同位置上,而是可以將它們?cè)诘乩砦恢蒙戏蛛x地布局,然后通過網(wǎng)絡(luò)互連。
優(yōu)選地,搜索引擎20包括數(shù)據(jù)庫(kù)30,數(shù)據(jù)庫(kù)30用于存儲(chǔ)詞義的索引并存儲(chǔ)由搜索引擎20所使用的知識(shí)庫(kù)。如本領(lǐng)域技術(shù)人員所理解的,數(shù)據(jù)庫(kù)30以結(jié)構(gòu)化方式存儲(chǔ)索引以實(shí)現(xiàn)在計(jì)算上有效地存儲(chǔ)和檢索??梢酝ㄟ^添加另外的關(guān)鍵詞義或引用另外的文檔中的現(xiàn)有的關(guān)鍵詞義來更新數(shù)據(jù)庫(kù)30。數(shù)據(jù)庫(kù)30還提供一種能夠確定哪一個(gè)文檔包含特定的關(guān)鍵詞義的檢索能力。為了提高效率,可以劃分?jǐn)?shù)據(jù)庫(kù)30,并且數(shù)據(jù)庫(kù)30可以在多個(gè)位置進(jìn)行存儲(chǔ)。
根據(jù)一個(gè)實(shí)施例,搜索引擎20包括一個(gè)詞義歧義消除模塊32,所述模塊32用于處理輸入文檔中的單詞或者對(duì)詞義的查詢。詞義是對(duì)一個(gè)單詞的解釋,需要考慮單詞的上下文及相鄰的單詞。例如,句子“我預(yù)定到紐約的航班”中的單詞“book”產(chǎn)生歧義,因?yàn)椤癰ook”可以是一個(gè)名詞或動(dòng)詞,每個(gè)詞性都具有多個(gè)潛在的含義。歧義消除模塊32進(jìn)行單詞處理的結(jié)果是一個(gè)已消除歧義的文檔或是一個(gè)包含詞義的已消除歧義的查詢,而不是模糊的的或未經(jīng)解釋的單詞。所述輸入文檔可以是信息庫(kù)中的任何信息單元或從客戶機(jī)接收到的查詢中的一個(gè)。詞義歧義消除模塊32為文檔或查詢中的每個(gè)單詞辨別詞義。詞義歧義消除模塊32通過使用廣泛的互連語(yǔ)言技術(shù),分析上下文中的語(yǔ)法(例如詞性、語(yǔ)法關(guān)系)和語(yǔ)義(例如邏輯關(guān)系),進(jìn)而確定單詞的哪一個(gè)特定含義是所期望的。詞義歧義消除模塊32在執(zhí)行歧義消除時(shí),使用詞義庫(kù)可以輔助模塊12的歧義消除工作,詞義庫(kù)明確表述了詞義之間的關(guān)系。詞義庫(kù)包含以下關(guān)系,如附圖3A和3B所述。
搜索引擎20包括一個(gè)索引模塊34,用于處理一個(gè)已消除歧義的文檔來創(chuàng)建關(guān)鍵詞義的索引,并在數(shù)據(jù)庫(kù)30中存儲(chǔ)所述索引。索引模塊34是這樣一個(gè)模塊把數(shù)據(jù)編入索引供搜索引擎20使用,比如來自文檔的數(shù)據(jù)。在一個(gè)實(shí)施例中,索引模塊通過檢索網(wǎng)頁(yè)來搜索文檔,檢索網(wǎng)頁(yè)使用本領(lǐng)域中所熟知的技術(shù)。位于文檔之上,索引模塊把所述文檔提供給歧義消除模塊32,進(jìn)而為文檔內(nèi)容提供一列詞義。然后索引模塊34把數(shù)據(jù)庫(kù)中關(guān)于詞義和文檔的信息編入索引。索引包括每個(gè)關(guān)鍵詞義的一個(gè)條目,關(guān)鍵詞與它所在的文檔有關(guān)。索引最好被分類并包含每個(gè)索引關(guān)鍵詞義的位置指示。索引模塊34通過處理已消除歧義的文檔,并將每個(gè)關(guān)鍵詞義添加到索引中來創(chuàng)建索引。某些關(guān)鍵詞會(huì)出現(xiàn)太多次而無用和/或幾乎不包含語(yǔ)義信息,諸如“a”或“the”。對(duì)這些關(guān)鍵詞將不進(jìn)行索引。
搜索引擎20還包括一個(gè)用于處理來自客戶機(jī)16查詢的查詢模塊36。查詢模塊36用于接收查詢,并將它們傳送到消除歧義模塊32進(jìn)行處理。查詢模塊36隨后在索引中找到與已消除歧義的查詢有關(guān)的結(jié)果。以下將進(jìn)一步描述。所述結(jié)果包括與已消除歧義的查詢中的詞義在語(yǔ)義上相關(guān)的關(guān)鍵詞義。查詢模塊36把結(jié)果提供給客戶機(jī)??梢愿鶕?jù)關(guān)聯(lián)性對(duì)該結(jié)果進(jìn)行排列和/或打分以幫助客戶理解它們。
參考附圖2,用附圖標(biāo)記100整體指示單詞與詞義之間的關(guān)系。從所述實(shí)例可見,某些單詞具有多個(gè)含義。在多個(gè)其他可能性中,單詞“bank”可以表示(i)金融機(jī)構(gòu)的名詞;(ii)河岸的名詞;或者(iii)一種存錢行為的動(dòng)詞。詞義歧義消除模塊32將帶有歧義的單詞“bank”分成幾個(gè)具有較輕歧義的詞義存儲(chǔ)在索引中。類似地,單詞“interest”具有多個(gè)含義,包括(i)表示與一種未付的投資或貸款有關(guān)的應(yīng)支付金錢數(shù)額的名詞;(ii)表示對(duì)某事/某物特別注意的名詞;或者(iii)表示在某事/某物中的合法權(quán)利的名詞。
參考附圖3A和圖3B,顯示了詞義之間的實(shí)例語(yǔ)義關(guān)系。這些語(yǔ)義關(guān)系在含義的基礎(chǔ)上精確地定義了兩個(gè)單詞之間的關(guān)系類型。此關(guān)系是在詞義之間的,即單詞的特定含義。
尤其是在圖3A中,例如,單詞“bank”(取河岸的含義時(shí))是一種地形,單詞“bluff”(取意味著一種陸地構(gòu)造的名詞時(shí))也是一種地形。單詞“bank”(取河岸的含義時(shí))是一種斜坡(取地面坡度的含義)。單詞“bank”取金融機(jī)構(gòu)的含義時(shí)與“銀行公司”或“銀行中心”同義。單詞“bank”還是一種金融機(jī)構(gòu),所述金融機(jī)構(gòu)也是一種商業(yè)類型。根據(jù)通常所理解的銀行支付存款利息并收取貸款利息的事實(shí),單詞“bank”(取金融機(jī)構(gòu)的含義)涉及單詞“interest”(取為投資支付的錢的含義)并且也涉及單詞“l(fā)oan”(取貸款的含義時(shí))。
應(yīng)當(dāng)理解存在很多其他類型的可使用的語(yǔ)義關(guān)系。盡管在現(xiàn)有技術(shù)中是熟知的,但下面舉出了一些單詞之間的語(yǔ)義關(guān)系的實(shí)例處于同義詞中的單詞就是彼此同義的詞。上義詞是這樣一種關(guān)系,其中一個(gè)詞表示整個(gè)一類的特定例子。例如“運(yùn)輸工具”是一類詞的上義詞,包括“火車”、“戰(zhàn)車”、“狗拉的雪橇”和“汽車”,這些詞提供該類別的特定例子。同時(shí),下義詞是這樣一種關(guān)系,其中一個(gè)詞是一類例子中的一個(gè)成員。根據(jù)前面的列表,“火車”是“運(yùn)輸工具”類別的下義詞。局部詞是這樣一種關(guān)系,其中一個(gè)詞是某事物的一個(gè)組成部分、一個(gè)成分或一個(gè)成員。例如,關(guān)于“腿”與“膝蓋”之間的關(guān)系,“膝蓋”是“腿”的局部詞,因?yàn)橄ドw是腿的一個(gè)組成部分。同時(shí),整體詞是這樣一種關(guān)系,其中一個(gè)詞是局部詞的全部。根據(jù)前面的例子,“腿”是“膝蓋”的整體詞。歸入這些分類的任何語(yǔ)義關(guān)系都可以使用。另外,任何已知的指出詞義之間的特定語(yǔ)義和句法關(guān)系的語(yǔ)義關(guān)系都可以使用。
公所周知當(dāng)提供關(guān)鍵詞的字符串作為查詢時(shí)在解釋上存在歧義,而且查詢中帶有擴(kuò)展的關(guān)鍵詞列表增加了在搜索中找到的結(jié)果的數(shù)量。本實(shí)施例提供了一種系統(tǒng)和方法,可以為查詢確定關(guān)聯(lián)的、已消除歧義的關(guān)鍵詞列表。提供這樣一個(gè)按照詞義所描繪的列表減少了檢取到的無關(guān)信息的數(shù)量。該實(shí)施例擴(kuò)展了查詢語(yǔ)言而不會(huì)由于一個(gè)單詞額外的、相關(guān)的詞義而獲得無關(guān)結(jié)果。這些相關(guān)的詞義包括同義詞。例如,擴(kuò)展單詞“bank”的“金融機(jī)構(gòu)”的含義不會(huì)同時(shí)擴(kuò)展諸如“河岸”或“存錢”的其他含義。這樣信息管理軟件會(huì)更精確地確定客戶正在查找的信息。
擴(kuò)展一個(gè)查詢涉及使用以下一個(gè)或兩個(gè)步驟1.向一個(gè)已消除歧義的查詢關(guān)鍵詞義添加其他單詞以及該單詞相關(guān)的含義,該單詞相關(guān)的詞義是指與已消除歧義的關(guān)鍵詞的詞義在語(yǔ)義上相關(guān)的詞義。
2.通過解析其語(yǔ)法結(jié)構(gòu)來解釋該查詢并將其轉(zhuǎn)換成其他語(yǔ)義相等的查詢。通過解析其語(yǔ)法結(jié)構(gòu)來解釋該查詢并將其轉(zhuǎn)換成其他語(yǔ)義相等的查詢。索引包含確定對(duì)于單詞的句法結(jié)果和詞義的等同性。解釋是本領(lǐng)域已知的術(shù)語(yǔ)和概念。
還應(yīng)當(dāng)認(rèn)識(shí)到在搜索中使用詞義歧義消除解決了檢索關(guān)聯(lián)性的問題。而且,用戶經(jīng)常如同表達(dá)語(yǔ)言一樣表達(dá)查詢。然而,由于可以以多種不同的方式描述相同的含義,所以當(dāng)用戶不用相同的特定方式表達(dá)一個(gè)查詢時(shí),會(huì)遇到困難,其中,在所述的相同的特定方式中對(duì)關(guān)聯(lián)信息進(jìn)行初始分類。
例如,如果用戶正在查找有關(guān)島嶼“爪哇(Java)”的信息,并對(duì)在爪哇(島嶼)上的“假日(holidays)”感興趣,那么用戶就不會(huì)檢索到使用關(guān)鍵詞“爪哇(Java)”和“休假(vacation)”進(jìn)行分類的有用的文檔。將認(rèn)識(shí)到,根據(jù)一個(gè)實(shí)施例,語(yǔ)義擴(kuò)展特性解決了這個(gè)問題。已經(jīng)認(rèn)識(shí)到,在自然表達(dá)的查詢中,為每一個(gè)關(guān)鍵術(shù)語(yǔ)衍生精確的同義詞和子概念增加了關(guān)聯(lián)性檢索的容量。如果通過使用詞庫(kù)來執(zhí)行檢索且不執(zhí)行詞義歧義消除就會(huì)惡化該結(jié)果。例如,語(yǔ)義上擴(kuò)展單詞“Java”而沒有首先確定其精確含義將產(chǎn)生大規(guī)模且難于處理的結(jié)果集合,所述集合帶有潛在地已選定的基于不同的詞義的結(jié)果,所述不同的詞義例如“印度尼西亞”和“計(jì)算機(jī)程序設(shè)計(jì)”。還已知解釋每一個(gè)單詞的詞義所描述的方法和隨后在語(yǔ)義上擴(kuò)展該詞義的方法返回一個(gè)更全面同時(shí)具有更多目標(biāo)的結(jié)果集合。
參考附圖3B,為了幫助消除這種詞義的歧義,本實(shí)施例利用如以上對(duì)于圖3A所描述的獲得單詞關(guān)系的詞義知識(shí)庫(kù)400。知識(shí)庫(kù)400與數(shù)據(jù)庫(kù)30相關(guān)聯(lián),并且通過訪問知識(shí)庫(kù)400來幫助WSD模塊32執(zhí)行詞義歧義消除。知識(shí)庫(kù)400包含對(duì)于每個(gè)單詞詞義的單詞的定義,還包含詞義對(duì)之間關(guān)系的信息。這些關(guān)系包括詞義的定義和相關(guān)詞性(名詞、動(dòng)詞等)的定義、精細(xì)的同義詞、反義詞、下義詞、局部詞、與名詞相關(guān)的形容詞、類似的形容詞關(guān)系以及現(xiàn)有技術(shù)中已知的其他關(guān)系。當(dāng)在系統(tǒng)中使用了現(xiàn)有技術(shù)的電子詞典和詞匯數(shù)據(jù)庫(kù)時(shí),例如WordNet(商標(biāo)),知識(shí)庫(kù)400提供增強(qiáng)的單詞與關(guān)系的目錄。知識(shí)庫(kù)400包括(i)詞義之間的附加關(guān)系,例如將精細(xì)的含義歸合到粗略的含義,新型的變形和派生的構(gòu)詞關(guān)系,以及其他特殊用途的語(yǔ)義關(guān)系;(ii)對(duì)出版物資源數(shù)據(jù)庫(kù)中的數(shù)據(jù)錯(cuò)誤的大規(guī)模校正;以及(iii)在其他現(xiàn)有技術(shù)知識(shí)庫(kù)中不存在的其他的單詞、詞義以及相關(guān)關(guān)系。
在所述實(shí)施例中,知識(shí)庫(kù)400是一種概括的圖形數(shù)據(jù)結(jié)構(gòu),并作為節(jié)點(diǎn)表402和連接兩個(gè)節(jié)點(diǎn)的邊緣關(guān)系表404來實(shí)現(xiàn)。下面依次描述。在其他實(shí)施例中,知識(shí)庫(kù)400還可以通過其他的數(shù)據(jù)結(jié)果來實(shí)現(xiàn),比如數(shù)據(jù)鏈表。
在表402中,每一個(gè)節(jié)點(diǎn)是表402的一個(gè)行元素。每一個(gè)節(jié)點(diǎn)的記錄可以具有如下的字段ID字段406,類型字段408和注釋字段410。在表402中存在兩種類型的條目單詞與詞義定義。例如,通過類型字段408A中的條目“單詞”確定ID字段406A中的單詞“bank”為一個(gè)單詞。此外,范例表402提供單詞的多個(gè)定義。為了對(duì)所述定義進(jìn)行分類并區(qū)分表402中的單詞條目與定義條目,可以使用標(biāo)簽來鑒別定義條目。例如,將ID字段406B中的條目標(biāo)記為“LABEL001”。類型字段408B中的相應(yīng)的定義將所述標(biāo)簽標(biāo)記為“精細(xì)詞義”的單詞關(guān)系。注釋字段410B中的相應(yīng)的條目將所述標(biāo)簽標(biāo)記為“名詞,金融機(jī)構(gòu)”。這樣,現(xiàn)在可以將單詞“bank”連接到該詞義定義。此外,還可以將單詞“經(jīng)紀(jì)業(yè)”的條目連接到所述單詞的詞義定義。另一個(gè)實(shí)施例可以使用帶有附加后綴的常用單詞,以便輔助識(shí)別該詞義定義。例如,另一種標(biāo)簽可以為“銀行/n1”,其中后綴“/n1”表明該標(biāo)簽為名詞并且是該名詞的第一含義。應(yīng)當(dāng)理解可以使用其他形式的標(biāo)簽??梢允褂闷渌麡?biāo)識(shí)符來確定形容詞、副詞和其他詞性。在類型字段408中的條目確定了與單詞相關(guān)的類型。一個(gè)單詞存在多種有效的類型,包括單詞,精細(xì)的含義和粗略的含義。還可以提供其他類型。在本實(shí)施例中,當(dāng)一個(gè)單詞實(shí)例具有一個(gè)精細(xì)的含義時(shí),該實(shí)例還具有注釋字段410中的一個(gè)條目來提供關(guān)于該單詞實(shí)例的更多細(xì)節(jié)。
邊緣/關(guān)系表404包含一些記錄,所述記錄指出了節(jié)點(diǎn)表402中兩個(gè)條目之間關(guān)系。表404具有以下條目源節(jié)點(diǎn)ID欄412、目的節(jié)點(diǎn)ID欄414、類型欄416和注釋欄418。欄412與欄414一起用來連接表402中的條目。欄416確定連接兩個(gè)條目的關(guān)系類型。記錄具有源節(jié)點(diǎn)和目的節(jié)點(diǎn)的ID、關(guān)系的類型并且可能具有基于該類型的注釋。關(guān)系的類型包括“詞根到單詞”、“單詞到精細(xì)含義”、“單詞到粗略含義”、“粗略含義到精細(xì)含義”、“衍生”、“下義詞”、“類別”、“與名詞相關(guān)的形容詞”、“類似”、“具有部分”。還可以在其中記錄其他關(guān)系。注釋欄418中的條目提供一個(gè)(數(shù)字)鍵為一個(gè)給定的詞性唯一的確定一個(gè)邊緣類型,所述邊緣類型是從一單詞節(jié)點(diǎn)到粗略的節(jié)點(diǎn)或精細(xì)的節(jié)點(diǎn)的邊緣類型。
現(xiàn)在提供關(guān)于實(shí)施執(zhí)行步驟的詳述,所述實(shí)施利用與查詢有關(guān)的一個(gè)單詞的消除歧義的結(jié)果來執(zhí)行。參考附圖4,附圖標(biāo)記300整體地顯示了執(zhí)行這樣一個(gè)搜索的過程??梢詫⒃撨^程劃分為兩個(gè)大致階段。第一階段包括預(yù)先處理信息(或信息的子集合)來輔助響應(yīng)查詢的第二階段。在第一階段預(yù)處理,概括信息庫(kù)中的每一個(gè)文檔(或信息庫(kù)的子集合),創(chuàng)建數(shù)據(jù)庫(kù)中的索引。在步驟302中,詞義歧義消除模塊32對(duì)每個(gè)文檔中的每個(gè)單詞進(jìn)行詞義的區(qū)分。所述詞義歧義消除模塊32在前面已經(jīng)定義過了。
然后在步驟304中,搜索引擎對(duì)已消除歧義的信息應(yīng)用索引模塊,獲得關(guān)鍵詞義的索引。索引模塊34創(chuàng)建索引,創(chuàng)建索引的方式是通過處理已消除歧義的文檔并將每一個(gè)關(guān)鍵詞義添加到索引中。某些關(guān)鍵詞會(huì)出現(xiàn)太多次而無用,例如“a”或“the”。優(yōu)選地,對(duì)這些關(guān)鍵詞不進(jìn)行索引。應(yīng)當(dāng)理解,該步驟可以有效地把一個(gè)單詞當(dāng)作幾個(gè)不同的詞義進(jìn)行索引。在步驟306中,詞義的索引存儲(chǔ)在數(shù)據(jù)庫(kù)中。
在該處理的第二階段,在步驟308中搜索引擎接收來自客戶機(jī)中的一個(gè)客戶機(jī)的查詢。將所述查詢解析成單詞組件,然后對(duì)每個(gè)單詞單獨(dú)地分析所述單詞的上下文,及結(jié)合所述單詞相鄰的單詞來分析所述單詞的上下文。對(duì)單詞串的解析技術(shù)是本領(lǐng)域內(nèi)熟知的,在這里就不再重復(fù)。在步驟310中,詞義歧義消除模塊32區(qū)分所述查詢中每個(gè)單詞的含義。為了幫助歧義的消除,除了查詢本身中單詞,模塊還可以利用這樣一些結(jié)果,即先前用戶選擇的結(jié)果或用戶輸入的一個(gè)先前的已被消除歧義的查詢。
在優(yōu)選實(shí)施例中,如步驟312所示通過使用知識(shí)庫(kù)400(圖3B),搜索引擎擴(kuò)展所述已消除歧義的查詢以包括關(guān)鍵詞義,所述關(guān)鍵詞義與查詢中特定的關(guān)鍵詞義語(yǔ)義相關(guān)。在詞義基礎(chǔ)上進(jìn)行擴(kuò)展并相應(yīng)地產(chǎn)生一個(gè)詞義列表,所述詞義列表與查詢的意義有關(guān)。所述語(yǔ)義關(guān)系是參照附圖3A和圖3B的以上描述。
然后在步驟314中,搜索引擎將已消除歧義和已擴(kuò)展的查詢與數(shù)據(jù)庫(kù)中的詞義信息進(jìn)行比較。選擇知識(shí)庫(kù)中詞義與所述查詢中的關(guān)鍵詞義相匹配的條目作為結(jié)果。如上所述,所述知識(shí)庫(kù)包括索引文檔的一個(gè)數(shù)據(jù)庫(kù)。然后在步驟316中,搜索引擎將結(jié)果返還給客戶機(jī)。在一個(gè)實(shí)施例中,可以根據(jù)詞義關(guān)系對(duì)結(jié)果進(jìn)行加權(quán),所述詞義關(guān)系即結(jié)果中的單詞詞義和查詢中的關(guān)鍵詞詞義之間的關(guān)系。因此,例如,相比于結(jié)果中包含一種下義關(guān)系的詞義而言,結(jié)果中包含與所述查詢中的關(guān)鍵詞義具有同義關(guān)系的詞義時(shí),可以得到更高的權(quán)重。還可以根據(jù)概率對(duì)所述結(jié)果進(jìn)行加權(quán),所述概率即在已被消除歧義的查詢中和/或已被消除歧義的文檔中關(guān)鍵詞義的正確率。所述結(jié)果還可以通過與結(jié)果有關(guān)的文檔或網(wǎng)頁(yè)的其他特征進(jìn)行加權(quán),比如相關(guān)詞義的頻率或彼此之間的位置,或本領(lǐng)域人所熟知的排列結(jié)果的其他技術(shù)。
應(yīng)當(dāng)認(rèn)識(shí)到,在與客戶機(jī)交互之前,先執(zhí)行第一階段的預(yù)先計(jì)算步驟。第二階段可以執(zhí)行多次。當(dāng)多次執(zhí)行第二階段時(shí),不需要再重復(fù)第一階段。可以偶爾或定期執(zhí)行第一階段來保持?jǐn)?shù)據(jù)庫(kù)的流通。數(shù)據(jù)庫(kù)還可以通過下面的方式進(jìn)行增量地更新,即對(duì)信息的子集合選擇執(zhí)行第一階段,比如新增加的信息或新修改的信息。
整體上,所述實(shí)施例還使用對(duì)于詞義標(biāo)記查詢的單詞詞義歧義消除。特別是,所述實(shí)施例對(duì)詞義標(biāo)記查詢執(zhí)行了如下功能1.使用單詞詞義歧義消除來確定查詢關(guān)鍵詞的相似詞義;2.使用單詞詞義歧義消除來確定查詢的其它的相似的可替換的解釋;3.按照解釋是所要表達(dá)的意義的可能性來排列每個(gè)解釋;4.使用可替換的解釋,進(jìn)而獲得詞義和正確解釋的確認(rèn),可替換的解釋來自用戶的單詞詞義歧義消除;5.如果需要,為給定的用戶更新查詢的所表達(dá)的解釋;五個(gè)功能的詳述如下對(duì)于第一個(gè)功能,系統(tǒng)10使用歧義消除模塊32和知識(shí)庫(kù)為查詢確定一個(gè)可能的單詞詞義。為了確定似是而非的單詞詞義,所述實(shí)施例使用許多詞義歧義消除組件來確定單詞詞義,但不是必須使用所有的詞義歧義消除組件。一個(gè)組件訪問與單詞有關(guān)的一個(gè)規(guī)則集合來確定單詞詞義。所述規(guī)則確定給定單詞的詞義與相鄰單詞的詞義之間的任何關(guān)系的存在性。在所述實(shí)施例中,手動(dòng)編碼所述規(guī)則。下面是一個(gè)規(guī)則的例子在一句話中,對(duì)于兩個(gè)單詞來說,如果在它們的可能的詞義列表中,這兩個(gè)單詞有一個(gè)共同的詞義,那么就確定這個(gè)共同的詞義為可能的所要表達(dá)的詞義。在下面的句子中,存在所述規(guī)則的一個(gè)應(yīng)用,如下“他賣掉了在公司的股份,總計(jì)25%的股份?!贝颂?,單詞“interest”和“stake”都有一個(gè)共同的詞義,“權(quán)利,產(chǎn)權(quán),或?qū)δ澄锏暮戏ǖ墓善薄?。其他?shí)施例中可以使用自動(dòng)的編碼規(guī)則。
第一個(gè)功能的第二個(gè)過程,通過確定一些相關(guān)的主題來賦予單詞詞義,所述主題能夠抓住單詞的主要詞義。一個(gè)主題是加權(quán)詞義的一個(gè)向量。主題之間的相關(guān)性以可能性的權(quán)重來衡量,所述可能性即主題中的詞義在文中出現(xiàn)的可能性。當(dāng)文中確定了多個(gè)主題時(shí),每個(gè)主題與其他的主題可能是協(xié)調(diào)的或矛盾的。矛盾的主題可能會(huì)指示出查詢的不同的可能的解釋。一個(gè)矛盾的主題是一個(gè)不同的向量具有相同單詞的可替換的詞義,還會(huì)導(dǎo)致一個(gè)很長(zhǎng)的向量。
對(duì)第二個(gè)功能,實(shí)施例會(huì)使用或再使用一個(gè)歧義消除過程來確定可能的可替換的詞義和依據(jù)其他結(jié)果每個(gè)過程的結(jié)果。下面將描述其中一些過程和算法??梢岳斫膺^程和算法是實(shí)施例的組成部分。
第二個(gè)功能的第一個(gè)過程重復(fù)對(duì)于一個(gè)查詢的歧義消除過程,但是它把單詞詞義限制到以前沒有報(bào)告過的詞義上。然后所述查詢的歧義消除為單詞詞義選擇一個(gè)可替換的詞義,而且可以修改剩余單詞的詞義。這個(gè)過程對(duì)每個(gè)單詞的每個(gè)詞義都要重復(fù)執(zhí)行,進(jìn)而得到可替換的解釋集合。
另一個(gè)過程使用算法的所有集合,對(duì)于第二個(gè)功能再消除查詢的歧義,但是它把算法限制到考慮可選主題中的一個(gè)最可能的結(jié)果上(排除先前確定的最可能的主題)。因此,當(dāng)其他的算法執(zhí)行時(shí),它們各自的結(jié)果會(huì)發(fā)生變化。這樣可以系統(tǒng)地重復(fù)每個(gè)已被確定的主題,進(jìn)而獲得可替換的解釋的集合。
第二個(gè)功能的另一個(gè)算法把來自熟知的可能的詞義集合中的一個(gè)詞義賦給一個(gè)單詞,并且消除剩下的單詞的歧義。
可以分開使用第二個(gè)功能的每個(gè)算法,或結(jié)合在一起生成查詢意義的可能的可替換的解釋的一個(gè)列表。一些生成的解釋可以相互之間復(fù)制,而且僅僅對(duì)其中的一個(gè)作進(jìn)一步的處理。
對(duì)于第三個(gè)功能,對(duì)每個(gè)結(jié)果進(jìn)行排序,所述的排序可以表述每個(gè)結(jié)果的準(zhǔn)確性。例如,排序是基于每個(gè)解釋的點(diǎn)數(shù)的數(shù)量的??梢栽O(shè)定一個(gè)概率閾值,并且給每個(gè)過程的結(jié)果都賦予一個(gè)概率值。如果單詞詞義分布值在極限之上,那么要保留這樣的每個(gè)詞義。如果最上面的詞義與第二個(gè)詞義之間的差值超過了一定的增量值,那么就不應(yīng)該接受最上面的值。并且,具有被視為低概率值的解釋,因?yàn)樗鼈兊母怕手档陀谝粋€(gè)不能接受的極限,因此可能會(huì)被自動(dòng)地丟棄。
對(duì)于第四個(gè)功能,使用單詞詞義歧義消除,提供兩個(gè)算法來獲得用戶的詞義的確認(rèn)。第一個(gè)算法來自一個(gè)問題,所述問題是由與查詢有關(guān)的系統(tǒng)10造成的。第二個(gè)算法被用于選擇性地分組歧義消除的結(jié)果。下面依次討論每個(gè)算法。
參考附圖5,算法500如圖所示,描述了第四個(gè)功能的第一個(gè)算法。當(dāng)在第一個(gè)解釋的基礎(chǔ)上顯示查詢結(jié)果的時(shí)候,算法500會(huì)問用戶是否所表達(dá)的意義是第二個(gè)可能的解釋。例如,如果最初的查詢包含僅有的關(guān)鍵字“java”,算法會(huì)確定單詞“java”的一個(gè)可能的意義,與印尼有關(guān)的一個(gè)含義或一種程序語(yǔ)言。對(duì)于這個(gè)例子,假設(shè)“印尼”是更確切的解釋,則顯示這個(gè)結(jié)果。然而,作為一個(gè)附加的篩選,第一個(gè)算法為用戶生成如下問題“你說的是一種面向?qū)ο蟮木幊陶Z(yǔ)言嗎?”如果用戶的回答是肯定的,則會(huì)顯示對(duì)于所述結(jié)果的第二個(gè)解釋。
為了確定在所述問題中使用的術(shù)語(yǔ),算法500具有以下特點(diǎn)1.首先,獲得查詢(步驟502);2.當(dāng)?shù)谝粋€(gè)解釋使用歧義消除模塊32時(shí),消除所述查詢的歧義來確定最可能的單詞詞義(步驟504);3.步驟504后,并行執(zhí)行路徑506和路徑508;A.在路徑506中,執(zhí)行下面的步驟為語(yǔ)義相關(guān)的詞義擴(kuò)展查詢;這樣可以利用單詞詞義消除來為已確定的單詞詞義尋找合適的語(yǔ)義相關(guān)的詞義(步驟510),使用描述單詞詞義和詞義之間的語(yǔ)義關(guān)系的知識(shí)庫(kù);然后;把查詢?cè)~義的擴(kuò)展集與文檔中發(fā)現(xiàn)的一個(gè)索引詞義相比較;所述索引是由索引模塊32產(chǎn)生的(步驟512);B.在路徑508中,執(zhí)行下面的步驟確定整個(gè)查詢的第二個(gè)最可能的解釋,所述查詢?yōu)橹辽僖粋€(gè)單詞提供可替換的單詞詞義;所述執(zhí)行是這樣完成的,即從結(jié)果的可能的集合中消除在步驟504中已被確定的第一個(gè)最可能的單詞詞義的結(jié)果,然后使用歧義消除模塊32再消除他們中的剩余的詞義的歧義(步驟514);從選出的第二個(gè)最可能的解釋中確定單詞,這些單詞在第一個(gè)解釋和第二個(gè)解釋之間存在著不同的含義(步驟516);在最可能的解釋和第二可能的解釋之間,確定一個(gè)術(shù)語(yǔ)或組合,這個(gè)術(shù)語(yǔ)或組合僅在語(yǔ)義上與第二個(gè)單詞詞義有關(guān),而與第一個(gè)詞義無關(guān)。這樣就把第二個(gè)詞義與第一個(gè)詞義區(qū)別開來。而且,所述術(shù)語(yǔ)會(huì)形成問題詞組的一部分。在上面的例子的知識(shí)庫(kù)中,“java”是一個(gè)與詞組“面向?qū)ο蟮木幊陶Z(yǔ)言”有關(guān)的“類別”,并且“java”具有與“印尼”有關(guān)的一個(gè)可替換的“詞性”。這樣“類別”詞組把“java”的第一和第二個(gè)詞義區(qū)別開來(步驟518);4.返回結(jié)果,并且產(chǎn)生一個(gè)問題,所述問題基于為第二個(gè)最可能的解釋已確定的關(guān)鍵詞或詞組。算法500優(yōu)選地使用第一個(gè)解釋作為所表達(dá)的意義,除非用戶選擇所述問題。如果選擇所述問題,則把顯示搜索結(jié)果更新成第二個(gè)解釋,并且也更新所表達(dá)的意義(步驟520);5.如果選擇第二個(gè)最可能的解釋,那么再消除查詢的歧義,使用與第二個(gè)最可能的解釋有關(guān)的詞義,用新的輸入來重新計(jì)算單詞詞義的概率分布,所述新輸入使用歧義消除模塊32,確定第二個(gè)最可能的解釋的所表達(dá)的意義(步驟522);并且6.存儲(chǔ)用戶為了查詢而選擇的解釋的結(jié)果,并有根據(jù)地更新知識(shí)庫(kù)(步驟524);并且返回到路徑506和508的開始。
在算法500的步驟516中,通過分析對(duì)于查詢單詞的所有的詞義中的其他單詞詞義的每個(gè)詞義關(guān)系,來確定第二個(gè)詞義的描述性術(shù)語(yǔ)。如果這個(gè)描述性術(shù)語(yǔ)有語(yǔ)義關(guān)系,所述語(yǔ)義關(guān)系出現(xiàn)在不止一個(gè)查詢單詞的詞義中,當(dāng)所述描述性術(shù)語(yǔ)不能區(qū)分查詢單詞的詞義時(shí),則丟棄所述描述性術(shù)語(yǔ)。然后,剩余的語(yǔ)義上有關(guān)的單詞詞義按照它們的描述性屬性和差異性屬性被排序。這些屬性包括它們的語(yǔ)義關(guān)系類型,它們的詞義頻率,它們的詞性,其它的語(yǔ)義上有關(guān)的單詞詞義的數(shù)量,和其它屬性。
已經(jīng)認(rèn)識(shí)到,算法500為搜索查詢提供了三個(gè)級(jí)別的細(xì)則。第一個(gè)級(jí)別是第一個(gè)在歧義消除上無限制的路徑,來確定步驟504中的第一個(gè)解釋。第二個(gè)級(jí)別是確定第二個(gè)最可能的解釋,在忽略第一個(gè)解釋的前提下來實(shí)現(xiàn)。第二個(gè)級(jí)別的結(jié)果可能是模糊的。當(dāng)?shù)诙€(gè)級(jí)別僅考慮可選擇的詞義、第一個(gè)解釋因?yàn)榈诙€(gè)級(jí)別而被有效的忽略時(shí),當(dāng)來自詞義集合的第一個(gè)解釋的結(jié)果被消除后,再歧義消除會(huì)更好地發(fā)現(xiàn)下面的最好的解釋。當(dāng)且僅當(dāng)用戶選擇步驟520中的問題時(shí),第三個(gè)級(jí)別是起作用的。在這個(gè)級(jí)別中,當(dāng)用戶提供關(guān)于查詢的所表達(dá)的意義的反饋時(shí)(或者直接通過回答問題或間接地不回答問題),查詢中的詞義不再有歧義。此時(shí)獲知所述單詞的詞義,并具有高度的確定性。然后,步驟522中的進(jìn)一步的再歧義消除是僅僅基于第二個(gè)最可能的解釋的,忽略步驟514中的任何附加的解釋。例如,一個(gè)帶有單詞“java”的查詢,在歧義消除的第一個(gè)級(jí)別中可能會(huì)被解釋成在印尼的一個(gè)島嶼。當(dāng)所述查詢被再歧義消除,并且被限制到忽略那第一個(gè)解釋的詞義上時(shí),歧義消除模塊會(huì)確定面向?qū)ο蟮木幊陶Z(yǔ)言是“java”單詞的第二個(gè)最好的解釋。然而,“java”還能夠指代“coffee”。因此,在最后的歧義消除中,“java”的含義被限制到一種面向?qū)ο蟮木幊陶Z(yǔ)言上,并且“java”詞義的限制可以被更新成指出“java”在此處的上下文中既不是島嶼的意思也不是咖啡的意思。
在算法500的一個(gè)可選擇的實(shí)施例中,在步驟504之后設(shè)置一個(gè)判斷點(diǎn)(沒有顯示)。在判斷點(diǎn)上,分析步驟504的結(jié)果,并且如果所述結(jié)果是可信的,那么采用路徑506對(duì)步驟504的結(jié)果進(jìn)行處理。如果所述結(jié)果不是充分可信的,那么采用路徑506和路徑508。
參考附圖6,顯示了算法600,即第四功能地第二個(gè)算法。算法600為用戶提供兩個(gè)或更多的查詢解釋,并且算法600監(jiān)控用戶選擇了哪個(gè)結(jié)果并觀察此結(jié)果,進(jìn)而決定查詢所表達(dá)的意義。算法600通過以下兩種方法來決定查詢所表達(dá)的意義1.在第一種方法中,生成查詢單詞的一個(gè)最可能的解釋和至少一個(gè)查詢單詞的可替換的解釋。然而,算法只是選擇最可能的解釋作為正確的解釋。如果排序值在一定的極限之上,則只可以選擇最可能的解釋。然后,每個(gè)查詢關(guān)鍵詞的詞義標(biāo)記會(huì)有依據(jù)地得到確認(rèn)。
2.在第二種方法中,再次生成查詢單詞的一個(gè)最可能的解釋和至少一個(gè)查詢單詞的可替換的解釋。當(dāng)用戶選擇與其中一個(gè)解釋有關(guān)的一個(gè)文檔時(shí),算法使用選擇的文檔作為上下文來再消除查詢的歧義。這種方法允許在文檔內(nèi)容的基礎(chǔ)上確定或糾正每個(gè)單詞的詞義。所述文檔還能提供附加的上下文,所述上下文能夠用更高的可信度,來消除在可替換解釋中的其它模糊的查詢單詞的歧義。
簡(jiǎn)單地,算法600的主要步驟如下所示1.首先,獲取查詢(步驟602,類似于步驟502);2.使用歧義消除模塊32來消除查詢的歧義(步驟604,類似步驟504);3.確定結(jié)果的等級(jí)。在一個(gè)可選項(xiàng)中,把等級(jí)值的極限設(shè)置成一個(gè)最低的極限值(步驟606);4.如果達(dá)到極限值,則執(zhí)行步驟608。如果沒有達(dá)到極限,則執(zhí)行步驟610。
A.在步驟608中,對(duì)查詢的每個(gè)解釋執(zhí)行如下功能使用歧義消除模塊32進(jìn)行詞義歧義消除來擴(kuò)展查詢(步驟612,類似步驟510);然后把查詢?cè)~義與索引相比較(步驟614,類似步驟512);B.在路徑610中,在步驟612和步驟614之前執(zhí)行如下的功能使用詞義歧義消除來確定查詢的可替換的解釋的一個(gè)列表。第一個(gè)忽略的結(jié)果生成所述列表,所述忽略的結(jié)果是與最高的被排序的結(jié)果有關(guān)的(步驟616,類似步驟514);5.在步驟614后,返回到每個(gè)解釋的結(jié)果并且等待輸入(步驟618);6.獲得用戶對(duì)于被選擇的解釋或被選擇的文檔的反饋(步驟620)7.使用被選擇的文檔作為上下文,通過忽略其它單詞詞義的方式,再消除查詢的歧義(步驟622,類似步驟520);并且8.存儲(chǔ)解釋的結(jié)果,所述解釋是由用戶為查詢選擇出來的(步驟624)。
對(duì)于算法600,使用多種方法為用戶提供不同的結(jié)果組合。下面描述了三個(gè)典型的方法。第一個(gè)方法在可替換解釋的單個(gè)的組合中使用結(jié)果集。每個(gè)解釋的每個(gè)單詞或描述都會(huì)被選擇性地包括到每個(gè)組合中,使用前面所描述的方法來確定描述性單詞和差異性單詞,所述單詞在語(yǔ)義上與每個(gè)解釋有關(guān)。第二種方法顯示了第一個(gè)解釋的結(jié)果,第一個(gè)解釋具有一個(gè)對(duì)于每個(gè)其它的剩余的解釋的連接,可以允許用戶觀察相關(guān)的結(jié)果。第三種方法把來自每個(gè)解釋的結(jié)果都合并到結(jié)果的一個(gè)列表中。用戶沒有意識(shí)到可以顯示查詢的多種解釋,但是在用戶的結(jié)果選擇之上,如上所述就確定了所表達(dá)的意義。
所述實(shí)施例的另一個(gè)方面是使得對(duì)于每個(gè)用戶查詢的歧義消除更個(gè)人化,且可以越過每個(gè)用戶會(huì)話。這些功能在算法500的步驟522中和算法600的步驟624中完成。詞義歧義消除的個(gè)人化,能夠使得實(shí)施例對(duì)于不同的用戶把不同的詞義賦給相同的或相關(guān)的查詢。由于使用了自動(dòng)獲取和個(gè)人化信息,詞義歧義消除的個(gè)人化和專用化改善了搜索結(jié)果的質(zhì)量,所述搜索結(jié)果從已被改善的查詢?cè)~義中獲得。值得高興地是,由于提供給每個(gè)顧客已被改善的搜索結(jié)果,個(gè)人化提高了對(duì)于特別的搜索引擎服務(wù)提供者的顧客的忠實(shí)度。
參考附圖8,查詢的個(gè)人化需要在數(shù)據(jù)庫(kù)30中對(duì)信息跟蹤。在數(shù)據(jù)庫(kù)30中的查詢的個(gè)人化數(shù)據(jù)庫(kù)800中,跟蹤信息。當(dāng)實(shí)施例消除一個(gè)查詢的歧義時(shí),數(shù)據(jù)庫(kù)800中的數(shù)據(jù)得自已被確定的被標(biāo)記的詞義。
可以理解,對(duì)于使用搜索引擎的用戶,在用戶和搜索引擎之間,至少有三種類型的時(shí)間關(guān)系。用戶是使用一個(gè)搜索引擎的人。當(dāng)用戶訪問一個(gè)會(huì)話中的搜索引擎時(shí),所述會(huì)話與搜索引擎之間有一段時(shí)間的相互作用,這段時(shí)間有明確的開始和結(jié)束。這段時(shí)間就定義為一個(gè)會(huì)話。會(huì)話是一段已被定義的時(shí)間段。在會(huì)話內(nèi),會(huì)搜尋一些特殊的網(wǎng)站,比如,休假網(wǎng)站。所有用戶會(huì)話的所有搜索定義了用戶數(shù)據(jù)。搜索引擎的所有用戶的用戶數(shù)據(jù)定義了對(duì)搜索引擎的公共數(shù)據(jù)。
為了跟蹤用戶、會(huì)話和公共信息,把查詢的個(gè)人化數(shù)據(jù)800分割成數(shù)據(jù)的三個(gè)集合共同數(shù)據(jù)的一個(gè)集合802,所述集合是所有用戶使用的與詞義有關(guān)的;每個(gè)用戶的數(shù)據(jù)集合804;每個(gè)用戶的會(huì)話數(shù)據(jù)集合806。還可以跟蹤數(shù)據(jù)的其它集合。
在充分的時(shí)間間隔中為每個(gè)數(shù)據(jù)類型,更新數(shù)據(jù)庫(kù)800中的數(shù)據(jù),每個(gè)數(shù)據(jù)的類型是帶有詞義查詢標(biāo)記或帶有由相關(guān)的查詢轉(zhuǎn)換過來的信息的。例如,每個(gè)查詢之后,都要更新每個(gè)用戶會(huì)話數(shù)據(jù)806;在每個(gè)用戶會(huì)話的開始或結(jié)束,可能會(huì)更新每個(gè)用戶會(huì)話數(shù)據(jù)804;并且在周期性時(shí)間間隔中,會(huì)更新公共數(shù)據(jù)802。通過安裝cookies文件,然后分析在用戶機(jī)器上安裝的cookies文件來確定用戶。如果一個(gè)用戶激活了幾個(gè)會(huì)話,為了確定每個(gè)會(huì)話,則在用戶的機(jī)器上設(shè)置幾個(gè)分離的cookies文件。
公共數(shù)據(jù)802存儲(chǔ)于查詢的個(gè)人化數(shù)據(jù)庫(kù)800的一個(gè)固定的公共部分中。每個(gè)用戶數(shù)據(jù)804和每個(gè)用戶會(huì)話數(shù)據(jù)806都存儲(chǔ)在查詢的個(gè)性化數(shù)據(jù)庫(kù)800的一部分中,每個(gè)用戶都有所述的這部分。詞義標(biāo)記查詢和派生的信息都被存儲(chǔ)在一個(gè)暫時(shí)的部分中,所述暫時(shí)的部分位于每個(gè)用戶會(huì)話的系統(tǒng)存儲(chǔ)器中。首先,對(duì)于每個(gè)用戶和每個(gè)用戶會(huì)話,都有一個(gè)公共數(shù)據(jù)的文件。當(dāng)對(duì)一個(gè)查詢進(jìn)行歧義消除時(shí),這些文件中的一部分?jǐn)?shù)據(jù)就會(huì)被加載到系統(tǒng)內(nèi)存中。
當(dāng)在一個(gè)特定的用戶會(huì)話中,為該用戶消除查詢的歧義時(shí),來自查詢的個(gè)人化數(shù)據(jù)庫(kù)800的附加信息可能會(huì)被其它的組件同時(shí)使用。這樣會(huì)導(dǎo)致這些組件在不同的環(huán)境下產(chǎn)生不同的結(jié)果。除核心的歧義消除數(shù)據(jù)庫(kù)之外,來自詞義已被標(biāo)記查詢的公共信息、每個(gè)用戶信息和每個(gè)用戶會(huì)話信息都被用作組件的輸入。不同的數(shù)據(jù)會(huì)影響不同的查詢。與一個(gè)會(huì)話有關(guān)的數(shù)據(jù)僅僅影響與此會(huì)話有關(guān)的查詢。與一個(gè)用戶有關(guān)的數(shù)據(jù)僅僅影響與此用戶有關(guān)的查詢。公共數(shù)據(jù)會(huì)影響任一個(gè)用戶。
參考附圖7,給出了算法700,算法700確定數(shù)據(jù)個(gè)人化的主要步驟。算法700的步驟如下所示1.首先,獲得查詢(步驟702)2.使用個(gè)人化的數(shù)據(jù),消除歧義查詢(步驟704)3.在步驟704之后,沿著路徑706和路徑704并行執(zhí)行步驟;A.在路徑706中,執(zhí)行下面的步驟為語(yǔ)義相關(guān)的詞義擴(kuò)展查詢,利用知識(shí)庫(kù)為確定的單詞找到一個(gè)合適的語(yǔ)義相關(guān)的詞義(步驟710);把查詢?cè)~義的已被擴(kuò)展的集合與已被歧義消除的文檔中的詞義的索引相比較(步驟712);返回查詢的結(jié)果(步驟714);進(jìn)入步驟716,獲得用戶輸入/反饋(步驟716)B.在路徑708中,接下來執(zhí)行步驟716;4.完成路徑706和路徑708之后,獲得對(duì)于被選擇的解釋或被選擇的文檔的用戶反饋(步驟716);并且5.更新查詢的個(gè)人化數(shù)據(jù)(步驟718)。
在算法700的步驟716和步驟718中,執(zhí)行數(shù)據(jù)的個(gè)人化包括獲取和存儲(chǔ)與查詢有關(guān)的個(gè)人化數(shù)據(jù);和使用數(shù)據(jù)來改善詞義的歧義消除查詢。對(duì)每個(gè)部分依次進(jìn)行討論。
對(duì)于獲取和存儲(chǔ)數(shù)據(jù),假定系統(tǒng)存在對(duì)于一個(gè)用戶的詞義標(biāo)記初始的查詢.一個(gè)有效的詞義標(biāo)記查詢具有一個(gè)賦予給每個(gè)查詢關(guān)鍵詞的詞義。系統(tǒng)確定單詞詞義,以達(dá)到單詞詞義代表單詞所表達(dá)的意義具有很高的可信度的目的。
當(dāng)用戶提交給搜索引擎一個(gè)查詢時(shí),詞義標(biāo)記查詢以及派生出的其它信息都被存儲(chǔ)在查詢的個(gè)人化數(shù)據(jù)庫(kù)800中。得自詞義標(biāo)記查詢的信息被存儲(chǔ)在歧義消除模塊32的歧義消除算法的一個(gè)文件中。歧義消除算法包括一種優(yōu)先算法;一種樣本算法;一種n單詞算法;一種相關(guān)算法和一種分類算法。下面將詳細(xì)描述每個(gè)算法。此外還會(huì)使用其它的算法。
利用各種單詞詞義出現(xiàn)頻率的歷史統(tǒng)計(jì)數(shù)據(jù),優(yōu)先算法預(yù)知單詞詞義。特別地,基于單詞詞義在輸入單詞標(biāo)記文本中出現(xiàn)的頻率,算法賦予每個(gè)單詞詞義一個(gè)概率,首先,規(guī)范在輸入詞義標(biāo)記文本中的詞義和每個(gè)單詞的詞義頻率分布。需要注意的是,輸入詞義標(biāo)記文本不是正在被歧義消除的文本,而是先前已被歧義消除的文本,并且正確地確定所表達(dá)的意義的可信度是很高的。
對(duì)于最優(yōu)化和執(zhí)行的討論,優(yōu)先算法為來自詞義標(biāo)記文本的每個(gè)詞義計(jì)算了一個(gè)頻率數(shù)據(jù),并且把這個(gè)頻率數(shù)據(jù)作為一個(gè)文件存在數(shù)據(jù)庫(kù)800中。當(dāng)個(gè)人化數(shù)據(jù)庫(kù)800持有詞義標(biāo)記查詢的單詞詞義頻率時(shí),核心數(shù)據(jù)庫(kù)包含從詞義標(biāo)記文本獲得的頻率數(shù)。并且,存在一個(gè)統(tǒng)一的文件,所述文件包含來自用戶的詞義標(biāo)記查詢的詞義的頻率數(shù)據(jù)。對(duì)于每個(gè)用戶,一個(gè)單獨(dú)的文件存在數(shù)據(jù)庫(kù)800中,所述文件包含與此用戶相關(guān)的詞義標(biāo)記查詢的單詞詞義頻率數(shù)據(jù)。這些文件代表了用戶,用戶會(huì)話和公共數(shù)據(jù)代表了查詢個(gè)人化數(shù)據(jù)。文件被更新之后,執(zhí)行優(yōu)先算法的下一步,得自算法的最后一個(gè)執(zhí)行的詞義變成對(duì)知識(shí)庫(kù)有用的。
最后,系統(tǒng)把特定的用戶會(huì)話的詞義標(biāo)記查詢的一個(gè)頻率數(shù)據(jù)保存到內(nèi)存或硬盤上。優(yōu)選地,當(dāng)消除一個(gè)具有個(gè)人化數(shù)據(jù)的查詢的歧義時(shí),這些數(shù)據(jù)是不可用的。
在此,把詞義標(biāo)記查詢中的詞義計(jì)算在內(nèi),并且首先對(duì)每個(gè)單詞的詞義的頻率分布規(guī)格化。使用的查詢集合是來自用戶的所有查詢、來自一個(gè)用戶的所有查詢或來自一個(gè)用戶會(huì)話的查詢。當(dāng)每個(gè)查詢被處理或在適當(dāng)?shù)臅r(shí)間間隔中時(shí),系統(tǒng)更新頻率數(shù)據(jù)。當(dāng)消除在一個(gè)新的查詢或文本中的單詞的歧義時(shí),逐字執(zhí)行頻率分布的規(guī)格化。
樣本存儲(chǔ)算法預(yù)知了短語(yǔ)的詞義(或單詞的順序)。短語(yǔ)主要的定義是一系列連續(xù)的單詞。短語(yǔ)的長(zhǎng)度從兩個(gè)單詞到一個(gè)完整的句子不等。算法訪問一個(gè)短語(yǔ)列表(單詞序列),所述短語(yǔ)列表為此短語(yǔ)中的每個(gè)單詞提供一個(gè)被視為正確的詞義。首先,列表包含來自輸入詞義標(biāo)記文本的句子片段,輸入詞義標(biāo)記文本發(fā)生多次,此處,對(duì)于每個(gè)片段出現(xiàn)的詞義是相同的。首先,當(dāng)一個(gè)已被分析的短語(yǔ)包含一個(gè)單詞時(shí),這個(gè)單詞有一個(gè)跟以前的詞義不同的詞義,以前的詞義跟單詞所在的以前的那個(gè)句子有關(guān),則會(huì)拒絕在此已被分析的短語(yǔ)中的詞義,并且不會(huì)把該詞義保留在單詞順序列表中。
當(dāng)消除一個(gè)新文本或新查詢的歧義的時(shí)候,樣本存儲(chǔ)算法確定是否部分文本或查詢與以前已被確定的重新出現(xiàn)的單詞順序相匹配。如果匹配的話,模塊就給在新文本或新查詢中的匹配單詞賦予序列的詞義。最初,算法搜索最長(zhǎng)的匹配,并且如果一個(gè)單詞詞義與文本或查詢中的已被確定的詞義相矛盾時(shí),則不賦予此詞義。當(dāng)分析查詢時(shí),算法搜索來自查詢的句子片段的匹配,所述查詢被處理成在它的相關(guān)的列表中的片段。當(dāng)定位一個(gè)匹配時(shí),把來自列表的詞義賦給正在處理的片段。算法具有幾個(gè)列表,并為算法的處理過程提供幫助,包括帶有正確詞義的一個(gè)單詞序列表,所述正確的詞義來自練習(xí)輸入詞義標(biāo)記文本;來自所有用戶的詞義標(biāo)記查詢的一個(gè)列表;來自一個(gè)用戶的所有查詢的一個(gè)列表;和來自一個(gè)用戶會(huì)話的查詢的一個(gè)列表。
為了優(yōu)化和執(zhí)行主題,樣本存儲(chǔ)算法存儲(chǔ)數(shù)據(jù),所述數(shù)據(jù)是關(guān)于單詞詞義重復(fù)序列的確認(rèn)和作為在一個(gè)文件中的單獨(dú)的數(shù)據(jù)的此種方式的頻率的。通過用實(shí)施例消除新文本的歧義代替每次處理輸入詞義標(biāo)記文本來完成上述操作。樣本存儲(chǔ)算法還存儲(chǔ)一個(gè)文件,所述文件包含來自詞義標(biāo)記查詢的信息。還有一個(gè)對(duì)于公共數(shù)據(jù)的文件;一個(gè)對(duì)于每個(gè)用戶的文件;和一個(gè)對(duì)于每個(gè)用戶會(huì)話的文件。這些文件代表了用戶,用戶會(huì)話和公共數(shù)據(jù)代表了查詢的個(gè)人化數(shù)據(jù)。當(dāng)處理一個(gè)查詢的歧義消除時(shí),需要把文件中的一部分?jǐn)?shù)據(jù)加載到系統(tǒng)存儲(chǔ)中。當(dāng)文件被更新時(shí),在優(yōu)先算法的下一步執(zhí)行中,來自算法最后執(zhí)行的詞義變成對(duì)知識(shí)庫(kù)有用的。
通過尋找在單個(gè)單詞周圍的單詞或詞義的重復(fù)的方式,n單詞算法預(yù)示了單個(gè)單詞的一個(gè)詞義。然而一般地,算法會(huì)注意單個(gè)的單詞之前或之后的單詞,特別地,n設(shè)置成兩個(gè)單詞。算法利用具有正確詞義的單詞對(duì)列表,所述正確的詞義與每個(gè)單詞有關(guān)。列表來自單詞對(duì),所述單詞對(duì)來自出現(xiàn)很多次的輸入詞義標(biāo)記文本,在此,單詞對(duì)的每次出現(xiàn)的詞義是相同的。然而,當(dāng)至少一個(gè)單詞的一個(gè)詞義不同時(shí),則拒絕這些單詞對(duì)的詞義,并把這些單詞對(duì)的詞義清除出列表。當(dāng)消除文本的歧義時(shí),算法與來自查詢或文本的單詞對(duì)匹配,所述算法或文本與算法支持的列表中的單詞對(duì)一起被處理。當(dāng)發(fā)現(xiàn)一個(gè)單詞對(duì),并且一個(gè)或兩個(gè)單詞的詞義顯示在正在處理的查詢或文本中時(shí),確定匹配。當(dāng)確定一個(gè)匹配時(shí),把與正在被處理的單詞對(duì)中的第二個(gè)單詞有關(guān)的詞義賦給它。N單詞具有以下幾個(gè)列表,包括一個(gè)具有正確詞義的單詞列表,所述正確詞義來自練習(xí)輸入詞義標(biāo)記文本;一個(gè)來自所有用戶的詞義標(biāo)記查詢的列表;一個(gè)來自一個(gè)用戶的所有查詢的列表;和一個(gè)來自一個(gè)用戶訪問的查詢的列表。
當(dāng)在單詞的一個(gè)固定范圍內(nèi)操作時(shí),和當(dāng)僅試圖一次一個(gè)地預(yù)知單個(gè)單詞的一個(gè)詞義時(shí),n單詞算法與樣本存儲(chǔ)算法不同。樣本存儲(chǔ)算法試圖預(yù)知一個(gè)序列中的所有單詞的詞義。
為了優(yōu)化和執(zhí)行問題,n單詞算法在一個(gè)單獨(dú)的文件信息中存儲(chǔ)數(shù)據(jù),所述文件信息是關(guān)于周圍單詞或單詞詞義的重現(xiàn)模式和來自輸入詞義標(biāo)記文本的此種模式的頻率的。上述通過用實(shí)施例消除新文本的歧義來代替每次處理輸入詞義標(biāo)記文本來完成。除了核心數(shù)據(jù)庫(kù)中的文件外,n單詞算法也把文件存儲(chǔ)到系統(tǒng)存儲(chǔ)器中來自詞義標(biāo)記查詢的一個(gè)信息文件;公共數(shù)據(jù)的一個(gè)文件;對(duì)于每個(gè)用戶的一個(gè)文件;和對(duì)于每個(gè)用戶會(huì)話的一個(gè)文件。這些文件代表用戶,用戶會(huì)話和公共數(shù)據(jù)代表查詢的個(gè)人化數(shù)據(jù)。當(dāng)處理一個(gè)查詢的歧義消除時(shí),需要把這些文件中的一部分?jǐn)?shù)據(jù)加載到系統(tǒng)存儲(chǔ)中。當(dāng)來自一個(gè)用戶的每個(gè)新的詞義標(biāo)記查詢變成可用時(shí),更新用戶和用戶會(huì)話文件中的信息。當(dāng)文件被更新時(shí),在優(yōu)先算法的下一步的執(zhí)行中,來自算法的最后一步執(zhí)行的詞義變成對(duì)知識(shí)庫(kù)可用的。
相關(guān)性算法與n單詞算法有相似之處,但是相關(guān)性算法生成一個(gè)句法剖析樹(例如,形容詞修飾名詞,在名詞短語(yǔ)中第一個(gè)形容詞修飾第二個(gè)形容詞等)。相關(guān)性算法作用于剖析樹中的主要成分和修飾成分之間的關(guān)系。
通過把文本部分中的單詞重新分組成可能的主題詞義,分類算法預(yù)示了單詞的一個(gè)詞義。把具有最強(qiáng)的疊加性的詞義(例如,聚集的)視為在此部分中的單詞集合的最有可能的詞義??梢愿鶕?jù)幾個(gè)不同的特征來衡量疊加性(例如,粗略詞義,精細(xì)詞義等)。文本文件范圍的變化可以是從幾個(gè)單詞到幾個(gè)句子或段落。分類算法使用在用戶會(huì)話的先前的查詢中的單詞和單詞詞義作為附加的上下文,來個(gè)人化當(dāng)前查詢的歧義消除。把先前查詢的單詞詞義加到可能的主題集合中。
返回到使用個(gè)人化數(shù)據(jù)來改善查詢的詞義歧義消除的過程上來,當(dāng)消除一個(gè)查詢的歧義時(shí),每個(gè)歧義消除模塊32的組件利用核心的數(shù)據(jù)庫(kù)和查詢個(gè)人化數(shù)據(jù)庫(kù)800中的任何可用的信息??梢园衙總€(gè)組件都配置成,在詞義歧義消除的過程中的不同的步驟中獨(dú)立地和共同地訪問核心數(shù)據(jù)庫(kù)和查詢個(gè)人化數(shù)據(jù)庫(kù)800。
盡管參照了一些特定實(shí)施例來描述本發(fā)明,但是本領(lǐng)域技術(shù)人員很清楚在不脫離后附的權(quán)利要求中的所概括的本發(fā)明范圍的情況下,可以進(jìn)行多種變化。本領(lǐng)域技術(shù)人員對(duì)以下一個(gè)或更多的專業(yè)都具有充分的了解計(jì)算機(jī)編程,機(jī)械知識(shí)和計(jì)算機(jī)語(yǔ)言學(xué)。
權(quán)利要求
1.一種處理面向數(shù)據(jù)庫(kù)查詢的方法,所述方法包括以下步驟從一個(gè)用戶獲得所述查詢;使用知識(shí)庫(kù)消除所述查詢的歧義,獲得所述查詢的單詞的解釋集合;如果所述集合包含多于一個(gè)的可確認(rèn)的解釋,則從所述集合中選擇一個(gè)解釋作為一個(gè)最好的解釋;利用所述查詢的最好解釋來確認(rèn)所述數(shù)據(jù)庫(kù)的相關(guān)結(jié)果,所述數(shù)據(jù)庫(kù)與所述最好的解釋有關(guān);通過排除與所述最好解釋有關(guān)的結(jié)果,再消除所述集合中的剩余的解釋的歧義;從所述剩余的解釋中,選擇下一個(gè)最好解釋;并且利用所述查詢的所述近乎最好的解釋來確定來自所述數(shù)據(jù)庫(kù)的相關(guān)結(jié)果,所述數(shù)據(jù)庫(kù)與所述近乎最好的解釋有關(guān)。
2.根據(jù)權(quán)利要求1所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,消除所述查詢的歧義的所述步驟包括使用下面一種算法一種樣本歧義消除算法,一種n單詞歧義消除算法,一種優(yōu)先的歧義消除算法;一種相關(guān)算法和一種分類算法。
3.根據(jù)權(quán)利要求2所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,還包括從所述用戶獲得一個(gè)被選擇的可確認(rèn)的詞義,所述用戶確認(rèn)來自可確認(rèn)的詞義的所述集合中的一個(gè)已被選擇的單詞詞義;并且用與所述查詢和所述已被選擇的可確認(rèn)的詞義有關(guān)的數(shù)據(jù)模型更新所述知識(shí)庫(kù)。
4.根據(jù)權(quán)利要求3所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,所述數(shù)據(jù)模型包括對(duì)于所述用戶的數(shù)據(jù)模型。
5.根據(jù)權(quán)利要求4所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,所述數(shù)據(jù)模型還包括用于一個(gè)與所述用戶和所述查詢有關(guān)的會(huì)話的數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,所述數(shù)據(jù)模型還包括用于所述數(shù)據(jù)庫(kù)的所有查詢的數(shù)據(jù)模型。
7.一種處理面向數(shù)據(jù)庫(kù)查詢的方法,所述方法包括以下步驟從一個(gè)用戶獲得所述查詢;使用知識(shí)庫(kù)消除所述查詢的歧義來獲得可確認(rèn)的解釋的集合,所述解釋與所述查詢中的單詞有關(guān);如果所述集合包括多于一個(gè)的可確認(rèn)的解釋從所述集合中選擇一個(gè)詞義作為一個(gè)最好的解釋;利用所述查詢的所述最好解釋來確定來自所述數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果,所述數(shù)據(jù)庫(kù)與所述的最好的解釋有關(guān);擴(kuò)展所述最好解釋,為所述最好解釋獲得相關(guān)的詞義,進(jìn)而產(chǎn)生所述查詢的一個(gè)擴(kuò)展的最好解釋;把所述查詢的所述擴(kuò)展的最好解釋跟與所述數(shù)據(jù)庫(kù)相關(guān)的一個(gè)索引相比較;通過以下方式,選擇性地處理所述集合的剩余解釋通過排除與所述最好的解釋有關(guān)的結(jié)果,再消除所述集合的剩余解釋的歧義;從剩余解釋中,選擇下一個(gè)最好解釋;利用所述查詢的所述近乎最好解釋來確認(rèn)來自所述數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果,所述數(shù)據(jù)庫(kù)與近乎最好解釋有關(guān);并且確定一個(gè)與近乎最好解釋有關(guān)的術(shù)語(yǔ),所述術(shù)語(yǔ)把近乎最好詞義從最好解釋中分離出來;利用所述查詢的所述被擴(kuò)展的最好解釋,從所述數(shù)據(jù)庫(kù)獲得結(jié)果;利用所述術(shù)語(yǔ),產(chǎn)生對(duì)于所述用戶的一個(gè)問題,進(jìn)而測(cè)試是否近乎最好解釋是用戶所表達(dá)的意思;從所述用戶獲得一個(gè)對(duì)于所述問題的一個(gè)響應(yīng),進(jìn)而確定來自所述的一個(gè)傾向性解釋;并且利用所述響應(yīng)進(jìn)一步再消除解釋集合的歧義。
8.根據(jù)權(quán)利要求7所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,消除查詢的歧義的步驟包括使用下面的一種算法一種樣本歧義消除算法,一種n單詞歧義消除算法,一種優(yōu)先的歧義消除算法,一種分類算法和一種相關(guān)性算法。
9.一種處理面向數(shù)據(jù)庫(kù)查詢的方法,所述方法包括以下步驟從一個(gè)用戶獲得所述查詢;使用知識(shí)庫(kù)消除查詢的歧義,進(jìn)而獲得可確認(rèn)的詞義的一個(gè)集合,所述可確認(rèn)的詞義與查詢中的單詞有關(guān);如果集合包括多于一個(gè)的可確認(rèn)的詞義,從所述的集合中選擇一個(gè)詞義作為一個(gè)最好的詞義;通過以下方式,選擇性地處理集合中的剩余的詞義通過排除與最好詞義有關(guān)的結(jié)果,再消除集合的剩余詞義的歧義;并且從所述剩余詞義中,選擇至少一個(gè)近乎最好詞義來形成已被再消除歧義的剩余詞義的一個(gè)集合;對(duì)于所述最好詞義和已被再消除歧義的剩余詞義的所述集合的每個(gè)成員擴(kuò)展和解釋相關(guān)的詞義來獲得語(yǔ)義上相關(guān)的詞義,進(jìn)而生成查詢的一個(gè)擴(kuò)展的詞義;把擴(kuò)展詞義與所述數(shù)據(jù)庫(kù)有關(guān)的一個(gè)索引相比較;并且利用它的擴(kuò)展的詞義,從所述數(shù)據(jù)庫(kù)中獲得結(jié)果;從所述用戶獲得一個(gè)指示性的注釋,這個(gè)指示性注釋來自從所述數(shù)據(jù)庫(kù)返回的的所有結(jié)果,是對(duì)于所述查詢的一個(gè)傾向性詞義;并且利用所述指示來更進(jìn)一步地再消除詞義的所述集合的歧義。
10.一種修改與面向數(shù)據(jù)庫(kù)查詢有關(guān)的知識(shí)庫(kù)的方法,所述方法包括以下步驟利用所述知識(shí)庫(kù)消除所述查詢的歧義,進(jìn)而獲得與所述查詢中的單詞有關(guān)的可確認(rèn)的詞義的一個(gè)集合;確認(rèn)來自所述集合的一個(gè)傾向性詞義;并且用關(guān)于所述查詢和所述已被選擇的可確認(rèn)的詞義的數(shù)據(jù)更新所述知識(shí)庫(kù),進(jìn)而獲得較佳的可確認(rèn)的詞義,所述詞義用于消除并發(fā)的查詢的歧義。
11.根據(jù)權(quán)利要求10所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,消除所述查詢歧義的所述步驟包括使用下面的一種算法一種樣本歧義消除算法,一種n單詞歧義消除算法,和一種優(yōu)先的歧義消除算法;并且更新所述知識(shí)庫(kù)包括更新與所述算法有關(guān)的一個(gè)本地知識(shí)庫(kù)。
12.根據(jù)權(quán)利要求11所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,所述數(shù)據(jù)包括對(duì)于一個(gè)用戶的數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的處理面向數(shù)據(jù)庫(kù)的查詢的方法,其特征在于,所述數(shù)據(jù)還包括用于與所述用戶和所述查詢有關(guān)的一個(gè)會(huì)話的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的處理面向數(shù)據(jù)庫(kù)查詢的方法,其特征在于,所述數(shù)據(jù)還包括對(duì)于所有用戶的一個(gè)公共會(huì)話的數(shù)據(jù),所有用戶訪問所述的數(shù)據(jù)庫(kù)。
全文摘要
本發(fā)明涉及一種處理數(shù)據(jù)庫(kù)查詢的系統(tǒng)和方法。所述發(fā)明包括以下步驟獲取來自用戶的查詢;使用知識(shí)庫(kù)來獲得與查詢中的單詞有關(guān)的可確認(rèn)的詞義的集合。如果集合包含多于一個(gè)的可確認(rèn)的詞義,則執(zhí)行下面附加的步驟從集合中選擇一個(gè)詞義作為一個(gè)最好的詞義;利用查詢的最好的詞義,來確定來自數(shù)據(jù)庫(kù)的有關(guān)的結(jié)果,所述數(shù)據(jù)庫(kù)跟最好的詞義有關(guān);通過排除與最好的詞義有關(guān)的結(jié)果,再消除集合的剩余的詞義的歧義;從剩余的詞義中選擇下一個(gè)最好的詞義;并且利用查詢的這個(gè)近乎最好的詞義,來確定來自數(shù)據(jù)庫(kù)的相關(guān)的結(jié)果,所述數(shù)據(jù)庫(kù)與所述近乎最好的詞義有關(guān)。本發(fā)明還涉及為用戶更新數(shù)據(jù)庫(kù),更新用戶會(huì)話和與查詢的最好的已被確定的結(jié)果有關(guān)的公共數(shù)據(jù),進(jìn)而通過用戶來提高和個(gè)人化并發(fā)的查詢的歧義消除。
文檔編號(hào)G06F7/00GK1871603SQ200480031158
公開日2006年11月29日 申請(qǐng)日期2004年8月20日 優(yōu)先權(quán)日2003年8月21日
發(fā)明者馬修·科來奇, 馬克·卡里爾 申請(qǐng)人:伊迪利亞公司