地址信息处理方法和装置、存储介质及电子设备与流程

文档序号:23053173发布日期:2020-11-25 17:29阅读:108来源:国知局
地址信息处理方法和装置、存储介质及电子设备与流程

本公开涉及信息处理领域,具体地,涉及一种地址信息处理方法和装置、存储介质及电子设备。



背景技术:

很多业务场景中都需要对用户填写的地址信息进行分析和使用,用户在填写地址信息时,可能将地址信息填错、填漏;例如,一些用户会漏填或错填部分信息,如漏填了路号或填入了错别字;或者,在一些应用场景下,需要对用户手写或拍摄的文字进行文字识别生成地址信息,可能出现误识别造成的错字、漏字、多字。

地址信息中被错填、漏填的部分会干扰对地址信息的分析,从而影响对地址信息所指向地址的准确定位,从而对地址信息的使用造成不良影响。



技术实现要素:

本公开的目的是提供一种地址信息处理方法和装置,存储介质及电子设备,以解决相关技术中对存在错漏的地址信息的分析处理不够准确的问题。

为了实现上述目的,本公开的第一方面,提供一种地址信息处理方法,所述方法包括:确定第一地址字符串中第一路名句段和第一小区名句段,确定第二地址字符串中的第二路名句段和第二小区名句段;计算所述第一路名句段和所述第二路名句段的第一相似度,并计算所述第一小区名句段和所述第二小区名句段的第二相似度;若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

可选地,确定地址字符串中的路名句段和小区名句段,包括:查找所述地址字符串中属于预设分句词集的分句词,其中,所述预设分句词集包括以下类型分句词:行政区名分句词、路名分句词、小区名分句词、数词分句词、量词分句词;

将所述分句词作为分句的起始词和/或截止词,对所述地址字符串进行句段划分处理,得到由所述起始词开始和/或以所述截止词结束的一个或多个句段;根据得到的每一所述句段中包括的所述分句词,以及所述分句词与句段类型的对应关系,从多个所述句段中确定所述路名句段和所述小区名句段;其中,所述分句词与句段类型的对应关系,包括:包括所述路名分句词的句段为所述路名句段;包括所述小区名分句词的句段为所述小区名句段。

可选地,所述行政区名分句词包括以下任意字符或字符组合:区、镇、街道、街道办、街道办事处、新区、工业区、工业园、开发区;所述路名分句词包括以下任意字符或字符组合:路、大街、大道、街、社区、街区;所述小区名分句词包括以下任意字符或字符组合:村、新村、邨、新邨、小区、公寓、花园、家园、府邸、公馆、山庄、街坊;所述量词分句词包括以下任意字符或字符组合:号、弄、段、层、室、单元、栋、幢、期;所述数词分句词包括以下任意字符或字符组合:阿拉伯数字、中文数字、罗马数字、英文大写字母、英文小写字母、中文天干字符。

可选地,所述分句词与句段类型的对应关系,包括:包括数词分句词,以及在所述数词分句词之后,与所述数词分句词之间无间隔字符的量词分句词的句段为号句段;所述确定地址字符串中的小区名句段,包括:判断所述地址字符串中是否存在路号句段,所述路号句段为在所述路名句段之后,且与所述路名句段无间隔字符的所述号句段;若所述地址字符串中存在所述路号句段,则将在所述路号句段之后,且在所述路号句段之后的首位数词分句词之前的字符串确定为所述小区名句段;若所述地址字符串中不存在所述路号句段,则将在所述路名句段之后,且在所述路名分句词之后的首位数词分句词之前的字符串确定为所述小区名句段。

可选地,在确定所述第一地址字符串与所述第二地址字符串对应相同的小区之后,所述方法还包括:获取第一数词序列和第二数词序列,所述第一数词序列为所述第一地址字符串中所述第一小区名句段之后按原有顺序排列的数词分句词组成的数词序列,所述第二数词序列为所述第二地址字符串中所述第二小区名句段之后按原有顺序排列的数词分句词组成的数词序列;判断所述第一数词序列与所述第二数词序列中相同序列位的所述数词分句词是否为对应同一词义的数词;若为对应同一词义的数词,则确定所述第一地址字符串与所述第二地址字符串对应相同的地址。

可选地,在确定所述第一地址字符串与所述第二地址字符串对应相同的小区之后,所述方法还包括:将所述第一路名句段和所述第一路名句段后的第一路号句段组成的第一路名组合句段、所述第二路名句段和所述第二路名句段后的第二路号句段组成的第二路名组合句段、所述第一小区名句段和所述第二小区名句段对应存入小区名数据库;所述小区名数据库用于,在接收到用户输入的目标地址信息时在所述小区名数据库中查找与所述目标地址信息匹配的小区名或路名。

可选地,计算第一句段和第二句段的相似度,包括:根据所述第一句段和所述第二句段的相同字符数的数目和目标交换操作次数确定所述相似度;其中,所述目标交换操作次数为,重复执行将任意两字符互换字符位置的字符交换操作,直至将所述第一句段中的目标字符的排列顺序,调整至与所述第二句段中的所述目标字符的排列顺序一致时,所需的最少的字符交换操作次数;所述目标字符为在所述第一句段中和所述第二句段中均存在的字符。

