一種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)和方法。該系統(tǒng)包括離線模塊和在線模塊,離線模塊主要用于離線數(shù)據(jù)準(zhǔn)備,在線模塊主要用于系統(tǒng)服務(wù)。本發(fā)明的系統(tǒng)可支持用戶友好的自然語言問句為查詢,通過對(duì)用戶的問句進(jìn)行語法分析,將語法分析后的結(jié)果到離線定義的手工模板庫(kù)中尋找匹配的問句模板,根據(jù)所述的實(shí)體匹配方法和關(guān)系匹配方法,生成最終的結(jié)構(gòu)化的知識(shí)圖譜查詢語句,根據(jù)該結(jié)構(gòu)化查詢語句到知識(shí)圖譜中進(jìn)行檢索,返回最終的結(jié)果。本發(fā)明的基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)和方法能夠針對(duì)用戶的問句給出精確性的檢索結(jié)果,提高用戶的搜索滿意度。
【專利說明】
一種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種知識(shí)圖譜問答系統(tǒng)和方法,尤其涉及一種基于模板匹配技術(shù)的知 識(shí)圖譜問答系統(tǒng)和方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)上信息的爆炸式增長(zhǎng),人們對(duì)信息檢索的需求越來越大。如何快速、精 確、可靠地從大量的、模態(tài)多樣化的信息中搜索到用戶需要的信息,成為一個(gè)熱門的迫切需 要解決的課題。最初的互聯(lián)網(wǎng)只有僅供人們?yōu)g覽的靜態(tài)網(wǎng)頁,人們?cè)诨ヂ?lián)上所能處理的事 情也十分有限。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,互聯(lián)網(wǎng)已經(jīng)變得越來越普及,內(nèi)容也越來越豐富, 模態(tài)也越來越多樣。如何從這些浩瀚的互聯(lián)網(wǎng)信息中獲取用戶所需的信息,成為一個(gè)難題。
[0003] 傳統(tǒng)搜索引擎的出現(xiàn),比如:G〇〇gle、雅虎、百度等,很大程度上解決了用戶對(duì)信息 搜索的需求。以Google為首的傳統(tǒng)的搜索引擎主要是基于關(guān)鍵詞匹配的一種信息檢索技 術(shù),它從互聯(lián)網(wǎng)中以一定的策略搜集、爬取信息,對(duì)信息進(jìn)行解析、索引,為用戶提供檢索服 務(wù)。傳統(tǒng)搜索引擎存在搜索接口不友好、搜索過程復(fù)雜、返回信息量大、返回內(nèi)容針對(duì)性不 強(qiáng)等問題。傳統(tǒng)的搜索引擎技術(shù)無法從根本上解決搜索中存在的準(zhǔn)確率低以及召回率低的 問題。根據(jù)調(diào)查公司英國(guó)莫里(M0RI)的調(diào)查結(jié)果可以發(fā)現(xiàn),只有約18%的用戶對(duì)搜索引擎 的搜索結(jié)果比較滿意,表示可以通過它獲取到相關(guān)的有用信息,而相反的是,足足有68%的 用戶表示對(duì)傳統(tǒng)的搜索引擎比較失望。
[0004] 為了克服傳統(tǒng)搜索引擎存在的弊端,基于知識(shí)圖譜的檢索開辟了一種新的信息檢 索模式。與傳統(tǒng)搜索引擎相比,基于知識(shí)圖譜的檢索存在如下的特點(diǎn):
[0005] 1.基于知識(shí)圖譜的搜索支持更友好的互動(dòng)問答模式。
[0006] 自然語言問句一方面可以使得用戶的搜索更加快速、準(zhǔn)確、方便,另一方面更符合 用戶的用戶查詢習(xí)慣。比如如果用戶查詢"中國(guó)歷史最悠久的大學(xué)? ",傳統(tǒng)的搜索引擎往往 無法幫助你獲取到想要的答案,或者無法顯式的提供問題的精準(zhǔn)答案,而基于知識(shí)圖譜的 搜索引擎卻可以幫助你解決該問題。
[0007] 2.基于知識(shí)圖譜的搜索支持更精準(zhǔn)、更簡(jiǎn)潔的結(jié)果返回。
[0008] 基于知識(shí)圖譜的搜索往往將用戶的搜索語句映射到一個(gè)結(jié)構(gòu)化查詢語句,最終的 定位目標(biāo)是某個(gè)知識(shí)庫(kù)中的實(shí)體。實(shí)體上包含豐富的相關(guān)信息。因此,只要準(zhǔn)確定位到知識(shí) 庫(kù)中的實(shí)體,就可以很方便的返回給用戶一個(gè)精準(zhǔn)更簡(jiǎn)潔的搜索結(jié)果。
[0009] 3.基于知識(shí)圖譜的搜索支持知識(shí)內(nèi)容的累積。
[0010] 知識(shí)庫(kù)是一個(gè)不斷"吸收"新知識(shí),而沉淀舊知識(shí)的系統(tǒng)。因此,知識(shí)庫(kù)能夠不斷的 累積知識(shí),進(jìn)而在更豐富的知識(shí)上面,進(jìn)行推理、挖掘等工作,發(fā)現(xiàn)更多的知識(shí)。
[0011] 4.基于知識(shí)圖譜的搜索支持隱式信息的顯式展現(xiàn)。
[0012] 互聯(lián)網(wǎng)上蘊(yùn)含著豐富的信息,信息跟信息之間,有著千絲萬縷的聯(lián)系。傳統(tǒng)的信息 存儲(chǔ)、信息檢索技術(shù),關(guān)于信息間的挖掘,是一個(gè)難點(diǎn)。由于知識(shí)庫(kù)的結(jié)構(gòu)化表示、存儲(chǔ)技 術(shù),使得我們很容易就可以在知識(shí)庫(kù)上進(jìn)行一系列的推理、挖掘工作,進(jìn)而將存在的、隱式 的信息,顯式的展現(xiàn)給用戶。
[0013] 由于傳統(tǒng)搜索引擎存在的一系列弊端,以及知識(shí)搜索相對(duì)于傳統(tǒng)搜索引擎的優(yōu) 點(diǎn),本文基于互聯(lián)網(wǎng)上數(shù)據(jù)源的特性,研究設(shè)計(jì)并實(shí)現(xiàn)了一套面向自然語言查詢的知識(shí)搜 索系統(tǒng)。該系統(tǒng)支持用戶友好的自然語言問句為查詢,在底層結(jié)構(gòu)化的知識(shí)圖譜數(shù)據(jù)和非 結(jié)構(gòu)化的社區(qū)問答數(shù)據(jù)之上,通過自然語言處理和分析,轉(zhuǎn)換為基本的查詢過程(包括全文 查詢、互聯(lián)網(wǎng)通用查詢、圖數(shù)據(jù)庫(kù)查詢等),收集基本查詢過程的反饋結(jié)果,對(duì)其進(jìn)行整合、 過濾和排序,并把最終查詢結(jié)果轉(zhuǎn)換。
【發(fā)明內(nèi)容】
[0014] 本發(fā)明的目的在于提供一種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)及方法。
[0015] 本發(fā)明提出的系統(tǒng)及方法主要技術(shù)方案如下:
[0016] -種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng),包括離線模塊和在線模塊,其中,離 線模塊主要用于離線數(shù)據(jù)準(zhǔn)備,包括基于外部無標(biāo)簽數(shù)據(jù)集的關(guān)系模式挖掘系統(tǒng)和針對(duì)問 題類別手工定義的問題模板庫(kù);在線模塊主要用于系統(tǒng)服務(wù),包括對(duì)用戶輸入問句進(jìn)行語 法分析、為問句尋找匹配的問題模板、將問句短語映射到對(duì)應(yīng)的知識(shí)圖譜中的實(shí)體和關(guān)系、 生成結(jié)構(gòu)化知識(shí)圖譜查詢語句。
[0017] 本發(fā)明的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,具體步驟如下:
[0018] 步驟(1).基于外部數(shù)據(jù)集的關(guān)系模式挖掘。由于知識(shí)圖譜中的關(guān)系可以有多種不 同的自然語言表達(dá)形式,如何為某一個(gè)特定的關(guān)系挖掘出該關(guān)系可能的自然語言表達(dá)形式 是知識(shí)圖譜問答系統(tǒng)的一個(gè)難點(diǎn)。在本發(fā)明中,我們提出了一種基于外部無標(biāo)簽數(shù)據(jù)集的 關(guān)系模式挖掘算法。該算法的具體步驟如下:
[0019] 步驟1-1.知識(shí)圖譜三元組集獲取。對(duì)于一個(gè)給定的關(guān)系P,我們希望挖掘出該關(guān)系 的所有可能的自然語言表達(dá)式。在這一步驟中,我們從知識(shí)庫(kù)中抽取出所有關(guān)系P關(guān)聯(lián)的三 元組〈Subject predicate,0bject>。我們用集合I(P) = {(s,o): (s,p,o) £κ}來表示我們抽 取出來的所有關(guān)系為Ρ的三元組,其中κ表示我們的知識(shí)庫(kù)集。
[0020] 步驟1-2.外部無標(biāo)簽數(shù)據(jù)集獲取。所述的外部無標(biāo)簽數(shù)據(jù)集D包括兩部分:一部分 為通過爬蟲挖掘獲取的中文wikipedia文本數(shù)據(jù)集,另一部分則為抽取上一步中每一個(gè)三 元組的兩個(gè)實(shí)體,輸入傳統(tǒng)搜索引擎得到的數(shù)據(jù)集;在獲取了所需的Wikipedia數(shù)據(jù)集之 后,可以通過預(yù)處理,包括去除一些異常的字符串(I []〈〈>>等),將xml格式的wikipedia數(shù) 據(jù)轉(zhuǎn)換成UTF-8編碼的字符文本數(shù)據(jù)等。另一部分?jǐn)?shù)據(jù)集,是通過將第一步中抽取的每一個(gè) 三元組的兩個(gè)實(shí)體,輸入傳統(tǒng)搜索引擎(如Google和Bing這兩個(gè)傳統(tǒng)搜索引擎),從返回結(jié) 果的網(wǎng)頁中,抽取每個(gè)頁面的內(nèi)容,作為本文的另一份數(shù)據(jù)集。通過對(duì)這些處理后的 wikipedia文本數(shù)據(jù)和從搜索引擎提取到的數(shù)據(jù)做索引。
[0021] 步驟1-3.自然語言表達(dá)式候選集挖掘。為了挖掘關(guān)系P的自然語言表達(dá)式,本發(fā)明 準(zhǔn)備了兩部分的數(shù)據(jù):無標(biāo)簽的數(shù)據(jù)集D和知識(shí)庫(kù)中所有已P為關(guān)系的三元組集合I(P) = {(s,o): (s,p,o) Εκ}。我們定義α(χ)表示實(shí)體X的標(biāo)簽,β(χ)表示實(shí)體X的URI。程序首先遍 歷無標(biāo)簽數(shù)據(jù)集D中所有的句子,若句子中同時(shí)出現(xiàn)a(s)和α(ο),則把該句子a(s)和α(ο)中 間的短語加入到潛在自然語言表達(dá)式集合中Ν。
[0022]步驟1-4.自然語言表達(dá)式集驗(yàn)證。記Θ為挖掘出的某一個(gè)具體的自然語言表達(dá)式, β為挖掘出的某類模式的集合。對(duì)于一個(gè)關(guān)系P,一個(gè)好的模式θ定義它滿足如下條件:
[0023] 1.對(duì)于關(guān)系ρ,好的模式Θ應(yīng)該出現(xiàn)在I (Ρ)中的大部分三元組中。
[0024] 2.對(duì)于關(guān)系ρ,好的模式Θ應(yīng)該在1(~Ρ)中出現(xiàn)的頻率比較低。
[0025] 因此,基于以上兩條判定規(guī)則,定義一個(gè)表達(dá)式η對(duì)于一個(gè)關(guān)系ρ的得分函數(shù)如公 式⑴:
[0027] 其中,c表示對(duì)于一個(gè)三元組〈si,p,〇i>,關(guān)系短語η和實(shí)體si,〇i同時(shí)在語料庫(kù)中出 現(xiàn)的次數(shù),C表示實(shí)體Sl,〇1在語料庫(kù)中出現(xiàn)的總次數(shù),Μ表示對(duì)于那些不存在關(guān)系ρ的實(shí)體在 語料庫(kù)中出現(xiàn)的總次數(shù),m表示對(duì)于那些不存在關(guān)系ρ的實(shí)體與關(guān)系短語η在語料庫(kù)中出現(xiàn) 的總次數(shù),i表示知識(shí)庫(kù)中存在關(guān)系Ρ的三元組個(gè)數(shù),j表示知識(shí)庫(kù)中不存在關(guān)系Ρ的三元組 個(gè)數(shù),9表示權(quán)重參數(shù),通過實(shí)驗(yàn)來獲取最優(yōu)值。根據(jù)上述方法計(jì)算出表達(dá)式集中每個(gè)表達(dá) 式的得分,選取得分較高的K個(gè)表達(dá)式作為最終驗(yàn)證出來的自然語言表達(dá)式,其中K根據(jù)需 求設(shè)定。
[0028] 步驟(2).手工定義問題模板庫(kù)。一個(gè)問題模板,定義了該類問題的問句形式,以及 對(duì)應(yīng)的結(jié)構(gòu)化知識(shí)圖譜查詢語句范例。通過正則表達(dá)式來定義某類問題模板,通過SPARQL 查詢語句定義該模板對(duì)應(yīng)的知識(shí)圖譜結(jié)構(gòu)化查詢模板。SPARQL查詢模板中待確定的實(shí)體或 者關(guān)系由變量來表示,最終將被匹配的問句中詞、短語對(duì)應(yīng)的實(shí)體或者關(guān)系填充到該 SPARQL查詢模板的變量中。
[0029] 步驟(3).問句輸入問句語法分析。語法分析步驟包括通過分詞算法對(duì)用戶輸入的 問句進(jìn)行切割,分析切割后的每個(gè)詞、短語的詞性、疑問詞識(shí)別,生成一棵語法樹。
[0030] 步驟(4).問句模板匹配。步驟(3)中對(duì)用戶輸入問句經(jīng)過語法分析生成一棵語法 樹,樹中每個(gè)節(jié)點(diǎn)代表了一個(gè)詞,每個(gè)詞有對(duì)應(yīng)一個(gè)詞性。步驟(2)中本發(fā)明通過手工定義, 為每類問題定義了一個(gè)問題模板。問句模板匹配步驟就是通過比較問句分析后的語法樹與 步驟(2)中問題模板庫(kù)中問題模板的相似度,在問題模板庫(kù)中找出相似度最大即最匹配的 問題模板,返回該模板對(duì)應(yīng)的SPARQL查詢模板。
[0031] 步驟(5).知識(shí)庫(kù)實(shí)體、關(guān)系映射。由于自然語言表達(dá)形式的多樣性,同一個(gè)知識(shí)庫(kù) 中的實(shí)體、關(guān)系,可以有多種不同的自然語言表達(dá)形式。為了將用戶的某一個(gè)自然語言表達(dá) 形式映射到知識(shí)庫(kù)中具體的某個(gè)實(shí)體或者關(guān)系,本發(fā)明提出了一種基于層次化模型的實(shí) 體、關(guān)系匹配算法。具體步驟如下:
[0032] 步驟5-1.基于倒排索引的嚴(yán)格匹配?;诘古潘饕淼臋z索方法,是最直觀最直 接的方法。通過提取出知識(shí)圖譜中所有的實(shí)體和關(guān)系,提取出實(shí)體和關(guān)系的URI和標(biāo)簽,然 后建立從標(biāo)簽到URI的映射表。建立倒排索引表,鍵值為知識(shí)庫(kù)中實(shí)體或者關(guān)系的標(biāo)簽,對(duì) 應(yīng)的值是一個(gè)URI集合,這些集合中的URI對(duì)應(yīng)的實(shí)體或者關(guān)系的標(biāo)簽就是鍵值?;诘古?索引的嚴(yán)格匹配要求自然語言表達(dá)式與知識(shí)圖譜中的實(shí)體或者關(guān)系的標(biāo)簽字符嚴(yán)格匹配。
[0033] 步驟5-2.基于字符串相似度的匹配。定義兩個(gè)字符串之間的相似度如公式(2):
[0035]預(yù)先設(shè)置相似度閾值,計(jì)算所有標(biāo)簽與目標(biāo)短語的字符串相似度,如果相似度超 過閾值,那么認(rèn)為該標(biāo)簽對(duì)應(yīng)的URI就是候選URI集。
[0036] 步驟5-3.基于字典詞匯集的擴(kuò)充。不管是提出來基于倒排索引的嚴(yán)格匹配算法還 是基于字符串相似度的模糊匹配算法,都要求用戶使用的自然語言短語與我們知識(shí)庫(kù)中的 目標(biāo)實(shí)體或者關(guān)系存在字符層面上的相似度要求。為了解決這種問題,采用同義詞典擴(kuò)充 的方法。可以采用WordNet詞典,將該短語在WordNet中對(duì)應(yīng)的同義詞集、上位詞集、下位詞 集都添加進(jìn)該詞的候選匹配集合,然后采用步驟5-1和步驟5-2介紹的兩種方法,重新進(jìn)行 匹配。
[0037] 步驟5-4.基于語義相似度的匹配。語義相似度匹配的目的是突破實(shí)體匹配中對(duì)字 符的依賴。采用Google發(fā)布的word2vec模型?;谡Z義相似度匹配算法最大的優(yōu)勢(shì)就是擺 脫了傳統(tǒng)的字符層面的相似度度量,而是從一個(gè)更高維度的語義空間進(jìn)行度量??梢越鉀Q 像"painted"到知識(shí)庫(kù)中"artist"這種難度比較大的映射。
[0038] 步驟(6).生成結(jié)構(gòu)化知識(shí)圖譜查詢語句。將步驟(5)中映射到的實(shí)體、關(guān)系填充到 步驟(4)匹配到的問題模板對(duì)應(yīng)的SPARQL查詢模板中,生成最終的結(jié)構(gòu)化知識(shí)圖譜查詢語 句。
[0039] 本發(fā)明的基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng)和方法,可支持用戶友好的自然 語言問句為查詢,通過對(duì)用戶的問句進(jìn)行語法分析,并將語法分析后的結(jié)果到離線定義的 手工模板庫(kù)中尋找匹配的問句模板,根據(jù)所述的實(shí)體匹配方法和關(guān)系匹配方法,生成最終 的結(jié)構(gòu)化的知識(shí)圖譜查詢語句,根據(jù)該結(jié)構(gòu)化查詢語句到知識(shí)圖譜中進(jìn)行檢索,返回最終 的結(jié)果。該問答系統(tǒng)能夠針對(duì)用戶的問句給出精確性的檢索結(jié)果,提高用戶的搜索滿意度。
【附圖說明】
[0040] 圖1為本發(fā)明基于模板匹配技術(shù)的知識(shí)圖譜問答的系統(tǒng)的架構(gòu)圖;
[0041] 圖2為本發(fā)明基于模板匹配技術(shù)的知識(shí)圖譜問答方法的流程圖。
【具體實(shí)施方式】
[0042]下面結(jié)合附圖詳細(xì)描述本發(fā)明,本發(fā)明的目的和效果將變得更加明顯。
[0043] -種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng),包括離線模塊和在線模塊,其中,離 線模塊主要用于離線數(shù)據(jù)準(zhǔn)備,包括基于外部無標(biāo)簽數(shù)據(jù)集的關(guān)系模式挖掘系統(tǒng)和針對(duì)問 題類別手工定義的問題模板庫(kù);在線模塊主要用于系統(tǒng)服務(wù),包括對(duì)用戶輸入問句進(jìn)行語 法分析、為問句尋找匹配的問題模板、將問句短語映射到對(duì)應(yīng)的知識(shí)圖譜中的實(shí)體和關(guān)系、 生成結(jié)構(gòu)化知識(shí)圖譜查詢語句。如圖1所示。
[0044] 基于模板匹配技術(shù)的知識(shí)圖譜問答的方法,如圖2所示,具體步驟如下:
[0045] (1)準(zhǔn)備好需要檢索的知識(shí)圖譜數(shù)據(jù)。為了方便說明,在此以DBpedia數(shù)據(jù)庫(kù)為例, 數(shù)據(jù)以RDF資源描述框架的三元組格式存儲(chǔ)于Virtuoso圖數(shù)據(jù)庫(kù)中,并以SPARQL圖數(shù)據(jù)庫(kù) 查詢語言進(jìn)行最終的知識(shí)圖譜數(shù)據(jù)檢索。
[0046] (2)對(duì)于知識(shí)圖譜中的某個(gè)關(guān)系p,抽取出所有與該關(guān)系關(guān)聯(lián)的三元組數(shù)據(jù)<Sl,p, 〇1>,其中Sl表示第i個(gè)三元組左邊的實(shí)體,〇1表示第i個(gè)三元組右邊的實(shí)體。在外部數(shù)據(jù)集中 檢索出實(shí)體 Sl和實(shí)體〇1同時(shí)出現(xiàn)的句子,抽取出句子中兩個(gè)實(shí)體中間的自然語言表達(dá)式,該 表達(dá)式是關(guān)系P可能的一個(gè)潛在自然語言表達(dá)模式。其中,外部數(shù)據(jù)集的來源分兩部分:1) 12G的中文Wikipedia文檔數(shù)據(jù);2)通過將實(shí)體Si和實(shí)體Oi放進(jìn)傳統(tǒng)搜索引擎Google和Bing 搜索引擎,檢索返回的結(jié)果文檔數(shù)據(jù)。記Θ為挖掘出的某一個(gè)具體的自然語言表達(dá)式,β為挖 掘出的某類模式的集合。對(duì)于一個(gè)關(guān)系Ρ,一個(gè)好的模式Θ定義它滿足如下條件:
[0047] 1.對(duì)于關(guān)系ρ,好的模式Θ應(yīng)該出現(xiàn)在Ι(ρ)中的大部分三元組中。
[0048] 2.對(duì)于關(guān)系ρ,好的模式Θ應(yīng)該在1(~ρ)中出現(xiàn)的頻率比較低。
[0049] 因此,基于以上兩條判定規(guī)則,定義一個(gè)表達(dá)式η對(duì)于一個(gè)關(guān)系ρ的得分函數(shù)如公 式⑶:
[0051 ] 其中,c表示對(duì)于一個(gè)三元組〈si,p,〇i>,關(guān)系短語η和實(shí)體si,〇i同時(shí)在語料庫(kù)中出 現(xiàn)的次數(shù),C表示實(shí)體Sl,〇1在語料庫(kù)中出現(xiàn)的總次數(shù),Μ表示對(duì)于那些不存在關(guān)系ρ的實(shí)體在 語料庫(kù)中出現(xiàn)的總次數(shù),m表示對(duì)于那些不存在關(guān)系ρ的實(shí)體與關(guān)系短語η在語料庫(kù)中出現(xiàn) 的總次數(shù),i表示知識(shí)庫(kù)中存在關(guān)系Ρ的三元組個(gè)數(shù),j表示知識(shí)庫(kù)中不存在關(guān)系Ρ的三元組 個(gè)數(shù),3表示權(quán)重參數(shù)。根據(jù)上述方法計(jì)算出表達(dá)式集中每個(gè)表達(dá)式的得分,選取得分較高 的K個(gè)表達(dá)式作為最終驗(yàn)證出來的自然語言表達(dá)式,其中K根據(jù)需求設(shè)定。
[0052] (3)手工定義問題模板庫(kù)。一個(gè)問題模板,定義了該類問題的問句形式,以及對(duì)應(yīng) 的結(jié)構(gòu)化知識(shí)圖譜查詢語句范例。通過正則表達(dá)式來定義某類問題模板,通過SPARQL查詢 語句定義該模板對(duì)應(yīng)的知識(shí)圖譜結(jié)構(gòu)化查詢模板。SPARQL查詢模板中待確定的實(shí)體或者關(guān) 系由變量來表示,最終將被匹配的問句中詞、短語對(duì)應(yīng)的實(shí)體或者關(guān)系填充到該SPARQL查 詢模板的變量中。
[0053] (4)問句輸入問句語法分析。語法分析步驟包括通過分詞算法對(duì)用戶輸入的問句 進(jìn)行切割,分析切割后的每個(gè)詞、短語的詞性、疑問詞識(shí)別,生成一棵語法樹。
[0054] (5)問句模板匹配。通過比較問句分析后的語法樹與步驟(2)中問題模板庫(kù)中問題 模板的相似度,在問題模板庫(kù)中找出相似度最大即最匹配的問題模板,返回該模板對(duì)應(yīng)的 SPARQL查詢模板。
[0055] (6).知識(shí)庫(kù)實(shí)體、關(guān)系映射。由于自然語言表達(dá)形式的多樣性,同一個(gè)知識(shí)庫(kù)中的 實(shí)體、關(guān)系,可以有多種不同的自然語言表達(dá)形式。為了將用戶的某一個(gè)自然語言表達(dá)形式 映射到知識(shí)庫(kù)中具體的某個(gè)實(shí)體或者關(guān)系,本發(fā)明提出了一種基于層次化模型的實(shí)體、關(guān) 系匹配算法。具體步驟如下:
[0056] 步驟1).基于倒排索引的嚴(yán)格匹配?;诘古潘饕淼臋z索方法,是最直觀最直接 的方法。提取出知識(shí)圖譜中所有的實(shí)體和關(guān)系,提取出實(shí)體和關(guān)系的URI和標(biāo)簽,然后建立 從標(biāo)簽到URI的映射表。建立倒排索引表,鍵值為知識(shí)庫(kù)中實(shí)體或者關(guān)系的標(biāo)簽,對(duì)應(yīng)的值 是一個(gè)URI集合,這些集合中的URI對(duì)應(yīng)的實(shí)體或者關(guān)系的標(biāo)簽就是鍵值。基于倒排索引的 嚴(yán)格匹配要求自然語言表達(dá)式與知識(shí)圖譜中的實(shí)體或者關(guān)系的標(biāo)簽字符嚴(yán)格匹配。
[0057] 步驟2).基于字符串相似度的匹配。定義兩個(gè)字符串之間的相似度如公式(4):
[0059]本系統(tǒng)中,設(shè)置相似度閾值為0.95,計(jì)算所有標(biāo)簽與我們的目標(biāo)短語的字符串相 似度,如果它們的相似度超過設(shè)置的閾值,那么認(rèn)為該標(biāo)簽對(duì)應(yīng)的URI就是我們的候選URI 集。
[0060] 步驟3).基于字典詞匯集的擴(kuò)充。不管是提出來基于倒排索引的嚴(yán)格匹配算法還 是基于字符串相似度的模糊匹配算法,都要求用戶使用的自然語言短語與我們知識(shí)庫(kù)中的 目標(biāo)實(shí)體或者關(guān)系存在字符層面上的相似度要求。為了解決這種問題,采用同義詞典擴(kuò)充 的方法。在本系統(tǒng)中,采用WordNet詞典,將該短語在WordNet中對(duì)應(yīng)的同義詞集、上位詞集、 下位詞集都添加進(jìn)該詞的候選匹配集合,然后采用步驟5-1和步驟5-2介紹的兩種方法,重 新進(jìn)行匹配。
[0061] 步驟4).基于語義相似度的匹配。語義相似度匹配的目的是突破實(shí)體匹配中對(duì)字 符的依賴。采用Google發(fā)布的word2vec模型。基于語義相似度匹配算法最大的優(yōu)勢(shì)就是擺 脫了傳統(tǒng)的字符層面的相似度度量,而是從一個(gè)更高維度的語義空間進(jìn)行度量??梢越鉀Q 像"painted"到知識(shí)庫(kù)中"artist"這種難度比較大的映射。
[0062] (6).生成結(jié)構(gòu)化知識(shí)圖譜查詢語句。將(5)中映射到的實(shí)體、關(guān)系填充到(4)匹配 到的問題模板對(duì)應(yīng)的SPARQL查詢模板中,生成最終的結(jié)構(gòu)化知識(shí)圖譜查詢語句。
[0063] 上述的對(duì)實(shí)施例的描述是為便于本技術(shù)領(lǐng)域的普通技術(shù)人員能理解和應(yīng)用本發(fā) 明。熟悉本領(lǐng)域技術(shù)的人員顯然可以容易地對(duì)上述實(shí)施例做出各種修改,并把在此說明的 一般原理應(yīng)用到其他實(shí)施例中而不必經(jīng)過創(chuàng)造性的勞動(dòng)。因此,本發(fā)明不限于上述實(shí)施例, 本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的揭示,對(duì)于本發(fā)明做出的改進(jìn)和修改都應(yīng)該在本發(fā)明的保護(hù) 范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種基于模板匹配技術(shù)的知識(shí)圖譜問答系統(tǒng),其特征在于,包括用于離線數(shù)據(jù)準(zhǔn)備 的離線模塊和用于系統(tǒng)服務(wù)的在線模塊,其中,離線模塊包括基于外部無標(biāo)簽數(shù)據(jù)集的關(guān) 系模式挖掘系統(tǒng)和針對(duì)問題類別手工定義的問題模板庫(kù);在線模塊包括對(duì)用戶輸入的問句 進(jìn)行語法分析、為問句尋找匹配的問題模板、將問句短語映射到對(duì)應(yīng)的知識(shí)圖譜中的實(shí)體 和關(guān)系、生成結(jié)構(gòu)化知識(shí)圖譜查詢語句。2. -種基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,具體步驟如下: 步驟(1)建立基于外部無標(biāo)簽數(shù)據(jù)集的關(guān)系模式挖掘系統(tǒng),為知識(shí)圖譜中的每一個(gè)關(guān) 系挖掘所有可能的自然語言表達(dá)式; 步驟(2)手工定義問題模板庫(kù),對(duì)每一個(gè)問題模板,定義該類問題的問句形式以及對(duì)應(yīng) 的結(jié)構(gòu)化知識(shí)圖譜查詢語句范例; 步驟(3)對(duì)用戶的問句輸入進(jìn)行問句語法分析;語法分析步驟包括通過分詞算法對(duì)用 戶輸入的問句進(jìn)行切割,以及對(duì)分析切割后的每個(gè)詞、短語的詞性、疑問詞識(shí)別,生成一棵 語法樹; 步驟(4)通過比較問句分析后的語法樹與步驟(2)中問題模板庫(kù)中問題模板的相似度, 找出相似度最大即最匹配的問題模板,得到該問題模板相對(duì)應(yīng)的結(jié)構(gòu)化知識(shí)圖譜查詢模 板; 步驟(5)將用戶自然語言表達(dá)的詞、短語映射到知識(shí)圖譜中的某個(gè)實(shí)體或者關(guān)系; 步驟(6)將步驟(5)映射出的實(shí)體、關(guān)系填充到步驟(4)中得到的結(jié)構(gòu)化知識(shí)圖譜查詢 模板中,生成最終的結(jié)構(gòu)化知識(shí)圖譜查詢語句。3. 根據(jù)權(quán)利要求2所述的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,所述的 步驟(1)具體為: 步驟1-1.獲取知識(shí)圖譜三元組集;對(duì)于一個(gè)給定的關(guān)系P,從知識(shí)庫(kù)中抽取出所有關(guān)系 P關(guān)聯(lián)的三元組〈Subject,Predicate,Object〉,用集合I(P) = { (s,o): (s,p,o) Εκ}表示,其 中κ表示知識(shí)庫(kù)集; 步驟1-2.獲取外部無標(biāo)簽數(shù)據(jù)集;所述的外部無標(biāo)簽數(shù)據(jù)集D包括兩部分:一部分為通 過爬蟲挖掘獲取的中文wikipedia文本數(shù)據(jù)集,另一部分則為抽取上一步中每一個(gè)三元組 的兩個(gè)實(shí)體,輸入傳統(tǒng)搜索引擎得到的數(shù)據(jù)集; 步驟1-3.挖掘自然語言表達(dá)式候選集;定義α(χ)表示實(shí)體X的標(biāo)簽,β(χ)表示實(shí)體X的 URI,首先遍歷無標(biāo)簽數(shù)據(jù)集D中所有的句子,若句子中同時(shí)出現(xiàn)a(s)和α(ο),則把該句子α (s)和α(ο)中間的短語加入到潛在自然語言表達(dá)式集合中Ν。 步驟1-4.驗(yàn)證自然語言表達(dá)式集;記Θ為挖掘出的某一個(gè)具體的自然語言表達(dá)式,β為 挖掘出的某類模式的集合, 定義一個(gè)表達(dá)式η對(duì)于一個(gè)關(guān)系ρ的得分函數(shù)如公式(1):⑴ 其中,C表示對(duì)于一個(gè)三元組〈Si,p,〇i>,關(guān)系短語η和實(shí)體Si,〇i同時(shí)在語料庫(kù)中出現(xiàn)的 次數(shù),C表示實(shí)體81,〇1在語料庫(kù)中出現(xiàn)的總次數(shù),Μ表示對(duì)于那些不存在關(guān)系ρ的實(shí)體在語料 庫(kù)中出現(xiàn)的總次數(shù),m表示對(duì)于那些不存在關(guān)系ρ的實(shí)體與關(guān)系短語η在語料庫(kù)中出現(xiàn)的總 次數(shù),i表示知識(shí)庫(kù)中存在關(guān)系Ρ的三元組個(gè)數(shù),j表示知識(shí)庫(kù)中不存在關(guān)系Ρ的三元組個(gè)數(shù), 表示權(quán)重參數(shù)。 根據(jù)上述方法計(jì)算出表達(dá)式集中每個(gè)表達(dá)式的得分,選取得分較高的K個(gè)表達(dá)式作為 最終驗(yàn)證出來的自然語言表達(dá)式,其中K根據(jù)需求設(shè)定。4. 根據(jù)權(quán)利要求3所述的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,步驟1-2中所述的傳統(tǒng)搜索引擎為Google和Bing搜索引擎。5. 根據(jù)權(quán)利要求2所述的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,所述的 步驟(2)具體為:通過正則表達(dá)式來定義某類問題模板,通過SPARQL查詢語句定義該模板對(duì) 應(yīng)的知識(shí)圖譜結(jié)構(gòu)化查詢模板,SPARQL查詢模板中待確定的實(shí)體或者關(guān)系由變量來表示。6. 根據(jù)權(quán)利要求2所述的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,所述的 步驟(5)具體為: 步驟5-1.基于倒排索引的嚴(yán)格匹配;提取出知識(shí)圖譜中所有的實(shí)體和關(guān)系,提取出實(shí) 體和關(guān)系的URI和標(biāo)簽,然后建立從標(biāo)簽到URI的映射表,建立倒排索引表,鍵值為知識(shí)庫(kù)中 實(shí)體或者關(guān)系的標(biāo)簽,對(duì)應(yīng)的值是一個(gè)URI集合,這些集合中的URI對(duì)應(yīng)的實(shí)體或者關(guān)系的 標(biāo)簽就是鍵值。,基于倒排索引的嚴(yán)格匹配要求自然語言表達(dá)式與知識(shí)圖譜中的實(shí)體或者 關(guān)系的標(biāo)簽字符嚴(yán)格匹配。 步驟5-2.基于字符串相似度的匹配;定義兩個(gè)字符串之間的相似度如公式(2):預(yù)先設(shè)置相似度閾值,計(jì)算所有標(biāo)簽與目標(biāo)短語的字符串相似度,當(dāng)相似度超過閾值, 則該標(biāo)簽對(duì)應(yīng)的URI即為候選URI集。 步驟5-3 .基于字典詞匯集的擴(kuò)充;采用同義詞典擴(kuò)充的方法,將該短語在詞典中對(duì)應(yīng) 的同義詞集、上位詞集、下位詞集都添加進(jìn)該詞的候選匹配集合,然后采用步驟5-1和步驟 5-2,重新進(jìn)行匹配。 步驟5-4.基于語義相似度的匹配;采用Google發(fā)布的W〇rd2vec模型進(jìn)行語義相似度匹 配。7. 根據(jù)權(quán)利要求6所述的基于模板匹配技術(shù)的知識(shí)圖譜問答方法,其特征在于,所述的 步驟5-3中采用WordNet詞典進(jìn)行同義擴(kuò)充。
【文檔編號(hào)】G06F17/27GK105868313SQ201610179359
【公開日】2016年8月17日
【申請(qǐng)日】2016年3月25日
【發(fā)明人】王東輝, 黃鵬程, 李亞楠, 藺越檀, 莊越挺
【申請(qǐng)人】浙江大學(xué)