一种中文地址分割方法及装置与流程

未命名 09-12 阅读:165 评论:0


1.本发明涉及中文地址分割技术领域,尤其涉及一种中文地址分割方法及装置。


背景技术:

2.中文地址分割是指将一段包含一个或多个地址的中文文本分割成若干个独立的地址串的任务。在自然语言处理和信息抽取等领域有广泛的应用,例如地址的地理编码、搜索引擎中的地址搜索、快递物流信息的提取等等。
3.如现有公开号为cn105159949a的中国发明专利公开了《一种中文地址分词方法及系统》中,对地址的每个字均采用标签进行标识,从而使得分词时能够根据该标签进行分割,将地址元素信息降维,使得分词更为简单快捷。如现有公开号为cn115879467a的中国发明专利公开了《一种基于联邦学习的中文地址分词方法及装置》中,将传统的中文地址分词任务拆分成用于地点分词的地址分词模型和用于地点分级的地名分类模型,分工后的模型可以更好的提高地址分词准确性。同时,提出联邦学习方法对其进行联合训练,在保护地址数据不泄露的前提下,提取各机构的地址分级知识。另一方面,提出使用知识蒸馏方法提炼传输的知识,相比传统的联邦学习方法,其传输成本更低,性能更好。
4.前述公开发明提供了中文地址分词方法,通过模型对地址文本信息进行处理,虽然模型在很多自然语言处理任务中表现出色,但在使用进行中文地址ner命名实体识别时,仍然存在一些缺点,主要包括以下几个方面:
5.(1)数据量和质量对模型性能的影响较大:模型需要大量高质量的数据来训练,对于中文ner任务而言,数据量和质量的问题会对模型的性能产生较大的影响;
6.(2)中文地址命名实体类型的不平衡性:在中文地址ner任务中,不同类型的命名实体的数量差别很大,而现有基于深度学习的模型往往在训练时难以处理数据中类别不平衡的问题,可能导致一些低频词的识别效果不佳;
7.(3)中文环境下地址的分词和命名实体识别本身的复杂性,由于地址中各种组成部分的数量和格式不确定,例如省份、城市、区县、街道、门牌号、建筑物名称、建筑物编号、楼层等。


技术实现要素:

