Python实现数据地址实体抽取
一、数据地址实体抽取的目的及问题
对数据的地址进行实体识别,主要作用是确定我们的数据主体最终可以归到哪一行政单位,从而在各行政单位上对数据主体的归属问题进行判断。
因何原因使用实体抽取:
例如原始数据所提供的信息为**省**市(地级)**市(县级)**镇,数据处理上,要对数据的省、地级市、县级市等信息进行单独抽取。
上述为标准的提供数据,但有时会出现:**省**市(县级市),或者**市(县级),这时候就要对数据进行补齐工作,补充该县级市所属的地级市、省。
其次,还有写出**省**市(地级市)的情况,没有写明县级市,如果以县级市进行对其,非实体抽取方式可能会将地级市与省份信息后移一位。
二、方法一:调用ahocorasick库
ahocorasick是个python模块,Aho-Corasick算法是多模式匹配中的经典算法,目前在实际应用中较多。
ahocorasick安装:
1、确定安装VC++,安装后,在模块选择里勾选Visual Studio Build Tools里面的C++ Build Tools
2、执行pip安装命令
pip install pyahocorasick
(若该方法安装失败,可尝试CSDN中其他安装方法)
ahocorasick使用:
若直接使用,会出现如下问题:
ahocorasick并没有对数据进行补全的功能,若原数据对子数据有确实,无法进行补齐,如内蒙古自治区——磴口县与内蒙古自治区——巴彦淖尔市——磴口县。后者数据符合要求,可分级进行存储,但前者地级市数据丢失。
解决方法:
1、仅将最后一级,如县级市作为关键字,对关键字进行查找,若关键词存在,通过关键词数据集向上补齐地级市与省份关键字,若不存在,则定为空。
2、若县级市关键词不存在,则将其县级市位置信息定为空,再将非空数据进行标记。
3、仅将地级市作为关键字,对具有标记的数据进行关键字查找,查找后再向上进行补齐。
4、以此类推,将其余省份信息进行补齐
该方法可参考,但不推荐,较为麻烦,且具有隐患。
三、方法一:调用cpca库
1、安装cpca库
pip指令执行:
pip install cpca
2、cpca库使用方法
import cpca
information=['内蒙古自治区呼伦贝尔市牙克石市民生B区','赛罕区大学西路街道内蒙古大学','回民区北二环路内蒙古财经大学','北京海淀区','河北深州市' ]
s=cpca.transform(information)
print(s)
3、执行结果
注:cpca第三方库只会精确到县级市,县级市后均为地址
总结
到此这篇关于Python实现数据地址实体抽取的文章就介绍到这了,更多相关Python地址实体抽取内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341