專利名稱:一種基于領域知識的語義查詢擴展方法
技術領域:
本發明屬于計算機領域,涉及到自然語言處理的應用技術,具體針 對網絡搜索引擎,提出一種基于領域知識的語義査詢擴展方法。
背景技術:
隨著因特網的發展,美國的搜索引擎使用率達到90%,在中國2008 年也同樣達到了 72.4%,因特網使用者越來越傾向于通過檢索獲取自己 所需要的資源。以搜索引擎為代表的互聯網公共信息服務正在蓬勃發展。 在通用搜索引擎市場被谷歌、微軟、雅虎、百度等著名公司壟斷的情況 下,新的搜索算法和搜索技術不斷涌現,個性化、專業化、深入化的垂 直搜索正在成為搜索引擎發展的又一個亮點,涌現了如酷訊、搜房、和 訊搜索等垂直搜索引擎。
Craig Silverstein、王繼民等學者通過對大規模搜索引擎實際查詢
語義距離記錄的分析得出的結論是無論是中文還是英文用戶,在使用 搜索引擎進行檢索的過程中,輸入的查詢關鍵字長度一般是3-4個詞, 甚至更短。但是,脫離了自然語言的語義關聯性,單純地依賴3-4個詞 的描述,難以準確地把握用戶的檢索意圖,獲取理想的搜索結果。
針對這個問題,研究者們提出了新的想法運用查詢擴展技術來幫 助用戶擴充和組織新的查詢詞,以便更加準確地描述用戶的査詢需要, 提高檢索的査全率和準確率。目前,查詢擴展作為搜索引擎的新興技術, 越來越廣泛地吸引了業界的關注。
查詢擴展方法可以分為手動查詢擴展和自動查詢擴展兩類。手動查 詢擴展需要用戶的大量干預,或者對所査詢領域具有深入的了解,不適 宜面向大規模普通用戶。自動查詢擴展工作,主要使用權重或者聯合的 搜索技術進行擴展,通常與具體的查詢過程形成強耦合,難于將方法與 內容分離開來。目前,搜索引擎多傾向于采用后一種方法。自動査詢擴展又可以分為全局的査詢擴展和局部的查詢擴展。局部 査詢擴展是從第一次査詢的返回結果中抽取某一部分文檔,對檢索詞和 文檔進行重新計算,再生成新的檢索詞,再次進行檢索。已經證明這種方 法對信息檢索的效果有所改善,但存在的問題是,如果在一次查詢的結 果集中選取的是與用戶查詢無關的內容,或者前一次查詢效果不佳時, 那么此方法將無法獲得更好的結果。并且,二次查詢將影響搜索引擎的 效率。基于全局的查詢擴展方法通常建立同義詞典或者相關語義詞典, 利用詞典對用戶的查詢詞進行相應的擴展。詞典可以自動、手工或二者 結合的方式建立。全局查詢擴展方式不受前一次查詢結果的限制,查詢 速度快,算法較為獨立。但是,現有方法對擴展項中詞語的語義相關性 缺少足夠重視。
針對以上問題,本發明提出了基于領域知識的語義查詢擴展方法。 充分利用各領域內可描述的知識,充分挖掘與各查詢詞有語義相關的各 項。使得新增加的各項具有更加緊密的語義關聯性,進而提高檢索效果。
發明內容
本發明的目的在于解決用戶在使用搜索引擎的時候,輸入的査詢詞 較少,不能完整的表達用戶搜索意愿,因而搜索結果的召回率和準確率 不能滿足用戶需要的問題,本發明針對自然語言的語義關聯特性,提出 一種基于領域知識的語義查詢擴展方法。
為了實現所述的目的,本發明基于領域知識的語義查詢擴展方法, 包括如下步驟
步驟Sl:根據對領域知識和用戶查詢語句特征的分析構建領域知
識庫,形成描述領域知識的領域知識庫;
步驟S2:利用領域知識庫內容,對用戶輸入的查詢語句進行初步語
義處理,獲得一個語義項列表;
步驟S3:利用語義項列表,結合領域知識庫內容,對語義項列表中
的每一語義項生成語義步驟S4:根據語義圖中頂點間的語義距離計算公式,計算每個語義
圖中各頂點與初始頂點間的語義距離,通過設定的閾值,選擇可擴展頂點,作為查詢擴展的可擴展項;
步驟S5:根據語義項列表中各語義項的邏輯關系,歸并由每個語義 圖確定的可擴展項,將所獲得的可擴展項提交搜索系統進行查詢,并對 搜索系統的查詢結果進行分析;
步驟S6:參考搜索系統查詢結果的召回率和準確率,調節語義圖中 用于計算語義距離的各可變參數,重新組織領域知識庫內的知識。
本發明的有益效果本發明提出了一種基于領域知識的語義查詢擴 展方法,計算時間短,充分利用了領域知識,新增加的擴展語義項與原 査詢短語之間具有明確的語義關系,能有效的提高搜索系統的召回率和 準確率。解決了用戶在使用搜索引擎的時候,因輸入的查詢詞較少,不 能完整的表達用戶搜索意愿,因而搜索結果的召回率和準確率不能滿足 用戶需要的問題,本發明考慮了語言中一詞多義, 一義多表的現象,用 概念描述基礎層知識,用知識樹構建應用層知識,用語義復合模型描述 簡單概念與復合概念之間的語義關聯,通過計算語義圖中各頂點間的語 義距離,對用戶查詢詞進行了基于領域知識的語義擴展,實現對初始查 詢短語的語義擴展計算,提高了査詢的準確率和召回率。此方法提高了 全局査詢擴展項的語義相關性,改善了搜索效果,尤其對于垂直搜索, 具有較強的實用價值。
-
圖1是本發明基于領域知識的語義査詢擴展方法結構示意圖 圖2是本發明初步語義處理流程示意圖 圖3是本發明領域知識庫示意圖
圖4是本發明實施例概念"泰山_1"知識表示示意圖 圖5是本發明實施例計算機領域部分知識樹示意圖 圖6是本發明實施例由"迎客松"生成的語義圖示意圖 圖7是本發明具體實施例的一個應用環境示意圖
具體實施例方式
下面結合附圖,系統地對本發明如何實現基于領域知識、利用語義
8對用戶輸入査詢語句進行擴展做出說明。應該指出的是,本部分所描述 的過程僅僅說明本發明在某一個應用中的使用情況,是為了更加清楚的 認識和了解本發明,而不是對本發明的限制。
本發明的算法流程如圖l所示,通過對查詢用戶經常使用的查詢詞 進行總結分析,歸類用戶的查詢意愿,分領域對領域內的知識進行分類 總結,再通過機器學習和人工處理等多種方法建立和豐富知識樹、概念 庫、命名實體庫、語義支撐分類樹、語義圖生成規則等,前述六部分綜 合起來構成描述知識的領域知識庫;利用領域知識庫提供的概念庫、領 域知識樹和命名實體庫,對用戶輸入的査詢語句進行初步語義處理,初 步語義處理包括屬性提取、命名實體識別和概念分析三個步驟,經過初 步語義處理之后獲得一個語義項列表Q',該語義項列表中含有知識樹知
識節點、命名實體、概念和字符串四種類型;利用語義項列表,結合領
域知識庫內容(例如概念庫內概念間的關系、知識樹、語義支撐分類
樹和命名實體庫),就語義項列表中的每一語義項生成語義圖;根據語義
圖中頂點間的語義距離計算公式
計算每個語義圖中各頂點V與初始頂點間的語義距離s,通過設定
閾值y(最佳閾值的確定通過實驗獲得, 一般先設定一個初始閾值,然 后根據具體實驗效果進行調節),選擇可擴展頂點,作為查詢擴展的可擴
展項;根據語義項列表中各項的邏輯關系,歸并由每個語義圖確定的可 擴展項,將所獲得的可擴展項提交搜索系統進行查詢,并對搜索系統的 查詢結果進行分析;參考搜索系統查詢結果的召回率和準確率,調節語 義圖中用于計算語義距離的各可變參數(乙A,邁,"),重新組織領域 知識庫內的知識,如對領域知識庫中的知識樹進行補充或調整,對語義 支撐分類樹的分類層次結構數量等進行調整。其中根據搜索結果對各可 變參數進行修改,屬于本方法的調節試驗反饋過程,故在圖1中用虛線 標出。
一次基于領域知識的語義查詢擴展計算形式化的表示為設用戶輸 入查詢詞序列為Q,經過初步語義處理后獲得語義項列表Q' , ^EC /"E(^V / OW(257T / 5T7fTM7 / A^ffiSfiW77T入仏一0/,其中臉 表示知識樹的節點,OW6S7T表示概念,5T7 /M 表示字符串, 7V^ffi7^7^/7T表示命名實體,。表示臨時處理結果項中,仏由^獲 得。針對".,建立語義圖,根據設定閾值S',最終確定由其擴展形成的 新的查詢項f。二/"egef" / e(7e^e^^rap力r^人5Ye^C"二5V。其中 5"e/z^r,力(^J表示?,形成的語義圖,5&W表示在語義圖6^^rap力6 J 中頂點eq與初始頂點間的語義距離,S'表示設定的語義距離的閾值。根
據仏之間的(與或非)邏輯關系,列出五"的邏輯關系,如《,與^為交的 關系,則擴展獲得的結果為^%'/7£%',將所有的可擴展項(包括它們之 間的邏輯關系)提交給搜索引擎進行檢索。 一、如上述,本發明中涉及的各部分表述如下 1、領域知識庫的表達和組織
本發明所述的領域知識庫包括概念庫、命名實體庫、同義概念庫、 知識樹、語義支撐分類樹和語義圖生成規則等部分。如圖3所示,概念庫 是整個領域知識庫的表示基礎,包括簡單概念單元和復合概念單元兩部 分,復合概念單元將簡單概念單元存儲的簡單概念經過語義復合運算獲 得復合概念并存儲;在概念庫的基礎上,以概念庫內的簡單概念和復合 概念為表達基礎,從概念庫中抽取具有層次關系的簡單概念和復合概 念,按照層次關系組成表達領域知識的知識樹,知識樹分為核心知識樹 和支撐知識分類樹兩部分,支撐知識分類樹用來描述核心知識樹的屬性 和屬性值的層次關系;同時,在概念庫中抽取同義概念,形成同義概念 庫;在概念庫中存在的所有概念中,結合領域知識庫所描述領域的實際 情況,分離出概念庫中存在的命名實體,形成命名實體庫;考察知識樹 節點的屬性值中不能用知識樹模型進行表示而具有層次關系的,按照層 級關系列成語義支撐分類樹;在知識樹、同義概念庫、語義支撐分類樹 和命名實體庫的基礎上,按照實際查詢擴展的形成語義圖生成規則,限 制語義圖生成時的擴展方向和范圍。
各部分詳細說明如下 (l)概念庫由簡單概念單元和復合概念單元兩部分組成。其中,簡 單概念單元中存儲簡單概念,復合概念單元中存儲復合概念,簡單概念經過語義復合運算形成復合概念。
所述的概念與詞之間存在的關系是詞與概念之間是多對多的關系, 一詞多義稱同名概念,多詞一義稱同義概念。同名概念用詞加下標形式 區分,如"先生"這個詞有三個基本語義,分別對應三個概念,"先生 —1"是老師,"先生—2"是對丈夫的稱呼,"先生—3"表示尊稱。同義 概念在知識體系中用同義關系描述,如概念"先生一l"與"老師一l"是 同義概念,則在這兩個概念之間建立一個同義關系。
所述簡單概念,是通過編輯或語料庫機器學習獲得簡單概念屬性和 屬性值,簡單概念用{屬性,關系}二元組表示;屬性是由{屬性名,屬 性值}表示的二元組;屬性名稱的類型是簡單概念或復合概念,屬性值 的類型是概念、數字、字符串、數組、時向或布爾值,用于界定概念的 內涵;關系包括父子繼承關系和部分組成關系兩類。 一個詞可能對應多
個簡單概念, 一個簡單概念可能由多個詞表示。
所述的概念的屬性和屬性值、以及各概念間的屬性關系的確定,一
方面可以通過人工分析然后編輯;另一方面可以采用機器學習的方法,
從大規模一般語料庫中獲取概念的屬性和屬性值和概念間關系,也可以 從各種字典對詞匯意義的描述中人工分析和提取屬性和屬性值、概念間
關系出現的特定模式,用計算機按照模式自動抽取獲得。
所述概念的一個例子如詞匯"泰山"對應的簡單概念"泰山_1",
表示山的名稱,為五岳之一,還有另一個概念"泰山_2",表示岳父的
別稱。對于概念"泰山—1"可以用屬性"地域"和"海拔"等描述,在 旅游領域中對名山進行分類時,其可以歸為"五岳"的子節點,具體描
述見圖4。
所述的復合概念為描述短語或句子內在語義關系的語義表達方式。 按照語義組合方式分類,復合概念具體有語義約束、語義狀態和語義邏 輯三種語義結構類型。語義約束用來描述具有約束性質的偏正短語,由 {約束,核心}二元組描述兩部分組成,"約束"的類型可以是簡單概念、 復合概念、數字、字符串、布爾值、時間、數組,"核心"只能是簡單概 念或者復合概念,如"紅色的玫瑰"用一個語義約束描述,"紅色_1"概 念為約束部分,概念"玫瑰一l"為核心,形式化表示為〈紅色—1:玫瑰一1〉;語義狀態用來描述擁有主謂或者動賓關系的短語,由{狀態概念,語義主 格,語義賓格,狀態列表)四部分組成,狀態概念、語義主格、語義賓格 和狀態等四個元素的類型只能是簡單概念或復合概念,如"伍子胥在吳 國殺了他"用一個語義狀態結構表示,狀態概念相當于主謂結構或動賓 結構的核心動詞,狀態列表記錄限定或補充動作的語義成分;狀態概念 為"殺_1"表示"使人或動物失去生命"的概念,語義主格是"伍子胥 一l"表示歷史上的伍子胥這個人,語義賓格是"他_1"表示指代,狀態 列表中有一個屬性名為"地點一1",對應的狀態值為"吳國一1",其形式 化描述為[〈伍子胥_1>殺一1{(地點—h吳國—1)}〈他—1>];語義邏輯描述 體現了邏輯組合關系的短語的語義結構,由邏輯連詞連接的短語,現概 念系統在時間、空間、事物、狀態等方面存在的邏輯性組合包括"邏輯
與(AND)","邏輯或(OR)","邏輯表(TABLE)","邏輯異或(XOR, Exclusive Or)"和"邏輯蘊含(ENTAIL)"五種邏輯關系,各邏輯項的類型只能是 簡單概念或復合概念,如表示"愛與恨",為并列關系,用"邏輯表"來 描述,形式化表示為Logic: (Table愛—1恨—1)。
所述的由簡單概念獲得復合概念的語義復合運算是現有技術,可以 參照中科院自動化所博士論文《基于概念網絡的漢語語義復合研究》,
該論文在概念網絡模型及語義復合表達模型的基礎上,設計了漢語名詞 性短語復合的計算框架,分析并建立了名詞性短語語義復合的計算機處 理原型系統。
(2)所述的領域知識樹是用來表示構建和存儲某個領域內的各種層 次性知識,描述知識點間的上下位關系、組成關系等,以樹的形式表 達。樹的節點稱為知識節點,如圖5所示列出了計算機領域的一棵知識 樹。知識節點包括知識節點名稱、知識節點語義、知識節點的屬性三部 分。知識節點的名稱以詞表示,知識節點的語義以簡單概念和復合概念 形式描述。知識節點的屬性包括屬性名和屬性值兩部分。屬性名以概念 形式定義,屬性值可以是概念、字符串、數字、數組等。例如一棵領域 知識樹為計算機,成員關系軟件、硬件;父子關系為微型計算機、工作 站;軟件的父子關系為數據庫、系統軟件、應用軟件等;微型計算機的 成員關系為硬盤、主板等。
12根據在語義計算中發揮的作用,知識樹分為核心知識樹和語義支撐 知識分類樹兩類。核心知識樹用來描述領域內主要知識節點間的語義關 系,語義支撐知識分類樹描述知識節點的屬性名稱和屬性值的語義關 系,核心知識樹是語義計算的主要依據,語義支撐知識分類樹提供的內 容,可以從知識點屬性的角度,為語義計算提供約束條件,并為核心知 識點間提供橫向關聯。
采用編輯或機器學習的手段從語料庫中獲得所述領域知識庫中的知 識樹,用來描述領域知識的層次性和具體內容,知識樹形式化表示為 〈知識樹〉= <知識樹名稱〉<頂層節點〉*
〈知識樹名稱〉= <字符串〉 〈頂層節點〉= <節點〉*
<節點〉=〈序列號〉〈節點名稱〉〈節點概念〉[〈父類節點〉][與父節 點關系][〈子類節點〉*][〈節點屬性〉] 〈序列號〉=〈字符串〉 <節點名稱> ::=〈字符串〉 〈節點概念〉二 〈語義表達〉
〈語義表達〉二 〈概念〉l〈語義約束〉i〈語義狀態〉l〈語義邏輯〉 〈父類節點〉二 〈節點〉
〈與節點關系〉=〈上下位關系〉I 〈整體與局部關系〉 <子類節點> ::二 〈節點>
<節點屬性> ::二 〈屬性名稱〉〈屬性值〉 〈屬性名稱〉=〈概念〉1〈復合概念〉 〈屬性值〉=〈符號〉
〈符號〉= <整數〉|<字符串>|〈浮點數〉|<日期〉|〈語義表達〉 其中*表示出現一次或者多次,1表示或,[]表示可選。 其所述的"采用編輯或機器學習的手段從語料庫中獲得所述領域知 識庫中的知識樹"為現有機器學習手段,參考自動生成本體(Ontology Generation)的相關算法。
(3〉命名實體庫用來存儲領域內的機構名、人名、地名等實體名。 (4)語義支撐分類樹描述領域內不能按照父子關系或組成關系描述的具有層次關系的知識,語義支撐分類樹體現知識節點的屬性名稱或屬 性值的取值之間的層次性語義關系。例如將知識節點的屬性價格,按照 高、中、低等三個層次分類,其結構不具備父子和組成的關系,僅表示 了價格的上的一種數量上的遞減關系,構建成為語義支撐分類樹,以便 于支撐語義擴展計算。
(5) 所述的同義概念庫是由同義概念組成的庫,同義概念的描述從 概念庫中獲得。
同義概念獲取為現有計算,可以通過大規模語料學習獲得,也可以 利用現有的人工編纂的同義概念庫。
(6) 語義圖生成規則用來約束查詢擴展的語義計算過程,限制在何 中情況下,在知識樹上,可以擴展到上位節點或者子節點;在語義支撐
分類樹上何種情況下不能夠由一個層次擴展到另外一個層次等。例如在 核心知識樹和語義支撐分類樹中,某個節點能否向上下位節點擴展,受
到語義生成規則的約束。例 'f/YCondif'.on—S(jfc^lCnovvNode〖kn」'n''tta' eKnovvTree(TV) —KnovvNodeExpandecf〖kns—expanded eKnovvTreefTV門/cns—expancfecf
-畫一公式W 附(Condif'bn—No化nowNocfe〖knjni,tta, eKnovvT"ree順— KnovvNocfeExpanclecl化ns—expandecf eKnovvTree〖TV門
Mcns_expanded eParenfKnovvNodes〖kn—Zni.闊W -—-紐卜2
其中公式l-l表示,如果滿足約束O^c/i^oy^^^則由初始節點擴展 出來的節點只能是該初始節點的子節點;公式l-2表示在擴展中沒有限 制Ow^i"朋」Vo的時候,初始節點既可以擴展到子節點,也可以向父節 點擴展。如上述公式,6b/7c/2'tio/ —5^6和6b/7力'"o/7—Ab表示一定條件; KnowTree (T》表示知識樹L, 7T77一i;^^2/表示初始待擴展知識樹節 點,^T iL ayps77Qfe^表示擴展出來的節點,z^7o『7Vbofes (^/ _ f <g" 表示知識節點A/7—i"i"'a2的父節點集合,5"t/M77o『7Vbofes(^/7—^7it&"表示知識節點A/7—//7/Wa7的子節點集合。 2、初步語義處理
(1) 所述初步語義處理是依賴于領域知識庫,對用戶輸入的查詢語 句進行處理,涉及的步驟依次是-
屬性提取掃描查詢語句,通過字符結構匹配尋找査詢語句與屬性 提取規則匹配的結構,提取到查詢語句擁有該屬性的知識樹的節點和概 念,增加到語義項列表中;
命名實體識別,將查詢語句中經過屬性提取后,將剩余的未識別語 句部分進行命名實體識別,將獲得的命名實體增加到語義項列表中;
概念分析將查詢語句中經過命名實體識別后,將剩余的未識別語 句部分進行分詞,將每個分詞獲得的漢語詞匯對應的概念增加到語義項 列表中;査找與這些概念相關的知識樹的節點,獲得知識樹的節點,將 獲得的知識樹的節點增加到語義項列表中;
最后,沒有識別的字符串作為一個整體增加到語義項列表中;初步 語義處理獲得的結果為一個以概念、知識樹的節點、命名實體、字符串 四種形式存在的語義項列表。
(2) 所述的屬性提取,是針對能夠由詞語的組合順序確定的屬性,
根據屬性提取規則,選擇屬性計算函數,確定用戶輸入所針對屬性內容
中屬性的名稱,并利用屬性計算函數計算出該屬性的屬性值的取值范圍,
搜索領域知識庫,尋找擁有分析獲得的屬性名而且屬性值在屬性計算函
數計算所獲得的范圍內的概念、知識樹各節點和命名實體,增加到語義
項列表中;其中,屬性提取規則的一般形式為 /F(C,, C2C3…C ) r服7V , va/(a,, ;c))
Re犯/f: CAT = e CA" | a,, e cA:.J欲/ZiW and c&.^"n'(a,. ).va/we e va/(",., x)},
上述屬性提取規則的意義是,當用戶輸入滿足詞匯短語組合;q,…G的 形式時,由屬性提取規則推理得到,其查詢的屬性是對應的目標概念或
者知識節點為cj,其中or均具有屬性a;,且屬性s,的屬性值在屬性計 算函數 確定的區間之內;其中,d滿足
c" ^ ^CWM^£S} , OWC5P7表示概念,^M^WZ^ 表示知
識樹知識節點,Ci是用戶査詢輸入短語中的一種詞匯短語組合形式,例如"200元上下"可以歸結為結構C "數字+元+上下",可以該結構提取出價格屬性,所述的q,^,'《"間取邏輯"或",所述的」雖,,,。,,^表示
屬性ai的屬性值的范圍由屬性計算函數raJ(^"確定;表示cA的所有屬性列表;cA.Z"rjYaJ. rahe表示d的屬性列表中屬性名為^的屬性值。
提取出的每一個屬性間是"與"的關系,而由每個屬性確定的知識節點或者概念等內部的關系是"并"。
(3)所述概念分析針是指,針對用戶輸入的查詢語句,以概領域知識庫的簡單概念單元中存儲的簡單概念為分詞參考,采用概率方法、最大匹配原則或其他方法進行分詞,在去掉停止詞后,找到每個基本詞匯對應的概念,再從知識樹中查找與這些概念存在語義關聯的知識主題節點,最后綜合每個詞匯包含的概念和與之相關的知識樹的節點作為概念分析的結果,存儲到語義項列表中;
上述"與概念相關的知識樹的節點"指,知識樹中的節點通過基礎知識層中的概念形成語義關聯,即知識節點直接與某個概念相關,或者知識節點的語義組合成分與此概念相關。例如在"人類精神世界"這棵語義知識樹中有名稱為"宗教"和"原始宗教"兩個知識節點。"宗教"的意義是概念"宗教_1","原始宗教"的意義是一個語義約束,約束的核是"宗教一l",約束項是"原始」",這兩個節點由"宗教—1"形成語義關聯。
(4)概念分析的結果是一個語義項列表,該列表各項包含知識節點、概念、命名實體和字符串四種結構。3、語義圖的生成
(1) 語義圖是一個以字符串、概念、命名實體和知識樹的節點作為根節點的,從知識樹的節點(節點的意義、屬性和屬性值)、概念(概念的屬性和屬性值)出發,借助同義、父子、組成等語義關系,進行語義擴展的,表征語義距離的網絡結構。
(2) 每個語義圖的初始頂點為由初步語義處理獲得的語義項列表中的各語義項;語義圖的生成由初始頂點開始,對于語義圖的每個頂點,在領域知識庫內,在滿足領域知識庫的語義圖生成規則約束前提下,凡
16滿足r所表示關系的知識樹的節點、概念、命名實體均增加為該頂點的子頂點,直到該頂點不再能增加新的子頂點為止。
所述語義圖,是在初步語義處理所獲得的結果的基礎上,形成具有權值和關聯性的以字符串、概念、命名實體和知識樹的節點為頂點的語
義有向圖,簡稱語義圖,語義圖的形式用一個二元組SDG二(V,E)表示,其中,V表示語義圖頂點,語義圖頂點內容是字符串、知識樹的節點、概念和命名實體;E表示語義圖的邊,鏈接各個頂點,鏈接頂點i和j的邊E,j表示為Ei產(Vi,Vj,w,rh Vi和Vj是Eij鏈接的兩個頂點,w是邊的權重,權重的值域為[O,l], r表示擴展類型,即兩個頂點之間的關系包括上下位關系例如名山與五岳,五岳與名山,上位關系用@表示,下位關系用anti(S表示,知識樹的節點的整體與局部關系例如計算機與硬盤,硬盤與計算機;整體到局部用%表示,局部到整體anti。/。表示;知識樹的節點的屬性與特征關系例如實例"泰山"與其屬性"特征風景"的值"泰山日出"的關系,"泰山日出"是"泰山"的一個"特征風景",屬性值到節點用#表示,節點到屬性值用antift;概念的相似關系例如"便宜"與"廉價",多指同義詞,用$表示;知識樹包含關系例如如
前文所提到的概念"宗教—1"在"人類精神世界"知識樹中有相關的知識節點,包含于該知識樹中,用&表示。 一次語義擴展計算生成一個以上的語義圖,語義圖的個數由初步語義處理獲得的語義項列表中包含的項數決定。
(3)語義圖中包含的上述各種關系都可以直接從領域知識樹、語義支撐分類樹和同義概念庫中獲得。
(4)根據語義相關關系擴展形成語義圖的過程,與領域知識緊密相關,同時還要受到語義圖生成規則的約束。如圖6是在有限領域知識條件下,由査詢詞"迎客松"形成的語義圖示意圖,概念"迎客松_1"對應于知識樹"旅游景色"中的知識節點"迎客松",而"迎客松"又是知識樹"旅游景觀"的兩個節點"黃山"和"泰山"的都有的屬性"特征風景"的屬性值;"黃山"又可以依據其"特殊風景"的另外一個屬性值蓮花峰得到擴展;"黃山"的"地域"屬性的屬性值是"黃山區",而"黃山區"又因為其在"地域知識樹"中的上位節點是"黃山"而得到再一次擴展;同理,節點"泰山"根據屬性"特殊事件"擴 展到"封禪",通過上位節點擴展到"五岳",而"五岳"節點在知識 樹"旅游景觀"中又擁有下位節點"華山",所以"華山"得到擴展;
"泰山"因為同義關系可以擴展到"岱宗"。 4、新增查詢擴展項的確定
在語義圖中,通過計算各節點與初始頂點間的語義距離,可以確定 該頂點是否可以擴展成為新的查詢項。通過這樣的直接關聯的形式加以 擴展,語義圖既可以通過知識樹的層級關系體現頂點間的語義相關性, 又可以通過屬性值的比較體現頂點間的語義相似度。本發明將語義相似 性和語義相似度用語義距離同一化處理。在語義圖中,每個頂點相對初 始頂點都形成一個語義距離,語義距離量化了各頂點被選中的可能性, 語義距離越小,可能性越大。
兩個頂點在語義圖中的距離越遠,語義距離越大,語義距離還與擴 展計算的類型,即語義圖中的兩個節點之間的關系相關。
假設語義圖擴展計算的一個中間頂點Vi,其中i)O, i表示當前頂 點到語義圖起始頂點的最短擴展步數,則頂點Vj相對于初始頂點的語義 距離定義為S1:<formula>formula see original document page 18</formula>
其中,L表示從初始頂點擴展到頂點Vi過程中第n步擴展的類型的 影響因子,是可變參數,Tn取值范圍[O,l],當1=0時,Tn=l; k和義分 別表示一個常數,是一個可變參數;m是加擴展勢加速衰減因子,m為 不小于2的正整數,為可變參數;
語義圖中的任兩個頂點Vi、 Vj之間的語義距離用Sij表示
<formula>formula see original document page 18</formula>
i〉j, i和j均表示該頂點到初始頂點的最短擴展步數,t:表示從初 始頂點擴展到頂點k過程中第/7步擴展的擴展類型的影響因子;7;表示 從初始頂點擴展到頂點^過程中第"步擴展的擴展類型的影響因子。
針對由特定項形成的語義圖,可以根據語義圖中各個頂點與初始頂點之間的語義距離確定其擴展的可能性;各頂點間不同的擴展類型,具 有不同的擴展影響因子,該影響因子針對不同領域通過實驗獲得。最終 從每個語義圖中選擇的擴展部分是圖中與頂點的語義距離小于某個特定 值^的所有頂點集合。5、所述的最后各擴展項的邏輯歸各可擴展項,是指依據可擴展項間的 邏輯關系,進行邏輯運算。其中,對于概念、命名實體和字符串邏輯與 表示完全相同的進行保留,對于知識樹的節點,邏輯與表示完全相同的 保留,如果邏輯運算的兩項一項在另外一項的父節點路徑上,則保留該子接點;邏輯或均表示參與邏輯運算的兩項都可以保留。形式化表示為設用戶輸入的査詢語句為G經過初步語義處理后,獲 得的語義項列表為對于每個語義項&Cb;7A.^Q^i"經過生成語義圖和可擴展項選擇后獲得的可擴展項列表設為^^b77/^^^,^co/7/^j'"澗的邏輯關系同于^6b/7A之間的邏輯關系,即若^Kb"p,與i5Kb/7Py之間的關系是"與"的關系,那么^76b/^"W,與&6b/7p"S。之間的關系也是"與"的關系;其他邏輯情況相同。二、本發明的詳細的使用步驟本發明使用的步驟如下(如圖l所示)第一步驟對各領域進行分析,構建領域知識庫;1.1人工或者自動導入詞典,確定各詞所表示的概念,形成概念庫,同時確定概念的屬性和屬性值;1.2根據各概念意義,確定各概念間的同義概念,形成同義概念庫;1.3構建領域命名實體庫,人工搜集整理或機器自動抽取識別該領 域的各命名實體,以構成領域命名實體庫;1.4分析該領域的知識,提取能夠按照層次性表述的知識,構建領 域知識樹,確定每個知識節點的屬性和屬性值;1.5對領域內不便于用知識樹表示的層級知識,構建語義支撐分類樹;1.6根據已經構建的領域知識樹和語義支撐分類樹,考慮實際查詢 擴展過程中的各知識樹和分類樹上下位的可擴展關系,形成語義圖生成規則;
1.7對該領域的可能査詢短語進行分析,結合知識樹知識節點和概
念的屬性,確定查詢這些屬性的某些特定的查詢語句結構,人工編寫或
機器自動學習,形成特殊屬性提取的識別規則; 1.8根據實際使用情況,調用l.卜1.7的內容。
第二步驟初步語義處理
2. l處理用戶查詢短語中用邏輯連接符連接的一個獨立項,流程如
圖2:
2. 1. l屬性提取如圖2中所示S21,對用戶輸入的查詢語句進行掃 描,直到掃描結束;過程中如果發現滿足1.7中構建的屬性提取規則的 結構,則運用提取規則得到屬性目標概念或知識節點放入語義項列表 中。運用規則具體是指根據規則選擇屬性計算函數,確定用戶査詢輸
入針對的屬性,并推理計算出該屬性的屬性值范圍s,查詢所有的知識 節點和概念,獲得具有該屬性且屬性值在s內的知識節點和概念,作為
屬性提取的識別結果;同一個屬性對應的多個概念或知識節點為邏輯 "或"的關系,各個屬性之間為邏輯"與"的關系;
2.1.2 :將2. 1.1中未能識別的查詢語句中屬性提取余下的語句, 進行命名實體識別如圖2中的S22,將識別出來的命名實體作為識別結果 存入到語義項列表中,在用戶查詢短語中刪除識別出的命名實體;各命 名實體為邏輯"與"的關系;
2.1.3 :將2. 1.2未識別的用戶輸入查詢短語的部分即非命名實體 部分,進行概念分析如圖2中的S23,以領域知識庫中的概念庫為基礎, 采用多種分詞方法進行分詞,在去掉停止詞后,掃描分詞結果序列直到 結束。如果分詞結果是基本詞匯并且對應有相應概念,則査找概念語義 相關的知識樹知識節點,綜合分析過程概念和知識節點放入到語義列表 中;如果不是詞匯是字符串,則作為最終未識別的部分;各詞匯對應的 概念以及與這些概念相關的知識節點是邏輯"或"的關系,各詞匯之間 對應的各概念和知識節點為邏輯"與"的關系;
2.1.4最終未能識別的部分,作為字符串處理; 2.2循環處理各邏輯連接符連接的各部分;
202.3按照2. l中所述的各項的邏輯關系,結合用戶査詢短語中的邏 輯符號,對識別各項進行邏輯組合。 第三步驟生成語義圖3.0所述語義圖,是在初步語義處理所獲得的結果的基礎上,依靠 領域知識庫,根據各項的語義關系,形成具有權值和關聯性的以字符 串、概念、命名實體和知識樹的節點為頂點的語義有向圖,其形式用一個二元組SDG二(V,E)表示,其中,V表示語義圖頂點,內容是字符串、知 識樹的節點、概念和命名實體;E表示語義圖的邊,鏈接各個頂點,鏈接 頂點i和j的邊Eij表示為Ei產Wi,Vj,w,r), Vi和Vj是Eij鏈接的兩個頂點,w 是邊的權重,值域為[O,l], r表示擴展類型,即兩個頂點之間的關系包 括上下位關系、整體與局部關系、屬性與特征關系、相似關系和知識樹 包含關系;3.1根據步驟二中識別的結果,按3.0中對語義圖的描述,對每一 個步驟二中識別的結果項,按照上下位關系、整體與局部關系、屬性與 特征關系、相似關系和知識樹包含關系生成語義圖。第四步驟確定擴展項4. 1根據第三步形成的語義圖,按照權利要求5,對語義圖中各頂點 計算其與初始頂點之間的語義距離,根據事先設定的閾值選擇擴展項; 4.2由同一個語義圖中擴展出來的各項是邏輯"或"的關系 第五步驟依據邏輯關系歸并各可擴展項5.1按照第二步中各項的邏輯歸并關系,結合4.2中形成的由語義 圖擴展獲得的各項間邏輯關系,歸并各可擴展項,形成最終可擴展項集 合,提交搜索引擎。第六步驟對語義圖中語義距離計算參數和領域知識的修改6.1根據第一步到第五步提交到搜索引擎得到的結果,修正語義圖 中語義計算的各參數值;6.2根據第一步到第五步提交到搜索引擎得到的結果,補充修改領 域知識庫中存儲的知識。三、 一個實現本發明具體實施例的應用環境說明為了更好的說明本發明,特列舉一個實現本發明具體實施例的應用系統,應該注意的是,本例子僅僅是為了更加充分的說明本發明而不是 對本發明的限制。
如圖7所示,是本發明具體實施例的一個應用環境。在計算機網絡 中,客戶系統110可以通過互聯網120或者其他通信網絡(例如通過任 意的LAN或者WAN連接)與多個服務器130—1到130_N以及檢索結果服 務器150進行通訊。用戶通過用戶系統110輸入檢索語句通過互聯網120 或其他網絡提交查詢意圖,經過本發明涉及的一種基于領域知識的語義 查詢擴展方法141處理后,形成新的査詢語句提交給檢索結果服務器 150,由150計算獲得相關的網頁和網頁的相關連接;再由檢索結果服務 器150和服務器130—1至130_N提供數據,通過互聯網120將結果返回 用戶單元110呈現給用戶;如前所述領域知識庫142為本發明涉及的一 種基于領域知識的語義查詢擴展方法141提供支撐;領域知識獲取和編 輯系統143用于自動或手動獲取和編輯領域知識庫142中的領域知識。
其中圖7中所示的多個元件包含不必在這里詳細說明的公知元件。 例如客戶系統110可以包括桌面電腦、手提電腦、工作站、PDA等任何 之間或間接能夠連接互聯網120的計算機裝置。客戶系統110通常運行 著能夠允許用戶訪問網站或網絡資源的瀏覽器,如微軟的Internet Explore 瀏覽器、Netscape Navigator 、 Mozilla、 Opera等。客戶系 統通常還包括一個或多個鍵盤、顯示器等用于與用戶以及服務器130_1 至130一N或其他服務器提供的各種數據進行交互的設備。
圖中涉及的互聯網120,應該理解該單元也可以被其他網絡或者和 互聯網一起使用。
一個實施例中所述的本發明的一種基于領域知識的語義查詢擴展方 法141由一個計算機系統實現。其可以集成在檢索結果服務器150中, 也可以單獨設立計算機進行運行。運行在該系統上的程序可以使用多種 編程語言實現。如C、 C++、 Ctt和JAVA等。根據搜索系統的大小,承載 該部分的計算機設備可以是普通的PC機,也可以是更高級的服務器。
根據一個實施例,檢索結果服務器150利用查詢擴展141獲得的項 進行查詢結合服務器130—1至13(LN通過互聯網120向用戶系統110提 供檢索結果;檢索結果服務器150至少包括一個或多個從互聯網獲得信息并將這些信息進行所索引的工具。例如,至少包括一個或多個頁面連接和數據收集工具(如網絡爬蟲web crawler),至少包括自動或半自動 對網頁進行分類或排序的算法和界面(如使用GOOGLE的PageRank算法一個實施例中涉及的服務器130—1至130—N用于接受檢索結果服務 器150提供的結果網頁鏈接要求,為用戶系統110提供網頁連接。如上所述的服務器150和130_1等可以是一個系統也可以是多個系 統,尤其是服務130系列,其可以是物理上近距離的,也可以是物理上 遠距離的,可以是一個也可以是多個。其針對檢索系統的規模可以是普 通的服務器,也可以是更加高端的大型機。以上所述,僅為本發明中的具體實施方式
,但本發明的保護范圍并 不局限于此,任何熟悉該技術的人在本發明所揭露的技術范圍內,可理 解想到的變換或替換,都應涵蓋在本發明的包含范圍之內,因此,本發 明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1、一種基于領域知識的語義查詢擴展方法,其特征在于包括如下步驟步驟S1根據對領域知識和用戶查詢語句特征的分析,構建領域知識庫,形成描述領域知識的領域知識庫;步驟S2利用領域知識庫內容,對用戶輸入的查詢語句進行初步語義處理,獲得一個語義項列表;步驟S3利用語義項列表,結合領域知識庫內容,對語義項列表中的每一語義項生成語義圖;步驟S4根據語義圖中頂點間的語義距離計算公式,計算每個語義圖中各頂點與初始頂點間的語義距離,通過設定的閾值,選擇可擴展頂點,作為查詢擴展的可擴展項;步驟S5根據語義項列表中各語義項的邏輯關系,歸并由每個語義圖確定的可擴展項,將所獲得的可擴展項提交搜索系統進行查詢,并對搜索系統的查詢結果進行分析;步驟S6參考搜索系統查詢結果的召回率和準確率,調節語義圖中用于計算語義距離的各可變參數,重新組織領域知識庫內的知識。
2、 如權利要求1所述的基于領域知識的語義査詢擴展方法,其特征 在于所述語義圖,是在初步語義處理獲得的語義項列表結果的基礎 上,形成具有權值和關聯性的以字符串、概念、命名實體和知識樹的節 點為頂點的語義有向圖,簡稱語義圖,語義圖的形式用一個二元組 SDG^V,E)表示,鏈接頂點i和頂點j的邊Eij表示為E,尸Wi, Vj,w,r), 一次語義擴展計算生成一個以上的語義圖,語義圖的個數由語義項列表 中包含的項數決定;每個語義圖的初始頂點為語義項列表中的各語義項; 語義圖的生成由初始頂點開始,對于語義圖的每個頂點,在領域知識庫 內,在滿足領域知識庫的語義圖生成規則約束前提下,凡滿足r所表示 關系的知識樹的節點、概念、命名實體均增加為該頂點的子頂點,直到 該頂點不再能增加新的子頂點為止,上述中,「表示語義圖頂點,語義 圖頂點內容是字符串、知識樹的節點、概念和命名實體;^表示語義圖的邊,鏈接各個頂點,Vi和Vj是Eij鏈接的兩個頂點,W是邊的權重,權重的值域為[O,l], r表示擴展類型,即兩個頂點之間的關系包括知識樹 的節點的上下位關系、知識樹的節點的整體與局部關系、知識樹的節點 的屬性與特征關系、概念的相似關系和知識樹包含關系。
3、 如權利要求2所述的基于領域知識的語義査詢擴展方法,其特征 在于采用編輯或機器學習的手段從語料庫中獲得所述領域知識庫中的 知識樹,用來描述領域知識的層次性和具體內容,根據在語義距離計算 中發揮的作用,知識樹分為核心知識樹和支撐知識分類樹;核心知識樹 用來描述領域內主要知識點間的語義關系,語義支撐知識分類樹描述知 識節點的屬性名稱和屬性值的語義關系,所述知識樹的形式化表示為<知識樹〉=〈知識樹名稱〉〈頂層節點〉* 〈知識樹名稱〉=〈字符串〉 〈頂層節點〉二 〈節點>*<節點〉= <序列號><節點名稱〉<節點概念〉[〈父類節點>][與父節 點關系][<子類節點〉*][〈節點屬性〉] <序列號> ::二 <字符串> 〈節點名稱〉二 〈字符串〉 <節點概念> ::= <語義表達〉〈語義表達〉二 <概念〉1<語義約束〉|<語義狀態〉1<語義邏輯〉 <父類節點〉= <節點>〈與節點關系〉=〈上下位關系〉I 〈整體與局部關系〉 〈子類節點〉二 <節點> 〈節點屬性〉=〈屬性名稱〉〈屬性值〉 〈屬性名稱〉=〈概念〉l〈復合概念〉 〈屬性值> ::二 <符號〉〈符號> ::= <整數〉|〈字符串〉|〈浮點數〉|<日期〉|<語義表達> 其中*表示出現一次或者多次,l表示或,[]表示可選。
4、 如權利要求1所述的基于領域知識的語義查詢擴展方法,其特征 在于所述語義距離是對語義相似性和語義關聯性的同一化處理,假設 語義圖擴展計算的一個中間頂點其中i》0, i表示當前頂點到語義圖起始頂點的最短擴展步數,則頂點Vi相對于初始頂點的語義距離定義 Si為<formula>formula see original document page 4</formula>其中,Tn表示從初始頂點擴展到頂點Vi過程中第n步擴展的類型的 影響因子,是可變參數,L取值范圍[O,l],當i二O時,Tn=l; k和^分 別表示一個常數,是一個可變參數;m是加擴展勢加速衰減因子,m為 不小于2的正整數,為可變參數;語義圖中的任兩個頂點Vi、 Vj之間的語義距離用Sjj表示<formula>formula see original document page 4</formula>i〉j, i和j均表示該頂點到初始頂點的最短擴展步數,7:表示從初始頂點擴展到頂點Vi過程中第/7步擴展的擴展類型的影響因子;7;表示從初始頂點擴展到頂點Vj過程中第"步擴展的擴展類型的影響銀子。
5、根據權利要求1所述的語義查詢擴展方法,其特征在于所述初步語義處理是依賴于領域知識庫,對用戶輸入的查詢語句進行處理,處理步驟如下步驟S21:掃描査詢語句,通過字符結構匹配尋找查詢語句與屬性提 取規則匹配的結構,提取得到查詢語句擁有該屬性的知識樹的節點和概 念,增加到語義項列表中;步驟S22:將査詢語句中經過步驟S21屬性提取后,將剩余的未識別語句部分進行命名實體識別,獲得的命名實體,將命名實體增加到語 義項列表中;步驟S23:將查詢語句中經過步驟S22命名實體識別后,將剩余的 未識別語句部分進行分詞,將每個分詞獲得的漢語詞匯對應的概念增加 到語義項列表中;查找與這些概念相關的知識樹的節點,獲得知識樹的 節點,將獲得的知識樹的節點增加到語義項列表中;最后,沒有識別的 字符串作為一個整體增加到語義項列表中;最終獲得一個語義項列表, 其中每一項的類型是概念、知識樹的節點、命名實體、字符串四種中的 一種。
6、 如權利要求5所述的基于領域知識的語義査詢擴展方法,其特征在于所述的屬性提取,是針對能夠由詞語的組合順序確定的屬性,根 據屬性提取規則,選擇屬性計算函數,確定用戶輸入所針對屬性內容中 屬性的名稱,并利用屬性計算函數計算出該屬性的屬性值的取值范圍; 其中,屬性提取規則的一般形式為/F(C', C2C3…C ) 血(《,ra/(",, x))Re to/V : C《-{cA e CX (cz, e d J"nZ/W and d^"/7'(a, ).va/we e v"/(a, , x)),上述屬性提取規則的意義是,當用戶輸入滿足詞匯短語組合q,q,"("的形式時,由屬性提取規則推理得到,其查詢的屬性是對應的目標概念或者知識節點為CK,其中CK均具有屬性&,且屬性s,的屬性值在屬性計算函數val (ai, x)確定的區間之內;其中,A滿足dt e {COiVC£Pr 。/ /GWWWODES} , OWG57T表示概念,AM ^Vi9i^5"表示知識樹知識節點,Ci是用戶查詢輸入短語中的一種詞匯短語組合形式,所 述的C',C2,…C"間取邏輯"或",所述的顛(a,,v。/(a,,x))表示屬性s;的屬性值的范圍由屬性計算函數M7&,"確定。
7、 如權利要求1所述的基于領域知識的語義查詢擴展方法,其特征 在于所述領域知識庫包括概念庫,其具有復合概念單元和簡單概念單 元;所述的復合概念單元,將所述簡單概念單元存儲的簡單概念經過語 義復合運算獲得復合概念并存儲,從概念庫中抽取具有層次關系的簡單 概念和復合概念,按照層次關系組成表達領域知識的知識樹,從概念庫 中抽取同義概念形成同義概念庫。
8、 如權利要求7所述的基于領域知識的語義查詢擴展方法,其特征 在于所述簡單概念,是通過編輯或語料庫機器學習獲得簡單概念屬性 和屬性值,簡單概念用{屬性,關系}二元組表示;屬性是由(屬性名, 屬性值}表示的二元組;屬性名稱的類型是簡單概念或復合概念,屬性 值的類型是概念、數字、字符串、數組、時間或布爾值;關系包括父子 繼承關系和部分組成關系兩類。
全文摘要
本發明公開了一種基于領域知識的語義查詢擴展方法,包括以概念表達和知識樹體系為基礎,構建領域知識;對用戶的查詢短語進行初步語義分析,形成語義項列表;利用初步語義分析的結果,以領域知識為基礎,構建帶有擴展類型和擴展權重的語義圖;計算語義圖中每個頂點到初始頂點間的語義距離;根據語義距離,確定語義項列表中每一項的可擴展項;最后依靠“與”“或”邏輯關系合并所有可擴展項,得到表示用戶查詢意向的語義項集合,并提交搜索系統進行搜索。本發明計算時間短,充分利用了領域知識,新增加的擴展語義項與原查詢短語之間具有明確的語義關系,能有效的提高搜索系統的查全率和查準率。
文檔編號G06F17/30GK101630314SQ200810116729
公開日2010年1月20日 申請日期2008年7月16日 優先權日2008年7月16日
發明者禾 任, 朋 盧, 楊一平, 琳 陳, 馬良俊, 高一波 申請人:中國科學院自動化研究所