著录项信息
专利名称 | 一种地名识别方法和装置 |
申请号 | CN201110458103.9 | 申请日期 | 2011-12-30 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2013-07-03 | 公开/公告号 | CN103186524A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/27 | IPC分类号 | G;0;6;F;1;7;/;2;7查看分类表>
|
申请人 | 高德软件有限公司 | 申请人地址 | 浙江省杭州市滨江区长河街道网商路699号4号楼5楼508室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 阿里巴巴(中国)有限公司 | 当前权利人 | 阿里巴巴(中国)有限公司 |
发明人 | 邓小波 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明实施例公开了一种地名识别方法和装置,用以进行地名识别。本发明实施例方法包括:对待识别的字符串进行分词得到候选词;获取各候选词在地址名称库中的所属类别;对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;若当前候选词的所属类别为第二类别,则对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将所述合成词作为地名添加到候选地名集合。本发明实施例还提供了一种地名识别装置。本发明实施例能够进行地名识别。
1.一种地名识别方法,其特征在于,包括:
对待识别的字符串进行分词得到候选词;
获取各候选词在地址名称库中的所属类别;
对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;
若当前候选词的所属类别为第二类别,则对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将所述合成词作为地名添加到候选地名集合;所述第一类别为行政区划前缀,所述第二类别为行政区划后缀、地址后缀、名称后缀中的任意一种。
2.根据权利要求1所述的方法,其特征在于,所述对各候选词进行遍历包括:
按照所述字符串的自然语序从所述各候选词中选择最后一个候选词;
从所述最后一个候选词开始,按照从后至前的顺序依次遍历各候选词。
3.根据权利要求1所述的方法,其特征在于,所述候选地名集合为候选地名列表。
4.根据权利要求1所述的方法,其特征在于,所述对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词包括:
若候选地名列表为空,且所述当前候选词的第一临近词和第二临近词存在于所述地址名称库中,则:
若第一临近词为单字词,且第二临近词为特殊边界词,则将第一临近词与当前候选词进行组合得到组合词;
或者,
若第一临近词为多字词,则将第一临近词与当前候选词组合得到组合词;
或者,
若第二临近词不为特殊边界词,或第一临近词不为多字词,则按照所述字符串的自然语序的倒序将当前候选词与其前面一直到非边界词之前的候选词组合得到组合词;
所述第一临近词为在所述字符串的自然语序中,以当前候选词为参照的前面的第一个候选词;
所述第二临近词为在所述字符串的自然语序中,以当前候选词为参照的前面的第二个候选词。
5.根据权利要求1或4所述方法,其特征在于,所述方法还包括:
将加入候选地名列表中的地名的终结标记设置为第一标识。
6.根据权利要求5所述方法,其特征在于,若当前候选词既不属于第一类别,也不属于第二类别,则:
1)判断所述当前候选词是否属于第三类别,若属于第三类别,则执行步骤2),若不属于第三类别,则执行步骤3);
2)判断候选地名列表是否为空,若不为空,则将所述候选地名列表中最后一个地名的终结标记置为第二标识,若为空,则执行步骤3);
3)判断当前候选词是否为数词,若为数词,则判断数词长度是否小于第一阈值,若小于第一阈值,则将所述数词追加至候选地名列表的最后一个地名,若不小于第一阈值,或者当前候选词不为数词,则执行步骤4);
4)判断当前候选词是否为保留性数量词,若是保留性数量词,则判断候选地名列表是否为空,若不为空,则判断候选地名列表的最后一个地名是否为道路其终结标记是否为第一标识,若是,则将该保留性数量词追加至候选地名列表的最后一个地名,并将其终结标记置为第二标识。
7.根据权利要求6所述的方法,其特征在于,所述第三类别为方位分隔词、标点符号、过滤性数量词中的任意一种。
8.根据权利要求1至4中任一项所述的方法,其特征在于,当所述候选地名集合不为空时,所述方法还包括:
对于所述候选地名集合中的每一个地名,进行如下处理:
若该地名为道路或名称,且该地名与其前一个地名之间的间隔为0,且其前一个地名为行政区划,则保留该地名;
或,
将候选地名集合中的地名的非后缀部分按照自然语序从前至后的顺序移除标注为方位分隔词、标点符号、边界词、特殊边界词、姓氏、姓名左搭配、姓名右搭配、姓名左右搭配或者是长度小于第一阈值的数词,若移除后仅剩下后缀,则将该地名从候选地名集合中删除;
或,
若候选地名集合中的地名以姓氏开头,且其前后出现姓名左搭配、姓名右搭配或姓名左右搭配的情况,则将该地名删除。
9.根据权利要求1至4中任一项所述的方法,其特征在于,当所述候选地名集合不为空时,所述方法还包括:
若候选地名集合中的两个地名之间的间隔小于第二阈值,则按照自然语序从后一个地名往前一个地名扫描,在扫描到方位分隔词、或标点符号、或边界词、或特殊边界词、或姓氏、或姓名左搭配、或姓名右搭配、或姓名左右搭配时停止扫描;
将停止扫描的位置到所述后一个地名间的字符追加到所述后一个地名中。
10.根据权利要求1至4中任一项所述的方法,其特征在于,当所述候选地名集合不为空时,所述方法还包括:
若候选地名集合中的两个地名之间的间隔为0,或者,若候选地名集合中的两个地名中按照自然语序排序的后一个地名在括号内并且所述两个地名之间不存在除标点符号和方位分割词之外的其他字符,则将所述两个地名进行合并。
11.一种地名识别装置,其特征在于,包括:
分词单元,用于对待识别的字符串进行分词得到候选词;
类别获取单元,用于获取各候选词在地址名称库中的所属类别;
地名识别单元,用于对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;若当前候选词的所属类别为第二类别,则对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将所述合成词作为地名添加到候选地名集合;所述第一类别为行政区划前缀,所述第二类别为行政区划后缀、地址后缀、名称后缀中的任意一种。
12.根据权利要求11所述装置,其特征在于,所述地名识别单元包括遍历模块;
所述遍历模块用于按照所述字符串的自然语序从所述各候选词中选择最后一个候选词;从所述最后一个候选词开始,按照从后至前的顺序依次遍历各候选词。
13.根据权利要求12所述的装置,其特征在于,所述地名识别单元还包括第一识别模块;
所述第一识别模块用于进行如下处理:
若候选地名列表为空,且所述当前候选词的第一临近词和第二临近词存在于所述地址名称库中,则:
若第一临近词为单字词,且第二临近词为特殊边界词,则将第一临近词与当前候选词进行组合得到组合词;
或者,
若第一临近词为多字词,则将第一临近词与当前候选词组合得到组合词;
或者,
若第二临近词不为特殊边界词,或第一临近词不为多字词,则按照所述字符串的自然语序的倒序将当前候选词与其前面一直到非边界词之前的候选词组合得到组合词;
所述第一临近词为在所述字符串的自然语序中,以当前候选词为参照的前面的第一个候选词;
所述第二临近词为在所述字符串的自然语序中,以当前候选词为参照的前面的第二个候选词。
14.根据权利要求13所述装置,其特征在于,所述装置还包括:
标识单元,用于将加入候选地名列表中的地名的终结标记设置为第一标识。
15.根据权利要求14所述装置,其特征在于,所述地名识别单元还包括第二识别模块;
所述第二识别模块用于当当前候选词既不属于第一类别,也不属于第二类别时,进行如下处理:
1)判断所述当前候选词是否属于第三类别,若属于第三类别,则执行步骤2),若不属于第三类别,则执行步骤3);
2)判断候选地名列表是否为空,若不为空,则将所述候选地名列表中最后一个地名的终结标记置为第二标识,若为空,则执行步骤3);
3)判断当前候选词是否为数词,若为数词,则判断数词长度是否小于第一阈值,若小于第一阈值,则将所述数词追加至候选地名列表的最后一个地名,若不小于第一阈值,或者当前候选词不为数词,则执行步骤4);
4)判断当前候选词是否为保留性数量词,若是保留性数量词,则判断候选地名列表是否为空,若不为空,则判断候选地名列表的最后一个地名是否为道路其终结标记是否为第一标识,若是,则将该保留性数量词追加至候选地名列表的最后一个地名,并指示所述标识单元将其终结标记置为第二标识。
16.根据权利要求11至15中任一项所述的装置,其特征在于,所述装置还包括:
地名筛选单元,用于当所述候选地名集合不为空时,对于所述候选地名集合中的每一个地名,进行如下处理:
若该地名为道路或名称,且该地名与其前一个地名之间的间隔为0,且其前一个地名为行政区划,则保留该地名;
或,
将候选地名集合中的地名的非后缀部分按照自然语序从前至后的顺序移除标注为方位分隔词、标点符号、边界词、特殊边界词、姓氏、姓名左搭配、姓名右搭配、姓名左右搭配或者是长度小于第一阈值的数词,若移除后仅剩下后缀,则将该地名从候选地名集合中删除;
或,
若候选地名集合中的地名以姓氏开头,且其前后出现姓名左搭配、姓名右搭配或姓名左右搭配的情况,则将该地名删除。
17.根据权利要求11至15中任一项所述的装置,其特征在于,所述装置还包括:
地名修正单元,用于当所述候选地名集合不为空时,若候选地名集合中的两个地名之间的间隔小于第二阈值,则按照自然语序从后一个地名往前一个地名扫描,在扫描到方位分隔词、或标点符号、或边界词、或特殊边界词、或姓氏、或姓名左搭配、或姓名右搭配、或姓名左右搭配时停止扫描;将停止扫描的位置到所述后一个地名间的字符追加到所述后一个地名中。
18.根据权利要求11至15中任一项所述的装置,其特征在于,所述装置还包括:
地名合并单元,用于当所述候选地名集合不为空时,若候选地名集合中的两个地名之间的间隔为0,或者,若候选地名集合中的两个地名中按照自然语序排序的后一个地名在括号内并且所述两个地名之间不存在除标点符号和方位分割词之外的其他字符,则将所述两个地名进行合并。
一种地名识别方法和装置\n技术领域\n[0001] 本发明涉及文字信息处理领域,特别涉及一种地名识别方法和装置。\n背景技术\n[0002] 随着网络技术的发展,人们可以自由地获取大量的信息。然而对海量的信息资源,如何利用设备自动获取有效的信息,是需要进行技术研究。而如何通过对文字文本内容的分析处理,从中提取需要的信息则无疑将推进信息的有效利用。从文字文本中识别地名,进而提取出地名则是其中重要的一个应用方向。\n[0003] 文本信息中包含地名的场景很多,例如:在日常交流的手机短信中就存在大量地名;网购过程中商家将地址发送到用户手机上;企业通知求职者面试时将面试详细地址发送到求职者的手机上;还有朋友之间通过短信传播的聚会地点等等。\n[0004] 识别的地名进一步的应用则会方便人们的生活,例如:将手机上的地址直观地在地图上展示,并提供路径规划、导航服务。这些应用均需要基于地名识别才可以实现。\n发明内容\n[0005] 本发明实施例提供了一种地名识别方法和装置,用以进行地名识别。\n[0006] 一种地名识别方法,包括:\n[0007] 对待识别的字符串进行分词得到候选词;\n[0008] 获取各候选词在地址名称库中的所属类别;\n[0009] 对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;\n[0010] 若当前候选词的所属类别为第二类别,则对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将所述合成词作为地名添加到候选地名集合。\n[0011] 一种地名识别装置,包括:\n[0012] 分词单元,用于对待识别的字符串进行分词得到候选词;\n[0013] 类别获取单元,用于获取各候选词在地址名称库中的所属类别;\n[0014] 地名识别单元,用于对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;若当前候选词的所属类别为第二类别,则对当前候选词以及在所述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将所述合成词作为地名添加到候选地名集合。\n[0015] 从以上技术方案可以看出,使用本发明实施例方案:\n[0016] 通过对待识别的字符串进行分词得到候选词;获取各候选词在地址名称库中的所属类别;当某个候选词为第一类别时,则直接将该候选词作为地名加入候选地名集合,则完成该候选词的地名识别,而当某个候选词为第二类别时,需要对该候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,则完成地名识别,所以,分词得到候选词之后,可以根据候选词的所属类别及与其临近并且属于地址名称库中的候选词进行相应的处理,从而能够进行地名识别。\n附图说明\n[0017] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0018] 图1为本发明实施例地名识别方法一个实施例示意图;\n[0019] 图2为本发明实施例地名识别方法另一实施例示意图;\n[0020] 图3为地名修正对比示意图;\n[0021] 图4为本发明实施例地名识别装置一个实施例示意图;\n[0022] 图5为本发明实施例地名识别装置另一实施例示意图;\n[0023] 图6为本发明实施例地名识别装置另一实施例示意图;\n[0024] 图7为本发明实施例地名识别装置另一实施例示意图;\n[0025] 图8为本发明实施例地名识别装置另一实施例示意图;\n[0026] 图9为本发明实施例地名识别装置另一实施例示意图;\n[0027] 图10为本发明实施例地名识别装置另一实施例示意图;\n[0028] 图11为本发明实施例地名识别装置另一实施例示意图。\n具体实施方式\n[0029] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。\n[0030] 本发明实施例提供了一种地名识别方法,如图1所示,包括:\n[0031] 101、对待识别的字符串进行分词得到候选词;\n[0032] 本实施例中,当地名识别装置需要进行地名识别时,可以先获取到待识别的字符串,该字符串的来源可以是包含文字的任何文本,例如:短信、网页页面等,可以理解的是,在实际应用中,除了上述限定的来源之外,该字符串还可以从其他方式获取,具体此处不做限定。\n[0033] 当获取到待识别的字符串之后,可以对对待识别的字符串进行分词得到候选词,对待识别的字符串进行分词的方式有很多,本实施例中提供了其中的一种可选方案:使用词典按照最大匹配方式对字符串进行分词得到候选词。\n[0034] 本实施例中的词典可以是任何收录汉语中可能出现的词条的集合的任意形式,例如:汉语词典、地址名称库中的词的集合等,本发明实施例不予限定。\n[0035] 102、获取各候选词在地址名称库中的所属类别;\n[0036] 地名识别装置对待识别的字符串进行分词可以得到候选词,之后可以获取各候选词在地址名称库中的所属类别。\n[0037] 本实施例中,该地址名称库通常可以分为两个方面,一方面是使用统计手段获取的高频词,包括后缀、标点符号、方位分隔词等;另一方面是以规则的形式存在的词,如数量词、数字短语等。\n[0038] 可以理解的是,在实际应用中,地址名称库的实现方式有多种,具体此处不做限定。\n[0039] 为便于理解,下面以一个具体例子对地址名称库进行说明,示例如表1所示。\n[0040] 表1地址名称库示例\n[0041]\n[0042] 表1中,边界词由动词、代词、副词、介词、连词、助词、语气词、叹词、时间词等构成。\n特殊边界词来源于边界词,从语料中统计的高频模式用字。“附加名称库”和“附加地址库”,来源于地址名称库,可以使用本发明实施例的方法进行地名识别,然后可以将识别错误的后缀相关的地名,按照“重要度”属性筛选一部分加入地址名称库。“附加名称库”和“附加地址库”以附加库的形式存在,这样初始库会比较小,可以使用网络传输的方式进行更新,也可以由用户进行选择性更新。\n[0043] 为了提高识别的准确性,在地址名称库中有一部分常用词可以作为核心词。如“环境”,当没有该词时,遇到“环”则可以进行地址识别,从而导致识别错误;添加“环境”作为核心词后,就可以避免错误的触发规则,从而提高识别准确率。所有没有在地址名称库中出现的词称为非地址名称库词,用可以使用一个标识进行标记,例如使用0标记。\n[0044] 上述分词是按照地址名称库对字符串进行最大匹配方式分词,另外分词的过程中还可以记录每个词的标注,使用标注来识别其类别。在以字符串的自然语序中相对当前候选词而言,前第一个词称为第一临近词,前第二个词称为第二临近词。数词与“保留性量词”构成“保留性数量词”,依据表1应该标注为56,数词与“过滤性量词”构成“过滤性数量词”,则应该标注为55。\n[0045] 103、对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;若当前候选词的所属类别为第二类别,则对当前候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将上述合成词作为地名添加到候选地名集合。\n[0046] 地名识别装置在获取到各候选词在地址名称库中的所属类别之后,可以对各候选词进行遍历,具体的遍历方式可以为:\n[0047] 按照字符串的自然语序从各候选词中选择最后一个候选词;从最后一个候选词开始,按照从后至前的顺序依次遍历各候选词。\n[0048] 在进行遍历时,对于每一个当前候选词,可以根据该候选词的所属类别和/或其临近的候选词进行地名识别,具体过程可以按照该候选词的所属类别进行分类处理:\n[0049] (1)、当前候选词的所属类别为第一类别时的处理方式:\n[0050] 本实施例中的第一类别可以为行政区划前缀,若当前候选词的所属类别为行政区划前缀,则可以直接将其作为地名添加到候选地名集合,即完成了地名识别。\n[0051] (2)、当前候选词的所属类别为第二类别时的处理方式:\n[0052] 本实施例中的第二类别可以为行政区划后缀、地址后缀、名称后缀中的任意一种,若当前候选词的所属类别为行政区划后缀、地址后缀、名称后缀中的任意一种,则可以对当前候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将合成词作为地名添加到候选地名集合,即完成了地名识别。\n[0053] 需要说明的是,本实施例中,候选地名集合的具体表现形式可以为候选地名列表,或者是其他类型的数据结构,具体此处不做限定。\n[0054] 需要说明的是,候选地名集合中的地名可以是地址也可以是名称,地址如:罗湖区人民南路;名称如:国贸大厦。\n[0055] 举例说明:当前候选词的标注为“省市行政区划核心词”或“区县行政区划”时,则属于行政区划前缀,那么可以直接加入候选地名集合。如“北京”是“省市行政区划核心词”,“安宁”是“区县行政区划”,则作为地名加入候选地名集合。\n[0056] 本实施例中,地名识别装置通过对待识别的字符串进行分词得到候选词;获取各候选词在地址名称库中的所属类别;当某个候选词为第一类别时,则直接将该候选词作为地名加入候选地名集合,则完成该候选词的地名识别,而当某个候选词为第二类别时,需要对该候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,则完成地名识别,所以,分词得到候选词之后,可以根据候选词的所属类别及与其临近并且属于地址名称库中的候选词进行相应的处理,从而能够进行地名识别。\n[0057] 本实施例中,当某个候选词为第二类别时,可以对该候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,具体的组合过程可以包括:\n[0058] 首先判断候选地名列表是否为空,若为空,则再判断当前候选词的第一临近词和第二临近词是否存在于地址名称库中,若存在,则可以根据第一临近词和/或第二临近词的具体情况进行多种处理,下面分别进行说明:\n[0059] (1)、若第一临近词为单字词,且第二临近词为特殊边界词:\n[0060] 这种情况下则可以将第一临近词与当前候选词进行组合得到组合词。\n[0061] (2)、若第一临近词为多字词:\n[0062] 这种情况下则可以将第一临近词与当前候选词组合得到组合词。\n[0063] (3)、若第二临近词不为特殊边界词,或第一临近词不为多字词:\n[0064] 这种情况下则可以按照字符串的自然语序的倒序将当前候选词与其前面一直到非边界词之前的候选词组合得到组合词。\n[0065] 需要说明的是,本实施例中描述的第一临近词为在该字符串的自然语序中,以当前候选词为参照的前面的第一个候选词;\n[0066] 同理,本实施例中描述的第二临近词为在该字符串的自然语序中,以当前候选词为参照的前面的第二个候选词。\n[0067] 需要说明的是,前面的实施例中提到了当前候选词属于第一类别的处理情况,以及属于第二类别的处理情况,在实际应用中,若当前候选词既不属于第一类别,也不属于第二类别,则还需要进行进一步的处理,具体过程如下:\n[0068] (1)、将加入候选地名列表中的地名的终结标记设置为第一标识。\n[0069] (2)、判断上述当前候选词是否属于第三类别,若属于第三类别,则执行步骤(3),若不属于第三类别,则执行步骤(4);\n[0070] (3)、判断候选地名列表是否为空,若不为空,则将上述候选地名列表中最后一个地名的终结标记置为第二标识,若为空,则执行步骤(4);\n[0071] (4)、判断当前候选词是否为数词,若为数词,则判断数词长度是否小于第一阈值,若小于第一阈值,则将上述数词追加至候选地名列表的最后一个地名,若不小于第一阈值,或者当前候选词不为数词,则执行步骤(5);\n[0072] (5)、判断当前候选词是否为保留性数量词,若是保留性数量词,则判断候选地名列表是否为空,若不为空,则判断候选地名列表的最后一个地名是否为道路其终结标记是否为第一标识,若是,则将该保留性数量词追加至候选地名列表的最后一个地名,并将其终结标记置为第二标识。\n[0073] 可选地,上述第三类别为方位分隔词、标点符号、过滤性数量词中的任意一种。\n[0074] 为便于理解,下面以一个例子进行说明:\n[0075] 在本例中,由“行政区划后缀”和“地址后缀”触发识别的地名还可以标记为“TAG_ADDR”,由“名称后缀”触发识别的地名则可以标记为“TAG_NAME”,在地名的合并中可以使用。\n[0076] 例1,“我们在树村集合”,分词结果为“我们/32在/33树/0村/21集合/32”,“村”的标注为“地址后缀”,候选地名列表为空,使用该规则后,在候选地名列表中增加“树村/TAG_ADDR”;\n[0077] 例2,“你在魏公村等我”,分词结果为“你/32在/33魏/72公/72村/21 等/32 我/\n32”,“村”的左一词是单字词“公”,并且左二词“魏”的标注不是“特殊边界词”,所以将“魏公村/TAG_ADDR”作为地名加入候选地名列表。\n[0078] 例3,“魏公村街”,分词结果为“魏/72公/72村/21街/21”,当遇到“街”时,当前候选地名列表中已经有“魏公村/TAG_ADDR”了,“街”与“村”紧密相连,所以将当前候选地名列表的最后一个地名更新为“魏公村街”。\n[0079] 需要说明的是,在本实施例中的第一、第二仅作区分标识用,不作其他限定,其中第一标识和第二标识用于区分两个不同的标识,可以将第一标识设置为0、第二标识设置为\n1。\n[0080] 第一阈值和第二阈值中的“第一”和“第二”则是为了区分两个预先设置的两个值,因此标识以及阈值具体设置值及其名称不应理解为对本发明实施例的限定。经测试表明,第一阈值使用4~6(本发明实施例的举例中使用5),第二阈值则使用10时,地名识别准确率较高,为优选取值。\n[0081] 例4:“魏公村街28号”,分词结果为“魏/72公/72村/21街/2128号/56”,在例3中已经识别出的地名为“魏公村街/TAG_ADDR”,当扫描到“28号”时使用本方法,则会候选地名列表的最后一个地名更新为“魏公村街28号/TAG_ADDR”,并将其终结标记置为1。\n[0082] 另外需要说明的是,测试表明数词既可以在名称中出现,也可以在地址中出现。出现的位置不同,表示的含义也不尽相同。举例说明:R1:天干+数词+量词,如“甲1号”,按照量词的类别分别标注为“保留性数量词”和“过滤性数量词”。R2:数词+量词,如“25号、25-27号”,标注同R1。R3:数词+地址名称库词,如果地址名称库词的标注为地址后缀,则识别为地址,如“中山三路”。\n[0083] 本发明实施例给出了以上方案中执行条件的一个优选判断顺序,需要说明的是,以下优选判断顺序是基于实验得出的一个较好的判断顺序,而并非是唯一的判断顺序,因此以下判断顺序不应理解为对本发明实施例的限定。为了更清楚的说明上述优选判断顺序,本发明实施例还提供了相应的流程图,如图2所示,包括如下步骤:\n[0084] 201:从分词结果中获取一个词作为当前候选词;\n[0085] 202:判断当前候选词是否属于行政区划前缀;如果是,进入203,如果否,进入204;\n[0086] 203:将当前候选词添加到候选地名列表;\n[0087] 204:判断当前候选词是否属于行政区划后缀、地址后缀、名称后缀中的任意一种,如果是进入205,如果否,进入211;\n[0088] 205:判断候选地名列表是否为空并且以当前候选词为参照的左一和左二两个词是否均可用,如果均为是,则进入206,否则进入211;\n[0089] 本发明实施例中确定某一个词是否可用的方式为:确定地址名称库内是否包含该词,如果包含则可用,如果不包含则不可用。\n[0090] 206:判断左一词是否为单字词,左二词是否为特殊边界词,左一词是否为多字词,如果均为是进入207,否则进入208;\n[0091] 本实施例中的左一词即为前述实施例中描述的第一临近词,左二词即为前述实施例中描述的第二临近词,具体含义相同,此处不再赘述。\n[0092] 207:将左一词与当前候选词组合,然后将组合得到的词加入候选地名列表;\n[0093] 208:查找下一个词;\n[0094] 209:判断下一个词是否为边界词;如果否进入210;若是,则将210中组合得到的词加入到候选地名列表;\n[0095] 210:将当前候选词与左一词组合,进入208;\n[0096] 211:判断当前候选词是否为方位分隔词、标点符号、过滤性数量词中的任意一种;\n如果是进入212,如果否,进入214;\n[0097] 212:判断候选地名列表是否为空,如果是进入214,如果否,进入213;\n[0098] 213:将候选地名列表最后一个地名的终结标记置为1;\n[0099] 214:判断当前候选词是否为数词;如果是,进入215,如果否,进入217;\n[0100] 215:判断数词长度是否小于5,当前的候选地名列表是否非空,候选地名列表最后一个地名是否为行政区划,终结标记是否为0,并且当前候选词与前一个或后一个地名的间隔是否为0;如果均为是,进入216,否则进入217;\n[0101] 216:将该数词追加至候选地名列表的最后一个地名;\n[0102] 217:判断当前候选词是否为保留性数量词;如果是,进入218,如果否,进入219;\n[0103] 218:判断当前候选地名列表是否非空,候选地名列表的最后一个地名是否为道路其终结标记是否为0;如果是,进入216;如果否,进入219;\n[0104] 219:结束当前候选词的识别。需要说明的是,本流程仅识别了一个词,需要对字符串分词得到的词从后至前依次执行图2所示流程。\n[0105] 进一步地,本发明实施例还提供了对地名进行筛选以进一步提升地名识别准确度的实现方式,当上述候选地名集合不为空时,上述方法还包括:\n[0106] 对于上述候选地名集合中的每一个地名,进行如下处理:\n[0107] 若该地名为道路或名称,且该地名与其前一个地名之间的间隔为0,且其前一个地名为行政区划,则保留该地名;\n[0108] 或,\n[0109] 将候选地名集合中的地名的非后缀部分按照自然语序从前至后的顺序移除标注为方位分隔词、标点符号、边界词、特殊边界词、姓氏、姓名左搭配、姓名右搭配、姓名左右搭配或者是长度小于第一阈值的数词,若移除后仅剩下后缀,则将该地名从候选地名集合中删除;\n[0110] 或,\n[0111] 若候选地名集合中的地名以姓氏开头,且其前后出现姓名左搭配、姓名右搭配或姓名左右搭配的情况,则将该地名删除。\n[0112] 举例说明:假设候选地名列表中有n个地名,则使用本发明实施例方法对上述n个地名依次进行筛选方法如下:\n[0113] R1:如果第i(1≤i≤n)个地名为道路或名称,存在第i-1个地名且与其的Gap为0,并且第i-1个地名为行政区划,则保留该地名;例如:“海淀区蓝靛厂路”,分词结果为“海淀/\n10区/20蓝靛厂/60路/21”,识别地名为“海淀区/TAG_ADDR蓝靛厂路/TAG_ADDR”,过滤后的地名不变。\n[0114] R2:将第i个地名的非后缀部分从左至右移除标注为“方位分隔词”、“标点符号”、“边界词”、“特殊边界词”、“姓氏”、“姓名左搭配”、“姓名右搭配”、“姓名左右搭配”或者是长度小于5的数词,如果移除后仅剩下后缀,则将该第i个地名从候选地名列表中删除。例如:\n“靠近三环”,分词结果为“靠近/32三环/21”,识别地名为“靠近三环/TAG_ADDR”,则将该地名删除。\n[0115] R3:第i个地名如果以姓氏开头,且其前后出现“姓名左搭配”、“姓名右搭配”或“姓名左右搭配”时,将该地名删除。例如:“王歧山称国际经济复苏存在变数。”,分词结果为“王/72歧/200山/21称/36国际/40经济复苏/40存在/32变/32数/200。/31”,识别地名为“王歧山/TAG_ADDR”,由于其以姓氏开头,且后接“姓名右搭配”,则将该地名作为人名过滤。\n[0116] 进一步地,本发明实施例还提供了在以上实施例的基础之上对地名进行修正,以进一步提升地名识别的准确度的方案,上述方法还包括:\n[0117] 当上述候选地名集合不为空时,\n[0118] 若候选地名集合中的两个地名之间的间隔小于第二阈值,则按照自然语序从后一个地名往前一个地名扫描,在扫描到方位分隔词、或标点符号、或边界词、或特殊边界词、或姓氏、或姓名左搭配、或姓名右搭配、或姓名左右搭配时停止扫描;\n[0119] 将停止扫描的位置到上述后一个地名间的字符追加到上述后一个地名中。\n[0120] 上述修正的方案,一般在地址后接着的地址或名称,并且两个相邻的地名之间的间隔Gap小于第二阈值时候进行地名的修正。\n[0121] 例如:“我们位于江东中路305号中泰国际广场2楼”地址识别后的地名为“江东中路305号/TAG_ADDR”和“国际广场/TAG_NAME”,符合TAG_ADDR+TAG_NAME,判断二者之间的间隔Gap,如果小于某个值(本发明实施例将其预设为10),则对该字符串从“国际广场”位置向前进行扫描,当遇到标注为“方位分隔词”、“标点符号”、“边界词”、“特殊边界词”、“姓氏”、“姓名左搭配”、“姓名右搭配”、“姓名左右搭配”时停止,如果停止的位置在开始位置之前,则更新地名的开始位置和长度,即将停止位置到“国际广场”间的字符追加到“国际广场”。\n识别的名称经过修正后,上例的识别结果为“江东中路305号/TAG_ADDR”和“中泰国际广场/TAG-NAME”。\n[0122] 本例如图3所示,从上至下依次为:待识别字符串、分词结果、地名、修正结果(即修正后的地名)。在图3中,“待识别字符串”表示用于地址识别的输入字符串,本发明实施例中可以是来源于手机短信。“分词结果”中存储的是输入字符串按照最大匹配方式的分词结果。“地名”中存的是使用本发明实施例方法识别的地名。采用本实施例的筛选方案遍历地名,当符合修正条件(前一个结果的标记为TAG_ADDR)时,判断当前地名与前一个地名之间的间隙Gap,本例中间隙串为“中泰”,Gap等于4。此例中Gap大于0,则获取分词结果中的标注,从后向前根据标注判断是否终止,返回终止时的后一个分词结果的标注。将返回的标注对应的原输入串的位置作为当前地名的起始位置,同时更新长度,即完成了候选修正。如表\n2所示,为地名修正对比示例。\n[0123] 表2地名修正对比示例\n[0124]\n[0125] 进一步地,本发明实施例还提供了对地名进行合并的方案,以提升地名识别的准确度,并且方便在地图搜索等应用时提升搜索精度;上述方法还包括:\n[0126] 当上述候选地名集合不为空时,\n[0127] 若候选地名集合中的两个地名之间的间隔为0,或者,若候选地名集合中的两个地名中按照自然语序排序的后一个地名在括号内并且上述两个地名之间不存在除标点符号和方位分割词之外的其他字符,则将上述两个地名进行合并。\n[0128] 更进一步地,为了方便用户查看合并前的地名,并且方便在地图搜索等应用时提供搜索方便,上述方法还包括:将合并前的地名标记为合并后的地名的子标签。\n[0129] 本发明实施例提供了地名合并的举例说明,本发明实施例提供的地名合并的方案包括了两种情况:\n[0130] 一、地名相邻,间隔Gap为0,则可以合并,这样可以提高地图定位的正确率。对于“地址+名称”,且地名相邻,将二者合并后相邻的地名使用子标签的形式区分,显示时使用合并后的地名,而当用户点击时,则可以利用子标签对应的地名解析成地图,对其周边进行搜索。\n[0131] 例1,“九龙园区蟠龙大道68号”的地名识别后的候选地址为“九龙园区/TAG_NAME蟠龙大道68号/TAG_ADDR”,地名合并后为“九龙园区蟠龙大道68号/AI_ADDR”。\n[0132] 例2,“请把资料寄到:北京市海淀区苏州街3号大恒科技大厦南座16层搜索技术部,邮编100080,谢谢!”,地名识别后得到的地名在合并前为“北京市海淀区苏州街3号/TAG_ADDR大恒科技大厦/TAG_NAME”,而合并后的地名为“北京市海淀区苏州街3号大恒科技大厦/TAG_ADDR{SUB_BEG}北京市海淀区苏州街3号/TAG_ADDR大恒科技大厦/TAG_NAME{SUB_END}”。其中使用了SUB_BEG和SUB_END作为子标签进行区分。识别后将“北京市海淀区苏州街3号大恒科技大厦”作为一个整体进行展示,但是当用户点击该地名后,如果能通过地理编码进行地图定位,则直接进行地图展示,否则通过子标签解析为在“北京市海淀区苏州街3号”的周边找“大恒科技大厦”,实验表明采用此方案能大大提高地名在地图上显示的精度。\n[0133] 二、名称+地址,而且地址在括号中,那么可以确定地址是用于名称的补充说明,如果没有括号,则不进行合并。合并方法是:如果括号内的内容与补充说明的项紧密相连,中间没有其它项(除标点符号与方位分割词),那么执行合并。合并连锁店的名称与地址,或者地标的补充说明。将名称与地址合并后,用户点击打开地图时,可以实现精确定位,而不是仅通过名称进行地图查询,导致很多结果。\n[0134] 例3,“您订的是如家快捷酒店(吉林天津街店)吗?”,识别结果为“如家快捷酒店/TAG_NAME吉林天津街/TAG_ADDR”,合并后结果为“如家快捷酒店(吉林天津街店)/AI_NAME{SUB_BEG}如家快捷酒店/AI_NAME吉林天津街/AI_ADDR{SUB_END}”。“如家快捷酒店”很多,但位于“吉林天津街”的“如家快捷酒店”就只有1个了。\n[0135] 本发明实施例还提供了一种地名识别装置,如图4所示,包括:\n[0136] 分词单元401,用于对待识别的字符串进行分词得到候选词;\n[0137] 类别获取单元402,用于获取各候选词在地址名称库中的所属类别;\n[0138] 地名识别单元403,用于对各候选词进行遍历,若当前候选词的所属类别为第一类别,则将当前候选词作为地名添加到候选地名集合;\n[0139] 若当前候选词的所属类别为第二类别,则对当前候选词以及在上述地址名称库中与当前候选词临近的候选词进行组合得到合成词,并将上述合成词作为地名添加到候选地名集合。\n[0140] 本实施例中,分词单元401可以通过对待识别的字符串进行分词得到候选词,类别获取单元402可以获取各候选词在地址名称库中的所属类别,随后地名识别单元403可以当某个候选词为第一类别时,则直接将该候选词作为地名加入候选地名集合,则完成该候选词的地名识别,而当某个候选词为第二类别时,需要对该候选词以及在地址名称库中与当前候选词临近的候选词进行组合得到合成词,则完成地名识别,所以,分词单元401分词得到候选词之后,地名识别单元403可以根据候选词的所属类别及与其临近并且属于地址名称库中的候选词进行相应的处理,从而能够进行地名识别。\n[0141] 本实施例中的地名识别单元403还可以进一步包括遍历模块501,具体请参阅图5:\n[0142] 如图5所示,该遍历模块501用于按照上述字符串的自然语序从上述各候选词中选择最后一个候选词;从上述最后一个候选词开始,按照从后至前的顺序依次遍历各候选词。\n[0143] 本实施例中的地名识别单元403还可以进一步包括第一识别模块601,具体请参阅图6:\n[0144] 如图6所示,该第一识别模块601用于进行如下处理:\n[0145] 若候选地名列表为空,且上述当前候选词的第一临近词和第二临近词存在于上述地址名称库中,则:\n[0146] 若第一临近词为单字词,且第二临近词为特殊边界词,则将第一临近词与当前候选词进行组合得到组合词;\n[0147] 或者,\n[0148] 若第一临近词为多字词,则将第一临近词与当前候选词组合得到组合词;\n[0149] 或者,\n[0150] 若第二临近词不为特殊边界词,或第一临近词不为多字词,则按照上述字符串的自然语序的倒序将当前候选词与其前面一直到非边界词之前的候选词组合得到组合词;\n[0151] 上述第一临近词为在上述字符串的自然语序中,以当前候选词为参照的前面的第一个候选词;\n[0152] 上述第二临近词为在上述字符串的自然语序中,以当前候选词为参照的前面的第二个候选词。\n[0153] 需要说明的是,本实施例中,第一识别模块601具体进行处理的过程与前述图1所示实施例中描述的步骤103中的内容类似,此处不再赘述。\n[0154] 本实施例中的地名识别装置还可以进一步包括标识单元701,具体请参阅图7:\n[0155] 如图7所示,本实施例中的标识单元701具体可以用于将加入候选地名列表中的地名的终结标记设置为第一标识。\n[0156] 本实施例中的地名识别单元403还可以进一步包括第二识别模块801,具体请参阅图8:\n[0157] 如图8所示,该第二识别模块801用于当当前候选词既不属于第一类别,也不属于第二类别时,进行如下处理:\n[0158] 1)判断上述当前候选词是否属于第三类别,若属于第三类别,则执行步骤2),若不属于第三类别,则执行步骤3);\n[0159] 2)判断候选地名列表是否为空,若不为空,则将上述候选地名列表中最后一个地名的终结标记置为第二标识,若为空,则执行步骤3);\n[0160] 3)判断当前候选词是否为数词,若为数词,则判断数词长度是否小于第一阈值,若小于第一阈值,则将上述数词追加至候选地名列表的最后一个地名,若不小于第一阈值,或者当前候选词不为数词,则执行步骤4);\n[0161] 4)判断当前候选词是否为保留性数量词,若是保留性数量词,则判断候选地名列表是否为空,若不为空,则判断候选地名列表的最后一个地名是否为道路其终结标记是否为第一标识,若是,则将该保留性数量词追加至候选地名列表的最后一个地名,并指示上述标识单元501将其终结标记置为第二标识。\n[0162] 进一步地,本发明实施例还提供了对地名进行筛选以进一步提升地名识别准确度的实现方式,如图9所示,本实施例中的地名识别装置还可以进一步包括:\n[0163] 地名筛选单元901,用于当上述候选地名集合不为空时,对于上述候选地名集合中的每一个地名,进行如下处理:\n[0164] 若该地名为道路或名称,且该地名与其前一个地名之间的间隔为0,且其前一个地名为行政区划,则保留该地名;\n[0165] 或,\n[0166] 将候选地名集合中的地名的非后缀部分按照自然语序从前至后的顺序移除标注为方位分隔词、标点符号、边界词、特殊边界词、姓氏、姓名左搭配、姓名右搭配、姓名左右搭配或者是长度小于第一阈值的数词,若移除后仅剩下后缀,则将该地名从候选地名集合中删除;\n[0167] 或,\n[0168] 若候选地名集合中的地名以姓氏开头,且其前后出现姓名左搭配、姓名右搭配或姓名左右搭配的情况,则将该地名删除。\n[0169] 进一步地,本发明实施例还提供了在以上实施例的基础之上对候选地名进行修正,以进一步提升地名识别的准确度的方案,如图10所示,本实施例中的地名识别装置还可以进一步包括:\n[0170] 地名修正单元1001,用于当上述候选地名集合不为空时,\n[0171] 若候选地名集合中的两个地名之间的间隔小于第二阈值,则按照自然语序从后一个地名往前一个地名扫描,在扫描到方位分隔词、或标点符号、或边界词、或特殊边界词、或姓氏、或姓名左搭配、或姓名右搭配、或姓名左右搭配时停止扫描;\n[0172] 将停止扫描的位置到上述后一个地名间的字符追加到上述后一个地名中。\n[0173] 进一步地,本发明实施例还提供了对候选地名进行合并的方案,以提升地名识别的准确度,如图11所示,本实施例中的地名识别装置还可以进一步包括:\n[0174] 地名合并单元1101,用于当上述候选地名集合不为空时,\n[0175] 若候选地名集合中的两个地名之间的间隔为0,或者,若候选地名集合中的两个地名中按照自然语序排序的后一个地名在括号内并且上述两个地名之间不存在除标点符号和方位分割词之外的其他字符,则将上述两个地名进行合并。\n[0176] 值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。\n[0177] 另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。\n[0178] 以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
法律信息
- 2020-06-02
专利权的转移
登记生效日: 2020.05.14
专利权人由高德软件有限公司变更为阿里巴巴(中国)有限公司
地址由102200 北京市昌平区科技园区昌盛路8号B1座1-5层变更为310052 浙江省杭州市滨江区长河街道网商路699号4号楼5楼508室
- 2016-04-13
- 2013-11-20
实质审查的生效
IPC(主分类): G06F 17/27
专利申请号: 201110458103.9
申请日: 2011.12.30
- 2013-07-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-05-25
|
2011-01-11
| | |
2
| |
2008-02-13
|
2007-09-25
| | |
3
| |
2008-10-01
|
2007-03-27
| | |
4
| |
2010-11-03
|
2009-11-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |