本發(fā)明屬于自然語言位置提取技術(shù)領(lǐng)域,特別是涉及一種基于位置顯著性描述的位置概念結(jié)構(gòu)化提取方法。
背景技術(shù):
多源異構(gòu)地名數(shù)據(jù)大量增加,為了對不同來源不同結(jié)構(gòu)的位置數(shù)據(jù)進行共享和集成,并根據(jù)位置名稱檢索精確獲取準備的查詢結(jié)果,需要從人們認知習慣角度出發(fā),對大量標準及非標準地名描述進行分析,總結(jié)位置名稱結(jié)構(gòu)特征和空間關(guān)系,對地名結(jié)構(gòu)語義信息進行概念和形式化表達,實現(xiàn)位置概念結(jié)構(gòu)化建模。在此基礎(chǔ)上要對位置名稱和位置關(guān)系識別進而獲得精確的位置概念描述,需要利用位置概念匹配的解析方式對位置概念模型化實例依照相應組合對象級規(guī)則進行處理,實現(xiàn)位置概念對象的高效抽取,獲取準確的位置概念類型。
由于實際的位置描述中可能出現(xiàn)表達錯誤、知識庫不完備等原因,通過位置概念匹配方法得到的地名描述對象中,有許多程序是中間結(jié)果或者相對于其他結(jié)果此結(jié)果不夠顯著的代表此位置概念。一般的位置概念匹配只能對字符串信息進行匹配,難以靈活地融入地名實體和關(guān)系詞匯之間的語義關(guān)系,更忽略了人們對地名的認知情況和對地名的描述習慣。此外,在規(guī)則數(shù)量較多且匹配細尺度的地名時,匹配效率很低,因此需要定義地名描述的顯著性結(jié)構(gòu)來對位置概念匹配生成的不顯著匹配結(jié)果進行粗過濾。顯著性結(jié)構(gòu)是對地名結(jié)構(gòu)語義信息知識表達的一種補充和優(yōu)化,也是對地名結(jié)構(gòu)的約束,有效提高了匹配結(jié)果的準確性,使其更符合人們認知和描述習慣。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提出了一種基于位置描述顯著性結(jié)構(gòu)的位置概念結(jié)構(gòu)化提取方法,對程序解析匹配的不顯著性結(jié)果進行過濾,得到更能顯著性代表位置概念及符合人們認知習慣的位置描述,有效提高匹配結(jié)果的準確性。
本發(fā)明所采用的技術(shù)方案是:一種基于位置描述的顯著性結(jié)構(gòu)的位置概念結(jié)構(gòu)化提取方法,其特征在于,包括以下步驟:
步驟1:基于位置描述結(jié)構(gòu)本體建模,總結(jié)位置概念顯著性結(jié)構(gòu)及其順序,自定義顯著性語法語言,在程序初始化時讀取并生成相應的類;實現(xiàn)顯著性結(jié)構(gòu)打分方法構(gòu)建,為同一位置概念的不同顯著性結(jié)構(gòu)表達尋求一個最佳匹配結(jié)果,獲得位置描述模型;
步驟2:映射位置結(jié)構(gòu)概念本體生成規(guī)則類,每一條規(guī)則類對應一個位置實體概念本體,最終生成規(guī)則集合;
位置概念本體代表與位置有關(guān)對象的基本組成和層次關(guān)系,分為位置基礎(chǔ)概念本體和位置實體概念本體,其中位置實體概念本體對應實際的空間實體或空間關(guān)系;位置結(jié)構(gòu)概念本體是對位置實體概念本體具體組成方式的句法模式表達,其代表了這個位置實體概念本體的組成規(guī)則;
步驟3:對規(guī)則集合進行分類,重新劃分為若干個規(guī)則組,形成規(guī)則檢索依賴圖;
步驟4:以任意自然語言文本位置描述語句和原始的自然語言文本位置描述語句作為輸入,利用基于位置描述顯著性結(jié)構(gòu)的規(guī)則匹配算法進行匹配,通過打分排序完成位置信息的結(jié)構(gòu)化提取。
本發(fā)明提出的基于位置描述顯著性結(jié)構(gòu)的位置概念結(jié)構(gòu)化提取方法中,顯著性結(jié)構(gòu)是對地名結(jié)構(gòu)語義信息知識表達的一種補充和優(yōu)化,是對地名結(jié)構(gòu)的一種約束,有利于提高匹配結(jié)果的準確性;對程序解析匹配生成的不顯著匹配結(jié)果進行過濾,得到更能顯著代表位置概念以及符合人們認知習慣的位置描述。
附圖說明
圖1為本發(fā)明實施的流程圖;
圖2為本發(fā)明實施中顯著性結(jié)構(gòu)規(guī)則匹配算法流程圖。
具體實施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細描述,應當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
請見圖1,本發(fā)明提供的一種基于位置描述的顯著性結(jié)構(gòu)的位置概念結(jié)構(gòu)化提取方法,包括以下步驟:
步驟1,基于位置描述結(jié)構(gòu)本體建模,總結(jié)位置概念顯著性結(jié)構(gòu)及其順序,自定義顯著性語法語言,在程序初始化時讀取并生成相應的類;實現(xiàn)顯著性結(jié)構(gòu)打分方法構(gòu)建,為同一位置概念的不同顯著性結(jié)構(gòu)表達尋求一個最佳匹配結(jié)果。
本體建模工具使用的是protégé目前使用最為廣泛的本體編輯器,若同類多個地名描述文本中有一個地名描述比其他的地名描述更能體現(xiàn)此類地名概念,則稱此地名描述最顯著,即顯著性最高。自定義的語法語言將其描述,使用文本格式進行存儲,在程序初始化時被程序讀取,并生成相應的類。本文位置概念基礎(chǔ)詞匯和句法模式由分析大量案件位置描述總結(jié)而成。建立行政區(qū)劃、江川湖泊、道路、POI、地址等各類地名實體以及各類空間關(guān)系的基礎(chǔ)和實體位置概念
具體實施時,可以由該領(lǐng)域技術(shù)人員對現(xiàn)有自然語言文本數(shù)據(jù)分析獲取其描述語句,構(gòu)建位置描述模型,總結(jié)當前數(shù)據(jù)對應的概念顯著性結(jié)構(gòu)。由于一般的規(guī)則匹配結(jié)果存在許多不合理的或人們不常用的地名描述結(jié)構(gòu),為了對規(guī)則解析匹配結(jié)果進行優(yōu)化,需要在對象位置概念建模的基礎(chǔ)上進一步考慮人們對地名的認知情況與描述習慣,用自定義語法語言進行描述。如下為POI、地名和地址的顯著性結(jié)構(gòu)語法定義示例:
POI顯著性結(jié)構(gòu)語法定義示例:
SalientStruct POI_L1_1for POI
{SearchCondition:P_L1_1;//查詢條件
ObjectScoreFunction:EDistance();
ObjectFilterFunction:LCS(0.5,1,0.3);
};
SearchCondition P_L1_1for POI
{specialName;//特名
restrictions(class=GeoNameRestrictions|QualifierTypeRestrictions|OrderRestricti ons|PartRestrictions);//限定條件
};
上述代碼定義了POI的一個顯著性集合,SalientStruct表示POI_L1_1為顯著性結(jié)構(gòu),此顯著性結(jié)構(gòu)集合的名字定義為POI_L1_1,此類中包含了一個查詢條件P_L1_1和兩個約束性函數(shù):打分約束函數(shù)EDistance()與過濾約束函數(shù)LCS(0.5,1,0.3)。
在查詢條件P_L1_1中,定義了此顯著性結(jié)構(gòu)是由特名(specialName)和限定條件(restrictions)構(gòu)成。其中的限定條件又是由地名限定概念(GeoNameRestrictions)、修飾類型限定概念(QualifierTypeRestrictions)、順序限定概念(OrderRestrictions)和部分詞匯限定(PartRestrictions)組成。
地名顯著性結(jié)構(gòu)語法定義示例:
SalientStruct GeoName_G2_2for TraCityRoadName
{SearchCondition:G2_2;
ObjectScoreFunction:EDistance();
ObjectFilterFunction:LCS(0.5,1,0.3);};
SearchCondition G2_2for TraCityRoadName
{roadFeaWordRs;//道路特征詞
};
上述代碼定義了簡單地名中道路名概念TraCityRoadName的一個顯著性集合,SalientStruct表示GeoName_G2_2為顯著性結(jié)構(gòu),此顯著性結(jié)構(gòu)集合的名字定義為GeoName_G2_2,此類中包含一個查詢條件G2_2和兩個約束條件:打分約束條件EDistance()與過濾約束條件LCS(0.5,1,0.3)。在查詢條件G2_2中,定義了道路特征詞roadFeaWordRs。
地址顯著性結(jié)構(gòu)語法定義示例:
上述代碼定義了地址(AddressName)的一個顯著性集合,SalientStruct表示A_L2_4為顯著性結(jié)構(gòu),此顯著性結(jié)構(gòu)集合的名字定義為A_L2_4,此顯著性結(jié)構(gòu)是由類型為道路地址概念(RoadAds)的地址單元概念Ads構(gòu)成,其中,道路地址概念(RoadAds)的顯著性結(jié)構(gòu)又由ref標志后面的“roadAds_L1|roadAds_L2”決定,其中roadAds_L1、roadAds_L2是道路地址概念(RoadAds)顯著性結(jié)構(gòu)的查詢條件,控制了道路地址的結(jié)構(gòu)。而RoadAds又是由其他部分構(gòu)成,而其他部分有自己的顯著性結(jié)構(gòu),如此這樣,顯著性結(jié)構(gòu)是通過層次性的各類查詢條件一起決定的,這樣便能得到一個顯著性結(jié)構(gòu)集。
利用顯著性結(jié)構(gòu)對位置匹配進行篩選后,為進一步提高地名查詢效率與準確度,需要根據(jù)各個顯著性結(jié)構(gòu)的顯著程度對位置描述的詳細程度的結(jié)果集進行打分排序。地名、POI和地址的顯著性結(jié)構(gòu)順序依次為:地址、POI、地名。對于這三類中內(nèi)部顯著性結(jié)構(gòu)排序描述如下:
簡單地名概念顯著性結(jié)構(gòu)的順序:
簡單地名概念(SimpleGName)的顯著性結(jié)構(gòu)之間是按照此順序進行排序:專名&地名特征詞、專名。
例如:“湖北省”地名概念的顯著性結(jié)構(gòu)為“湖北”&“省”,其中“湖北”是專名,“省”是地名特征詞,而“湖北”地名概念的顯著性結(jié)構(gòu)為“湖北”,只有一個專名。所以,“湖北省”比“湖北”的組成結(jié)構(gòu)更完整,有效字符串的長度更長,故“湖北省”的顯著性結(jié)構(gòu)高于“湖北”的顯著性結(jié)構(gòu)。
POI顯著性結(jié)構(gòu)的順序:首先,含有特名的結(jié)構(gòu)顯著性最高,在含有特名的結(jié)構(gòu)中,成分越齊全的顯著性越高,其次,不含有特名的結(jié)構(gòu)常見的主要兩種:業(yè)務名&通名、通名,前者的顯著性要較后者高。
例如:“武漢華中會計事務公司”中“武漢”為地名,“華中”為特名,“會計”為業(yè)務名,“事務”為修飾詞,“公司”為通名。而“武漢會計事務公司”中只有地名“武漢”、業(yè)務名“會計”、修飾詞“事務”和通名“公司”。前者比后者的組成更完整,有效字符串的長度更長,故“武漢華中會計事務公司”的顯著性結(jié)構(gòu)高于“武漢會計事務公司”的顯著性結(jié)構(gòu)。
又例如:“東星國際旅行社西馬路門市部”中“東星”為特名,“國際”為修飾詞,“旅行社”為通名,“西馬路”為地名,“門市部”為信息輔助詞。而“東星國際旅行社”中只有特名“東星”、修飾詞“國際”和通名“旅行社”。前者比后者的組成更完整,有效字符串的長度更長,故“東星國際旅行社西馬路門市部”的顯著性結(jié)構(gòu)高于“東星國際旅行社”的顯著性結(jié)構(gòu)。
地址顯著性結(jié)構(gòu)的順序:
地址概念組成結(jié)構(gòu)富有層次性且復雜。首先,含有POI概念的地址顯著性最高,其次含有道路地址概念和小區(qū)地址概念。具體而言,地址概念的各類地址單元概念中,顯著性由高到低依次為:POI地址概念(POIAds)、道路地址概念(RoadAds)、小區(qū)地址概念(CommunityAds)、行政區(qū)地址概念(ADMAds)的TownAds、行政區(qū)地址概念的CountyAds;每類地址單元概念中可能包含門樓址概念(BuildingAds),即表中所謂的“編號”概念,包含門樓址的地址單元要比不包含門樓址的地址單元的顯著性高。
例如:“球場街解放大道1042號同慶閣社區(qū)四樓”中“球場街解放大道1042號”為道路地址,“同慶閣社區(qū)”為小區(qū)地址,“四樓”為二級門樓址?!扒驁鼋纸夥糯蟮?042號”中只有道路地址。前者比后者的組成更完整,有效字符串的長度更長,故“球場街解放大道1042號同慶閣社區(qū)四樓”的顯著性結(jié)構(gòu)高于“球場街解放大道1042號”。
同一位置概念模型根據(jù)人們的不同認知情況和描述習慣有不同的表達方式,對其描述的清晰度和顯著性也有差異,本發(fā)明借助打分函數(shù)對這些位置表述的顯著性和準確性進行量化評價,尋求出最能精確體現(xiàn)當前位置實體概念本體的描述方式。如下為構(gòu)建的顯著性打分函數(shù),每個代碼行的顯著性結(jié)構(gòu)相同,即顯著性一樣,上一代碼行的顯著性結(jié)構(gòu)的顯著性要大于下一行的顯著性結(jié)構(gòu),而每一行的顯著性結(jié)構(gòu)又通過有效字符串長度判斷函數(shù)scoreByComposeLength()來進行排序篩選的。
SalientStructPriority
{S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11:scoreByTextLength();
A_L0_1,A_L0_2:scoreByComposeLength();
A_L1_1,A_L1_2,A_L1_3,A_L1_4,A_L1_5,A_L1_6,A_L2_1,A_L2_2,A_L2_3,A_L2_4,A_L2_5,A_L2_6:scoreByComposeLength();
A_L3_1:scoreByComposeLength();
POI_L0_1:scoreByComposeLength();
POI_L1_1,POI_L1_2,POI_L1_3,GeoName_G1,GeoName_G2,GeoName_G3,GeoName_G4,GeoName_G5,GeoName_G6,GeoName_G7,GeoName_G8,GeoName_G9,GeoName_G10:scoreByComposeLength();
A_L4_1,A_L4_2,POI_L2_1,GeoName_G1_1,GeoName_G2_1,GeoName_G3_1,GeoName_G4_1,GeoName_G5_1,GeoName_G6_1,GeoName_G7_1,GeoName_G8_1,GeoName_G9_1,GeoName_G10_1:scoreByComposeLength();
POI_L3_1,GeoName_G1_2,GeoName_G2_2,GeoName_G3_2,GeoName_G4_2,GeoName_G5_2,GeoName_G6_2,GeoName_G7_2,GeoName_G8_2,GeoName_G9_2,GeoName_G10_2:scoreByComposeLength();
};
步驟2,自動化映射位置結(jié)構(gòu)概念本體生成規(guī)則類,每一條規(guī)則類對應一個位置實體概念本體,最終生成規(guī)則集合。具體實施時,將上述步驟1構(gòu)建的位置描述模型和顯著性結(jié)構(gòu)直接輸入使用。
位置概念本體代表與位置有關(guān)對象的基本組成和層次關(guān)系,分為位置基礎(chǔ)概念本體和位置實體概念本體,其中位置實體概念本體對應實際的空間實體或空間關(guān)系;位置結(jié)構(gòu)概念本體是對位置實體概念本體具體組成方式的句法模式表達,其代表了這個位置實體概念本體的組成規(guī)則;
步驟3,對規(guī)則集合進行分類,重新劃分為若干個規(guī)則組,形成規(guī)則檢索依賴圖。具體實施時,對輸入的位置描述模型生成Java規(guī)則類,如果出現(xiàn)新的規(guī)則,還需要繼續(xù)更新該規(guī)則。
“對規(guī)則集合進行分類”,分類依據(jù)是利用規(guī)則分組依賴圖,具體方法采取先對所有節(jié)點(每個節(jié)點對應一個規(guī)則集合)之間依賴關(guān)系(指上層的規(guī)則組中的與下層規(guī)則組中的存在交集,且上層的規(guī)則組中的與下層規(guī)則組中的不存在交集)建立節(jié)點,然后采用貪婪的形式建立規(guī)則組,通過規(guī)則組的依賴關(guān)系合并存在交叉依賴的規(guī)則組。
步驟4,以任意自然語言文本位置描述語句和原始的自然語言文本位置描述語句作為輸入,利用基于位置描述顯著性結(jié)構(gòu)的規(guī)則匹配算法進行匹配,通過打分排序完成位置信息的結(jié)構(gòu)化提取。具體實施時,利用上述步驟1構(gòu)建的位置描述模型和顯著性結(jié)構(gòu)以及生成的規(guī)則類作為處理對象。
請見圖2,實施例中,步驟4的顯著性結(jié)構(gòu)規(guī)則匹配算法包括以下子步驟:
步驟4.1:數(shù)據(jù)預處理;
獲取輸入的待匹配字符串S實例的原子概念集合W;具體實施時,步驟1輸入位置描述模型所對應的待匹配字符串S實例;
步驟4.2,進行規(guī)則匹配;
將作為位置基礎(chǔ)概念本體的S和原子概念集合W進行匹配,得出集合G。建立一維索引用于計算的實例圖索引I,便于消歧義處理;
步驟4.3,根據(jù)規(guī)則匹配生成匹配樹集,將匹配樹與相應概念的顯著性結(jié)構(gòu)進行選擇、過濾和查詢,獲取具備顯著特征的候選假對象?;诰邆滹@著性特征的候選假對象,對其進行概念集、感興趣類型、顯著性概念集合和顯著性結(jié)構(gòu)要求的判斷,獲取最終候選假對象實例并加入集合G中。
步驟4.4,通過上一步驟獲取具備顯著性特征的候選假對象,根據(jù)顯著性優(yōu)先級,依次對每個對象進行處理。獲取組合組內(nèi)假對象的顯著性結(jié)構(gòu)s,并創(chuàng)建用于存儲實例顯著性概念集合g。遍歷s獲取相應顯著性名稱所對應的實例顯著性概念對象ss。如果ss不為空,則繼續(xù)對其遍歷判斷是否精確符合顯著性結(jié)構(gòu)s,如果判斷結(jié)果不為空,將ss添加到實例顯著性概念集合g中。判斷g是否為空:如果不為空,再調(diào)用顯著性結(jié)構(gòu)評分函數(shù)(“顯著性結(jié)構(gòu)評分函數(shù)”是根據(jù)各個顯著性結(jié)構(gòu)的顯著程度和對位置描述的詳細程度對結(jié)果集編寫的一個打分排序函數(shù);簡單過程為:依據(jù)概念型分類和排序;同類概念的顯著性結(jié)構(gòu)之間再進行打分排序,分組相同時,根據(jù)匹配的有效字符串長度進行排序;),獲取假對象顯著性分數(shù)并排序。按照排序結(jié)果,查詢獲得真對象,得到最終結(jié)果。
實施例中,步驟4.3需要獲取具備顯著特征的候選假對象i加入到規(guī)則匹配圖中。先要遍歷G中源節(jié)點N,獲取N下的子節(jié)點n。如果n符合概念概念C(由兩部分形成:一部分為LO-Trie中查詢到的基礎(chǔ)概念對象,另一部分為規(guī)則匹配得出的實體概念對象。)要求,則被納入概念集類型f中;否則,繼續(xù)遍歷下一個節(jié)點;再判斷當前n的概念集類型f是否為感興趣類型。如果滿足,標識flag(flag表示判斷后結(jié)果存儲的地方)為true;否則默認為false;接著判斷概念集是否滿足顯著性概念集合。如果成立,繼續(xù)判斷f作為一個假對象是否滿足顯著性結(jié)構(gòu)條件,如果滿足條件,則作為候選假對象實例i,加入到規(guī)則匹配圖中;
實施例中,步驟4.4中調(diào)用顯著性結(jié)構(gòu)評分函數(shù)要先獲取顯著性概念集合g中每個實例作為顯著性結(jié)構(gòu)的假對象;再對符合組內(nèi)顯著性結(jié)構(gòu)的假對象進行評分得到scores,每個假對象對應一個顯著性結(jié)構(gòu);最后將scores存儲在分數(shù)集合M中。
實施例中,步驟4.4中按照排序結(jié)果查詢獲得真對象要先遍歷M中元素,選取當前位置對應的g中元素實例i,要求i的概念集f不能與現(xiàn)有完成段有任何沖突。再定義雙列集合p存放參數(shù),將當前顯著性結(jié)構(gòu)放入其中。采用裁剪對象進行查詢,如果查過為空,說明該實例不滿足要求,并獲得最高分數(shù)作為實例i的分數(shù),同時將假對象及與其沖突的對象移除。
本實施例的簡單地名、POI和郵政地址顯著性結(jié)構(gòu)請見表1,郵政地址概念顯著性結(jié)構(gòu)排序結(jié)構(gòu)請見表2;
表1簡單地名、POI和郵政地址顯著性結(jié)構(gòu)
表2郵政地址概念顯著性結(jié)構(gòu)排序結(jié)構(gòu)
應當理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術(shù)。
應當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應以所附權(quán)利要求為準。