一种基于贝叶斯分词算法的中文地址语义标注方法与流程

文档序号:12120969阅读:206来源:国知局
本发明涉及中文地址解析
技术领域
,具体涉及一种基于贝叶斯分词算法的中文地址语义标注方法。
背景技术
:随着互联网的发展,越来越多的网络内容直接来自于用户上传分享的信息。针对一些提供生活消费平台的网站,则会接收到成千上百万条用户上传的商户地址信息,而这些地址信息有很大一部分都是自由文本式的、无显示结构的且隐含语义性的附加说明信息。在互联网位置服务中,地理位置可以有多种方式来表达,中文地址是其中之一。一个规范的中文地址应该包含完整的行政区划,并按照行政区划(省/市/县/乡/村)、路街、牌号、建筑、户室等次序来表达。通过一个完整规范的中文地址信息,我们可以得到与其相对应的地理位置。现有技术中,针对各种地址信息仅仅使用分词技术已无法满足对中文地址解析的需求。我们需要更进一步地将形式化的文本中文地址信息转化成结构化的地址表示形式,识别出文本地址信息中的地址元素和语义信息,也即对中文地址信息进行规范化。中文地址信息的规范化一般包括地址和语义信息的识别和规范化,其中,地址识别指的是解析出文本地址信息中所包含的地址和附加说明信息;而规范化则是将解析出的地址切分标注成语义地址元素集。众所周知中文地址信息中各元素没有明确的分隔符,相关技术中针对中文地址元素的识别尚面临着解析完整性、多样性、歧义性等多种困难。因此,亟待提供一种将中文地址信息切分识别成规范化的地址语义信息的方法,为用户更好的提供服务。技术实现要素:本发明要解决的技术问题是,提供一种基于贝叶斯分词算法的中文地址语义标注方法,对于以自然语言形式表示的地址信息,根据地址数据表达的语义特点,对中文地址信息进行语义标注。本发明的技术方案是,提供一种基于贝叶斯分词算法的中文地址语义标注方法,包括步骤S1:预设置针对中文地址数据进行语义标注的标注关系表,其中,所述标注关系表中至少包含行政区名称以及用于标注所述行政区名称的行政区标记;步骤S2:获取已预先切分、标注好NT条中文地址数据的集合T作为训练语料,设集合T={Ti},其中各条中文地址数据为Ti,且1≤i≤NT;步骤S3:对集合T进行统计学习,所述统计学习具体包括步骤S31:统计集合T中切分出的各词语、各词语的词频、各词语与其相邻上一词语同时出现的频度值,并存入词频词典Word_dic中;步骤S32:统计各词语以及与该词语对应的标注关系,存入标注关系词典Taging_dic中;步骤S33:统计各条中文地址数据Ti的标注模式及其模式频度值,存入标注模式表Taging_mode中;步骤S4:输入待标注的地址字符串S,并对地址字符串S进行全切分,得到切分集合W={Wi},1≤i≤2l-1,其中,l是地址字符串S的长度;步骤S5:根据所述词频词典Word_dic中各词语的词频值,根据贝叶斯分词算法计算集合W={Wi}中每一个元素Wi的概率,并保存概率最大的分词方案记为seg_result;步骤S6:根据所述标注关系词典Taging_dic中每个词语对应的标注关系,对所述分词方案seg_result中切分好的每一个词语进行标注,得到针对地址字符串S的标注结果tag_temp。进一步地,所述贝叶斯分词算法包括:设地址字符串S的第i种切分方式为Wi=w1w2Lwn,则w1、w2、K、wn就代表了切分方式中的n个词,求最大概率分词方式即为:若所有的词语确定,则句子唯一确定,P(S|Wi)=1,对于地址字符串S的多种分词方式,P(S)为常数,根据贝叶斯公式有:应用二元语法模型(Bigram)根据联合概率公式有:求解式(2)相当于寻找到联合概率最大的路径W',记为seg_result。进一步地,在步骤S6之后,该方法还包括:步骤S7:设不确定标注关系的词语对应的行政区标记为Unknown,判断所述标注结果tag_temp中是否包含不确定标注关系的词语,如果包含,则提取所述标注结果tag_temp中的词语标注序列并记为L,设L的长度为len;步骤S8:选取标注模式表Taging_dic中标注模式长度为len的n个标注模式作为待匹配模式集合M={Mi},其中1≤i≤n,与L进行模式匹配,该模式匹配的方式包括:步骤a:取待匹配模式集合M中的标注模式Mi与L进行匹配,设匹配起始位置为start=1,结束位置为end=len,匹配位置为j,1≤j≤len,使j=start;步骤b:取词语标注序列L中的行政区标记lj与Mi中的行政区标记mj进行对比,如果lj≠Unknown,判断lj是否等于mj,如果li=mj相等,则j=j+1,继续步骤b;如果li≠mj,将此Mi从M={Mi}中删除;如果lj=Unknown,则j=j+1,继续步骤b;直到j=len;步骤c:使i=i+1,继续步骤a,直到i=n,得到一个新的模式集合M’;具体地,假定标注结果为“上海市/PRO闵行区/CITY碧秀路/ROAD98弄/Unknown”,则其标注序列为:[PRO,CITY,ROAD,Unknown],这个序列的标注模式长度为4,为其标注词的个数。在标注模式表中选取长度为4的所有标注模式序列,然后进行匹配,匹配得出可能的标注序列为:[PRO,CITY,ROAD,AREA],[PRO,CITY,ROAD,ROAD],[PRO,CITY,ROAD,POI],[PRO,CITY,ROAD,BNO],再取这几组标注序列中频度最大的一组。步骤S9:根据所述标注模式表Taging_mode,取模式集合M’中模式频度值最大的模式作为标注结果,将tag_temp中的Unknown标注改变为模式频度值最大的模式中与Unknown标注位置相对应的行政区标记,得到新的标注结果并记为tag_result;步骤S10:输出新的标注结果tag_result。进一步地,在得到标注结果tag_result之后所述方法还包括:将所述标注结果tag_temp中Unknown标注原来对应的词语,及该词语现在的标注关系添加到所述标注关系词典Taging_dic中。进一步地,所述标注关系表中的行政区名称分类为至少十一级行政区类别,其中一级行政区名称至少包括省、自治区、直辖市、特别行政区;二级行政区名称至少包括地级市、自治州、地区、盟;三级行政区名称至少包括市辖区、县、县级市、旗、特区、林区;四级行政区名称至少包括区公所、乡、镇、苏木、街道办事处、商业区;五级行政区名称至少包括社区、居委会、行政村。进一步地,所述标注关系表中的行政区名称至少还包括以下六类其一,其中第一类为基本区域限定物至少包括地片、区片、自然村、居民小区;其中第二类为街巷名至少包括道路、街、巷、胡同、弄;其中第三类为门址至少包括门牌号;其中第四类为兴趣点至少包括兴趣点、标志物;其中第五类为标点符号;其中第六类为不确定项对应不确定关系的名称。本发明技术方案的有益效果为:通过预先设置针对中文地址信息进行标注的标注关系表,该表中至少包含行政区名称及对应标注的行政区标记,设定了一个规范化的标注模板;通过统计学习预设置的训练语料,并具体统计训练语料中的各词语及其相关词频,以及统计语料中各词语的标注关系及各条地址数据的标注模式,获得了包含词频词典、标注关系词典以及标注模式表的数据库;再通过对待标注地址字符串进行全切分、贝叶斯分词计算后,根据前述训练数据库匹配得到标注好的具有语义信息的中文地址,快速准确地完成了针对中文地址数据的语义解析。具体实施方式下面结合具体实施例对本发明作进一步说明。本发明提供了一种基于贝叶斯分词算法的中文地址语义标注方法,包括步骤S1:预设置针对中文地址数据进行语义标注的标注关系表,其中,所述的标注关系表中至少包含行政区名称以及用于标注所述行政区名称的行政区标记;其中,一个规范化的中文地址应该包含多级从大到小的行政区划,本实施例中,行政区名称对应了多级行政区划,同一级行政区划可以包含多类名称,例如:省、自治区、直辖市和特别行政区应属于同一级行政区划,中文地址信息中包含这些行政区名称的都可以用同一行政区标记进行标注,下表示例了其中一种标注关系表:表1标注关系表步骤S2:获取已预先切分、标注好NT条中文地址数据的集合T作为训练语料,设集合T={Ti},其中各条中文地址数据为Ti,且1≤i≤NT;其中,上述训练语料包含了多条中文地址数据,并且这些地址数据都是事先人工按照行政区划等级进行切分,并以上述标注关系表为依据进行了标注的,例如中文地址数据:“湖北省武汉市洪山区流芳大街1号”,可以人工切分为“湖北省|武汉市|洪山区|流芳大街|1号”,训练语料越多后续对待标注的中文地址数据解析的就更准确更迅速。步骤S3:对集合T进行统计学习,所述统计学习具体包括:步骤S31:统计集合T中切分出的各词语、各词语的词频、各词语与其相邻上一词语同时出现的频度值,并存入词频词典Word_dic中;步骤S32:统计各词语以及与该词语对应的标注关系,存入标注关系词典Taging_dic中;步骤S33:统计各条中文地址数据Ti的标注模式及其模式频度值,存入标注模式表Taging_mode中;步骤S4:输入待标注的地址字符串S,并对地址字符串S进行全切分,得到切分集合W={Wi},1≤i≤2l-1,其中,l是地址字符串S的长度;步骤S5:根据词频词典Word_dic中各词语的词频值,根据贝叶斯分词算法计算集合W={Wi}中每一个元素Wi的概率,并保存概率最大的分词方案记为seg_result;步骤S6:根据标注关系词典Taging_dic中每个词语对应的标注关系,对所述分词方案seg_result中切分好的每一个词语进行标注,得到针对地址字符串S的标注结果tag_temp。进一步地,本实施例中,上述贝叶斯分词算法具体包括:设地址字符串S的第i种切分方式为Wi=w1w2Lwn,则w1、w2、K、wn就代表了切分方式中的n个词,求最大概率分词方式即为:若所有的词语确定,则句子唯一确定,P(S|Wi)=1,对于地址字符串S的多种分词方式,P(S)为常数,根据贝叶斯公式有:应用二元语法模型(Bigram)根据联合概率公式有:求解式(2)相当于寻找到联合概率最大的路径W',记为seg_result。进一步地,在前述步骤S6之后,该标注方法还包括针对含有不确定标注关系词语的情况进行判断解析的步骤:步骤S7:设不确定标注关系的词语对应的行政区标记为Unknown,判断所述标注结果tag_temp中是否包含不确定标注关系的词语,如果包含,则提取所述标注结果tag_temp中的词语标注序列并记为L,设L的长度为len;步骤S8:选取标注模式表Taging_dic中标注模式长度为len的n个标注模式作为待匹配模式集合M={Mi},其中1≤i≤n,与L进行模式匹配,该模式匹配的方式包括:步骤a:取待匹配模式集合M中的标注模式Mi与L进行匹配,设匹配起始位置为start=1,结束位置为end=len,匹配位置为j,1≤j≤len,使j=start;步骤b:取词语标注序列L中的行政区标记lj与Mi中的行政区标记mj进行对比,如果lj≠Unknown,判断lj是否等于mj,如果li=mj相等,则j=j+1,继续步骤b;如果li≠mj,将此Mi从M={Mi}中删除;如果lj=Unknown,则j=j+1,继续步骤b;直到j=len;步骤c:使i=i+1,继续步骤a,直到i=n,得到一个新的模式集合M’;步骤S9:根据所述标注模式表Taging_mode,取模式集合M’中模式频度值最大的模式作为标注结果,将tag_temp中的Unknown标注改变为模式频度值最大的模式中与Unknown标注位置相对应的行政区标记,得到新的标注结果并记为tag_result;步骤S10:输出新的标注结果tag_result。进一步地,在得到标注结果tag_result之后上述标注方法还包括:将前述标注结果tag_temp中Unknown标注原来对应的词语,及该词语现在的标注关系添加到所述标注关系词典Taging_dic中。具体地,通过将原本不确定标注关系的词语进行解析并准确标注后,再将其原词语、现标注及其标注关系补充到标注关系词典中,可以不断完善充实标注关系词典数据库,为后续的中文地址标注提供更加优化的数据支持。进一步地,如表1标注关系表所示,本实施例中,行政区名称可以分类为至少十一级行政区类别,其中一级行政区名称至少包括省、自治区、直辖市、特别行政区(对应标注为PRO);二级行政区名称至少包括地级市、自治州、地区、盟(对应标注为CITY);三级行政区名称至少包括市辖区、县、县级市、旗、特区、林区(对应标注为COUNTY);四级行政区名称至少包括区公所、乡、镇、苏木、街道办事处、商业区(对应标注为TOWN);五级行政区名称至少包括社区、居委会、行政村(对应标注为COMMITTEE)。本实施例中,如表1所示,所述标注关系表中的行政区名称至少还包括以下六类其一,其中第一类为基本区域限定物至少包括地片、区片、自然村、居民小区(对应标注为AREA);其中第二类为街巷名至少包括道路、街、巷、胡同、弄(对应标注为ROAD);其中第三类为门址至少包括门牌号(对应标注为BNO);其中第四类为兴趣点至少包括兴趣点、标志物(对应标注为POI);其中第五类为标点符号(对应标注为PUN);其中第六类为不确定项对应不确定关系的名称(对应标注为Unknown)。容易知道,各级行政区名称包括但不限于标注关系表中所列几项,各行政区名称所对应的行政区标记也可以用其他符号表示。本发明提供的一种基于贝叶斯分词算法的中文地址语义标注方法,通过预先设置针对中文地址信息进行标注的标注关系表,该表中至少包含行政区名称及对应标注的行政区标记,设定了一个规范化的标注模板;通过统计学习预设置的训练语料,并具体统计训练语料中的各词语及其相关词频,以及统计语料中各词语的标注关系及各条地址数据的标注模式,获得了包含词频词典、标注关系词典以及标注模式表的数据库;再通过对待标注地址字符串进行全切分、贝叶斯分词计算后,根据前述训练数据库匹配得到标注好的具有语义信息的中文地址,快速准确地完成了针对中文地址数据的语义解析。实施例1下面以中文地址“南开区东马路137号仁恒美食广场”为例,对本发明的具体实施过程进行说明。P1:设置标注关系表,该表可以如表1所示设计。P2:获取已预先切分、标注好NT条中文地址数据的集合T作为训练语料,设集合T={Ti},其中各条中文地址数据为Ti,且1≤i≤NT。P3:对集合T进行统计学习,统计学习的具体步骤包括:P31:统计集合T中切分出的各词语、各词语的词频、各词语与其相邻上一词语同时出现的频度值,并存入词频词典Word_dic中;P32:统计各词语以及与该词语对应的标注关系,存入标注关系词典Taging_dic中;P33:统计各条中文地址数据Ti的标注模式及其模式频度值,存入标注模式表Taging_mode中;P4:输入地址字符串S:“南开区东马路137号仁恒美食广场”,并对地址字符串S进行全切分,得到切分集合W={Wi},1≤i≤215。P5:根据词频词典Word_dic中词语的词频值,根据贝叶斯分词算法由公式(1)~(4):计算切分集合W={Wi}中每一个Wi的概率,并保存结果,得到概率最大的分词方式为:Pro(“南开区|东马路|137号|仁恒美食广场”)=1.5002813027442647E-4,则“南开区|东马路|137号|仁恒美食广场”记为seg_result。P6:根据标注关系词典Taging_dic对切分结果“南开区|东马路|137号|仁恒美食广场”中切分好的每一个词进行标注,得到tag_temp:“南开区/CITY东马路/ROAD137号/BNO仁恒美食广场/POI”;则获得字符串标注结果tag_result:“南开区/CITY东马路/ROAD137号/BNO仁恒美食广场/POI”。P7:输出tag_result:“南开区/CITY东马路/ROAD137号/BNO仁恒美食广场/POI”。实施例2以上实施例1是地址信息中不包含不确定标注关系词语的情况,下面再以中文地址“上海市闵行区碧秀路98弄”为例,对本发明的具体实施过程进行说明。A1:设置标注关系表,该表可以如表1所示设计。A2:获取已预先切分、标注好NT条中文地址数据的集合T作为训练语料,设集合T={Ti},其中各条中文地址数据为Ti,且1≤i≤NT。A3:对集合T进行统计学习,统计学习的具体步骤包括:A31:统计集合T中切分出的各词语、各词语的词频、各词语与其相邻上一词语同时出现的频度值,并存入词频词典Word_dic中;A32:统计各词语以及与该词语对应的标注关系,存入标注关系词典Taging_dic中;A33:统计各条中文地址数据Ti的标注模式及其模式频度值,存入标注模式表Taging_mode中;A4:输入地址字符串S:“上海市闵行区碧秀路98弄”,并对地址字符串S进行全切分,得到切分集合W={Wi},1≤i≤211。A5:根据词频词典Word_dic中词语的词频值,根据贝叶斯分词算法由公式(1)~(4):计算切分集合W={Wi}中每一个Wi的概率,并保存结果,得到概率最大的分词方式为:Pro(“上海市|闵行区|碧秀路|98弄”)=3.540560241591169E-4,则“上海市|闵行区|碧秀路|98弄”记为seg_result。A6:根据标注关系词典Taging_dic对切分结果“上海市|闵行区|碧秀路|98弄”中切分好的每一个词进行标注得到tag_temp:“上海市/PRO闵行区/CITY碧秀路/ROAD98弄/Unknown”。A7:其中,标注结果“上海市/PRO闵行区/CITY碧秀路/ROAD98弄/Unknown”中包含不确定标注关系(Unknown)的词语“98弄”,提取tag_temp中的词语标注序列,用L:[PRO,CITY,ROAD,Unknown]表示;L的长度用len表示;选取标注模式表Taging_dic中标注模式长度为len的n个标注模式作为待匹配模式集合M={Mi},1≤i≤n,与L进行模式匹配,匹配过程具体包括:a:取待匹配模式集合M中的标注模式Mi,1≤i≤n,与L进行匹配,设匹配起始位置为start=1,结束位置为end=len,匹配位置为j,1≤j≤len,j=start。b:取L中的标注lj与Mi中的标注mj进行对比,如果lj≠Unknown,判断lj是否等于mj,如果li=mj相等,则j=j+1,继续步骤(b);如果lj≠mj,将此Mi从M={Mi}中删除。如果lj=Unknown,则j=j+1,继续步骤(b)。直到j=len。c:使i=i+1,继续步骤(a),直到i=n。得到一个新的模式集合M’。d:根据标注模式表Taging_mode,假定模式集合M’中的频度值表如下:表2模式集合M’中的频度值表标注模式频度值[PRO,CITY,ROAD,AREA]3[PRO,CITY,ROAD,ROAD]6[PRO,CITY,ROAD,POI]14[PRO,CITY,ROAD,BNO]137取模式频度值最大的模式[PRO,CITY,ROAD,BNO]作为标注结果,将tag_temp中Unknown标注变为模式频度值最大的模式中与Unknown位置对应的标注关系,得到标注结果tag_result:“上海市/PRO闵行区/CITY碧秀路/ROAD98弄/BNO”,并将“98弄/BNO”添加到标注关系词典Taging_dic中。A8:输出tag_result:“上海市/PRO闵行区/CITY碧秀路/ROAD98弄/BNO”。以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1