可选地,所述根据所述第一句段和所述第二句段的相同字符数的数目和目标交换操作次数确定所述相似度,包括:确定所述第一句段和所述第二句段的相同字符数的数目与在所述第一句段和所述第二句段中出现过的字符总量的比值为相交相似度;确定所述目标字符数目与所述目标操作次数的差值与所述目标字符数目的比值为顺序相似度;所述相似度为所述相交相似度和所述顺序相似度的乘积。

本公开的第二方面,提供一种地址信息处理装置,所述装置包括:确定模块,用于确定第一地址字符串中第一路名句段和第一小区名句段,确定第二地址字符串中的第二路名句段和第二小区名句段;计算模块,用于计算所述第一路名句段和所述第二路名句段的第一相似度,并计算所述第一小区名句段和所述第二小区名句段的第二相似度;处理模块,用于若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

可选地,所述确定模块,包括:查找子模块,用于查找所述地址字符串中属于预设分句词集的分句词,其中,所述预设分句词集包括以下类型分句词:行政区名分句词、路名分句词、小区名分句词、数词分句词、量词分句词;分句子模块,用于将所述分句词作为分句的起始词和/或截止词,对所述地址字符串进行句段划分处理,得到由所述起始词开始和/或以所述截止词结束的一个或多个句段;确定子模块,用于根据得到的每一所述句段中包括的所述分句词,以及所述分句词与句段类型的对应关系,从多个所述句段中确定路名句段和小区名句段;其中,所述分句词与句段类型的对应关系,包括:包括所述路名分句词的句段为所述路名句段;包括所述小区名分句词的句段为所述小区名句段。

可选地,所述行政区名分句词包括以下任意字符或字符组合:区、镇、街道、街道办、街道办事处、新区、工业区、工业园、开发区;所述路名分句词包括以下任意字符或字符组合:路、大街、大道、街、社区、街区;所述小区名分句词包括以下任意字符或字符组合:村、新村、邨、新邨、小区、公寓、花园、家园、府邸、公馆、山庄、街坊;所述量词分句词包括以下任意字符或字符组合:号、弄、段、层、室、单元、栋、幢、期;所述数词分句词包括以下任意字符或字符组合:阿拉伯数字、中文数字、罗马数字、英文大写字母、英文小写字母、中文天干字符。

可选地,所述分句词与句段类型的对应关系,包括:包括数词分句词,以及在所述数词分句词之后,与所述数词分句词之间无间隔字符的量词分句词的句段为号句段;所述确定子模块,还用于判断所述地址字符串中是否存在路号句段,所述路号句段为在所述路名句段之后,且与所述路名句段无间隔字符的所述号句段;若所述地址字符串中存在所述路号句段,则将在所述路号句段之后,且在所述路号句段之后的首位数词分句词之前的字符串确定为所述小区名句段;若所述地址字符串中不存在所述路号句段,则将在所述路名句段之后,且在所述路名分句词之后的首位数词分句词之前的字符串确定为所述小区名句段。

可选地,所述装置还包括:获取模块,用于获取第一数词序列和第二数词序列,所述第一数词序列为所述第一地址字符串中所述第一小区名句段之后按原有顺序排列的数词分句词组成的数词序列,所述第二数词序列为所述第二地址字符串中所述第二小区名句段之后按原有顺序排列的数词分句词组成的数词序列;判断模块,用于判断所述第一数词序列与所述第二数词序列中相同序列位的所述数词分句词是否为对应同一词义的数词;若为对应同一词义的数词,则确定所述第一地址字符串与所述第二地址字符串对应相同的地址。

可选地,所述装置还包括:存储模块,用于将所述第一路名句段和所述第一路名句段后的第一路号句段组成的第一路名组合句段、所述第二路名句段和所述第二路名句段后的第二路号句段组成的第二路名组合句段、所述第一小区名句段和所述第二小区名句段对应存入小区名数据库;所述小区名数据库用于,在接收到用户输入的目标地址信息时在所述小区名数据库中查找与所述目标地址信息匹配的小区名或路名。

可选地,计算模块,包括:计算子模块,用于根据第一句段和第二句段的相同字符数的数目和目标交换操作次数确定所述相似度;其中,所述目标交换操作次数为,重复执行将任意两字符互换字符位置的字符交换操作,直至将所述第一句段中的目标字符的排列顺序,调整至与所述第二句段中的所述目标字符的排列顺序一致时,所需的最少的字符交换操作次数;所述目标字符为在所述第一句段中和所述第二句段中均存在的字符。

可选地,所述计算子模块,用于:确定所述第一句段和所述第二句段的相同字符数的数目与在所述第一句段和所述第二句段中出现过的字符总量的比值为相交相似度;确定所述目标字符数目与所述目标操作次数的差值与所述目标字符数目的比值为顺序相似度;所述相似度为所述相交相似度和所述顺序相似度的乘积。

