Python實(shí)現(xiàn)數(shù)據(jù)地址實(shí)體抽取
一、數(shù)據(jù)地址實(shí)體抽取的目的及問題
對(duì)數(shù)據(jù)的地址進(jìn)行實(shí)體識(shí)別,主要作用是確定我們的數(shù)據(jù)主體最終可以歸到哪一行政單位,從而在各行政單位上對(duì)數(shù)據(jù)主體的歸屬問題進(jìn)行判斷。
因何原因使用實(shí)體抽?。?/p>
例如原始數(shù)據(jù)所提供的信息為**省**市(地級(jí))**市(縣級(jí))**鎮(zhèn),數(shù)據(jù)處理上,要對(duì)數(shù)據(jù)的省、地級(jí)市、縣級(jí)市等信息進(jìn)行單獨(dú)抽取。
上述為標(biāo)準(zhǔn)的提供數(shù)據(jù),但有時(shí)會(huì)出現(xiàn):**省**市(縣級(jí)市),或者**市(縣級(jí)),這時(shí)候就要對(duì)數(shù)據(jù)進(jìn)行補(bǔ)齊工作,補(bǔ)充該縣級(jí)市所屬的地級(jí)市、省。
其次,還有寫出**省**市(地級(jí)市)的情況,沒有寫明縣級(jí)市,如果以縣級(jí)市進(jìn)行對(duì)其,非實(shí)體抽取方式可能會(huì)將地級(jí)市與省份信息后移一位。
二、方法一:調(diào)用ahocorasick庫
ahocorasick是個(gè)python模塊,Aho-Corasick算法是多模式匹配中的經(jīng)典算法,目前在實(shí)際應(yīng)用中較多。
ahocorasick安裝:
1、確定安裝VC++,安裝后,在模塊選擇里勾選Visual Studio Build Tools里面的C++ Build Tools
2、執(zhí)行pip安裝命令
pip install pyahocorasick
(若該方法安裝失敗,可嘗試CSDN中其他安裝方法)
ahocorasick使用:
若直接使用,會(huì)出現(xiàn)如下問題:
ahocorasick并沒有對(duì)數(shù)據(jù)進(jìn)行補(bǔ)全的功能,若原數(shù)據(jù)對(duì)子數(shù)據(jù)有確實(shí),無法進(jìn)行補(bǔ)齊,如內(nèi)蒙古自治區(qū)——磴口縣與內(nèi)蒙古自治區(qū)——巴彥淖爾市——磴口縣。后者數(shù)據(jù)符合要求,可分級(jí)進(jìn)行存儲(chǔ),但前者地級(jí)市數(shù)據(jù)丟失。
解決方法:
1、僅將最后一級(jí),如縣級(jí)市作為關(guān)鍵字,對(duì)關(guān)鍵字進(jìn)行查找,若關(guān)鍵詞存在,通過關(guān)鍵詞數(shù)據(jù)集向上補(bǔ)齊地級(jí)市與省份關(guān)鍵字,若不存在,則定為空。
2、若縣級(jí)市關(guān)鍵詞不存在,則將其縣級(jí)市位置信息定為空,再將非空數(shù)據(jù)進(jìn)行標(biāo)記。
3、僅將地級(jí)市作為關(guān)鍵字,對(duì)具有標(biāo)記的數(shù)據(jù)進(jìn)行關(guān)鍵字查找,查找后再向上進(jìn)行補(bǔ)齊。
4、以此類推,將其余省份信息進(jìn)行補(bǔ)齊
該方法可參考,但不推薦,較為麻煩,且具有隱患。
三、方法一:調(diào)用cpca庫
1、安裝cpca庫
pip指令執(zhí)行:
pip install cpca
2、cpca庫使用方法
import cpca information=['內(nèi)蒙古自治區(qū)呼倫貝爾市牙克石市民生B區(qū)','賽罕區(qū)大學(xué)西路街道內(nèi)蒙古大學(xué)','回民區(qū)北二環(huán)路內(nèi)蒙古財(cái)經(jīng)大學(xué)','北京海淀區(qū)','河北深州市' ] s=cpca.transform(information) print(s)
3、執(zhí)行結(jié)果
注:cpca第三方庫只會(huì)精確到縣級(jí)市,縣級(jí)市后均為地址
總結(jié)
到此這篇關(guān)于Python實(shí)現(xiàn)數(shù)據(jù)地址實(shí)體抽取的文章就介紹到這了,更多相關(guān)Python地址實(shí)體抽取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)戰(zhàn)練習(xí)做一個(gè)隨機(jī)點(diǎn)名的程序
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)一個(gè)隨機(jī)點(diǎn)名的程序,大家可以在過程中查缺補(bǔ)漏,提升水平2021-10-10python使用numpy實(shí)現(xiàn)直方圖反向投影示例
今天小編就為大家分享一篇python使用numpy實(shí)現(xiàn)直方圖反向投影示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01python OpenCV實(shí)現(xiàn)答題卡識(shí)別判卷
這篇文章主要為大家詳細(xì)介紹了python OpenCV實(shí)現(xiàn)答題卡識(shí)別判卷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06python實(shí)現(xiàn)的守護(hù)進(jìn)程(Daemon)用法實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)的守護(hù)進(jìn)程(Daemon)用法,實(shí)例分析了Python進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06pandas按行按列遍歷Dataframe的三種方式小結(jié)
本文主要介紹了pandas按行按列遍歷Dataframe,主要介紹了三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11Python基于正則表達(dá)式實(shí)現(xiàn)文件內(nèi)容替換的方法
這篇文章主要介紹了Python基于正則表達(dá)式實(shí)現(xiàn)文件內(nèi)容替換的方法,涉及Python文件、目錄及字符串正則替換等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08