CN114169331A - 地址解析方法、装置、计算机设备和存储介质 - Google Patents
地址解析方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114169331A CN114169331A CN202111414629.7A CN202111414629A CN114169331A CN 114169331 A CN114169331 A CN 114169331A CN 202111414629 A CN202111414629 A CN 202111414629A CN 114169331 A CN114169331 A CN 114169331A
- Authority
- CN
- China
- Prior art keywords
- poi
- address
- entities
- poi point
- type
- 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
Images
Classifications
-
- 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
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种地址解析方法、装置、计算机设备和存储介质。所述方法包括:接收来自客户端的地址解析请求,获取请求信息,请求信息包括地址文本;使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;根据识别出的成分实体从预设POI库中检索得到对应的POI点位;在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;根据确定出的最终检索结果响应地址解析请求。本申请实施例能够在进行地址检索时检索到多条地址,并且相应地,在识别到多个地址的情况下增加校验,提高识别准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种地址解析方法、装置、计算机设备和存储介质。
背景技术
目前智能地址解析方案主要有以下几种:
方案1.快递场景的智能地址解析服务
如淘宝、京东、顺丰等app中所提供的服务,自动识别用户粘贴文本中出现的联系人、联系电话、地址等信息。快递场景下的方案主要是利用命名实体识别方法把文本中出现的实体内容识别出来自动填写到详细地址对应条目。
方案2.带有坐标检索的智能地址解析服务
如腾讯开放的智能地址解析服务,自动识别用户粘贴文本中出现的联系人、联系电话、地址等信息,并且基于地址信息检索地址对应的坐标经纬度。相较于快递场景,检索地址对应的坐标经纬度对于地址服务来说更需要。
对于方案1,上述的快递场景较为直接,用户粘贴地址一般到具体的门牌号,识别出的地址就是发货地址,基于庞大的物流系统即可进行调度及货运,app不需要进一步进行地址查询返回坐标点位。这样的功能并不能适用于货车司机货运场景,因为司机需要在地图上明确找到目的地及导航路线等信息。
对于方案2,相比方案1,方案2的优势是能够得到经纬度,便于在地图上找到目的地,然而该方案在进行地址检索时召回率较低,仅能检索到一条地址,这样的容错率低。
发明内容
本申请针对上述不足或缺点,提供了一种地址解析方法、装置、计算机设备和存储介质,本申请实施例能够在进行地址检索时检索到多条地址,并且相应地,在识别到多个地址的情况下增加校验,提高识别准确性。
本申请根据第一方面提供了一种地址解析方法,在一个实施例中,该方法包括:
接收来自客户端的地址解析请求,获取请求信息,请求信息包括地址文本;
使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;
根据识别出的成分实体从预设POI库中检索得到对应的POI点位;
在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;
根据确定出的最终检索结果响应地址解析请求。
在一个实施例中,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体之前还包括:
检查地址文本是否符合以下所有检查规则:
地址文本的长度处于预设长度区间内;
地址文本中包含的中文字符的数量大于预设字符阈值;
地址文本中包含预设地址关键字;
使用训练好的命名实体识别模型识别出地址文本中包含的成分实体,包括:
响应于地址文本符合所有检查规则,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体。
在一个实施例中,命名实体识别模型的训练过程包括:
构建训练数据集,训练数据集包括多条经过预处理的地址文本样本,以及每条地址文本样本对应的标注数据;
对每条地址文本样本及其对应的标注数据进行特征处理,得到对应的训练样本,每条训练样本包括若干个特征以及各个特征对应的标签;若干个特征包括词性特征、分词边界特征、地址关键字词典特征、姓名关键字词典特征、是否为数字和是否为英文;
根据获得的所有训练样本进行模型训练,得到训练好的命名实体识别模型。
在一个实施例中,根据识别出的成分实体从预设POI库中检索得到对应的POI点位之前还包括执行以下一项或多项操作:
检查识别出的成分实体中是否包含多个地址实体,若是,则将检查出的多个地址实体合并为一个地址实体;
检查识别出的成分实体中包含的各个实体的内容是否合法;
使用预设正则表达式模板对识别出的成分实体中包含的联系电话实体进行过滤,得到格式化的联系电话实体。
在一个实施例中,计算各个POI点位的置信度,包括:
检查识别出的成分实体中是否包含地址实体以及是否包含POI实体;
根据检查结果确定地址文本类型;地址文本类型为第一类型、第二类型、第三类型和第四类型中的一种;第一类型表示识别出的成分实体中同时包含地址实体和POI实体,第二类型表示识别出的成分实体中包含POI实体且不包含地址实体,第三类型表示识别出的成分实体中包含地址实体且不包含POI实体,第四类型表示识别出的成分实体中同时不包含地址实体和POI实体;
若地址文本类型为第四类型,则停止进行置信度计算;
若地址文本类型为第一类型、第二类型或第三类型,则根据地址文本类型对应的置信度计算逻辑计算出各个POI点位的置信度。
在一个实施例中,根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果,包括:
查询与地址文本类型对应的第一阈值和第二阈值;
将第一POI点位的置信度与第一阈值进行比较;第一POI点位是指该多个POI点位中置信度最高的POI点位;
在第一POI点位的置信度大于第一阈值时,将第一POI点位作为最终检索结果;
在第一POI点位的置信度不大于第一阈值时,将该多个POI点位中的所有第二POI点位反馈至客户端,响应于客户端反馈的选定指令,将选定指令所指定的第二POI点位作为最终检索结果;第二POI点位是指该多个POI点位中的置信度大于第二阈值的POI点位。
在一个实施例中,该方法还包括:
在检索得到的POI点位的数量为1时,将检索得到的POI点位确定为最终检索结果。
本申请根据第二方面提供了一种地址解析装置,在一个实施例中,该装置包括:
请求信息获取模块,用于接收来自客户端的地址解析请求,获取请求信息,请求信息包括地址文本;
成分实体识别模块,用于使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;
点位检索模块,用于根据识别出的成分实体从预设POI库中检索得到对应的POI点位;
检索结果确定模块,用于在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;
请求响应模块,用于根据确定出的最终检索结果响应地址解析请求。
本申请根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本申请根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本申请实施例中,后台服务器在接收来自客户端的地址解析请求之后,获取请求信息,请求信息包括地址文本;使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;根据识别出的成分实体从预设POI库中检索得到对应的POI点位;在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;根据确定出的最终检索结果响应地址解析请求。本申请实施例在进行地址检索时检索到多条地址,并且相应地,在识别到多个地址的情况下增加校验,提高识别准确性。
附图说明
图1为一个实施例中一种地址解析方法的应用环境图;
图2为一个实施例中一种地址解析方法的流程示意图;
图3为一个实施例中成分实体识别结果示意图;
图4为一个实施例中检索结果示意图;
图5为一个实施例中一种地址解析装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供了一种地址解析方法。在本实施例中,该地址解析方法可以应用于如图1所示的应用环境中。其中,客户端10和后台服务器20通过网络30进行数据交互。当客户端10检测到剪贴板中有新增粘贴文本(指用户使用复制功能采集的文本)时,或者检测到用户在客户端页面中添加粘贴文本(比如用户将其复制的文本粘贴到页面中的表格时)时,采集该粘贴文本并生成相应的地址解析请求,发送至后台服务器20以请求对该粘贴文本进行地址解析。后台服务器在接收来自客户端的地址解析请求之后,获取请求信息,请求信息包括地址文本;使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;根据识别出的成分实体从预设POI(Point of Interest,兴趣点)库中检索得到对应的POI点位;在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;根据确定出的最终检索结果响应地址解析请求。
客户端10可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和台式计算机等,后台服务器20可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供的一种地址解析方法包括如图2所示的步骤,下面以该方法应用于图1中的后台服务器为例进行说明。
S110:接收来自客户端的地址解析请求,获取请求信息,请求信息包括地址文本。
S120:使用训练好的命名实体识别模型识别出地址文本中包含的成分实体。
S130:根据识别出的成分实体从预设POI库中检索得到对应的POI点位。
S140:在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果。
其中,在检索得到的POI点位的数量为1时,将检索得到的POI点位确定为最终检索结果。
S150:根据确定出的最终检索结果响应地址解析请求。
在本实施例中,后台服务器在接收来自客户端的地址解析请求之后,获取请求信息,请求信息包括地址文本;使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;根据识别出的成分实体从预设POI库中检索得到对应的POI点位;在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;根据确定出的最终检索结果响应地址解析请求。本申请实施例在进行地址检索时检索到多条地址,并且相应地,在识别到多个地址的情况下增加校验,提高识别准确性。
在一个实施例中,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体之前还包括:检查地址文本是否符合以下所有检查规则:
(1)地址文本的长度处于预设长度区间内;
(2)地址文本中包含的中文字符的数量大于预设字符阈值;
(3)地址文本中包含预设地址关键字;
相应地,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体,包括:响应于地址文本符合所有检查规则,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体。
其中,上述的检查规则可以是人工基于标注数据统计总结得到的规则。
假如地址文本符合所有检查规则,那么就继续执行后续操作。假如不符合任一检查规则,则不执行后续操作;进一步地,后台服务器可以向客户端报错,以指示用户重新输入符合规则的地址文本。
在一个实施例中,命名实体识别模型的训练过程包括:
1、构建训练数据集,训练数据集包括多条经过预处理的地址文本样本,以及每条地址文本样本对应的标注数据;
客户端发送过来的原始地址文本(地址文本也可称为query)可能包含特殊符号、制表符、换行符等等,需要先做预处理再进行识别,因此在构建训练数据集时应保证数据预处理的一致性,保证训练和预测数据分布相同。
其中,数据预处理过程可以包含以下5个步骤:
1)全角转半角;
2)去除特殊表情符号;
3)中文标点转英文标点;
4)去除特殊符号;
5)连续符号去重。
进一步地,以下对数据来源进行介绍。
数据集构建共包含合成数据、标注数据两个部分。合成数据和标注数据按照真实分布比例10:1的比例进行抽取。构建方案请见下表。
表一:
更进一步地,以下对数据标注进行介绍。
本实施例将实体类别共分为四类,分别是地址实体、POI实体、联系人姓名实体、联系电话实体。标注包含实体的起始位置信息以及类别信息,标注示例如下所示:
Query(即地址文本样本):“上海黄浦区淮海中路188号5楼,淮海南丰荟,收件人:张三,电话:123xxxxx”
Label(即标注数据):[(0,13,“地址”),(14,19,“POI”),(24,26,“姓名”),(30,38,“电话”)]。
其中,第一个括号内容即(0,13,“地址”)中的“0,13”是实体的起始位置信息,第一个括号中的“地址”是实体的类别信息,表示地址文本样本中的第0-13个要素(即上海黄浦区淮海中路188号5楼)为地址实体。
2、对每条地址文本样本及其对应的标注数据进行特征处理,得到对应的训练样本,每条训练样本包括若干个特征以及各个特征对应的标签;若干个特征包括词性特征、分词边界特征、地址关键字词典特征、姓名关键字词典特征、是否为数字和是否为英文;
本实施例采用CRF++工具来训练命名实体识别模型。CRF++是著名的条件随机场的开源工具,也是目前综合性能最佳的CRF工具,采用C++语言编写而成。其采用了特征模板,这样就可以自动生成一系列的特征函数,而不用自己生成特征函数,因此在训练命名实体识别模型时主要做的是寻找特征,比如词性等。
发明人经过大量实验和测试,最终构建的自定义特征包括词性特征、分词边界特征、地址关键字词典特征、姓名关键字词典特征、是否为数字、是否为英文等共6个特征。
对每条地址文本样本及其对应的标注数据进行特征处理,就是要将每个地址文本对应的标注数据处理生成上述6个特征以及对应的标注标签,处理结果将在后文提供。以下对各个特征的处理过程进行介绍。
1)词性特征。此特征使用jieba分词中的posseg接口进行处理,该接口会对文本进行分词处理,并且通过算法预测词对应的词性。
首先,对文本进行分词处理。处理结果例如:“淮海”、“南丰荟”、“,”、“收件人”、“:”、“张三”、“,”、“电话”、“:”、“123xxxxx”。
然后,预测词性标签。例如,“张三”标注为nr,表示人名;“123xxxxx”标注为num,表示数字。
最后,将标签处理成和字符一一对应的格式。例如,[“张”,“三”]对应[“nr”,“nr”]
2)分词边界特征。对文本进行分词处理,通过BMESO标注方法标记词语的起始位置。
首先,对文本进行分词处理。方法同上。
然后,将词转化成边界标签,词的开头标为B,结尾标为E,单字成词则标为S。例如,[“张”,“三”,]对应[“B”,“E”]、[“南”“丰”,“荟”]对应[“B”,“M”,“E”]
3)地址关键字词典特征。
首先,对文本进行分词处理。方法同上。
然后,判断词是否在地址关键字词典中,是则标为Y,否则标为N。
例如,[“南”“丰”,“荟”]对应[“Y”,“Y”,“Y”]。
4)姓名关键字词典特征。
首先,对文本进行分词处理。方法同上。
然后,判断词是否在姓名关键字词典中,是则标为Y,否则标为N。
例如,[“张”,“三”,]对应[“Y”,“Y”]。
5)是否为数字。
逐字符判断字符是否为数字,是则标为Y,否则标为N。
例如,[“1”,“张”]对应[“Y”,“N”]
6)是否为英文。
逐字符判断字符是否为数字,是则标为Y,否则标为N。
例如,[“A”,“张”]对应[“Y”,“N”]。
3、根据获得的所有训练样本进行模型训练,得到训练好的命名实体识别模型。
在本实施例中,使用(2)中处理后的数据进行模型训练,训练参数为F=2(表示特征频数下限为2),E=0.0005(表示训练误差小于0.0001时终止训练过程),C=2.0(表示CRF的正则化项的系数)。
训练得到模型文件后,预测过程加载模型文件,对传入的query(即请求中的地址文本)进行预处理后提取特征,将提取的特征输入模型进行预测,模型预测后会输出结构如(2)所示的各个特征对应的预测结果,并进一步将格式转化成实体形式返回。
本申请针对客户端发送的地址文本中可能存在多个相同类别实体的问题,还提供了一种成分校验方式,针对数据结果进行实体合并、有效性检查、格式化输出三个处理过程,通过这种后处理方式提高模型识别效果。以下对该成分校验方式进行介绍。
在一个实施例中,根据识别出的成分实体从预设POI库中检索得到对应的POI点位之前还包括执行以下一项或多项操作:
(1)检查识别出的成分实体中是否包含多个地址实体,若是,则将检查出的多个地址实体合并为一个地址实体;
需要说明的是,实体合并,主要是发生在地址实体中,由于不同用户书写地址的习惯及格式不同,地址实体可能会拆分成多个部分。例如“所在地区:上海市浦东新区,详细地址:淮海中路188号”这种情况,模型在识别的时候会识别成“上海市浦东新区”和“淮海中路188号”2个地址实体。因此需要进行合并操作,将两部分内容合并为一个完整地址。
(2)检查识别出的成分实体中包含的各个实体的内容是否合法;
本操作是有效性检查,判断各个实体的内容(或称为称为)是否合法,比如地址实体是否包含地址关键字等。从上文可知,识别出的成分实体中包含的各个实体包括地址实体、POI实体、联系人姓名实体和联系电话实体。
(3)使用预设正则表达式模板对识别出的成分实体中包含的联系电话实体进行过滤,得到格式化的联系电话实体。
格式化操作,主要是校验联系电话实体,通过预设的正则表达式模板,对实体进行过滤,输出格式化后的结果。
在一个实施例中,计算各个POI点位的置信度,包括:
检查识别出的成分实体中是否包含地址实体以及是否包含POI实体;
根据检查结果确定地址文本类型;地址文本类型为第一类型、第二类型、第三类型和第四类型中的一种;第一类型表示识别出的成分实体中同时包含地址实体和POI实体,第二类型表示识别出的成分实体中包含POI实体且不包含地址实体,第三类型表示识别出的成分实体中包含地址实体且不包含POI实体,第四类型表示识别出的成分实体中同时不包含地址实体和POI实体;
若地址文本类型为第四类型,则停止进行置信度计算;
若地址文本类型为第一类型、第二类型或第三类型,则根据地址文本类型对应的置信度计算逻辑计算出各个POI点位的置信度。
在本实施例中,当检索到的POI点位有多个时,对检索到的各个POI点位进行置信度计算,将POI按照置信度倒序排列后,根据设定的阈值策略透出。具体处理过程如下:
(1)检查识别出的成分实体中是否包含地址实体以及是否包含POI实体,根据检查结果确定地址文本类型。此操作是为了后续精细化置信度计算过程做准备。
其中,如果识别出的成分实体中同时包含地址实体和POI实体则记为类型1(即第一类型),如果识别出的成分实体中包含POI实体且不包含地址实体则记为类型2(即第二类型),如果识别出的成分实体中包含地址实体且不包含POI实体则记为类型3(即第三类型),如果识别出的成分实体中同时不包含地址实体和POI实体则记为类型4(即第四类型);
对于类型1、2、3,进行下面(2)中介绍的置信度计算;对于类型4,直接终止后续质检过程,返回识别到的其他信息。
(2)置信度计算,即根据地址文本类型对应的置信度计算逻辑计算出各个POI点位的置信度。这个操作是为了对各个返回结果(即POI点位)进行打分,构建结果准确率和分值的对应关系,分值越高返回结果越可信。并对输出结果按照置信度进行降序排列。
各地址文本类型对应的置信度计算逻辑请见表二。
表二:
在一个实施例中,根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果,包括:
查询与地址文本类型对应的第一阈值和第二阈值;
将第一POI点位的置信度与第一阈值进行比较;第一POI点位是指该多个POI点位中置信度最高的POI点位;
在第一POI点位的置信度大于第一阈值时,将第一POI点位作为最终检索结果;
在第一POI点位的置信度不大于第一阈值时,将该多个POI点位中的所有第二POI点位反馈至客户端,响应于客户端反馈的选定指令,将选定指令所指定的第二POI点位作为最终检索结果;第二POI点位是指该多个POI点位中的置信度大于第二阈值的POI点位。
在本实施例中,本实施例提供了一种预设的阈值策略。
在该阈值策略中,设定两个阈值:TOP1阈值(即第一阈值)和DROP阈值(即第二阈值)。这两个阈值用于确定将检索到的哪些POI点位反馈给客户端。
以下对该阈值策略进行说明。
后台服务器通过一个数据表来维护地址文本类型和TOP1阈值和DROP阈值的对应关系。示例性地,该数据表可以如表三所示,查询表三即可得到地址文本类型对应的TOP1阈值和DROP阈值;比如,当地址文本类型为第一类型时,对应的TOP1阈值为0.6和DROP阈值为0.2。
表三:
地址文本类型 | top1阈值 | DROP阈值 |
1 | 0.6 | 0.2 |
2 | 1 | 0.1 |
3 | 0.9 | 0.2 |
首先按照置信度从高到低对各个POI点位进行排序,得到一个列表。
获取该列表中的第一个POI点位(即第一POI点位)的置信度,并将该置信度与对应的TOP1阈值进行对比,假如该置信度大于TOP1阈值,说明找到一个准确率较高的POI,那么最终透出这个POI点位作为最终检索结果返回给客户端。
如果该置信度不大于对应的TOP1阈值,则先将该列表中的置信度低于DROP阈值的POI点位剔除(如果POI点位的置信度比DROP阈值低,则表示该POI点位的质量较差),再将剩下的POI点位反馈给客户端,让客户端的用户自己从中选择一个POI点位,最后将用户选择的POI点位的相关信息反馈到客户端,从而客户端可以将后台服务器反馈的信息填充到相关页面中呈现给用户。其中,POI点位的相关信息可以包括POI对应的名称、地址、经纬度、类别以及行政区划信息等信息。
以下通过一个具体示例对上述实施例提供的地址解析方法进行说明。
假设,请求信息包括如下内容:
UID:100034;
用户请求时所在位置:121.32955745026(经度),31.25289537773(纬度);
请求时间:2020-11-18 10:41:10;
请求点位类型:卸货点;
地址文本:“收货地址:玉树藏族自治州称多县桑格窝、张三:18600000000”。
检查该地址文本是否满足以下各个检查规则:
1)长度满足4-100字符;
2)中文字符数大于2;
3)命中“省”、“州”、“县”等地址关键字。
在确定满足各个检查规则时,对该地址文本进行成分实体识别,首先通过命名实体模型识别出的预测结果如下表四所示:
表四:
根据上述预测结果处理得到该地址文本中包含的成分实体,识别结果如图3所示。
根据识别出的成分实体检索POI库,检索结果如图4所示。
由于识别出地址实体和POI实体两个实体,因此地址文本类型确定为1即第一类型;
使用与第一类型对应的置信度计算逻辑计算出置信度为0.62;
查询表三得到第一类型对应的TOP1阈值为0.6,因为计算出的置信度大于TOP1阈值,因此将其作为最终检索结果反馈给客户端,填充到客户端相关页面呈现给用户。
图2为一个实施例中地址解析方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同的发明构思,本申请还提供了一种地址解析装置。在本实施例中,如图5所示,该地址解析装置包括以下模块:
请求信息获取模块110,用于接收来自客户端的地址解析请求,获取请求信息,请求信息包括地址文本;
成分实体识别模块120,用于使用训练好的命名实体识别模型识别出地址文本中包含的成分实体;
点位检索模块130,用于根据识别出的成分实体从预设POI库中检索得到对应的POI点位;
检索结果确定模块140,用于在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从该多个POI点位中确定出一个POI点位作为最终检索结果;
请求响应模块150,用于根据确定出的最终检索结果响应地址解析请求。
在一个实施例中,地址解析装置还包括意图识别模块。
意图识别模块,用于在使用训练好的命名实体识别模型识别出地址文本中包含的成分实体之前执行以下操作:
检查地址文本是否符合以下所有检查规则:
地址文本的长度处于预设长度区间内;
地址文本中包含的中文字符的数量大于预设字符阈值;
地址文本中包含预设地址关键字;
相应地,在本实施例中,成分实体识别模块具体用于响应于地址文本符合所有检查规则,使用训练好的命名实体识别模型识别出地址文本中包含的成分实体。
在一个实施例中,地址解析装置还包括用于训练命名实体识别模型的模型训练模块。模型训练模块包括:
数据集构建子模块,用于构建训练数据集,训练数据集包括多条经过预处理的地址文本样本,以及每条地址文本样本对应的标注数据;
特征处理子模块,用于对每条地址文本样本及其对应的标注数据进行特征处理,得到对应的训练样本,每条训练样本包括若干个特征以及各个特征对应的标签;若干个特征包括词性特征、分词边界特征、地址关键字词典特征、姓名关键字词典特征、是否为数字和是否为英文;
训练子模块,用于根据获得的所有训练样本进行模型训练,得到训练好的命名实体识别模型。
在一个实施例中,地址解析装置还包括成分校验模块。
成分校验模块,用于在根据识别出的成分实体从预设POI库中检索得到对应的POI点位之前执行以下一项或多项操作:
检查识别出的成分实体中是否包含多个地址实体,若是,则将检查出的多个地址实体合并为一个地址实体;
检查识别出的成分实体中包含的各个实体的内容是否合法;
使用预设正则表达式模板对识别出的成分实体中包含的联系电话实体进行过滤,得到格式化的联系电话实体。
在一个实施例中,检索结果确定模块,包括:
检查子模块,用于检查识别出的成分实体中是否包含地址实体以及是否包含POI实体;
类型确定子模块,用于根据检查结果确定地址文本类型;地址文本类型为第一类型、第二类型、第三类型和第四类型中的一种;第一类型表示识别出的成分实体中同时包含地址实体和POI实体,第二类型表示识别出的成分实体中包含POI实体且不包含地址实体,第三类型表示识别出的成分实体中包含地址实体且不包含POI实体,第四类型表示识别出的成分实体中同时不包含地址实体和POI实体;
置信度计算子模块,用于在地址文本类型为第四类型时,停止进行置信度计算;在地址文本类型为第一类型、第二类型或第三类型时,根据地址文本类型对应的置信度计算逻辑计算出各个POI点位的置信度。
在一个实施例中,检索结果确定模块,包括:
阈值查询子模块,用于查询与地址文本类型对应的第一阈值和第二阈值;
比较子模块,用于将第一POI点位的置信度与第一阈值进行比较;第一POI点位是指该多个POI点位中置信度最高的POI点位;
检索结果确定子模块,用于在第一POI点位的置信度大于第一阈值时,将第一POI点位作为最终检索结果;在第一POI点位的置信度不大于第一阈值时,将该多个POI点位中的所有第二POI点位反馈至客户端,响应于客户端反馈的选定指令,将选定指令所指定的第二POI点位作为最终检索结果;第二POI点位是指该多个POI点位中的置信度大于第二阈值的POI点位。
在一个实施例中,该检索结果确定模块还用于在检索得到的POI点位的数量为1时,将检索得到的POI点位确定为最终检索结果。
关于地址解析装置的具体限定可以参见上文中对于地址解析方法的限定,在此不再赘述。上述地址解析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储POI点位等数据,具体存储的数据还可以参见上述方法实施例中的限定。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种地址解析方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种地址解析方法,其特征在于,所述方法包括:
接收来自客户端的地址解析请求,获取请求信息,所述请求信息包括地址文本;
使用训练好的命名实体识别模型识别出所述地址文本中包含的成分实体;
根据识别出的成分实体从预设POI库中检索得到对应的POI点位;
在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从所述多个POI点位中确定出一个POI点位作为最终检索结果;
根据确定出的最终检索结果响应所述地址解析请求。
2.如权利要求1所述的方法,其特征在于,所述使用训练好的命名实体识别模型识别出所述地址文本中包含的成分实体之前还包括:
检查所述地址文本是否符合以下所有检查规则:
所述地址文本的长度处于预设长度区间内;
所述地址文本中包含的中文字符的数量大于预设字符阈值;
所述地址文本中包含预设地址关键字;
所述使用训练好的命名实体识别模型识别出所述地址文本中包含的成分实体,包括:
响应于所述地址文本符合所有检查规则,使用训练好的命名实体识别模型识别出所述地址文本中包含的成分实体。
3.如权利要求1所述的方法,其特征在于,所述命名实体识别模型的训练过程包括:
构建训练数据集,所述训练数据集包括多条经过预处理的地址文本样本,以及每条所述地址文本样本对应的标注数据;
对每条所述地址文本样本及其对应的标注数据进行特征处理,得到对应的训练样本,每条训练样本包括若干个特征以及各个特征对应的标签;所述若干个特征包括词性特征、分词边界特征、地址关键字词典特征、姓名关键字词典特征、是否为数字和是否为英文;
根据获得的所有训练样本进行模型训练,得到训练好的命名实体识别模型。
4.如权利要求1所述的方法,其特征在于,所述根据识别出的成分实体从预设POI库中检索得到对应的POI点位之前还包括执行以下一项或多项操作:
检查所述识别出的成分实体中是否包含多个地址实体,若是,则将检查出的多个地址实体合并为一个地址实体;
检查所述识别出的成分实体中包含的各个实体的内容是否合法;所述各个实体包括地址实体、POI实体、联系人姓名实体和联系电话实体;
使用预设正则表达式模板对所述识别出的成分实体中包含的联系电话实体进行过滤,得到格式化的联系电话实体。
5.如权利要求1所述的方法,其特征在于,所述计算各个POI点位的置信度,包括:
检查所述识别出的成分实体中是否包含地址实体以及是否包含POI实体;
根据检查结果确定地址文本类型;所述地址文本类型为第一类型、第二类型、第三类型和第四类型中的一种;所述第一类型表示所述识别出的成分实体中同时包含地址实体和POI实体,所述第二类型表示所述识别出的成分实体中包含POI实体且不包含地址实体,所述第三类型表示所述识别出的成分实体中包含地址实体且不包含POI实体,所述第四类型表示所述识别出的成分实体中同时不包含地址实体和POI实体;
若所述地址文本类型为第四类型,则停止进行置信度计算;
若所述地址文本类型为第一类型、第二类型或第三类型,则根据所述地址文本类型对应的置信度计算逻辑计算出各个POI点位的置信度。
6.如权利要求5所述的方法,其特征在于,所述根据各个POI点位的置信度从所述多个POI点位中确定出一个POI点位作为最终检索结果,包括:
查询与所述地址文本类型对应的第一阈值和第二阈值;
将第一POI点位的置信度与所述第一阈值进行比较;所述第一POI点位是指所述多个POI点位中置信度最高的POI点位;
在所述第一POI点位的置信度大于所述第一阈值时,将所述第一POI点位作为最终检索结果;
在所述第一POI点位的置信度不大于所述第一阈值时,将所述多个POI点位中的所有第二POI点位反馈至所述客户端,响应于所述客户端反馈的选定指令,将所述选定指令所指定的第二POI点位作为最终检索结果;所述第二POI点位是指所述多个POI点位中的置信度大于所述第二阈值的POI点位。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
在检索得到的POI点位的数量为1时,将检索得到的POI点位确定为最终检索结果。
8.一种地址解析装置,其特征在于,所述装置包括:
请求信息获取模块,用于接收来自客户端的地址解析请求,获取请求信息,所述请求信息包括地址文本;
成分实体识别模块,用于使用训练好的命名实体识别模型识别出所述地址文本中包含的成分实体;
点位检索模块,用于根据识别出的成分实体从预设POI库中检索得到对应的POI点位;
检索结果确定模块,用于在检索得到的POI点位包括多个POI点位时,计算各个POI点位的置信度,并根据各个POI点位的置信度从所述多个POI点位中确定出一个POI点位作为最终检索结果;
请求响应模块,用于根据确定出的最终检索结果响应所述地址解析请求。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111414629.7A CN114169331A (zh) | 2021-11-25 | 2021-11-25 | 地址解析方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111414629.7A CN114169331A (zh) | 2021-11-25 | 2021-11-25 | 地址解析方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114169331A true CN114169331A (zh) | 2022-03-11 |
Family
ID=80480630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111414629.7A Pending CN114169331A (zh) | 2021-11-25 | 2021-11-25 | 地址解析方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114169331A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114997147A (zh) * | 2022-08-04 | 2022-09-02 | 深圳依时货拉拉科技有限公司 | 基于混合mask的poi地址纠错方法、装置、存储介质和设备 |
-
2021
- 2021-11-25 CN CN202111414629.7A patent/CN114169331A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114997147A (zh) * | 2022-08-04 | 2022-09-02 | 深圳依时货拉拉科技有限公司 | 基于混合mask的poi地址纠错方法、装置、存储介质和设备 |
CN114997147B (zh) * | 2022-08-04 | 2022-11-04 | 深圳依时货拉拉科技有限公司 | 基于混合mask的poi地址纠错方法、装置、存储介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874928B (zh) | 简历数据信息解析处理方法、装置、设备及存储介质 | |
CN110795919B (zh) | 一种pdf文档中的表格抽取方法、装置、设备及介质 | |
CN111325037B (zh) | 文本意图识别方法、装置、计算机设备和存储介质 | |
EP3855324A1 (en) | Associative recommendation method and apparatus, computer device, and storage medium | |
CN106033416B (zh) | 一种字符串处理方法及装置 | |
CN107657048B (zh) | 用户识别方法及装置 | |
CN110377558A (zh) | 文档查询方法、装置、计算机设备和存储介质 | |
CN111460131A (zh) | 公文摘要提取方法、装置、设备及计算机可读存储介质 | |
CN110362798B (zh) | 裁决信息检索分析方法、装置、计算机设备和存储介质 | |
CN110866091A (zh) | 一种数据检索方法及装置 | |
CN109446525B (zh) | 文本处理方法、装置、计算机可读存储介质和计算机设备 | |
CN111831920A (zh) | 用户需求分析方法、装置、计算机设备及存储介质 | |
CN110837590A (zh) | 资讯推送方法、装置、计算机设备和存储介质 | |
CN111782595A (zh) | 海量文件管理方法、装置、计算机设备和可读存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN110532449B (zh) | 一种业务文档的处理方法、装置、设备和存储介质 | |
CN111382570B (zh) | 文本实体识别方法、装置、计算机设备及存储介质 | |
CN114169331A (zh) | 地址解析方法、装置、计算机设备和存储介质 | |
CN117216239A (zh) | 文本去重方法、装置、计算机设备及存储介质 | |
CN110851709B (zh) | 资讯推送方法、装置、计算机设备和存储介质 | |
US11170759B2 (en) | System and method for discriminating removing boilerplate text in documents comprising structured labelled text elements | |
CN116226681B (zh) | 一种文本相似性判定方法、装置、计算机设备和存储介质 | |
CN110826318A (zh) | 物流信息识别的方法、设备、计算机设备和存储介质 | |
CN114003685B (zh) | 分词位置索引构建方法及其装置、文档检索方法及其装置 | |
CN113255351B (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 |