CN113746946B - 全球地址解析器 - Google Patents
全球地址解析器 Download PDFInfo
- Publication number
- CN113746946B CN113746946B CN202110590121.6A CN202110590121A CN113746946B CN 113746946 B CN113746946 B CN 113746946B CN 202110590121 A CN202110590121 A CN 202110590121A CN 113746946 B CN113746946 B CN 113746946B
- Authority
- CN
- China
- Prior art keywords
- address
- records
- output
- deep learning
- learning model
- 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.)
- Active
Links
- 238000013136 deep learning model Methods 0.000 claims abstract description 56
- 230000004048 modification Effects 0.000 claims abstract description 38
- 238000012986 modification Methods 0.000 claims abstract description 38
- 230000000306 recurrent effect Effects 0.000 claims abstract description 18
- 230000007787 long-term memory Effects 0.000 claims abstract description 13
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 230000006403 short-term memory Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 241000220225 Malus Species 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013434 data augmentation Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- 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/29—Geographical information databases
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Machine Translation (AREA)
Abstract
本公开涉及使用深度学习模型解析地址。深度学习模型可以使用多个参考地址记录和对多个参考地址记录的多个修改来训练。在一些实现中,模型能够是多层双向长短期记忆递归神经网络模型。模型的输出可以包括对地址的每个字符的地址分量类型的指示。输出能够基于地址分量类型的指示被解析,以获得地址的多个标记地址分量。标记地址分量能够与参考地址记录进行比较,以确定标识地理位置的匹配地址记录。
Description
背景技术
本公开涉及地址解析。地址是人们用来描述地理位置或地方的唯一标识符。地址对于现代互联网连接的生活非常重要,诸如送货服务、地图搜索、旅行和住宿等。然而,个人输入的地址(例如,键入为字符串)可能无法被计算机系统直接识别和处理。为了使个人输入的地址能够被计算机识别和处理,计算机可能需要将输入的地址解析为单独的组成部分,诸如门牌号、街道类型、街道名称、邮政编码、城市、州、国家等。地址解析器能够提供功能以将个人输入的此类自由格式的地址解析成结构化的地址分量。
基于规则(例如,基于正则表达式)的地址解析器可能有某些缺点。例如,基于规则的地址解析器可能很复杂,并且在某些情况下性能可能很差。此外,基于规则的地址解析器可能难以维护,并且可能难以扩展特定的基于规则的解析器以支持全球地址(globaladdresses)而不是特定国家或地区的地址。解析全球各地使用的不同地址格式可能需要具有强大领域知识的专家来准备和调整规则。
因此,需要改进的地址解析技术。如下文进一步描述的,本公开涉及这些问题和其它问题。
发明内容
一种实现提供包括一个或多个处理器的计算机设备。计算机设备还包括耦合到一个或多个处理器并存储计算机程序代码的机器可读介质。计算机程序代码包括一个或多个处理器可执行的指令集。指令可执行以获得包括多个字符的地址。指令还可执行以将地址应用于深度学习模型以获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和对多个参考地址记录的多个修改训练深度学习模型。多个修改基于多个地址分量类型。指令还可执行以基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量。指令还可执行以将地址的多个标记地址分量与多个参考地址记录进行比较,以确定匹配地址记录。匹配地址记录标识与地址相对应的地理位置。
另一个实现提供一个或多个存储计算机程序代码的非暂时性计算机可读介质。计算机程序代码包括指令集以获得包括多个字符的地址。计算机程序代码还包括指令集以将地址应用于深度学习模型来获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型。计算机程序代码还包括指令集以基于对多个字符中的每个字符的地址分量类型的指示解析输出来获得地址的多个标记地址分量。计算机程序代码还包括指令集以将地址的多个标记地址分量与多个参考地址记录进行比较来确定匹配记录。匹配记录标识与地址相对应的地理位置。
另一个实现提供了计算机实现的方法。所述方法包括获得包括多个字符的地址。所述方法还包括将地址应用于深度学习模型以获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型。所述方法还包括基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量。所述方法还包括将地址的多个标记地址分量与多个参考地址记录进行比较,以确定匹配地址记录。匹配地址记录标识与地址相对应的地理位置。
以下详细描述和附图提供了对本公开的性质和优点的更好理解。
附图说明
图1示出了根据实施例的地址解析系统的图。
图2示出了根据实施例的用于地址解析的方法的流程图。
图3示出了根据实施例的使用深度学习的地址转换处理。
图4示出了根据实施例的深度学习地址模型。
图5示出了根据实施例的可应用于地址解析模型的示例性输入表示。
图6示出了根据实施例的来自地址解析模型的示例性输出表示。
图7示出了用于实现本文所述的系统和方法的专用计算机的硬件的图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多示例和具体细节,以便提供对本公开的透彻理解。此类示例和细节不应被解释为过度限制权利要求或作为整体的要求保护的主题的要素。基于不同权利要求的语言,显而易见的是,所要求保护的主题可以单独或组合地包括这些示例中的一些或全部特征,并且可以进一步包括本文所描述的特征和技术的修改和等同物。
如上所述,基于规则(例如,基于正则表达式)的地址解析器可能有某些缺点。例如,基于规则的地址解析器可能很复杂,并且在某些情况下性能可能很差。此外,基于规则的地址解析器可能难以维护,并且可能难以扩展特定的基于规则的解析器以支持全球地址,而不是特定国家或地区的地址。解析全球各地使用的不同地址格式可能需要具有丰富领域知识的专家来准备和调整规则。
基于规则的解析器的一些缺点是需要收集标识符字典来分配词义,并且需要具有强大地址领域知识的专家来编写地址行解析规则,这既复杂又耗时。另一缺点是某些基于规则的解析器可能包含一个复杂的预处理阶段,该阶段需要拆分单词并通过查询字典为每个单词分配含义,而字典是每个国家预先收集的。另一缺点是基于正则表达式的地址解析规则需要大量的计算机处理资源,并且因此处理速度很慢。某些基于规则的地址解析器的另一缺点是,它们包括复杂的预处理步骤,需要对数据库进行大量查询,从而降低了性能。某些基于规则的地址解析器的另一缺点是,每个国家可能有许多关键字和规则,任何更改都将会影响大量的解析规则,需要领域专家做出大量努力来调整规则。某些基于规则的地址解析器的另一缺点是耗时,并且需要领域专家付出巨大努力来支持新的国家,因为每个新国家的关键字和规则都需要准备和调整。
本公开描述了使用深度学习模型的地址解析技术,该深度学习模型提供了优于基于规则的地址解析器的优点。例如,在自然语言处理(NLP)中,深度学习可以被用于执行文本分类。本公开将深度学习应用于地址解析以克服基于规则的地址解析器的缺点。改进的地址解析器可以使用双向递归神经网络(RNN)来支持过去和将来的信息使用。改进的地址解析器可以使用长短期记忆(LSTM)递归神经网络来支持长时间的信息记忆。改进的地址解析器可以使用多层RNN使网络更深入并且使训练速度更快,从而达到改进的效果。改进的地址解析器可以使用排版错误生成器和基于双元音的语音相似性生成器进行训练和数据准备,以防止过拟合问题。
与基于规则的解析器相比,改进的地址解析器鲁棒、易于维护并且提供提高的性能。例如,为了支持新的国家,改进的地址解析器可以使用新国家的参考数据来训练模型,而不需要领域专家的大量工作。
下面将进一步详细解释改进的地址解析技术。
图1示出了根据实施例的地址解析系统的图。地址解析系统包括客户端计算机110、地址服务器130和建模服务器150。例如,客户端计算机110可以是个人计算机、膝上型计算机、智能手机、平板计算机或可穿戴设备。例如,地址服务器130可以是服务器计算机或包括多个服务器计算机的系统,诸如web服务器或基于云的平台服务器。建模服务器150也可以是服务器计算机或包括多个服务器计算机的系统。在一些实现中,地址服务器130和建模服务器150的功能可以由同一服务器或同一系统执行。
客户端计算机110可以被配置为通过诸如互联网或本地内联网的网络与地址服务器130通信。地址服务器130可以被配置为通过诸如互联网或本地内联网的网络与建模服务器150通信。
客户端计算机110包括用户接口111。客户端计算机110的用户可以向用户接口111输入地址。例如,地址可以用于送货服务、地图搜索、旅行和住宿等。地址可以被发送到地址服务器130以被解析,使得地址服务器130或另一地址服务器130能够对其进行处理(例如,为了提供送货服务、地图搜索、旅行和住宿等)。
地址服务器130包括地址解析器131、地址模型133和参考数据135。地址服务器130能够处理由用户输入的地址以将其与有效地址匹配。地址解析器131可以预处理从客户端计算机110接收的地址,如以下进一步描述的。预处理的地址可以被输入到地址模型133。在一些实现中,地址模型133可以是多层双向长短期记忆递归神经网络模型。地址模型的输出可以由地址解析器131处理并且与参考数据135进行比较。参考数据可以包括特定国家或地区的地址记录的经过验证的列表。参考数据可以由该国家或地区的邮政部门验证。使用地址模型133,用户输入的地址能够与参考数据135中的有效地址相匹配,即使用户输入的地址包括排版或格式错误,如下所述。
建模服务器150包括参考数据151和地址模型153。建模服务器可以配置为使用参考数据151生成地址模型153。建模服务器150处的参考数据151可以与参考数据135相同,也可以不同。例如,建模服务器150处的参考数据151可以包括多个国家的参考地址记录,而地址服务器处的参考数据131可以包括单个国家或地区的参考地址记录。建模服务器150可以生成并维护训练数据和地址模型,使得它们能够被提供到地址服务器,诸如地址服务器130。下面进一步描述用于地址解析的地址模型的使用和地址模型的生成。
图2示出了根据实施例的用于地址解析的方法的流程图200。例如,该方法可以由上述地址服务器130实现。
在201,该方法获得包括多个字符的地址。如上所述,地址可以由用户输入到用户接口。例如,地址中的多个字符可以是:“100main street,Seattle,WA 98104,US”。在一些实现中,该方法对地址应用字符嵌入模型以获得字符嵌入地址。
在202,该方法将地址应用于深度学习模型以获得输出。在一些实现中,深度学习模型可以是多层双向长短期记忆递归神经网络模型。下面将进一步描述深度学习模型。
模型的输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。地址分量类型指代地址的不同部分,诸如分隔符(例如逗号或空格)、单元号、单元描述、楼层号、楼层描述、建筑名称、主要编号、主要名称、主要类型、主要前缀、主要后缀、地点、地区、邮政编码或国家。
深度学习模型可以使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改来训练。在一些实现中,该方法通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改。该方法还可以基于多个参考地址记录和多个修改创建训练数据。该方法还包括使用训练数据生成深度学习模型。在一些实现中,对多个参考地址记录的多个修改可以基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
在203,该方法基于对多个字符中的每个字符的地址分量类型的指示解析模型的输出,以获得地址的多个标记地址分量。下面进一步描述对输出的解析。在一些实现中,该方法对输出应用分类函数以获得分类输出。
在204,该方法将地址的多个标记地址分量与多个参考地址记录进行比较,以确定匹配地址记录。匹配地址记录标识与地址相对应的地理位置。在一些实现中,该方法基于匹配地址记录生成标准化地址。标准化地址可以根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
图3示出了根据实施例的使用深度学习的地址转换处理300。地址转换处理300可以接收输入地址310,基于深度学习模型321使用地址解析器320解析地址,搜索和匹配331地址与参考数据333中的有效地址,执行地址的后处理340,包括标准化341,并且然后输出标准化输出地址350。下面描述使用示例性输入地址来获得标准化输出地址的地址转换处理。
为了执行地址转换,获得输入地址310。地址包括多个字符(例如,字母、数字、符号等)。本示例中的输入地址319是:
100main street,Seattle,WA 98104,US
输入地址310可以由地址解析器320获得。例如,地址解析器320可以由诸如本文所述的地址服务器的服务器执行的计算机程序来实现。地址解析器320可以将地址应用于深度学习模型以获得输出。在一些实现中,地址解析器320能够在将地址应用于深度学习模型321之前对其进行预处理。在一些实现中,深度学习模型321可以是多层双向长短期记忆递归神经网络模型。下面将进一步描述深度学习模型的结构、功能和生成。
在此示例中,深度学习模型的输出329是地址的多个标记地址分量:
PRIMARY_NUMBER:“100”
PRIMARY_NAME:“main”
PRIMARY_TYPE:“street”
POSTCODE:“98104”
LOCALITY:“Seattle”
REGION:“WA”
COUNTRY:“US”
模型321的输出329包括来自对地址的多个字符中的每个字符的地址分量类型的指示或标签。例如,字符“100”被指示为地址分量的“PRIMARY_NUMBER”类型,字符“main”被指示为地址分量的“PRIMARY_NAME”类型,字符“Street”被指示为地址分量的“PRIMARY_TYPE”类型等。地址分量类型指代地址的不同部分,诸如分隔符、单元号、单元描述、楼层号、楼层描述、建筑名称、主要编号、主要名称、主要类型、主要前缀、主要后缀、地点、地区、邮政编码或国家。在其它实现中,可以根据参考数据333的地址分量类型使用不同的或附加的地址分量类型。
模型的输出329被提供到地址搜索功能330。例如,地址搜索330可以由诸如本文所述的地址服务器的服务器执行的计算机程序来实现。地址搜索330包括参考数据333的搜索和匹配331。例如,搜索功能330可以将输出的多个标记地址分量与参考数据333中的多个参考地址记录进行比较,以确定匹配地址记录339。在一些实现中,在将模型的输出与参考数据333进行比较之前,可以对其进行后处理
参考数据333可以包括由例如邮局或其他组织提供的特定国家或地域的地址的有效地址记录。匹配地址记录339是参考数据333中与模型的输出最佳匹配的有效地址。在一些情况下,将存在与参考数据333中的一个以上有效地址的部分匹配。在此示例中,匹配地址记录339可以是:
PRIMARY_NUMBER:“100”-匹配
PRIMARY_NAME:“main”-匹配
PRIMARY_TYPE:“Street”-匹配
POSTCODE:“98104”-匹配
LOCALITY:“Seattle”-匹配
REGION:“WA”-匹配
COUNTRY:“US”-匹配
地址搜索330的结果被提供到地址后处理器340。例如,地址后处理器340可以由诸如本文所述的地址服务器的服务器执行的计算机程序来实现。地址后处理器340可以提供关于分配水平的信息,诸如指示哪些地址分量与参考数据333完全匹配以及哪些地址分量与参考数据333部分匹配。例如,可以应用匹配算法(例如,编辑距离匹配算法)并提供匹配分数。例如,模型输出中的“Main”可以与参考数据333中的“MAIN”匹配,分数为100,而“Maim”可以与“Main”匹配,分数为80。
地址后处理器340可以输出标准化输出地址350。标准化输出地址350可以包括基于预先确定的规则或要求集合的格式化地址分量。例如,标准化规则可以被用于使用大写单词和街道类型的简称来标准化地址。对于此示例,输入319,标准化输出349是:
PRIMARY_NUMBER:“100”
PRIMARY_NAME:“Main”
PRIMARY_TYPE:“St”
POSTCODE:“98104”
LOCALITY:“Seattle”
REGION:“WA”
COUNTRY:“US”
如图所示,地址使用大写单词(例如,“Main”)和街道类型的简称(例如,“St”)。
因此,给定由个人输入的输入地址310,地址转换处理300能够使用深度学习模型来确定有效且标准化的输出地址350。下面参照图4进一步描述深度学习模型。
图4示出了根据实施例的深度学习地址模型400。在一些实现中,地址模型400可以由上述建模服务器150或地址服务器130生成。模型400接收输入401,诸如由个人输入到用户接口的地址。模型400可以包括嵌入层402以应用单词或字符嵌入。模型还可以包括建模层403。建模层403可以包括多层双向长短期记忆(BLSTM)递归神经网络(RNN)。模型还可以包括分类层以处理建模层的输出。分类层的输出可以由预测层405处理。下面进一步详细描述模型400的层。
在图4所示的实现中,模型400是递归神经网络。递归神经网络可以被配置为解决自然语言处理中的问题。RNN可以被用于按顺序进行预测。例如,在语言建模和生成文本中,如果给定单词序列,RNN可以预测下一个单词的可能性。RNN可以使先前输出在具有隐藏状态的同时被用作输入。通常,RNN可以一次读取一个输入(诸如单词),并且通过可以从一个时间步长被传递到下一个时间步长的隐藏层激活来记住一些信息或上下文。这允许RNN使用来自过去的信息来处理以后的输入。
然而,传统的RNN有一定的局限性。例如,一个限制是将来的信息可能不会被考虑在内。此外,RNN可能无法有效地捕获长期依赖关系。
双向递归神经网络可以解决传统RNN的局限性。例如,在文本生成中,“It is__apple.”。如果使用RNN,则缺少的单词可能是“a”或“an”,由于RNN可能只使用过去的信息。然而,当使用双向递归神经网络时,未来的信息(在此示例中是单词“apple”)可以有助于预测缺少的单词是“an”。
传统RNN的另一限制是它们可能无法长时间记住信息。例如,在文本生成中,“Theapples on the table__red.”。对缺少的单词的正确预测应该是“are”。然而,如果使用传统的RNN,缺少的单词可能预测为“is”,因为只有信息“table”可以被用于预测下一个单词。因此,一个问题是RNN可能在很长一段时间内不记得单词“apple”。然而,长短期记忆(LSTM)网络可以被用于解决这种长期依赖性问题。
因此,在一些实现中,地址解析器可以对地址模型使用多层双向LSTM。然而,在实现中可能无法实现神经网络的所有这些特性。在一些实现中,地址解析器可以使用其他类型的神经网络。在一些实现中,地址解析器可以使用其他类型的深度学习模型。
返回参照图4,输入层可以获得诸如地址字符串(例如,指示地址的字符串)的输入401。例如:
100main street,Seattle,WA 98104,US
输入可以由嵌入层402在其被提供到建模层403之前被嵌入。嵌入层402可以将输入数据从高维数据映射到低维空间。嵌入可以使在诸如表示单词的稀疏向量的大型输入上执行机器学习变得更容易。嵌入可以基于单词或字符。
单词嵌入指代在连续空间中将单词表示为向量,从而捕获到它们之间的许多句法和语义关系。然而,单词嵌入可能会遇到未登录词(OOV)问题。也就是说,可能很难把所有的单词都收集到字词库中。在这种情况下,单词嵌入可能无法嵌入那些不在字词库中的单词。另外,对于大量的单词,单词嵌入可能需要大量的存储和计算资源。
字符嵌入指代字符感知神经语言模型,它使用RNN学习字符单词表示。字符嵌入可以避免单词嵌入中的未登录词问题。与基于单词的嵌入相比,利用基于字符的嵌入可以大大减少空间(向量的维数)。例如,能够使用字母数字和一些特殊字符来定义字符列表。这可以是英文字符(52)、数字(10)、特殊字符(20)和一个未知字符(UNK)。例如,总共83个字符。利用83个字符,字符嵌入可以覆盖所有拉丁文字。基于字符的嵌入的另一优点是可以处理拼写错误。因此,嵌入层402可以通过地址解析器使用基于字符的嵌入。在一些实现中,地址解析器可以使用基于单词和基于字符的嵌入的组合。
如上所述,双向长短期记忆(BLSTM)神经网络能够使用过去和未来的信息。此外,BLSTM还可以考虑长期记忆。因此,在一些实现中,建模层403可以使用BLSTM网络。在一些实现中,可以使用多层BLSTM网络。通过多层,每个步骤的输出可以作为输入被馈入另一BLSTM。通常,如图4所示,多层BLSTM架构可以被定义为由多个BLSTM层组成的LSTM模型。
多层的一个优点是,附加隐藏层可以使模型更深。增加网络的深度是一种代表性的优化,可以需要更少的神经元并且可以更快地训练。附加隐藏层可以重新组合从先前层学习的表示,并在高抽象水平上创建新的表示。例如,从线条到形状再到对象。
在以下示例情况下,双向功能可能有效。考虑地址:
100Street Road,New Hope,PA 18938
通常,“Street”和“Road”两者都是街道类型。但在这种情况下,“Street”是街道名称,“Road”是街道类型。如果不考虑将来的单词“Road”,单词“Street”可能无法被识别为此地址的街道名称。
因此,BLSTM在解析地址方面可能是有利的。然而,在一些实现中,可以使用不同类型的神经网络来代替。
输出建模层403可以被提供到分类层。例如,BLSTM模型中正向和反向传递的输出可以被组合在一起,作为全连接层404或“密集”层。密集层404可以是“全连接”层,因为一层中的所有神经元都连接到下一层中的神经元。全连接层的一个优点是,它可以提供来自先前层特征的所有组合的学习特征。此外,可以在全连接层上放置“丢弃”来防止过拟合。“丢弃”指代用于防止网络中过拟合的正则化技术。然后,全连接层的输出可以被提供到分类函数405,诸如用于分类的Softmax函数。
分类层的输出被提供到预测层406。预测层406从地址模型获得预测结果。输出可以包含预定义标签的可能性向量。标签可以类似于或基于地址分量类型。例如,标签可以包括SEPARATOR、UNIT_NUMBER、UNIT_DESCRIPTION、FLOOR_NUMBER,、FLOOR_DESCRIPTION、BUILDING_NAME、PRIMARY_NUMBER、PRIMARY_NAME、PRIMARY_TYPE、PRIMARY_PREFIX、PRIMARY_POSTFIX、LOCALITY、REGION、POSTCODE、COUNTRY、STAIRWELL_NAME、WING_NAME。标签“SEPARATOR”可以被用于分类地址分量当中的特殊字符。
然后,预测层406的输出可以在搜索和匹配中被使用,诸如上述关于图3的搜索和匹配。因此,深度学习模型可以被用于执行地址解析。然而,可以通过改进用于生成模型的训练数据来改进模型。
例如,个人输入的地址可能有各种格式。例如,地址中可能缺少邮政编码或地区,地址可能包括拼写错误,或者地址分量的顺序可能不同等。可以准备训练数据以便生成鲁棒模型。训练数据可以从参考数据中获得。例如,参考数据可以被称为“真实数据”,因为它可以从诸如各个国家邮局的官方组织或万国邮政联盟(UPU)数据获得。因此,参考数据中的地址可以被视为完整、正确且正式的地址。地址可以被分成地址分量。在一些实现中,地址分量可以被存储在数据库的列中。训练数据还可以包括来自人员或组织的标签。这些地址数据可能有助于建立鲁棒模型,因为这些地址很可能出现在现实世界输入中。
除了包括来自参考数据的原始地址之外,训练数据还可以包括对参考数据的修改。例如,可以使用可能出现在人的实际输入中的排列来生成地址。此类修改可能有助于防止模型中的过拟合。
参考数据的示例如下表(1)所示:
表1
对于地址模型,参考数据的每一列可以被视为特征。SEPARATOR(例如逗号、空格等)也可以是特征。标签可以与特征相同。模型的训练数据可以从参考数据生成。例如,所有列可以与分隔符组合成一个地址,例如:
100MAIN ST,SEATTLE,WA 98104,US
如果使用基于字符的嵌入,则应用于模型的地址的内部表示可以如图5所示。此外,在被提供到模型之前,可以使用嵌入而不是原始字母对字符进行编码。图5示出了根据实施例的可应用于地址模型的示例性输入表示500。
数据增强、噪声生成、排字错误生成和语音相似性技术可以被单独或组合地使用,以基于参考数据准备用于训练模型的附加训练数据。
数据增强指代随机产生各种排列作为附加地址。
在数据增强的一个示例中,在生成地址时,可以在地址分量之间添加分隔符(例如空格、“,”、“/”等)。例如,添加“,”至地址,“100,MAIN ST,SEATTLE,WA,98104,US”。例如,添加“/”至地址,“100/MAIN ST/SEATTLE/WA/98104/US”。例如,随机添加空格、“/”、“,”至地址,“100MAIN ST,SEATTLE/WA/98104,US”。
在另一示例中,拉丁字符可以被改为大写字符。例如,“a”到“A”、“à”到“A”等。
在另一示例中,单元/楼层/街道类型缩写可以被改为全名。例如,“RM”到“ROOM”、“FL”到“FLOOR”、“ST”到“STREET”、“RD”到“ROAD”等。
在另一示例中,楼层/街道号可以被转换为序数/基数词。例如,“1”到“1st”或“first”。
在另一示例中,地区/国家缩写可以被转换为全名。例如,“WA”到“WASHINGTON”、“US”到“UNITED STATES”等。
在另一示例中,邮政编码/地点/地区/国家可以被丢弃。例如,“100main St,Seattle,US”或“100main St,Seattle,WA”。
在另一示例中,单元类型/主要编号可以被丢弃。例如,“main St,Seattle,WA,US”。
在另一示例中,邮政编码/地点/地区的顺序可以改变。例如,“100main St,98104,Seattle,WA,US”。
例如,参考数据中的以下记录:
100,MAIN ST,SEATTLE,WA 98104,US
可以基于上述的一些数据增强被修改为以下地址集:
100,MAIN ST,SEATTLE,WA 98104,US
100MAIN ST/SEATTLE/WA 98104/US
100MAIN STREET,SEATTLE,WASHINGTON 98104,UNITED STATES
100MAIN ST,SEATTLE,98104WA,US
100MAIN ST,SEATTLE,WA,US
噪声生成是用于修改参考数据以改进训练数据的另一技术。噪声可以由随机生成的拼写错误产生。由于地址是由人类输入计算机的,所以每个地址分量都可能拼写错误。训练数据可以包括拼写错误,使得模型可以处理拼写错误。排字错误和语音拼写错误可以被用于创建噪声数据。
一个示例排字错误是删除字符。例如,“main”到“man”。
另一示例排字错误是替换。例如,键盘上附近字符的替换。例如,“main”到“maun”。
另一示例排字错误是重复。例如,“main”到“maiin”,具有重复的“i”。
另一示例排字错误是换位。例如,“main”到“mian”。
语音拼写错误也可能是人类造成的。例如,双元音算法可以被用于确定相似的发音。该算法使用预先定义的发音规则,将具有相近发音的单词组合成公共表示。训练数据可以包括从双元音算法提取的随机应用的公共发音规则。
一个示例语音拼写错误是使用以下规则转换单词的开头:KN→N、GN→N、PN→N、AE→E、WR→R。例如,“Knock”到“nock”。
另一示例语音拼写错误是使用以下规则替代“C”:
用X:CIA→XIA、SCH→SKH、CH→XH
用S:CI→SI、CE→SE、CY→SY
用K:C→K
例如,“class”到“klass”。
另一示例语音拼写错误是在元音的结尾或前面替换GH→H。例如,“high”到“hih”。
另一示例语音拼写错误是替换GN→N和GNED→NED,如果它们在结尾。例如,“sign”到“sin”。
另一示例语音拼写错误是使用下面的规则执行以下转换:CK→K、PH→F、Q→K、V→F、Z→S。例如,“phone”到“fone”。
另一示例语音拼写错误是在开始转换WH→W。如果后面没有元音,则移除“W”。例如,“white”到“wite”。
在训练模型之后,训练的模型可以被用于执行本文所讨论的地址解析。如上文关于图4所述,输入地址可被编码并且被应用于多层BLSTM递归神经网络。然后,可以将正向和反向传递的输出进行级联,并馈入具有激活的全连接(例如“密集”)层,以产生每个类的对数(logits)。例如,可以通过Softmax函数生成最终输出概率。图6中示出了示例输入地址“100MAIN ST,SEATTLE,WA 98104,US”的示例输出地址。
图6示出了根据实施例的来自地址解析模型的示例性输出表示600。在此表示中,值(从0到1)四舍五入为两位小数,并被格式化为灰度。
因此,可以将模型的输出解析为可读地址分量:
PRIMARY_NUMBER:100
PRIMARY_NAME:MAIN
PRIMARY_TYPE:ST
POSTCODE:98104
LOCALITY:SEATTLE
REGION:WA
COUNTRY:US
地址解析器的结果可以在如上所述的后处理中被进一步处理。还可以确定分配水平信息(例如,哪些地址分量与参考数据精确匹配或部分匹配)。匹配算法(例如,编辑距离匹配算法)也可以被应用于解析的地址以提供匹配分数。例如,“Main”与参考数据中的“MAIN”匹配,分数为100,而“Maim”与“MAIN”匹配,分数为80。
因此,深度学习模型可以通过使用修改参考地址记录对其训练来改进。此外,使用深度学习模型可以避免上述基于规则的地址解析器的缺点。
以下是本文描述的地址解析技术的附加示例性实现。
一种实现提供包括一个或多个处理器的计算机设备。计算机设备还包括耦合到一个或多个处理器并存储计算机程序代码的机器可读介质。计算机程序代码包括一个或多个处理器可执行的指令集。所述指令可执行以获得包括多个字符的地址。所述指令进一步可执行以将地址应用于深度学习模型以获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和对多个参考地址记录的多个修改训练深度学习模型。多个修改基于多个地址分量类型。所述指令还可执行以基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量。所述指令还可执行以将地址的多个标记地址分量与多个参考地址记录进行比较,以确定匹配地址记录。匹配地址记录标识与地址相对应的地理位置。
在计算机设备的一些实现中,所述指令还可执行,以通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改。所述指令还可执行以基于多个参考地址记录和多个修改创建训练数据。所述指令还可执行以使用训练数据生成深度学习模型。
在计算机设备的一些实现中,对多个参考地址记录的多个修改基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
在计算机设备的一些实现中,所述指令还可执行以将字符嵌入模型应用于地址以获得字符嵌入地址。在此类实施例中,应用于深度学习模型的地址是字符嵌入地址。
在计算机设备的一些实现中,所述指令还可执行以对输出应用分类函数以获得分类输出。在此类实施例中,被解析以获得多个标记地址分量的输出是分类输出。
在计算机设备的一些实现中,所述指令还可执行以基于匹配地址记录生成标准化地址。标准化地址可以根据多个标准化规则被格式化,并且可以指示多个地址分量类型中的一个或多个地址分量类型。
在计算机设备的一些实现中,深度学习模型是多层双向长短期记忆递归神经网络模型。
另一实现提供一个或多个存储计算机程序代码的非暂时性计算机可读介质。计算机程序代码包括指令集以获得包括多个字符的地址。计算机程序代码还包括指令集以将地址应用于深度学习模型来获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型。计算机程序代码还包括指令集以基于对多个字符中的每个字符的地址分量类型的指示解析输出来获得地址的多个标记地址分量。计算机程序代码还包括指令集以将地址的多个标记地址分量与多个参考地址记录进行比较来确定匹配记录。匹配记录标识与地址相对应的地理位置。
在一个或多个非暂时性计算机可读介质的一些实现中,所述计算机程序代码还包括指令集以通过修改、添加,或者移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改。在此类实现中,计算机程序代码还包括指令集以基于多个参考地址记录和多个修改创建训练数据。计算机程序代码还包括指令集以使用训练数据生成深度学习模型。
在一个或多个非暂时性计算机可读介质的一些实现中,对多个参考地址记录的多个修改基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
在一个或多个非暂时性计算机可读介质的一些实现中,计算机程序代码还包括指令集以将字符嵌入模型应用于地址来获得字符嵌入地址。在此类实现中,应用于深度学习模型的地址是字符嵌入地址。
在一个或多个非暂时性计算机可读介质的一些实现中,计算机程序代码还包括指令集以对输出应用分类函数应来获得分类输出。在此类实现中,被解析以获得多个标记地址分量的输出是分类输出。
在一个或多个非暂时性计算机可读介质的一些实现中,计算机程序代码还包括指令集以基于匹配地址记录生成标准化地址。标准化地址根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
在一个或多个非暂时性计算机可读介质的一些实现中,深度学习模型是多层双向长短期记忆递归神经网络模型。
另一实现提供了计算机实现的方法。所述方法包括获得包括多个字符的地址。所述方法还包括将地址应用于深度学习模型以获得输出。所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示。使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型。所述方法还包括基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量。所述方法还包括将地址的多个标记地址分量与多个参考地址记录进行比较,以确定匹配地址记录。匹配地址记录标识与地址相对应的地理位置。
在所述方法的一些实现中,所述方法还包括通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改。所述方法还包括基于多个参考地址记录和多个修改创建训练数据。所述方法还包括使用训练数据生成深度学习模型。
在所述方法的一些实现中,对多个参考地址记录的多个修改基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
在所述方法的一些实现中,所述方法还包括将字符嵌入模型应用于地址以获得字符嵌入地址。在此类实现中,应用于深度学习模型的地址是字符嵌入地址。
在所述方法的一些实现中,所述方法还包括对输出应用分类函数以获得分类输出。在此类实现中,被解析以获得多个标记地址分量的输出是分类输出。
在所述方法的一些实现中,所述方法还包括基于匹配地址记录生成标准化地址。标准化地址根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
在所述方法的一些实现中,深度学习模型是多层双向长短期记忆递归神经网络模型。
图7示出了用于实现本文所述的系统和方法的专用计算机的硬件的图。下面的硬件描述仅仅是一个示例。应当理解,可以使用各种计算机拓扑来实现上述技术。图7所示的硬件可以被用于实现本文所述的地址解析系统。例如,图7的计算机系统710的硬件可以被用于实现图1的客户端计算机110。类似的硬件可以被用于实现图1的地址服务器130和建模服务器150。在一些实现中,图1的地址服务器130可以对应于图7的服务器731,并且图1的建模服务器150可以对应于图7的服务器732。
在图7中图示了示例计算机系统710。计算机系统710包括总线705或用于通信信息的其他通信机制,以及耦合到总线705的一个或多个处理器701,用于处理信息。计算机系统710还包括耦合到总线705的存储器702,用于存储将由处理器701执行的信息和指令,例如,包括用于执行上述一些技术的信息和指令。此存储器还可以被用于存储由处理器701执行的程序。此存储器的可能实现可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)或两者。还提供了用于存储信息和指令的存储设备703。存储设备的常见形式包括例如硬盘驱动器、磁盘、光盘、CD-ROM、DVD、闪存或其他非易失性存储器、USB存储卡或计算机能够从中读取的任何其他介质。例如,存储设备703可以包括用于执行上述技术的源代码、二进制代码或软件文件。存储设备和存储器两者都是非暂时性计算机可读存储介质的示例。
计算机系统710可以经由总线705耦合到用于向计算机用户显示信息的显示器712。诸如键盘、触摸屏和/或鼠标的输入设备711被耦合到总线705,用于将信息和命令选择从用户通信到处理器701。这些组件的组合允许用户与系统通信。例如,在一些系统中,总线705表示多个专用总线。
计算机系统还包括与总线705耦合的网络接口704。网络接口704可以提供计算机系统710和网络720之间的双向数据通信。例如,网络接口704可以是无线或有线连接。例如,计算机系统710能够通过网络接口704跨局域网、内联网、蜂窝网络或互联网发送和接收信息。在互联网示例中,例如,浏览器可以访问后端系统上的数据和特征,后端系统可以跨网络驻留在多个不同的硬件服务器731-734上。例如,服务器731-734可以是云计算环境的一部分。
以上描述说明了本公开的各种实施例以及如何实现特定实施例的方面的示例。以上示例不应被视为唯一的实施例,并且被呈现以说明如以下权利要求所定义的特定实施例的灵活性和优点。基于上述公开和以下权利要求,在不脱离由权利要求所定义的本公开的范围的情况下,可以采用其他布置、实施例、实现和等同物。
如本文所使用的,除非指示,否则术语“第一”、“第二”、“第三”、“第四”、“第五”、“第六”、“第七”、“第八”、“第九”、“第十”等不一定指示顺序或序列。如本文所使用的,这些术语可以简单地被用于区分不同的对象或元件。
以上描述说明了本公开的各种实施例以及如何实现特定实施例的方面的示例。以上示例不应被视为唯一的实施例,并且被呈现以说明如以下权利要求所定义的特定实施例的灵活性和优点。基于上述公开和以下权利要求,在不脱离由权利要求所定义的本公开的范围的情况下,可以采用其他布置、实施例、实现和等同物。
Claims (20)
1.一种计算机设备,包括:
一个或多个处理器;以及
机器可读介质,耦合到一个或多个处理器并存储计算机程序代码,所述计算机程序代码包括一个或多个处理器可执行的指令集,以:
获得包括多个字符的地址;
将地址应用于深度学习模型以获得输出,所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示,使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型;
基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量;
将地址的多个标记地址分量与多个参考地址记录进行比较,以确定标识与地址相对应的地理位置的匹配地址记录;以及
后处理匹配地址记录以提供关于分配级别的信息,包括指示哪些地址分量与参考地址记录完全匹配以及哪些地址分量与参考地址记录部分匹配。
2.根据权利要求1所述的计算机设备,其中,所述计算机程序代码还包括一个或多个处理器可执行的指令集,以:
通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改;
基于多个参考地址记录和多个修改创建训练数据;以及
使用训练数据生成深度学习模型。
3.根据权利要求2所述的计算机设备,其中,对多个参考地址记录的多个修改基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
4.根据权利要求1所述的计算机设备,其中,所述计算机程序代码还包括一个或多个处理器可执行的指令集,以:
将字符嵌入模型应用于地址以获得字符嵌入地址,其中应用于深度学习模型的地址是字符嵌入地址。
5.根据权利要求1所述的计算机设备,其中,所述计算机程序代码还包括一个或多个处理器可执行的指令集,以:
对输出应用分类函数以获得分类输出,其中,被解析以获得多个标记地址分量的输出是分类输出。
6.根据权利要求1所述的计算机设备,其中,所述计算机程序代码还包括一个或多个处理器可执行的指令集,以:
基于匹配地址记录生成标准化地址,标准化地址根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
7.根据权利要求1所述的计算机设备,其中,深度学习模型是多层双向长短期记忆递归神经网络模型。
8.一个或多个存储计算机程序代码的非暂时性计算机可读介质,包括指令集,当由处理器执行时,所述指令集使得计算设备:
获得包括多个字符的地址;
将地址应用于深度学习模型以获得输出,所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示,使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型;
基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量;
将地址的多个标记地址分量与多个参考地址记录进行比较,以确定标识与地址相对应的地理位置的匹配地址记录;以及
后处理匹配地址记录以提供关于分配级别的信息,包括指示哪些地址分量与参考地址记录完全匹配以及哪些地址分量与参考地址记录部分匹配。
9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述计算机程序代码还包括指令集,当由处理器执行时,所述指令集使得计算设备:
通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改;
基于多个参考地址记录和多个修改创建训练数据;以及
使用训练数据生成深度学习模型。
10.根据权利要求9所述的非暂时性计算机可读介质,其中,对多个参考地址记录的多个修改是基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
11.根据权利要求8所述的非暂时性计算机可读介质,其中,所述计算机程序代码还包括指令集,当由处理器执行时,所述指令集使得计算设备:
将字符嵌入模型应用于地址以获得字符嵌入地址,其中应用于深度学习模型的地址是字符嵌入地址。
12.根据权利要求8所述的非暂时性计算机可读介质,其中,所述计算机程序代码还包括指令集,当由处理器执行时,所述指令集使得计算设备:
对输出应用分类函数以获得分类输出,其中,被解析以获得多个标记地址分量的输出是分类输出。
13.根据权利要求8所述的非暂时性计算机可读介质,其中,所述计算机程序代码还包括指令集,当由处理器执行时,所述指令集使得计算设备:
基于匹配地址记录生成标准化地址,标准化地址根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
14.根据权利要求8所述的非暂时性计算机可读介质,其中,深度学习模型是多层双向长短期记忆递归神经网络模型。
15.一种计算机实现的方法,包括:
获得包括多个字符的地址;
将地址应用于深度学习模型以获得输出,所述输出包括对地址的多个字符中的每个字符的多个地址分量类型当中的地址分量类型的指示,使用多个参考地址记录和基于多个地址分量类型对多个参考地址记录的多个修改训练深度学习模型;
基于对多个字符中的每个字符的地址分量类型的指示解析输出,以获得地址的多个标记地址分量;
将地址的多个标记地址分量与多个参考地址记录进行比较,以确定标识与地址相对应的地理位置的匹配地址记录;以及
后处理匹配地址记录以提供关于分配级别的信息,包括指示哪些地址分量与参考地址记录完全匹配以及哪些地址分量与参考地址记录部分匹配。
16.根据权利要求15所述的计算机实现的方法,还包括:
通过修改、添加或移除多个参考地址记录的子集中的一个或多个字符来生成对多个参考地址记录的多个修改;
基于多个参考地址记录和多个修改创建训练数据;以及
使用训练数据生成深度学习模型。
17.根据权利要求16所述的计算机实现的方法,对多个参考地址记录的多个修改是基于地址等价规则、排字错误和语音相似性规则中的一个或多个。
18.根据权利要求15所述的计算机实现的方法,还包括:
将字符嵌入模型应用于地址以获得字符嵌入地址,其中应用于深度学习模型的地址是字符嵌入地址;以及
对输出应用分类函数以获得分类输出,其中,被解析以获得多个标记地址分量的输出是分类输出。
19.根据权利要求15所述的计算机实现的方法,还包括:
基于匹配地址记录生成标准化地址,标准化地址根据多个标准化规则被格式化,并指示多个地址分量类型中的一个或多个地址分量类型。
20.根据权利要求15所述的计算机实现的方法,其中,深度学习模型是多层双向长短期记忆递归神经网络模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/888,029 US11803748B2 (en) | 2020-05-29 | 2020-05-29 | Global address parser |
US16/888,029 | 2020-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746946A CN113746946A (zh) | 2021-12-03 |
CN113746946B true CN113746946B (zh) | 2023-12-12 |
Family
ID=76180885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110590121.6A Active CN113746946B (zh) | 2020-05-29 | 2021-05-28 | 全球地址解析器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11803748B2 (zh) |
EP (1) | EP3916576A1 (zh) |
CN (1) | CN113746946B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220019887A1 (en) * | 2020-07-14 | 2022-01-20 | International Business Machines Corporation | Anomaly detection in network topology |
US20230367961A1 (en) * | 2022-05-12 | 2023-11-16 | Dell Products L.P. | Automated address data determinations using artificial intelligence techniques |
EP4439410A1 (en) * | 2023-03-27 | 2024-10-02 | Zurich Insurance Company Ltd. | Methods and systems for preventing the demolition, damage and alteration of listed buildings |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425056A (zh) * | 2007-11-02 | 2009-05-06 | 国际商业机器公司 | 使用处理系统解析地址的方法和系统 |
WO2016161892A1 (zh) * | 2015-04-09 | 2016-10-13 | 阿里巴巴集团控股有限公司 | 一种基于地址匹配的风险识别方法及装置 |
US9501466B1 (en) * | 2015-06-03 | 2016-11-22 | Workday, Inc. | Address parsing system |
CN107066478A (zh) * | 2016-12-14 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种虚假地址信息识别的方法及装置 |
US9842120B1 (en) * | 2013-02-15 | 2017-12-12 | United Parcel Service Of America, Inc. | Standardization of addresses and location information |
CN108052609A (zh) * | 2017-12-13 | 2018-05-18 | 武汉烽火普天信息技术有限公司 | 一种基于词典和机器学习的地址匹配方法 |
CN110275940A (zh) * | 2019-06-11 | 2019-09-24 | 北京贝壳时代网络科技有限公司 | 一种中文地址识别方法及设备 |
US10516645B1 (en) * | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
CN110688449A (zh) * | 2019-09-20 | 2020-01-14 | 京东数字科技控股有限公司 | 基于深度学习的地址文本处理方法、装置、设备及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818333B2 (en) * | 2006-12-28 | 2010-10-19 | Pitney Bowes Software Inc. | Universal address parsing system and method |
US7769778B2 (en) * | 2007-06-29 | 2010-08-03 | United States Postal Service | Systems and methods for validating an address |
GB2456216A (en) * | 2008-01-11 | 2009-07-15 | Lockheed Martin Uk Ltd | Block analyser in mail sorting system |
US20090198954A1 (en) * | 2008-02-01 | 2009-08-06 | Electronic Data Systems Corporation | Method and system for generating location codes |
US20110087695A1 (en) * | 2009-10-09 | 2011-04-14 | Verizon Patent And Licensing Inc. | Apparatuses, methods and systems for a truncated postal code smart address parser |
US8788437B2 (en) * | 2011-07-28 | 2014-07-22 | Quova, Inc. | System and method for implementing a learning model for predicting the geographic location of an internet protocol address |
US9633093B2 (en) * | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
US20160147943A1 (en) * | 2014-11-21 | 2016-05-26 | Argo Data Resource Corporation | Semantic Address Parsing Using a Graphical Discriminative Probabilistic Model |
US10115055B2 (en) * | 2015-05-26 | 2018-10-30 | Booking.Com B.V. | Systems methods circuits and associated computer executable code for deep learning based natural language understanding |
US10762046B2 (en) * | 2017-08-08 | 2020-09-01 | Sap Se | Minimum assignment level |
US11250452B2 (en) * | 2018-08-20 | 2022-02-15 | NTEX Transportation Services Pvt. Ltd. | Method and system for smart address classification |
US10839156B1 (en) * | 2019-01-03 | 2020-11-17 | Amazon Technologies, Inc. | Address normalization using deep learning and address feature vectors |
-
2020
- 2020-05-29 US US16/888,029 patent/US11803748B2/en active Active
-
2021
- 2021-05-28 CN CN202110590121.6A patent/CN113746946B/zh active Active
- 2021-05-28 EP EP21176417.0A patent/EP3916576A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425056A (zh) * | 2007-11-02 | 2009-05-06 | 国际商业机器公司 | 使用处理系统解析地址的方法和系统 |
US9842120B1 (en) * | 2013-02-15 | 2017-12-12 | United Parcel Service Of America, Inc. | Standardization of addresses and location information |
WO2016161892A1 (zh) * | 2015-04-09 | 2016-10-13 | 阿里巴巴集团控股有限公司 | 一种基于地址匹配的风险识别方法及装置 |
US9501466B1 (en) * | 2015-06-03 | 2016-11-22 | Workday, Inc. | Address parsing system |
CN107066478A (zh) * | 2016-12-14 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 一种虚假地址信息识别的方法及装置 |
US10516645B1 (en) * | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
CN108052609A (zh) * | 2017-12-13 | 2018-05-18 | 武汉烽火普天信息技术有限公司 | 一种基于词典和机器学习的地址匹配方法 |
CN110275940A (zh) * | 2019-06-11 | 2019-09-24 | 北京贝壳时代网络科技有限公司 | 一种中文地址识别方法及设备 |
CN110688449A (zh) * | 2019-09-20 | 2020-01-14 | 京东数字科技控股有限公司 | 基于深度学习的地址文本处理方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
Bi-directional Recurrent Neural Network Models for Geographic Location Extraction in Biomedical Literature;Arjun Magge;《Pacific Symposium on Biocomputing 2019》;正文第1-10页 * |
Extracting Addresses from Unstructured Text using Bi-directional Recurrent Neural Networks;Shivin Srivastava;《IEEE International Conference on Data Mining Workshops》;1511-1513页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3916576A1 (en) | 2021-12-01 |
US20210374522A1 (en) | 2021-12-02 |
US11803748B2 (en) | 2023-10-31 |
CN113746946A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nasar et al. | Named entity recognition and relation extraction: State-of-the-art | |
CN113746946B (zh) | 全球地址解析器 | |
JP4568774B2 (ja) | 手書き文字認識で使用されるテンプレートを生成する方法 | |
CN112507065B (zh) | 一种基于注释语义信息的代码搜索方法 | |
Antony et al. | Parts of speech tagging for Indian languages: a literature survey | |
US11961010B2 (en) | Method and apparatus for performing entity linking | |
Hetzner | A simple method for citation metadata extraction using hidden markov models | |
US10528664B2 (en) | Preserving and processing ambiguity in natural language | |
US11170169B2 (en) | System and method for language-independent contextual embedding | |
JP2006244262A (ja) | 質問回答検索システム、方法およびプログラム | |
CN116502628A (zh) | 基于知识图谱的政务领域多阶段融合的文本纠错方法 | |
Jung et al. | Learning to embed semantic correspondence for natural language understanding | |
Wan et al. | Enhancing metaphor detection by gloss-based interpretations | |
Abadie et al. | A Benchmark of Named Entity Recognition Approaches in Historical Documents Application to 19 th Century French Directories | |
Chaudhuri | Reversed word dictionary and phonetically similar word grouping based spell-checker to Bangla text | |
Srivastava et al. | Deep learning based unsupervised POS tagging for Sanskrit | |
Bhattacharjee et al. | Named entity recognition: A survey for indian languages | |
Fernández et al. | Contextual word spotting in historical manuscripts using markov logic networks | |
Doush et al. | Improving post-processing optical character recognition documents with Arabic language using spelling error detection and correction | |
Tufiş et al. | Tiered tagging revisited | |
Spiegler et al. | Learning the morphology of Zulu with different degrees of supervision | |
Kolkman | Cross-domain textual geocoding: the influence of domain-specific training data | |
US20240020473A1 (en) | Domain Based Text Extraction | |
CN110008307B (zh) | 一种基于规则和统计学习的变形实体识别方法和装置 | |
Directories et al. | A Benchmark of Named Entity Recognition Approaches in Historical Documents Application to 19th Century |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |