一种分词方法和装置与流程

文档序号:22501267发布日期:2020-10-13 09:34阅读:103来源:国知局
一种分词方法和装置与流程
本发明涉及仓储物流领域,尤其涉及一种分词方法和装置。
背景技术
:目前,地理信息技术在购物营销、智能出行、物流配送等场景中的应用越来越广泛,而中文分词技术起到了关键性作用,如:在物流配送中,准确的识别用户收货地址,便于配送员高效的配送。目前中文分词主要包括两类:基于字符串匹配和基于规则的匹配方法。在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有分词方法都有其缺陷:1)基于字符串匹配的方法对词库依赖很大,实际中总有新地址出现,词库不可能覆盖全面、包含所有的字符串;同时,当词库数据量过大后,查询比较的效率低下;再者,实际地址由用户自行填写,存在错别字、缩略语等,标准词库中并不存在,会导致匹配失败;2)基于规则的匹配方法较为理想和严格,完全依赖于规则,而实际地址由用户自行填写,完全根据自己的认知描述,存在地址不完整、格式不规范等问题,导致基于规则匹配会出现部分地址无法识别的情况。技术实现要素:有鉴于此,本发明实施例提供一种分词方法和装置,能够基于已有省市构建的可靠的标准地址名称词库进行初步识别,再基于特征字词库和训练好的规则模型进行二次识别,并且还可以根据分词结果对特征字词库进行更新。不仅识别快速准确,还提高了可扩展性。为实现上述目的,根据本发明实施例的一个方面,提供了一种分词方法,包括:获取待分词地址信息;根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息;所述词库表包括词内容信息、与词内容信息相对应的词属性信息;根据所述待匹配词与词属性信息确定所述地址信息的分词结果。可选地,所述预设的词库表包括:地址名称词库,特征字词库;根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息,包括:根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息;根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息;以第一待匹配词、第一待匹配词的词属性信息、第二待匹配词、第二待匹配词的词属性信息共同作为所述待分词地址中的待匹配词以及所述待匹配词的词属性信息。可选地,根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息,包括:将所述地址名称词库中的词内容信息,与所述待分词地址信息相匹配,以匹配成功的字符串作为第一待匹配词;在所述地址名称词库的中查找与第一待匹配词相对应的词属性信息,作为第一待匹配词的词属性信息。可选地,根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息,包括:将所述特征字词库中的词内容信息,与待分词地址信息中除去第一待匹配词后的剩余信息相匹配,以匹配成功的字符串作为中间待匹配词;根据训练好的分词规则模型,将中间待匹配词进行合并标记,确定第二待匹配词,以及第二待匹配词的词属性信息。可选地,在确定分词结果信息之后,还包括:根据所述分词结果信息确定所述待分词地址信息中的关键地址词;基于地图信息,确定所述关键地址词的准确度;将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中。根据本发明实施例的再一个方面,提供了一种分词装置,包括:获取模块,用于获取待分词地址信息;识别模块,用于根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息;所述词库表包括词内容信息、与词内容信息相对应的词属性信息;确定模块,用于根据所述待匹配词与词属性信息确定所述地址信息的分词结果。可选地,所述预设的词库表包括:地址名称词库,特征字词库;所述识别模块根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息,包括:根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息;根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息;以第一待匹配词、第一待匹配词的词属性信息、第二待匹配词、第二待匹配词的词属性信息共同作为所述待分词地址中的待匹配词以及所述待匹配词的词属性信息。可选地,所述识别模块根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息,包括:将所述地址名称词库中的词内容信息,与所述待分词地址信息相匹配,以匹配成功的字符串作为第一待匹配词;在所述地址名称词库的中查找与第一待匹配词相对应的词属性信息,作为第一待匹配词的词属性信息。可选地,所述识别模块根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息,包括:将所述特征字词库中的词内容信息,与待分词地址信息中除去第一待匹配词后的剩余信息相匹配,以匹配成功的字符串作为中间待匹配词;根据训练好的分词规则模型,将中间待匹配词进行合并标记,确定第二待匹配词,以及第二待匹配词的词属性信息。可选地,所述确定模块在确定分词结果信息之后,还包括:根据所述分词结果信息确定所述待分词地址信息中的关键地址词;基于地图信息,确定所述关键地址词的准确度;将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中。根据本发明实施例的另一个方面,提供了一种分词的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的分词方法。根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的分词方法。上述发明中的一个实施例具有如下优点或有益效果:因为采用基于已有省市构建的可靠的标准地址名称词库进行初步识别,再基于特征字词库和训练好的规则模型进行二次识别,并且还可以根据分词结果对特征字词库进行更新的技术手段,所以克服了现有分词技术中存在的效率低下、容易分词失败、且不易扩展的技术问题,进而达到不仅识别快速准确、还提高了可扩展性的技术效果。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明实施例的一种分词方法的主要流程的示意图;图2是根据本发明实施例的一种分词装置的主要模块的示意图;图3是本发明实施例可以应用于其中的示例性系统架构图;图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本发明实施例的一种分词方法的主要流程的示意图,如图1所示,本发明实施例的一种分词方法,包括:步骤s101、获取待分词地址信息;步骤s102、根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息;所述词库表包括词内容信息、与词内容信息相对应的词属性信息;步骤s103、根据所述待匹配词与词属性信息确定所述地址信息的分词结果。待分词地址信息可以是用户填写输入的中文地址;一般来说,多数情况下是用户根据自己的理解或习惯填写的,可以没有统一规范的格式,如:西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓138xxxxxxxx。预设的词库表和训练好的分词规则模型可以是提前构建好的,也可以是随着本发明中的分词方法逐渐丰富完善的。本发明实施例提供一种分词方法,能够结合常用中文地址的描述方法,基于构建好的词库表和分词规则模型对用户自行填写的待分词地址信息进行分词识别,得到属性明确的各个待匹配词,可以快速准确地识别待分词地址信息。具体地,可以以待匹配词与其对应的词属性相配对的形式,作为分词结果的一种展示方式。在一些实施例中,在根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别之前,还包括:对所述待分词地址进行预处理;所述预处理包括以下至少之一:繁体字与简体字统一,全角符号与半角符号统一,大小字母与小写字母统一,中文数字与阿拉伯数字统一,去除无效信息。通常情况下,待分词地址信息为用户根据自己的习惯填写的,因此没有统一规范的格式,比较杂乱。如:大小写混乱、全角半角混乱、括号、标点符号等问题,需要进行预处理,具体如下:(1)字符归一化:繁体字与简体字统一,全角符号与半角符号统一,大小字母与小写字母统一,中文数字与阿拉伯数字统一;(2)去除无用字符,如:去除首尾无用字符,去除标点符号及特殊符号,去除空格等;(3)去除无用信息,如:去除电话号码,去除email等。一具体实施例如下:用户填写的待分词地址信息:%%山西运城市、盐湖区姚孟街道职业技术学校对面亚辉公寓138xxxxxxxx;预处理后的结果:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;其中,去除了无用的“%%”符号和“、”符号,以及无用的手机号码信息。在一些实施例中,预设的词库表包括:地址名称词库,特征字词库;根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息,包括:根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息;根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息;以第一待匹配词、第一待匹配词的词属性信息、第二待匹配词、第二待匹配词的词属性信息共同作为所述待分词地址中的待匹配词以及所述待匹配词的词属性信息。地址名称词库可以是将国家标准行政规划区(如:四级地址库)作为初始词库,并根据行政级别对其进行标注的,如下表所示:表1地址名称词库属性中文名称属性标签省/直辖市province市city区/县district镇/村/乡town路/街道street关键poi,如小区/医院keypoi号院/号楼/号buildingno单元/门/底商buildingunit其中,省/直辖市、市、区/县、镇/村/乡、路/街道这些属性对应的内容信息可以直接获取到;如省/直辖市属性可以对应着如北京市、天津市、辽宁省、吉林省等词内容信息,市属性可以对应着如石家庄市、杭州市等词内容信息,区/县属性可以对应着如朝阳区等词内容信息;结合常用中文地址的描述方法,通常情况下是按照省/直辖市、市、区/县、镇/村/乡、路/街道顺序描述地址,所以可以将这些属性按顺序排列;另外,一些已有的建筑或知名商铺,也可以通过地址名称词库直接被识别出来;如:假设a省b市的“第一人民医院”在地址名称词库中有记录,那么,当待分词地址信息中出现了“a省b市第一人民医院”时,“第一人民医院”也可以直接被确定为第一待匹配词,且其词属性为关键poi;从地址名称词库中直接找出的待分词地址信息中的词内容信息,可以确定为第一待匹配词。由于地址名称词库不够全面,很多时候一条地址中的元素无法利用地址名称词库完全识别,因此,本发明构建了特征字词库,作为对地址名称词库的补充,对在地址名称词库中未被识别的地址元素,结合特征词进行识别,便于扩展和后续分词使用。如下表所示:表2特征字词库在特征字词库中,设置了词缀属性作为对地址名称词库的补充。如:假设一个省的名称未在地址名称词库中找到,但带了“省”字,如“cc省”,则可以在特征字词库中由“省”词缀来确定“cc”的省属性;又如:“dd公园”,没有收录在地址名称词库中,而在特征字词库中,“dd”可以归属到unknown(未知)属性,进而可以通过“公园”这个keypoi后缀属性的词缀确定“dd公园”是keypoi属性。可以从待分词地址信息中除去第一待匹配词后的剩余信息中,结合特征字词库和分词规则模型确定第二待匹配词,以及第二待匹配词的词属性信息。上述仅列举部分特征字,实际应用中可根据词频,不断丰富补充,是可以随着分词识别将更多的词确定为词缀。训练好的分词规则模型也是可以随着分词识别进行扩充、丰富的,体现了本发明分词方法的可扩展性。分词规则模型的训练方法可以是:收集大量真实妥投地址信息,以大量妥投地址作为样本数据进行研究,真实妥投地址信息中可以包含地址信息和地址经纬度信息。以“北京像素”为例,如下表所示:表3关于“北京像素”的历史有效地址信息基于表3,确定出出现次数最多的地址描述方式,以此作为目标正确地址,在表3中,标注了阴影的一行即为出现次数最多的描述方式。分词规则的训练原则为:使更多表达同一地点的地址描述的分词结果能接近目标正确地址。这样,可以最大程度地还原用户描述地址的真实情况。在一些实施例中,根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息,包括:将所述地址名称词库中的词内容信息,与所述待分词地址信息相匹配,以匹配成功的字符串作为第一待匹配词;在所述地址名称词库的中查找与第一待匹配词相对应的词属性信息,作为第一待匹配词的词属性信息。地址名称词库可以是根据大量的常用分词和标准四级地址库离线训练所得,可信度较高,因此本发明先基于地址名称词库进行分词,即按照一定策略将待分词地址信息中的汉字串与地址名称词库中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。一种可行的实施例如下:按照扫描方向分为:正向匹配和逆向匹配。根据中文地址通常的描述方式,如:省、市、区、县、路、小区、单元,不一致性逐级增加,因此采用正向匹配的方式;按照长度分为:最大匹配和最小匹配。结合中文地址特性,通常为“描述+属性”的组合,如:朝阳医院,医院为该词的属性。因此采用最大匹配方法,可以更快地匹配出结果。下面以一具体例子作示例:待解析地址为:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;根据地址名称词库进行分词,可以得到第一待匹配词,以及第一待匹配词的词属性信息:山西|province运城市|city盐湖区|district姚孟街道|town。在该实施例中,得到了分词结果的一部分信息,“x|y”形式中的“x”可以看做是待匹配词,“y”可以看做是与待匹配词对应的词属性,进而以此形式作为分词结果的一种展示方式。如“山西|province”中的“山西”为待匹配词,“province”为“山西”的词属性。在一些实施例中,根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息,包括:将所述特征字词库中的词内容信息,与待分词地址信息中除去第一待匹配词后的剩余信息相匹配,以匹配成功的字符串作为中间待匹配词;根据训练好的分词规则模型,将中间待匹配词进行合并标记,确定第二待匹配词,以及第二待匹配词的词属性信息。可以根据特征字词库,对待分词地址信息中除去第一待匹配词后的剩余信息进行分词。包括:数字、英文字母、特征后缀等。一种可行的实施例如下:匹配数字,标记为no(编号/数字);匹配英文字母,标记为symbol(字母符号);匹配连接词,标记为conj(连接词);匹配特征后缀,标记为suffixprovince(省后缀)、suffixcity(市后缀)、suffixdistrict(区后缀)、suffixtown(镇后缀)、suffixstreet(路后缀)、suffixkeypoi(keypoi后缀)、suffixbuildingno(楼号、排后缀)、suffixbuildingunit(单元、门后缀)等;计算最优可能的分词链表,由于后缀通常写在后,故可以从右向左查找所有词缀候选词,得到词缀之前的未知词集合。下面以一具体例子作示例:待解析地址为:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;通过上一步骤中根据地址名称词库获得分词结果:山西|province运城市|city盐湖区|district姚孟街道|town;其中未被识别的剩余信息为:职业技术学校对面亚辉公寓;通过此骤中根据特征字词库获得剩余信息的分词结果:职业技术|unknow学校|suffixkeypoi对面|conj亚辉|unknow公寓|suffixkeypoi。训练好的分词规则模型,用于对根据特征字词库获得剩余信息的分词结果进行标记合并;根据待分词地址信息及词属性信息,可以训练统计出常用的分词规则,可以将其以规则树的形式存储,查询效率较高;一些规则如下(仅列出部分规则):(1)unknow,suffixcity,unknow,suffixdistrict,合并后为:city,district;(2)district,suffixkeypoi,合并后为:keypoi;(3)unknow,suffixdistrict,合并后为:district;(4)city,suffixkeypoi,合并后为:keypoi;(5)street,buildingno,buildingunit,合并后为:street,buildingunit;(6)unknow,suffixstreet,合并后为:street;等等。如:suffixcity为市后缀,根据通常写法,其前面的未知字符应与suffixcity合并为city(市)。下面以一具体例子作示例:对于上一步骤获得的结果:职业技术|unknow学校|suffixkeypoi对面|conj亚辉|unknow公寓|suffixkeypoi;可以运用分词规则模型进行合并后得到结果:职业技术学校|keypoi对面|conj亚辉公寓|keypoi。在该实施例中,得到了分词结果的另一部分信息,类似地,“x|y”形式中的“x”可以看做是待匹配词,“y”可以看做是与待匹配词对应的词属性,进而以此形式作为分词结果的一种展示方式。如“职业技术学校|keypoi”中的“职业技术学校”为待匹配词,“keypoi”为“职业技术学校”的词属性。在一些具体实施例中,由于待分词地址信息是用户自行填写的,有时会直接复制黏贴地址,导致分词后会出现多个关键词(keypoi),且有时会自相矛盾。如:北京朝阳区四环到五环之间北京市丰台区家园二里小区南门33号楼1505,用户输入的时候,可能发生“北京市丰台区家园二里小区南门33号楼1505”为真实地址,而“北京朝阳区四环到五环之间”为界面选择的情况,此时应对地址进行修正。下面以一具体例子作示例:用户填写的待分词地址信息:北京朝阳区四环到五环之间北京市丰台区家园二里小区南门33号楼1505;分词结果:北京|city朝阳区|district四环到五环之间|conj北京市|city丰台区|district家园二里小区|keypoi南门|conj33号楼|buildingno1505|buildingunit;修正结果:北京市|city丰台区|district家园二里小区|keypoi南门|conj33号楼|buildingno1505|buildingunit;在上述修正过程中,将用户填写的待分词地址信息中的后半部分信息视作更可靠的来源,故修正结果中将“北京|city朝阳区|district四环到五环之间|conj”这一部分舍弃掉了,保证了分词结果的准确性。在一些实施例中,在确定分词结果信息之后,还包括:根据所述分词结果信息确定所述待分词地址信息中的关键地址词;基于地图信息,确定所述关键地址词的准确度;将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中。在根据所述分词结果信息确定所述待分词地址信息中的关键地址词的过程中,在实际地址中包含但不限于以下几种情况,可根据实际情况添加规则:(1)地址中直接写有keypoi(关键地址词),如:学校、社区、医院等;(2)地址中包含keypoi和street(街道),包含xx号院的street,在地理位置上等同于keypoi,如:五里桥2街1号院;(3)地址中仅有town(城/镇),对于偏远地区或者三四线城市,地址只细化到村庄,如:山西吕梁市兴县蔡家会镇河子坪,关键地址词为河子坪,town。提取规则:a、优先选择keypoi;b、次之,选择包含xx号院的street;c、最后,选择town。其中的提取原则可以是以最细化/详尽的地址为关键地址词,也可以根据实际情况设置更合理的提取规则。以一具体例子作示例:用户填写的待分词地址信息:北京市朝阳区五里桥2街1号院北京像素;分词并修正结果:北京市|city朝阳区|district五里桥2街1号院|street北京像素|keypoi;提取出关键地址词:北京像素|keypoi。将所述关键地址词与历史有效地址信息进行比对,确定所述分词结果信息的准确度的方法如下:以提取出的关键地址词为检索词,在地图中检索;与检索结果进行字符匹配和距离比较(如:经纬度信息),字符匹配和距离比较可以各占不同的权重,进一步校验分词结果的准确度,并按照预设的打分规则进行打分;具体地,可以设置:分词结果信息的准确度=字符匹配精确度*权重1+距离差异*权重2;其中,字符匹配精确度可以根据部分匹配或全匹配的匹配结果来确定,匹配的字符个数比例越少,分数越低,匹配的字符个数比例越大,分数越高;距离差异可以根据经纬度信息来确定,如:根据经纬度信息算出差距小于第一距离阈值(如1公里),则距离差异为a分;大于第一距离阈值(如1公里)小于第二距离阈值(如3公里),则距离差异为b分;大于第二距离阈值(如3公里),则距离差异为c分;其中可以设置a>b>c。也可以根据实际设置更多距离差异的确定方式。权重1和2可以根据实际情况中的样本数据设置。最后,将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中,用于以后的分词处理,使分词效率更高。图2是根据本发明实施例的一种分词装置的主要模块的示意图。如图2所示,本发明实施例的一种分词装置200,包括:获取模块201,用于获取待分词地址信息;识别模块202,用于根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息;所述词库表包括词内容信息、与词内容信息相对应的词属性信息;确定模块203,用于根据所述待匹配词与词属性信息确定所述地址信息的分词结果。待分词地址信息可以是用户填写输入的中文地址;一般来说,多数情况下是用户根据自己的理解或习惯填写的,可以没有统一规范的格式,如:西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓138xxxxxxxx。预设的词库表和训练好的分词规则模型可以是提前构建好的,也可以是随着本发明中的分词方法逐渐丰富完善的。本发明实施例提供一种分词方法,能够结合常用中文地址的描述方法,基于构建好的词库表和分词规则模型对用户自行填写的待分词地址信息进行分词识别,得到属性明确的各个待匹配词,可以快速准确地识别待分词地址信息。具体地,可以以待匹配词与其对应的词属性相配对的形式,作为分词结果的一种展示方式。在一些实施例中,在根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别之前,所述识别模块202还用于:对所述待分词地址进行预处理;所述预处理包括以下至少之一:繁体字与简体字统一,全角符号与半角符号统一,大小字母与小写字母统一,中文数字与阿拉伯数字统一,去除无效信息。通常情况下,待分词地址信息为用户根据自己的习惯填写的,因此没有统一规范的格式,比较杂乱。如:大小写混乱、全角半角混乱、括号、标点符号等问题,需要进行预处理,具体如下:(1)字符归一化:繁体字与简体字统一,全角符号与半角符号统一,大小字母与小写字母统一,中文数字与阿拉伯数字统一;(2)去除无用字符,如:去除首尾无用字符,去除标点符号及特殊符号,去除空格等;(3)去除无用信息,如:去除电话号码,去除email等。一具体实施例如下:用户填写的待分词地址信息:%%山西运城市、盐湖区姚孟街道职业技术学校对面亚辉公寓138xxxxxxxx;预处理后的结果:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;其中,去除了无用的“%%”符号和“、”符号,以及无用的手机号码信息。在一些实施例中,所述预设的词库表包括:地址名称词库,特征字词库;所述识别模块202根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息,包括:根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息;根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息;以第一待匹配词、第一待匹配词的词属性信息、第二待匹配词、第二待匹配词的词属性信息共同作为所述待分词地址中的待匹配词以及所述待匹配词的词属性信息。地址名称词库可以是将国家标准行政规划区(如:四级地址库)作为初始词库,并根据行政级别对其进行标注的,如上文中表1所示;其中,省/直辖市、市、区/县、镇/村/乡、路/街道这些属性对应的内容信息可以直接获取到;如省/直辖市属性可以对应着如北京市、天津市、辽宁省、吉林省等词内容信息,市属性可以对应着如石家庄市、杭州市等词内容信息,区/县属性可以对应着如朝阳区等词内容信息;结合常用中文地址的描述方法,通常情况下是按照省/直辖市、市、区/县、镇/村/乡、路/街道顺序描述地址,所以可以将这些属性按顺序排列;从地址名称词库中直接找出的待分词地址信息中的词内容信息,可以确定为第一待匹配词。由于地址名称词库不够全面,很多时候一条地址中的元素无法利用地址名称词库完全识别,因此,本发明构建了特征字词库,对未识别的地址元素结合特征词进行识别,便于扩展和后续分词使用。如上文中表2所示;在特征字词库中,设置了词缀属性作为对地址名称词库的补充。如:假设一个省的名称未在地址名称词库中找到,但带了“省”字,如aa省,则可以由“省”词缀来确定“aa”的省属性。可以从待分词地址信息中除去第一待匹配词后的剩余信息中,结合特征字词库和分词规则模型确定第二待匹配词,以及第二待匹配词的词属性信息。上述仅列举部分特征字,实际应用中可根据词频,不断丰富补充,是可以随着分词识别将更多的词确定为词缀。训练好的分词规则模型也是可以随着分词识别进行扩充、丰富的,体现了本发明分词方法的可扩展性。分词规则模型的训练方法可以是:收集大量真实妥投地址信息,以大量妥投地址作为样本数据进行研究,真实妥投地址信息中可以包含地址信息和地址经纬度信息。以“北京像素”为例,如上文中的表3所示;基于表3,确定出出现次数最多的地址描述方式,以此作为目标正确地址,在表3中,标注了阴影的一行即为出现次数最多的描述方式。分词规则的训练原则为:使更多表达同一地点的地址描述的分词结果能接近目标正确地址。这样,可以最大程度地还原用户描述地址的真实情况。在一些实施例中,所述识别模块202根据所述地址名称词库确定待分词地址信息中的第一待匹配词、第一待匹配词的词属性信息,包括:将所述地址名称词库中的词内容信息,与所述待分词地址信息相匹配,以匹配成功的字符串作为第一待匹配词;在所述地址名称词库的中查找与第一待匹配词相对应的词属性信息,作为第一待匹配词的词属性信息。地址名称词库可以是根据大量的常用分词和标准四级地址库离线训练所得,可信度较高,因此本发明先基于地址名称词库进行分词,即按照一定策略将待分词地址信息中的汉字串与地址名称词库中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。一种可行的匹配实施例如下:按照扫描方向分为:正向匹配和逆向匹配。根据中文地址通常的描述方式,如:省、市、区、县、路、小区、单元,不一致性逐级增加,因此采用正向匹配的方式;按照长度分为:最大匹配和最小匹配。结合中文地址特性,通常为“描述+属性”的组合,如:朝阳医院,医院为该词的属性。因此采用最大匹配方法,可以更快地匹配出结果。下面以一具体例子作示例:待解析地址为:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;根据地址名称词库进行分词,可以得到第一待匹配词,以及第一待匹配词的词属性信息:山西|province运城市|city盐湖区|district姚孟街道|town。在该实施例中,得到了分词结果的一部分信息,“x|y”形式中的“x”可以看做是待匹配词,“y”可以看做是与待匹配词对应的词属性,进而以此形式作为分词结果的一种展示方式。如“山西|province”中的“山西”为待匹配词,“province”为“山西”的词属性。在一些实施例中,所述识别模块根据所述特征字词库和训练好的分词规则模型,确定待分词地址信息中除去第一待匹配词后的剩余信息中的第二待匹配词、第二待匹配词的词属性信息,包括:将所述特征字词库中的词内容信息,与待分词地址信息中除去第一待匹配词后的剩余信息相匹配,以匹配成功的字符串作为中间待匹配词;根据训练好的分词规则模型,将中间待匹配词进行合并标记,确定第二待匹配词,以及第二待匹配词的词属性信息。可以根据特征字词库,对待分词地址信息中除去第一待匹配词后的剩余信息进行分词。包括:数字、英文字母、特征后缀等。一种可行的实施例如下:匹配数字,标记为no(编号/数字);匹配英文字母,标记为symbol(字母符号);匹配连接词,标记为conj(连接词);匹配特征后缀,标记为suffixprovince(省后缀)、suffixcity(市后缀)、suffixdistrict(区后缀)、suffixtown(镇后缀)、suffixstreet(路后缀)、suffixkeypoi(keypoi后缀)、suffixbuildingno(楼号、排后缀)、suffixbuildingunit(单元、门后缀)等;计算最优可能的分词链表,由于后缀通常写在后,故可以从右向左查找所有词缀候选词,得到词缀之前的未知词集合。下面以一具体例子作示例:待解析地址为:山西运城市盐湖区姚孟街道职业技术学校对面亚辉公寓;通过上一步骤中根据地址名称词库获得分词结果:山西|province运城市|city盐湖区|district姚孟街道|town;其中未被识别的剩余信息为:职业技术学校对面亚辉公寓;通过此骤中根据特征字词库获得剩余信息的分词结果:职业技术|unknow学校|suffixkeypoi对面|conj亚辉|unknow公寓|suffixkeypoi。训练好的分词规则模型,用于对根据特征字词库获得剩余信息的分词结果进行标记合并;根据待分词地址信息及词属性信息,可以训练统计出常用的分词规则,可以将其以规则树的形式存储,查询效率较高;一些规则如下(仅列出部分规则):(1)unknow,suffixcity,unknow,suffixdistrict,合并后为:city,district;(2)district,suffixkeypoi,合并后为:keypoi;(3)unknow,suffixdistrict,合并后为:district;(4)city,suffixkeypoi,合并后为:keypoi;(5)street,buildingno,buildingunit,合并后为:street,buildingunit;(6)unknow,suffixstreet,合并后为:street;等等。如:suffixcity为市后缀,根据通常写法,其前面的未知字符应与suffixcity合并为city(市)。下面以一具体例子作示例:对于上一步骤获得的结果:职业技术|unknow学校|suffixkeypoi对面|conj亚辉|unknow公寓|suffixkeypoi;可以运用分词规则模型进行合并后得到结果:职业技术学校|keypoi对面|conj亚辉公寓|keypoi。在该实施例中,得到了分词结果的另一部分信息,类似地,“x|y”形式中的“x”可以看做是待匹配词,“y”可以看做是与待匹配词对应的词属性,进而以此形式作为分词结果的一种展示方式。如“职业技术学校|keypoi”中的“职业技术学校”为待匹配词,“keypoi”为“职业技术学校”的词属性。在一些具体实施例中,由于待分词地址信息是用户自行填写的,有时会直接复制黏贴地址,导致地址分词后会出现多个关键词(keypoi),且有时会自相矛盾。如:北京朝阳区四环到五环之间北京市丰台区家园二里小区南门33号楼1505,用户输入的时候,可能发生“北京市丰台区家园二里小区南门33号楼1505”为真实地址,而“北京朝阳区四环到五环之间”为界面选择的情况,此时应对地址进行修正。下面以一具体例子作示例:用户填写的待分词地址信息:北京朝阳区四环到五环之间北京市丰台区家园二里小区南门33号楼1505;分词结果:北京|city朝阳区|district四环到五环之间|conj北京市|city丰台区|district家园二里小区|keypoi南门|conj33号楼|buildingno1505|buildingunit;修正结果:北京市|city丰台区|district家园二里小区|keypoi南门|conj33号楼|buildingno1505|buildingunit;在上述修正过程中,将用户填写的待分词地址信息中的后半部分信息视作更可靠的来源,故修正结果中将“北京|city朝阳区|district四环到五环之间|conj”这一部分舍弃掉了,保证了分词结果的准确性。在一些实施例中,所述确定模块在确定分词结果信息之后,还包括:根据所述分词结果信息确定所述待分词地址信息中的关键地址词;基于地图信息,确定所述关键地址词的准确度;将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中。在根据所述分词结果信息确定所述待分词地址信息中的关键地址词的过程中,在实际地址中包含但不限于以下几种情况,可根据实际情况添加规则:(1)地址中直接写有keypoi(关键地址词),如:学校、社区、医院等;(2)地址中包含keypoi和street(街道),包含xx号院的street,在地理位置上等同于keypoi,如:五里桥2街1号院;(3)地址中仅有town(城/镇),对于偏远地区或者三四线城市,地址只细化到村庄,如:山西吕梁市兴县蔡家会镇河子坪,关键地址词为河子坪,town。提取规则:a、优先选择keypoi;b、次之,选择包含xx号院的street;c、最后,选择town。其中的提取原则可以是以最细化/详尽的地址为关键地址词,也可以根据实际情况设置更合理的提取规则。以一具体例子作示例:用户填写的待分词地址信息:北京市朝阳区五里桥2街1号院北京像素;分词并修正结果:北京市|city朝阳区|district五里桥2街1号院|street北京像素|keypoi;提取出关键地址词:北京像素|keypoi。将所述关键地址词与历史有效地址信息进行比对,确定所述分词结果信息的准确度的方法如下:以提取出的关键地址词为检索词,在地图中检索;与检索结果进行字符匹配和距离比较(如:经纬度信息),字符匹配和距离比较可以各占不同的权重,进一步校验分词结果的准确度,并按照预设的打分规则进行打分;具体地,可以设置:分词结果信息的准确度=字符匹配精确度*权重1+距离差异*权重2;其中,字符匹配精确度可以根据部分匹配或全匹配的匹配结果来确定,匹配的字符个数比例越少,分数越低,匹配的字符个数比例越大,分数越高;距离差异可以根据经纬度信息来确定,如:根据经纬度信息算出差距小于第一距离阈值(如1公里),则距离差异为a分;大于第一距离阈值(如1公里)小于第二距离阈值(如3公里),则距离差异为b分;大于第二距离阈值(如3公里),则距离差异为c分;其中可以设置a>b>c。也可以根据实际设置更多距离差异的确定方式。权重1和2可以根据实际情况中的样本数据设置。最后,将所述准确度不小于预设阈值的关键地址词更新到所述地址名称词库中,用于以后的分词处理,使分词效率更高。图3示出了可以应用本发明实施例的分词方法或分词装置的示例性系统架构300。如图3所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所浏览的网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。需要说明的是,本发明实施例所提供的分词方法一般由服务器305执行,相应地,分词装置一般设置于服务器305中。应该理解,图3中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。下面参考图4,其示出了适于用来实现本发明实施例的终端设备的计算机系统400的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图4所示,计算机系统400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有系统400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(cpu)401执行时,执行本发明的系统中限定的上述功能。需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、识别模块和确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:步骤s101、获取待分词地址信息;步骤s102、根据预设的词库表和训练好的分词规则模型对所述待分词地址信息进行识别,确定待分词地址中的待匹配词以及所述待匹配词的词属性信息;所述词库表包括词内容信息、与词内容信息相对应的词属性信息;步骤s103、以所述待匹配词与词属性相对应的形式作为分词结果信息。根据本发明实施例的技术方案,因为采用基于已有省市构建的可靠的标准地址名称词库进行初步识别,再基于特征字词库和训练好的规则模型进行二次识别,并且还可以根据分词结果对特征字词库进行更新的技术手段,所以克服了现有分词技术中存在的效率低下、容易分词失败、且不易扩展的技术问题,进而达到不仅识别快速准确、还提高了可扩展性的技术效果。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1