本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面任一项所述方法的步骤。

本公开的第四方面,提供一种电子设备,包括存储器和处理器,存储器上存储有计算机程序,处理器用于执行所述存储器中的所述计算机程序,以实现本公开第一方面任一项所述方法的步骤。

通过上述技术方案,至少可以达到以下的技术效果:

通过上述的技术方案,从两个地址字符串中分别提取第一、第二路名句段和第一、第二小区名句段,通过计算两路名句段的第一相似度与两小区名句段的第二相似度,将第一相似度与第一相似度阈值对比,将第二相似度与第二相似度阈值对比,可以通过对比结果判断两个地址字符串是否对应相同的小区。这样,提高对句段进行对比的容错性,在出现较小输入错误时不影响对句段的分析,即使在地址字符串中有错字、漏字、多字等情况下,也可以将两个相似的地址字符串对比得到两地址字符串对应相同的小区的结果。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是一示例性实施例示出的一种地址信息处理方法的流程图。

图2是一示例性实施例示出的另一种地址信息处理方法的流程图。

图3是一示例性实施例示出的另一种地址信息处理方法的流程图。

图4是一示例性实施例示出的一种地址信息处理装置的框图。

图5是一示例性实施例示出的一种电子设备框图。

图6是一示例性实施例示出的另一种电子设备框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是一示例性实施例示出的地址信息处理方法的流程图,所述方法包括:

s11、确定第一地址字符串中第一路名句段和第一小区名句段,确定第二地址字符串中的第二路名句段和第二小区名句段。

该地址字符串可以是用户输入的代表地址的文字排列,例如,该地址字符串可以是广东省深圳市南山区科苑路11号金融科技大厦20层,则该路名句段为科苑路11号,小区名句段为金融科技大厦;再如,该地址字符串可以是上海市浦东新区花园石桥路28弄汤臣一品一栋一单元01号,则该路名句段为花园石桥路,小区名句段为汤臣一品。

在确定路名句段和小区名句段时,可以直接提取用户输入地址时填在路名栏目下的句段和小区栏目下的句段,例如,在填写地址信息时,可以以如下的方式输入:省-广东省、市-深圳市、区-南山区、路-科苑路、路号-11、小区-金融科技大厦、具体地址-20层,这样,可以直接从输入的信息中提取“路”分类下的“科苑路”句段作为路名句段,从“小区”分类下的“金融科技大厦”句段作为小区名句段。

值得说明的是,小区名句段中的小区名不仅包括居民住宅小区的小区名,还包括商业小区、事业单位等,如万达广场、天府软件园、田家炳中学校、第一人民医院等。

s12、计算所述第一路名句段和所述第二路名句段的第一相似度,并计算所述第一小区名句段和所述第二小区名句段的第二相似度。

在实际的业务场景下,由于用户的粗心或文字识别的错误,可能会出现地址字符串错字、漏字、多字等情况,如果严格地将两条完全一样的句段作为等同句段从而判断两地址字符串对应相同地址,而有错字、漏字、多字等错误的句段作为不同的句段,进一步判断得出两地址字符串对应不同的地址则可能会影响后续业务使用。因此,可以通过计算句段相似度的方式判断两句段是否表征相同的信息。

可以通过杰卡德系数(jaccardindex)法计算第一路名句段与第二路名句段的相似度,具体地,可以计算第一路名句段与第二路名句段中共同出现的字符数量与两句段中的字符总量的比值,得到表征两句段相似程度的杰卡德系数,系数值越高说明两句段越相似;还可以通过编辑距离计算法计算第一路名句段与第二路名句段的相似度,具体地,可以计算从第一路名句段转换为第二路名句段(或第二路名句段转换为第一路名句段)所需要的最小编辑操作次数,一次编辑操作次数包括对第一路名句段中的字符的一次替换、增加、减少;还可以通过将第一路名句段和第二路名句段分别转换为向量,并计算第一路名句段的向量与第二路名句段的向量的夹角余弦值来计算相似度,具体地,将句段转换为向量可以通过word2vec软件完成。

类似地,也可以通过上述方式计算第一小区名句段和第二小区名句段的相似度。

s13、若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

第一相似度阈值和第二相似度阈值可以是相同的值,也可以是不同的值。该第一相似度阈值和第二相似度阈值可以同时为0.5,也就是说,第一路名句段和第二路名句段不需完全相同,第一小区名句段和第二小区名句段也不需完全相同;该第一相似度阈值可以是1,该第二相似度阈值可以是0.5,也就是说,第一路名句段和第二路名句段需要完全相同,而第一小区名句段和第二小区名句段可以不同。

例如,该第一路名句段为“花园石桥路”,小区名句段为“汤臣一品”,该第二路名句段为“花园桥路”,第二小区名句段为“汤陈一品”在s12中使用杰卡德系数法对“花园石桥路”“花园桥路”计算相似度为0.8,对“汤臣一品”和“汤陈一品”计算相似度为0.6。这样,当第一相似度阈值与第二相似度阈值同为0.5时,可以判断第一地址字符串与第二地址字符串对应相同的小区;当第一相似度阈值为1,第二相似度阈值为0.5时,可以判断第一地址字符串与第二地址字符串不对应相同的小区。

