一種基于詞典的語義知識庫的構(gòu)建方法
【專利摘要】本發(fā)明公開了一種基于詞典的語義知識庫的構(gòu)建方法,包括:構(gòu)建基于詞典語義知識表示模型的知識數(shù)據(jù)庫;根據(jù)語義知識提取規(guī)則提取義項釋義的語義知識;實現(xiàn)提取語義知識的義項映射;提取義項剩余釋義的語義知識。本發(fā)明的方法能夠靈活、快速地從詞典中構(gòu)建包含豐富語義的知識庫,且知識庫中所表示的知識具有通用性和權(quán)威性。本發(fā)明同時為自然語言的語義信息處理提供了一種深層語義知識的表示方法和語義相似度的計算方法,在自然語言處理領(lǐng)域具有廣泛的應(yīng)用價值,如在信息檢索領(lǐng)域,能夠?qū)崿F(xiàn)基于語義而非關(guān)鍵詞的檢索,從而得到更貼近用戶需求的深層語義檢索結(jié)果。
【專利說明】一種基于詞典的語義知識庫的構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機(jī)語義信息處理【技術(shù)領(lǐng)域】,更具體地涉及一種基于詞典的語義知 識庫的構(gòu)建方法。
【背景技術(shù)】
[0002] 隨著計算機(jī)技術(shù)的迅速發(fā)展,人類已經(jīng)進(jìn)入信息爆炸時代,每天都有海量的數(shù)字 化信息在生成、存儲、傳播和轉(zhuǎn)換,人們在更加方便快捷的獲取信息的同時,也同時被浩如 煙海的信息所淹沒,這使得人類對于計算機(jī)認(rèn)知能力的需求越來越大,讓計算機(jī)理解自然 語言的愿望愈加強(qiáng)烈。將計算機(jī)與語言學(xué)聯(lián)姻而誕生的自然語言理解研宄,使人類語言研 宄視野進(jìn)一步擴(kuò)大,同時信息時代的到來召喚語言研宄向技術(shù)化層面轉(zhuǎn)向。計算語言學(xué)和 語言信息處理成為在開闊的學(xué)術(shù)背景和計算機(jī)技術(shù)平臺上的新開拓。
[0003] 語言學(xué)的研宄包括語法、語義和語用三個部分,而句法知識、語義知識、語用知識 的基礎(chǔ)理論研宄也成為語言信息處理領(lǐng)域高難度的前沿課題。喬姆斯基雖然在句法結(jié)構(gòu)規(guī) 則形式化方面做出了革命性探索,但是仍然無法切合語言信息處理的要求。語用知識的研 宄是語言學(xué)關(guān)于會話情景和語境的更高層次的研宄,目前國內(nèi)外關(guān)于語用知識的研宄較少 并且還不夠透徹。而語義性作為人類語言的共同本質(zhì)屬性,是計算語言學(xué)研宄突破的關(guān)鍵 所在,語言結(jié)構(gòu)的本體是語義結(jié)構(gòu)體,語言結(jié)構(gòu)的真正研宄對象是語義結(jié)構(gòu)單位和語義結(jié) 構(gòu)關(guān)系。目前面向語言信息處理的語言研宄最大的瓶頸就是語義。
[0004] 語義相似度計算、潛在語義分析、語義角色標(biāo)注等技術(shù)是語義信息處理領(lǐng)域的研 宄熱點。語義相似度計算技術(shù)能在特定語義理論下,查詢語義關(guān)系,計算詞語之間的語義距 離;潛在語義分析通過對大量的文本集進(jìn)行統(tǒng)計分析,提取出詞語的上下文使用含義,自動 生成關(guān)鍵字之間的映射規(guī)則;語義角色標(biāo)注不對句子做詳細(xì)的語義分析,它通過機(jī)器學(xué)習(xí) 的方法,標(biāo)注句子中某些成分的語義角色。這些技術(shù)的共同點為都屬于淺層語義分析,且都 需要大規(guī)模語料庫及語義知識庫的支撐。
[0005] 從20世紀(jì)80年代中期以來,語義詞典和語義知識庫建設(shè)蓬勃發(fā)展,出現(xiàn)了如 WordNet、FrameNet、Mindnet、HNC和HowNet的大規(guī)模語義知識工程。若干有代表性的語義 知識庫構(gòu)建如下表所述:
[0006]
【權(quán)利要求】
1. 一種基于詞典的語義知識庫的構(gòu)建方法,包括如下步驟: 步驟S1 :構(gòu)建知識數(shù)據(jù)庫,所述知識數(shù)據(jù)庫包括四個數(shù)據(jù)表:義項表、義項屬性知識 表、義項關(guān)系知識表和義項搭配知識表;其中,所述義項表包括三個字段:領(lǐng)域名稱、帶檢 索詞、義項;所述義項屬性知識表包括三個字段:義項、屬性名稱和屬性值;所述義項關(guān)系 知識表包括三個字段:義項、關(guān)系名稱和關(guān)系值;所述義項搭配知識表包括三個字段:義 項、搭配名稱和搭配值; 步驟S2 :根據(jù)語義知識提取規(guī)則提取義項釋義的語義知識; 步驟S3 :對所述提取的語義知識進(jìn)行義項映射; 步驟S4 :提取所述義項剩余釋義的語義知識。
2. 如權(quán)利要求1所述基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S2中所述 提取義項釋義的語義知識的步驟是通過依次分析由主釋義、補(bǔ)充釋義和例句的語義特征組 成的詞典義項釋義,構(gòu)建知識提取規(guī)則實現(xiàn)的。
3. 如權(quán)利要求2所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S2中所 述提取義項釋義的語義知識的步驟包括: 步驟S201 :判斷輸入的詞典義項是否為并列釋義結(jié)構(gòu),如果不是則直接對詞典義項中 的釋義執(zhí)行步驟S202 ;如果是則分離并列釋義,得到若干個分釋義,然后對每個分釋義再 執(zhí)行步驟S202 ; 步驟S202 :判斷輸入的釋義是否含有例句,如果沒有則直接執(zhí)行步驟S203 ;如果有則 分離釋義和例句,對分離后的釋義執(zhí)行步驟S203,對分離后的例句執(zhí)行步驟S206 ; 步驟S203 :判斷輸入的釋義是否含有補(bǔ)充釋義,如果沒有則直接執(zhí)行步驟S204 ;如果 有則分離補(bǔ)充釋義和主釋義,對分離后的主釋義執(zhí)行步驟S204,對分離后的補(bǔ)充釋義執(zhí)行 步驟S205 ; 步驟S204 :根據(jù)主釋義語義知識提取規(guī)則從輸入的主釋義中提取出相應(yīng)的語義知識; 步驟S205 :根據(jù)補(bǔ)充釋義語義知識提取規(guī)則從輸入的補(bǔ)充釋義中提取出相應(yīng)的語義 知識; 步驟S206 :對輸入的例句進(jìn)行分詞,去停用詞處理,得到的詞語集作為例句詞語搭配 知識; 步驟S207 :對用戶輸入的義項釋義,刪除由步驟S204、步驟S205和步驟S206處理過程 中涉及到的部分釋義,得到剩余釋義;剩余釋義連同步驟S204、步驟S205和步驟S206提取 到的知識一齊輸出。
4. 如權(quán)利要求3所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S204中 所述的主釋義語義知識提取規(guī)則共包含12條產(chǎn)生式規(guī)則: R204-1 :IF主釋義中含有"舊指"、"舊時指"字樣THEN提取時代屬性"舊稱"; R204-2 :IF主釋義中含有"比喻"字樣AND"比喻"在主釋義的開頭或者"比喻"前面是 標(biāo)點符號THEN提取修辭屬性"比喻"; R204-3 :IF主釋義含有"〈方〉"字樣THEN提取語言屬性"方言"; R204-4 :IF主釋義含有"〈書〉"字樣THEN提取語言屬性"書面語"; R204-5 :IF主釋義含有"〈口〉"字樣THEN提取語言屬性"口語"; R204-6 :IF主釋義含有"上指"或"中指"字樣AND"上指"或"中指"前面是詞語或并 列詞語THEN這些作為領(lǐng)域?qū)傩灾R; R204-7:IF主釋義含有"同"字樣AND"同"后面是用雙引號引起來的詞語THEN提取雙 引號引起來的詞語作為同義關(guān)系知識; R204-8:IF主釋義含有"也叫"字樣AND"也叫"后面接有詞語THEN提取釋義中"也叫" 后面的詞語作為同義關(guān)系知識; R204-9 :IF主釋義含有"的舊稱"字樣AND"的舊稱"前面有詞語THEN提取"的舊稱" 前面的詞語作為同義關(guān)系知識; R204-10:IF主釋義含有"一種"或"的一種"字樣AND"一種"或"的一種"前面有詞語THEN提取"一種"后面或"的一種"前面的詞語作為上位關(guān)系知識; R204-11:IF主釋義為"不"后加詞語THEN提取"不"后面的詞語作為反義關(guān)系知識;R204-12:IF主釋義為單個詞語THEN提取此詞語作為近義關(guān)系知識。
5. 如權(quán)利要求3所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S205中 所述的補(bǔ)充釋義語義知識提取規(guī)則共包含14條產(chǎn)生式規(guī)則: R205-1:IF補(bǔ)充釋義含有"見于"或"語出"字樣AND"見于"或"語出"后面是用書名 號引起來的詞語THEN提取書名引起來的詞語作為出處屬性知識; R205-2 :IF補(bǔ)充釋義含有"在"字樣AND"在"后面是一個詞語再加"方面"字樣THEN提取"在"后面的詞語作為領(lǐng)域?qū)傩灾R; R205-3:IF補(bǔ)充釋義含有"區(qū)別于"字樣AND"區(qū)別于"后面是一個雙引號引起來的詞 語THEN提取"跟"后面用雙引號引起來的詞語作為反義關(guān)系知識; R205-4:IF補(bǔ)充釋義含有"跟"字樣AND"跟"后面是一個雙引號引起來的詞語再加"相 對"字樣THEN提取"跟"后面用雙引號引起來的詞語作為反義關(guān)系知識; R205-5:IF補(bǔ)充釋義含有"多用于反問"字樣THEN提取"反問"作為語用屬性知識。如 詞語"像話"的補(bǔ)充釋義"多用于反問",提取到其語用屬性為"反問"; R205-6:IF補(bǔ)充釋義含有"多用于否定"或"多用于否定式"字樣THEN提取"否定"作 為語用屬性知識; R205-7:IF補(bǔ)充釋義含有"含"字樣AND"含"后面是一個詞語再加"意"字樣THEN提 取"含"后面的詞語作為情感屬性知識; R205-8 :IF補(bǔ)充釋義含有"多用于貶義"字樣THEN提取"貶義"作為情感屬性知識;R205-9:IF補(bǔ)充釋義含有"多表示滿意"字樣THEN提取"滿意"作為情感屬性知識; R205-10 :IF補(bǔ)充釋義含有"多用于自謙"或"常用來表示自謙"字樣THEN提取"自謙" 作為情感屬性知識; R205-11:IF補(bǔ)充釋義含有"常與"字樣AND"常與"后面是一個雙引號引起來的詞語再 加"連用"字樣THEN提取"常與"后面用雙引號引起來的詞語作為連用詞語搭配知識; R205-12:IF補(bǔ)充釋義的開頭是"多指"或"常指"字樣AND"多指"或"常指"接有詞語 或并列詞語THEN提取"這些詞語作為主體搭配知識; R205-13:IF補(bǔ)充釋義含有"多用來形容"字樣AND"多用來形容"后面接有詞語或并列 詞語THEN提取這些詞語作為主體搭配知識; R205-14:IF補(bǔ)充釋義為單個詞語或并列詞語THEN提取這些詞語作為主體搭配知識。
6. 如權(quán)利要求1所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S3中所 述的對語義知識進(jìn)行義項映射的步驟包括:對在步驟S2中通過規(guī)則R204-6到R204-12、R205-2到R205-4、R205-7、R205-11到R205-14和通過步驟S206提取到的詞語進(jìn)行義項的 映射,映射后的義項用詞語加義項號表示;而對于用其他規(guī)則提取到的固定的詞語,其義項 號由用戶預(yù)先制定好;以及 義項映射算法的輸入為詞語w和用戶輸入義項M及其詞性p,輸出為詞語w的其中一個 義項,處理步驟如下: 步驟S301 :查詢詞語w的義項,得到K個義項:M1-MK,判斷K是否大于1,如果不是則直 接輸出M1,如果是則執(zhí)行步驟S302 ; 步驟S302 :判斷提取w用到的規(guī)則R是否是R204-7到R204-12、R205-3、R205-4中的 某一個,如果是則查詢詞語w的詞性為p的義項,得到L個義項:M1-ML,然后執(zhí)行步驟S305 ; 如果不是則執(zhí)行步驟S303 ; 步驟S303 :判斷提取w用到的規(guī)則R是否是R204-6、R205-12到R205-14中的某一個, 如果是則查詢詞語w的詞性為名詞的義項,得到L個義項:M1-ML,然后執(zhí)行步驟S305 ;如果 不是則執(zhí)行步驟S304 ; 步驟S304 :判斷提取w用到的規(guī)則R是否是R205-7,如果是則查詢詞語w的詞性為形 容詞的義項,得到L個義項:M1-ML,然后執(zhí)行步驟S305 ;如果不是則執(zhí)行步驟S308 ; 步驟S305 :判斷L是否等于1,如果是則直接輸出義項Ml;如果不是則執(zhí)行步驟S306 ; 步驟S306 :判斷L是否等于0,如果是則執(zhí)行步驟S308 ;如果不是則執(zhí)行步驟S307 ; 步驟S307 :分別計算所述L個義項與用戶輸入義項M的語義距離;提取所述L個義項 中與用戶輸入義項語義距離最小的義項作為Mmin。; 步驟S308 :分別計算詞語w的K個義項與用戶輸入義項的語義距離,提取所述K個義 項中與用戶輸入義項語義距離最小的義項作為Mmin。
7. 如權(quán)利要求1所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S4中所 述提取剩余義項釋義語義知識的步驟是通過在知識管理平臺上編輯義項剩余釋義的語義 知識來實現(xiàn)的;所述語義知識管理平臺由四部分組成:義項上下位關(guān)系知識編輯區(qū)域、義 項同義反義近義關(guān)系知識編輯區(qū)域、義項屬性知識編輯區(qū)域和義項搭配知識編輯區(qū)域,所 述四部分知識標(biāo)記區(qū)域分別對應(yīng)語義知識庫的上下位知識、同義反義近義關(guān)系知識、屬性 知識和搭配知識。
8. 如權(quán)利要求6所述的基于詞典的語義知識庫的構(gòu)建方法,其特征在于,步驟S307或 步驟S308中所述語義距離的計算算法的輸入為兩個義項Ml和M2,輸出為兩義項間的語義 距離S,兩義項間語義相似度計算公式為:
其中,S12是以義項Ml的知識為查詢對象計算得到的語義相似度;S21是以義項M2的 知識為查詢對象計算得到的語義相似度;H是設(shè)定的查詢深度,Nji)是當(dāng)查詢深度為i時, 義項Ml查詢到的知識的關(guān)鍵詞個數(shù),N12⑴為這&⑴個關(guān)鍵詞中包含義項M2或M2的詞 語的個數(shù);同理,N2⑴是當(dāng)查詢深度為j時,義項M2查詢到的知識的關(guān)鍵詞個數(shù),N21⑴為 這N2 (i)個關(guān)鍵詞中包含義項Ml或Ml的詞語的個數(shù);以及 所述語義距離計算的具體過程為: 步驟S307-1 :初始化,設(shè)定擴(kuò)展查詢最大深度為H,i= 1、j= 1,語義相似度S1 = 0、S2 = 0、S= 0 ;提取輸入義項Ml和M2的知識的關(guān)鍵詞集合,分別得到NJ1)和N2(l)個關(guān) 鍵詞集K1和K2; 步驟S307-2 :查詢K1中是否包含M2或其詞語,如果包含則記錄包含次數(shù)N12 (1),代入 語義相似度計算公式S12 =N12 (1)/X(1);如果不包含則執(zhí)行步驟S307-3 ; 步驟S307-3:判斷i是否小于或等于H,如果小于或等于則提取第i-1層查詢時N12(i_l)個關(guān)鍵詞的所有知識關(guān)鍵詞,得到N12⑴個新的知識關(guān)鍵詞,同時i增1,然后執(zhí)行 步驟S307-4 ;如果大于則執(zhí)行步驟S307-8 ; 步驟S307-4:查詢N12(i)個新的知識關(guān)鍵詞是否包含M2或其詞語,如果包含則記錄包 含次數(shù)N12(i),代入語義相似度計算公式S12 =SU+N^iVNia);如果不包含則執(zhí)行步驟 S307-3 ; 步驟S307-5 :查詢K2中是否包含Ml或其詞語,如果包含則記錄包含次數(shù)N21 (1),代入 語義相似度計算公式S21 =N21(l)/N2(l);如果不包含則執(zhí)行步驟S307-6 ; 步驟S307-6:判斷j是否小于或等于H,如果小于或等于則提取第j-1層查詢時N21 (j_l)個關(guān)鍵詞的所有知識關(guān)鍵詞,得到N21 (j)個新的知識關(guān)鍵詞,同時j增1,然后執(zhí)行 步驟S307-7;如果大于則執(zhí)行步驟S307-8; 步驟S307-7:查詢N21(j)個新的知識關(guān)鍵詞是否包含Ml或其詞語,如果包含則記錄包 含次數(shù)N21(j),代入語義相似度計算公式S21 =S21+N21(j)/N2(j);如果不包含則執(zhí)行步驟 S307-5 ; 步驟S307-8:計算并輸出最后的語義相似度值:S=max{S12,S21}。
9. 一種語義知識庫的檢索系統(tǒng),包括: 輸入裝置,用于輸入待檢索詞; 檢索裝置,用于從語義知識庫中檢索所述輸入裝置輸入的待檢索詞,輸出其對應(yīng)義項 的語義;以及 語義知識庫,所述語義知識庫通過如權(quán)利要求1至8任意一項所述的基于詞典的語義 知識庫的構(gòu)建方法進(jìn)行構(gòu)建和維護(hù)。
10. -種計算兩個義項的語義距離的方法,其中所述方法的輸入為兩個義項Ml和M2, 輸出為兩義項間的語義距離S,兩義項間語義相似度計算公式為:
其中,S12是以義項Ml的知識為查詢對象計算得到的語義相似度;S21是以義項M2的 知識為查詢對象計算得到的語義相似度;H是設(shè)定的查詢深度,Nji)是當(dāng)查詢深度為i時, 義項Ml查詢到的知識的關(guān)鍵詞個數(shù),N12⑴為這&⑴個關(guān)鍵詞中包含義項M2或M2的詞 語的個數(shù);同理,N2⑴是當(dāng)查詢深度為j時,義項M2查詢到的知識的關(guān)鍵詞個數(shù),N21⑴為 這N2 (i)個關(guān)鍵詞中包含義項Ml或Ml的詞語的個數(shù);以及 所述語義距離計算的具體過程為: 步驟S307-1 :初始化,設(shè)定擴(kuò)展查詢最大深度為H,i= 1、j= 1,語義相似度S1 = 0、 S2 = 0、S= 0 ;提取輸入義項Ml和M2的知識的關(guān)鍵詞集合,分別得到NJ1)和N2(l)個關(guān) 鍵詞集K1和K2 ; 步驟S307-2 :查詢K1中是否包含M2或其詞語,如果包含則記錄包含次數(shù)N12 (1),代入 語義相似度計算公式S12 =N12 (1)/X(1);如果不包含則執(zhí)行步驟S307-3 ; 步驟S307-3 :判斷i是否小于或等于H,如果小于或等于則提取第i-1層查詢時N12(i_l)個關(guān)鍵詞的所有知識關(guān)鍵詞,得到N12⑴個新的知識關(guān)鍵詞,同時i增1,然后執(zhí)行 步驟S307-4 ;如果大于則執(zhí)行步驟S307-8 ; 步驟S307-4 :查詢N12(i)個新的知識關(guān)鍵詞是否包含M2或其詞語,如果包含則記錄包 含次數(shù)N12(i),代入語義相似度計算公式S12 =SU+N^iVNia);如果不包含則執(zhí)行步驟 S307-3 ; 步驟S307-5 :查詢K2中是否包含Ml或其詞語,如果包含則記錄包含次數(shù)N21 (1),代入 語義相似度計算公式S21 =N21(l)/N2(l);如果不包含則執(zhí)行步驟S307-6 ; 步驟S307-6 :判斷j是否小于或等于H,如果小于或等于則提取第j-1層查詢時N21 (j_l)個關(guān)鍵詞的所有知識關(guān)鍵詞,得到N21 (j)個新的知識關(guān)鍵詞,同時j增1,然后執(zhí)行 步驟S307-7 ;如果大于則執(zhí)行步驟S307-8 ; 步驟S307-7 :查詢N21(j)個新的知識關(guān)鍵詞是否包含Ml或其詞語,如果包含則記錄包 含次數(shù)N21(j),代入語義相似度計算公式S21 =S21+N21(j)/N2(j);如果不包含則執(zhí)行步驟 S307-5 ; 步驟S307-8 :計算并輸出最后的語義相似度值:S=max{S12,S21}。
【文檔編號】G06F17/30GK104484411SQ201410783884
【公開日】2015年4月1日 申請日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】倪晚成, 趙美靜, 張海東, 林子琦, 楊一平 申請人:中國科學(xué)院自動化研究所