CN113536070A - 一种地址解析方法、系统、计算机设备和存储介质 - Google Patents
一种地址解析方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113536070A CN113536070A CN202110920811.3A CN202110920811A CN113536070A CN 113536070 A CN113536070 A CN 113536070A CN 202110920811 A CN202110920811 A CN 202110920811A CN 113536070 A CN113536070 A CN 113536070A
- Authority
- CN
- China
- Prior art keywords
- data
- administrative division
- address
- dictionary
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 44
- 230000011218 segmentation Effects 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 230000008859 change Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013079 data visualisation Methods 0.000 claims description 13
- 238000002360 preparation method Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 230000002354 daily effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000003442 weekly effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种地址解析方法、系统、计算机设备和存储介质,对原始数据进行数据处理,得到地址数据集,其中,地址数据集包括数值数据和文本数据,对数值数据进行解析,得到行政区划编码,对文本数据进行分词处理,得到分词短语,通过预置的行政区划字典,对行政区划编码和分词短语进行匹配,从而可以快速准确得到地址信息。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种地址解析方法、系统、计算机设备和存储介质。
背景技术
随着互联网技术的高速发展,经济活动日趋频繁,逐步催生出了各种新的经济形态,尤其是电子商务、互联网金融、快寄物流等行业的发展,累积产生了海量的非结构化地址数据。
地址解析技术被认为是大量业务数据GIS实现可视化定位和空间分析的桥梁。中文地址通常是自然语言描述的非结构化文本,其中隐含了区域隶属关系和空间位置关系等语义信息。如果能将中文地址中的语义信息解析出来并将不符合标准的中文地址统一规范化,这对金融、互联网等众多行业的研发工作有着重要的意义。在企业服务领域更是如此,其中与经济活动密切相关的商事服务行业,人们迫切需要对海量企业工商注册地址数据进行解析,进而挖掘某一区域潜在的商业价值。
目前现有的企业工商注册地址解析系统,主要分为基于规则和基于统计的两类方法。基于规则的方法主要是利用匹配字典对中文地址分词,同时根据地址结构利用状态机等方法识别地址要素。但是在实际应用中,系统识别率严重依赖字典规模,且处理速度较慢,不适合海量数据的处理。基于统计的方法是从训练数据中自动学习地址和地址要素的构成特征,但缺点是构建训练数据工作量大,模型对数据依赖性较强。。
发明内容
基于此,有必要针对上述技术问题,提供一种地址解析方法、系统、计算机设备和存储介质。
第一方面,提供一种地址解析方法,所述方法包括:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
在其中一个实施例中,所述对原始数据进行数据处理,得到地址数据集,包括:
获取所述原始数据,所述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,所述原始数据中含有中文地址信息;
对所述原始数据进行标准化处理,得到所述地址数据集。
在其中一个实施例中,所述对所述数值数据进行解析,得到行政区划编码,包括:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
在其中一个实施例中,所述方法还包括:
将得到的所述地址信息导入汇总数据库;
根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
在其中一个实施例中,所述预置的行政区划字典包括:省级行政区划字典、市级行政区划字典、县级行政区划字典、变更行政区划字典、省级行政区划字典中的行政区划的编码字典、市级行政区划字典中的行政区划的编码字典、县级行政区划字典中的行政区划的编码字典、变更行政区划字典中的行政区划的编码字典;其中,所述变更行政区划字典中的行政区划的编码字典还对应现行行政区划名称。
第二方面,提供一种地址解析系统,所述系统包括:
数据处理模块,用于对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
解析模块,用于对所述数值数据进行解析,得到行政区划编码;
分词处理模块,用于对所述文本数据进行分词处理,得到分词短语;
匹配模块,用于通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
第三方面,提供一种地址解析系统,所述系统包括:数据准备层、数据明细层、数据汇总层、数据集市层、数据应用层、数据备份集群、数据监控系统、Kettle集群和ElasticSearch群集;
所述数据准备层与所述数据明细层连接,所述数据明细层与所述数据汇总层连接,所述数据汇总层与所述数据集市层连接,所述数据集市层与所述数据应用层连接,所述数据明细层与所述Kettle集群连接,所述Kettle集群与所述数据汇总层连接,所述数据集市层与所述ElasticSearch群集连接,所述ElasticSearch群集与所述数据应用层连接;
所述数据应用层包括搜索引擎服务、数据接口服务和数据可视化;所述搜索引擎服务与所述数据接口服务连接,所述数据接口服务与所述数据可视化连接。
在其中一个实施例中,所述数据备份集群为布署备份所需各类数据的数据库;所述数据库包括结构化、半结构化和非结构化的数据库。
第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现以下步骤:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
上述地址解析方法、系统、计算机设备和存储介质,对原始数据进行数据处理,得到地址数据集,其中,地址数据集包括数值数据和文本数据,对数值数据进行解析,得到行政区划编码,对文本数据进行分词处理,得到分词短语,通过预置的行政区划字典,对行政区划编码和分词短语进行匹配,得到地址信息。其中,预置行政区划字典,该行政区划字典是融合自然语言文本和地址编码信息,生成涵盖地名、别名、简称、地址空间关系、地理信息、电信区号以及邮政编码的行政区划字典。在此基础上,利用该预置行政区划字典,对原始数据的质量不敏感,可准确高效对地址进行解析。
附图说明
图1为一个实施例中地址解析方法的流程示意图;
图2为一个实施例中匹配预置文本词典的流程示意图;
图3为一个实施例中地址解析的流程示意图;
图4为另一个实施例中采用Trie树来实现字典的存储与检索的示意图;
图5为一个实施例中地址解析系统的结构框图;
图6为一个实施例中地址解析系统的架构图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种地址解析方法,包括以下步骤:
步骤101,对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
可选地,对所述原始数据进行标准化处理,得到所述地址数据集。
在本发明实施例中,每一天收集的原始数据均汇入日更新数据库,根据业务需求对日更新数据库内的所有字段进行数据处理,得到地址数据集。
可选地,原始数据会自动同步至大数据hadoop集群的hdfs文件系统,并按照日期顺序存储。hdfs上的原始数据通过spark集群读入内存,并构建弹性分布式数据集RDD(Resilient Distributed Dataset),将.dat格式的文件在内存中转换成dateframe格式,并按工商总局发布的企业信息工商登记规范进行标准化处理,包括利用正则表达式对原始数据按数据类型进行数据提取,进行字符编码转换、去除噪声等工作后,得到数值数据和文本数据。为了便于理解,此处举例说明,原始数据为“上海市宝山区新沪路250号”,利用正则表达式对原始数据按数据类型进行数据提取,得到文本数据“上海市宝山区新沪路号”和“250”。其中,上海市宝山区新沪路号为文本数据,250为数值数据。
可选地。上述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,上述各数据中均含有中文地址信息。
步骤102,对所述数值数据进行解析,得到行政区划编码;
本发明实施例中,预先构建了一个地址解析模型,该地址解析模型融合中文自然语言文本和地址编码,主要包括预置行政区划字典、中文地址分词、省市名称匹配和行政区划编码解析四部分,包含的信息有省、市、县三级行政区划名称及数字编码、行政区划变更记录、经纬度地理信息、电信区号等信息。利用该地址解析模型对数值数据进行解析,得到行政区划编码。
步骤103,对所述文本数据进行分词处理,得到分词短语;
其中,利用地址解析模型对文本数据进行分词处理,得到分词短语。
在本发明实施例中,当文本数据包含中文地址,按照全模式分词形式,对文本数据中包含的中文地址进行分词。例如:北京市海淀区温泉镇 --> 北京/北京市/海淀/海淀区/温泉/温泉镇。其中,如果分词短语小于两个字,则过滤掉(['路','镇','街','乡'] 等特征字除外),若所处理短语的下一个字是['路','镇','街','乡']之一,则跳过该短语。此外,过滤一些停止词,如郊区、城区、新城区等。之后按分词短语长度降序排列。例如:[北京,北京市,海淀,海淀区,温泉,温泉镇],降序排列后为 [北京市,海淀区,温泉镇,北京,海淀,温泉]。
可选地,将所有词放入一个列表中。根据隐马尔可夫模型,将中文词汇按照BEMS的4个状态来标记,B是开始Begin位置,E是End结束位置,M是Middle中间位置,S是 Single单独成词的位置,即采用了状态为(B,E,M,S)这4种状态来标识中文词语。比如,北京可以标注为BE,即“北[B]京[E]”,表示“北”是开始位置,“京”是结束位置,“北京市”可以标注为[BME],就是开始、中间、结束。给定一个待分词的句子,即观察序列,对HMM(BEMS)的4种状态的模型,为了找到一个最佳的BEMM序列,则需要使用viterbi算法来得到这个最佳的隐状态序列。通过在已标注的语料库上训练,得到状态转移概率和发射概率,运用viterbi算法,可以得到一个概率最大的BEMS序列,按照B开头,E结尾的方式,对待分词的句子重新组合,则得到了分词结果。用此方法,可以将地址数据粗分成待匹配字词。如果分词短语小于两个字,则过滤掉(['路','镇','街','乡'] 等特征字除外),以及分词短语末尾一个字是['路','镇','街','乡']之一,则跳过该短语。此外,还需过滤一些停止词,如郊区、城区、新城区等,分词短语降序排列等操作,以便于将切分后的地址数据放入Trie树中进行模糊匹配得到相应行政区域地址。
步骤104,通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
其中,预置行政区划字典是为确保地址词汇的切分粒度,根据全国现有及历年变更的省(含直辖市)、市、县三级行政区划名称,自定义词典以增加准确性。
具体地,自定义省级词典(含四个直辖市),[“province” ]。自定义市级词典,{“city”key: “province”value} 。市级词典中有市级行政区划和直辖市的区级区划。自定义县级词典,{“county”key: [“province”,“city”]value} 。自定义变更词典,{“old_name”key:[[“new_name”,“province”,“city”]]value}。变更词典中包括市级行政区划、直辖市的区级区划、旧名称和新名称。其中,变更名旧名称可能存在一个、两或多个。假设旧名称有2个,则自定义变更词典形式为: {“old_name”:[[“new_name”,“province”,“city”],“old_name”:[[“new_name”,“province”,“city”]]]} 。
在本发明实施例中,匹配过程主要为:
遍历排序后的分词表,先在省级区划词典中查找,进行省级匹配以确定省份信息;若未匹配成功,则在市级区划词典中查找,进行市级匹配;市级匹配成功则返回省市信息。
若省级区划名称已确定,市级区划名称未匹配成功,则在县级区划词典中反查省市名称,并核对县级词典中的省份名称是否与已知省份信息一致,一致则更新市级区划信息,否则置空市级字段。
若仍未匹配成功,则在变更词典中查找,如果找到旧名称,查看旧名变更次数,如果变更次数为一,则反查省市信息;若省级区划名称已确定,则核对县级变更词典中的省份名称是否与已知省份一致,一致则更新市级区划信息,否则将市字段清空。若变更次数大于一次,查看第一次和第二次之间所对应的省市是否相同,如果相同找对应的省市。若省级区划名称已确定,则核对县级变更词典中的省份名称是否与已知省份一致,一致则更新市级区划信息,否则将市字段清空。如果第一次和第二次之间所对应的省市不相同,则不进行匹配。
其中,如图2所示,为匹配预置文本词典的流程。若仅省级区划名称匹配成功,但是数据库中的省份字段为空,则更新省份字段;否则,不更新省份字段。若仅市级区划名称匹配成功但是数据库中的城市字段为空,则更新城市字段。若省市区划名称均匹配成功,则核对市级词典是否正确,如果数据库中省市两个字段的信息为空,则更新为空的字段信息。若无法在市级词典中核对,则两个字段都置为空。
上述地址解析方法,对原始数据进行数据处理,得到地址数据集,其中,地址数据集包括数值数据和文本数据,对数值数据进行解析,得到行政区划编码,对文本数据进行分词处理,得到分词短语,通过预置的行政区划字典,对行政区划编码和分词短语进行匹配,得到地址信息。其中,预置行政区划字典,该行政区划字典是融合自然语言语本和地址编码信息,生成涵盖地名、别名、简称、地址空间关系、地理信息、电信区号以及邮政编码的行政区划字典。在此基础上,利用该预置行政区划字典,对原始数据的质量不敏感,可准确高效对地址进行解析。
可选地,在一个实施例中,步骤S102所述对所述数值数据进行解析,得到行政区划编码,包括:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
在本发明实施例中,注册号和社会统一信用代码都有一套完整的编码规则。这类数值型的数据处理起来相对容易一些,查找行政区划代码对照表便可以解决,但需单独处理变更和停用的行政区划代码。行政区划代码,可参考《中华人民共和国行政区划代码》中的十个成文标准,这个标准是以6位码长阿拉伯数字每2位码长数字分别表示我国第一级省级行政区划(涵盖省、自治区、直辖市和特别行政区)、第二级地级行政区划(涵盖省辖行政区、地级市、自治州、地区、盟)、第三级县级行政区划(涵盖直辖市和地级市的市辖区、地级市辖特区、林区、矿区、工矿区、工农区、县、县级市、自治县、旗、自治旗、县级镇、岛礁及其海域)和《县以下行政区划代码编制规则》。
如图3所示,为地址解析的流程示意图。取出数据,得到原始数据。对原始数据进行数据处理,得到地址数据集,其中,地址数据集包括数值数据和文本数据。判断是否为文本,对于文本进行分词处理,得到分词短语。对于不是文本的数值数据,判断该数值数据是否为注册号,若为注册号,则根据注册号得到行政区划编码。通过预置的行政区划字典,对行政区划编码和/或分词短语进行匹配,得到地址信息。若不为注册号,则判断是否为社会信用代码。若为社会信用代码,则根据社会信用代码得到行政区划编码。通过预置的行政区划字典,对行政区划编码和/或分词短语进行匹配,得到地址信息。
在本发明实施例中,在自然语言处理中,经常采用Trie树来实现字典的存储与检索,是一种有效的数据检索组织结构。它的每个节点代表一个状态,在词典中这些状态包括“根节点”、“子节点”、“节点值”,如图3所示。
图4中,双数组Trie树的每个节点包含2个数组构成,是Trie树的一个简单有效的实现。在行政区划域树中,为了使地址信息能够提供不同层级的反查功能,标注了2个数组:name[],code[]。设每个节点下一级为child,当其值name=’null’,code=’’时,表示该位置为空。如果code为行政区域编码,表示该状态为地址,对应name表示编码的具体地址值。利用行政区划编码的层级结构来实现上下层级的查找功能。地址要素前3级采用Trie树型结构的标准化数据查找方法来解析地址所在的行政区划。地址数据中一般都会有一些标识前3级行政区划的重要词语;否则,会发生信息过少无法解析的情况,对于无法解析的地址据,直接跳过。因此,前3级在全国行政区域编码表中,是能唯一识别的。利用Trie树形结构,将行政区域编码表构建到一个查询树中,由初始节点开始逐层向下寻找各级地址。在Trie树中,由于需要查找标准化地址信息,需要对地址信息切词后再进行匹配。利用上文实现的隐马尔可夫模型能解决切词问题,并根据Trie树中存储的各级字典,对输入数据进行完全匹配。算法流程的伪代码如下:
Begin
Add.trie() 构建trie树
输入address
List=cut(address)切词
For word in list;
IF word in 子节点的值(完全匹配):
则节点进入对应子节点
Else:
否则,进入每个子节点层查询所有子节点的子节点值(完全匹配)
If word not in trie:
Break
Return 经过的所有节点值
其中,在返回值时,可以利用行政编码的上一级编码信息来实现高层地址反查的功能。同时,可以将指定层地址逐个寻找来实现越级查询。因此,输入一个地址时,一般可以返回3个行政区划(省、市、县),如输入“山东日照五莲县潮河镇”时,可以输出“山东省日照市五莲县”。跳过省市直接输入“五莲县潮河镇”,对其进行全完匹配,补全地址中的省市和县后返回“山东省日照市五莲县”3级行政区划信息。在返回3级行政区划地址时,在全国范围内只有一个县级名称的情况下才能成立,否则,地址信息无法被唯一识别,只能返回省和市两级行政区划的信息。利用双数组Trie树模型,能够实现地址数据的行政区域快速查找。
其中,对于企业注册号和社会统一信用代码等数值型的数据,在解析地址时首先对其进行校验。
其中,注册号的校验公式为:
其中,包括校验码在内的字符串的字符数目;表示号码字符从右到大包括校
验码字符在内的位置序号;第位置上的号码的字符值;除以10以后的余数,如果其
值为零,则用10代替;除以11后的余数,在经过上述处理后余数绝不会为0。
社会统一信用代码的校验码使用阿拉伯数据或大写英文字母表示,校验码计算公式如下:
上述数值型的数据通过校验后,可以根据提取企业注册号和社会统一信用代码中对应的6位行政区划编码,找到自定义的行政区划预置字典,便可对所含的地址信息进行解析。
在一个实施例中,所述方法还包括:
将得到的所述地址信息导入汇总数据库;
根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
在本发明实施例中,利用地址解析模型对地址数据集进行解析,将解析后得到的数据直接导入日更新数据库。为了保证数据记录的唯一性,采用Kettle集群的流式去重和插入更新机制对日更新数据库、周更新数据库、月更新数据库以及汇总数据库之间的数据进行迁移与合并,然后通过hadoop集群的sqoop工具导入Hive数据仓库,便可获得所述汇总数据库。
Kettle的流式去重机制主要是为了解决在迁移过程中,存在重复数据的问题,首先对抽取的数据按指定的一个或者多个字段进行排序,然后再指定某个字段作为数据记录去重的依据,数据在迁移的过程中便可去除重记录。此外,kettle的插入更新机制主要是为了解决,历史记录中数据更新的问题,一般可以依据数据记录的唯一标识,如主键,作为判断条件;若数据记录已经存在,则依据记录唯一标识对该记录的其它字段信息进行更新操作;若该数据记录根本不存历史记录中,则直接将其插入历史记录。
可选地,所述预置的行政区划字典包括:省级行政区划字典、市级行政区划字典、县级行政区划字典、变更行政区划字典、省级行政区划字典中的行政区划的编码字典、市级行政区划字典中的行政区划的编码字典、县级行政区划字典中的行政区划的编码字典、变更行政区划字典中的行政区划的编码字典;其中,所述变更行政区划字典中的行政区划的编码字典还对应现行行政区划名称。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种地址解析系统,所述系统包括:
数据处理模块501,用于对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
解析模块502,用于对所述数值数据进行解析,得到行政区划编码;
分词处理模块503,用于对所述文本数据进行分词处理,得到分词短语;
匹配模块504,用于通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
在可选地一个实施例中,所述数据处理模块501具体用于:
获取所述原始数据,所述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据数数据处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,所述原始数据中含有中文地址信息;
对所述原始数据进行标准化处理,得到所述地址数据集。
在可选地一个实施例中,所述解析模块502具体用于:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
在可选地一个实施例中,所述系统还包括:
导入模块,用于将得到的所述地址信息导入汇总数据库;
数据集市层构建模块,用于根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
引擎搭建模块,用于以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
在一个实施例中,如图6所示的架构图,提供了一种地址解析系统,所述系统包括:
数据准备层1、数据明细层2、数据汇总层3、数据集市层4、数据应用层5、数据备份集群6、数据监控系统7、Kettle集群8和ElasticSearch群集9;
所述数据准备层1与所述数据明细层2连接,所述数据明细层2与所述数据汇总层3连接,所述数据汇总层3与所述数据集市层4连接,所述数据集市层4连接与所述数据应用层5连接,所述数据明细层2与所述Kettle集群8连接,所述Kettle集群8与所述数据汇总层3连接,所述数据集市层4与所述ElasticSearch群集9连接,所述ElasticSearch群集9与所述数据应用层5连接;
所述数据应用层5包括搜索引擎服务51、数据接口服务52和数据可视化53;所述搜索引擎服务51与所述数据接口服务52连接,所述数据接口服务52与所述数据可视化53连接。
在本发明实施例中,采集企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据,构建数据准备层1。
构建地址解析模型,所述地址解析模型融合中文自然语言文本和地址编码;主要包括预置行政区划字典、中文地址分词、省市名称匹配、行政区划代码解析四部分,包含的信息有省、市、县三级行政区划名称及数字编码、行政区划变更记录、经纬度地理信息、电信区号等信息。利用地址解析模型对地址数据集进行解析,将解析后得到的数据根据采集日期分为日更新数据、周更新数据和月更新数据,构建数据明细层2。
通过hadoop集群的sqoop工具,将月更新数据导入Hive数据仓库,获得汇总数据层3。
根据汇总数据层3为基础数据源,按业务系统的要求,从汇总数据层3中抽取所需的各类工商数据,分别建立各业务分析数据,构建数据集市层4。以数据集市层4的各类工商数据为基础搭建搜索引擎、对外提供数据接口服务和数据可视化服务,建立数据应用层5。
其中,数据明细层2包括日更新数据库21、周更新数据库22和月更新数据库23;日更新数据库21与周更新数据库22连接,周更新数据库22与月更新数据库23连接。
其中,将数据准备层1、数据明细层2、数据汇总层3、数据集市层4和数据应用层5的数据定期备份至数据备份集群6的各数据库中,以完成各类数据库的数据备份。
其中,将数据准备层1、数据明细层2、数据汇总层3、数据集市层4和数据应用层5的运行状态数据发送至数据监控系统7,由数据监控系统7进行统一监控和异常报警。数据监控系统7所需的状态数据,需在各模块中单独安装状态数据采集器。
其中,根据搜索业务需求,设计ElasticSearch集群的索引结构与各业务数据库的数据同步方式,基于上述索引数据开发flask和Node.js数据接口,提供数据接口服务52。
其中,所述数据备份集群为布署备份所需各类数据的数据库;所述数据库包括结构化、半结构化和非结构化的数据库。在每台服务器中布署MySQL、 Hbase和MongoDB至少一个数据库。
关于地址解析系统的具体限定可以参见上文中对于地址解析方法的限定,在此不再赘述。上述地址解析系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种地址解析方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取所述原始数据,所述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,所述原始数据中含有中文地址信息;
对所述原始数据进行标准化处理,得到所述地址数据集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将得到的所述地址信息导入汇总数据库;
根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取所述原始数据,所述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,所述原始数据中含有中文地址信息;
对所述原始数据进行标准化处理,得到所述地址数据集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将得到的所述地址信息导入汇总数据库;
根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种地址解析方法,其特征在于,所述方法包括:
对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
对所述数值数据进行解析,得到行政区划编码;
对所述文本数据进行分词处理,得到分词短语;
通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
2.根据权利要求1所述的地址解析方法,其特征在于,所述对原始数据进行数据处理,得到地址数据集,包括:
获取所述原始数据,所述原始数据包括企业基本信息数据、年报数据、企业变更数据、企业异常数据、企业抽检数据、股东高管数据、动产质押数据、行政处罚数据、司法协助数据、知识产权数据和证照数据中的至少之一,所述原始数据中含有中文地址信息;
对所述原始数据进行标准化处理,得到所述地址数据集。
3.根据权利要求1所述的地址解析方法,其特征在于,所述对所述数值数据进行解析,得到行政区划编码,包括:
判断所述数值数据是否为注册号或社会信用代码;
若为注册号,则根据所述注册号得到所述行政区划编码,若为社会信用代码,则根据所述社会信用代码得到所述行政区划编码。
4.根据权利要求1所述的地址解析方法,其特征在于,所述方法还包括:
将得到的所述地址信息导入汇总数据库;
根据各类业务需求,从所述汇总数据库中抽取各类业务需求所需的各类工商数据,分别建立各类业务需求对应的业务分析数据库,构建数据集市层;
以所述数据集市层的各类工商数据为基础,搭建搜索引擎,对外提供数据接口服务和数据可视化服务。
5.根据权利要求1所述的地址解析方法,其特征在于,所述预置的行政区划字典包括:省级行政区划字典、市级行政区划字典、县级行政区划字典、变更行政区划字典、省级行政区划字典中的行政区划的编码字典、市级行政区划字典中的行政区划的编码字典、县级行政区划字典中的行政区划的编码字典、变更行政区划字典中的行政区划的编码字典;其中,所述变更行政区划字典中的行政区划的编码字典还对应现行行政区划名称。
6.一种地址解析系统,其特征在于,所述系统包括:
数据处理模块,用于对原始数据进行数据处理,得到地址数据集;其中,所述地址数据集包括数值数据和文本数据;
解析模块,用于对所述数值数据进行解析,得到行政区划编码;
分词处理模块,用于对所述文本数据进行分词处理,得到分词短语;
匹配模块,用于通过预置的行政区划字典,对所述行政区划编码和所述分词短语进行匹配,得到地址信息。
7.一种地址解析系统,其特征在于,所述系统包括:数据准备层、数据明细层、数据汇总层、数据集市层、数据应用层、数据备份集群、数据监控系统、Kettle集群和ElasticSearch群集;
所述数据准备层与所述数据明细层连接,所述数据明细层与所述数据汇总层连接,所述数据汇总层与所述数据集市层连接,所述数据集市层与所述数据应用层连接,所述数据明细层与所述Kettle集群连接,所述Kettle集群与所述数据汇总层连接,所述数据集市层与所述ElasticSearch群集连接,所述ElasticSearch群集与所述数据应用层连接;
所述数据应用层包括搜索引擎服务、数据接口服务和数据可视化;所述搜索引擎服务与所述数据接口服务连接,所述数据接口服务与所述数据可视化连接。
8.根据权利要求7所述的地址解析系统,其特征在于,所述数据备份集群为布署备份所需各类数据的数据库;所述数据库包括结构化、半结构化和非结构化的数据库。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920811.3A CN113536070A (zh) | 2021-08-11 | 2021-08-11 | 一种地址解析方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920811.3A CN113536070A (zh) | 2021-08-11 | 2021-08-11 | 一种地址解析方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113536070A true CN113536070A (zh) | 2021-10-22 |
Family
ID=78122315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110920811.3A Pending CN113536070A (zh) | 2021-08-11 | 2021-08-11 | 一种地址解析方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113536070A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113935293A (zh) * | 2021-12-16 | 2022-01-14 | 湖南四方天箭信息科技有限公司 | 地址拆分和补全方法、装置、计算机设备和存储介质 |
CN113988870A (zh) * | 2021-10-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 一种团伙识别方法及装置 |
CN114218957A (zh) * | 2022-02-22 | 2022-03-22 | 阿里巴巴(中国)有限公司 | 行政区划变迁信息的确定方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145073A (zh) * | 2018-08-28 | 2019-01-04 | 成都市映潮科技股份有限公司 | 一种基于分词算法的地址解析方法及装置 |
CN110765773A (zh) * | 2019-10-31 | 2020-02-07 | 北京金堤科技有限公司 | 地址数据获取方法以及装置 |
CN111797182A (zh) * | 2020-05-29 | 2020-10-20 | 深圳市跨越新科技有限公司 | 一种地址编码解析方法及系统 |
CN112181940A (zh) * | 2020-08-25 | 2021-01-05 | 天津农学院 | 全国工商大数据处理系统的构建方法 |
CN112287671A (zh) * | 2020-09-29 | 2021-01-29 | 深圳市跨越新科技有限公司 | 基于simhash的地址解析方法及系统 |
-
2021
- 2021-08-11 CN CN202110920811.3A patent/CN113536070A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145073A (zh) * | 2018-08-28 | 2019-01-04 | 成都市映潮科技股份有限公司 | 一种基于分词算法的地址解析方法及装置 |
CN110765773A (zh) * | 2019-10-31 | 2020-02-07 | 北京金堤科技有限公司 | 地址数据获取方法以及装置 |
CN111797182A (zh) * | 2020-05-29 | 2020-10-20 | 深圳市跨越新科技有限公司 | 一种地址编码解析方法及系统 |
CN112181940A (zh) * | 2020-08-25 | 2021-01-05 | 天津农学院 | 全国工商大数据处理系统的构建方法 |
CN112287671A (zh) * | 2020-09-29 | 2021-01-29 | 深圳市跨越新科技有限公司 | 基于simhash的地址解析方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988870A (zh) * | 2021-10-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 一种团伙识别方法及装置 |
CN113935293A (zh) * | 2021-12-16 | 2022-01-14 | 湖南四方天箭信息科技有限公司 | 地址拆分和补全方法、装置、计算机设备和存储介质 |
CN114218957A (zh) * | 2022-02-22 | 2022-03-22 | 阿里巴巴(中国)有限公司 | 行政区划变迁信息的确定方法、装置、设备及存储介质 |
CN114218957B (zh) * | 2022-02-22 | 2022-11-18 | 阿里巴巴(中国)有限公司 | 行政区划变迁信息的确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113536070A (zh) | 一种地址解析方法、系统、计算机设备和存储介质 | |
CN108959244B (zh) | 地址分词的方法和装置 | |
CN108369582B (zh) | 一种地址纠错方法及终端 | |
CN106909611B (zh) | 一种基于文本信息抽取的酒店自动匹配方法 | |
CN110597870A (zh) | 一种企业关系挖掘方法 | |
CN112069276B (zh) | 地址编码方法、装置、计算机设备及计算机可读存储介质 | |
CN102667776A (zh) | 用于处理信息流的信息的方法和系统 | |
KR101365860B1 (ko) | 짧은 관심 지점 명칭 생성 | |
CN111899089A (zh) | 基于知识图谱的企业风险预警方法及系统 | |
CN108228710B (zh) | 一种针对url的分词方法及装置 | |
CN109145073A (zh) | 一种基于分词算法的地址解析方法及装置 | |
US11188782B2 (en) | Method and system for address verification | |
CN108268440A (zh) | 一种未登录词识别方法 | |
CN113254630B (zh) | 一种面向全球综合观测成果的领域知识图谱推荐方法 | |
CN112528174A (zh) | 基于知识图谱和多重匹配的地址修整补全方法及应用 | |
Ribeiro et al. | bdc: A toolkit for standardizing, integrating and cleaning biodiversity data | |
CN103345532A (zh) | 一种网页信息抽取方法及装置 | |
CN104199938A (zh) | 基于rss的农用土地信息发送方法和系统 | |
CN110866125A (zh) | 基于bert算法模型的知识图谱构建系统 | |
CN116414823A (zh) | 一种基于分词模型的地址定位方法和装置 | |
CN115221332A (zh) | 一种危化品事故事理图谱的构建方法与系统 | |
CN112069824B (zh) | 基于上下文概率和引证的地域识别方法、装置及介质 | |
US8239350B1 (en) | Date ambiguity resolution | |
CN114513550B (zh) | 一种地理位置信息的处理方法、装置及电子设备 | |
CN116414808A (zh) | 详细地址规范化的方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211022 |
|
RJ01 | Rejection of invention patent application after publication |