Python实现数据地址实体抽取
作者:叫我小鱼就好 发布时间:2022-12-03 00:23:18
一、数据地址实体抽取的目的及问题
对数据的地址进行实体识别,主要作用是确定我们的数据主体最终可以归到哪一行政单位,从而在各行政单位上对数据主体的归属问题进行判断。
因何原因使用实体抽取:
例如原始数据所提供的信息为**省**市(地级)**市(县级)**镇,数据处理上,要对数据的省、地级市、县级市等信息进行单独抽取。
上述为标准的提供数据,但有时会出现:**省**市(县级市),或者**市(县级),这时候就要对数据进行补齐工作,补充该县级市所属的地级市、省。
其次,还有写出**省**市(地级市)的情况,没有写明县级市,如果以县级市进行对其,非实体抽取方式可能会将地级市与省份信息后移一位。
二、方法一:调用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第三方库只会精确到县级市,县级市后均为地址
来源:https://blog.csdn.net/qq_39753433/article/details/122774654


猜你喜欢
- 如:http://localhost/newurl/WebForm1.aspx 1.方法document.URL(注意大小写) 结果是:ht
- 内容摘要:在本人上一篇教程《彻底弄懂CSS盒子模式五(定位强化练习) 》有讲到一个很酷的链接面板提示的实例制作,那时主要是用到di
- 我们在编写Python爬虫时,有时会遇到网站拒绝访问等反爬手段,比如这么我们想爬取蚂蚁短租数据,它则会提示“当前访问疑似黑客攻击,已被网站管
- 前言 其实这个问题困扰我有一段时间,相信也有人和我一样有这个困扰,网上已有很多这种解释了,但是要么就
- 日期包常用函数time.Now(): 获取当前时间package mainimport ( "fmt&q
- 基于bootstrap插件实现autocomplete自动完成表单,提供脚本代码,用例,以及后台服务端(php), 原文有些没说清楚的地方,
- 目录前言什么是 VueUse简单上手还有我们熟悉的 防抖 和 节流还还有全局状态共享的函数更多前言上次在看前端早早聊大会中, 尤大大再一次提
- 可能是IP没设置好问题:MySQL权限设置正确,但仍无法远程访问。通过telnet发现3306端口未打开。分析:MySQL默认只绑定127.
- 总结了一下使用Python对xml文件的解析,用到的模块儿如下:分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定
- 通常操作系统和软件开发包中都包含文本编辑器,可以用来编辑配置文件,文档文件和源代码。下面是笔者总结的10个最好的免费代码文本编辑器:1.NO
- 本周SELECT b.item,IFNULL(a.COUNT,0) AS VALUEFROM ( SEL
- 前言相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了
- 1.原始数据是这样的2.脚本如下:import pandas as pddf = pd.read_excel(r'E:\untitl
- Keras提供了一些用ImageNet训练过的模型:Xception,VGG16,VGG19,ResNet50,InceptionV3。在使
- 我要一大群的类都具有一 * 点,我怎么给他们加上呢?模板模板吗,我从这个模板创建一群类不就OK了?那就需要元类了。霍霍》 定义一个元类(就所一
- 如下所示:#tensorflow 中从ckpt文件中恢复指定的层或将指定的层不进行恢复:#tensorflow 中不同的layer指定不同的
- 本文实例讲述了Python实现计算字符串中出现次数最多的字符。分享给大家供大家参考,具体如下:1. 看了网上挺多写的方法都没达到我所需要的效
- 微信扫码支付分为两种模式,模式一比较复杂,需要公众号配置回调地址。模式二比较简单,只需要在代码中配置回调地址就可以了。我这次使用的是模式二。
- PyQt5窗口布局控件QStackedWidget介绍QTackedWidget是一个堆栈窗口控件,可以填充一些小控件,但是同一时间只有一个
- 首先第一步,打开文件,有两个函数可供选择:open() 和 file()①. f = open('file.txt