通过上述的技术方案,从两个地址字符串中分别提取第一、第二路名句段和第一、第二小区名句段,通过计算两路名句段的第一相似度与两小区名句段的第二相似度,将第一相似度与第一相似度阈值对比,将第二相似度与第二相似度阈值对比,可以通过对比结果判断两个地址字符串是否对应相同的小区。这样,提高对句段进行对比的容错性,在出现较小输入错误时不影响对句段的分析,即使在地址字符串中有错字、漏字、多字等情况下,也可以将两个相似的地址字符串对比得到两地址字符串对应相同的小区的结果。

图2是一示例性实施例示出的地址信息处理方法的流程图,所述方法包括:

s21、确定第一地址字符串中第一路名句段和第一小区名句段,确定第二地址字符串中的第二路名句段和第二小区名句段。

该地址字符串可以是用户输入的代表地址的文字排列,例如,该地址字符串可以是广东省深圳市南山区科苑路11号金融科技大厦20层,则该路名句段为科苑路11号,小区名句段为金融科技大厦;再如,该地址字符串可以是上海市浦东新区花园石桥路28弄汤臣一品一栋一单元01号,则该路名句段为花园石桥路,小区名句段为汤臣一品。

在确定路名句段和小区名句段时,可以直接提取用户输入地址时填在路名栏目下的句段和小区栏目下的句段,例如,在填写地址信息时,可以以如下的方式输入:省-广东省、市-深圳市、区-南山区、路-科苑路、路号-11、小区-金融科技大厦、具体地址-20层,这样,可以直接从输入的信息中提取“路”分类下的“科苑路”句段作为路名句段,从“小区”分类下的“金融科技大厦”句段作为小区名句段。

值得说明的是,小区名句段中的小区名不仅包括居民住宅小区的小区名,还包括商业小区、事业单位等,如万达广场、天府软件园、田家炳中学校、第一人民医院等。

s22、根据所述第一路名句段和所述第二路名句段的相同字符数的数目和目标交换操作次数确定所述第一相似度,并根据所述第一小区名句段和所述第二小区名句段的相同字符数的数目和目标交换操作次数确定所述第二相似度。

其中,所述目标交换操作次数为,重复执行将任意两字符互换字符位置的字符交换操作,直至将所述第一句段中的目标字符的排列顺序,调整至与所述第二句段中的所述目标字符的排列顺序一致时,所需的最少的字符交换操作次数;所述目标字符为在所述第一句段中和所述第二句段中均存在的字符。

在实际的业务场景下,由于用户的粗心或文字识别的错误,可能会出现地址字符串错字、漏字、多字等情况,如果严格地将两条完全一样的句段作为等同句段从而判断两地址字符串对应相同地址,而有错字、漏字、多字等错误的句段作为不同句段,进一步判断得出两地址字符串对应不同的地址则可能会影响后续业务使用。因此,可以通过计算句段相似度的方式判断两句段是否表征相同的信息。

因此,可以通过句段中相同字符数的数目和目标交换操作次数来确定该相似度,例如,该相似度可以是相同字符的数目减目标交换操作次数的差与一固定数值(如该固定数值可以是10)的比值。

可选地,可以通过确定所述第一句段和所述第二句段的相同字符数的数目与在所述第一句段和所述第二句段中出现过的字符总量的比值为相交相似度,并确定所述目标字符数目与所述目标操作次数的差值与所述目标字符数目的比值为顺序相似度的方式确定所述第一相似度和所述第二相似度,所述相似度为所述相交相似度和所述顺序相似度的乘积。值得说明的是,当第一句段与第二句段中的目标字符排列顺序相同时,则该顺序相似度为1。

例如,若第一路名句段为“锦绣东路”,第二路名句段为“锦绣路”,则该第一相似度为“锦绣东路”与“锦绣路”的相交相似度(3/4,即0.75)与顺序相似度(由于第一路名句段中的字符序列[锦,绣,路]与第二路名句段中的字符序列[锦,绣,路]排列顺序相同,所以该顺序相似度为1)的乘积,即,该第一相似度为0.75;若第一小区名句段为“流星花园”,第二小区名句段为“星流大花园”,则该第二相似度为“流星花园”与“星流大花园”的相交相似度(4/5,即0.8),与字符序列[流,星,花,园]和字符序列[星,流,花,园]顺序相似度(3/4,即0.75)的乘积,即,该第二相似度为0.6。

s23、若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

第一相似度阈值和第二相似度阈值可以是相同的值,也可以是不同的值。该第一相似度阈值和第二相似度阈值可以同时为0.5,也就是说,第一路名句段和第二路名句段不需完全相同,第一小区名句段和第二小区名句段也不需完全相同;该第一相似度阈值可以是1,该第二相似度阈值可以是0.5,也就是说,第一路名句段和第二路名句段需要完全相同,而第一小区名句段和第二小区名句段可以不同。