8.为了解决上述背景技术中所提到的技术问题,而提出的一种中文地址分割方法及装置。利用bert模型和地理位置信息相结合,充分利用地址文本信息和附加的地理位置信息(经纬度),利用bert模型输出和地理位置编码信息融合,以提高地址识别的准确性和效率。
9.为了实现上述目的,本发明采用了如下技术方案:
10.一种中文地址分割方法,包括以下步骤:
11.步骤一,对输入地址的地理位置信息进行编码,获得第一编码特征;
12.步骤二,对输入地址的地址文本信息进行编码,获得第二编码特征;
13.步骤三,对两组编码特征进行拼接,获得拼接特征;
14.步骤四,对拼接特征进行编码和融合,获得第三编码特征;
15.步骤五,对第三编码特征进行信息提取,获得输入地址的地址识别和分割结果。
16.作为上述技术方案的进一步描述:
17.所述获得第一编码特征的步骤包括:
18.子步骤一,通过geohash方式对输入地址的位置经纬度信息进行编码,将地理位置信息转换为字符串信息;
19.子步骤二,对字符串信息进行张量变换,获得以张量形式表示的第一编码特征。
20.作为上述技术方案的进一步描述:
21.所述对位置经纬度信息进行编码的步骤包括:
22.子步骤一,在经度范围或者纬度范围内进行逐级缩限的正、负区间划分,对于落入正、负区间的经、纬度信息分别进行二进制赋值;
23.子步骤二,对经、纬度信息多次编码后分别获得两组二进制数,每组二进制数的位数与编码次数相等,按照经度在前、纬度在后的顺序,对两组二进制数组合后获得二倍位数长度的二进制经纬值;
24.子步骤三,在二进制经纬度值前增加一位二进制数,获得二倍加一位数的二进制数;
25.子步骤四,将二倍加一位数的二进制数转换为one_hot格式,数据表示为多维向量。
26.作为上述技术方案的进一步描述:
27.所述在二进制经纬度值前增加一位二进制数的步骤包括:
28.子步骤一,在经纬度信息未知或者错误时,在二进制经纬值前增加的二进制数赋值为1,余下的二进度经纬值均赋值为0;
29.子步骤二,在经纬度信息已知时,在二进制经纬值前增加的二进制数赋值为0,余下的二进度经纬值赋值不变。
30.作为上述技术方案的进一步描述:
31.所述获得第二编码特征的步骤包括:
32.子步骤一,确定地址文本信息中需要识别的实体类型,根据实际任务定义不同的实体类型集合;
33.子步骤二,采用bio标注体系,对实体类型进行标注,每个实体的第一个词汇标注为b,其余词汇标注为i,不涉及实体的词汇标注为o;
34.子步骤三,对数据集中出现的所有实体类型,给每种实体类型指定唯一的标签id;
35.子步骤四,将标注好的地址文本转换为数字形式,每个词汇和对应的实体类型标签id进行映射;
36.子步骤五,将地址文本序列划分为单独的词汇后再转换为数字表示;
37.子步骤六,对地址文本序列进行对齐,使得每个序列的长度相等,将文本序列转换为张量。
38.作为上述技术方案的进一步描述:
39.一种中文地址分割装置,包括:
40.地址编码模型,对输入地址的地理位置信息进行编码,输出地理位置信息的向量特征;
41.分词预训练模型,对输入地址的地址文本信息进行编码,输出地址文本信息的数字表示;
42.bert模型,输入地址文本信息的数字表示后输出地址文本信息的向量特征;
43.拼接模型,将扩展地理位置信息的向量特征维度与地址文本信息的向量特征一致后进行二组向量拼接,并输出拼接向量特征;
44.融合应用模型,对拼接向量特征进行融合和分割。
45.作为上述技术方案的进一步描述:
46.所述地址编码模型包括三个线性层、relu激活函数和dropout层,通过线性层对数据进行多次线性变换,通过relu激活函数对数据进行多次非线性变换,通过dropout层随机抛弃部分数据变换的输出。
47.作为上述技术方案的进一步描述:
48.所述bert模型由多层双向transformer组成。
49.综上所述,由于采用了上述技术方案,本发明的有益效果是:
50.1、本发明中,提高地址分割的准确性:传统的中文地址分割技术主要依赖文本信息,但存在着语义相似度高的地名难以区分、长地址存在各种缩写和错误等问题。将经纬度信息融合进来可以通过位置信息提供更多的上下文信息,从而增加地址分割的准确性。
51.2、本发明中,丰富地址信息的表达:传统中文地址分割技术往往只能分割地址文本,无法表达地址信息的更多维度,如地址位置的纬度、经度等信息。将经纬度信息与文本信息融合起来,可以更好地表达地址信息的丰富维度。
52.3、本发明中,增加对长地址的处理能力:长地址是指包含多个具体信息的地址,传统中文地址分割技术在处理长地址时难以正确区分各个具体信息。将经纬度信息与文本信息融合起来,可以通过位置信息对长地址进行更加准确的分割和理解。
53.3、本发明中,提高ner任务的效果:将经纬度信息融合进来可以为ner任务提供更多的上下文信息,从而提高ner任务的效果。
附图说明
54.图1示出了根据本发明实施例提供的一种中文地址分割方法及装置流程示意图。
具体实施方式
55.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
56.实施例一
57.请参阅图1,本实施例提供一种中文地址分割方法及装置,本方法基于两个输入通道:地址文本通道和地理位置通道。首先,将输入地址的经纬度按照geohash规则进行编码处理,即把地理位置信息转换为数字表示,这个数字可以被看做是一个坐标点,表示地球表
面上的一个位置,然后再次编码提取特征等待拼接融合;对于地址文本通道,使用了一个预训练的bert模型,用于对中文地址进行分词和ner处理;把两个通道的信息拼接后,提取地址分割结果。
58.为了更好地将地理位置信息与文本信息进行结合,本实施例重新设计模型结构。在本实施例的模型中,使用预训练的bert模型来处理文本信息,然后通过一个独立的神经网络来进行地理位置信息编码。之后,使用通道拼接的方式来将这两个信息结合,并在最后的应用层中融合这些信息,然后通过另一个神经网络来进行信息提取,以获得更准确的地址识别和分割结果。
59.具体的,以引入位置经纬度[120.656346,30.517634],对应地址文本“xx省xx市xx市xx路与xx路交叉口西南120米”为例,一种中文地址分割方法包括以下步骤:
[0060]
步骤一,通过geohash方式对[120.656346,30.517634]进行编码,获得位置信息的one_hot格式:input_geohash=[{1,0,1,..1,1,1}],维度:[n,41],n表示样本数量;
[0061]
步骤二,input_geohash=[{1,0,1,..1,1,1}],维度:[n,41]输入到地址编码模型后,获得地理位置信息的编码:维度:[n,128];
[0062]
步骤三,地址文本“xx省xx市xx市xx路与xx路交叉口西南120米”输入到分词预训练模型中进行编码,获得地址文本的数字表示:input_ids=[{776,...,6956}],input_masks=[{1,1,...,,1,1}],维度:[n,setence_len],setence_len表示文本长度;
[0063]
步骤四,地址文本的数字表示输入到bert模型中,其最后一侧隐藏层的输出为:维度:[n,setence_len,768];
[0064]
步骤五,维度[n,128]和维度[n,setence_len,768]输入到拼接模型中,输出拼接结果:维度:[n,setence_len,896];
[0065]
步骤六,维度[n,setence_len,896]输入到融合应用模型中。
[0066]
在如前述步骤一、二中的地理位置信息处理过程中,地址编码模型的输入是geohash编码后的经纬度信息,是一种将地球表面划分为矩形网格的编码方式,用于表示位置信息。对于一个给定的地理位置,geohash编码将其转换为一串字符串,其中更长的字符串表示更精确的位置。为了使地理位置通道网络提取特征可行,取编码中间环节的低层次二进制数表示经纬度,拼接后作为输入,而不是使用经base32的编码结果。
[0067]
以下表1以某地铁站经纬度为例,对其进行编码:
[0068][0069]
表1
[0070]
纬度39.925746当第9次对比后,就得到’101110001’的二进制编码代替纬度,位数越多,最后一位所代表的格子宽度越小,本实施例进行20次对比,得到20位的二进制数代表纬度值,达到19米精度不再进行划分,防止过多特征对地址编码模型产生副作用。同理经度编码也得到20位的二进制数代表经度值,然后将经度在前、纬度在后,组成一个40位长度的二进制数叫做二进制经纬度值。
[0071]
考虑到训练模型和推理算法过程中,存在经纬度未知和经纬度错误的情况,本实施例在二进制经纬度值前加1,在经纬度未知和经纬度错误的情况下,此值位1,其余40位为0。在经纬度已知的情况下,此值位0,其余40位为二进制经纬度值。这样就得到41位的二进制数,再将41位二进制数转化成one_hot格式,此时数据维度为[1,41],最后将处理后的地理位置信息作为位置输入,输入到地址编码模型中进行特征提取编码。
[0072]
在如前述步骤三、四的地址文本信息处理过程中,对输入数据进行预处理,在训练和推理阶段同bert模型一致:
[0073]
(1)读取需要分割的地址文本数据;
[0074]
(2)明确需要识别的实体类型,根据实际任务需要定义不同的实体类型集合;
[0075]
(3)训练数据标注,采用bio标注体系,即每个实体的第一个词标注为b(表示实体的开头),其余词标注为i(表示实体内部)对文本中的实体进行标注,未涉及实体的词则标
注为o;
[0076]
(4)对于数据集中出现的所有实体类型,给每种类型指定一个唯一的标签id;
[0077]
(5)将标注好的文本转换成数字形式,即将每个词和对应的实体标签id进行映射;
[0078]
(6)将文本序列划分成单独的词汇,使用预训练词向量模型将文本序列转换为数字表示;
[0079]
(7)将输入的文本序列进行对齐,使得每个序列的长度相等;
[0080]
(8)将文本序列转换成张量,输入到bert模型。
[0081]
前述步骤二的地址编码模型结构是一个神经网络,主要包括了三个线性层[linear(41,128),linear(128,256),linear(256,128)],使用了relu激活函数以及dropout层。将输入的位置信息通道数据通过线性层的变换,逐渐转化为维度[1,128]的特征表示。
[0082]
具体来说,输入数据经过linear1线性变换后,输出一个维度为[1,128]的张量,然后通过relu激活函数进行非线性变换。接着,再通过linear2线性变换和relu激活函数进行处理。在这个过程中,由于线性变换后的张量可能会比较大,影响模型的鲁棒性因此采用dropout层随机抛弃部分神经元的输出,从而避免过拟合现象的出现。最后,通过linear3线性变换和relu激活函数,输出一个维度[1,128]的张量,用于表示经过提取特征后再被表示的地址编码。
[0083]
这个神经网络的主要作用是将位置信息通道数据转化为特征表示,方便后续的与地址文本信息进行拼接融合。对于输入数据中的位置信息,经过这个网络结构的处理后,更好地提取地理位置中的潜在规律和特征,以得到对应的特征表示,网络结构简单,便于具有更强的表征能力,从而得到更好的命名实体识别效果。
[0084]
前述步骤四中输入bert模型的文本编码此时进入到文本信息通道中进行处理。对于文本输入通道,本实施例采用了经典的bert模型结构。bert模型由多层双向transformer组成,输入bert模型后,可以获得文本信息的最后隐层表示last_hidden_state,可以有效地捕捉输入序列中的上下文信息。具体来说,本实施例采用了bert-base作为预训练模型,并在自有的训练数据之上进行微调,以适应任务需求。在微调过程中,本实施例使用了适当的学习率和批次大小,以最大化模型的性能表现。
[0085]
前述步骤五、六中拼接、融合模型,本实施例将这地理位置和地址文本处理后的通道数据在拼接模型中进行拼接。在这个模型中,本实施例将文本信息和地理位置信息的向量表示进行拼接,并将其输入到一个全连接层中进行编码和融合,然后拼接模型的输出将被送入最终的融合应用模型,以获得最终的地址识别和分割结果。
[0086]
具体来说,将位置信息的通道数据扩展到与文本信息隐层表示维度相同,以便后续的融合操作。然后,将文本信息隐层表示和位置信息的隐层表示在最后一个维度上进行拼接,得到形状为(n,max_seq_len,896)的隐层表示out_c,max_seq_len为输入地址文本长度。最后,将out_c输入到两个全连接层中,激活函数使用relu。最终的输出out_c1的形状为(n,max_seq_len,57),即每个位置上的预测结果。这个结果可以用于计算损失、进行评估和推理等任务。
[0087]
将文本信息和位置信息通道数据融合在一起,能够更好地捕捉实体在文本中的位置信息,提高ner识别的精度。在训练过程中,我们使用交叉熵损失函数来计算模型输出与
真实标签之间的差异。本实施例使用反向传播算法来更新模型中的参数,以最小化损失函数。在测试过程中,使用训练好的模型来预测新地址的分割结果。通过这种结合文本信息和地理位置信息的方法,获得更准确的地址分割和识别结果。本实施例提供的技术方案还可以应用于如地理信息系统、电子商务和物流等技术领域。
[0088]
综上,本发明具备以下有益效果:(1)提高地址分割的准确性:传统的中文地址分割技术主要依赖文本信息,但存在着语义相似度高的地名难以区分、长地址存在各种缩写和错误等问题。将经纬度信息融合进来可以通过位置信息提供更多的上下文信息,从而增加地址分割的准确性。
[0089]
(2)丰富地址信息的表达:传统中文地址分割技术往往只能分割地址文本,无法表达地址信息的更多维度,如地址位置的纬度、经度等信息。将经纬度信息与文本信息融合起来,可以更好地表达地址信息的丰富维度。
[0090]
(3)增加对长地址的处理能力:长地址是指包含多个具体信息的地址,传统中文地址分割技术在处理长地址时难以正确区分各个具体信息。将经纬度信息与文本信息融合起来,可以通过位置信息对长地址进行更加准确的分割和理解。
[0091]
(4)提高ner任务的效果:将经纬度信息融合进来可以为ner任务提供更多的上下文信息,从而提高ner任务的效果。
[0092]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

技术特征:
1.一种中文地址分割方法,其特征在于,包括以下步骤:步骤一,引入经纬度标识输入地址的地理位置信息,并对地理位置信息进行编码,获得第一编码特征;步骤二,对输入地址的地址文本信息进行编码,获得第二编码特征;步骤三,对两组编码特征进行拼接,获得拼接特征;步骤四,对拼接特征进行编码和融合,获得第三编码特征;步骤五,对第三编码特征进行信息提取,获得输入地址的地址识别和分割结果。2.根据权利要求1所述的一种中文地址分割方法,其特征在于,所述获得第一编码特征的步骤包括:子步骤一,通过geohash方式对输入地址的位置经纬度信息进行编码,将地理位置信息转换为字符串信息;子步骤二,对字符串信息进行张量变换,获得以张量形式表示的第一编码特征。3.根据权利要求2所述的一种中文地址分割方法,其特征在于,所述对位置经纬度信息进行编码的步骤包括:子步骤一,在经度范围或者纬度范围内进行逐级缩限的正、负区间划分,对于落入正、负区间的经、纬度信息分别进行二进制赋值;子步骤二,对经、纬度信息多次编码后分别获得两组二进制数,每组二进制数的位数与编码次数相等,按照经度在前、纬度在后的顺序,对两组二进制数组合后获得二倍位数长度的二进制经纬值;子步骤三,在二进制经纬度值前增加一位二进制数,获得二倍加一位数的二进制数;子步骤四,将二倍加一位数的二进制数转换为one_hot格式,数据表示为多维向量。4.根据权利要求3所述的一种中文地址分割方法,其特征在于,所述在二进制经纬度值前增加一位二进制数的步骤包括:子步骤一,在经纬度信息未知或者错误时,在二进制经纬值前增加的二进制数赋值为1,余下的二进度经纬值均赋值为0;子步骤二,在经纬度信息已知时,在二进制经纬值前增加的二进制数赋值为0,余下的二进度经纬值赋值不变。5.根据权利要求1所述的一种中文地址分割方法,其特征在于,所述获得第二编码特征的步骤包括:子步骤一,确定地址文本信息中需要识别的实体类型,根据实际任务定义不同的实体类型集合;子步骤二,采用bio标注体系,对实体类型进行标注,每个实体的第一个词汇标注为b,其余词汇标注为i,不涉及实体的词汇标注为o;子步骤三,对数据集中出现的所有实体类型,给每种实体类型指定唯一的标签id;子步骤四,将标注好的地址文本转换为数字形式,每个词汇和对应的实体类型标签id进行映射;子步骤五,将地址文本序列划分为单独的词汇后再转换为数字表示;子步骤六,对地址文本序列进行对齐,使得每个序列的长度相等,将文本序列转换为张量。
6.一种中文地址分割装置,其特征在于,包括:地址编码模型,对输入地址的地理位置信息进行编码,输出地理位置信息的向量特征;分词预训练模型,对输入地址的地址文本信息进行编码,输出地址文本信息的数字表示;bert模型,输入地址文本信息的数字表示后输出地址文本信息的向量特征;拼接模型,将扩展地理位置信息的向量特征维度与地址文本信息的向量特征一致后进行二组向量拼接,并输出拼接向量特征;融合应用模型,对拼接向量特征进行融合和分割。7.根据权利要求6所述的一种中文地址分割装置,其特征在于,所述地址编码模型包括三个线性层、relu激活函数和dropout层,通过线性层对数据进行多次线性变换,通过relu激活函数对数据进行多次非线性变换,通过dropout层随机抛弃部分数据变换的输出。8.根据权利要求6所述的一种中文地址分割装置,其特征在于,所述bert模型由多层双向transformer组成。

技术总结
本发明公开了一种中文地址分割方法及装置,包括以下步骤:步骤一,对输入地址的地理位置信息进行编码,获得第一编码特征;步骤二,对输入地址的地址文本信息进行编码,获得第二编码特征;步骤三,对两组编码特征进行拼接,获得拼接特征;步骤四,对拼接特征进行编码和融合,获得第三编码特征;步骤五,对第三编码特征进行信息提取,获得输入地址的地址识别和分割结果。本发明中,将输入地址的经纬度按照geohash规则进行编码处理,然后再次编码提取特征等待拼接融合,对于地址文本通道,使用了一个预训练的BERT模型,用于对中文地址进行分词和NER处理,把两个通道的信息拼接后,提取地址分割结果。结果。结果。


技术研发人员:励建科 胡艳 陈再蝶 刘明锋 朱晓秋 樊伟东 周杰
受保护的技术使用者:浙江康旭科技有限公司
技术研发日:2023.07.05
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