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