例如,该第一路名句段为“花园石桥路”,小区名句段为“汤臣一品”,该第二路名句段为“花园桥路”,第二小区名句段为“汤陈一品”在s12中使用杰卡德系数法对“花园石桥路”“花园桥路”计算相似度为0.8,对“汤臣一品”和“汤陈一品”计算相似度为0.6。这样,当第一相似度阈值与第二相似度阈值同为0.5时,可以判断第一地址字符串与第二地址字符串对应相同的小区;当第一相似度阈值为1,第二相似度阈值为0.5时,可以判断第一地址字符串与第二地址字符串不对应相同的小区。

通过上述的技术方案,从两个地址字符串中分别提取第一、第二路名句段和第一、第二小区名句段,通过两句段中相同字符数的数目和目标交换操作次数计算两路名句段的第一相似度与两小区名句段的第二相似度,将第一相似度与第一相似度阈值对比,将第二相似度与第二相似度阈值对比,可以通过对比结果判断两个地址字符串是否对应相同的小区。这样,提高对句段进行对比的容错性,在出现较小输入错误时不影响对句段的分析,即使在地址字符串中有错字、漏字、多字等情况下,也可以将两个相似的地址字符串对比得到两地址字符串对应相同的小区的结果。

图3是根据一示例性公开实施例示出的地址信息处理方法的流程图,所述方法包括:

s31、查找所述第一地址字符串和第二地址字符串中属于预设分句词集的分句词。

在查找所述地址字符串中属于预设分句词集的分句词时,所述预设分句词集包括以下类型分句词:行政区名分句词、路名分句词、小区名分句词、数词分句词、量词分句词。

所述行政区名分句词包括以下任意字符或字符组合:区、镇、街道、街道办、街道办事处、新区、工业区、工业园、开发区;所述路名分句词包括以下任意字符或字符组合:路、大街、大道、街、社区、街区;所述小区名分句词包括以下任意字符或字符组合:村、新村、邨、新邨、小区、公寓、花园、家园、府邸、公馆、山庄、街坊;所述量词分句词包括以下任意字符或字符组合:号、弄、段、层、室、单元、栋、幢、期;所述数词分句词包括以下任意字符或字符组合:阿拉伯数字、中文数字、罗马数字、英文大写字母、英文小写字母、中文天干字符。

s32、将所述分句词作为分句的起始词和/或截止词,对所述地址字符串进行句段划分处理,得到由所述起始词开始和/或以所述截止词结束的一个或多个句段。

在分句时,可以以行政区名分句词、路名分句词、小区名分句词、量词分句词作为截止词对句段进行分句,也可以用数词分类词作为起始词进行分句,也可以两者并用使分句的结果更准确。

例如,如果以截止词对地址字符串“山西省太原市万柏林区人民路1号附1号国际城小区5号楼2单元1202室”进行分句,得到“山西省太原市万柏林区|人民路|1号|附1号|国际城小区|5号楼|2单元|1202室”,具体的,则可以将其分为行政区名分句词“区”分句得到的“山西省太原市万柏林区”、路名分句词“路”分句得到的“人民路”、量词分句词“号”分句得到的“1号”、量词分句词“号”分句得到的“附1号”、小区名分句词“小区”分句得到的“国际城小区”、量词分句词“楼”分句得到的“5号楼”、量词分句词“单元”分句得到的“2单元”、量词分句词“室”分句得到的“1202室”。

s33、根据得到的每一所述句段中包括的所述分句词,以及所述分句词与句段类型的对应关系,从多个所述句段中确定所述第一路名句段、第二路名句段和所述第一小区名句段、第二小区名句段。

其中,所述分句词与句段类型的对应关系,包括:包括所述路名分句词的句段为所述路名句段;包括所述小区名分句词的句段为所述小区名句段。

例如,在以截止词对地址字符串“山西省太原市万柏林区人民路1号附1号国际城小区5号楼2单元1202室”进行分句,得到行政区名分句词“区”分句得到的“山西省太原市万柏林区”、路名分句词“路”分句得到的“人民路”、量词分句词“号”分句得到的“1号”、量词分句词“号”分句得到的“附1号”、小区名分句词“小区”分句得到的“国际城小区”、量词分句词“楼”分句得到的“5号楼”、量词分句词“单元”分句得到的“2单元”、量词分句词“室”分句得到的“1202室”的分句结果之后,可以从上述多个分句中确定包括了路名分句词的“人民路”句段为所述路名句段,包括了小区名分句词的“国际城小区”句段为所述小区名句段。从第一地址字符串的多个分句结果中确定的路名句段和小区名句段分别为第一路名句段和第一小区名句段,从第二地址字符串的多个分局结果中确定的路名句段和小区名句段分别为第二路名句段和第二小区名句段。

在一些情况下,一些小区的名称中并没有包含明显的小区名分句词,例如“汤臣一品”、“四海逸家”、“紫轩阁”等,如果对包含此类小区名的地址字符串使用上述通过小区名分句词确定小区名句段的方法,可能对这类小区名句段的确定有偏差。

