专利名称:使用处理系统解析地址的方法和系统的制作方法
技术领域:
本发明通常涉及一种处理系统,尤其涉及一种利用处理系统解析 地址的过程。
背景技术:
在处理系统中存在识别人类语言文本中的街道地址的应用。IBM 的产品IBM Identity Resolution是识别个人及其相关的街道地址的程 序的例子。街道地址是不能被计算机直接理解以便进行进一步信息处 理的人类语言文本。由于街道地址可能使用计算机不能理解的不同语 言,例如英语、阿拉伯语、土耳其语等等,所以该地址可能是不可理 解的。
而且,根据街道地址来自的国家/地区,它们可能具有不同的句 子结构。例如,尽管英国和美国都使用英语地址,它们的地址结构完 全不同。
在许多用于解析地址的应用中所使用的传统算法被称为模式匹 配算法。在这种类型的算法中,将地址与有限数量的可能模式进行比 较,并且最先匹配该地址的模式被用作为正确的地址。由于这些模式 以预先确定的顺序进行比较,地址可能与一个模式匹配,但是它可能 与后面的模式更好地匹配。此外,未正确输入的地址可能匹配到错误 的模式或根本不匹配。
此外,当认识到存在新类型的地址时,处理系统中需要的、使得 能够精确匹配街道地址的模式的数量将指数增长。可能需要数百种模 式来表示像美国这样的国家中的所有可能地址。而且,某些地址,诸 如1234 East West Street,可能很难用模式匹配算法来解析。例如, 含糊的美国街道地址是"1234 East West Street"。最后,具有悠久历史的城市(例如,在欧洲)趋向于具有结构不太好的地址。用于这类城 市的模式的数量可能是巨大的。
因此,传统模式匹配算法具有如下缺点,即,由于针对每个地址 进行大量查找以及难以针对新的语言/地区实现这类算法导致该算法 很慢。因此,需要一种克服上述问题的、用于解析街道地址的方法和 系统。本发明致力于这个需求。
发明内容
公开了 一种解析地址的方法和系统。所述方法和系统包括将地址
分离成多个记号(token),并基于特定于地区的配置信息来提供一遍 (pass)或多遍记号含义发现,以确定地址中每个记号的含义。这样 做,处理系统能够以切实有效的方式解析地址。通过根据特定于地区 的配置信息规则集合公开每个地址记号的含义,提供了使得按照解析 要求的变化能够进行容易的修改的解析过程。
图l是根据实施例的处理系统的图。
图2是根据实施例的解析过程的流程图。
图3 - 7图示了根据实施例的解析街道地址"6600 Bermuda Road, Suite A"的过程的例子。
发明内容
本发明通常涉及一种处理系统,尤其涉及一种利用处理系统解析 地址的过程。以下描述被提出以使本领域普通技术人员做出并使用本 发明,并且所述描述在专利申请和其要求的情况下被提供。并非意欲 将本发明局限于所示的实施方式,而给予本发明与文中所述的原理和 特征一致的最宽范围。
根据本发明的使用解析过程的系统能够采取全硬件实现方式、全 软件实现方式,或包含硬件和软件元素的实现方式。在一个实施例中,本公开用软件实现,其包括但不限于应用软件、固件、驻留软件、微 码等。
此外,这种解析过程能够采取可从计算机可用介质或计算机可读 介质获得的计算机程序产品的形式,上述介质提供由计算机或任何指 令执行系统使用或与其结合使用的程序代码。为了描述,计算机可用 介质或计算机可读介质可以是能包括、存储、通信、传播或传送由指 令执行系统、设备或装置使用或与其结合使用的程序的任何设备。
所述介质可以是电子、磁性、光学、电磁、红外或半导体系统(或 设备或装置)或传播介质。计算机可读介质的例子包括半导体或固态
存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读 存储器(ROM)、刚性》兹盘和光盘。现有光盘的例子包括DVD、只 读光盘存储器(CD-ROM)和可读/写光盘(CD-R/W)。
图1描述适于存储和/或执行关于解析过程的程序代码的数据处 理系统100。数据处理系统100包括通过系统总线106耦接到存储器 单元104a-104b的处理器102。在其他实施方式中,数据处理系统 100可包括多于一个处理器,且每个处理器可通过系统总线直接或间 接地耦接到一个或多个存储器单元。
存储器单元104a-104b可以包括在程序代码的实际执行期间使 用的本地存储器、大容量存储器和高速緩冲存储器,该高速緩冲存储 器提供至少某些程序代码的临时存储,从而减少执行期间必须从大容 量存储器中检索代码的次数。如图所示,输入/输出或I/O设备108a - 108b耦接到数据处理系统100。I/O设备108a - 108b可通过中间I/O 控制器(未示出)直接或间接地耦接到数据处理系统IOO。
在该实施方式中,网络适配器110耦接到数据处理系统100,以 使数据处理系统100能够通过通信链路112耦接到其他数据处理系统 或远程打印机或存储设备。通信链路112可以是专用或公共网络。调 制解调器、线缆调制解调器和以太网卡仅仅是目前可用的网络适配器 的少数类型。
在根据实施例的解析过程中,尽可能快地确定地址的每个记号的含义。这种确定通过发现地址每个元素的记号含义来完成。这在下文 中将被描述为记号含义发现。因此,通过利用基于特定于地区的配置 信息的一遍或多遍记号含义发现, 一个或多个记号含义被排除,直至 所有记号被确定或基于多遍记号含义发现不再能确定记号含义。匹配 问题能够通过提供新规则或修改已有规则而被消除。
此外,根据这个实施例,用解析过程对特定于地区的配置信息的
规则集合进行调试是很容易的。优选地,HTML格式的输出能够被用 于精确指示规则是如何被应用,以及在每遍记号含义发现中每条规则 排除了什么记号含义。
因此,在实施例中,街道地址首先被记号化,即,地址元素被分 离成单独的记号。根据实施例的解析过程的目标是要将记号含义的数 目减少至一个,从而发现这个记号的唯一可能含义。因此,根据特定 于地区的配置信息发现每个记号的含义,直至所有记号含义被找到或 记号含义不能被进一步减少。
特定于地区的配置信息规则集合使得解析过程能够有效操作。特 定于地区的配置信息的两个例子是
-地址部分(ROAD, AVE, RUE等词)
-规则集(支配实际解析的规则)
通过利用配置信息与一遍或多遍记号含义发现,提供比传统解析 算法更有利的解析过程。
在实施例中,第一遍记号含义发现不需要上下文信息(不需要周 围的记号信息)来开始试图减少与街道地址的记号相关联的含义。例 如,街道地址"124 Bermuda Road,,中的"124",在美国不是街道后缀, 因此可立即排除"124"是后缀的可能性。
第二遍以及随后的记号含义发现需要上下文信息以试图进一步 减少每个记号的含义。这个例子中,上下文信息意味着关于周围记号 的信息。
例如,通过观察之前和之后的记号,"124 Bermuda Road,,中 "Bermuda"的含义可能被设置为"STREETNAME (街道名称)",这是因为地区特定配置信息规则被配置成指出"如果记号在STREET NUMBER (街道号)和STREET SUFFIX (街道后缀)之间,则记号 为STREET NAME (街道名称)"。
为了更详细地描述根据实施例的解析过程的实施例的特征,结合 附图参考下述描述。图2是解析地址的过程的实施例的流程图。首先, 经由步骤202,街道地址被记号化。在一个实施例中,通过将地址分 离成单独的单词或元素,然后将记号与每个单词或元素相关联,地址 被记号化。此外,可通过合并或分解单词和/或元素来设置某些专门记 号。例如,词语"#5,,能分解成"#"和"5",或者,"PO,,和"BOX"可合 并成"PO BOX"。
接下来,经由步骤204,在没有上下文信息的情况下执行第一遍 记号含义发现。在该第一遍记号含义发现中,对于所有记号应用来自 该过程中的地区特定配置信息规则集合的至少一个硬编码(hardcoded) 规则。经由处理系统的存储器中的查找表,可以排除记号含义。例如, 如果记号不是在特定查找表中的方向单词(East (东)、West (西)、 South (南)、North (北))之一,则对于该记号,这类记号含义能 立即被排除。来自这个过程中的特定于地区的配置信息规则集合的规 则被应用。记号含义消除可无需上下文信息而被执行(例如,在美国, "#,,符号总是单元标记,或者,如果在记号里没有数字,该记号不可 能是街道号码)。
然后,经由步骤206,利用特定于地区的配置信息规则集合以及 上下文信息,向每个记号应用包括上下文信息的多遍记号含义发现。 这些遍记号含义发现被执行,直至所有记号含义被找到或最后一遍记 号含义发现对于识别记号没有做出任何改变。因此,如果已知某个特 定记号的含义,则上下文规则被应用。诸如相邻记号、记号在地址中 的位置等的上下文规则被用于排除记号含义。
最后,经由步骤208,如有必要,相似的记号被合并。在这个步 骤中,如果相邻记号具有相同的含义,则它们被合并成一个记号。例 如,在地址"Yellow Rose Street"中,"Yellow,,和"Rose,,被发现是两个记号,它们的含义都是街道名称,则这两个记号被合并成"Yellow Rose"。
为了在特定例子的情况下描述这个过程,现在参考下文。在这个 例子中,街道地址"6600 Bermuda Road, Suite A,,被解析。在这个实施 方式中,该地址是美国地址,而且符合美国地址规则的规则集被创建 并被应用于该地址。但是,本领域普通技术人员应当认识到,来自特 定国家的任何地址和符合那个国家的规则集能被使用,并且该使用在 本发明的精神和范围内。此外,应当理解,基于被引入到国家中的地 址新类型或者使用原始规则集合不能准确发现某些地址的发现,规则 集合可被修改,并且仍在本发明的精神和范围内。
为了在特定例子的情况下描述本发明,现在参考下文。图3-7 图示了利用解析过程的实施例来解析美国街道地址"6600 Bermuda Road, Suite A"的过禾呈的例子。
下面是能用作美国街道地址的记号的缩略词和其相关含义。
STREETN画街道号码,例如"6600 Bermuda Road, Suite A,,
中的(6600)
PREDIR在街道名称前的方向词。如"West Sahara Ave."中的 (West)
POSTDIR在街道名称/后缀后的方向词例如,"Sunset Ave, West,,中的(West)
STREETNAME街道名称,例如"6600 Bermuda Road, Suite A,, 中的(Bermuda )
PREFIX在街道名称前的街道类型,例如"Rue Morgue"中的 (Rue)。不用于美国地址。
SUFFIX在街道名称后的街道类型,例如"6600 Bermuda Road, Suite A"中的(Road)
UNITSIDE (目前只用于西班牙地址)左或右,等等。不用于美 国地址
BUILDINGSIDE (目前只用于西班牙地址)左或右,等等。不用于美国地址
UNITNUM单元号码,例如"6600 Bermuda Road, Suite A,,中的
(A)
UNITLABEL单元标记,例如"Bermuda Road, Suite A,,中的 (Suite )
POBOXNUMP.O.Box号码,例如"P.O. Box 32,,中的(32) POBOTYPE P.O. Box类型,例如"P.O. Box 32"中的(P.O. Box ) RRHCLABEL乡村路线标记,例如"RR 32 Box 45,,中的(RR) RRHCNUM乡村路线号码,例如"RR32Box45,,中的(32) 如图3所示,在单独一行中提供街道地址。图4示出通过将地址 元素分离成单独的记号来记号化地址。在这个实施例中,每个元素是 一个记号。但是,如前所述,某些元素可被分开,例如将数字符号与 数字分开,或者某些元素在这个记号化步骤期间能被合并,例如"PO" 和"Box,,被合并,从而更精确地分离这些元素。
图5A-5E图示了根据实施例的第一遍记号含义发现。对于每个 记号,在没有上下文信息的第一遍记号含义发现的开始,执行硬编码 含义排除步骤。在这个硬编码含义排除步骤中,例如,仅仅通过在查 找表中查找含义来排除记号的含义。例如,通过参考 ADDRESSPARTS: SUFFIX表,"6600 Bermuda Road, Suite A"中的 记号"Bermuda,,作为后缀被排除。此外,如果规则在其定义中没有 条件,则该规则被称为"无条件规则"。对于这些规则,"排除,,或"设 置,,属性总是被应用。例如,图5A所示的RULE NCR000排除了 "PREFIX, UNITSIDE, BUILDINGSIDE",这是因为美国地址没有 前缀、单元侧或建筑侧。这些类型的描述不用于美国地址是被认可的。 同样如前所述,在第一遍记号含义发现中,根据特定于地区的配 置信息,每个记号在没有上下文信息的情况下被搮作以确定能否给任 何元素赋予记号含义。参考图5A,基于规则集合,对于元素"6600", 所有非数字相关的记号被排除。在图5B中,确定出"Bermuda"是街 道名称。对于元素"Road",除"Streetname"和"Suffix"之外的所有记号都被排除。对于元素"Suite",参考图5D,除"Streetname"和 "UnitName,,之外的所有记号被排除。参考图5E,对于元素"A",除 "Streetname,,和"UnitNum,,之外的所有记号被排除。因此,如在第一 遍记号含义发现之后所看到的那样,对于地址的每个元素,许多记号 含义已经被排除,并且在一个例子中,在没有上下文信息的情况下, 已经基于规则集合识别了记号"Bermuda"。
如前所述,在随后的多遍记号含义发现中,上下文信息被包括以 进一步发现每个元素的记号含义。仍参考这个例子,图6A-6D图示 了利用上下文信息,进行元素的记号含义发现。图6A中,通过规则 集合确定出"6600"是街道号码"StreetNum"。图6B中,通过规则集合 确定出"ROAD"是后缀。图6C中,通过规则集合确定出"Suite,,的记 号含义是UNITLABEL。最后,图6D中,通过规则集合确定出"A" 的记号含义是UNITNUM。
图7图示了地址的两遍记号含义发现的结果。因此,在这个实施 例中,通过利用两遍记号含义发现,每个元素的记号含义都被发现并 且被该过程有效地解析。这样做,提供了与传统解析过程相比具有显 著优点的解析过程。
优点
根据本发明的解析器不需要改变代码来增加另一种语言/地区特 定配置信息地址类型。仅仅需要新的配置。在其特定于地区的配置信 息被加载后,解析过程就能完全在存储器中操作。输出可包括日志, 从而使得在确定出地址没有被准确解析时能够进行调试。
虽然根据所示实施例描述了本发明,但是本领域普通技术人员应 当容易地认识到,可以变化实施例,并且那些变化仍在本发明的精神 和范围内。例如,虽然在本实施例中美国街道地址被解析,但是本领 域普通技术人员应当认识到,其它类型的地址或不同国家的地址能够 被解析,并且这仍在本发明的精神和范围内。因此,本领域普通技术 人员可以进行许多修改而不背离所附权利要求的精神和范围。
权利要求
1. 一种解析方法,包括将地址分离成多个记号;以及基于特定于地区的配置信息提供一遍或多遍记号含义发现,以确定所述地址中每个记号的含义。
2. 如权利要求l所述的方法,其中所述提供一遍或多遍记号含 义发现包括在没有上下文信息的情况下提供第一遍记号含义发现。
3. 如权利要求2所述的方法,其中所述提供一遍或多遍记号含 义发现包括在有上下文信息的情况下提供一遍或多遍随后的记号含 义发现。
4. 如权利要求l所述的方法,其中特定于地区的配置信息包括 地址部分和规则集合。
5. 如权利要求l所述的方法,其中所述地址包括街道地址。
6. 如权利要求l所述的方法,其中所述特定于地区的配置信息 包括特定于上下文的规则和非特定于上下文的规则。
7. 如权利要求l所述的方法,其中所述地址的元素被合并以提 供记号。
8. 如权利要求l所述的方法,其中所述地址的元素被分离以提 供单独的记号。
9. 一种处理系统,包括处理器;耦接到所述处理器的存储器;以及要由所述处理器执行的解析代码;所述解析代码进一步包括将 地址分离成多个记号;以及基于特定于地区的配置信息提供一遍或多 遍记号含义发现以确定所述地址中每个记号的含义。
10. 如权利要求9所述的处理系统,其中所述提供一遍或多遍 记号含义发现包括在没有上下文信息的情况下提供第一遍记号含义 发现。
11. 如权利要求9所述的处理系统,其中所述提供一遍或多遍 记号含义发现包括在有上下文信息的情况下提供一遍或多遍随后的 记号含义发现。
12. 如权利要求9所述的处理系统,其中特定于地区的配置信 息包括地址部分和规则集合。
13. 如权利要求9所述的处理系统,其中所述地址包括街道地址。
14. 如权利要求9所述的处理系统,其中所述特定于地区的配 置信息包括特定于上下文的规则和非特定于上下文的规则。
15. 如权利要求9所述的处理系统,其中所述地址的元素被合 并以提供记号。
16. 如权利要求9所述的处理系统,其中所述地址的元素被分 离以提供单独的记号。
17. —种计算机可读介质,所述计算机可读介质包含用于解析 地址的程序指令,所述程序指令包括 将地址分离成多个记号;以及基于特定于地区的配置信息提供一遍或多遍记号含义发现,以确 定所述地址中每个记号的含义。
全文摘要
公开了一种解析地址的方法和系统。所述方法和系统包括将地址分离成多个记号,以及基于特定于地区的配置信息提供一遍或多遍记号含义发现,以确定所述地址中每个记号的含义。这样做,处理系统能够以切实有效的方式解析地址。通过根据特定于地区的配置信息规则集合公开地址的每个记号的含义,提供使得随解析要求的变化能够进行简单修改的解析过程。
文档编号G06F17/27GK101425056SQ200810212470
公开日2009年5月6日 申请日期2008年8月29日 优先权日2007年11月2日
发明者B·亚齐兹 申请人:国际商业机器公司