一种解析组织机构名的方法和装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机应用技术领域,特别涉及一种解析组织机构名的方法和装置。【【背景技术】】
[0002]随着大数据时代的来临,越来越多的企业面临海量数据的利用,其中对于诸如电子商务、物流等类型企业累积了大量的组织机构库资源,但组织机构库中存在的海量数据因其来源的不同往往存在对同一组织机构名的不同表达,这就需要对组织机构名进行判重的处理,或者组织机构库中存在大量错误的组织机构名,这就需要对组织机构名进行错误识别的处理,等等。但无论在对组织机构名进行判重和错误识别等处理,都需要对组织机构名进行拆分,拆分为地区部分和机构名部分。
【
【发明内容】
】
[0003]有鉴于此,本发明提供了一种解析组织机构名的方法和装置,以便于自动将组织机构名拆分为地区部分和机构名部分。
[0004]具体技术方案如下:
[0005]本发明提供了一种解析组织机构名的方法,针对组织机构名执行:
[0006]S1、提取前NI个字符,所述NI为预设的正整数;
[0007]S2、将当前提取的字符与预先建立的地址MAP中的key进行匹配,如果存在匹配的key,则执行S3 ;如果不存在匹配的key,则执行S4 ;
[0008]S3、记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,针对剩余的字符串转至执行所述SI ;
[0009]S4、将当前已记录的所述组织机构名中的地区名称构成所述组织机构名的地区部分,所述组织机构名的其他部分作为机构名部分;
[0010]其中,所述MAP中的key是从地址库中地区名称提取的前NI个字符,value包含对应key所来源的地区名称。
[0011]根据本发明一优选实施方式,预先建立所述MAP的过程包括对地址库中的各地区名称分别执行:
[0012]清除地区名称中的地区公共关键词;
[0013]提取剩余的字符的前NI个字符作为key,将该地区名称包含在该key对应的value 中 ο
[0014]根据本发明一优选实施方式,预先建立所述MAP的过程包括对地址库中的各地区名称分别执行:
[0015]清除地区名称中的地区公共关键词;
[0016]若该地区名称中剩余的字符个数小于或等于所述NI,则直接将该剩余的字符作为key,将该地区名称包含在该key对应的value中;
[0017]若该地区名称中剩余的字符个数大于所述NI,则提取该剩余的字符的前N2个字符作为key,将该地区名称包含在该key对应的value中,所述N2为预设的正整数且大于所述NI。
[0018]根据本发明一优选实施方式,在所述SI中提取前NI个字符之前还包括:
[0019]提取前N2个字符,将当前提取的字符与所述MAP中的key进行匹配,如果存在匹配的key,则转至执行所述S3,如果不存在匹配的key,则继续执行所述提取前NI个字符。
[0020]根据本发明一优选实施方式,所述NI为2,所述N2为3。
[0021]根据本发明一优选实施方式,在所述S4中还包括:若所述地区部分中包含两个以上的地区名称,则按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系,如果是,则确定所述地区部分正确。
[0022]根据本发明一优选实施方式,所述MAP的value中还包含对应key所来源的地区ID和上一级地区ID ;
[0023]所述按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系包括:若所述相邻两个地区名称中后记录的地区名称在value中的上一级地区ID与先记录的地区名称在value中的地区ID —致,则确定符合正确的上下级关系。
[0024]根据本发明一优选实施方式,如果所述相邻两个地区名称不符合正确的上下级关系,则若所述相邻两个地区名称中后记录的地区名称不包含地区公共关键词,则确定该后记录的地区名称不属于地区部分,而属于机构名部分。
[0025]根据本发明一优选实施方式,该方法进一步包括:
[0026]将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。
[0027]本发明还提供了一种解析组织机构名的装置,该装置包括:
[0028]提取单元,用于针对输入的字符串提取前NI个字符,将所述NI个字符提供给匹配单元;所述NI为预设的正整数,所述输入的字符串初始为组织机构名;
[0029]匹配单元,用于将所述提取单元提供的字符与预先建立的地址MAP中的key进行匹配;
[0030]记录单元,用于如果所述匹配单元匹配到key,则记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,将剩余的字符串输入给所述提取单元;
[0031]确定单元,用于如果所述匹配单元未匹配到key,则将所述记录单元当前已记录的所述组织机构名中的地区名称构成所述组织机构名的地区部分,所述组织机构名的其他部分作为机构名部分;
[0032]其中,所述MAP中的key是从地址库中地区名称提取的前NI个字符,value包含对应key所来源的地区名称。
[0033]根据本发明一优选实施方式,该装置还包括:第一 MAP建立单元,用于对地址库中的各地区名称分别执行以下操作以建立所述MAP:
[0034]清除地区名称中的地区公共关键词;
[0035]提取剩余的字符的前NI个字符作为key,将该地区名称包含在该key对应的value 中 ο
[0036]根据本发明一优选实施方式,该装置还包括:第二 MAP建立单元,用于对地址库中的各地区名称分别执行以下操作以建立所述MAP:
[0037]清除地区名称中的地区公共关键词;
[0038]若该地区名称中剩余的字符个数小于或等于所述NI,则直接将该剩余的字符作为key,将该地区名称包含在该key对应的value中;
[0039]若该地区名称中剩余的字符个数大于所述NI,则提取该剩余的字符的前N2个字符作为key,将该地区名称包含在该key对应的value中,所述N2为预设的正整数且大于所述NI。
[0040]根据本发明一优选实施方式,所述提取单元具体包括:第一提取子单元、匹配子单元和第二提取子单元;
[0041]所述第一提取子单元,用于针对输入的字符串提取前N2个字符,将所述N2个字符提供给所述匹配子单元,所述输入的字符串初始为组织机构名;
[0042]所述匹配子单元,用于将所述第一提取单元提供的字符与所述MAP中的key进行匹配;
[0043]所述记录单元,还用于如果所述匹配子单元匹配到key,则记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,将剩余的字符串输入给所述第一提取子单元;
[0044]所述第二提取子单元,用于如果所述匹配子单元未匹配到key,则针对输入所述第一提取子单元的字符串提取前NI个字符,将所述NI个字符提供给所述匹配单元。
[0045]根据本发明一优选实施方式,所述NI为2,所述N2为3。
[0046]根据本发明一优选实施方式,该装置还包括:
[0047]正确性判断单元,用于若所述地区部分中包含两个以上的地区名称,则按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系,如果是,则确定所述地区部分正确。
[0048]根据本发明一优选实施方式,所述MAP的value中还包含对应key所来源的地区ID和上一级地区ID ;
[0049]所述正确性判断单元在按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系时,具体用于若所述相邻两个地区名称中后记录的地区名称在value中的上一级地区ID与先记录的地区名称在value中的地区ID —致,则确定符合正确的上下级关系O
[0050]根据本发明一优选实施方式,所述正确性判断单元,还用于如果所述相邻两个地区名称不符合正确的上下级关系,则若所述相邻两个地区名称中后记录的地区名称不包含地区公共关键词,则确定该后记录的地区名称不属于地区部分,而属于机构名部分。
[0051]根据本发明一优选实施方式,所述确定单元,还用于将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。
[0052]由以上技术方案可以看出,本发明通过将组织机构名的字符从前至后进行提取,与预先建立的MAP中的key进行匹配并记录MAP中匹配的key所对应的value中的地区名称,循环该匹配过程直至匹配不到任何key,最终利用已记录的地区名称构成组织机构名的地区部分,其他部分构成机构名部分,从而实现了自动将组织机构名拆分为地区部分和机构名部分。
【【附图说明】】
[0053]图1为本发明实施例一提供的建立MAP的流程图;
[0054]图2为本发明实施例二提供的解析组织机构名的方法流程图;
[0055]图3为本发明实施例三提供的解析组织机构名的装置结构图;
[0056]图4为本发明实施例四提供的解析组织机构名的装置结构图。
【【具体实施方式】】
[0057]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0058]本发明中所涉及的组织机构名可以包括但不限于:企业机构名、行政机关名、社会团体名等。其中企业机构名诸如:浙江奉贤贸易有限公司、浙江省杭州市胜利五金厂等;行政机构名诸如杭州地
震局、郑州市公安局等;社会团体名诸如陕西省作家协会、杭州市妇女胳AA坐
?RA 口石寸ο
[0059]在本发明中首先利用地址库中的地址信息来建立key-value对构成的MAP(映射),下面首先通过实施例一对建立MAP的过程进行描述。
[0060]实施例一、
[0061]图1为本发明实施例一提供的建立MAP的流程图,本实施例中建立MAP是基于地区库的,地区库包含大量地区信息,通常一条地区信息中包含地区名称、地区ID、地区类型、上一级地区ID等。如图1中所示,针对地址库中的各地址分别执行以下步骤:
[0062]步骤101:清除地区名称中的地区公共关键词。
[0063]地区公共关键词指的是诸如“省”、“自治区”、“市”、“区”等行政区划共用的关键词,主要用于区分地区类型。
[0064]步骤102:判断地区名称中剩余的字符个数是否小于或等于NI,NI为预设的正整数,如果是,则执行步骤103 ;否则,执行步骤104。
[0065]鉴于中国的大多数地区类型采用两个字,例如“浙江”、“河南”、“杭州”、“郑州”、“解放”、“朝阳”等,因此NI值可以取2,
[0066]步骤103:以该剩余的字符作为key,以该地区名称对应的地区信息作为value构建 MAP。
[0067]例如,在地址库中存在“浙江省”的地区名称,清除地区公共关键词后剩余“浙江”,那么就直接将“浙江”作为key,对应的value为“ 1526,浙江省、CN,province”,其中“ 1526”为地区ID,“浙江省”为地区名称,“CN”为上一级地区ID,“province”为地区类型。需要说明的是,value中至少包括地区名称,其他信息可选。
[0068]104:提取剩余的字符的前N2个字符作为key,以该地区名称对应的地区信息作为value构建MAP,所述N2为预设的正整数且大于NI。
[0069]鉴于有一些特殊的地区名称是三个字、四个字甚至更多字,例如“呼和浩特市”、“新疆维吾尔自治区”等,为了能够保证这些地区将来也能够高效准确地被解析,对于大于2个字符的地区名称,在此可以提取前3 (例如N2取3)个字符作为key。
[0070]例如,地区库中存在这样一个地区名称“谢家集区”,清除地区公共关键词后剩余“谢家集”,提取前3个字符“谢家集”作为key,以该地区名称对应的地区信息“3569,谢家集区,3561,district”,其中“3569”为地区ID, “谢家集区”为地区名称,“3561”为上一级地区ID,“district”为地区类型。同样value中至少包括地区名称,其他信息可选。
[0071]上述实施例一是一种优选的实施方式,对NI和N2个字符进行区分是为了加快对特殊地区名称的解析,提高对特殊地区名称解析的准确性。也可以不进行区分,即在执行步骤101之后,直接从剩余的字符中提取前NI个字符作为key,例如,直接提取剩余的字符的前2个字符作为key,该地区名称对应的地区信息作为value。
[0072]在针对地区库中所有的地区信息都执行上述步骤之后,就完成了 MAP的建立。下面通过实施例二对基于该预先建立的MAP解析组织机构名的方法进行详细描述。
[0073]实施例二、
[0074]图2为本发明实施例二提供的解析组织机构名的方法流程图,如图2中所示,该方法可以包括以下过程:
[0075]步骤201:对组织机构名进行格式统一的预处理。
[0076]本步骤实际上是将组织机构名预处理成统一的格式,例如有的组织机构名因采用了不同的输入法造成格式的不统一,有的采用半角输入,有的采用全角输入,在此就可以进行预处理后统一成全角或统一成半角;再例如,有的组织机构名中因无输入而混杂了英文字符,那么在此就可以过滤掉非中文字符,等等。
[0077]步骤202:提取前N2个字符。
[0078]步骤203:将当前提取的字符与MAP中的key进行匹配,如果存在匹配的key,则执行步骤206 ;如果不存在匹配的key,则执行步骤204。
[0079]先用较长的字符与MAP中的key进行匹配,目的是为了提高对特殊地区名称的匹配效率和准确性,例如,先提取组织机构名的前3个字符,在MAP中进行匹配,对于诸如“呼和浩特”开头的组织机构名,则能够很快的匹配到key。
[0080]对于普通的地区名称,例如某组织机构名为“浙江奉贤贸易有限公司”,其前三个字符“浙江奉”无法匹配到key,则执行步骤204,减少提取的字符数,例如改提取前两个字符来进行匹配。
[0081]步骤204:提取前NI个字符。
[0082]步骤205:将当前提取的字符与MAP中的key进行匹配,如果存在匹配的key,则执行步骤206 ;如果不存在匹配的key,则执行步骤207。
[0083]步骤206:记录MAP中匹配到的key所对应的value中的地区名称,将该地区名称从组织机构名中删除后,针对剩余的字符串转至步骤202。
[0084]如果匹配到key,则说明存在对应的地区名称,则可以从value中获取完整的地区名称,记录该地区名称,并将该地区名称从该组织机构名中删除后,对剩余的字符串继续进行地区名称的匹配。如果仍无法匹配到key,则匹配结束,可能地区名已经结束。
[0085]步骤207:将当前已记录的上述组织机构名中的地区名称构成该组织机构名的地区部分,其他部分作为机构名部分。
[0086]以“浙江省杭州市胜利五金厂”为例,取前3个字符时未匹配到key,改取前2个字符时,匹配到key “浙江”,对应的value中地址名称为“浙江省”,记录该地址名称,并将“浙江省”从该组织机构名中删除,剩余“杭州市胜利五金厂”;再对该剩余部分取前3个字符时未匹配到key,改取前2个字符时,匹配到key “杭州”,对应的value中地址名称为“杭州市”,记录该地址名称,并将“杭州市”从该组织机构名中删除,剩余“胜利五金厂”,后续无法匹配到key,则确定已记录的“浙江省杭州市”作为地区部分,其他部分“胜利五金厂”作为机构名部分。
[0087]另外,除了上述步骤207所示的方式,直接确定组织机构名的地区部分和机构名部分之外,还可以进一步验证一下地区名称是否正确,即如果地区部分中包含两个以上的地区名称,则继续执行步骤208:按照记录顺序依次判断地区部分中相邻两个地区名称是否符合正确的上下级关系,如果是,则确定该地区部分正确;否则执行步骤209。
[0088]在验证相邻两个地区名称是否符合正确的上下级关系时,若其中后记录的地区名称(即下一级地区名称)在value中的上一级地区ID与先记录的地区名称(即上一级地区名称)在value中的地区ID —致,则确定符合正确的上下级关系。举个例子,仍以“浙江省杭州市”为例,“杭州市”在value中上一级地区ID为“ 1526”,“浙江省”在value中的地区ID为“ 1526”,两者一致,则确定符合正确的上下级关系,说明该地区部分正确。
[0089]再例如“江苏省杭州市”,“杭州市”在value中上一级地区ID为“ 1526”,“江苏省”在value中的地区ID为“2520”,两者不一致,则确定不符合正确的上下级关系。
[0090]步骤209:判断该相邻两个地区名称中后记录的地区名称是否包含地区公共关键词,如果不包含,则执行步骤210 ;如果包含,则确定该地区部分错误,也即是说该组织机构名为错误的组织机构名。
[0091]步骤210:确定后记录的地区名称不属于地区部分,而属于机构名部分。
[0092]之所以执行步骤209和210是因为还可能存在一种情况,就是某公司的商号可能与某个地区名称相同,被误划分至地区部分,但实际上其应该属于机构名部分。例如“杭州高阳毛巾厂”,经过上述地区的匹配后确定地区部分为“杭州高阳”,机构名部分为“毛巾厂”,但经过对地区部分的上下级进行判断后,由于“高阳”是河北的一个县,与“杭州”不符合上下级关系,再通过本步骤中判断“高阳”不包含地区公共关键词(诸如“省”、“市”、“区”、“县”等),因此可以确定“高阳”是商号,应划分在机构名部分,也就是说,地区部分为“杭州”,机构名部分为“高阳毛巾厂”。
[0093]无论是在步骤210之后,还是在确定地区部分正确之后,都可以对机构名部分进行进一步解析,即执行步骤211:将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。
[0094]组织形式库包含各种组织形式的关键词,诸如“厂”、“公司”、“有限公司”、“集团”等等。通常情况下,对于企业机构存在这样的区分需求,对于其他不存在这样区分需求的组织机构名可以不执行本步骤。
[0095]仍以“杭州高阳毛巾厂”为例,对其中的机构名部分“高阳毛巾厂”与组织形式库匹配后,确定“厂”为组织形式部分,“高阳毛巾”为商号经营范围部分。
[0096]上述实施例二是一种优选的实施方式,首先提取组织机构名中的N2个字符在MAP中进行匹配,没有匹配到对应的key时再改为提取组织机构名中的前NI个字符在MAP中进行匹配,这么做的目的是为了加快对特殊地区名称的解析,提高对特殊地区名称解析的准确性。当然,也可以不进行如此区分,而是在步骤201之后不再执行步骤202和203,而是直接执行步骤204提取组织机构名的前NI个字符,并且在步骤206执行完毕后,针对剩余的字符串转至步骤204,也就是说,每次都提取组织机构名剩余字符串的前NI个字符在MAP中进行匹配。例如,对于待解析的组织机构名,在进行预处理后,提取前2个字符在MAP中进行匹配,如果存在匹配的key,则记录MAP中匹配到的key所对应的value中的地区名称,将该地区名称从组织机构名
中删除后,提取剩余的字符串的前2个字符继续进行匹配,直至无法匹配到对应的key,最后将当前已记录的组织机构名中的地区名称构成该组织机构名的地区部分,其他部分作为机构名部分。
[0097]以上是对本发明所提供的方法进行的详细描述,下面结合实施例三和实施例四对本发明提供的装置进行详细描述。
[0098]实施例三、
[0099]图3为本发明实施例三提供的解析组织机构名的装置结构图,如图3所示,该装置可以包括:提取单元10、匹配单元20、记录单元30和确定单元40,还可以进一步包括第一MAP建立单元00和正确性判断单元50。
[0100]首先,提取单元10针对输入的字符串提取前NI个字符,将NI个字符提供给匹配单元20 ;N1为预设的正整数,例如可以取2,输入的字符串初始为待解析的组织机构名。另夕卜,提取单元10在提取字符之前,可以首先对待解析的组织机构名进行格式统一的预处理,将组织机构名预处理成统一的格式,例如有的组织机构名因采用了不同的输入法造成格式的不统一,有的采用半角输入,有的采用全角输入,在此就可以进行预处理后统一成全角或统一成半角;再例如,有的组织机构名中因无输入而混杂了英文字符,那么在此就可以过滤掉非中文字符,等等。
[0101]匹配单元20负责将提取单元10提供的字符与预先建立的地址MAP中的key进行匹配,其中,MAP中的key是从地址库中地区名称提取的前NI个字符,value包含对应key所来源的地区名称。
[0102]如果匹配单元20匹配到key,则记录单元30记录MAP中匹配到的key所对应的value中的地区名称,将该地区名称从组织机构名中删除后,将剩余的字符串输入给提取单元10。
[0103]如果匹配单元20未匹配到key,则确定单元40将记录单元30当前已记录的组织机构名中的地区名称构成组织机构名的地区部分,组织机构名的其他部分作为机构名部分。
[0104]本发明实施例中建立MAP是基于地区库的,地区库包含大量地区信息,通常一条地区信息中包含地区名称、地区ID、地区类型、上一级地区ID等。第一 MAP建立单元00对地址库中的各地区名称分别执行以下操作以建立MAP:
[0105]清除地区名称中的地区公共关键词;提取剩余的字符的前NI个字符作为key,将该地区名称包含在该key对应的value中,除此之外,该value中还可以包含地区ID、上一级地区ID、地区类型等。
[0106]这里的地区公共关键词指的是诸如“省”、“自治区”、“市”、“区”等行政区划共用的关键词,主要用于区分地区类型。
[0107]另外,鉴于确定的组织机构名的地区部分并不一定正确,因此,还可以进一步对地区部分的正确性进行验证,即若地区部分中包含两个以上的地区名称,则正确性判断单元50按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系,如果是,则确定地区部分正确。
[0108]具体地,正确性判断单元50在按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系时,具体用于若相邻两个地区名称中后记录的地区名称(即下一级地区名称)在value中的上一级地区ID与先记录的地区名称(即上一级地区名称)在value中的地区ID —致,则确定符合正确的上下级关系。
[0109]以“浙江省杭州市”为例,“杭州市”在value中上一级地区ID为“ 1526”,“浙江省”在value中的地区ID为“1526”,两者一致,则确定符合正确的上下级关系,说明该地区部分正确。
[0110]再例如“江苏省杭州市”,“杭州市”在value中上一级地区ID为“ 1526”,“江苏省”在value中的地区ID为“2520”,两者不一致,则确定不符合正确的上下级关系。
[0111]更进一步地,如果相邻两个地区名称不符合正确的上下级关系,则若相邻两个地区名称中后记录的地区名称不包含地区公共关键词,则正确性判断单元50确定该后记录的地区名称不属于地区部分,而属于机构名部分。这么做的目的是因为还可能存在一种情况,就是某公司的商号可能与某个地区名称相同,被误划分至地区部分,但实际上其应该属于机构名部分。例如“杭州高阳毛巾厂”,经过上述地区的匹配后确定地区部分为“杭州高阳”,机构名部分为“毛巾厂”,但经过对地区部分的上下级进行判断后,由于“高阳”是河北的一个县,与“杭州”不符合上下级关系,再通过判断“高阳”不包含地区公共关键词(诸如“省”、“市”、“区”、“县”等),因此可以确定“高阳”是商号,应划分在机构名部分,也就是说,地区部分为“杭州”,机构名部分为“高阳毛巾厂”。
[0112]在确定地区部分正确后,可以对机构名部分进行进一步解析,即确定单元40还用于将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。组织形式库包含各种组织形式的关键词,诸如“厂”、“公司”、“有限公司”、“集团”等等。
[0113]仍以“杭州高阳毛巾厂”为例,对其中的机构名部分“高阳毛巾厂”与组织形式库匹配后,确定“厂”为组织形式部分,“高阳毛巾”为商号经营范围部分。
[0114]除了上述实施例三之外,还存在一种更优选的实施方式,即以下实施例四。
[0115]实施例四、
[0116]图4为本发明实施例四提供的解析组织机构名的装置结构图,如图4所示,本实施例中的装置与实施例三不同的是,在建立MAP库时采用不同的方式,由第二 MAP建立单元01实现,并且提取单元10具体包括了第一提取子单元11、匹配子单元12和第二提取子单元13。
[0117]第二 MAP建立单元01对地址库中的各地区名称分别执行以下操作以建立MAP:
[0118]清除地区名称中的地区公共关键词;若该地区名称中剩余的字符个数小于或等于NI,则直接将该剩余的字符作为key,将该地区名称包含在该key对应的value中;若该地区名称中剩余的字符个数大于NI,则提取该剩余的字符的前N2个字符作为key,将该地区名称包含在该key对应的value中,N2为预设的正整数且大于NI,例如NI取2,N2取3。
[0119]地区公共关键词指的是诸如“省”、“自治区”、“市”、“区”等行政区划共用的关键词,主要用于区分地区类型。
[0120]本实施例是鉴于有一些特殊的地区名称是三个字、四个字甚至更多字,例如“呼和浩特市”、“新疆维吾尔自治区”等,为了能够保证这些地区将来也能够高效准确的被解析,对于大于2个字符的地区名称,在此可以提取前3 (例如N2取3)个字符作为key,对于小于或等于2个字符的地区名称,则直接作为key。
[0121]例如,地区库中存在这样一个地区名称“谢家集区”,清除地区公共关键词后剩余“谢家集”,提取前3个字符“谢家集”作为key,以该地区名称对应的地区信息“3569,谢家集区,3561,district”,其中“3569”为地区ID, “谢家集区”为地区名称,“3561”为上一级地区ID,“district”为地区类型。同样value中至少包括地区名称,其他信息可选。
[0122]如果地区库中存在这样一个地区名称“浙江省”,清除地区公共关键词后剩余“浙江”,那么就直接将“浙江”作为key,对应的value为“1526,浙江省、CN, province”,其中“ 1526”为地区ID,“浙江省”为地区名称,“CN”为上一级地区ID,"province"为地区类型。需要说明的是,value中至少包括地区名称,其他信息可选。
[0123]对应于上述的MAP建立方式,提取单元10的采用如下方式实现:
[0124]首先第一提取子单元11针对输入的字符串提取前N2个字符,将N2个字符提供给匹配子单元12,输入的字符串初始为待解析的组织机构名。
[0125]然后匹配子单元12将第一提取单元11提供的字符与MAP中的key进行匹配。
[0126]此时,该装置中的记录单元30还用于如果匹配子单元12匹配到key,则记录MAP中匹配到的key所对应的value中的地区名称,将该地区名称从组织机构名中删除后,将剩余的字符串输入给第一提取子单元11。
[0127]如果匹配子单元12未匹配到key,则第二提取子单元13针对输入第一提取子单元11的字符串提取前NI个字符,将NI个字符提供给匹配单元20。
[0128]匹配单元20、记录单元30、确定单元40和正确性判断单元50的实现与实施例三中相同,在本实施例中不再赘述。
[0129]本实施例中实际上是,先取较长的前N2个字符来进行匹配,如果未匹配到key,则改取较短的前NI个字符来进行匹配,如果匹配到,则循环该匹配过程;直到匹配不到任何key。
[0130]以“浙江省杭州市胜利五金厂”为例,取前3个字符时未匹配到key,改取前2个字符时,匹配到key “浙江”,对应的value中地址名称为“浙江省”,记录该地址名称,并将“浙江省”从该组织机构名中删除,剩余“杭州市胜利五金厂”;再对该剩余部分取前3个字符时未匹配到key,改取前2个字符时,匹配到key “杭州”,对应的value中地址名称为“杭州市”,记录该地址名称,并将“杭州市”从该组织机构名中删除,剩余“胜利五金厂”,后续无法匹配到key,则确定已记录的“浙江省杭州市”作为地区部分,其他部分“胜利五金厂”作为机构名部分。
[0131]由以上描述可以看出,本发明提供的方法和装置具备以下优点:
[0132]I)本发明能够将组织机构名自动拆分为地区部分和机构名部分。
[0133]2)本发明通过先提取组织机构名的较长的前N2个字符在MAP中进行匹配,如果未匹配到key,则改取较短的前NI个字符来进行匹配,如果匹配到,则循环该匹配过程;直到匹配不到任何key。这种方式能够具
备较高的拆分效率,并且针对特殊的地区也能够具有较高的拆分准确率。
[0134]3)本发明通过对拆分得到的地区部分进行准确性判断,从而进一步提高拆分准确率。
[0135]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0136]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0137]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0138]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0139]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种解析组织机构名的方法,其特征在于,针对组织机构名执行: 51、提取前NI个字符,所述NI为预设的正整数; 52、将当前提取的字符与预先建立的地址MAP中的key进行匹配,如果存在匹配的key,则执行S3 ;如果不存在匹配的key,则执行S4 ; 53、记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,针对剩余的字符串转至执行所述SI ; 54、将当前已记录的所述组织机构名中的地区名称构成所述组织机构名的地区部分,所述组织机构名的其他部分作为机构名部分; 其中,所述MAP中的key是从地址库中地区名称提取的前NI个字符,value包含对应key所来源的地区名称。2.根据权利要求1所述的方法,其特征在于,预先建立所述MAP的过程包括对地址库中的各地区名称分别执行: 清除地区名称中的地区公共关键词; 提取剩余的字符的前NI个字符作为key,将该地区名称包含在该key对应的value中。3.根据权利要求1所述的方法,其特征在于,预先建立所述MAP的过程包括对地址库中的各地区名称分别执行: 清除地区名称中的地区公共关键词; 若该地区名称中剩余的字符个数小于或等于所述NI,则直接将该剩余的字符作为key,将该地区名称包含在该key对应的value中; 若该地区名称中剩余的字符个数大于所述NI,则提取该剩余的字符的前N2个字符作为key,将该地区名称包含在该key对应的value中,所述N2为预设的正整数且大于所述NI。4.根据权利要求3所述的方法,其特征在于,在所述SI中提取前NI个字符之前还包括: 提取前N2个字符,将当前提取的字符与所述MAP中的key进行匹配,如果存在匹配的key,则转至执行所述S3,如果不存在匹配的key,则继续执行所述提取前NI个字符。5.根据权利要求3或4所述的方法,其特征在于,所述NI为2,所述N2为3。6.根据权利要求1至4任一权项所述的方法,其特征在于,在所述S4中还包括:若所述地区部分中包含两个以上的地区名称,则按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系,如果是,则确定所述地区部分正确。7.根据权利要求6所述的方法,其特征在于,所述MAP的value中还包含对应key所来源的地区ID和上一级地区ID ; 所述按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系包括:若所述相邻两个地区名称中后记录的地区名称在value中的上一级地区ID与先记录的地区名称在value中的地区ID —致,则确定符合正确的上下级关系。8.根据权利要求6所述的方法,其特征在于,如果所述相邻两个地区名称不符合正确的上下级关系,则若所述相邻两个地区名称中后记录的地区名称不包含地区公共关键词,则确定该后记录的地区名称不属于地区部分,而属于机构名部分。9.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。10.一种解析组织机构名的装置,其特征在于,该装置包括: 提取单元,用于针对输入的字符串提取前NI个字符,将所述NI个字符提供给匹配单元;所述NI为预设的正整数,所述输入的字符串初始为组织机构名; 匹配单元,用于将所述提取单元提供的字符与预先建立的地址MAP中的key进行匹配; 记录单元,用于如果所述匹配单元匹配到key,则记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,将剩余的字符串输入给所述提取单元; 确定单元,用于如果所述匹配单元未匹配到key,则将所述记录单元当前已记录的所述组织机构名中的地区名称构成所述组织机构名的地区部分,所述组织机构名的其他部分作为机构名部分; 其中,所述MAP中的key是从地址库中地区名称提取的前NI个字符,value包含对应key所来源的地区名称。11.根据权利要求10所述的装置,其特征在于,该装置还包括:第一MAP建立单元,用于对地址库中的各地区名称分别执行以下操作以建立所述MAP: 清除地区名称中的地区公共关键词; 提取剩余的字符的前NI个字符作为key,将该地区名称包含在该key对应的value中。12.根据权利要求10所述的装置,其特征在于,该装置还包括:第二MAP建立单元,用于对地址库中的各地区名称分别执行以下操作以建立所述MAP: 清除地区名称中的地区公共关键词; 若该地区名称中剩余的字符个数小于或等于所述NI,则直接将该剩余的字符作为key,将该地区名称包含在该key对应的value中; 若该地区名称中剩余的字符个数大于所述NI,则提取该剩余的字符的前N2个字符作为key,将该地区名称包含在该key对应的value中,所述N2为预设的正整数且大于所述NI。13.根据权利要求12所述的装置,其特征在于,所述提取单元具体包括:第一提取子单元、匹配子单元和第二提取子单元; 所述第一提取子单元,用于针对输入的字符串提取前N2个字符,将所述N2个字符提供给所述匹配子单元,所述输入的字符串初始为组织机构名; 所述匹配子单元,用于将所述第一提取单元提供的字符与所述MAP中的key进行匹配; 所述记录单元,还用于如果所述匹配子单元匹配到key,则记录所述MAP中匹配到的key所对应的value中的地区名称,将该地区名称从所述组织机构名中删除后,将剩余的字符串输入给所述第一提取子单元; 所述第二提取子单元,用于如果所述匹配子单元未匹配到key,则针对输入所述第一提取子单元的字符串提取前NI个字符,将所述NI个字符提供给所述匹配单元。14.根据权利要求12或13所述的装置,其特征在于,所述NI为2,所述N2为3。15.根据权利要求10至13任一权项所述的装置,其特征在于,该装置还包括: 正确性判断单元,用于若所述地区部分中包含两个以上的地区名称,则按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系,如果是,则确定所述地区部分正确。16.根据权利要求15所述的装置,其特征在于,所述MAP的value中还包含对应key所来源的地区ID和上一级地区ID ; 所述正确性判断单元在按照记录顺序依次判断相邻两个地区名称是否符合正确的上下级关系时,具体用于若所述相邻两个地区名称中后记录的地区名称在value中的上一级地区ID与先记录的地区名称在value中的地区ID —致,则确定符合正确的上下级关系。17.根据权利要求15所述的装置,其特征在于,所述正确性判断单元,还用于如果所述相邻两个地区名称不符合正确的上下级关系,则若所述相邻两个地区名称中后记录的地区名称不包含地区公共关键词,则确定该后记录的地区名称不属于地区部分,而属于机构名部分。18.根据权利要求10所述的装置,其特征在于,所述确定单元,还用于将机构名部分末尾的字符串与组织形式库匹配,将匹配的字符串确定为组织形式部分,将机构名部分中的其他字符串确定为商号经营范围部分。
【专利摘要】本发明提供了一种解析组织机构名的方法和装置,针对组织机构名执行:S1、提取前N1个字符,N1为预设的正整数;S2、将当前提取的字符与预先建立的地址MAP中的key进行匹配,如果存在匹配的key,则执行S3;如果不存在匹配的key,则执行S4;S3、记录MAP中匹配到的key所对应的value中的地区名称,将该地区名称从组织机构名中删除后,针对剩余的字符串转至执行S1;S4、将当前已记录的组织机构名中的地区名称构成组织机构名的地区部分,组织机构名的其他部分作为机构名部分;其中,MAP中的key是从地址库中地区名称提取的前N1个字符,value包含对应key所来源的地区名称。本发明能够自动将组织机构名拆分为地区部分和机构名部分。
【IPC分类】G06F17/30
【公开号】CN104899213
【申请号】CN201410079740
【发明人】高阳
【申请人】阿里巴巴集团控股有限公司
【公开日】2015年9月9日
【申请日】2014年3月6日