基于字符串匹配的身份證住址信息解析方法及系統的制作方法
【技術領域】
[0001]本發明涉及到計算機工程技術應用領域,更具體地,是基于字符串匹配的身份證住址信息解析技術方案。
【背景技術】
[0002]二十一世紀是信息化的時代,為了使人們的生活越來越智能化、互聯化,個人信息數字化網絡化是必要的一步。居民身份證作為居民最主要的身份象征,對于人員活動標識具有重要意義,基于此的用戶信息分析對于用戶體驗及居民安全更具有重大意義。而通過身份證獲取居民住址信息則是數字化個人信息的一個重要應用。
[0003]身份證住址信息解析系統首先讀入用戶身份證信息,然后根據身份證信息獲取用戶所在的省、市、縣以及詳細住址等信息。現有的身份證住址解析系統可以分為兩大類,一類是簡單式的,一類是復雜式的。
[0004]簡單式的身份證住址解析系統就是讀取身份證號碼,然后根據身份證號碼的前六位進行解析:其中前兩位為省份代碼,后四位為市縣代碼。根據目前已有身份證代碼大全表,可以獲得任何身份證所包含的省市直至縣區信息。這種方式最大的優點就是實現簡單,主要問題是身份證號碼所包含的住址信息對應出生所在地,而不是當前實際住址,因此并不是很準確。
[0005]復雜式的身份住址解析系統就是通過直接解析身份證里面的住址信息獲取省市縣信息,從而得到當前戶口所在地信息。這種方式可以準確定位到當前戶口所在地,但由于住址信息字段的不規則性,地址解析復雜度高,現有系統無法可靠高效地解析身份證住址
?目息O
[0006]因此現在實際用戶信息分析工作中,常常需要依賴人工一一查證處理,尤其是在涉及海量人口信息數據時,缺乏有效地技術手段。
【發明內容】
[0007]本發明解決的技術問題在于:正確處理不規整身份證住址信息,快速準確的解析出身份證住址信息中的省市縣信息,從而得到其對應的代號和規范化地址。
[0008]本發明進一步解決的問題在于:在保證數據可靠的基礎上,大幅度提高數據同步的效率。
[0009]本發明進一步解決的問題在于:大幅度提高在復雜情況及大數據量下的身份證地址解析的準確率及效率。
[0010]本發明的技術方案提供一種基于字符串匹配的身份證住址信息解析方法,包括以下步驟,
步驟1,首先獲得全國省市縣區及其對應代碼,作為初始的地址條目進行規整化處理,包括將省市縣及區進行分離,規整后的地址代碼條目持久存入數據庫中;
步驟2,初始化,包括將數據庫中所有規整化的地址代碼條目讀入存儲介質中,對每個地址代碼條目同時用兩種映射方式存儲,一種是設從高級到低級依次為省、市、縣、區,取地址代碼條目中最低級別的字段與代碼的字典映射,記為映射A ;另一種是代碼到省市縣全稱的映射,記為映射B ;
步驟3,讀入一條身份證住址信息的字符串;
步驟4,對當前讀入的這條身份證住址信息的字符串進行處理,只保留區、縣和市相應關鍵字,得到關鍵ig息串;
步驟5,設從低級到高級依次為區、縣、市,將步驟4所得關鍵信息串從低級到高級依次進行匹配截取,包括以下子步驟,
步驟5.1,從關鍵信息串中,提取最低級的子串;
步驟5.2,將當前所取子串與存儲介質中的規整化地址代碼條目進行查詢匹配,
如果匹配成功則根據映射A返回對應的代碼,結束對當前讀入的這條身份證住址信息匹配結果,根據映射B由代碼檢索到相應規范的省市縣全稱,結束本步驟進入步驟6 ;否則進入步驟5.3 ;
步驟5.3,舍棄當前的子串,從關鍵信息串中,按照區、縣、市的順序,提取高一級的子串,
如果提取失敗,匹配失敗,結束本步驟進入步驟6 ;
如果提取成功則返回執行步驟5.2,直到匹配成功或匹配失敗;
步驟6,如果還需繼續進行身份證地址解析,返回步驟3讀入下一條身份證住址信息的字符串進行處理,否則結束流程。
[0011]本發明還相應提供一種基于字符串匹配的身份證住址信息解析系統,包括以下模塊,
代碼存儲模塊,用于首先獲得全國省市縣區及其對應代碼,作為初始的地址條目進行規整化處理,包括將省市縣及區進行分離,規整后的地址代碼條目持久存入數據庫中;
初始化模塊,用于將數據庫中所有規整化的地址代碼條目讀入存儲介質中,對每個地址代碼條目同時用兩種映射方式存儲,一種是設從高級到低級依次為省、市、縣、區,取地址代碼條目中最低級別的字段與代碼的字典映射,記為映射A ;另一種是代碼到省市縣全稱的映射,記為映射B ;
信息輸入模塊,用于讀入一條身份證住址信息的字符串;
關鍵信息提取模塊,用于對當前讀入的這條身份證住址信息的字符串進行處理,只保留區、縣和市相應關鍵字,得到關鍵信息串;
分級匹配模塊,設從低級到高級依次為區、縣、市,將關鍵信息提取模塊所得關鍵信息串從低級到高級依次進行匹配截取,包括以下子模塊,
初始子串提取子申吳塊,用于從關鍵?目息串中,提取最低級的子串;
查詢匹配子模塊,用于將當前所取子串與存儲介質中的規整化地址代碼條目進行查詢匹配,
如果匹配成功則根據映射A返回對應的代碼,結束對當前讀入的這條身份證住址信息匹配結果,根據映射B由代碼檢索到相應規范的省市縣全稱,結束分級匹配模塊工作,命令迭代判斷模塊工作;
否則命令子串更新子模塊工作; 子串更新子模塊,用于舍棄當前的子串,從關鍵信息串中,按照區、縣、市的順序,提取尚一級的子串,
如果提取失敗,匹配失敗,結束分級匹配模塊工作,命令迭代判斷模塊工作;
如果提取成功則命令查詢匹配子模塊工作,直到匹配成功或匹配失敗;
迭代判斷模塊,用于判斷如果還需繼續進行身份證地址解析,命令信息輸入模塊讀入下一條身份證住址信息的字符串進行處理,否則結束系統工作。
[0012]本發明是通過提取身份證的住址信息,與已有數據匹配,從而實現身份證住址信息解析。本發明的優點在于:
(1)本發明利用了現有的省市縣代碼數據,能夠非常有效可靠地自動獲取詳細的省市縣信息,節約大量人力勞動;
(2)本發明使用字符串關鍵信息提取方法,解決了身份證住址信息不規整的問題,防止數字化個人信息出現誤差,影響后續應用;
(3)本發明實現簡單,所需的計算處理資源少,同時能保證正確獲取居民身份證住址規整信息,是低成本高效率的技術方案。
【附圖說明】
[0013]圖1是本發明實施例的基本流程圖。
【具體實施方式】
[0014]
本發明解決了身份證住址信息的不規整性問題,確保能身份證住址信息解析的可靠性,提高了復雜式省市縣信息自動獲取的準確率及效率。為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施案例,并參照附圖,對本發明進一步詳細說明。
[0015]本發明實施例采用的技術方案中,可以預先將市縣信息及對應代碼整體存入數據庫,將獲取的身份證住址信息進行市縣提取然后與數據庫中數據進行對比,從而達到身份證住址信息解析的目的,實現過程主要包含如下步驟:
(1)將全國各省市縣信息及其對應的代碼進行處理后存入數據庫,做持久保存;
(2)將數據庫的省市縣和代碼信息加載到存儲介質,建議采用高速存儲介質,包括但不局限于計算機內存、處理器的片上靜態存儲器、處理器的緩存等,以提高匹配速度;
(3)讀入一條包含身份證住址信息的字符串;
(4)將身份證住址信息進行解析,獲取市縣信息;
(5)將獲取到的市縣信息與高速存儲介質中的省市縣信息進行匹配,如果匹配某一條目,則返回該條目的代碼和對應的省市縣信息;
(6)連續進行步驟(3)到步驟(5)對下一條包含身份證住址信息的字符串進行處理,從而解析所有輸入身份證的住址信息。
[0016]考慮到身份證住址信息解析的典型案例存在以下幾種情況:
1.標準型:XX省XX市(X