因此,在一种可能的实现方式中,所述分句词与句段类型的对应关系还包括:包括数词分句词,以及在所述数词分句词之后,与所述数词分句词之间无间隔字符的量词分句词的句段为号句段;所述确定地址字符串中的小区名句段,包括:判断所述地址字符串中是否存在路号句段,所述路号句段为在所述路名句段之后,且与所述路名句段无间隔字符的所述号句段;若所述地址字符串中存在所述路号句段,则将在所述路号句段之后,且在所述路号分句词之后的首位数词分句词之前的字符串确定为所述小区名句段;若所述地址字符串中不存在所述路号句段,则将在所述路名句段之后,且在所述路名分句词之后的首位数词分句词之前的字符串确定为所述小区名句段。

例如,对地址字符串“四川省成都市锦江区牡丹街18号四海逸家3栋2单元3002”进行分句,得到路名分句词分句得到的“牡丹街”、数词与量词分句词分句得到的“18号”、未知句段“四海逸家”、数词分句词与量词分句词分句得到的“3栋”、数词与量词分句词分句得到的“2单元”、数词分句词分句得到的“3002”,上述分句结果中的号句段有“18号”、“3栋”、“2单元”。在判断该地址字符串中存在路号句段“18号”(即路名句段之后的号句段)后,则可以确定该路号句段与该路号句段之后的首位数词分句词“3”之前的句段“四海逸家”为所述小区名句段;同理,如果该地址字符串为“四川省成都市锦江区牡丹街四海逸家3栋2单元3002”,在该字符串中不存在路号句段,则该字符串中的小区名句段为路名句段“牡丹街”之后,收费数词分句词“3”之前的句段“四海逸家”。

s34、计算所述第一路名句段和所述第二路名句段的第一相似度,并计算所述第一小区名句段和所述第二小区名句段的第二相似度。

在实际的业务场景下,由于用户的粗心或文字识别的错误,可能会出现地址字符串错字、漏字、多字等情况,如果严格地将两条完全一样的句段作为等同句段从而判断两地址字符串对应相同地址,而有错字、漏字、多字等错误的句段作为等同的句段作为不同句段从而判断两地址字符串对应不同的地址则可能会影响业务使用。因此,可以通过计算句段相似度的方式判断两句段是否表征相同的信息。

可以通过杰卡德系数(jaccardindex)法计算第一路名句段与第二路名句段的相似度,具体地,可以计算第一路名句段与第二路名句段中共同出现的字符数量与两句段中的字符总量的比值,得到表征两句段相似程度的杰卡德系数,系数值越高说明两句段越相似;还可以通过编辑距离计算法计算第一路名句段与第二路名句段的相似度,具体地,可以计算从第一路名句段转换为第二路名句段(或第二路名句段转换为第一路名句段)所需要的最小编辑操作次数,一次编辑操作次数包括对第一路名句段中的字符的一次替换、增加、减少;还可以通过将第一路名句段和第二路名句段分别转换为向量,并计算第一路名句段的向量与第二路名句段的向量的夹角余弦值来计算相似度,具体地,将句段转换为向量可以通过word2vec软件完成。

类似地,也可以通过上述方式计算第一小区名句段和第二小区名句段的相似度。

可选地,可以根据所述第一路名句段和所述第二路名句段的相同字符数的数目和目标交换操作次数确定所述第一相似度,并根据所述第一小区名句段和所述第二小区名句段的相同字符数的数目和目标交换操作次数确定所述第二相似度。

其中,所述目标交换操作次数为,重复执行将任意两字符互换字符位置的字符交换操作,直至将所述第一句段中的目标字符的排列顺序,调整至与所述第二句段中的所述目标字符的排列顺序一致时,所需的最少的字符交换操作次数;所述目标字符为在所述第一句段中和所述第二句段中均存在的字符。

可以通过句段中相同字符数的数目和目标交换操作次数来确定该相似度,例如,该相似度可以是相同字符的数目减目标交换操作次数的差与一固定数值(如该固定数值可以是10)的比值。

可选地,可以通过确定所述第一句段和所述第二句段的相同字符数的数目与在所述第一句段和所述第二句段中出现过的字符总量的比值为相交相似度,并确定所述目标字符数目与所述目标操作次数的差值与所述目标字符数目的比值为顺序相似度的方式确定所述第一相似度和所述第二相似度,所述相似度为所述相交相似度和所述顺序相似度的乘积。值得说明的是,如果第一句段与第二句段中的目标字符排列顺序相同时,则该顺序相似度为1。

例如,若第一路名句段为“锦绣东路”,第二路名句段为“锦绣路”,则该第一相似度为“锦绣东路”与“锦绣路”的相交相似度(3/4,即0.75)与顺序相似度(由于第一路名句段中的字符序列[锦,绣,路]与第二路名句段中的字符序列[锦,绣,路]排列顺序相同,所以该顺序相似度为1)的乘积,即,该第一相似度为0.75;若第一小区名句段为“流星花园”,第二小区名句段为“星流大花园”,则该第二相似度为“流星花园”与“星流大花园”的相交相似度(4/5,即0.8),与字符序列[流,星,花,园]和字符序列[星,流,花,园]顺序相似度(3/4,即0.75)的乘积,即,该第二相似度为0.6。

s35、若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

第一相似度阈值和第二相似度阈值可以是相同的值,也可以是不同的值。该第一相似度阈值和第二相似度阈值可以同时为0.5,也就是说,第一路名句段和第二路名句段不需完全相同,第一小区名句段和第二小区名句段也不需完全相同;该第一相似度阈值可以是1,该第二相似度阈值可以是0.5,也就是说,第一路名句段和第二路名句段需要完全相同,而第一小区名句段和第二小区名句段可以不同。

例如,该第一路名句段为“花园石桥路”,小区名句段为“汤臣一品”,该第二路名句段为“花园桥路”,第二小区名句段为“汤陈一品”在s12中使用杰卡德系数法对“花园石桥路”“花园桥路”计算相似度为0.8,对“汤臣一品”和“汤陈一品”计算相似度为0.6。这样,当第一相似度阈值与第二相似度阈值同为0.5时,可以判断第一地址字符串与第二地址字符串对应相同的小区;当第一相似度阈值为1,第二相似度阈值为0.5时,可以判断第一地址字符串与第二地址字符串不对应相同的小区。

在一种可能的实现方式中,在确定所述第一地址字符串与所述第二地址字符串对应相同的小区之后,可以将所述第一路名句段和所述第一路名句段后的第一路号句段组成的第一路名组合句段、所述第二路名句段和所述第二路名句段后的第二路号句段组成的第二路名组合句段、所述第一小区名句段和所述第二小区名句段对应存入小区名数据库。

所述小区名数据库用于,在接收到用户输入的目标地址信息时在所述小区名数据库中查找与所述目标地址信息匹配的小区名或路名。

例如,在判断“锦绣东路1650弄香梅花园”和“锦绣路梅香花园”对应同一小区之后,可以将第一路名组合句段“锦绣东路1650弄”、第一小区名句段“香梅花园”和第二小区名句段“梅香花园”存入数据库(由于第二地址字符串中不存在第二路名组合句段,故不存入第二路名组合句段),这样,如果在用户输入的另一新的地址字符串中出现了“锦绣东路1650号”,即使在该新的地址字符串中没有小区名句段,也可以通过查找得知该新的地址字符串与该“锦绣东路1650弄香梅花园”和“锦绣路梅香花园”对应相同的小区。

s36、获取第一数词序列和第二数词序列,所述第一数词序列为所述第一地址字符串中所述第一小区名句段之后按原有顺序排列的数词分句词组成的数词序列,所述第二数词序列为所述第二地址字符串中所述第二小区名句段之后按原有顺序排列的数词分句词组成的数词序列。

例如,若第一地址字符串为“上海市浦东新区花园石桥路28弄汤臣一品一栋一单元1号”,第二地址字符串为“上海市花园石桥路汤臣一品a座1单元01”,则该第一数词序列为“一-一-1”,第二数词序列为“a-1-01”。

s37、判断所述第一数词序列与所述第二数词序列中相同序列位的所述数词分句词是否为对应同一词义的数词。

值得说明的是,当两数词分类词相同时,两数词分类词对应的是相同的词义,但是在两数词分类词不同,但在各自的数词体系中排位相同时,也可以对应相同的词义。例如,与数词分类词1对应的其他数词分类词可以有“一”、“壹”、“first”、“第一”、“i”、“a”、“a”、“甲”等,与数词分类词4对应的其他数词分类词可以有“四”、“肆”、“fourth”、“第四”、“iv”、“d”、“d”、“丁”等。

在判断第一数词序列“一-一-1”与第二数词序列“a-1-01”中相同序列位的数词分句词是否对应同一词义的数词时,将“一”与“a”、“一”与“1”、“1”与“01”分别对比,则可以得知所述第一数次序列与所述第二数词序列中相同序列位的所述分句词对应同一词义的数词。

s38、若为对应同一词义的数词,则确定所述第一地址字符串与所述第二地址字符串对应相同的地址。

通过上述的技术方案,通过对地址字符串进行分句的方式,从两个地址字符串中分别提取第一、第二路名句段和第一、第二小区名句段,通过计算两路名句段的第一相似度与两小区名句段的第二相似度,将第一相似度与第一相似度阈值对比,将第二相似度与第二相似度阈值对比,可以通过对比结果判断两个地址字符串是否对应相同的小区。这样,提高对句段进行对比的容错性,在出现较小输入错误时不影响对句段的分析,即使在地址字符串中有错字、漏字、多字等情况下,也可以将两个相似的地址字符串对比得到两地址字符串对应相同的小区的结果,并且,通过对比对应同一小区的两地址字符串中小区名句段之后的数词序列是否对应同一词义的数词,还可以在不同用户书写习惯不同的场景下进一步判断两地址字符串是否对应同一地址,提升了地址信息处理的精确度。

图4是根据一示例性共公开实施例示出的一种地址信息处理装置的框图。如图4所示,所述装置400包括确定模块410、计算模块420、处理模块430。

