專利名稱:識別同義詞的方法、裝置及利用其進行搜索的方法和裝置的制作方法
技術領域:
本申請涉及計算機數(shù)據(jù)處理技術領域,特別涉及一種識別中文同義詞的方法和裝 置及利用其進行搜索的方法和裝置。
背景技術:
現(xiàn)有的搜索一般是基于關鍵詞的搜索,即用戶輸入關鍵詞讓搜索引擎進行查詢, 搜索引擎返回包含有這些關鍵詞的結果網頁。比如用戶輸入“數(shù)碼照相機”,現(xiàn)有的中文搜 索引擎會對輸入的關鍵詞先進行分詞,通常將“數(shù)碼照相機”分詞為“數(shù)碼照相機”兩個詞 條,之后返回的結果網頁中包含有“數(shù)碼”和“照相機”兩個詞條。而實際上,不同的用戶背景不同,習慣不同,很有可能他們意圖相似而壓縮表達出 來的用于查詢的關鍵詞卻不一樣。比如,查詢“數(shù)碼照相機”和“數(shù)碼相機”的用戶潛在意圖 是完全一致的,而對于“數(shù)碼照相機”,現(xiàn)有的搜索引擎返回的結果網頁中包含有“數(shù)碼”和 “照相機”兩個詞條,而有一些很有價值的結果網頁,因為包含有“數(shù)碼”和“相機”兩個詞卻 沒有被返回或者由于其他技術因素返回卻沒有排在很靠前的位置。如果搜索引擎能發(fā)現(xiàn)這 對詞是組同義詞,同時合并返回兩個詞組的結果網頁,那么對于提高搜索的準確度,以及用 戶搜索體驗是非常有效的。同義詞是自然語言中的一個獨特現(xiàn)象,同義詞挖掘在自然語言處理中也是一個非 常有意義的工作,它的實現(xiàn)對于搜索查詢重寫,豐富搜索結果以使得用戶得到很好的查詢 體驗有很大的幫助。但是,搜索應用中所涉及的同義詞替換必須把握的恰如其分,并不是 使用任何一個近義詞表就可以解決的。因為用戶已經習慣于關鍵詞搜索,習慣于輸入查詢 后,和查詢相同的字、詞在結果條目中標紅;那么即使是完全同義的不同字、詞替換,也不是 每個用戶都能接受的。例如“土豆”和“馬鈴薯”是完全同義,但用戶輸入“土豆”,而“馬鈴 薯”卻赫然出現(xiàn)在結果條目中被標紅,猛一看還以為搜索引擎出問題了,如果不被標紅又很 容易被用戶的眼睛跳過。所以本文所涉及的同義詞是指應該適合搜索應用的同義詞。目前存在的漢語同義詞自動識別方法是,將每個詞表示成一個網頁,詞典中對該 詞解釋的其他詞和這個詞形成一種鏈接關系,給每個詞賦予一個分值,這個分值就代表了 詞之間的相似度,也就是說,把詞匯之間解釋與被解釋的關系看成是一種超鏈接,把頁面等 級(PageRank)值看成是體現(xiàn)詞匯之間語義相似性的衡量指標,然后根據(jù)語義相似度的大 小識別同義詞。這種方法主要是通過PageRank值作為衡量同義詞的指標,而PageRank值的 確定是依賴于其所能獲得的資源的,而這種資源又有很大的隨意性難以控制,例如,對“土 豆”的解釋,如果所用的資源著重解釋土豆的植物特性,外形特征等,那么很有可能“土豆” 會和“根莖”,“橢圓”等詞建立近義詞關系。因而這種體現(xiàn)鏈接關系的PageRank值是非常 不可靠的,并且這種不可靠信息很難自動檢測,從而導致不能準確識別所需的同義詞,使得 識別的效果很難得到保證。
發(fā)明內容
本申請實施例一方面在于提供一種識別中文同義詞的方法和裝置,以解決中文同 義詞識別效果不能得到保證的問題。本申請實施例另一方面在于提供一種搜索方法及裝置,以豐富搜索結果信息。本申請實施例提供了一種識別中文同義詞的方法,包括a、計算服務器獲得需要識別的任意兩個中文詞;b、確定所述兩個中文詞之間的最小編輯距離小于等于編輯距離閾值后,執(zhí)行步驟c ;C、判斷所述需要識別的兩個中文詞是否都存在于預設的知識庫中,若是,則在所 述知識庫中分別查找每個中文詞的權重最大的最小粒度類型;d、若查詢到的每個中文詞的權重最大的最小粒度類型相等,則判定所述兩個中文 詞為同義詞,否則判定所述兩個中文詞為非同義詞。其中,若需要識別的兩個中文詞是否不都存在于預設的知識庫中,則進一步包 括e、計算服務器對不能查到的中文詞進行分詞,再判斷所述分詞后的中文詞是否都 存在于所述知識庫中,若是,則再在所述知識庫中分別查找每個中文詞的權重最大的最小 粒度類型,并繼續(xù)后續(xù)步驟e。其中,當判斷出每個中文詞的權重最大的最小粒度類型相等后,進一步包括計算服務器判斷兩個中文詞中有變化的字或詞是否屬于已設置的普義字表中可 以改變的字,若是,再判定所述需要識別的兩個中文詞為同義詞,否則判定所述兩個中文詞 為非同義詞。其中,所述知識庫包括詞條和概念,每個詞條或概念至少對應一個類型,且每個 詞條或概念對應的每個類型具有權重值。其中,所述在所述知識庫中分別查找每個中文詞的權重最大的最小粒度類型包 括在所述知識庫中查到與每個中文詞對應的詞條或概念,根據(jù)每個詞條或概念對應 的至少一個類型,及每個詞條或概念具有的權重值,查到每個中文詞的權重最大的最小粒 度類型。其中,若判定所述兩個中文詞為同義詞,則將所述識別出的同義詞存入同義詞庫。本申請實施例還提供了一種搜索方法,包括搜索引擎接收來自用戶的查詢請求,所述查詢請求中包括待查詢詞條;搜索引擎根據(jù)所述待查詢詞條查詢預先設置的同義詞庫,找到該待查詢詞條的同 義詞;搜索引擎應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索,返回包括該待 查詢詞條和該待查詢詞條同義詞的搜索結果給用戶。本申請實施例還提供了一種識別中文同義詞的裝置,包括獲取單元,用于獲得需要識別的任意兩個中文詞;第一判斷單元,用于確定所述兩個中文詞之間的最小編輯距離小于等于編輯距離 閾值后,通知第二判斷單元;第二判斷單元,用于判斷所述需要識別的兩個中文詞都存在于預設的知識庫中時,通知查詢單元;查詢單元,用于在所述知識庫中分別查找每個中文詞的權重最大的最小粒度類 型;第三判斷單元,用于確定查詢到的每個中文詞的權重最大的最小粒度類型相等 時,判定所述兩個中文詞為同義詞,確定查詢到的每個中文詞的權重最大的最小粒度類型 不相等時,判定所述兩個中文詞為非同義詞。其中,還所述裝置包括分詞單元,用于對不能在所述知識庫中查到的中文詞進行 分詞,之后通知第二判斷單元;所述第二判斷單元,還用于判斷出所述分詞后的中文詞都存在于所述知識庫中 時,再通知查詢單元,判斷出所述分詞后的中文詞不都存在于所述知識庫中時,再通知分詞單元。其中,所述裝置還包括普義字表查詢單元,用于確定兩個中文詞中有變化的字或 詞屬于已設置的普義字表中可以改變的字時,通知第三判斷單元判定所述兩個中文詞為同 義詞,確定兩個中文詞中有變化的字或詞不屬于已設置的普義字表中可以改變的字時,通 知第三判斷單元判定所述兩個中文詞為非同義詞。其中,所述知識庫包括詞條和概念,每個詞條或概念至少對應一個類型,且每個 詞條或概念對應的每個類型具有權重值。其中,所述識別中文同義詞的裝置為計算服務器或搜索引擎。本申請實施例還提供了 一種搜索裝置,包括接收單元,用于收來自用戶的查詢請求,所述查詢請求中包括待查詢詞條;同義詞查詢單元,用于根據(jù)所述待查詢詞條查詢預先設置的同義詞庫,找到該待 查詢詞條的同義詞;搜索單元,用于應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索;反饋單元,用于將所述搜索結果返回給用戶。應用本申請實施例提供的識別中文同義詞的方法及裝置,由于首先確定待識別中 文詞之前的最小編輯距離,因而使得同義詞對之間的字詞表達差異不大,在搜索應用中能 夠提高搜索結果的準確性,并且不會給用戶帶來突兀的感覺,再有,本申請實施例利用知識 庫對待識別的中文詞進行語義的驗證,使得識別出的同義詞準確率大大提高,保證了同義 詞的識別效果。應用本申請實施例提供的搜索方法及裝置,既避免了在搜索中給用戶帶來突兀的 感覺,又豐富了搜索結果,使返回的搜索結果更符合用戶的需求。
為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本申請一個實施例的識別中文同義詞的流程圖;圖2是根據(jù)本申請的一較佳實施例的流程圖3是根據(jù)本申請實施例的知識庫類型層次示意圖;圖4是根據(jù)本申請一個實施例的識別中文同義詞的裝置結構示意圖;圖5是根據(jù)本申請一個實施例的識別中文同義詞的系統(tǒng)結構示意圖。圖6是根據(jù)本申請一個實施例的一種搜索方法的流程圖;圖7是根據(jù)本申請一個實施例的一種搜索裝置的結構示意圖。
具體實施例方式下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;?本申請中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本申請保護的范圍。本申請使用最小編輯距離的算法,利用定義較小的編輯距離,使得同義詞對之間 的字詞表達差異不大,在搜索應用中不會給用戶帶來突兀的感覺,另外,利用知識庫的淺層 語義概念驗證,使得同義詞準確率大大提高,抽取的同義詞表對于搜索等相關應用有很好 的效果,當然也可以運用到除搜索以外的其他領域中。其中,編輯距離是指從一個字串變化到另一個字串最少需要的基本操作次數(shù),或 理解為兩個字串差異部分的長度之和。通常的基本操作包括插入一個字/詞,刪除一個字/ 詞,替換一個字/詞,或者其它根據(jù)需要而設的操作。例如從“我愛你”變化到“我不愛她” 至少需要插入一個“不”、將“你”替換成“她”兩次基本操作,因此兩者的編輯距離為2,同 理,“隱形的翅膀”和“好吃的雞翅膀”的編輯距離為3。該編輯距離的計算過程,即插入一 個字/詞,刪除一個字/詞,替換一個字/詞的過程完全是現(xiàn)有技術。參見圖1,其是根據(jù)本申請一個實施例的識別中文同義詞的流程圖。本實施例的目 的是為了識別出待識別的兩個中文詞之間是否為同義詞,具體步驟如下步驟101,計算服務器獲得需要識別的任意兩個中文詞;這里,通常是從搜索引擎的查詢日志中獲取任意的兩個中文詞,為了提高效率,可 以在引擎的查詢日志選出輸入次數(shù)最多的10萬條詞條,將這10萬條詞條兩者之間一一比 對。上述計算服務器可以是搜索引擎本身,也可以是專門用戶同義詞比對的服務器, 還可以是其他具有計算功能的服務器。步驟102,計算服務器確定需要識別的兩個中文詞之間的最小編輯距離小于等于 編輯距離閾值后,執(zhí)行步驟103 ;若需要識別的兩個中文詞之間的最小編輯距離大于編輯距離閾值,則直接判定兩 個中文詞為非同義詞。這里,編輯距離閾值可以是1、2、3等??梢岳斫?,編輯距離越小,兩個詞之間的變 化越小。步驟103,計算服務器判斷所述需要識別的兩個中文詞是否都存在于預設的知識 庫中,若是,則執(zhí)行步驟104;其中,有關知識庫的內容在后面具體介紹。步驟104,計算服務器在所述知識庫中分別查找每個中文詞的權重最大的最小粒
7度類型;其中,有關知識庫內中文詞的權重、及粒度類型在后面介紹。步驟105,計算服務器若查詢到的每個中文詞的權重最大的最小粒度類型相等,則 判定所述兩個中文詞為同義詞,否則判定所述兩個中文詞為非同義詞。需要說明的是,若需要識別的兩個中文詞不都存在于預設的知識庫中,則進一步 包括步驟106,計算服務器對不能查到的中文詞進行分詞,再判斷所述分詞后的中文詞是 否都存在于所述知識庫中,若是,則繼續(xù)后續(xù)步驟即執(zhí)行步驟104,否則再次執(zhí)行步驟106。需要說明的是,本實施例可以進一步包括將識別出的同義詞存入同義詞庫,以備 后續(xù)應用。其中同義詞庫可以以數(shù)據(jù)表的形式對識別出的同義詞進行保存。對于保存同義 詞的數(shù)據(jù)表,一種可能的實現(xiàn)方式是,讓互為同義詞的詞條對應保存,這樣可以方便查詢。 例如,詞條Al和A2,Bl和B2,Cl和C2、C3互為同義詞,其保存方式可參見表1,表 1 當然,保存同義詞的數(shù)據(jù)表并不限于表1所示保存方式,本文并不對同義詞的具 體保存形式做限定,只要能夠保證待查詢詞條的同義詞能夠被及時查到即可。應用本申請實施例提供的識別中文同義詞的方法,由于首先確定待識別中文詞之 前的最小編輯距離,因而使得同義詞對之間的字詞表達差異不大,在搜索應用中不會給用 戶帶來突兀的感覺,再有,本申請實施例利用知識庫對待識別的中文詞進行語義的驗證,使 得識別出的同義詞準確率大大提高,保證了同義詞的識別效果。應用本申請所確定的中文同義詞,不僅僅可以應用到搜索相關領域,還可以應用 到其他領域中。參見圖2,其是根據(jù)本申請的一較佳實施例的流程圖。具體如下步驟201,計算服務器獲得需要識別的任意兩個中文詞;一般選擇的待識別的中文詞對是在日志中經常出現(xiàn)的高頻詞,比如出現(xiàn)次數(shù)大于等于20次的詞,因為高頻詞很具有代表性,多次出現(xiàn)保證了待識別的中文詞不是生僻詞; 另外中文詞的字數(shù)最好不超過一定數(shù)目,比如字數(shù)小于等于8;這是為了使得后面能夠快 速的計算編輯距離,并且再長的詞條出現(xiàn)同義情況概率較小。這里,需要識別的兩個中文詞來自搜索引擎的查詢日志。
步驟202,計算服務器計算需要識別的兩個中文詞之間的最小編輯距離。這里,可以應用現(xiàn)有的動態(tài)規(guī)劃算法計算兩個中文詞之間的最小編輯距離,當然 也可以使用其他的算法,在此,并不對計算最小編輯距離的具體算法做限定。在現(xiàn)有的動態(tài)規(guī)劃算法中,每個詞的最小單位為一個字,比如兩個詞Wl,W2 ;他們 的字組成為clc2c3, dld2d3,那么clc2c3, dld2d3之間的最短距離Dis (clc2c3, dld2d3)可 以由他們的子串的最短距離而得,具體的計算方法為如果c3 = d3,Dis(clc2c3, dld2d3) =DIS(clc2, dld2)+l,如果不相等,Dis(clc2c3, dld2d3) = Max (Dis (clc2,dld2d3), Dis(clc2c3, dld2)),其中Max是指選其中的最大值,這就是動態(tài)規(guī)劃算法。步驟203,計算服務器判斷所計算出的最小編輯距離是否小于等于編輯距離閾值, 若是,則執(zhí)行步驟204 ;否則判定需要識別的兩個中文詞為非同義詞。在一個較佳實施例中,令編輯距離閾值等于1。因為本實施例所識別的同義詞主要用于查詢(query)重寫的搜索應用中,查詢重 寫簡單的說就是把用戶輸入的關鍵詞用它的同義詞替代搜索,這樣做可以增加結果的召回 率,并且可以豐富結果集,對于基于分詞的搜索引擎,如用戶搜索“嬰幼兒奶粉”,則含有“嬰 兒奶粉”的結果就找不到,而當“嬰幼兒”被同義詞“嬰兒”替代后就可以找到了。因而,如 果query重寫后多字被改變卻被標紅,即使重寫后的query和原query意思相差不大,這對 于用戶的體驗也是有風險的,因為用戶已經比較習慣于結果條目中關鍵字被標紅,較大的 改變可能會令部分人不適應。因此,這里推薦所采用的編輯距離閾值等于1,也就是說,如果 兩個中文詞為同義詞,則這兩個中文詞在表達形態(tài)變化很小。步驟204,計算服務器判斷需要識別的兩個中文詞是否都存在于預設的知識庫中, 若是,則執(zhí)行步驟205,否則執(zhí)行步驟208 ;上述知識庫實際是一個詞典文件,也可以被稱為概念庫,其由詞條和概念組成。詞 條可以被理解為一個基本的詞,而概念可以被理解是詞條的組合,但這種組合是日常生活 中常用的非常固定的組合。例如,“蘋果”、“北京”、“大學”分別是一個詞條,而“北京大學” 就是知識庫中的一個概念。知識庫本身就是一個數(shù)據(jù)表,每一個表項代表一個詞,每一個表項有多個域組成 詞本身,詞的類型,類型的權重。上述知識庫中具有已定義好的至少一個類型,通常是具有幾十個類型,這些類型 是分層次的,每個層次對應一個粒度,即由于類型分為多個層次因而對應不同類型的層次 有多個粒度,在此,可以將這種對應多個層次的粒度稱為粒度類型。其中,類型就是已經定 義好的屬性,這些屬性都是參照語言學方面的知識而定義的,所有的詞事先都劃分了所屬 的類型。例如,參見圖3,其是根據(jù)本申請實施例的知識庫類型層次示意圖。在本實施例中, “產品”屬于一個較高層次的類型,在本實施例中稱其為第一層次類型,而“產品_品牌”,“產 品_型號”,“產品_規(guī)格”,“產品_類型”是位于“產品”這個層次類型下的不同類型,即“產品-品牌”,“產品-型號”,“產品-規(guī)格”,“產品-類型”是第二層次類型,其位于第一層次 類型下。而“產品-類型”下還可以包括第三層次類型的“產品類型-簡單”,“產品類型-復 合”,“產品類型-統(tǒng)稱”等。本實施例中,位于第三層次類型的“產品類型-簡單”,“產品類 型-復合”,“產品類型-統(tǒng)稱”就是最小粒度類型。知識庫中的每個詞條或概念都會對應到至少一個層次類型,比如,“蘋果”不但屬 于“產品類型一簡單”,還屬于“植物”類型,而“汽車”僅屬于“產品類型一統(tǒng)稱”,而且,每 個詞條或概念具有權重值,該權重值表明該詞條或概念屬于該類型的概率,例如,“蘋果”屬 于“產品類型_簡單”的權重值是0. 38,而屬于“植物”的權重值是0. 54。
可以理解,上述知識庫中的類型、類型的層次,以及某個詞條或概念所屬類型的權 重值是通過經驗積累而獲得的。所謂經驗積累是指,知識庫中的類型、類型的層次等都是參 照了語言學方面的知識獲得的,而每個詞的權重是在網頁資源中統(tǒng)計出來的,比如“蘋果” 這個詞,它在網頁中以電腦產品的意思出現(xiàn)的次數(shù)是60次,以植物出現(xiàn)的次數(shù)為40次,那 么屬于“產品類型_簡單”和“植物”的權重分別為0. 6和0. 4。步驟205,計算服務器在所述知識庫中分別查找每個中文詞的權重最大的最小粒 度類型;可以理解,由于知識庫中每個詞條或概念對應至少一個類型,且每個詞條或概念 具有權重值,因而可以查到每個中文詞的權重最大的最小粒度類型。步驟206,計算服務器判斷查詢到的每個中文詞的權重最大的最小粒度類型是否 相等,若相等,則執(zhí)行步驟207,否則判定需要識別的兩個中文詞為非同義詞??梢岳斫?,通過最小粒度類型,更嚴格約束了待識別中文詞的語義屬性,保證了所 識別出同義詞的可靠性。步驟207,計算服務器判斷兩個中文詞中有變化的字或詞是否屬于已設置的普義 字表中可以改變的字,若是,則判定需要識別的兩個中文詞為同義詞,否則判定需要識別的 兩個中文詞為非同義詞。普義字表和知識庫類似,也是一個文本文件,每一行代表一個普義字。普義字表包括可以改變的字和不可以改變字兩部分,其中,可改變字大多是多字 詞的后綴字,并且這些后綴字出現(xiàn)頻率很高,比如“機”,“器”等字;不可改變的字大多是字 詞的前綴或后綴詞,多半會對詞進行轉義,比如“不”,“非”,“半”等字。該普義字表也是通 過經驗積累,或由人工檢查(review)而得到??梢岳斫猓捎谄樟x字表的存在,更進一步保證了同義詞的識別效果。步驟208,計算服務器對不能查到的中文詞進行分詞。這里,不能查到的中文詞可以是需要識別的兩個中文詞,或是其中任意一個,或 是,已經過分詞處理后得到的中文詞。步驟209,計算服務器判斷上述分詞后的中文詞是否都存在于所述知識庫中,若 是,則返回步驟205,否則,再次執(zhí)行步驟208。上述識別中文同義詞的方法可以應用在搜索引擎中,也可以應用在需要應用的其 他服務器或設備中。需要說明的是,本實施例可以進一步包括將識別出的同義詞存入同義詞庫,以備 后續(xù)應用。其中同義詞庫可以以數(shù)據(jù)表的形式對識別出的同義詞進行保存。對于保存同義詞的數(shù)據(jù)表,一種可能的實現(xiàn)方式是,讓兩兩互為同義詞的詞條一一對應保存,這樣可以方便查詢。本文并不對同義詞的具體保存形式做限定,只要能夠保證待查詢詞條的同義詞能 夠被及時查到即可。應用圖2所示實施例提供的識別中文同義詞的方法,由于首先確定待識別中文詞 之前的最小編輯距離,因而使得同義詞對之間的字詞表達差異不大,在搜索應用中不會給 用戶帶來突兀的感覺;再有,本申請實施例利用知識庫對待識別的中文詞進行語義的驗證, 即通過最小粒度類型,更嚴格約束了待識別中文詞的語義屬性,使得識別出的同義詞準確 率大大提高,此外,由于利用普義字表對待識別中文詞對中不同的字再次進行驗證,進一步 保證了同義詞的識別效果。對于已識別出的同義詞庫,可做如下應用當搜索引擎接收到用戶輸入的待查詢詞條后,從同義詞庫中找到該待查詢詞條的 同義詞,之后,搜索引擎應用用戶輸入的待查詢詞條和該詞條的同義詞分別進行搜索查詢, 將兩次查詢結果全部返回用戶,這樣,既避免了在搜索應用中給用戶帶來突兀的感覺,又豐 富了搜索結果,使返回的搜索結果更符合用戶的需求,因而可以應用在搜索引擎的查詢重 寫應用中。例如,用戶通過搜索引擎查詢“數(shù)碼照相機”,搜索引擎通過查詢同義詞庫獲知 “數(shù)碼相機”是“數(shù)碼照相機”的同義詞,搜索引擎便應用“數(shù)碼相機”和“數(shù)碼照相機”分別 進行搜索查詢,并返回包含“數(shù)碼相機”以及“數(shù)碼照相機”的搜索結果,這樣,不但豐富了 搜索結果,而且避免了用戶所需要的信息被漏掉?;谏鲜鰬茫旧暾堖€提供了一種搜索方法,參見圖6,具體包括步驟601,用戶輸入待查詢詞條,向搜索引擎提交查詢請求。步驟602,搜索引擎接收來自用戶的包含待查詢詞條的查詢請求后,根據(jù)所述待查 詢詞條查詢預先設置的同義詞庫,找到該待查詢詞條的同義詞;步驟603,搜索引擎應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索;步驟604,搜索引擎返回包括該待查詢詞條和該待查詢詞條同義詞的搜索結果給 用戶。本申請實施例還提供了一種識別中文同義詞的裝置,參見圖4,具體包括獲取單 元401、第一判斷單元402、第二判斷單元403、查詢單元404和第三判斷單元405,其中,獲取單元401,用于獲得需要識別的任意兩個中文詞;在搜索引擎的應用中,搜索 的查詢日志存儲有用戶經常查詢的關鍵詞,因而所獲得的需要識別的任意兩個中文詞中, 一個來自于用戶在搜索引擎中輸入的關鍵詞,另一個是根據(jù)該用戶輸入的關鍵詞從搜索的 查詢日志中獲得。第一判斷單元402,用于確定所述兩個中文詞之間的最小編輯距離小于等于編輯 距離閾值后,通知第二判斷單元403 ;第二判斷單元403,用于判斷所述需要識別的兩個中文詞都存在于預設的知識庫 中時,通知查詢單元404 ;查詢單元404,用于在所述知識庫中分別查找每個中文詞的權重最大的最小粒度 類型;第三判斷單元405,用于確定查詢到的每個中文詞的權重最大的最小粒度類型相 等時,判定所述兩個中文詞為同義詞,確定查詢到的每個中文詞的權重最大的最小粒度類型不相等時,判定所述兩個中文詞為非同義詞。
上述裝置還可以包括分詞單元406,用于對不能在所述知識庫中查到的中文詞進行分詞,之后通知第二 判斷單元403 ;第二判斷單元403,還用于判斷出所述分詞后的中文詞都存在于所述知識庫中時, 再通知查詢單元404,判斷出所述分詞后的中文詞不都存在于所述知識庫中時,再通知分詞 單元406。上述裝置還可以包括普義字表查詢單元407,用于確定兩個中文詞中有變化的字或詞屬于已設置的普 義字表中可以改變的字時,通知第三判斷單元405判定所述兩個中文詞為同義詞,確定兩 個中文詞中有變化的字或詞不屬于已設置的普義字表中可以改變的字時,通知第三判斷單 元405判定所述兩個中文詞為非同義詞。上述知識庫包括詞條和概念,每個詞條或概念至少對應一個類型,且每個詞條或 概念對應的每個類型具有權重值。上述知識庫、普義字表都是通過經驗積累而獲得的。上述識別中文同義詞的裝置可以作為一個計算服務器單獨存在,或是搜索引擎中 的一部分,或是其他服務器的一部分。應用本申請所示實施例提供的識別中文同義詞的裝置,由于首先確定待識別中文 詞之前的最小編輯距離,因而使得同義詞對之間的字詞表達差異不大,在搜索應用中不會 給用戶帶來突兀的感覺;再有,本申請實施例利用知識庫對待識別的中文詞進行語義的驗 證,即通過最小粒度類型,更嚴格約束了待識別中文詞的語義屬性,使得識別出的同義詞準 確率大大提高,此外,由于利用普義字表對待識別中文詞對中不同的字再次進行驗證,進一 步保證了同義詞的識別效果。本申請實施例還提供了一種搜索引擎中的識別中文同義詞的系統(tǒng),參見圖5,具體 包括識別中文同義詞的裝置501和知識庫存儲單元裝置502,其中,知識庫存儲裝置502,用于存儲字詞本身,字詞的類型,類型的權重值;識別中文同義詞的裝置501,用于獲得需要識別的任意兩個中文詞;確定所述兩 個中文詞之間的最小編輯距離小于等于編輯距離閾值后,判斷所述需要識別的兩個中文詞 都存在于預設的知識庫存儲單元502中時,在所述知識庫存儲單元502中分別查找每個中 文詞的權重最大的最小粒度類型;確定查詢到的每個中文詞的權重最大的最小粒度類型相 等時,判定所述兩個中文詞為同義詞,確定查詢到的每個中文詞的權重最大的最小粒度類 型不相等時,判定所述兩個中文詞為非同義詞。上述識別中文同義詞的裝置501,還用于對不能查到的中文詞進行分詞,再判斷所 述分詞后的中文詞是否都存在于所述知識庫存儲裝置502中,若是,則再在所述知識庫存 儲裝置502中分別查找每個中文詞的權重最大的最小粒度類型,并繼續(xù)后續(xù)步驟,否則再 次執(zhí)行本步驟。上述系統(tǒng)還包括普義字表存儲裝置503,用于存儲可以改變的字和不可以改變的 字;上述識別中文同義詞的裝置501,還用于確定兩個中文詞中有變化的字或詞屬于已設置的普義字表中可以改變的字時,判定所述兩個中文詞為同義詞,確定兩個中文詞中 有變化的字或詞不屬于已設置的普義字表中可以改變的字時,判定所述兩個中文詞為非同 義詞。上述識別中文同義詞的系統(tǒng)可以作為一個服務器單獨存在,或是搜索引擎中的一 部分,或是其他服務器的一部分。應用本申請所示實施例提供的識別中文同義詞的系統(tǒng),由于首先確定待識別中文 詞之前的最小編輯距離,因而使得同義詞對之間的字詞表達差異不大,在搜索應用中不會 給用戶帶來突兀的感覺;再有,本申請實施例利用知識庫對待識別的中文詞進行語義的驗 證,即通過最小粒度類型,更嚴格約束了待識別中文詞的語義屬性,使得識別出的同義詞準 確率大大提高,此外,由于利用普義字表對待識別中文詞對中不同的字再次進行驗證,進一 步保證了同義詞的識別效果。本申請還提供了一種搜索裝置,參見圖7,包括接收單元701,同義詞查詢單元 702,搜索單元703和反饋單元704,其中,接收單元701,用于接收來自用戶的查詢請求,所述查詢請求中包括待查詢詞條;同義詞查詢單元702,用于根據(jù)所述待查詢詞條查詢預先設置的同義詞庫,找到該 待查詢詞條的同義詞;搜索單元703,用于應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索;反饋單元704,用于將所述搜索結果返回給用戶。應用本實施例提供的搜索裝置,既避免了在搜索中給用戶帶來突兀的感覺,又豐 富了搜索結果,使返回的搜索結果更符合用戶的需求。需要說明的是,本申請僅僅以中文為例描述了如何識別中文同義詞的方法,但,本 申請并不限于中文同義詞的識別,對于日文、韓文等其他文字也可利用本申請所述方法進 行同義詞的識別,或在本申請所述方法的基礎上稍加修改、等同替換、改進等均可實現(xiàn)同義 詞的識別。另外,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操 作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這 種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他 性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且 還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的 要素。為了描述的方便,以上所述裝置和或系統(tǒng)的各部分以功能分為各種單元分別描 述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件或硬件中實現(xiàn)。本領域普通技術人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可 以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質中, 這里所稱得的存儲介質,如R0M/RAM、磁碟、光盤等。以上所述僅為本申請的較佳實施例而已,并非用于限定本申請的保護范圍。凡在 本申請的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本申請的保護范圍 內。
權利要求
一種識別中文同義詞的方法,其特征在于,包括a、計算服務器獲得需要識別的任意兩個中文詞;b、確定所述兩個中文詞之間的最小編輯距離小于等于編輯距離閾值后,執(zhí)行步驟c;c、判斷所述需要識別的兩個中文詞是否都存在于預設的知識庫中,若是,則在所述知識庫中分別查找每個中文詞的權重最大的最小粒度類型;d、若查詢到的每個中文詞的權重最大的最小粒度類型相等,則判定所述兩個中文詞為同義詞,否則判定所述兩個中文詞為非同義詞。
2.根據(jù)權利要求1所述的方法,其特征在于,若需要識別的兩個中文詞不都存在于預 設的知識庫中,則進一步包括e、計算服務器對不能查到的中文詞進行分詞,再判斷所述分詞后的中文詞是否都存在 于所述知識庫中,若是,則再在所述知識庫中分別查找每個中文詞的權重最大的最小粒度 類型,并繼續(xù)后續(xù)步驟。
3.根據(jù)權利要求1或2所述的方法,其特征在于,當判斷出每個中文詞的權重最大的最 小粒度類型相等后,進一步包括計算服務器判斷兩個中文詞中有變化的字或詞是否屬于已設置的普義字表中可以改 變的字,若是,再判定所述需要識別的兩個中文詞為同義詞,否則判定所述兩個中文詞為非 同義詞。
4.根據(jù)權利要求1所述的方法,其特征在于,所述知識庫包括詞條和概念,每個詞條 或概念至少對應一個類型,且每個詞條或概念對應的每個類型具有權重值。
5.根據(jù)權利要求4所述的方法,其特征在于,所述在所述知識庫中分別查找每個中文 詞的權重最大的最小粒度類型包括在所述知識庫中查到與每個中文詞對應的詞條或概念,根據(jù)每個詞條或概念對應的至 少一個類型,及每個詞條或概念具有的權重值,查到每個中文詞的權重最大的最小粒度類 型。
6.根據(jù)權利要求1所述的方法,其特征在于,若判定所述兩個中文詞為同義詞,則將所 述識別出的同義詞存入同義詞庫。
7.一種利用權利要求6所述的方法進行搜索的方法,其特征在于,包括搜索引擎接收來自用戶的查詢請求,所述查詢請求中包括待查詢詞條;搜索引擎根據(jù)所述待查詢詞條查詢預先設置的同義詞庫,找到該待查詢詞條的同義詞;搜索引擎應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索,返回包括該待查詢 詞條和該待查詢詞條同義詞的搜索結果給用戶。
8.一種識別中文同義詞的裝置,其特征在于,包括獲取單元,用于獲得需要識別的任意兩個中文詞;第一判斷單元,用于確定所述兩個中文詞之間的最小編輯距離小于等于編輯距離閾值 后,通知第二判斷單元;第二判斷單元,用于判斷所述需要識別的兩個中文詞都存在于預設的知識庫中時,通 知查詢單元;查詢單元,用于在所述知識庫中分別查找每個中文詞的權重最大的最小粒度類型;第三判斷單元,用于確定查詢到的每個中文詞的權重最大的最小粒度類型相等時,判 定所述兩個中文詞為同義詞,確定查詢到的每個中文詞的權重最大的最小粒度類型不相等 時,判定所述兩個中文詞為非同義詞。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述裝置還包括分詞單元,用于對不能在所述知識庫中查到的中文詞進行分詞,之后通知第二判斷單元; 所述第二判斷單元,還用于判斷出所述分詞后的中文詞都存在于所述知識庫中時,再 通知查詢單元,判斷出所述分詞后的中文詞不都存在于所述知識庫中時,再通知分詞單元。
10.根據(jù)權利要求8或9所述的裝置,其特征在于,所述裝置還包括普義字表查詢單元,用于確定兩個中文詞中有變化的字或詞屬于已設置的普義字表中 可以改變的字時,通知第三判斷單元判定所述兩個中文詞為同義詞,確定兩個中文詞中有 變化的字或詞不屬于已設置的普義字表中可以改變的字時,通知第三判斷單元判定所述兩 個中文詞為非同義詞。
11.根據(jù)權利要求8所述的裝置,其特征在于,所述知識庫包括詞條和概念,每個詞條 或概念至少對應一個類型,且每個詞條或概念對應的每個類型具有權重值。
12.根據(jù)權利要求8所述的裝置,其特征在于,所述識別中文同義詞的裝置為計算服務 器或搜索引擎。
13.一種利用權利要求7所述的方法進行搜索的搜索裝置,其特征在于,包括 接收單元,用于接收來自用戶的查詢請求,所述查詢請求中包括待查詢詞條;同義詞查詢單元,用于根據(jù)所述待查詢詞條查詢預先設置的同義詞庫,找到該待查詢 詞條的同義詞;搜索單元,用于應用所述待查詢詞條和該待查詢詞條的同義詞進行搜索; 反饋單元,用于將所述搜索結果返回給用戶。
全文摘要
本申請公開了一種識別中文同義詞的方法和裝置以及利用其進行搜索的方法和裝置,所述方法包括a、獲得需要識別的任意兩個中文詞;b、確定所述兩個中文詞之間的最小編輯距離小于等于編輯距離閾值后,執(zhí)行步驟c;c、判斷所述需要識別的兩個中文詞是否都存在于預設的知識庫中,若是,則在所述知識庫中分別查找每個中文詞的權重最大的最小粒度類型;d、若查詢到的每個中文詞的權重最大的最小粒度類型相等,則判定所述兩個中文詞為同義詞,否則判定所述兩個中文詞為非同義詞。應用本申請實施例,使得識別出的同義詞準確率大大提高,保證了同義詞的識別效果。
文檔編號G06F17/30GK101872351SQ20091013763
公開日2010年10月27日 申請日期2009年4月27日 優(yōu)先權日2009年4月27日
發(fā)明者侯磊, 張勤, 董靜, 邢飛, 郭寧 申請人:阿里巴巴集團控股有限公司