当前位置:主页 > 软件编程 > Python代码 >

Python实现数据地址实体抽取

时间:2023-02-26 08:35:19 | 栏目: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第三方库只会精确到县级市,县级市后均为地址

总结

您可能感兴趣的文章:

相关文章