專利名稱:搜索引擎及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搜索引擎技術(shù),尤其涉及一種可擴(kuò)展同義搜索查詢的搜索引擎及其實(shí)現(xiàn)方法。
背景技術(shù):
互聯(lián)網(wǎng)的飛速發(fā)展為人們提供了一個(gè)全新的信息存儲(chǔ)、加工、傳遞和使用的載體,網(wǎng)絡(luò)信息也迅速成為了人們獲取知識(shí)和信息的主要渠道之一。而如此規(guī)模的信息資源在將人類占有的幾乎所有知識(shí)納入其中的同時(shí),也給資源的使用者帶來(lái)了如何充分開發(fā)和利用的問(wèn)題。搜索引擎正是在這一需求下應(yīng)運(yùn)而生的,它協(xié)助網(wǎng)絡(luò)用戶在互聯(lián)網(wǎng)上查找信息。具體地,搜索引擎根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對(duì)信息進(jìn)行組織和處理后,為用戶提供搜索服務(wù),將用戶搜索相關(guān)的信息展示給用戶。
輸入框輸入查詢表達(dá)式,搜索引擎進(jìn)行查詢并返回包含這些關(guān)鍵詞的結(jié)果網(wǎng)頁(yè)。由于不同用戶的知識(shí)背景或使用習(xí)慣不同,對(duì)同一事物搜索所使用的關(guān)鍵詞可能也會(huì)不同,再加上自然語(yǔ)言中本身就存在很多同義詞或近義詞,所以僅基于用戶提供的關(guān)鍵詞來(lái)搜索是不夠的。目前,很多搜索引擎都具有擴(kuò)展查詢的功能,如同義擴(kuò)展查詢。當(dāng)搜索引擎接收到用戶輸入的原始查詢表達(dá)式后,會(huì)對(duì)其進(jìn)行分詞操作,并識(shí)別分詞后的詞條集合中是否有潛在的同義詞對(duì)。具體地,搜索引擎會(huì)將切分后的詞條和預(yù)定的同義詞詞庫(kù)進(jìn)行匹配,判斷這些詞條中是否存在同義詞的,如果是,則會(huì)在同義詞的基礎(chǔ)上擴(kuò)展搜索查詢,并將擴(kuò)展的查詢結(jié)果和原始的查詢結(jié)果合并后返回顯示給用戶。從而,為用戶提供了更多相關(guān)的搜索結(jié)果。然而,同一字詞在不同的語(yǔ)義環(huán)境中可能體現(xiàn)不同的含義,所以其同義詞也只是在某種語(yǔ)義環(huán)境中同義或近義,而換做不同的語(yǔ)義環(huán)境,該同義詞就無(wú)法適用了。所以,在這種情況下,用同義詞擴(kuò)展查詢得到的結(jié)果可能就不是用戶想要的結(jié)果,由此,反而會(huì)給用戶帶來(lái)較差的使用體驗(yàn)。例如,用戶輸入的原始查詢是“魚香肉絲怎么做”。隨后,搜索引擎通過(guò)對(duì)原始查詢的分詞,并與同義詞庫(kù)匹配后獲得了 “怎么做”的潛在同義詞對(duì){ “怎么做”,“菜譜” },并用“菜譜”替換了 “怎么做”來(lái)執(zhí)行擴(kuò)展同義查詢并得到相應(yīng)的查詢結(jié)果。但如果用戶提供的原始查詢是“怎么做床頭柜”,顯然,用戶此時(shí)的需求是想了解家具的制作,而搜索引擎仍然使用“菜譜”來(lái)替換“怎么做”進(jìn)行擴(kuò)展同義查詢的話,就得到了用戶并不想要的轉(zhuǎn)義結(jié)果,如此用戶會(huì)對(duì)搜索的準(zhǔn)確性提出質(zhì)疑。有鑒于此,有必要對(duì)現(xiàn)有的搜索引擎予以改進(jìn),以解決上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種搜索引擎,其通過(guò)語(yǔ)義環(huán)境的判斷來(lái)提供準(zhǔn)確的同義擴(kuò)展查詢,從而為用戶提供全面、準(zhǔn)確的搜索結(jié)果,同時(shí)確保用戶具有良好的使用體驗(yàn)。本發(fā)明的目的還在于提供一種上述搜索引擎的實(shí)現(xiàn)方法。為實(shí)現(xiàn)上述發(fā)明目的之一,本發(fā)明的一種搜索引擎的實(shí)現(xiàn)方法,其包括如下步驟接收當(dāng)前用戶搜索的原始查詢;識(shí)別原始查詢中包含的原詞、包含該原詞和其同義詞的潛在同義詞對(duì)、以及該潛在同義詞對(duì)的同義語(yǔ)境;判斷所述同義語(yǔ)境和原始查詢是否匹配,且當(dāng)兩者匹配時(shí),將所述同義詞替代原始查詢中的原詞以獲得同義查詢式,根據(jù)所述原始查詢和同義查詢式搜索獲得結(jié)果網(wǎng)頁(yè)的
隹A
口 o作為本發(fā)明的進(jìn)一步改進(jìn),所述判斷同義語(yǔ)境和原始查詢的匹配度的步驟包括計(jì)算同義語(yǔ)境和原始查詢的匹配度;當(dāng)所述匹配度的值處于預(yù)定的匹配度區(qū)間內(nèi)時(shí),則確定同義語(yǔ)境和原始查詢匹配。作為本發(fā)明的進(jìn)一步改進(jìn),所述匹配度的計(jì)算根據(jù)原始查詢除去原詞后的長(zhǎng)度,以及同義語(yǔ)境的長(zhǎng)度來(lái)確定。作為本發(fā)明的進(jìn)一步改進(jìn),該方法還包括在判斷同義語(yǔ)境和原始查詢的匹配度的步驟前,還會(huì)基于同義語(yǔ)境包含的詞條片斷對(duì)原始查詢做正向最大切分,從而獲得切分后的詞條集合。作為本發(fā)明的進(jìn)一步改進(jìn),該方法還包括如下步驟獲取歷史的用戶查詢點(diǎn)擊數(shù)據(jù),所述數(shù)據(jù)包括歷史的查詢式和響應(yīng)于該查詢式而返回的并被點(diǎn)擊訪問(wèn)的查詢結(jié)果網(wǎng)頁(yè);識(shí)別同義詞對(duì),所述同義詞對(duì)包括存在于所述歷史查詢式中的原詞以及存在于所述查詢結(jié)果網(wǎng)頁(yè)中的相應(yīng)的同義詞;至少將所述歷史查詢式記錄并確定為所述同義詞對(duì)的同義語(yǔ)境。作為本發(fā)明的進(jìn)一步改進(jìn),所述確定同義語(yǔ)境的步驟還包括將所述歷史查詢式中原詞的緊鄰詞記錄并確定為同義語(yǔ)境。作為本發(fā)明的進(jìn)一步改進(jìn),所述緊鄰詞包括所述歷史查詢式中位于原詞前和位于原詞后的詞條。作為本發(fā)明的進(jìn)一步改進(jìn),所述緊鄰詞包括空詞條。作為本發(fā)明的進(jìn)一步改進(jìn),該方法還包括,在確定同義語(yǔ)境的步驟前,判斷所述結(jié)果網(wǎng)頁(yè)中的標(biāo)題是否包含同義詞且不包含原詞;如果是,則再執(zhí)行所述確定同義語(yǔ)境的步驟,如果否,則不執(zhí)行確定同義語(yǔ)境的步驟。作為本發(fā)明的進(jìn)一步改進(jìn),所述確定同義語(yǔ)境的步驟還包括,統(tǒng)計(jì)所述同義語(yǔ)境被記錄的頻次,當(dāng)所述頻次大于或等于一預(yù)定頻次閾值時(shí),確定該同義語(yǔ)境為所述同義詞對(duì)的同義語(yǔ)境。作為本發(fā)明的進(jìn)一步改進(jìn),所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)的錨文本來(lái)確定。作為本發(fā)明的進(jìn)一步改進(jìn),所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)標(biāo)題中并列段來(lái)確定。為實(shí)現(xiàn)上述另一目的,本發(fā)明的一種搜索引擎,其包括搜索組件,搜索組件包括查詢分析模塊和搜索模塊;其中查詢分析模塊用于接收當(dāng)前用戶搜索的原始查詢;識(shí)別所述原始查詢中包含的原詞、包含該原詞和其同義詞的潛在同義詞對(duì)、以及、該潛在同義詞對(duì)的同義語(yǔ)境;判斷所述同義語(yǔ)境和原始查詢是否匹配,且當(dāng)兩者匹配時(shí),將所述同義詞替代原始查詢中的原詞以獲得同義查詢式;搜索模塊用于在同義語(yǔ)境和原始查詢匹配時(shí)根據(jù)所述原始查詢和同義查詢式搜索獲得結(jié)果網(wǎng)頁(yè)的集合。作為本發(fā)明的進(jìn)一步改進(jìn),所述查詢分析模塊在判斷同義語(yǔ)境和原始查詢的匹配度時(shí),還用于計(jì)算同義語(yǔ)境和原始查詢的匹配度;當(dāng)所述匹配度的值處于預(yù)定的匹配度區(qū)間內(nèi)時(shí),則確定同義語(yǔ)境和原始查詢匹配。作為本發(fā)明的進(jìn)一步改進(jìn),所述匹配度的計(jì)算根據(jù)原始查詢除去原詞后的長(zhǎng)度,以及同義語(yǔ)境的長(zhǎng)度來(lái)確定。作為本發(fā)明的進(jìn)一步改進(jìn),所述查詢分析模塊還用于在判斷同義語(yǔ)境和原始查詢的匹配度前,還會(huì)基于同義語(yǔ)境包含的詞條片斷對(duì)原始查詢做正向最大切分,從而獲得切分后的詞條集合。作為本發(fā)明的進(jìn)一步改進(jìn),搜索引擎還包括用戶查詢?nèi)罩痉治銎?,其用于獲取歷史的用戶查詢點(diǎn)擊數(shù)據(jù),所述數(shù)據(jù)包括歷史的查詢式和響應(yīng)于該查詢式而返回的并被點(diǎn)擊訪問(wèn)的查詢結(jié)果網(wǎng)頁(yè);識(shí)別同義詞對(duì),所述同義詞對(duì)包括存在于所述歷史查詢式中的原詞以及存在于所述查詢結(jié)果網(wǎng)頁(yè)中的相應(yīng)的同義詞;至少將所述歷史查詢式記錄并確定為所述同義詞對(duì)的同義語(yǔ)境。作為本發(fā)明的進(jìn)一步改進(jìn),所述日志分析器確定同義語(yǔ)境還包括將所述歷史查詢式中原詞的緊鄰詞記錄并確定為同義語(yǔ)境。作為本發(fā)明的進(jìn)一步改進(jìn),所述緊鄰詞包括所述歷史查詢式中位于原詞前和位于原詞后的詞條。作為本發(fā)明的進(jìn)一步改進(jìn),所述緊鄰詞包括空詞條。作為本發(fā)明的進(jìn)一步改進(jìn),所述日志分析器還用于在確定同義語(yǔ)境之前,判斷所述結(jié)果網(wǎng)頁(yè)中的標(biāo)題是否包含同義詞且不包含原詞;如果是,則再執(zhí)行所述確定同義語(yǔ)境的步驟,如果否,則不執(zhí)行確定同義語(yǔ)境的步驟。作為本發(fā)明的進(jìn)一步改進(jìn),所述日志分析器還用于統(tǒng)計(jì)所述同義語(yǔ)境被記錄的頻次,當(dāng)所述頻次大于或等于一預(yù)定頻次閾值時(shí),確定該同義語(yǔ)境為所述同義詞對(duì)的同義語(yǔ)。作為本發(fā)明的進(jìn)一步改進(jìn),所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)的錨文本來(lái)確定。作為本發(fā)明的進(jìn)一步改進(jìn),所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)標(biāo)題中并列段來(lái)確定。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是搜索引擎通過(guò)對(duì)當(dāng)前用戶查詢需求的語(yǔ)義環(huán)境分析,以確定是否適用同義詞變換來(lái)執(zhí)行同義擴(kuò)展查詢,從而確保同義擴(kuò)展查詢的準(zhǔn)確率,使擴(kuò)展查詢盡量符合用戶的需求,進(jìn)而確保用戶具有良好的使用體驗(yàn)。
圖I是本發(fā)明的搜索引擎的第一實(shí)施方式的工作原理框圖;圖2是圖I所示的搜索引擎挖掘同義語(yǔ)境的工作流程圖3是圖I所示的搜索引擎執(zhí)行同義擴(kuò)展查詢的工作流程圖;圖4是本發(fā)明的搜索引擎的第二實(shí)施方式的工作原理框圖;圖5是圖4所示的搜索引擎執(zhí)行同義擴(kuò)展查詢的工作流程圖;圖6是本發(fā)明的搜索引擎的第三實(shí)施方式的工作原理框圖;圖7是圖6所示的搜索引擎執(zhí)行同義擴(kuò)展查詢的工作流程圖;圖8是本發(fā)明的搜索引擎的第四實(shí)施方式的工作原理框圖;圖9是圖8所示的搜索引擎執(zhí)行同義擴(kuò)展查詢的工作流程圖;圖10是圖8所示的搜索引擎判斷同義詞相似度等級(jí),并對(duì)同義詞進(jìn)行相應(yīng)標(biāo)注的 一具體實(shí)施方式
中的工作流程圖。
具體實(shí)施例方式以下將結(jié)合附圖所示的各實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。圖I所示的是本發(fā)明的搜索引擎100的第一實(shí)施方式的工作原理框圖。本實(shí)施方式中,搜索引擎100根據(jù)一定的策略從互聯(lián)網(wǎng)上搜集網(wǎng)頁(yè),在對(duì)網(wǎng)頁(yè)進(jìn)行組織和處理后,可響應(yīng)客戶端20的瀏覽器21請(qǐng)求而提供搜索查詢的服務(wù)。其中,搜索引擎100可以包括一個(gè)或多個(gè)用來(lái)存儲(chǔ)和管理數(shù)據(jù)、并響應(yīng)搜索請(qǐng)求的網(wǎng)絡(luò)服務(wù)器實(shí)體。客戶端20可以包括一個(gè)或多個(gè)用戶終端設(shè)備,如個(gè)人計(jì)算機(jī)、筆記本電腦、無(wú)線電話、個(gè)人數(shù)字處理(PDA)、或其它計(jì)算機(jī)裝置和通信裝置。這些服務(wù)器和終端設(shè)備在架構(gòu)上都包含一些基本組件,如總線、處理裝置、存儲(chǔ)裝置、一個(gè)或多個(gè)輸入/輸出裝置、和通信接口等。總線可以包括一個(gè)或多個(gè)導(dǎo)線,用來(lái)實(shí)現(xiàn)服務(wù)器或終端設(shè)備各組件之間的通信。處理裝置包括各類型的用來(lái)執(zhí)行指令、處理進(jìn)程或線程的處理器或微處理器。存儲(chǔ)裝置可以包括存儲(chǔ)動(dòng)態(tài)信息的隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)等動(dòng)態(tài)存儲(chǔ)器,和存儲(chǔ)靜態(tài)信息的只讀存儲(chǔ)器(ROM)等靜態(tài)存儲(chǔ)器,以及包括磁或光學(xué)記錄介質(zhì)與相應(yīng)驅(qū)動(dòng)的大容量存儲(chǔ)器。輸入裝置供用戶輸入信息到服務(wù)器或終端設(shè)備,如鍵盤、鼠標(biāo)、手寫筆、聲音識(shí)別裝置、或生物測(cè)定裝置等。輸出裝置包括用來(lái)輸出信息的顯示器、打印機(jī)、揚(yáng)聲器等。通信接口用來(lái)使服務(wù)器或終端設(shè)備與其它系統(tǒng)或裝置進(jìn)行通信。通信接口之間可通過(guò)有線連接、無(wú)線連接、或光連接連接到網(wǎng)絡(luò)中,使搜索引擎100、客戶端20間能夠通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)相互間的通信。網(wǎng)絡(luò)可以包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、電話網(wǎng)絡(luò)如公共交換電話網(wǎng)(PSTN)、企業(yè)內(nèi)部的互聯(lián)網(wǎng)、因特網(wǎng)、或上述這些網(wǎng)絡(luò)的結(jié)合等。服務(wù)器和終端設(shè)備上均包含有用來(lái)管理系統(tǒng)資源、控制其它程序運(yùn)行的操作系統(tǒng)軟件,以及用來(lái)實(shí)現(xiàn)特定功能模塊功能的應(yīng)用軟件或程序指令。如圖I所示,搜索引擎100可執(zhí)行同義擴(kuò)展查詢,其整體上可分為離線部分和在線部分。在離線部分,搜索引擎100包括可存儲(chǔ)網(wǎng)頁(yè)數(shù)據(jù)和同義詞對(duì)信息的數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、網(wǎng)頁(yè)抓取器14、記錄用戶查詢信息的用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)16、以及對(duì)用戶查詢?nèi)罩具M(jìn)行分析的日志分析器17。網(wǎng)頁(yè)抓取器14是根據(jù)一定的策略通過(guò)網(wǎng)頁(yè)之間的超鏈接關(guān)系來(lái)一個(gè)個(gè)抓取網(wǎng)頁(yè)的程序。在具體的實(shí)施方式中,網(wǎng)頁(yè)抓取器14從初始的URL(Universal Resource Locator,統(tǒng)一資源定位符)庫(kù)中根據(jù)一定的調(diào)度策略選取所要抓取的URL,解析URL中標(biāo)明的網(wǎng)絡(luò)服務(wù)器地址,然后建立連接、發(fā)送請(qǐng)求、和接收數(shù)據(jù),將獲得的網(wǎng)頁(yè)數(shù)據(jù)儲(chǔ)存到數(shù)據(jù)存儲(chǔ)庫(kù)12的網(wǎng)頁(yè)庫(kù)122中并建立本地文檔集合,然后從其中提取鏈接以進(jìn)行下一步的抓取動(dòng)作,如此循環(huán)往復(fù)直到所有的URL抓取完為止。網(wǎng)頁(yè)抓取器14選取URL所依據(jù)的調(diào)度策略可以包括廣度優(yōu)先策略、深度優(yōu)先策略、反向鏈接數(shù)策略等;抓取方式可以是累積式抓取,也可以是增量式抓取。索引器13用于對(duì)本地文檔集合進(jìn)行分析并建立索引。例如通過(guò)分詞從文檔的全文中抽取詞條,然后過(guò)濾除去高頻詞或低頻詞,以獲得索引詞集合,最后將網(wǎng)頁(yè)到索引詞的映射轉(zhuǎn)化為索引詞到網(wǎng)頁(yè)的映射,形成包含索引詞表和倒排表的倒排文件并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)庫(kù)12的索引庫(kù)121中。對(duì)網(wǎng)頁(yè)文檔進(jìn)行分詞的方法包括基于詞典的分詞方法、基于理解的分詞方法、和基于統(tǒng)計(jì)的分詞方法。其中比較常見(jiàn)的基于詞典的分詞方法又包括正向最大切分法、逆向最大切分法、和最少切分法。于本發(fā)明中,同義詞是指名稱不同但表達(dá)的意思相同或相近的詞條,即多個(gè)詞條表達(dá)相同或相近的意思,則這些詞條互為同義詞。本實(shí)施方式中,同義詞庫(kù)123包括同義詞 對(duì)應(yīng)表1231和同義語(yǔ)境庫(kù)1232。其中同義詞對(duì)應(yīng)表1231中預(yù)先指定了不同字詞和其同義詞的對(duì)應(yīng)關(guān)系,如通過(guò)預(yù)先統(tǒng)計(jì)獲得的原詞和其同義詞的對(duì)應(yīng)關(guān)系表。該對(duì)應(yīng)表還可以通過(guò)分析用戶的歷史查詢點(diǎn)擊數(shù)據(jù)來(lái)進(jìn)行不斷的更新。例如,當(dāng)被點(diǎn)擊的查詢結(jié)果網(wǎng)頁(yè)的標(biāo)題中包含某原詞的同義詞但并未出現(xiàn)原詞,且這種情形出現(xiàn)的頻次較高,則將該原詞和同義詞確定為同義詞對(duì)并添加入同義詞對(duì)應(yīng)表1231中。
圖2所示的是搜索引擎100挖掘同義詞對(duì)的同義語(yǔ)境的一具體實(shí)施方式
的工作流程。于本發(fā)明中,同義語(yǔ)境是指同義詞對(duì)中原詞出現(xiàn)的語(yǔ)義環(huán)境,其用來(lái)表明該同義詞對(duì)所適用的語(yǔ)義環(huán)境,即在該語(yǔ)義環(huán)境下,同義詞適合替換原詞來(lái)進(jìn)行同義擴(kuò)展查詢。在本實(shí)施方式中,同義語(yǔ)境是通過(guò)分析用戶查詢?nèi)罩緛?lái)獲得的。用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)17是在每次搜索結(jié)束后,用來(lái)記錄用戶的查詢點(diǎn)擊數(shù)據(jù),如查詢?cè)~表達(dá)式、搜索時(shí)間、返回的結(jié)果列表、以及被點(diǎn)擊的結(jié)果網(wǎng)頁(yè)等。參照?qǐng)D2并配合參照?qǐng)DI所示,日志分析器17分析用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)16中包含的歷史的用戶查詢式和點(diǎn)擊數(shù)據(jù)(步驟411),包括分析歷史的查詢式以及響應(yīng)于特定查詢式而返回的并被點(diǎn)擊訪問(wèn)的查詢結(jié)果網(wǎng)頁(yè)。接下來(lái),日志分析器17會(huì)識(shí)別這些數(shù)據(jù)中是否存在某個(gè)同義詞對(duì)的同義語(yǔ)境,如果是,則記錄并存儲(chǔ)到同義語(yǔ)境庫(kù)1232中。具體地,日志分析器17首先會(huì)基于同義詞對(duì)應(yīng)表1231判斷某一歷史查詢式中是否包含原詞,如果是,則獲取包含該原詞和相應(yīng)同義詞的同義詞對(duì)。例如,歷史查詢式為“魚香肉絲怎么做”,日志分析器17基于同義詞對(duì)應(yīng)表1231判斷該查詢式中存在“怎么做”的原詞(將“魚香肉絲怎么做”切分為“魚香肉絲”和“怎么做”兩個(gè)詞條,然后將這兩個(gè)詞條與同義詞對(duì)應(yīng)表中的原詞進(jìn)行匹配,從而找到“怎么做”的原詞),并獲得了相應(yīng)同義詞對(duì){ “怎么做”,“菜譜”}。隨后,日志分析器17判斷針對(duì)該查詢式,用戶點(diǎn)擊訪問(wèn)的網(wǎng)頁(yè)標(biāo)題中是否包含了同義詞但不包含原詞,如果是,則記錄該同義詞對(duì)的同義語(yǔ)境。例如,針對(duì)查詢式“魚香肉絲怎么做”,用戶點(diǎn)擊過(guò)標(biāo)題為“魚香肉絲菜譜”的網(wǎng)頁(yè),則日志分析器17就會(huì)執(zhí)行記錄同義語(yǔ)境的操作。同義語(yǔ)境至少包含該歷史查詢式,如“魚香肉絲怎么做”;也可以包含該歷史查詢式中原詞的緊鄰詞,如“魚香肉絲”;或者是兩者都記錄作為同義詞對(duì){ “怎么做”,“菜譜” }的同義語(yǔ)境。其中,緊鄰詞可以位于原詞前,也可以位于原詞后;緊鄰詞也可以是空詞條,即原始查詢中僅包含原詞,不存在緊鄰詞。上述實(shí)施方式中,同義語(yǔ)境是通過(guò)歷史的用戶行為獲得,但在其它實(shí)施方式中,同義語(yǔ)境也可以根據(jù)網(wǎng)頁(yè)的錨文本來(lái)確定。錨文本即網(wǎng)頁(yè)的超鏈接中包含的文本信息。例如,網(wǎng)頁(yè)畫.sina. com. cn被引用的地方超鏈文本有“新浪網(wǎng)首頁(yè)”、“新浪首頁(yè)”、“sina首頁(yè)”,那么這幾個(gè)文字段會(huì)被記錄下來(lái)作為同義詞對(duì){ “新浪網(wǎng)”,“新浪” }的同義語(yǔ)境。此夕卜,同義語(yǔ)境也可以根據(jù)網(wǎng)頁(yè)標(biāo)題中的并列段來(lái)確定。例如,price. mycarl68. com/search,asp factoryid = 135這個(gè)網(wǎng)址的標(biāo)題為“華晨寶馬報(bào)價(jià)、華晨寶馬價(jià)格 深圳汽車大世界網(wǎng)”。則通過(guò)分隔符,該標(biāo)題可以被切分為多個(gè)并列的詞條片段“華晨寶馬報(bào)價(jià)”“華晨寶馬價(jià)格” “深圳汽車大世界網(wǎng)”,而前兩個(gè)片段包含同義詞對(duì){ “價(jià)格”,“報(bào)價(jià)”}中的“價(jià)格”和“報(bào)價(jià)”,那么這兩個(gè)片段也可以作為該同義詞對(duì)的同義語(yǔ)境。參照?qǐng)D2所示,在同義語(yǔ)境挖掘的過(guò)程中,用戶的點(diǎn)擊行為并不一定都是完全合理的,也就是說(shuō),用戶在瀏覽搜索結(jié)果的過(guò)程中可能會(huì)無(wú)心點(diǎn)擊一些不相關(guān)的結(jié)果,在這種情況下記錄的同義語(yǔ)境就不會(huì)準(zhǔn)確。所以為消除這種情形造成的負(fù)面影響,日志分析器17還會(huì)統(tǒng)計(jì)同義語(yǔ)境被記錄的頻次,并且,只有當(dāng)頻次大于或等于一個(gè)預(yù)先確定的頻次閾值 時(shí),這個(gè)同義語(yǔ)境才會(huì)保留確定為相應(yīng)同義詞對(duì)的同義語(yǔ)境,也就是說(shuō),過(guò)濾掉低頻的同義語(yǔ)境(步驟413)。如圖I所示,搜索引擎100的在線部分主要包括搜索組件11和用戶界面15。其中用戶界面15通過(guò)客戶端20的瀏覽器軟件21展現(xiàn),用于供用戶輸入查詢式,并按預(yù)定展現(xiàn)方式顯示搜索結(jié)果列表;此外,在搜索結(jié)束后,還用于記錄用戶的查詢信息,并將其存入用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)16中。搜索組件11用于響應(yīng)客戶端30的搜索請(qǐng)求,將搜索結(jié)果返回給客戶端20。本實(shí)施方式中,搜索組件11包括搜索模塊111、查詢分析模塊112、和結(jié)果合成模塊113。對(duì)于普通的原始查詢(不包含擴(kuò)展查詢),查詢分析模塊112通常用于對(duì)當(dāng)前接收到的原始查詢進(jìn)行分詞操作,獲得查詢?cè)~集合,并生成查詢?cè)~表。搜索模塊111在接收到查詢?cè)~表后,與數(shù)據(jù)索引庫(kù)121中的索引詞表進(jìn)行匹配,找到相應(yīng)的索引詞以及每個(gè)索引詞對(duì)應(yīng)的倒排表,從而獲得與查詢?cè)~相關(guān)的網(wǎng)頁(yè)文檔集合。結(jié)果合成模塊113根據(jù)預(yù)先確定的每個(gè)文檔與查詢?cè)~之間的相關(guān)度權(quán)值將搜索到的網(wǎng)頁(yè)文檔順序排列,然后將結(jié)果列表通過(guò)用戶界面15返回給客戶端。以下結(jié)合圖3所示的工作流程來(lái)說(shuō)明搜索引擎100根據(jù)同義語(yǔ)境在線執(zhí)行同義擴(kuò)展查詢的詳細(xì)步驟。查詢分析模塊112通過(guò)用戶界面15接收到當(dāng)前用戶搜索的原始查詢(步驟421),然后分析查詢式(步驟422),包括對(duì)原始查詢進(jìn)行分詞操作。需要說(shuō)明的是,本實(shí)施方式中的分詞方法是基于詞典的正向最大切分法,而該詞典由同義語(yǔ)境包含的詞條片段構(gòu)造而成。前已述及,歷史查詢式會(huì)被作為同義語(yǔ)境記錄,而歷史查詢式的片段長(zhǎng)度要大于該查詢式被切分后的詞條的長(zhǎng)度,所以,采用正向最大切分法可確保一旦當(dāng)前的原始查詢中包含歷史查詢式的片段,則該片段會(huì)被率先切分出來(lái),從而提高了后續(xù)的計(jì)算的準(zhǔn)確率。例如,在同義語(yǔ)境挖掘階段,歷史查詢式是“今天諾基亞多少錢”,則在記錄同義詞對(duì){ “多少錢”,“價(jià)格” }的同義語(yǔ)境時(shí),歷史查詢式“今天諾基亞多少錢”和緊鄰詞“諾基亞”都會(huì)作為同義語(yǔ)境記錄下來(lái)。而當(dāng)前的原始查詢是“誰(shuí)知道今天諾基亞多少錢”,按照正向最大切分法,同義語(yǔ)境詞典中最長(zhǎng)的片段“今天諾基亞多少錢”長(zhǎng)度是8,則查詢分析模塊112從左到右掃描當(dāng)前的原始查詢,判斷長(zhǎng)度為8的短語(yǔ)是否出現(xiàn)在同義語(yǔ)境詞典中,當(dāng)發(fā)現(xiàn)“今天諾基亞多少錢”匹配時(shí),就會(huì)將其先切分出來(lái),如此,“諾基亞”就不會(huì)作為單獨(dú)的關(guān)鍵詞切分出來(lái)。在步驟422中,查詢分析模塊112還會(huì)將原始查詢切分后得到的詞條集合與同義詞庫(kù)123匹配,獲得潛在同義詞對(duì)和該同義詞對(duì)的同義語(yǔ)境,該潛在同義詞對(duì)中包含了存在于原始查詢中包含的原詞,以及與該原詞對(duì)應(yīng)的同義詞。接下來(lái),查詢分析模塊112判斷同義語(yǔ)境和原始查詢是否匹配(步驟423)。在本實(shí)施方式中,查詢分析模塊112會(huì)計(jì)算同義語(yǔ)境和原始查詢的匹配度,當(dāng)匹配度的值處于預(yù)先確定的匹配度區(qū)間內(nèi)時(shí),則確定同義語(yǔ)境和原始查詢匹配,即表明當(dāng)前原始查詢的語(yǔ)義環(huán)境適合采用同義詞替換原詞來(lái)執(zhí)行擴(kuò)展查詢。匹配度的計(jì)算可以根據(jù)原詞始查詢式除去原詞后的長(zhǎng)度,及同義語(yǔ)境的長(zhǎng)度來(lái)確定。以下是本實(shí)施方式中,當(dāng)原始查詢的長(zhǎng)度大于原詞的長(zhǎng)度(即q古orig)時(shí),匹配度M的計(jì)算公式
n
VTermCountip )
M (oris, syn) =-—-, q 本 oris:
TermCount(q) - TermCount(orig)其中TermCount (q)表示原始查詢的長(zhǎng)度,TermCount (orig)表示原始查詢中原詞的長(zhǎng)度,TermCount (pi)表示第i個(gè)同義語(yǔ)境的長(zhǎng)度。因?yàn)檫@種情況下,原始查詢中會(huì)存在非同義語(yǔ)境的詞,因此M是處于
之間的值。預(yù)先設(shè)定一個(gè)匹配度閾值0,則當(dāng)M的值 處于[9,1]時(shí),表明同義語(yǔ)境和原始查詢匹配,則將同義詞替換原始查詢中的原詞以獲得同義查詢,隨后搜索模塊111根據(jù)原始查詢和同義查詢搜索獲得原始查詢結(jié)果的網(wǎng)頁(yè)集合及同義查詢結(jié)果網(wǎng)頁(yè)的集合(步驟424),結(jié)果合成模塊113根據(jù)預(yù)定的合并策略合并原始查詢和同義查詢的結(jié)果(步驟425)。關(guān)于結(jié)果合并策略,將在后文中做詳細(xì)描述。當(dāng)M的值處于
時(shí),表明同義語(yǔ)境和原始查詢不匹配,即在這種語(yǔ)義環(huán)境下,不適合用同義詞替代原詞,接下來(lái)搜索模塊111只會(huì)根據(jù)原始查詢來(lái)執(zhí)行搜索并獲得原始查詢結(jié)果的網(wǎng)頁(yè)集合(步驟426),而后結(jié)果合成模塊113根據(jù)預(yù)先確定的每個(gè)網(wǎng)頁(yè)與原始查詢之間的相關(guān)度權(quán)值獲得搜索結(jié)果列表(步驟425)。當(dāng)原始查詢僅包含原詞(即q = orig)時(shí),匹配度M = 1,則用同義詞之間替換原始查詢,而后執(zhí)行步驟424和步驟425。搜索引擎通過(guò)對(duì)當(dāng)前用戶查詢需求的語(yǔ)義環(huán)境分析,以確定是否適用同義詞變換來(lái)執(zhí)行同義擴(kuò)展查詢,從而確保同義擴(kuò)展查詢的準(zhǔn)確率,使擴(kuò)展查詢盡量符合用戶的需求,進(jìn)而確保用戶具有良好的使用體驗(yàn)。圖4和圖5揭示了本發(fā)明搜索引擎的第二實(shí)施方式。相比第一實(shí)施方式,本實(shí)施方式的搜索引擎200主要通過(guò)判斷同義查詢結(jié)果的轉(zhuǎn)義概率,來(lái)調(diào)整同義查詢結(jié)果在最后展現(xiàn)給用戶的搜索結(jié)果列表中的位置。如圖4所示,搜索引擎200包括搜索組件11、數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、抓取器14、和用戶界面15。數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、抓取器14、和用戶界面15等功能模塊與上述實(shí)施方式基本相同,所以申請(qǐng)人在此不再予以贅述。本實(shí)施方式中,搜索組件11包括搜索模塊111、查詢分析模塊112、和重合度計(jì)算及結(jié)果合并模塊114。以下結(jié)合圖5對(duì)本實(shí)施方式的搜索引擎執(zhí)行同義擴(kuò)展查詢做詳細(xì)說(shuō)明。首先,查詢分析模塊112接收用戶的原始查詢(步驟431)。接下來(lái),分析查詢式(步驟432),包括對(duì)原始查詢進(jìn)行分詞操作以獲得查詢?cè)~集合,基于同義詞庫(kù)123識(shí)別原始查詢中的原詞并獲得包含原詞和其同義詞的同義詞對(duì),并直接將同義詞替換原詞以獲得同義查詢。搜索模塊Ill根據(jù)原始查詢和同義查詢搜索獲得原始查詢結(jié)果的網(wǎng)頁(yè)集合及同義查詢結(jié)果網(wǎng)頁(yè)的集合(步驟433)。接下來(lái),重合度計(jì)算及結(jié)果合并模塊114計(jì)算原始查詢結(jié)果與同義查詢結(jié)果中網(wǎng)頁(yè)的重合度(步驟434)。該重合度主要是用來(lái)反應(yīng)原始查詢結(jié)果和同義查詢結(jié)果的中相同網(wǎng)頁(yè)的數(shù)量,如果相同網(wǎng)頁(yè)的數(shù)量足夠多,表明同義查詢結(jié)果和原始查詢結(jié)果比較接近,則同義查詢結(jié)果出現(xiàn)轉(zhuǎn)義的概率較??;反之,則表明同義查詢結(jié)果出現(xiàn)轉(zhuǎn)義的概率較大,需要對(duì)同義查詢結(jié)果進(jìn)行打壓以避免不符合用戶搜索需求的結(jié)果出現(xiàn)在結(jié)果列表的前列。重合度的計(jì)算可以采用多種方式,如僅計(jì)算原始查詢結(jié)果和同義查詢結(jié)果中重合的網(wǎng)頁(yè)的數(shù)量|U1 n U2 |,即確定相同的URL數(shù)量;或計(jì)算兩個(gè)結(jié)果集合中各前100個(gè)結(jié)果的重合網(wǎng)頁(yè)數(shù)量,然后和預(yù)定的閾值進(jìn)行比較判斷。作為優(yōu)選的方式,重合度的計(jì)算還包括確定原始查詢結(jié)果的網(wǎng)頁(yè)數(shù)量和同義查詢結(jié)果的網(wǎng)頁(yè)數(shù)量中較少的一個(gè)Min(|Ul|,|U2|);然后重合度I(U1,U2) = Ul n U2|/Min(|Ul|, U2 |)。或者在其它實(shí)施方式中,重合度的計(jì)算還包括計(jì)算原始查詢結(jié)果的網(wǎng)頁(yè)數(shù)量和同義查詢結(jié)果的網(wǎng)頁(yè)數(shù)量的總和|U1 U U2 ;然后重合度I(U1,U2) = Ul n U2|/|U1 U U2|。當(dāng)重合度的值計(jì)算出來(lái)后,會(huì)判斷該值是 否處于預(yù)定的重合度區(qū)間內(nèi)以確定是否需要打壓同義查詢結(jié)果,而后確定同義查詢結(jié)果在搜索結(jié)果列表中的位置并輸出合并后的結(jié)果(步驟435)。以重合度計(jì)算方式I (U1,U2)=|U1 n U2|/Min(|Ul|,|U2|)為例,重合度的值I為處于
之間的浮點(diǎn)數(shù)。預(yù)先設(shè)定一個(gè)重合度閾值O,則當(dāng)I處于
時(shí),表明原始查詢結(jié)果和同義查詢結(jié)果的重合度較高,這種情況下,不需要打壓同義查詢結(jié)果,只需按照預(yù)先確定的每個(gè)網(wǎng)頁(yè)的相關(guān)度權(quán)值來(lái)合并原始和同義查詢的結(jié)果。當(dāng)I處于
時(shí),表明原始查詢結(jié)果和同義查詢結(jié)果的重合度較低,同義查詢結(jié)果的轉(zhuǎn)義概率較大,這時(shí)就需要打壓同義查詢結(jié)果。打壓的方式可以是對(duì)同義查詢結(jié)果中網(wǎng)頁(yè)的相關(guān)度權(quán)值做降權(quán)處理,從而使同義查詢結(jié)果在合并后的搜索結(jié)果列表中處于較后的位置;或者將同義查詢結(jié)果插入到搜索結(jié)果列表的特定頁(yè)之后,如將同義查詢結(jié)果調(diào)整到搜索結(jié)果列表的第二頁(yè);此外,也可以將同義查詢結(jié)果調(diào)整到原始查詢結(jié)果的后面,即同義查詢結(jié)果出現(xiàn)在搜索結(jié)果列表的最后面。搜索引擎通過(guò)判斷原始查詢結(jié)果和同義查詢結(jié)果的重合度,來(lái)確定同義查詢結(jié)果出現(xiàn)轉(zhuǎn)義的概率,并在轉(zhuǎn)義概率較大時(shí),打壓同義查詢結(jié)果,以避免不符合用戶搜索需求的結(jié)果出現(xiàn)在搜索結(jié)果列表的前列,從而確保用戶具有良好的使用體驗(yàn)。本實(shí)施方式中,在用同義詞替換原詞執(zhí)行同義擴(kuò)展查詢前,并不必須采用實(shí)施方式一所提到的通過(guò)同義語(yǔ)境判斷來(lái)確定是否進(jìn)行同義詞替換,然而,本領(lǐng)域的普通技術(shù)人員可以輕易想到的是,如果本實(shí)施方式結(jié)合第一實(shí)施方式,即在同義詞替換前先執(zhí)行同義語(yǔ)境的判斷,然后在同義查詢結(jié)果出來(lái)后根據(jù)原始和同義查詢結(jié)果的重合度合并搜索結(jié)果,顯然這樣可以獲得更加準(zhǔn)確的搜索結(jié)果,從而進(jìn)一步提升用戶體驗(yàn)。圖6和圖7揭示了本發(fā)明搜索引擎的第三實(shí)施方式。本實(shí)施方式是基于同義查詢結(jié)果,進(jìn)一步通過(guò)分析同義查詢結(jié)果網(wǎng)頁(yè)的語(yǔ)義主題分布來(lái)判斷同義查詢結(jié)果的轉(zhuǎn)義概率,進(jìn)而調(diào)整同義查詢結(jié)果在最后展現(xiàn)給用戶的搜索結(jié)果列表中的位置。如圖6所示,與第一實(shí)施方式類似,搜索引擎300包括搜索組件11、數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、抓取器14、用戶界面15、用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)16、日志分析器17。其中索引器13、抓取器14、用戶界面
15、用戶查詢?nèi)罩緮?shù)據(jù)庫(kù)16、日志分析器17等功能模塊與第一實(shí)施方式中相同,申請(qǐng)人在此不再予以贅述。本實(shí)施方式中,搜索組件11包括搜索模塊111、查詢分析模塊112、結(jié)果合成模塊113、以及轉(zhuǎn)義判定模塊115。數(shù)據(jù)存儲(chǔ)庫(kù)12包含有索引庫(kù)121、網(wǎng)頁(yè)庫(kù)122、同義詞庫(kù)123、以及網(wǎng)頁(yè)語(yǔ)義主題庫(kù)124。其中索引庫(kù)121、網(wǎng)頁(yè)庫(kù)122、同義詞庫(kù)123與第一實(shí)施方式中相同,申請(qǐng)人在此不再予以贅述。搜索引擎300還包括一主題分析模塊18,本實(shí)施方式中,該主題分析模塊18包含一概率潛在語(yǔ)義分析(Probabilitistic Latent SemanticAnalysis,下稱 PLSA)模型。PLSA模型是一種自然語(yǔ)言處理的工具,其主要用于分析文檔的潛在語(yǔ)義。一個(gè)文檔可以被表示為一組詞的集合,但由于同義詞的存在,詞并不是文檔的最基本組成元素,所以,可以認(rèn)為在詞與文檔之間還有一個(gè)潛在的語(yǔ)義層面,即主題。例如,用戶輸入的查詢式為“瑞士軍刀綠顏色”,由于{ “綠顏色”,“綠色” }為同義詞對(duì),所以可以用“綠色”替換“綠顏色”來(lái)執(zhí)行同義擴(kuò)展查詢,但這時(shí)召回的結(jié)果可能會(huì)包含標(biāo)題為“系統(tǒng)瑞士軍刀-完美卸載V2007綠色版”的網(wǎng)頁(yè)。這是因?yàn)椤叭鹗寇姷毒G顏色”對(duì)應(yīng)的主題為“物品”,而“系統(tǒng)瑞士軍刀-完美卸載V2007綠色版”對(duì)應(yīng)的主題為“軟件”,顯然,搜索引擎還無(wú)法理解這些隱 含的主題。PLSA模型是一種通過(guò)計(jì)算文檔中共現(xiàn)詞的分布來(lái)分析潛在語(yǔ)義主題的主題模型,其在文檔和詞之間引入一個(gè)潛在的語(yǔ)義層,該潛在語(yǔ)義層由n個(gè)潛在語(yǔ)義主題構(gòu)成。假 設(shè)文檔與詞之間是相互獨(dú)立的,則文檔與詞共同出現(xiàn)的概率由它們與主題之間的概率關(guān)系來(lái)決定。因此,通過(guò)PLSA模型可計(jì)算出文檔或詞與潛在語(yǔ)義主題之間的關(guān)系?;诖?,本實(shí)施方式中可以通過(guò)PLSA模型獲得同義語(yǔ)境和同義查詢結(jié)果網(wǎng)頁(yè)的語(yǔ)義主題分布,并計(jì)算兩者的匹配度以確定同義查詢結(jié)果的轉(zhuǎn)義概率。接下來(lái)將作詳細(xì)描述。如圖6所示,主題分析模塊18從網(wǎng)頁(yè)庫(kù)122中獲取網(wǎng)頁(yè),去掉網(wǎng)頁(yè)中的邊框廣告等干擾詞,然后提取能夠代表該網(wǎng)頁(yè)的關(guān)鍵詞集合。隨后,主題分析模塊18通過(guò)PLSA模型計(jì)算獲得表示該網(wǎng)頁(yè)的語(yǔ)義主題分布的網(wǎng)頁(yè)-潛在語(yǔ)義主題向量S2= {s21, s22, ...,s2n},其中s2n表示該網(wǎng)頁(yè)在第n個(gè)語(yǔ)義主題上的概率分值。本實(shí)施方式中,網(wǎng)頁(yè)語(yǔ)義主題分布的獲取是在離線狀態(tài)下獲得,即主題分析模塊18分析所有被抓取的網(wǎng)頁(yè),獲得其語(yǔ)義主題分布,然后存儲(chǔ)入網(wǎng)頁(yè)語(yǔ)義主題庫(kù)124中。當(dāng)然,該過(guò)程也可以是在在線搜索的狀態(tài)下獲得,即當(dāng)同義查詢結(jié)果獲得后,主題分析模塊18僅分析查詢結(jié)果中的網(wǎng)頁(yè),然后將這些網(wǎng)頁(yè)的語(yǔ)義主題分布交給轉(zhuǎn)義判定模塊115來(lái)判斷。本實(shí)施方式中,同義語(yǔ)境語(yǔ)義主題分布的獲取是在線實(shí)現(xiàn)的。當(dāng)查詢分析模塊112切分原始查詢獲得關(guān)鍵詞集合后,主題分析模塊18獲取該關(guān)鍵詞集合,并且從同義語(yǔ)境庫(kù)1232中獲得相應(yīng)的同義語(yǔ)境包含的詞條集合。然后,將關(guān)鍵詞集合與同義語(yǔ)境的詞條集合合在一起,交給PLSA模型計(jì)算并獲得表示該同義語(yǔ)境的語(yǔ)義主題分布的同義語(yǔ)境-潛在語(yǔ)義主題向量SI = {sll, sl2, ...sln},其中sin是指同義語(yǔ)境在第n個(gè)語(yǔ)義主題上的概率值。當(dāng)?shù)玫较蛄縎 I后,主題分析模塊18將其交給轉(zhuǎn)義判定模塊115來(lái)判斷SI和S2的相似度。關(guān)于判斷的步驟,將會(huì)在后文做詳細(xì)地描述。接下來(lái)將配合圖7詳細(xì)介紹本實(shí)施方式中搜索引擎300執(zhí)行同義擴(kuò)展查詢的詳細(xì)步驟。首先,查詢分析模塊112接收到用戶搜索的原始查詢(步驟441),然后對(duì)該原始查詢進(jìn)行分析(步驟442)。查詢分析模塊112會(huì)對(duì)原始查詢進(jìn)行分詞操作,如同第一實(shí)施方式,分詞操作是基于同義語(yǔ)境構(gòu)建的詞典做最大正向切分。經(jīng)分詞操作后獲得原始關(guān)鍵詞集合,一方面,查詢分析模塊112將原始關(guān)鍵詞集合交給搜索模塊111執(zhí)行原始查詢(步驟449),并獲得原始查詢結(jié)果(步驟450)。另一方面,查詢分析模塊112基于同義詞庫(kù)123識(shí)別原始查詢中包含的原詞,并獲得相應(yīng)的潛在同義詞對(duì)及該潛在同義詞對(duì)的同義語(yǔ)境。分析查詢模塊112在獲得上述數(shù)據(jù)后,可以直接用同義詞替換原詞以獲得同義查詢,并交給搜索模塊111執(zhí)行同義擴(kuò)展查詢(步驟443)。作為優(yōu)選的實(shí)施方式中,在執(zhí)行同義詞替換操作前,可以先判斷是否符合原詞的同義語(yǔ)境,如果符合的話,再執(zhí)行同義替換的操作,如此可進(jìn)一步提高同義查詢結(jié)果的準(zhǔn)確率。關(guān)于根據(jù)同義語(yǔ)境的匹配度判斷來(lái)執(zhí)行同義詞替換的操作,已在第一實(shí)施方式中做了詳細(xì)描述,申請(qǐng)人在此不再語(yǔ)義贅述。此外,查詢分析模塊112還將原始關(guān)鍵詞集合交給主題分析模塊18,由其通過(guò)PLSA模型計(jì)算并獲得同義語(yǔ)境的語(yǔ)義主題分布(步驟447),計(jì)算的結(jié)果交給轉(zhuǎn)義判定模塊115。搜索模塊111執(zhí)行同義查詢獲得同義查詢結(jié)果(步驟444)后,轉(zhuǎn)義判定模塊115根據(jù)同義查詢結(jié)果從網(wǎng)頁(yè)語(yǔ)義主題庫(kù)中獲得結(jié)果網(wǎng)頁(yè)的語(yǔ)義主題分布,即網(wǎng)頁(yè)-潛在語(yǔ)義主題的向量S2= {s21, s22, , s2n}(步驟445)。另一方面,轉(zhuǎn)義判定模塊115從主題 分析模塊得到了同義語(yǔ)境的語(yǔ)義主題分布,即同義語(yǔ)境-潛在語(yǔ)義主題的向量SI = {sll,sl2, . . . sin},接下來(lái),轉(zhuǎn)義判定模塊115判斷兩個(gè)語(yǔ)義主題分布的匹配度,即計(jì)算兩個(gè)向量S1、S2的相似度(步驟446);而后根據(jù)匹配度過(guò)濾同義查詢結(jié)果(步驟448),即確定同義查詢結(jié)果的打壓方式,并據(jù)此合并原始查詢和同義查詢的結(jié)果,生成搜索結(jié)果列表(步驟451)。關(guān)于兩個(gè)向量的相似度計(jì)算有多種,如內(nèi)積相似度、余弦相似度等。以下是利用余弦相似度計(jì)算向量SI和S2之間相似度的計(jì)算公式的示例。
YjsI^sHSHSl ^2)= p n
VM J=I如果計(jì)算出來(lái)的相似度的值很高,表明該網(wǎng)頁(yè)和同義語(yǔ)境在第n個(gè)語(yǔ)義主題上概率都很大,則可以判斷兩個(gè)語(yǔ)義主題分布匹配度高,即該網(wǎng)頁(yè)的轉(zhuǎn)義概率較?。环粗?,如果計(jì)算出來(lái)的相似度的值很低,表明該網(wǎng)頁(yè)的轉(zhuǎn)義概率較大,如此就需要對(duì)該結(jié)果進(jìn)行打壓。具體地,相似度的值sim(Sl,S2)為處于
之間的浮點(diǎn)數(shù)??梢灶A(yù)先設(shè)定一個(gè)閾值a,則當(dāng)sim(Sl,S2)處于[a,1]時(shí),表明兩個(gè)語(yǔ)義主題分布的匹配度較高,這種情況下,不需要打壓同義查詢結(jié)果,只需按照預(yù)先確定的網(wǎng)頁(yè)的相關(guān)度權(quán)值來(lái)合并原始和同義查詢的結(jié)果。當(dāng)sim (SI,S2)處于
時(shí),表明兩個(gè)語(yǔ)義主題分布的匹配度較低,同義查詢結(jié)果的轉(zhuǎn)義概率較大,這時(shí)就需要打壓同義查詢結(jié)果。打壓的方式可以是對(duì)同義查詢結(jié)果網(wǎng)頁(yè)的相關(guān)度權(quán)值做降權(quán)處理,從而使同義查詢結(jié)果在合并后的搜索結(jié)果列表中處于較后的位置;或者將同義查詢結(jié)果插入到搜索結(jié)果列表的特定頁(yè)之后,如將同義查詢結(jié)果調(diào)整到搜索結(jié)果列表的第二頁(yè);此外也可以將同義查詢結(jié)果調(diào)整到原始查詢結(jié)果的后面,即同義查詢結(jié)果出現(xiàn)在搜索結(jié)果列表的最后面。搜索引擎通過(guò)比較同義語(yǔ)境和同義查詢結(jié)果網(wǎng)頁(yè)的語(yǔ)義主題分布的匹配度,可以判斷同義查詢結(jié)果是否滿足用戶的潛在需求,從而據(jù)此可以相應(yīng)地控制同義查詢結(jié)果在整個(gè)搜索結(jié)果列表中的排序,以避免在搜索結(jié)果的前列出現(xiàn)轉(zhuǎn)義結(jié)果,進(jìn)而確保用戶具有良好的使用體驗(yàn)。除了上述實(shí)施方式中介紹的PLSA模型外,其它主題模型也可以用來(lái)分析同義語(yǔ)境和同義查詢結(jié)果網(wǎng)頁(yè)的潛在的語(yǔ)義主題,如潛在語(yǔ)義分析(Latent SemanticAnalysis,LSA)模型、或潛在狄利克雷分配(Latent Dirichlet Allocation,LDA)模型等。圖8至圖10揭示了本發(fā)明搜索引擎的第四實(shí)施方式。本實(shí)施方式主要是描述搜索結(jié)果中的同義詞的展現(xiàn)方式。如圖8所示搜索引擎400的工作原理框圖,其包括搜索組件11、數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、抓取器14、和用戶界面15。數(shù)據(jù)存儲(chǔ)庫(kù)12、索引器13、抓取器14、和用戶界面15等功能模塊與上述實(shí)施方式基本相同,所以申請(qǐng)人在此不再予以贅述。本實(shí)施方式中,搜索組件11包括搜索模塊111、查詢分析模塊112、結(jié)果合成模塊113、用于分析同義詞和原詞相似度等級(jí)的分析模塊116、以及確定同義詞展現(xiàn)方式的標(biāo)注模塊117。以下結(jié)合圖9對(duì)本實(shí)施方式的搜索引擎執(zhí)行同義擴(kuò)展查詢做詳細(xì)說(shuō)明。首先,查詢分析模塊112接收到用戶搜索的原始查詢(步驟461),然后對(duì)該原始查詢進(jìn)行分析(步驟462)。查詢分析模塊112會(huì)對(duì)原始查詢進(jìn)行分詞操作,以得到原始關(guān)鍵詞集合。查詢分析模塊112基于同義詞庫(kù)123識(shí)別原始查詢中包含的原詞,并獲得包含該原詞及其同義詞的同義詞對(duì)。一方面,分析查詢模塊112用同義詞替換原詞以獲得同義查詢,隨后搜索模 塊111根據(jù)原始查詢和同義查詢執(zhí)行原始查詢和同義擴(kuò)展查詢(步驟463)。搜索模塊111在獲取原始查詢結(jié)果和同義查詢結(jié)果后,交由結(jié)果合成模塊113合并并生成搜索結(jié)果列表(步驟464)。關(guān)于原始和同義查詢的合并方法,上述實(shí)施方式中已詳細(xì)描述,申請(qǐng)人在此不再予以贅述。另一方面,查詢分析模塊112將同義詞對(duì)交給相似度等級(jí)分析模塊116,由其判斷同義詞和原詞的相似度等級(jí)(步驟465),并將判斷結(jié)果交給標(biāo)注模塊117。接下來(lái),標(biāo)注模塊117根據(jù)相似度等級(jí)的判斷結(jié)果來(lái)確定同義詞的展示方式,并最后通過(guò)用戶界面15將標(biāo)注好的搜索結(jié)果列表展現(xiàn)給用戶(步驟466)。以下結(jié)合圖10對(duì)同義詞和原詞的相似度等級(jí)判斷及相應(yīng)地展示方式進(jìn)一步舉例說(shuō)明。相似度等級(jí)分析模塊116從查詢分析模塊112獲取同義詞對(duì)(步驟471),首先判斷同義詞對(duì)中的同義詞和原詞是否屬于高相似度等級(jí)(即相似度等級(jí)較高的第一等級(jí))(步驟472)。本實(shí)施方式中,同義詞和原詞屬于高相似度等級(jí)的情形包括專有名詞縮寫(如“北京大學(xué)”和“北大”,“新浪網(wǎng)”和“sina”)、或數(shù)字變換(如“第五集”和“第5集”)、或地域詞變換(如“北京市”和“北京”)等。如果屬于高相似度等級(jí),則對(duì)同義詞進(jìn)行特定顏色的標(biāo)注(步驟473),通常該特定顏色是比較醒目的顏色,如本實(shí)施方式中的紅色;如果不屬于,則接下來(lái)判斷同義詞對(duì)中同義詞和原詞是否屬于中相似度等級(jí)(即相似度等級(jí)較低的第二等級(jí))(步驟474)。本實(shí)施方式中,原詞和同義詞中相似度等級(jí)的判斷包括語(yǔ)義相似度或詞形相似度的判斷。以下是語(yǔ)義相似度計(jì)算公式的具體示例
,、 ClickQueryCount(orip,svn)SSim(orig, syn) =---- ,
QueryCountiprig)其中ClickQueryCount (orig, syn)表示查詢式中包含原詞orig,同時(shí)點(diǎn)擊訪問(wèn)的網(wǎng)頁(yè)的標(biāo)題中不包含原詞orig但包含同義詞syn的歷史查詢數(shù)量;QueryCount (orig)表示查詢式中包含原詞orig的歷史查詢數(shù)量。例如,用戶輸入的歷史查詢式為“北大在哪里”,然后點(diǎn)擊了搜索結(jié)果中的標(biāo)題為“北京大學(xué)在哪里”的網(wǎng)頁(yè),那么這次查詢將被累計(jì)到ClickQueryCount (orig, syn)和QueryCount (orig)上;而如果用戶對(duì)于歷史查詢式“北大在哪里”只是點(diǎn)擊了搜索結(jié)果中的標(biāo)題為“北大在哪里”的網(wǎng)頁(yè),則這次查詢只會(huì)被累計(jì)到QueryCount (orig)上。顯然,語(yǔ)義相似度的值為處于
之間的浮點(diǎn)數(shù)??梢灶A(yù)先設(shè)定一個(gè)閾值P,則當(dāng)語(yǔ)義相似度的值處于[P,1]時(shí),表明原詞和同義詞屬于中相似度等級(jí);而當(dāng)語(yǔ)義相似度的值處于
時(shí),則接下來(lái)還將進(jìn)行詞形相似度的判斷。如果已經(jīng)確定該同義詞對(duì)屬于中相似度等級(jí),則對(duì)同義詞進(jìn)行特定字體的標(biāo)注(步驟475),如粗體或斜體,本實(shí)施方式中為粗體。以下是詞形相似度計(jì)算公式的具體示例
權(quán)利要求
1.一種搜索引擎的實(shí)現(xiàn)方法,其特征在于,該方法包括如下步驟 接收當(dāng)前用戶搜索的原始查詢; 識(shí)別原始查詢中包含的原詞、包含該原詞和其同義詞的潛在同義詞對(duì)、以及該潛在同義詞對(duì)的同義語(yǔ)境; 判斷所述同義語(yǔ)境和原始查詢是否匹配,且當(dāng)兩者匹配時(shí),將所述同義詞替代原始查詢中的原詞以獲得同義查詢式; 根據(jù)所述原始查詢和同義查詢式搜索獲得結(jié)果網(wǎng)頁(yè)的集合。
2.根據(jù)權(quán)利要求I所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述判斷同義語(yǔ)境和原始查詢的匹配度的步驟包括計(jì)算同義語(yǔ)境和原始查詢的匹配度;當(dāng)所述匹配度的值處于預(yù)定的匹配度區(qū)間內(nèi)時(shí),則確定同義語(yǔ)境和原始查詢匹配。
3.根據(jù)權(quán)利要求2所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述匹配度的計(jì)算根據(jù)原始查詢除去原詞后的長(zhǎng)度,以及同義語(yǔ)境的長(zhǎng)度來(lái)確定。
4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,該方法還包括在判斷同義語(yǔ)境和原始查詢的匹配度的步驟前,還會(huì)基于同義語(yǔ)境包含的詞條片斷對(duì)原始查詢做正向最大切分,從而獲得切分后的詞條集合。
5.根據(jù)權(quán)利要求I所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,該方法還包括如下步驟 獲取歷史的用戶查詢點(diǎn)擊數(shù)據(jù),所述數(shù)據(jù)包括歷史的查詢式和響應(yīng)于該查詢式而返回的并被點(diǎn)擊訪問(wèn)的查詢結(jié)果網(wǎng)頁(yè); 識(shí)別同義詞對(duì),所述同義詞對(duì)包括存在于所述歷史查詢式中的原詞以及存在于所述查詢結(jié)果網(wǎng)頁(yè)中的相應(yīng)的同義詞; 至少將所述歷史查詢式記錄并確定為所述同義詞對(duì)的同義語(yǔ)境。
6.根據(jù)權(quán)利要求5所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述確定同義語(yǔ)境的步驟還包括將所述歷史查詢式中原詞的緊鄰詞記錄并確定為同義語(yǔ)境。
7.根據(jù)權(quán)利要求6所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述緊鄰詞包括所述歷史查詢式中位于原詞前和位于原詞后的詞條。
8.根據(jù)權(quán)利要求7所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述緊鄰詞包括空詞條。
9.根據(jù)權(quán)利要求5所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,該方法還包括,在確定同義語(yǔ)境的步驟前,判斷所述結(jié)果網(wǎng)頁(yè)中的標(biāo)題是否包含同義詞且不包含原詞;如果是,則再執(zhí)行所述確定同義語(yǔ)境的步驟,如果否,則不執(zhí)行確定同義語(yǔ)境的步驟。
10.根據(jù)權(quán)利要求5所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述確定同義語(yǔ)境的步驟還包括,統(tǒng)計(jì)所述同義語(yǔ)境被記錄的頻次,當(dāng)所述頻次大于或等于一預(yù)定頻次閾值時(shí),確定該同義語(yǔ)境為所述同義詞對(duì)的同義語(yǔ)境。
11.根據(jù)權(quán)利要求I所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)的錨文本來(lái)確定。
12.根據(jù)權(quán)利要求I所述的搜索引擎的實(shí)現(xiàn)方法,其特征在于,所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)標(biāo)題中并列段來(lái)確定。
13.一種搜索引擎,其特征在于,該搜索引擎包括搜索組件,搜索組件包括查詢分析模塊和搜索模塊; 其中查詢分析模塊用于接收當(dāng)前用戶搜索的原始查詢; 識(shí)別所述原始查詢中包含的原詞、包含該原詞和其同義詞的潛在同義詞對(duì)、以及該潛在同義詞對(duì)的同義語(yǔ)境; 判斷所述同義語(yǔ)境和原始查詢是否匹配,且當(dāng)兩者匹配時(shí),將所述同義詞替代原始查詢中的原詞以獲得同義查詢式; 搜索模塊用于在同義語(yǔ)境和原始查詢匹配時(shí)根據(jù)所述原始查詢和同義查詢式搜索獲得結(jié)果網(wǎng)頁(yè)的集合。
14.根據(jù)權(quán)利要求13所述的搜索引擎,其特征在于,所述查詢分析模塊在判斷同義語(yǔ)境和原始查詢的匹配度時(shí),還用于計(jì)算同義語(yǔ)境和原始查詢的匹配度;當(dāng)所述匹配度的值處于預(yù)定的匹配度區(qū)間內(nèi)時(shí),則確定同義語(yǔ)境和原始查詢匹配。
15.根據(jù)權(quán)利要求14所述的搜索引擎,其特征在于,所述匹配度的計(jì)算根據(jù)原始查詢 除去原詞后的長(zhǎng)度,以及同義語(yǔ)境的長(zhǎng)度來(lái)確定。
16.根據(jù)權(quán)利要求13至15任一項(xiàng)所述的搜索引擎,其特征在于,所述查詢分析模塊還用于在判斷同義語(yǔ)境和原始查詢的匹配度前,還會(huì)基于同義語(yǔ)境包含的詞條片斷對(duì)原始查詢做正向最大切分,從而獲得切分后的詞條集合。
17.根據(jù)權(quán)利要求13所述的搜索引擎,其特征在于,搜索引擎還包括用戶查詢?nèi)罩痉治銎?,其用? 獲取歷史的用戶查詢點(diǎn)擊數(shù)據(jù),所述數(shù)據(jù)包括歷史的查詢式和響應(yīng)于該查詢式而返回的并被點(diǎn)擊訪問(wèn)的查詢結(jié)果網(wǎng)頁(yè); 識(shí)別同義詞對(duì),所述同義詞對(duì)包括存在于所述歷史查詢式中的原詞以及存在于所述查詢結(jié)果網(wǎng)頁(yè)中的相應(yīng)的同義詞; 至少將所述歷史查詢式記錄并確定為所述同義詞對(duì)的同義語(yǔ)境。
18.根據(jù)權(quán)利要求17所述的搜索引擎,其特征在于,所述日志分析器確定同義語(yǔ)境還包括將所述歷史查詢式中原詞的緊鄰詞記錄并確定為同義語(yǔ)境。
19.根據(jù)權(quán)利要求18所述的搜索引擎,其特征在于,所述緊鄰詞包括所述歷史查詢式中位于原詞前和位于原詞后的詞條。
20.根據(jù)權(quán)利要求19所述的搜索引擎,其特征在于,所述緊鄰詞包括空詞條。
21.根據(jù)權(quán)利要求17所述的搜索引擎,其特征在于,所述日志分析器還用于在確定同義語(yǔ)境之前,判斷所述結(jié)果網(wǎng)頁(yè)中的標(biāo)題是否包含同義詞且不包含原詞;如果是,則再執(zhí)行所述確定同義語(yǔ)境的步驟,如果否,則不執(zhí)行確定同義語(yǔ)境的步驟。
22.根據(jù)權(quán)利要求17所述的搜索引擎,其特征在于,所述日志分析器還用于統(tǒng)計(jì)所述同義語(yǔ)境被記錄的頻次,當(dāng)所述頻次大于或等于一預(yù)定頻次閾值時(shí),確定該同義語(yǔ)境為所述同義詞對(duì)的同義語(yǔ)境。
23.根據(jù)權(quán)利要求13所述的搜索引擎,其特征在于,所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)的錨文本來(lái)確定。
24.根據(jù)權(quán)利要求13所述的搜索引擎,其特征在于,所述同義語(yǔ)境根據(jù)網(wǎng)頁(yè)標(biāo)題中并列段來(lái)確定。
全文摘要
本發(fā)明提供一種搜索引擎及其實(shí)現(xiàn)方法,其方法包括用于接收當(dāng)前用戶搜索的原始查詢;識(shí)別原始查詢中包含的原詞、包含該原詞和其同義詞的潛在同義詞對(duì)、以及該潛在同義詞對(duì)的同義語(yǔ)境;判斷所述同義語(yǔ)境和原始查詢是否匹配,且當(dāng)兩者匹配時(shí),將所述同義詞替代原始查詢中的原詞以獲得同義查詢式;根據(jù)所述原始查詢和同義查詢式搜索獲得結(jié)果網(wǎng)頁(yè)的集合。搜索引擎通過(guò)語(yǔ)義環(huán)境的判斷來(lái)提供準(zhǔn)確的同義擴(kuò)展查詢,從而為用戶提供全面、準(zhǔn)確的搜索結(jié)果,同時(shí)確保用戶具有良好的使用體驗(yàn)。
文檔編號(hào)G06F17/30GK102737021SQ201110081259
公開日2012年10月17日 申請(qǐng)日期2011年3月31日 優(yōu)先權(quán)日2011年3月31日
發(fā)明者呼大為 申請(qǐng)人:北京百度網(wǎng)訊科技有限公司