其中,所述确定模块410,用于确定第一地址字符串中第一路名句段和第一小区名句段,确定第二地址字符串中的第二路名句段和第二小区名句段。

所述计算模块420,用于计算所述第一路名句段和所述第二路名句段的第一相似度,并计算所述第一小区名句段和所述第二小区名句段的第二相似度。

所述处理模块430,用于若所述第一相似度高于第一相似度阈值,且所述第二相似度高于第二相似度阈值,确定所述第一地址字符串与所述第二地址字符串对应相同的小区。

可选地,所述确定模块410,包括:查找子模块,用于查找所述地址字符串中属于预设分句词集的分句词,其中,所述预设分句词集包括以下类型分句词:行政区名分句词、路名分句词、小区名分句词、数词分句词、量词分句词;分句子模块,用于将所述分句词作为分句的起始词和/或截止词,对所述地址字符串进行句段划分处理,得到由所述起始词开始和/或以所述截止词结束的一个或多个句段;确定子模块,用于根据得到的每一所述句段中包括的所述分句词,以及所述分句词与句段类型的对应关系,从多个所述句段中确定路名句段和小区名句段;其中,所述分句词与句段类型的对应关系,包括:包括所述路名分句词的句段为所述路名句段;包括所述小区名分句词的句段为所述小区名句段。

可选地,所述行政区名分句词包括以下任意字符或字符组合:区、镇、街道、街道办、街道办事处、新区、工业区、工业园、开发区;所述路名分句词包括以下任意字符或字符组合:路、大街、大道、街、社区、街区;所述小区名分句词包括以下任意字符或字符组合:村、新村、邨、新邨、小区、公寓、花园、家园、府邸、公馆、山庄、街坊;所述量词分句词包括以下任意字符或字符组合:号、弄、段、层、室、单元、栋、幢、期;所述数词分句词包括以下任意字符或字符组合:阿拉伯数字、中文数字、罗马数字、英文大写字母、英文小写字母、中文天干字符。

可选地,所述分句词与句段类型的对应关系,包括:包括数词分句词,以及在所述数词分句词之后,与所述数词分句词之间无间隔字符的量词分句词的句段为号句段;所述确定子模块,还用于判断所述地址字符串中是否存在路号句段,所述路号句段为在所述路名句段之后,且与所述路名句段无间隔字符的所述号句段;若所述地址字符串中存在所述路号句段,则将在所述路号句段之后,且在所述路号句段之后的首位数词分句词之前的字符串确定为所述小区名句段;若所述地址字符串中不存在所述路号句段,则将在所述路名句段之后,且在所述路名分句词之后的首位数词分句词之前的字符串确定为所述小区名句段。

可选地,所述装置400还包括:获取模块,用于获取第一数词序列和第二数词序列,所述第一数词序列为所述第一地址字符串中所述第一小区名句段之后按原有顺序排列的数词分句词组成的数词序列,所述第二数词序列为所述第二地址字符串中所述第二小区名句段之后按原有顺序排列的数词分句词组成的数词序列;判断模块,用于判断所述第一数词序列与所述第二数词序列中相同序列位的所述数词分句词是否为对应同一词义的数词;若为对应同一词义的数词,则确定所述第一地址字符串与所述第二地址字符串对应相同的地址。

可选地,所述装置400还包括:存储模块,用于将所述第一路名句段和所述第一路名句段后的第一路号句段组成的第一路名组合句段、所述第二路名句段和所述第二路名句段后的第二路号句段组成的第二路名组合句段、所述第一小区名句段和所述第二小区名句段对应存入小区名数据库;所述小区名数据库用于,在接收到用户输入的目标地址信息时在所述小区名数据库中查找与所述目标地址信息匹配的小区名或路名。

可选地,计算模块420,包括:

计算子模块,用于根据第一句段和第二句段的相同字符数的数目和目标交换操作次数确定所述相似度;其中,所述目标交换操作次数为,重复执行将任意两字符互换字符位置的字符交换操作,直至将所述第一句段中的目标字符的排列顺序,调整至与所述第二句段中的所述目标字符的排列顺序一致时,所需的最少的字符交换操作次数;所述目标字符为在所述第一句段中和所述第二句段中均存在的字符。

可选地,所述计算子模块,用于确定所述第一句段和所述第二句段的相同字符数的数目与在所述第一句段和所述第二句段中出现过的字符总量的比值为相交相似度;确定所述目标字符数目与所述目标操作次数的差值与所述目标字符数目的比值为顺序相似度;所述相似度为所述相交相似度和所述顺序相似度的乘积。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述地址信息处理方法的步骤。

本公开提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现任一项所述地址信息处理方法的步骤。

图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。

其中,处理器501用于控制该电子设备500的整体操作,以完成上述的地址信息处理方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如地址信息、分句词、分句词与句段属性的对应关系等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的地址信息处理方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的地址信息处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的地址信息处理方法。

图6是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的地址信息处理方法。

另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(i/o)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的地址信息处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的地址信息处理方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1