CN109284358B - 一种中文地址名词分层级的方法和装置 - Google Patents
一种中文地址名词分层级的方法和装置 Download PDFInfo
- Publication number
- CN109284358B CN109284358B CN201811034393.2A CN201811034393A CN109284358B CN 109284358 B CN109284358 B CN 109284358B CN 201811034393 A CN201811034393 A CN 201811034393A CN 109284358 B CN109284358 B CN 109284358B
- Authority
- CN
- China
- Prior art keywords
- state
- probability
- address
- observation
- hierarchy
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种中文地址名词分层级的方法和装置,不依赖地址关键词词典,对大量地址名词进行前处理,采用HSMM方法建立训练模型,解码得到地址名词中每个地址段的层级,极大的提高了地址名词划分层级的效率,提高了中文地址的识别准确度,为地址相似度计算提供了精准的比对基础。相比现有基于规则的方法通过人工创建各个层级的地址关键词词典进行匹配切分地址段的方式,本发明省去整理地址关键词词典的工作,节省了人力、物力,并有效解决了地址关键词省略、出现地址关键词的集外词、切分歧义时分层错误的问题。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种中文地址名词分层级的方法和装置。
背景技术
地址名词的层级划分是计算地址相似度、模糊搜索等业务的基础工作。目前地址名词的层级划分主要是基于规则的方法。首先,定义一个地名关键词列表,包含地名关键词(路、街、村、小区等)和每个关键词的地址层级。然后,在地址分层级时,从前往后遍历待分层的地名,若匹配到关键词,就切分出地址段,并以关键词的层级作为该地址段的层级。这种方法对于形式规则的地名划分层级时效果较好。但是,中国的地名多变而复杂,尤其在实际业务中,用户填写的地址名词或网上爬取的地址名词经常是省略的、不规则的。
目前基于地址关键词匹配的规则方法主要存在以下四方面问题:
1.构造地址关键词词典需要耗费大量人力。
2.一旦出现了地址关键词词典中的集外词,则不能准确解析。例如:“杜儿坪四巷7楼55户”中的“坪”,“西丽宝珠花园菱香阁”中的“花园”和“阁”,不易被收录在地址关键词词典中。
3.如果出现地址关键词省略的情况,不能准确解析。例如:“中山街天润嘉园2栋”,“中关村东路都市网景A座”,这两个地址都省略了“小区”,基于地址关键词匹配的规则方法会错误地把小区名称和楼栋号划分在一个层级,结果为“中山(街)->天润嘉园2栋”,“中关村东(路)都市网景A(座)”
4.如果其它位置出现了地址关键词,则会出现切分歧义的情况,不能准确解析。例如:“三十里堡村西卅里”,如果地址关键词中有“里”和“村”,会被解析成:三十里->堡村->西卅里,但实际上“三十里堡”是一个完整的村名。
综上所述,现有的中文地址名词通过关键词匹配的划分方法耗费人力、不够准确,仍存在需要改进的空间。
发明内容
为了解决上述中文地址名词划分方法耗费人力仍不够准确的问题,本发明提供了一种中文地址名词分层级的方法和装置,基于统计机器学习的方法,将大量中文地址名词进行前处理后,非监督地训练HSMM模型(隐半马尔科夫模型),从而根据训练好的模型参数,实现一个新地名的层级划分,极大的提高了地址名词划分层级的效率以及中文地址的识别准确度,为地址相似度的计算提供了精准的比对基础。
为实现上述目的,本发明提供了一种中文地址名词分层级的方法,其特征在于,包括:
收集多个地址名词,进行前处理,作为训练数据;
模型训练,以K个隐状态的HSMM算法对前处理后的地址层级建模,每个状态表示层级的标签,其中K为正整数;
解码,采用上一步骤中训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
可选地,所述前处理包括:根据行政区划去掉省市区,并将剩余地址中的数字转化为第一符号,连续的英文字符串转化为第二符号,训练数据在10万个以上。
可选地,所述模型训练还包括:限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级,其中K为3、4、5或6。
可选地,所述模型训练还包括:设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。
可选地,在所述模型训练阶段的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,…,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,…,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态j下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
可选地,还包括更新状态跳转矩阵A和输出矩阵B中的每一个元素,在t时刻从状态i跳转到状态j的概率γt(i,j)计算如下:
相应状态i下元素bi(ot)更新为:
可选地,所述解码包括采用动态规划方法求解待分层的地址名词中每个词的层级。在解码的Viterbi算法中,加入时长信息pj(d):
给定观测系列O=[o1,o2,…,oT]及模型λ,选择一个最优状态系列S=[s1,s2,…,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,…,s* T];由于概率值在[0,1]范围内,为了避免因为过多连乘而造成数据下溢,采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,…,ot且t时刻状态为i的最大概率的路径序列的产生概率;
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3…T即为最优状态序列;
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
另外,本发明还提供了一种中文地址名词分层级的装置,包括:
前处理模块,收集多个地址名词,进行前处理,作为训练数据;
模型训练模块,以K个隐状态的HSMM算法对前处理后的地址层级建模,进行模型训练,每个状态表示层级的标签,其中K为正整数;
解码模块,采用所述模型训练模块训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
可选地,所述前处理模块根据行政区划去掉省市区,并将剩余地址中的数字转化为第一符号,连续的英文字符串转化为第二符号,训练数据在10万个以上。
可选地,所述模型训练模块还限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级,其中K为3、4、5或6。
可选地,所述模型训练模块还设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。
可选地,在所述模型训练模块所采用的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,…,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,…,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bj(ot)表示状态j下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
可选地,还包括更新状态跳转矩阵A和输出矩阵B中的每一个元素,在t时刻从状态i跳转到状态j的概率γt(i,j)计算如下:
相应状态i下元素bi(ot)更新为:
可选地,所述解码模块采用动态规划方法求解待分层的地址名词中每个词的层级。在解码模块的Viterbi算法中,加入时长信息pj(d):
给定观测系列O=[o1,o2,…,oT]及模型λ,选择一个最优状态系列S=[s1,s2,…,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,…,s* T];由于概率值在[0,1]范围内,为了避免因为过多连乘而造成数据下溢,采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,…,ot且t时刻状态为i的最大概率的路径序列的产生概率:
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3…T即为最优状态序列;
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
此外,本发明还提供了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述中文地址名词分层级的方法。
此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,能够实现上述中文地址名词分层级的方法。
本发明的优点和有益效果在于:相比现有的根据地名关键词列表进行匹配切分地址段的方式,本发明提供的中文地址名词分层级的方法和装置,对大量地址名词进行前处理,采用HSMM方法建立训练模型,解码得到地址名词中每个地址段的层级,该方法和装置不依赖地址关键词词典,省去整理地址关键词词典的工作,节省了人力、物力,从而极大的提高了地址名词划分层级的效率;并且,能够有效解决地址关键词省略、出现地址关键词的集外词、切分歧义等问题,提高中文地址的识别准确度,为地址相似度计算提供了精准的比对基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例的部分介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了本发明一实施例的中文地址名词分层级的方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,本发明的一实施例提供了一种中文地址名词分层级的方法,其特征在于,包括:
收集多个地址名词,进行前处理,作为训练数据;
模型训练,以K个隐状态的HSMM算法对前处理后的地址层级建模,每个状态表示层级的标签,其中K为正整数;
解码,采用上一步骤中训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
该实施例所采用的HSMM模型(隐半马尔科夫模型),用来描述一个含有隐状态的近似马尔可夫过程,并且对隐状态的自跳转次数的建模做了优化。在地址名词分层的应用中,隐状态表示层级标签,观察是分层后的词。
其中,K优选为3、4、5或6。
其中,对于我国的省市区等地址名词,划分时较为简单,几乎很难出错,通常不需要进行训练划分层级,则将表示省市区的名词先去掉,即所述前处理过程包括根据行政区划去掉省市区。同时,为了方便快捷的处理数据,在中文地址层级划分时,对于10号楼、881弄等数字符号,不需要对每个数字具体表示几进行区分,直接将所有的数字视为同一符号。即将已去掉省市区的剩余地址中的数字都转化为第一符号N,连续的英文字符串都转化为第二符号X,训练数据的数量在10万个以上。在该实施例中,N、X仅仅表示的是一种符号,可以用其他A、B、C……、Z的任意两种进行表示。
进一步地,所述模型训练还包括限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级。正常的中文地址一定是由大范围到小范围的,例如“光华路东方梅地亚中心21层”不会写成“21层东方梅地亚中心光华路”,所以在模型中设置aij限制层级跳转,也就是隐状态之间的跳转,每个层级只能跳到比其低(包括其本身)的层级;其中,aij表示从状态i跳转到状态j的概率值。
为了获得较好的效果,所述模型训练还包括设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。通常,给出一些每个层级常用的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小,接近于0。
在中文地址中,地址段的字数长度不等,多为3-5个字。在HMM中,状态持续的概率随着时长是呈指数下降的。例如:根据状态转移矩阵,当前字为状态1跳转到下一字为状态1的概率是0.8,则再下一个字继续是状态一的概率是0.8*0.8=0.64,以此类推。这样的情况下,一个状态持续3-5个字概率就很小了。HSMM正是对这一点进行了改进,对状态自跳转做了显式建模,一个状态持续N个字时概率最大,大于或小于N时概率都降低。这个分布是在无监督训练的过程中得到的。
可选地,在所述模型训练阶段的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,…,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,…,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bj(ot)表示状态j下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
可选地,还包括更新状态跳转矩阵A和输出矩阵B中的每一个元素,在t时刻从状态i跳转到状态j的概率γt(i,j)计算如下:
相应状态i下元素bi(ot)更新为:
可选地,所述解码包括采用动态规划方法求解待分层的地址名词中每个词的层级。
可选地,在解码的Viterbi算法中,加入时长信息pj(d):
给定观测系列O=[o1,o2,…,oT]及模型λ,选择一个最优状态系列S=[s1,s2,…,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,…,s* T];由于概率值在[0,1]范围内,为了避免因为过多连乘而造成数据下溢,采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,…,ot且t时刻状态为i的最大概率的路径序列的产生概率;
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3…T即为最优状态序列;
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
本发明的另一实施例还提供了一种中文地址名词分层级的装置,包括:
前处理模块,收集多个地址名词,进行前处理,作为训练数据;
模型训练模块,以K个隐状态的HSMM算法对前处理后的地址层级建模,进行模型训练,K为3、4、5或6,每个状态表示层级的标签;
解码模块,采用所述模型训练模块训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
其中,对于我国的省市区等地址名词,划分时较为简单,几乎很难出错,通常不需要进行训练划分层级,则前处理模块将表示省市区的名词先去掉,即所述前处理过程包括根据行政区划去掉省市区。同时,为了方便快捷的处理数据,在中文地址层级划分时,对于10号楼、881弄等数字符号,不需要对每个数字具体表示几进行区分,直接将所有的数字视为同一符号。即前处理模块将已去掉省市区的剩余地址中的数字都转化为第一符号N,连续的英文字符串都转化为第二符号X,训练数据在10万个以上。在该实施例中,N、X仅仅表示的是一种符号,可以用其他A、B、C……、X的任意两种进行表示。
进一步地,模型训练模块还限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级。正常的中文地址一定是由大范围到小范围的,例如“光华路东方梅地亚中心21层”不会写成“21层东方梅地亚中心光华路”,所以在模型中设置aij限制层级跳转,也就是隐状态之间的跳转,每个层级只能跳到比其低(包括其本身)的层级,aij表示从状态i跳转到状态j的概率值。
为了获得较好的效果,模型训练模块还设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。通常,给出一些每个层级常用的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小,接近于0。
在中文地址中,地址段的字数长度不等,多为3-5个字。在HMM中,状态持续的概率随着时长是呈指数下降的。例如:根据状态转移矩阵,当前字为状态1跳转到下一字为状态1的概率是0.8,则再下一个字继续是状态一的概率是0.8*0.8=0.64,以此类推。这样的情况下,一个状态持续3-5个字概率就很小了。HSMM正是对这一点进行了改进,对状态自跳转做了显式建模,一个状态持续N个字时概率最大,大于或小于N时概率都降低。这个分布是在无监督训练的过程中得到的。
在一实施例中,可选地,在所述模型训练模块所采用的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,…,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,…,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
在一实施例中,还包括更新状态跳转矩阵A和输出矩阵B中的每一个元素,在t时刻从状态i跳转到状态j的概率γt(i,j)计算如下:
相应状态i下元素bi(ot)更新为:
在一实施例中,解码模块采用动态规划方法求解待分层的地址名词中每个词的层级。在解码模块的Viterbi算法中,也加入时长信息pj(d):
给定观测系列O=[o1,o2,…,oT]及模型λ,选择一个最优状态系列S=[s1,s2,…,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,…,s* T];由于概率值在[0,1]范围内,为了避免因为过多连乘而造成数据下溢,采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,…,ot且t时刻状态为i的最大概率的路径序列的产生概率:
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3…T即为最优状态序列;
其中,O=[o1,o2,…,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
此外,本发明还提供了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述中文地址名词分层级的方法,该方法至少包括如下步骤:
收集多个地址名词,进行前处理,作为训练数据;
模型训练,以K个隐状态的HSMM算法对前处理后的地址层级建模,每个状态代表层级的标签,其中K为正整数;
解码,采用上一步骤中训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
可选地,所述设备可为服务器、个人计算机、移动终端或其他带有处理器的显示设备。其中,移动终端包括但不限于手机、平板电脑、穿戴设备等设备。
此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,能够实现上述中文地址名词分层级的方法。该方法至少包括如下步骤:
收集多个地址名词,进行前处理,作为训练数据;
模型训练,以K个隐状态的HSMM算法对前处理后的地址层级建模,以K个隐状态的HSMM算法对前处理后的地址层级建模,每个状态代表层级的标签,其中K为正整数;
解码,采用上一步骤中训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级。
进一步地,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
综上所述,本发明提供的一种中文地址名词分层级的方法和装置,不依赖地址关键词词典,对大量地址名词进行前处理,采用HSMM方法建立训练模型,解码得到地址名词中每个地址段的层级,极大的提高了地址名词划分层级的效率,提高了中文地址的识别准确度,为地址相似度计算提供了精准的比对基础。相比现有基于规则的方法通过人工创建各个层级的地址关键词词典进行匹配切分地址段的方式,本发明省去整理地址关键词词典的工作,节省了人力、物力,并有效解决了地址关键词省略、出现地址关键词的集外词、切分歧义时分层错误的问题。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考上述具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (16)
1.一种中文地址名词分层级的方法,其特征在于,包括:
收集多个地址名词,进行前处理,作为训练数据;
模型训练,以K个隐状态的HSMM算法对前处理后的地址层级建模,每个状态表示层级的标签,其中K为正整数;
解码,采用上一步骤中训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级;
其中,在所述模型训练阶段的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,...,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,…,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,...,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
2.如权利要求1所述的方法,其特征在于,所述前处理包括:根据行政区划去掉省市区,并将剩余地址中的数字转化为第一符号,连续的英文字符串转化为第二符号,训练数据在10万个以上。
3.如权利要求1所述的方法,其特征在于,所述模型训练还包括:限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级,其中K为3、4、5或6。
4.如权利要求1所述的方法,其特征在于,所述模型训练还包括:设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。
6.如权利要求5所述的方法,其特征在于,所述解码包括采用动态规划方法求解待分层的地址名词中每个词的层级。
7.如权利要求6所述的方法,其特征在于,在解码的Viterbi算法中,加入时长信息p,(d):
给定观测序列O=[o1,o2,...,oT]及模型λ,选择一个最优状态系列S=[s1,s2,...,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,...,s* T];采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,...,ot且t时刻状态为i的最大概率的路径序列的产生概率;
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3...T即为最优状态系列;
其中,O=[o1,o2,...,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
8.一种中文地址名词分层级的装置,其特征在于,包括:
前处理模块,收集多个地址名词,进行前处理,作为训练数据;
模型训练模块,以K个隐状态的HSMM算法对前处理后的地址层级建模,进行模型训练,每个状态表示层级的标签,其中K为正整数;
解码模块,采用所述模型训练模块训练好的HSMM模型及参数,求解待分层的地址名词中每个词的层级;
其中,在所述模型训练模块所采用的前向算法和后向算法中,加入时长参数pj(d):
所述前向算法为:定义前向变量αt(j),指模型在给定观测系列下,t时刻终止于状态j的概率:
αt(j)=P(o1,o2,...,ot,st=j|λ),1≤t≤T (1)
初始化:α0(j)=πj,1≤j≤N (2)
递推:(3)
所述后向算法为:定义后向变量βt(i),指模型在给定观测系列下,t时刻开始于状态i(i≠j)的概率;
βt(i)=P(ot+1,ot+2,...,oT|st=i,λ),1≤t≤T-1 (4)
初始化:βT(i)=1,1≤i≤N (5)
递推:(6)
终止:(7)
其中,O=[o1,o2,...,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2…πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率值;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率。
9.如权利要求8所述的装置,其特征在于,所述前处理模块根据行政区划去掉省市区,并将剩余地址中的数字转化为第一符号,连续的英文字符串转化为第二符号,训练数据在10万个以上。
10.如权利要求8所述的装置,其特征在于,所述模型训练模块还限制层级的跳转,限制每个层级跳转到所述每个层级以下的层级,其中K为3、4、5或6。
11.如权利要求8所述的装置,其特征在于,所述模型训练模块还设置所述层级的关键词,在初始化和前几轮训练的结果中,将本层级对于本层级关键词的输出概率设置为较大,其它层级对于本层级的关键词输出概率设置为较小。
13.如权利要求12所述的装置,其特征在于,所述解码模块采用动态规划方法求解待分层的地址名词中每个词的层级。
14.如权利要求13所述的装置,其特征在于,在所述解码模块的Viterbi算法中,加入时长信息pj(d):
给定观测系列O=[o1,o2,...,oT]及模型λ,选择一个最优状态系列S=[s1,s2,...,sT]使P(O|λ)最大,记最优状态系列为S*=[s* 1,s* 2,...,s* T];采用对数形式进行处理,具体算法如下:
定义δt(i)为产生o1,o2,...,ot且t时刻状态为i的最大概率的路径序列的产生概率:
递推:(15)
终止:
T时刻最优状态s* T为:
回溯:
得到S*,t=1,2,3…T即为最优状态系列;
其中,O=[o1,o2,...,oT]为观测序列,T为序列总长度;st表示当前时刻t模型的状态,状态总数为N;λ为模型参数,包括四部分,λ=[π,A,B,P],π=[π1,π2...πN]为初始时刻t=0时各个状态的概率,πi表示初始时刻t=0时状态i的概率;A为状态跳转矩阵,A中元素aij表示从状态i跳转到状态j的概率值;B为输出矩阵,B中元素bi(ot)表示状态i下观测为ot的概率,bj(ot)表示状态j下观测为ot的概率,bj(of)表示状态j下观测为of的概率,ot和of均表示观测序列O中的某一观测;P为状态保持时间矩阵,P中元素pj(d)表示状态j持续时间长度为d的概率;表示t=1时刻跳转到状态i的最优的前一时刻的状态,表示t时刻跳转到状态j的最优的前一时刻的状态。
15.一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的所述计算机程序,且所述计算机程序被执行时,实现权利要求1-7中任意一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811034393.2A CN109284358B (zh) | 2018-09-05 | 2018-09-05 | 一种中文地址名词分层级的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811034393.2A CN109284358B (zh) | 2018-09-05 | 2018-09-05 | 一种中文地址名词分层级的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284358A CN109284358A (zh) | 2019-01-29 |
CN109284358B true CN109284358B (zh) | 2020-08-28 |
Family
ID=65184514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811034393.2A Active CN109284358B (zh) | 2018-09-05 | 2018-09-05 | 一种中文地址名词分层级的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284358B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977395A (zh) * | 2019-02-14 | 2019-07-05 | 北京三快在线科技有限公司 | 处理地址文本的方法、装置、电子设备及可读存储介质 |
CN110188184A (zh) * | 2019-06-04 | 2019-08-30 | 鹏元征信有限公司 | 一种地址信息比对的处理方法、存储介质及终端设备 |
CN111522901B (zh) * | 2020-03-18 | 2023-10-20 | 大箴(杭州)科技有限公司 | 文本中地址信息的处理方法及装置 |
CN113065354B (zh) * | 2021-03-19 | 2024-01-09 | 平安普惠企业管理有限公司 | 语料中地理位置的识别方法及其相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678282A (zh) * | 2014-01-07 | 2014-03-26 | 苏州思必驰信息科技有限公司 | 一种分词方法及装置 |
CN105373529A (zh) * | 2015-10-28 | 2016-03-02 | 甘肃智呈网络科技有限公司 | 一种基于隐马尔科夫模型的智能分词方法 |
CN106598950A (zh) * | 2016-12-23 | 2017-04-26 | 东北大学 | 一种基于混合层叠模型的命名实体识别方法 |
CN107832307A (zh) * | 2017-11-28 | 2018-03-23 | 南京理工大学 | 基于无向图与单层神经网络的中文分词方法 |
CN108170680A (zh) * | 2017-12-29 | 2018-06-15 | 厦门市美亚柏科信息股份有限公司 | 基于隐马尔科夫模型的关键词识别方法、终端设备及存储介质 |
CN109086267A (zh) * | 2018-07-11 | 2018-12-25 | 南京邮电大学 | 一种基于深度学习的中文分词方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136465B2 (en) * | 2000-08-31 | 2006-11-14 | Lamson Holdings Llc | Voice activated, voice responsive product locator system, including product location method utilizing product bar code and product-situated, location-identifying bar code |
-
2018
- 2018-09-05 CN CN201811034393.2A patent/CN109284358B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678282A (zh) * | 2014-01-07 | 2014-03-26 | 苏州思必驰信息科技有限公司 | 一种分词方法及装置 |
CN105373529A (zh) * | 2015-10-28 | 2016-03-02 | 甘肃智呈网络科技有限公司 | 一种基于隐马尔科夫模型的智能分词方法 |
CN106598950A (zh) * | 2016-12-23 | 2017-04-26 | 东北大学 | 一种基于混合层叠模型的命名实体识别方法 |
CN107832307A (zh) * | 2017-11-28 | 2018-03-23 | 南京理工大学 | 基于无向图与单层神经网络的中文分词方法 |
CN108170680A (zh) * | 2017-12-29 | 2018-06-15 | 厦门市美亚柏科信息股份有限公司 | 基于隐马尔科夫模型的关键词识别方法、终端设备及存储介质 |
CN109086267A (zh) * | 2018-07-11 | 2018-12-25 | 南京邮电大学 | 一种基于深度学习的中文分词方法 |
Non-Patent Citations (2)
Title |
---|
Hidden semi-Markov models;Shun-Zheng Yu;《Artificial Intelligence》;20100228;第174卷(第2期);第255-256页 * |
基于层叠隐马尔科夫模型的中文命名实体识别;俞鸿魁 等;《通信学报》;20060228;第27卷(第2期);第87-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109284358A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284358B (zh) | 一种中文地址名词分层级的方法和装置 | |
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
CN108776762B (zh) | 一种数据脱敏的处理方法及装置 | |
CN110750993A (zh) | 分词方法及分词器、命名实体识别方法及*** | |
KR101195341B1 (ko) | 미등록 단어의 카테고리 결정 방법 및 장치 | |
CN110222194B (zh) | 基于自然语言处理的数据图表生成方法和相关装置 | |
CN111382260A (zh) | 一种检索文本纠错方法、装置和存储介质 | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
CN112200664A (zh) | 基于ernie模型和dcnn模型的还款预测方法 | |
CN116186200B (zh) | 模型训练方法、装置、电子设备和存储介质 | |
CN111767394A (zh) | 一种基于人工智能专家***的摘要提取方法及装置 | |
CN111666379B (zh) | 一种事件元素提取方法和装置 | |
CN114547257B (zh) | 类案匹配方法、装置、计算机设备及存储介质 | |
CN116401345A (zh) | 智能问答方法、装置、存储介质和设备 | |
CN115129819A (zh) | 文本摘要模型生产方法及其装置、设备、介质 | |
CN110110137A (zh) | 一种确定音乐特征的方法、装置、电子设备及存储介质 | |
CN111091001B (zh) | 一种词语的词向量的生成方法、装置及设备 | |
Cohn et al. | Scaling conditional random fields using error-correcting codes | |
CN117236340A (zh) | 问答方法、装置、设备和介质 | |
CN111950261A (zh) | 提取文本关键词的方法、设备和计算机可读存储介质 | |
CN112800752B (zh) | 纠错方法、装置、设备以及存储介质 | |
CN113704466B (zh) | 基于迭代网络的文本多标签分类方法、装置及电子设备 | |
CN113111136B (zh) | 一种基于ucl知识空间的实体消歧方法及装置 | |
CN114840642A (zh) | 事件抽取方法、装置、设备及存储介质 | |
JPH11143875A (ja) | 単語自動分類装置及び単語自動分類方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |