CN105159949B - 一种中文地址分词方法及系统 - Google Patents
一种中文地址分词方法及系统 Download PDFInfo
- Publication number
- CN105159949B CN105159949B CN201510493012.7A CN201510493012A CN105159949B CN 105159949 B CN105159949 B CN 105159949B CN 201510493012 A CN201510493012 A CN 201510493012A CN 105159949 B CN105159949 B CN 105159949B
- Authority
- CN
- China
- Prior art keywords
- address
- label
- matched
- character
- dictionary
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种中文地址分词方法及系统,方法包括:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典;获取包括至少一个字的待分词地址,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识;对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词。本发明对地址的每个字均采用标签进行标识,从而使得分词时能够根据该标签进行分割,将地址元素信息降维,使得分词更为简单快捷。
Description
技术领域
本发明涉及中文地址相关技术领域,特别是一种中文地址分词方法及系统。
背景技术
中文地址分词技术在很多应用场景中都起到关键性作用,如何实现高效准确的地址分词是实际应用过程中的重点和难点。目前中文地址分词大多基于字符串匹配,在匹配过程中地址词库的查询和比对次数过多,造成分词效率较低。中文地址不同与英文地址,不具有或很少具有自然分割标记,同时,中文地址又不同于普通的中文文本,地址具有更加独特的分词特征,因此中文地址分词逻辑相对复杂。
发明内容
基于此,有必要针对现有技术对中文地址分词效率低的技术问题,提供一种中文地址分词方法及系统。
一种中文地址分词方法,包括:
标签地址元素词典生成步骤,包括:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
地址分词标签生成步骤,包括:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
标签分词步骤,包括:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词。
一种中文地址分词系统,包括:
标签地址元素词典生成模块,用于:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
地址分词标签生成模块,用于:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
标签分词模块,用于:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词。
本发明对地址的每个字均采用标签进行标识,从而使得分词时能够根据该标签进行分割,将地址元素信息降维,使得分词更为简单快捷。
附图说明
图1为本发明一种中文地址分词方法的工作流程图;
图2为简化的地址词典树;
图3为简化的分词规则树;
图4为本发明最佳实施例的结构示意图;
图5为本发明一种中文地址分词系统的结构模块图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示为本发明一种中文地址分词方法的工作流程图,包括:
步骤S101,包括:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
步骤S102,包括:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
步骤S103,包括:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词。
步骤S101中对地址词典表中的地址元素采用词典标签进行标识,步骤S102中的待匹配字符采用步骤S101中的词典标签进行标识,在步骤S103中则能够根据标签顺序输出分词结果,具体分词结果输出样式视业务的具体需求而定。
本发明对地址的每个字均采用标签进行标识,从而使得分词时能够根据该标签进行分割,将地址元素信息降维,使得分词更为简单快捷。
词典标签是对地址中的每个字符的特征描述,词典标签包含被描述字符的若干属性特征。在其中一个实施例中,所述词典标签包括:表示地址字符所属地址的等级信息、地址字符在地址元素中的词性信息和地址字符在地址元素中的位置信息。
本实施例优选使用的词典标签长度为3位,每个词典标签由三个字母组成,每个字母为一个标签位,每个标签位可以视为被描述地址字符的一个维度属性。三个标签位分别是:
1.第一标签位(Level Tag):等级标签位,对应地址等级信息。
2.第二标签位(Nature Tag):词性标签位,对应词的词性信息。
3.第三标签位(Position Tag):位置标签位,对应被描述字符在关键词中的位置信息。
标签分别表示了地址的等级信息,词性信息和字在词中的位置信息,具体标签含义如表1~表3所示:
(1)第一标签位(Level Tag)
表1 第一标签位(Level Tag)说明
(2)第二标签位(Nature Tag)
表2 第二标签位(Nature Tag)说明
(3)第三标签位(Position Tag)
表3 第三标签位(Postion Tag)说明
本实施例通过将地址标签分为三个不同的标签位,对地址字符实现降维,使得更好地应用各种不同的规则。
在其中一个实施例中,所述地址词典表的地址元素之间具有父级别和子级别的级别关系,所述步骤S101,还包括:
根据标签地址词典中的地址元素之间的级别关系,生成对应的包括至少一个地址节点的标签地址词典树,标签地址词典树的每个地址节点与一个地址元素对应,且地址节点对应的地址元素的父级别地址元素对应该地址节点的父地址节点,地址节点对应的地址元素的子级别地址元素对应该地址节点的子地址节点。
本实施例将标签地址词典采用树结构进行保存,能够提高中文地址分词速度。
在其中一个实施例中,所述地址词典表包括常用地址词典表和特征词典表,所述常用地址词典表所包括的地址元素为完整地址,所述特征词典表所包括的地址元素为完整地址的特征字符;
所述步骤S102,具体包括:将由常用地址词典表所得到的标签地址元素词典作为常用标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
对于在常用标签地址元素词典中未能找到待匹配地址元素的待匹配字符作为待匹配特征字符,将由特征词典表所得到的标签地址元素词典作为特征标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配特征字符相同的地址元素作为与待匹配特征字符对应的待匹配特征元素,执行预设的规则将待匹配特征字符采用地址分词标签分别进行标识,地址分词标签包括待匹配特征字符对应的待匹配特征元素中包括的特征字符的词典标签。
本发明最佳实施例所使用的地址词典共2类:地址词典树和特征词典。地址词典主要用于地址分词中地址元素识别和匹配阶段,利用中文地址词库标签设计方案,对现有地址元素进行标签化,生成原始地址词典表,表4展示了“省级”原始地址词典表,其每个地址元素为一个完整的地址,例如:北京市或者天津市等。
表4 “省级”原始地址词典表
原始地址词典表中存储了当前地址元素和父级别地址元素之间的对应关系,利用该关系生词地址词典树,图2展示了简化的地址词典树。
在利用地址词典树进行地址元素识别和匹配时,采用广度优先遍历,当确定该级别节点后,停止遍历该级别节点,然后历遍其子树。在使用地址词典树进行地址元素识别和匹配时,当在某一级别上没有匹配到元素时,采用“回溯”的方式,去遍历当前级别的父级别中所有节点的子树进行尝试性搜索。
由于词典的不全面或其他原因,往往一条地址中的元素无法利用地址词典树完全识别,因此,本发明维护了一个地址特征词典,对地址中一些特征词进行识别,方便后续分词工作使用,表5展示了一个原始地址特征词典表,其每个地址元素为一个完整地址中的特征词,例如:市、县等,具体采用什么词作为特征词由用户根据实际需要确定。
表5 原始地址特征词典表
在其中一个实施例中,所述步骤S102中,具体包括:
获取包括至少一个字的待分词地址,对待分词地址根据预设的关于地址清洗的规则进行清洗,得到清洗后待分词地址;
将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,根据预设的关于候选标签匹配的规则将清洗后待分词地址的每个待匹配字符打上候选标签,所述候选标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
如果同一待匹配字符对应多个候选标签,则根据预设的关于重复候选标签选择的规则进行选取,得到每个待匹配字符对应的唯一的候选标签;
如果任意待匹配字符没有对应的候选标签,则执行预设的关于空标签填充的规则为没有候选标签的待匹配字符选择候选标签;
记录每个待匹配地址字符的候选标签的生成方式,为每个待匹配地址字符生成对应的地址分词标签,地址分词标签包括:候选标签的生成方式与候选标签。
本实施例优化实现了步骤S102的具体流程,联合各环节规则应用,背后实现为树形结构,可以针对不同应用场景添加,减少或修改流程,方便扩展。同时,增加了对候选标签来源标记,提高规则应用的准确性,同时有利于地址分词后续扩展应用。
具体来说,步骤S102的具体流程包括:
(1)地址清洗
由于地址多为用户自己填写,因此很多情况下用户并没有按照一个通用并且标准的格式去填写。这就造成了原始地址数据中存在很多影响后续处理的脏数据,例如:空字符(空格,制表符等),标点符号(逗号,括号等,全角和半角)等。地址清洗主要利用地址清洗规则树对这些脏数据进行选择性去除和保留。
(2)打候选标签
该部分利用词典树,特征词典和打候选标签规则树对清洗后地址打候选标签。该步骤会利用规则树将一切符合规则的标签打上,产生的候选标签集的各个标签之间的地址元素可能会存在部分重复或完全重复。
(3)候选标签选择
针对产生的候选标签集中地址元素部分重复或完全重复的标签,利用候选标签选择规则树进行择优选取。本步骤完成后确保修正的标签集中的各个标签的地址元素不存在任何重复。
(4)唯一化标签修正
优选地,针对唯一化后的修正标签集,利用唯一化标签修正规则树对当前的候选标签集进行检查,有针对性的进行修正和优化。
(5)空标签位填充
此时地址中的全部元素不一定在候选标签集中都有对应的标签。利用空标签填充规则树和空标签的上下文环境进行合理的填充或合并。
(6)后期修正
此时地址中的全部元素都能够与候选标签集中的标签一一对应。优选地,还可以针对当前的候选标签集,利用后期修正规则树从整体和局部多个角度进行进一步的修正和优化。该步骤完成之后,即可利用标签集中标签产生最后的分词结果。
在其中一个实施例中,所述规则为包括多个规则元素的规则树,规则元素之间具有父级别和子级别的级别关系,规则树包括多个规则节点,每个规则节点与一个规则元素对应,规则节点对应的规则元素的父级别规则元素对应该规则节点的父规则节点,规则节点对应的规则元素的子级别规则元素对应该规则节点的子规则节点,每个规则元素包括条件以及当条件被满足时所执行的操作;
执行规则,具体为:
根节点子步骤,包括:以根节点为当前节点;
当前规则元素确定子步骤,包括:当前节点所对应的规则元素为当前规则元素;
规则元素执行子步骤,包括:将当前节点作为已判断节点,如果当前规则元素所包括的条件被满足,则执行对应的操作,并将当前节点的子节点作为当前节点,执行当前规则元素确定子步骤,如果当前规则元素所包括的条件不被满足,则执行未判断子节点子步骤;
未判断子节点子步骤,如果当前节点的父节点还有其他未设定为已判断节点的子节点,则选择当前节点的父节点的一个未设定为已判断节点的子节点作为当前节点,执行当前规则元素确定子步骤,否则结束。
在中文地址分词的不同阶段对地址会进行不同规则的处理,每个步骤针对地址分词的中间结果会采用不用的规则。因此,本发明设计了一种中文地址分词规则树,在分词流程的每个步骤中针对中间结果使用不同的规则。规则树的应用不仅减少了大量规则判断的时间,提高速度,还避免了应用过多规则时,不同规则之间的相互干扰的问题,图3展示了一个简化的分词规则树。
本实施例减少各环节规则应用条数,提高中文地址分词速度;减少过多规则应用带来的不同规则之间的相互影响和冲突;方便后续规则的扩展。
如图4所示为本发明最佳实施例的结构示意图,包括:中文地址分词服务提供者服务器41、地址词典服务器42和通用服务注册服务器43
(1)为了保证整套中文分词系统具有一定的容灾性,本系统主从两个地址词典服务器42,主服务器宕机后,自动切换到从服务器。部署多台中文地址分词服务提供者服务器41,避免因单台中文地址分词服务提供者服务器41宕机导致整个系统瘫痪。同时每台中文地址分词服务提供者服务器41部署多个应用实例,提高整个中文分词系统的效率。
(2)为了保证系统高并发支持,中文地址分词服务提供者服务器41不直接暴露给服务使用者44。中文地址分词服务提供者服务器41中的每个应用实例向通用服务注册服务器43注册服务,服务使用者44向通用服务注册服务器43请求服务,通用服务注册服务器43利用负载均衡为服务使用者44分配合适的应用服务提供者实例。
本系统详细功能实现
(1)数据库使用
数据库采用MySQL,数据库中存储地址原始词库和生成的供系统使用的地址词库。地址分词系统仅在地址词典生成和地址词典导入阶段和MySQL进行交互,地址分词服务初始化完毕后,后续分词过程不再和MySQL交互。
(2)地址词典生成模块
(2.1)对待生成标签的词条(例如province级别中的一个词条,ID:110000),首先从该等级的原始词典表(province_raw)中提取词条信息(ID,父ID,词条内容)。
(2.2)扫描该级别的特征词表(province_feature)中的所有特征词,对于在词条内容结尾匹配到的特征词,先将这部分当上标签(LevelTag为当前级别,NatureTag为F,PositionTag根据字在特征词中的位置分别为:开始(B),中间(M),结尾(E),单字词(S))。
(2.3)对词条中去除特征词的部分打标签(LevelTag为当前级别,NatureTag为D,PositionTag根据字在特征词中的位置分别为:开始(B),中间(M),结尾(E),单字词(S))。
(2.4)对该等级特征词表(province_feature)中标记为需要添加进入最终特征词表(feature)的词,进行(2.2)中的标签化,并添加进入最终的特征词表。
(2.5)重复上述过程,对所有等级进行相同操作,完成地址词典表的生成。
(3)地址词典载入模块
(3.1)词典树是一个以AddressDictionaryNode为根节点的非均衡树。AddressDictionaryNode中除了保存当前词条节点的基本信息(节点ID:nodeID(String),节点等级:nodeLevel(String),节点标签:nodeTags(List<AddressDictionaryTag>))外,还包含一个父节点的引用fatherNode(AddressDictionaryNode),同时使用一个集合(List)保存其子节点childrenNodes(List<AddressDictionaryNode>)。
(3.2)等级词典是保存每个级别信息(AddressDictionaryLevel)的一个集合(List),每个级别信息(AddressDictionaryLevel)中包含级别的基本信息(等级名称:levelName(String),等级类型:levelType(String))和该级别所有词条(AddressDictionaryLevelItem)的集合(List)。
(3.3)特征词典是保存各个级别特征词信息(AddressDictionaryLevelFeatureItem)的一个集合(List),每个级别特征词信息(AddressDictionaryLevelFeatureItem)包括特征词的基本信息(特征词ID:itemID(String),特征词名称:itemName(String),特征词等级:itemLevel(String),特征词标签:itemTag(String)等)。
(3.4)查询词典等级信息表(levels),获取各等级词典顺序和各等级是否用于生成词典树等信息。
(3.5)逐级别,逐词条生成对应的AddressDictionaryNode,逐级别将其加入用于生成词典树的节点队列Queue<AddressDictionaryNode>用于生成节点之间关系。原始词典表中各级别词条采用对应顺序存储,生成词典树时,仅需将队列的最前端元素出队列即可,大大缩短了词典树的生成时间。
(3.6)对于等级词典和特征词典,保持类似词典表中的存储结构相应的保存在List<AddressDictionaryLevel>和List<AddressDictionaryLevelFeatureItem>两个集合中。
(4)中文地址分词流程
(4.1)地址清洗
(4.1.1)利用正则表达式将全部全角标签替换成半角。
(4.1.2)利用正则表达式将各种括号替换成半角小括号。
(4.1.3)利用正则表达式将除括号外的各种标点和空字符(空格,制表符等)替换成半角逗号。
(4.1.4)利用正则表达式将相邻的多个半角逗号合并成一个。
(4.1.5)利用正则表达式将配对的小括号和其中的数据从原始地址信息中剔除并保留在List<AddressParticipleLineSeparated>集合中,用于后期其他环节规则使用。
(4.1.6)利用正则表达式将所有的半角逗号从原始地址信息中提出并保留List<Integer>中记录自然分隔符的位置,用于后期其他环节规则使用。
(4.2)打候选标签
(4.2.1)地址分词标签不同与词典标签,除了对应的词典标签信息外,分词标签中还记录了标签的生成方式AddressParticipleTagType,在地址中的位置等其他信息。
(4.2.2)利用地址词典树AddressDictionaryNode中的根节点对地址中的内容进行匹配。采用广度遍历进行搜索匹配,当在树的某层中匹配到某一个节点后,停止该层节点匹配,向下匹配该节点的子树。该步骤匹配到的类型为:found_by_dictionary_tree。当在词典树的一个非叶子节点层没有找到匹配的节点,返回上一层匹配全部子树进行尝试性搜索。该步骤匹配到的类型为:found_by_dictionary_tree_all_children。
(4.2.3)循环遍历等级词典中的所有词条,对匹配到的内容打上标签。该步骤匹配到的类型为:found_by_dictionary_level。
(4.2.3)循环遍历特征词典中的所有词条,对匹配到的内容打上标签。该步骤匹配到的类型为:found_by_dictionary_feature。
(4.3)候选标签选择(对应的分词标签类型为:guessed_by_rule,changed_by_rule,filled_by_rule或combined_by_rule)
(4.3.1)在每一步判断当前候选标签集中是否还存在位置部分重复和完全重复的候选标签。
(4.3.2)对于位置部分重复候选标签,若其中一个标签类型为found_by_dictionary_tree,另一个为其他类型,则去除其他类型的标签。对于其他情况,去除长度相对较短的标签。
(4.3.3)对于位置完全重复的候选标签,如同时存在类型为found_by_dictionary_tree和其他类型的标签,则去除其他类型的标签。若此时还有重复候选标签,如果存在标签前后有邻居标签的时,去除没有邻居标签的候选标签。若此时还有重复的候选标签,则保留包含特征词(F)的标签。若此时还有重复的候选标签,则保留等级最高的标签。若此时还有重复的候选标签,则保留第一个候选标签。
(4.3.4)利用标签中的位置对候选标签列表进行排序。
(4.4)唯一化标签修正(对应的分词标签类型为:guessed_by_rule,changed_by_rule,filled_by_rule或combined_by_rule)
(4.4.1)如果两个相邻的候选标签,第一个以描述词(D)结尾,第二个以特征词(F)开头,并且两者是一个等级(非localizer级别),则合并两个标签,如果不是一个级别,删除描述词标签。
(4.4.2)如果两个相邻的候选标签,第一个以特征词(F)结尾,第二个以特征词(F)开头,并且两者是一个等级(非localizer级别),则合并两个标签,如果不是一个级别,并且第二个标签长度小于等于2,删除特征词标签。
(4.4.3)删除Building级别标签第一次出现位置后所有等级高于district级别的标签。
(4.5)空标签位填充(对应的分词标签类型为:guessed_by_rule,changed_by_rule,filled_by_rule或combined_by_rule)
(4.5.1)对于空标签位,如果后面的邻居标签以描述词(D)开头,则将空标签位填充为前后邻居标签等级中间(如不存在中间等级,则和后面等级相同)等级的描述词标签。
(4.5.2)对于空标签位,如果后面的邻居标签以特征词(F)开头,则将空便签位于后面邻居标签合并,并空标签为填充为相同等级的描述词。
(4.5.3)对于位于地址尾部的空标签位,填充为more等级的标签。
(4.6)后期修正(对应的分词标签类型为:guessed_by_rule,changed_by_rule,filled_by_rule或combined_by_rule)
(4.6.1)将标签中类型为guessed_by_rule,changed_by_rule,filled_by_rule或combined_by_rule并且中间包含数字或拉丁字母的标签拆成同级别的两个标签。
(4.6.2)利用数据清洗步骤记录自然分隔符的位置,若该位置位于一个标签的中间,则将该标签在该位置拆分为相同级别的两个标签。
(4.7)示例
原始地址数据:
北京市朝阳区【我是捣乱的),天辰东路国家会议中心,,5层
清理后地址:
北京市朝阳区天辰东路国家会议中心5层
分割信息:
(我是捣乱的)@6
自然分隔符@:
6 10 16
候选标签:
Level:province Word:北京市 Tag:PDB|PDE|PFS
Begin Position:0 Type:found_by_dictionary_tree
Level:town Word:朝阳区 Tag:TDB|TDE|TFS Begin Position:3 Type:found_by_dictionary_tree
Level:district Word:天辰东路 Tag:DDB|DDE|DFB|DFE
Begin Position:6 Type:changed_by_rule
Level:building Word:国家会议中心 Tag:BDB|BDM|BDM|BDE|BFB|BFE BeginPosition:10 Type:changed_by_rule
Level:more Word:5层 Tag:MDS|MFS Begin Position:16 Type:changed_by_rule最终分词:
province:北京市|town:朝阳区|district:天辰东路|building:国家会议中心|more:5层
具体来说:
1.经过步骤S102可以保证一条待分词的地址文本中的都能够对应并且唯一对应一个分词标签。
2.每个分词标签中除了记录了分词文本(e.g.北京市),标签信息(e.g.PDB|PDE|PFS)和标签类型(e.g.found_by_dicctionary_tess),还包含了该分词标签中的分词文本对应待分词的完整地址文本中的位置,例如:
待分词的地址:北京市朝阳区【我是捣乱的),天辰东路国家会议中心,,5层
清洗后地址:北京市朝阳区天辰东路国家会议中心5层
分词标签1:Level:province Word:北京市 Tag:PDB|PDE|PFS Begin Position:0Type:found_by_dictionary_tree
其中Begin Position即为分词标签文本[北京市]在整个清洗后地址中的位置,以第一个字位置标注,起始位置为0。
分词标签3:Position:3 Type:found_by_dictionary_tree
Level:district Word:天辰东路 Tag:DDB|DDE|DFB|DFE
Begin Position:6 Type:changed_by_rule
3.在执行完步骤S102后,由于候选标签唯一化,修正等操作不能保证分词标签在候选分词标签列表中的顺序是按照Begin Position由小到大的顺序排序的,因此,再根据Begin Position由小到大的顺序重新进行排序。
4.重新排序完毕后,则可以按照候选标签列表从上到下的顺序输出分词结果,此处的具体分词结果输出样式视业务的具体需求而定。候选分词标签列表中的每个分词标签即为最终的一个分词,每个分词标签中包含了一些附属信息,可供业务方扩展应用。
一种输出样式示例:
province:北京市|town:朝阳区|district:天辰东路|building:国家会议中心|more:5层
5.至此,根据步骤S102产生的候选分词标签列表(位置信息包含在每个分词标签中)进行最终分词和分词结果输出全部完成。
(5)部分具体规则
R 1.1特殊符号(标点和空字符)识别替换
RDes 1.1将地址中的特殊符号(标点和空字符)均用逗号替换,并标记。
R 1.2候选标签越长越合理
RDes 1.2当每个字有多于一个的候选标签时,该标签位于的标签链越长,则该标签越合理,剔除较短标签。
R 1.3同长度候选标签根据标签等级选取
RDes 1.3当每个字有多于一个的候选标签时,并且该标签位于的标签链长度相同,则根据标签的等级越高越合理。
R 1.4相邻描述标签和特征标签需匹配
RDes 1.4相邻的描述标签和特征标签应等级匹配,若不匹配,则删除描述标签。
R 1.5相邻标签不能同时为特征标签
RDes 1.5相邻标签不能同时为特征标签,若均为特征标签,当前面一个标签链不包含描述标签则删除前者,否则删除后者。
R 1.6方位标签只能在特征标签之后
RDes 1.6方位标签只能在特征标签之后,否则删除方位标签。
R 1.7最后空标签填充为M级
RDes 1.7若地址的最后面未被打上标签,则填充为M。
R 1.8剩余空标签根据后面级别补全
RDes 1.8剩余空标签根据后面级别补全为该级别的描述标签。
如图5所示为本发明一种中文地址分词系统的结构模块图,包括:
标签地址元素词典生成模块501,用于:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
地址分词标签生成模块502,用于:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
标签分词模块503,用于:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词。
在其中一个实施例中,所述词典标签包括:表示地址字符所属地址的等级信息、地址字符在地址元素中的词性信息和地址字符在地址元素中的位置信息。
在其中一个实施例中,所述地址词典表的地址元素之间具有父级别和子级别的级别关系,所述标签地址词典生成模块,还包括:
根据标签地址词典中的地址元素之间的级别关系,生成对应的包括至少一个地址节点的标签地址词典树,标签地址词典树的每个地址节点与一个地址元素对应,且地址节点对应的地址元素的父级别地址元素对应该地址节点的父地址节点,地址节点对应的地址元素的子级别地址元素对应该地址节点的子地址节点。
在其中一个实施例中,所述地址词典表包括常用地址词典表和特征词典表,所述常用地址词典表所包括的地址元素为完整地址,所述特征词典表所包括的地址元素为完整地址的特征字符;
所述地址分词标签生成模块,具体用于:将由常用地址词典表所得到的标签地址元素词典作为常用标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
对于在常用标签地址元素词典中未能找到待匹配地址元素的待匹配字符作为待匹配特征字符,将由特征词典表所得到的标签地址元素词典作为特征标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配特征字符相同的地址元素作为与待匹配特征字符对应的待匹配特征元素,执行预设的规则将待匹配特征字符采用地址分词标签分别进行标识,地址分词标签包括待匹配特征字符对应的待匹配特征元素中包括的特征字符的词典标签。
在其中一个实施例中,所述地址分词标签生成模块中,具体包括:
获取包括至少一个字的待分词地址,对待分词地址根据预设的关于地址清洗的规则进行清洗,得到清洗后待分词地址;
将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,根据预设的关于候选标签匹配的规则将清洗后待分词地址的每个待匹配字符打上候选标签,所述候选标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
如果同一待匹配字符对应多个候选标签,则根据预设的关于重复候选标签选择的规则进行选取,得到每个待匹配字符对应的唯一的候选标签;
如果任意待匹配字符没有对应的候选标签,则执行预设的关于空标签填充的规则为没有候选标签的待匹配字符选择候选标签;
记录每个待匹配地址字符的候选标签的生成方式,为每个待匹配地址字符生成对应的地址分词标签,地址分词标签包括:候选标签的生成方式与候选标签。
在其中一个实施例中,所述规则为包括多个规则元素的规则树,规则元素之间具有父级别和子级别的级别关系,规则树包括多个规则节点,每个规则节点与一个规则元素对应,规则节点对应的规则元素的父级别规则元素对应该规则节点的父规则节点,规则节点对应的规则元素的子级别规则元素对应该规则节点的子规则节点,每个规则元素包括条件以及当条件被满足时所执行的操作;
执行规则,具体为:
根节点子模块,用于:以根节点为当前节点;
当前规则元素确定子模块,用于:当前节点所对应的规则元素为当前规则元素;
规则元素执行子模块,用于:将当前节点作为已判断节点,如果当前规则元素所包括的条件被满足,则执行对应的操作,并将当前节点的子节点作为当前节点,执行当前规则元素确定子模块,如果当前规则元素所包括的条件不被满足,则执行未判断子节点子模块;
未判断子节点子模块,如果当前节点的父节点还有其他未设定为已判断节点的子节点,则选择当前节点的父节点的一个未设定为已判断节点的子节点作为当前节点,执行当前规则元素确定子模块,否则结束。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种中文地址分词方法,其特征在于,包括:
标签地址元素词典生成步骤,包括:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
地址分词标签生成步骤,包括:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
标签分词步骤,包括:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词;
所述地址词典表的地址元素之间具有父级别和子级别的级别关系,所述标签地址词典生成步骤,还包括:
根据标签地址词典中的地址元素之间的级别关系,生成对应的包括至少一个地址节点的标签地址词典树,标签地址词典树的每个地址节点与一个地址元素对应,且地址节点对应的地址元素的父级别地址元素对应该地址节点的父地址节点,地址节点对应的地址元素的子级别地址元素对应该地址节点的子地址节点。
2.根据权利要求1所述的中文地址分词方法,其特征在于,所述词典标签包括:表示地址字符所属地址的等级信息、地址字符在地址元素中的词性信息和地址字符在地址元素中的位置信息。
3.根据权利要求1所述的中文地址分词方法,其特征在于,所述地址词典表包括常用地址词典表和特征词典表,所述常用地址词典表所包括的地址元素为完整地址,所述特征词典表所包括的地址元素为完整地址的特征字符;
所述地址分词标签生成步骤,具体包括:将由常用地址词典表所得到的标签地址元素词典作为常用标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
对于在常用标签地址元素词典中未能找到待匹配地址元素的待匹配字符作为待匹配特征字符,将由特征词典表所得到的标签地址元素词典作为特征标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配特征字符相同的地址元素作为与待匹配特征字符对应的待匹配特征元素,执行预设的规则将待匹配特征字符采用地址分词标签分别进行标识,地址分词标签包括待匹配特征字符对应的待匹配特征元素中包括的特征字符的词典标签。
4.根据权利要求1所述的中文地址分词方法,其特征在于,所述地址分词标签生成步骤中,具体包括:
获取包括至少一个字的待分词地址,对待分词地址根据预设的关于地址清洗的规则进行清洗,得到清洗后待分词地址;
将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,根据预设的关于候选标签匹配的规则将清洗后待分词地址的每个待匹配字符打上候选标签,所述候选标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
如果同一待匹配字符对应多个候选标签,则根据预设的关于重复候选标签选择的规则进行选取,得到每个待匹配字符对应的唯一的候选标签;
如果任意待匹配字符没有对应的候选标签,则执行预设的关于空标签填充的规则为没有候选标签的待匹配字符选择候选标签;
记录每个待匹配地址字符的候选标签的生成方式,为每个待匹配地址字符生成对应的地址分词标签,地址分词标签包括:候选标签的生成方式与候选标签。
5.根据权利要求4所述的中文地址分词方法,其特征在于,所述规则为包括多个规则元素的规则树,规则元素之间具有父级别和子级别的级别关系,规则树包括多个规则节点,每个规则节点与一个规则元素对应,规则节点对应的规则元素的父级别规则元素对应该规则节点的父规则节点,规则节点对应的规则元素的子级别规则元素对应该规则节点的子规则节点,每个规则元素包括条件以及当条件被满足时所执行的操作;
执行规则,具体为:
根节点子步骤,包括:以根节点为当前节点;
当前规则元素确定子步骤,包括:当前节点所对应的规则元素为当前规则元素;
规则元素执行子步骤,包括:将当前节点作为已判断节点,如果当前规则元素所包括的条件被满足,则执行对应的操作,并将当前节点的子节点作为当前节点,执行当前规则元素确定子步骤,如果当前规则元素所包括的条件不被满足,则执行未判断子节点子步骤;
未判断子节点子步骤,如果当前节点的父节点还有其他未设定为已判断节点的子节点,则选择当前节点的父节点的一个未设定为已判断节点的子节点作为当前节点,执行当前规则元素确定子步骤,否则结束。
6.一种中文地址分词系统,其特征在于,包括:
标签地址元素词典生成模块,用于:获取地址词典表,将地址词典表中所包括的地址元素采用词典标签进行标识得到标签地址元素词典,每个地址元素所包括的字符为地址字符,对每个地址字符采用一个词典标签分别标识;
地址分词标签生成模块,用于:获取包括至少一个字的待分词地址,待分词地址中的每个字为待匹配字符,将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
标签分词模块,用于:对待分词地址中的待匹配字符,执行预设的规则根据所标识的地址分词标签所包括的词典标签进行分词;
所述地址词典表的地址元素之间具有父级别和子级别的级别关系,所述标签地址词典生成模块,还包括:
根据标签地址词典中的地址元素之间的级别关系,生成对应的包括至少一个地址节点的标签地址词典树,标签地址词典树的每个地址节点与一个地址元素对应,且地址节点对应的地址元素的父级别地址元素对应该地址节点的父地址节点,地址节点对应的地址元素的子级别地址元素对应该地址节点的子地址节点。
7.根据权利要求6所述的中文地址分词系统,其特征在于,所述词典标签包括:表示地址字符所属地址的等级信息、地址字符在地址元素中的词性信息和地址字符在地址元素中的位置信息。
8.根据权利要求6所述的中文地址分词系统,其特征在于,所述地址词典表包括常用地址词典表和特征词典表,所述常用地址词典表所包括的地址元素为完整地址,所述特征词典表所包括的地址元素为完整地址的特征字符;
所述地址分词标签生成模块,具体用于:将由常用地址词典表所得到的标签地址元素词典作为常用标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,执行预设的规则将待匹配字符采用地址分词标签分别进行标识,地址分词标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
对于在常用标签地址元素词典中未能找到待匹配地址元素的待匹配字符作为待匹配特征字符,将由特征词典表所得到的标签地址元素词典作为特征标签地址元素词典,将常用标签地址元素词典中与一个或连续多个待匹配特征字符相同的地址元素作为与待匹配特征字符对应的待匹配特征元素,执行预设的规则将待匹配特征字符采用地址分词标签分别进行标识,地址分词标签包括待匹配特征字符对应的待匹配特征元素中包括的特征字符的词典标签。
9.根据权利要求6所述的中文地址分词系统,其特征在于,所述地址分词标签生成模块中,具体包括:
获取包括至少一个字的待分词地址,对待分词地址根据预设的关于地址清洗的规则进行清洗,得到清洗后待分词地址;
将所述标签地址元素词典中与一个或连续多个待匹配字符相同的地址元素作为与待匹配字符对应的待匹配地址元素,根据预设的关于候选标签匹配的规则将清洗后待分词地址的每个待匹配字符打上候选标签,所述候选标签包括待匹配字符对应的待匹配地址元素中包括的地址字符的词典标签;
如果同一待匹配字符对应多个候选标签,则根据预设的关于重复候选标签选择的规则进行选取,得到每个待匹配字符对应的唯一的候选标签;
如果任意待匹配字符没有对应的候选标签,则执行预设的关于空标签填充的规则为没有候选标签的待匹配字符选择候选标签;
记录每个待匹配地址字符的候选标签的生成方式,为每个待匹配地址字符生成对应的地址分词标签,地址分词标签包括:候选标签的生成方式与候选标签。
10.根据权利要求9所述的中文地址分词系统,其特征在于,所述规则为包括多个规则元素的规则树,规则元素之间具有父级别和子级别的级别关系,规则树包括多个规则节点,每个规则节点与一个规则元素对应,规则节点对应的规则元素的父级别规则元素对应该规则节点的父规则节点,规则节点对应的规则元素的子级别规则元素对应该规则节点的子规则节点,每个规则元素包括条件以及当条件被满足时所执行的操作;
执行规则,具体为:
根节点子模块,用于:以根节点为当前节点;
当前规则元素确定子模块,用于:当前节点所对应的规则元素为当前规则元素;
规则元素执行子模块,用于:将当前节点作为已判断节点,如果当前规则元素所包括的条件被满足,则执行对应的操作,并将当前节点的子节点作为当前节点,执行当前规则元素确定子模块,如果当前规则元素所包括的条件不被满足,则执行未判断子节点子模块;
未判断子节点子模块,如果当前节点的父节点还有其他未设定为已判断节点的子节点,则选择当前节点的父节点的一个未设定为已判断节点的子节点作为当前节点,执行当前规则元素确定子模块,否则结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493012.7A CN105159949B (zh) | 2015-08-12 | 2015-08-12 | 一种中文地址分词方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493012.7A CN105159949B (zh) | 2015-08-12 | 2015-08-12 | 一种中文地址分词方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159949A CN105159949A (zh) | 2015-12-16 |
CN105159949B true CN105159949B (zh) | 2018-12-21 |
Family
ID=54800805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510493012.7A Active CN105159949B (zh) | 2015-08-12 | 2015-08-12 | 一种中文地址分词方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159949B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106096024A (zh) * | 2016-06-24 | 2016-11-09 | 北京京东尚科信息技术有限公司 | 地址相似度的评估方法和评估装置 |
CN108985672A (zh) * | 2017-06-01 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 信息输出方法和装置 |
CN110832476A (zh) * | 2017-07-24 | 2020-02-21 | 北京嘀嘀无限科技发展有限公司 | 用于为按需服务提供信息的系统和方法 |
CN108228710B (zh) * | 2017-11-30 | 2021-09-28 | 中国科学院信息工程研究所 | 一种针对url的分词方法及装置 |
CN108334492B (zh) * | 2017-12-05 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 文本分词、即时消息处理方法和装置 |
CN108228825B (zh) * | 2018-01-02 | 2019-02-15 | 北京市燃气集团有限责任公司 | 一种基于分词的用户地址数据清洗方法 |
CN108268445A (zh) * | 2018-01-11 | 2018-07-10 | 苏宁云商集团股份有限公司 | 一种处理地址信息的方法及装置 |
CN108170682B (zh) * | 2018-01-18 | 2021-09-07 | 北京同盛科创科技有限公司 | 一种基于专业词汇的中文分词方法及计算设备 |
CN108763212A (zh) * | 2018-05-23 | 2018-11-06 | 北京神州泰岳软件股份有限公司 | 一种地址信息提取方法及装置 |
CN108959244B (zh) * | 2018-06-07 | 2022-08-09 | 北京京东尚科信息技术有限公司 | 地址分词的方法和装置 |
CN109145073A (zh) * | 2018-08-28 | 2019-01-04 | 成都市映潮科技股份有限公司 | 一种基于分词算法的地址解析方法及装置 |
CN109800435B (zh) * | 2019-01-29 | 2023-06-20 | 北京金山数字娱乐科技有限公司 | 一种语言模型的训练方法及装置 |
CN110209755B (zh) * | 2019-06-13 | 2021-06-18 | 思必驰科技股份有限公司 | Poi导航地址的扩展方法及系统 |
CN111767722A (zh) * | 2019-06-20 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 一种分词方法和装置 |
CN112988989B (zh) * | 2019-12-18 | 2022-08-12 | 中国移动通信集团四川有限公司 | 一种地名地址匹配方法及服务器 |
CN111625732B (zh) * | 2020-05-25 | 2023-06-23 | 鼎富智能科技有限公司 | 地址匹配方法及装置 |
CN113837113B (zh) * | 2021-09-27 | 2024-07-02 | 中国平安财产保险股份有限公司 | 基于人工智能的文档校验方法、装置、设备及介质 |
CN113822049B (zh) * | 2021-09-29 | 2023-08-25 | 平安银行股份有限公司 | 基于人工智能的地址审核方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750852A (zh) * | 2015-04-14 | 2015-07-01 | 海量云图(北京)数据技术有限公司 | 中文地址数据的发现与分类方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426603B (zh) * | 2011-11-11 | 2014-06-18 | 任子行网络技术股份有限公司 | 一种文字信息地域识别方法及装置 |
CN102937994A (zh) * | 2012-11-15 | 2013-02-20 | 北京锐安科技有限公司 | 一种基于停用词的相似文档查询方法 |
US9619585B2 (en) * | 2013-06-11 | 2017-04-11 | InfiniteBio | Fast, scalable dictionary construction and maintenance |
CN103914544A (zh) * | 2014-04-03 | 2014-07-09 | 浙江大学 | 一种基于地址特征词的多层次快速中文地址匹配方法 |
-
2015
- 2015-08-12 CN CN201510493012.7A patent/CN105159949B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750852A (zh) * | 2015-04-14 | 2015-07-01 | 海量云图(北京)数据技术有限公司 | 中文地址数据的发现与分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105159949A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159949B (zh) | 一种中文地址分词方法及系统 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
Chen et al. | Function-based object model towards website adaptation | |
US6606625B1 (en) | Wrapper induction by hierarchical data analysis | |
WO2015045155A1 (ja) | コーパス生成装置、コーパス生成方法、及びコーパス生成プログラム | |
CN106919542B (zh) | 规则匹配方法及装置 | |
CN103365992B (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
CN102681994B (zh) | 一种网页信息抽取方法及系统 | |
JP2005092889A (ja) | ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法 | |
US8732116B1 (en) | Harvesting relational tables from lists on the web | |
CN102420842B (zh) | 一种移动网络中网页的发送方法及系统 | |
CN109086361B (zh) | 一种基于网页节点间互信息的网页文章信息自动抽取方法及系统 | |
CN107423391A (zh) | 网页结构化数据的信息提取方法 | |
CN100447793C (zh) | 基于视觉特征的页面查询接口抽取方法 | |
CN103123638B (zh) | 数据搜索方法和装置 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
CN108874870A (zh) | 一种数据抽取方法、设备及计算机可存储介质 | |
CN106970918A (zh) | 生成国际地址唯一标识符的方法及装置 | |
US7330854B2 (en) | Generating a bit stream from an indexing tree | |
CN105589918B (zh) | 一种提取页面信息的方法及装置 | |
CN104125300A (zh) | 机卡分离型家庭网关业务配置数据的同步方法 | |
CN111027312B (zh) | 文本扩充方法、装置、电子设备及可读存储介质 | |
Khaing et al. | A persistent labeling scheme for dynamic ordered XML trees | |
CN113821718A (zh) | 一种物品信息推送方法和装置 | |
CN115062150B (zh) | 一种文本分类方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |