CN101201818A - 用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 - Google Patents
用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 Download PDFInfo
- Publication number
- CN101201818A CN101201818A CNA2006101195318A CN200610119531A CN101201818A CN 101201818 A CN101201818 A CN 101201818A CN A2006101195318 A CNA2006101195318 A CN A2006101195318A CN 200610119531 A CN200610119531 A CN 200610119531A CN 101201818 A CN101201818 A CN 101201818A
- Authority
- CN
- China
- Prior art keywords
- language
- hidden markov
- markov model
- grammer
- sentence
- 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.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种采用隐马尔可夫模型(HMM)建模和计算语言结构的方法,能高效且完备地表达和计算自然语言的语法结构,特别是其中的递归和并列。其技术方案为:建立该语言的GBBG语法;建立该语言HMM语法,设计LHMM的拓扑结构;根据HMM语法对LHMM的拓扑结构和参数进行训练和测试;应用HMM理论计算待分析句子的语法结构,并根据需要继续调整LHMM的拓扑结构和参数。本发明应用于自然语言处理领域。
Description
技术领域
本发明涉及一种自然语言处理方法,尤其涉及一种采用隐马尔可夫模型建模和计算自然语言结构的方法以及利用上述方法进行自然语言分词、机器翻译和语音识别的方法。
背景技术
用于语音识别的语言模型(LM)通常是基于统计学的N元模型,而用于句法分析的通常是基于产生式规则的上下文无关文法(CFG)。尽管N元模型用于语音识别取得了一定的成功,但是它依然有着相当的局限。其中的一些局限是:它不能表达语言中长距离语言单元之间的语法依赖性,也不能给出一个句子中的句法结构。
已经用于一些语言技术产品中的上下文无关文法,往往使用成千上万条手编规则来描述各种短语类型。然而一方面这些手编规则是难于完备的,另一方面当其达到一定规模时它们常常是难于维护和扩充的。虽然另一种树库语法靠构造大规模的树库摆脱了手工编制规则,使得人们可以从树库中的句法树中读取规则,但是随着语料库的增大,规则集合的规模也迅速增大。即使人们无须考虑这个开销,要从中获得完备的语法依然是非常困难的。
另一种称为面向数据的分析技术把经过标注的语料库看作为一个语法,当输入一个新的语言现象时,系统通过对语料库中片段单元的组合操作来组合分析过程,根据所有单元的共现频率来评估最有可能的分析结果。然而很明显,这样一个语法也很难具有完备性。
近年来将统计手段和语言学知识相结合的趋势是很明显的,人们公认这种结合是实现句法分析和语言建模的正确途径。然而当前有关方法的原理通常都是将概率机制引入基于规则的语法如上下文无关文法或树库语法,这虽然获得了一些改进,使得在有多种句法分析结果时可以依靠概率手段来选择,然而基于规则的语法如上下文无关文法或树库语法本身的缺点依然存在,N元文法又会造成语法结构的不完整。此外,当前的统计语言模型对文本风格、主题等的变化非常敏感,而由越来越大的语料库所带来的改善正趋于极限。
发明内容
本发明的目的在于提供一种采用隐马尔可夫模型(HMM)建模和计算语言结构的方法,能高效且完备地表达和计算自然语言的语法结构,特别是其中的递归和并列。相应地,本发明还提供了借助上述的隐马尔可夫模型对自然语言的建模方法,对例如汉语或其类似的自然语言进行分词的方法,进行机器翻译的方法以及进行语音识别的方法。
本发明的技术方案为:本发明提高了一种采用隐马尔可夫模型计算语言结构的方法,包括:
(1)建立该语言的分级建筑块语法;
(2)建立该语言的隐马尔可夫模型的语法,设计该语言隐马尔可夫模型的拓扑结构;
(3)对训练语料库进行人工标注以形成该语言隐马尔可夫模型的参数值或拓扑结构,同时可人工增删和/或更改该语言隐马尔可失模型的参数和拓扑结构;
(4)利用隐马尔可夫模型理论对测试语料库测试该语言隐马尔可夫模型的参数和拓扑结构的准确性,分析测试结果,并根据该结果对上述参数和拓扑结构进行或人工或自动的调整;
(5)利用隐马尔可夫模型理论计算待分析句子的语法结构,同时采用与(4)类似的机制,继续完善该语言隐马尔可夫模型的拓扑结构和参数。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,该分级建筑块语法采用有向图数据结构,将各有关语言单位在平面或直线上进行有机排列和相互连接以表示语言结构,特别是采用分级手段表达其递归结构。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,该隐马尔可夫模型语法在该分级建筑块语法和一个词性语言模型之间作了适当的平衡,即:
合并该分级建筑块语法中功能相似的语言单位,合并后的语言单位就是隐马尔可夫模型语法的最终状态;
同时添加相反的连接方向,实现递归表达。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,该隐马尔可夫模型语法用到的任何语言单位,都占有一个和一个以上的状态。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,步骤(3)是对该训练语料库的全部进行人工标注以形成该语言隐马尔可夫模型的参数值或拓扑结构。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,步骤(3)是对该训练语料库的一部分进行人工标注以形成该语言隐马尔可夫模型的参数初始值或初始拓扑结构,再利用隐马尔可夫模型理论对剩余的或全部的训练语料计算该语言隐马尔可夫模型的参数值或拓扑结构。
上述的采用隐马尔可夫模型计算语言结构的方法,其中,所述步骤(3)、(4)和(5)可反复进行以获得越来越精确的参数。
另一方面,本发明提供了一种采用隐马尔可夫模型进行语言分词的方法,包括:
以上述的方法建立该语言的隐马尔可夫模型;
将待分词的句子进行各种可能的分词后的序列作为该语言隐马尔可夫模型的输入;
选择概率最大的输出所对应的分词序列,同时得到最佳语法结构。
另一方面,本发明还提供了一种采用隐马尔可夫模型进行机器翻译的方法,将源语言翻译成目标语言,所述方法包括:
(1)源语言和目标语言进行细致的句型分类并找到它们之间的对应关系;
(2)以上述的方法建立源语言和目标语言的隐马尔可夫模型,并获得模型参数;
(3)用Viterbi算法和步骤(2)的模型参数对待翻译的源语言句子进行计算,得到其语法结构及分词序列;
(4)搜索目标语言的全部句型,找出其与步骤(3)的语法结构相对应的句型;
(5)在相应句型对之间进行相应的单词置换。
除此之外,本发明还提供了一种采用隐马尔可夫模型进行语音识别的方法,包括:
(1)以上述的方法建立语言的隐马尔可夫模型;
(2)把声学隐马尔可夫模型和语言隐马尔可夫模型合在一起作为一个整体的隐马尔可夫模型;
(3)用Viterbi算法计算该整体的隐马尔可夫模型的最佳状态序列。
本发明相对现有技术有如下的有益效果:本发明将自然语言中的句子看做一段观察符号序列,根据语音信号和语言信号的相似性,将在语音识别中成功运用的HMM技术全面引入到自然语言的自动语法分析中来。本发明彻底放弃了现有技术中对N元文法和基于规则语法如上下文无关语法的依赖性,而这些语法不能够完备和高效地表达自然语言的语法结构,特别是其中的递归和并列。本发明以最佳方式并最大限度地利用了人类有史以来积聚的语言学知识,从而对语料库和训练文本的风格的依赖性显著降低,对数据稀疏问题有更为合理的解决方案。除此之外,本发明还具有良好的扩充性,并能够完备和高效地表达和计算自然语言的语法结构,特别是其中的递归和并列。
附图说明
图1是本发明的采用隐马尔可夫模型计算语言结构的方法的实施例的流程图。
图2是本发明的HMM语法设计中第二部分句子结构的设计示意图。
图3是本发明的利用HMM理论对LHMM的拓扑结构的参数甚至结构本身进行训练和测试的流程图。
图4是本发明的利用LHMM对汉语以及类似语言进行分词的方法的流程图。
图5是本发明的利用LHMM对汉语以及类似语言进行机器翻译的方法的流程图。
图6是本发明的利用LHMM进行语音识别的方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1示出了本发明的采用隐马尔可夫模型计算语言结构的方法,请参见图1,下面是对该方法流程中各步骤的详细描述。
步骤S1:建立该自然语言的分级建筑块语法(GBBG)。
GBBG语法的特征是提供了有关语言单位在平面或直线上进行有机排列和相互连接以表达语言结构特别是语言递归和并列的方式,也就是采用有向图数据结构表达自然语言的语法结构,特别是任意级别的递归模式。更具体说就是,把有关的简单短语、简单分句看作基本的语言建筑块,各种等级的递归就能用这些基本建筑块来表示。尽管简单短语、简单分句在不同语言中的定义有所差别,但共同点都是不存在任何递归,并能组合起来后有效地表达各种递归。
下面主要以英语为例,说明GBBG语法中各级别建筑块的构造和对语言结构特别是其递归的表达。
1.S级建筑块
S级建筑块就是基本建筑块,即,S级名词短语SNP、S级介词短语SPP、S级形容词短语SAP、S级动词短语SVP、S级基本分句SC0、S级句首状语SAh、S级句尾状语SAt、S级分句SC。这些建筑块一个套一个,最终组成了S级分句SC。除了这些之外,还有一种S级建筑块是组成M级建筑块和M级分句的组块,即动词非谓语形式建筑块:SV*P。
SNP的构成是:“(限定词)+(前置修饰语)+[名词中心词]”,在本实施例中,一般来说圆括号表示可选项,方括号表示必选项。但这也不是绝对的,例如,英语中“The important is....”中的中心词就省略了;汉语中也可以有类似的省略“重要的是...”。另外,这里的[名词中心词]显然也包括各种处于这个位置的词,如代词等。
SPP的构成是:“[介词]+[SNP]”,如果是汉语的话,则SNP后常有方位词,而介词常省略。
SAP的构成是:“(副词)+[形容词]+(SPP)”。
SVP(可包括动词的各种时态语态)可分为5种:S级不及物动词短语SViP、S级系动词短语SV1P、S级及物动词短语SVtP、S级复合及物动词短语SVcP、S级双宾语及物动词短语SVdP。
SViP的构成是:“(副词)+(助动词)+(副词,SPP)+[不及物动词Vi]+(SPP,副词)”。
为简便起见,以下的动词短语结构说明将略去“(副词)+(助动词)+(副词,SPP)”。
SV1P的构成是:“[系动词V1]+[SNP,SPP,SAP,少量副词]”。
SVtP的构成是:“[及物动词Vt]+[SNP]”。
SVcP的构成是:“[复合及物动词Vc]+[SNP]+[SNP,SPP,SAP,少量副词]”。
SVdP的构成是:“[双宾语及物动词Vd]+(SNP)+[SNP]+(to,for)+(SNP)”。
SC0的构成是:“[SNP]+[SVP]”。
SAh、SAt的构成是:“[SPP,SAP,副词]”。
SC的构成是:“(SAh)+[SC0]+(SAt)”。
SV*P可分为不定式短语SVin*P、现在分词和过去分词短语SVing*P、SVed*P。
SVin*P的构成是:“(for)+(SNP)+[to]+[SVP]+(SAt)”。
SVing*P的构成是:“(SNP,所有格SNP)+[SVingP]+(SAt)”。
SVed*P的构成是:“(SNP)+[SVedP]+(SAt)”。
[SVingP]和[SVedP]分别是[SVP]的现在分词形式和过去分词形式。
2.M级建筑块
M级建筑块是M级名词短语MNP、M级介词短语MPP、M级形容词短语MAP、M级动词短语MVP、M级基本分句MC0、M级句首状语MAh、M级句尾状语MAt、M级分句MC。这些建筑块一个套一个,最终组成了M级分句MC。除了这些之外,还有一种M级建筑块是组成L级建筑块和L级分句的组块,即动词非谓语形式建筑块:MV*P。
MNP的构成是:“[SNP]+(逗号等)+(SNP,SPP,SAP,SV*P,SC,少量副词)”。
英语中蕴涵递归的修饰语通常放在[SNP]后面;而汉语中蕴涵递归的修饰语通常放在[SNP]前面。此外作为从句的SC中的引导词将认为已包含在里面。后面的M级分句MC、L级分句LC等都类同。
MPP的构成是:“[介词]+[MNP,SVing*P,SC]”,如果是汉语的话,则MNP后常有方位词,而介词常省略。
MAP的构成是:“(副词)+[形容词]+(MPP,SVing*P,SC)”。
MVP(可包括动词的各种时态语态)可分为5种:M级不及物动词短语MViP、M级系动词短语MV1P、M级及物动词短语MVtP、M级复合及物动词短语MVcP、M级双宾语及物动词短语MVdP。
MViP的构成是:“(副词)+(助动词)+(副词,MPP)+[不及物动词Vi]+(MPP,SV*P,SC,副词)”。
为简便起见,以下的动词短语结构说明将略去“(副词)+(助动词)+(副词,MPP)”。
MV1P的构成是:“[系动词V1]+[MNP,MPP,MAP,SV*P,SC,少量副词]”。
MVtP的构成是:“[及物动词Vt]+[MNP,SVin*P,SVing*P,SC]”。
MVcP的构成是:“[复合及物动词Vc]+[MNP,SC]+[MNP,MPP,MAP,SV*P,SC,少量副词]”。
MVdP的构成是:“[双宾语及物动词Vd]+(MNP)+[MNP,SC]+(to,for)+(MNP,SC)”。
MC0的构成是:“[MNP,SV*P,SC]+[MVP]”。
MAh、MAt的构成是:“[MPP,MAP,SV*P,SC,副词]”。
MC的构成是:“(MAh)+[MC0]+(MAt)”。
MV*P可分为不定式短语MVin*P、现在分词和过去分词短语MVing*P、MVed*P。
MVin*P的构成是:“(for)+(MNP)+[to]+[MVP]+(MAt)”。
MVing*P的构成是:“(MNP,所有格MNP)+[MVingP]+(MAt)”。
MVed*P的构成是:“(MNP)+[MVedP]+(MAt)”。
[MVingP]和[MVedP]分别是[MVP]的现在分词形式和过去分词形式。
3.L级建筑块
L级及以上级建筑块遵循与M级建筑块完全类似的分布和构造规则。例如L级名词短语LNP的构造为:“[MNP]+(逗号等)+(MNP,MPP,MAP,MV*P,MC)”。
4.说明与小结
上述分级建筑块语法的特征是采用有向图数据结构清晰地表达了自然语言(本实施例以英语为例)的语法结构,特别是任意级别的递归模式。可以用不同方式来看待它的状态节点。当把建筑块特别是较高级别建筑块看作状态节点时,有利于语法结构特别是递归结构在人眼中的清晰表达,但作为语言的隐马尔可夫模型(LHMM)的拓扑结构中的最终状态(利用HMM理论计算最佳语法结构时的状态)会造成LHMM的统计参数的不准确,事实上整个拓扑结构就已经太粗略以至不准确了。因为语音HMM中的状态意味着语音信号的短时平稳性,将语言与语音类比,则LHMM中的状态对应着语言的语法单位,而其中所包含的观察符号(单词或相当于单词作用的词组)应该具有某种相似性,确切地说,应该都具有与该语法单位相应的语法功能。因此作为LHMM最终状态的应该是词类、词类的子类、具有标志性意义的词汇、S级短语、介于S级短语与词类之间的次短语等。不难看出上述分级建筑块语法中的各级别建筑块归根结底都能做相应的分解(一直分解到最终状态)。比如SNP可以分解为限定词、前置修饰语和名词中心词,当然名词中心词还可以继续分解为可数名词、不可数名词、单数名词、复数名词、物质名词、抽象名词等。
上下文无关文法对递归的表达采用的是基于规则的说明式方法,这种方法不能被直接地转换为基于有向图数据结构的分布式方法,即分级建筑块语法。
步骤S2:建立该语言的隐马尔可夫模型的语法(HMM语法),设计出语言HMM(LHMM)的拓扑结构。
词性语言模型(POS)的拓扑结构是一种有向图数据结构,但是它的状态节点所代表的语言单位以及它们的互连方式,使得它仅仅是各个词类之间的任意连接,这种连接与语法结构无关。而由上述GBBG语法作为LHMM的拓扑结构,尽管它语法结构清晰,状态节点的连接方向基本上都是从左至右,但由于过多的状态节点而不能实用。
HMM语法的特征是在GBBG语法和词性语言模型(POS)之间做了适当的平衡。更具体说,HMM语法就是尽量合并GBBG语法中功能相似的语法单位,合并后的语言单位就是HMM语法(也即LHMM的拓扑结构)的最终状态,同时添加相反的连接方向,从而实现高效率的递归表达。例如在GBBG语法的一层套一层的递归中反复出现的有关语言单位显然是相似的语法单位,如MNP和LNP中都会出现的作为中心词的SNP,甚至作为修饰成分的SNP也可以看作与作为中心词的SNP相似而合并。定义相似的语言单位合并后为HMM语法的最终状态,而这种状态(以下如果没有特别提及,“状态”就指最终状态)前已定义。
HMM语法也是对POS的扩充,使其拓扑结构由原来的各状态节点的任意连接变为有语法意义的连接,从而使其可以表达语法结构。
下面以英语的主动语态及物动词句型为例,说明HMM语法的设计步骤。
1.句子结构的适当分解。
把句子结构分为适当的几个部分,比如4个部分:句首状语、主语、谓语、句尾状语。本例暂将句子结构分为2个部分:句首状语+主语;谓语+句尾状语。这样分解是为了在大的语法单位之间,比如句首状语、主语、谓语、句尾状语之间,建立尽可能单一的连接,以便尽可能获得语法的准确性。
2.第二部分句子结构的设计
这一步旨在给出句子结构第二部分的状态(为了突出HMM语法对递归性的表达,将句子中部通常是副词以及助动词的状语除外)的组成与连接。
这部分的动词是:后接名词短语做宾语的及物动词原形V3及其各种形式V3s,ingV3,edV3,后接现在分词短语做宾语的及物动词原形V31及其各种形式V31s,ingV31,edV31、后接不定式短语做宾语的及物动词原形V32及其各种形式V32s,ingV32,edV32、后接从句做宾语的及物动词原形V33及其各种形式V33s,ingV33,edV33。
充当状态的还有:不定式符号To、做名词后置修饰语的过去分词ed-V3(edV31-edV33逻辑上不适合做名词修饰语);介词Prep、形容词Adj、W-从句引导词W、that-从句引导词That、Which-从句引导词Which、状语从句引导词Ad(它也可引导分词短语作状语)、简单名词短语SNP(SNP有其更为精密的内部结构,但在此为便于整体叙述和表示,暂将其看作状态)以及句子级并列符号状态和结束状态。
显然可以且有必要为各状态所表达的语言单位专门设置并列符状态,这也是HMM语法对语言并列现象的表达方式。
做宾语的名词短语由于递归性,将涉及所有的状态;这也导致了所有与其有关联的语法单位与其它所有状态的连接,递归性还表现在从句的嵌套。
图2给出了第二部分的各个状态以及它们之间的连接方式;
图2中实线框内可以认为是状态,虚线框内的诸状态往往具有某种相同的语法性质,比如线型比较稀疏的4个虚线框是4种及物动词的谓语形式,而动词ing形式的虚线框的语法功能是充当动词非谓语形式,动词原形的虚线框的语法功能是充当动词不定式中的动词原形,包含SNP、Adj、ed-V3的虚线框的语法功能是相当于一个较为复杂的名词短语,最下面的虚线框的语法功能是可以充当该名词短语的进一步的修饰成分。
尽管其它状态(或虚线框)到达这些框内各状态的转移概率不同,但为简明起见,用一根箭头表示某相应状态(或某虚线框内诸状态)与另一框内所有状态的转移关系。同时,由于相似状态的合并,同一个状态可能兼有两个或两个以上的语法功能。例如,状态To引导的不定式既可能是动词宾语,也可能是名词修饰语,还可能是句尾状语。同理,虚线框内各个状态也可以具有不同的语法功能,例如最下面的虚线框内,状态that引导的从句的语法功能可能是宾语从句或同位语从句因而它的后续状态将是第一部分的初始状态如主语或句首状语等。也可能是定语从句,因而当that是逻辑主语,它的后续状态将是本部分的谓语动词;当that是逻辑宾语,它的后续状态将是第一部分的初始状态如主语或句首状语等。
在图2的表示中,到达或离开实线框的箭头表达的是该状态与其他状态或状态群(虚线框)的转移关系;到达或离开虚线线框的箭头表达的是该框代表的状态群与其他状态或状态群(虚线框)的转移关系。在虚线框内的状态完全可能还有与该虚线框不同的转移关系。此外,单一箭头方向表示状态(包括虚线框)之间的单向转移;而双箭头方向表示状态(包括虚线框)之间的双向转移。
3.第一部分句子结构的设计
第二部分和第一部分的结构有很大的相似性。不同之处主要是初始状态不同--第二部分的初始状态主要是谓语动词而第一部分的初始状态主要是表示主语和句首状语的起始状态。具体说,第一部分的初始状态主要是SNP*、Adj*、Prep*、To*、W*、That*、Ad*、ed-V3*和ingV3*、ingV31*、ingV32*、ingV33*(加*号以便与第二部分的相应状态相区别)。第一部分的结束状态与第二部分相似,都是SNP*、Adj*、ed-V3*。另外本例的第二部分把从句中的主语和从句首状语推给了第一部分,那么位于第一部分的从句就必须自己解决类似问题。解决的方案原则上依然是增加相应状态或(和)相应状态之间的连接方式,最简单的方法是添加各从句引导词状态W*、That*、Ad*、Which*向第一部分各初始状态的转移。
本实施例并不一定是一个完备的语法结构的表达,如不定式中可能的逻辑主语就没有出现。但一方面,本例已经明示了HMM语法对语言现象特别是递归和并列的表达手段,另一方面,在下面的步骤S3和S4对LHMM进行训练和计算时,将有能力把所有遗漏的语言现象增补进去。
步骤S3:根据HMM语法对LHMM的拓扑结构和参数进行训练和测试。
请同时参见图3,训练和测试的详细步骤如下。
步骤S31:LHMM模型训练。包括:首先选择用于模型训练的自然语言文本(即训练语料库),然后根据步骤S2中定义的HMM语法,计算出LHMM的参数。计算LHMM参数可以有两种方式。一种是先对训练语料库进行部分的手工语法标注以形成LHMM的初始参数或初始的拓扑结构,然后对训练语料库中剩余部分或全部,根据HMM的参数训练理论计算出LHMM的参数或拓扑结构。另一种是对训练语料库进行完全的手工语法标注(即对训练语料库的全部进行手工标注)以形成LHMM的参数。与此同时也可以人工增删和更改该语言隐马尔可夫模型的参数和拓扑结构。
步骤S32:LHMM模型测试。包括:首先选择用于模型测试的自然语言文本(即测试语料库),然后根据HMM理论计算出待测试文本的语法结构,最后手工标注出待测试文本的语法结构,并与上述计算出的语法结构对比,找出差异。
步骤S33:LHMM误差分析。通过分析上述计算出的语法结构与手工标注出的语法结构的差异,找出LHMM参数所对应的语法结构的局限。如果对误差的结果满意,则结束整个训练和测试过程,否则进入步骤S34。误差基本可以分为两类:第一类是由于LHMM的参数甚至拓扑结构本身没有包括相应的语法现象,第二类是由于LHMM的参数不够精确甚或是统计机制本身不可能100%准确。
步骤S34:LHMM参数调整。根据上述的误差分析以及语法知识,增删(通常是增加)必要的状态、状态内包含的单词和/或有关状态之间的转移。这些新增的状态之间的转移概率和/或状态内包含的单词的出现概率的初始值可以人为地计算或估算。可以在此结束整个训练和测试过程,也可以转到步骤S31或者S32,并更新步骤S31所使用的训练语料库(如果转到步骤S31),也可以更新步骤S32所使用的测试语料库。应理解,步骤S32~S34可反复进行以获得越来越精确的参数。而对于上述的第一类误差通过做相应的扩充去除,第二类误差也可以通过对LHMM参数不断求精而获得减少。
步骤S4:对待分析的句子应用HMM理论计算其语法结构。在步骤S3中得到LHMM参数后,就可以应用HMM理论计算待分析句子的语法结构,例如用Viterbi算法。但即使在这里,未考虑到的语言现象也有可能出现,这些语言现象所对应的结构和参数也可以采用与前述类似的手段加到LHMM中去。
除此之外,本发明还提供了一种利用LHMM对汉语以及类似语言进行分词的方法。请参见图4,下面是对该方法各流程的详细描述。
步骤S41:以图3所示实施例的方法建立该语言的HMM模型,即LHMM模型。
步骤S42:把待分词句子的各种可能的分词序列作为该LHMM模型的输入。
步骤S43:由HMM理论中的有关算法如Viterbi算法得到各分词序列通过该LHMM的概率,选择概率最大的输出所对应的分词序列,同时得到最佳语法结构。
另一方面,本发明还提供了利用LHMM对汉语以及类似语言进行机器翻译的方法。请参见图5,下面是对该方法中各流程的详细描述。
步骤S51:根据人类语言学知识和大规模的源语言和目标语言语料库,对源语言和目标语言进行细致的句型分类并找到它们之间的对应关系,同时找出源语言和目标语言在相应句型中单词的对应关系。本发明所指句型包括以各种与机器翻译有关的分类准则所进行的句子分类。
步骤S52:根据上述的语料库、人类语言学知识以及分词方法,分别进行源语言和目标语言的HMM语法设计、LHMM的训练和测试,以获得满意的模型参数。
步骤S53:用HMM理论中的有关算法如Viterbi算法和上述LHMM参数对待翻译的源语言句子进行计算,得到最满意的语法结构和分词序列。
步骤S54:搜索目标语言的全部句型,找出其与步骤S53中的语法结构相对应的句型。
步骤S55:在相应句型对之间进行相应的单词置换。
步骤S56:如果用户对翻译结果不满意,则修正机制提供给用户以下几种操作:提供若干种候选翻译结果;判断步骤S55中单词置换的正确性;判断步骤S54中句型对的正确性;判断步骤S53中源语言句子的分词序列和语法分析的正确性;判断源语言句子本身的正确性。在相应的修正或完善机制中进行相应的更正。
再一方面,本发明将上述的LHMM技术应用到语音识别领域。请参见图6,下面是对利用LHMM进行语音识别的方法的各步骤的详细描述。
步骤S61:设置参数。具体地,需要设置的参数如下:
La(i’,i)是LHMM的状态转移矩阵(A矩阵)的元素(i,i’=1,2,...I),I是状态总数。Lb(i,j)是LHMM的观察符号概率矩阵(B矩阵)的元素(i=1,2,...I,j=1,2,...v(i)),v(i)是第i状态的单词个数。Pa(k,m’,m)是第k个词声学模型HMM的A矩阵的元素(m,m’=1,2,...Mk,k=1,2,...W),W是词汇表尺寸,Mk是第k个词声学模型HMM的全体状态数。Pb(k,m,Ot)是第k个词声学模型HMM的B矩阵的元素(m=1,2,...Mk),Ot是在时刻t(t=1,2,...T)的声学观察矢量,T是待识别的一个句子的总帧数。
k与i,j之间的关系是:在LHMM中,第i状态的第j个词与词汇表中的第k个词相对应,因此下面的k将写为k(i,j)。
设上述LHMM和各个词声学HMM的A、B矩阵均已由HMM训练算法得到。
Rt(i,j,m)表示一条在时刻t的最佳路径的概率。这条路径是关于前面的t帧声学观察,它们结束于语言模型第i状态的第j个词和第k个词声学模型的第m个状态。Pt(i,j,m)和Qt(i,j,m)是Rt(i,j,m)的候选者。
下面主要是采用Viterbi算法计算一个输入句子的最佳语法状态序列(内含最佳声学状态序列)的过程。
步骤S62:初始化。R1(i,j,1)=La(0,i)·Lb(i,j)·π[k(i,j),m]·Pb[k(i,j),m,O1],其中i=1,2,...I;j=1,2,...v[i];
本实施例假设所有初始的声学HMM状态都是1,结束状态是Mk(i,j)。
步骤S63:迭代。首先是关于一个词内的声学状态转移。 其中i=1,2,...I;j=1,2,...v[i];m,m’=1,2,...Mk(i,j);t=2,3,...T。
对于这种情况,先前t-1时刻语言HMM的状态i’和这个状态内的单词j’将等于在当前时刻t的i和j。
其次是关于词间的声学状态转移。 其中i,i’=1,2,...I;j,j’=1,2,...v[i];t=2,3,...T。
对于这种情况,从t-1时刻到t时刻,语言HMM的状态和这一状态的单词从i’和j’到i和j,声学HMM的状态将从有关的结束状态Mk(i’,j’)变到一个初始状态。
本实施例假设所有初始的声学HMM状态都是1,结束状态是Mk(i,j)。在时刻t所获得的不仅是最佳声学状态序列,还有最佳语法状态序列。因此,只要足够精细和准确地设计语言模型HMM的状态和A,B矩阵,就能得到一个在Viterbi算法意义上的最佳单词输出序列,同时还得到了这个单词序列内的语法关系。所有这些都是因为本实施例中的语言模型是一个表达语法结构的HMM系统,它能被完全地和准确地放入一个真正的具有语言层和语音层两个层次的大HMM框架。
然后,判决转移发生的性质。当m≠1是发生词内声学状态转移,Rt(i,j,m)=Pt(i,j,m)。当m=1时可能发生词内声学状态转移也可能发生词间转移,Rt(i,j,1)=max{Pt(i,j,1),Qt(i,j,1)},若Pt(i,j,1)<Qt(i,j,1)则发生词间转移,否则发生词内声学状态转移。
设t时刻观察符号处于LHMM的状态i、属于该状态的第j个单词。用Ψt(i,j)装载t-1时刻的最佳LHMM的状态i*(t-1),用Φt(i,j)装载t-1时刻该状态下的最佳单词j*(t-1):
步骤S64:终结。最佳LHMM和声学HMM状态路径的概率 设i*(T)是最后时刻T的最佳LHMM的状态号,j*(T)是该状态下的最佳单词,则:
步骤S65:回溯。根据Ψt(i,j)和Φt(i,j)进行回溯以决定时刻t(t<T)的最佳LHMM的状态i*(t)与该状态下的最佳单词j*(t):
i*(t)=Ψt+1(i*(t+1),j*(t+1))
j*(t)=Φt+1(i*(t+1),j*(t+1))
最后该Viterbi算法完全适合于任何次词单位作为声学HMM的识别单位。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (10)
1.一种采用隐马尔可夫模型计算语言结构的方法,包括:
(1)建立该语言的分级建筑块语法;
(2)建立该语言的隐马尔可夫模型的语法,设计该语言隐马尔可夫模型的拓扑结构;
(3)对训练语料库进行人工标注以形成该语言隐马尔可夫模型的参数值或拓扑结构,同时可人工增删和/或更改该语言隐马尔可夫模型的参数和拓扑结构;
(4)利用隐马尔可夫模型理论对测试语料库测试该语言隐马尔可夫模型的参数和拓扑结构的准确性,分析测试结果,并根据该结果对上述参数和拓扑结构进行或人工或自动的调整;
(5)利用隐马尔可夫模型理论计算待分析句子的语法结构,同时采用与(4)类似的机制,继续完善该语言隐马尔可夫模型的拓扑结构和参数。
2.根据权利要求1所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,该分级建筑块语法采用有向图数据结构,将各有关语言单位在平面或直线上进行有机排列和相互连接以表示语言结构,特别是采用分级手段表达其递归结构。
3.根据权利要求1或2所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,该隐马尔可夫模型语法在该分级建筑块语法和一个词性语言模型之间作了适当的平衡,即:
合并该分级建筑块语法中功能相似的语言单位,合并后的语言单位就是隐马尔可夫模型语法的最终状态;
同时添加相反的连接方向,实现递归表达。
4.根据权利要求3所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,该隐马尔可夫模型语法用到的任何语言单位,都占有一个和一个以上的状态。
5.根据权利要求1所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,步骤(3)是对该训练语料库的全部进行人工标注以形成该语言隐马尔可夫模型的参数值或拓扑结构。
6.根据权利要求1所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,步骤(3)是对该训练语料库的一部分进行人工标注以形成该语言隐马尔可夫模型的参数初始值或初始拓扑结构,再利用隐马尔可夫模型理论对剩余的或全部的训练语料计算该语言隐马尔可夫模型的参数值或拓扑结构。
7.根据权利要求1所述的采用隐马尔可夫模型计算语言结构的方法,其特征在于,所述步骤(3)、(4)和(5)可反复进行以获得越来越精确的参数。
8.一种采用隐马尔可夫模型进行语言分词的方法,包括:
以权利要求1的方法建立该语言的隐马尔可夫模型;
将待分词的句子进行各种可能的分词后的序列作为该语言隐马尔可夫模型的输入;
选择概率最大的输出所对应的分词序列,同时得到最佳语法结构。
9.一种采用隐马尔可夫模型进行机器翻译的方法,将源语言翻译成目标语言,所述方法包括:
(1)对源语言和目标语言进行细致的句型分类并找到它们之间的对应关系;
(2)以权利要求1的方法建立源语言和目标语言的隐马尔可夫模型,并获得模型参数;
(3)用Viterbi算法和步骤(2)的模型参数对待翻译的源语言句子进行计算,得到其语法结构及分词序列;
(4)搜索目标语言的全部句型,找出其与步骤(3)的语法结构相对应的句型;
(5)在相应句型对之间进行相应的单词置换。
10.一种采用隐马尔可夫模型进行语音识别的方法,包括:
(1)以权利要求1的方法建立语言的隐马尔可夫模型;
(2)把声学隐马尔可夫模型和语言隐马尔可夫模型合在一起作为一个整体的隐马尔可夫模型;
(3)用Viterbi算法计算该整体的隐马尔可夫模型的最佳状态序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101195318A CN101201818A (zh) | 2006-12-13 | 2006-12-13 | 用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101195318A CN101201818A (zh) | 2006-12-13 | 2006-12-13 | 用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101201818A true CN101201818A (zh) | 2008-06-18 |
Family
ID=39516987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101195318A Pending CN101201818A (zh) | 2006-12-13 | 2006-12-13 | 用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101201818A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169591A (zh) * | 2011-05-20 | 2011-08-31 | 中国科学院计算技术研究所 | 一种制图中文本注记分行方法以及绘制方法 |
CN102713897A (zh) * | 2009-12-31 | 2012-10-03 | 程光远 | 机器翻译方法和系统 |
CN103020034A (zh) * | 2011-09-26 | 2013-04-03 | 北京大学 | 中文分词方法和装置 |
WO2013088287A1 (en) * | 2011-12-12 | 2013-06-20 | International Business Machines Corporation | Generation of natural language processing model for information domain |
CN105144149A (zh) * | 2013-05-29 | 2015-12-09 | 国立研究开发法人情报通信研究机构 | 翻译词序信息输出装置、翻译词序信息输出方法及存储介质 |
CN105373529A (zh) * | 2015-10-28 | 2016-03-02 | 甘肃智呈网络科技有限公司 | 一种基于隐马尔科夫模型的智能分词方法 |
CN105700389A (zh) * | 2014-11-27 | 2016-06-22 | 青岛海尔智能技术研发有限公司 | 一种智能家庭自然语言控制方法 |
CN106569997A (zh) * | 2016-10-19 | 2017-04-19 | 中国科学院信息工程研究所 | 一种基于隐式马尔科夫模型的科技类复合短语识别方法 |
CN106777250A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 一种分词结果选择方法和装置 |
CN103902521B (zh) * | 2012-12-24 | 2017-07-11 | 高德软件有限公司 | 一种中文语句识别方法和装置 |
CN107103902A (zh) * | 2017-06-14 | 2017-08-29 | 上海适享文化传播有限公司 | 完整语音内容递归识别方法 |
CN107291690A (zh) * | 2017-05-26 | 2017-10-24 | 北京搜狗科技发展有限公司 | 标点添加方法和装置、用于标点添加的装置 |
CN108304362A (zh) * | 2017-01-12 | 2018-07-20 | 科大讯飞股份有限公司 | 一种从句检测方法及装置 |
CN109933778A (zh) * | 2017-12-18 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 分词方法、装置以及计算机可读存储介质 |
WO2020062640A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 终端应用动态文案的语言切换方法、服务器及存储介质 |
CN111488441A (zh) * | 2020-04-08 | 2020-08-04 | 北京百度网讯科技有限公司 | 问题解析方法、装置、知识图谱问答系统和电子设备 |
CN113205084A (zh) * | 2021-07-05 | 2021-08-03 | 北京一起教育科技有限责任公司 | 一种英语听写批改方法、装置和电子设备 |
-
2006
- 2006-12-13 CN CNA2006101195318A patent/CN101201818A/zh active Pending
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102713897A (zh) * | 2009-12-31 | 2012-10-03 | 程光远 | 机器翻译方法和系统 |
CN102169591B (zh) * | 2011-05-20 | 2013-10-16 | 中国科学院计算技术研究所 | 一种制图中文本注记分行方法以及绘制方法 |
CN102169591A (zh) * | 2011-05-20 | 2011-08-31 | 中国科学院计算技术研究所 | 一种制图中文本注记分行方法以及绘制方法 |
CN103020034A (zh) * | 2011-09-26 | 2013-04-03 | 北京大学 | 中文分词方法和装置 |
WO2013088287A1 (en) * | 2011-12-12 | 2013-06-20 | International Business Machines Corporation | Generation of natural language processing model for information domain |
US9740685B2 (en) | 2011-12-12 | 2017-08-22 | International Business Machines Corporation | Generation of natural language processing model for an information domain |
CN103902521B (zh) * | 2012-12-24 | 2017-07-11 | 高德软件有限公司 | 一种中文语句识别方法和装置 |
CN105144149A (zh) * | 2013-05-29 | 2015-12-09 | 国立研究开发法人情报通信研究机构 | 翻译词序信息输出装置、翻译词序信息输出方法及存储介质 |
CN105144149B (zh) * | 2013-05-29 | 2017-10-27 | 国立研究开发法人情报通信研究机构 | 翻译词序信息输出装置、翻译词序信息输出方法及存储介质 |
CN105700389A (zh) * | 2014-11-27 | 2016-06-22 | 青岛海尔智能技术研发有限公司 | 一种智能家庭自然语言控制方法 |
CN105373529A (zh) * | 2015-10-28 | 2016-03-02 | 甘肃智呈网络科技有限公司 | 一种基于隐马尔科夫模型的智能分词方法 |
CN105373529B (zh) * | 2015-10-28 | 2018-04-20 | 甘肃智呈网络科技有限公司 | 一种基于隐马尔科夫模型的智能分词方法 |
CN106569997B (zh) * | 2016-10-19 | 2019-12-10 | 中国科学院信息工程研究所 | 一种基于隐式马尔科夫模型的科技类复合短语识别方法 |
CN106569997A (zh) * | 2016-10-19 | 2017-04-19 | 中国科学院信息工程研究所 | 一种基于隐式马尔科夫模型的科技类复合短语识别方法 |
CN106777250B (zh) * | 2016-12-27 | 2020-06-02 | 广州市交互式信息网络有限公司 | 一种分词结果选择方法和装置 |
CN106777250A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 一种分词结果选择方法和装置 |
CN108304362B (zh) * | 2017-01-12 | 2021-07-06 | 科大讯飞股份有限公司 | 一种从句检测方法及装置 |
CN108304362A (zh) * | 2017-01-12 | 2018-07-20 | 科大讯飞股份有限公司 | 一种从句检测方法及装置 |
CN107291690B (zh) * | 2017-05-26 | 2020-10-27 | 北京搜狗科技发展有限公司 | 标点添加方法和装置、用于标点添加的装置 |
CN107291690A (zh) * | 2017-05-26 | 2017-10-24 | 北京搜狗科技发展有限公司 | 标点添加方法和装置、用于标点添加的装置 |
CN107103902B (zh) * | 2017-06-14 | 2020-02-04 | 上海适享文化传播有限公司 | 完整语音内容递归识别方法 |
CN107103902A (zh) * | 2017-06-14 | 2017-08-29 | 上海适享文化传播有限公司 | 完整语音内容递归识别方法 |
CN109933778A (zh) * | 2017-12-18 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 分词方法、装置以及计算机可读存储介质 |
CN109933778B (zh) * | 2017-12-18 | 2024-03-05 | 北京京东尚科信息技术有限公司 | 分词方法、装置以及计算机可读存储介质 |
WO2020062640A1 (zh) * | 2018-09-26 | 2020-04-02 | 深圳壹账通智能科技有限公司 | 终端应用动态文案的语言切换方法、服务器及存储介质 |
CN111488441A (zh) * | 2020-04-08 | 2020-08-04 | 北京百度网讯科技有限公司 | 问题解析方法、装置、知识图谱问答系统和电子设备 |
CN113205084A (zh) * | 2021-07-05 | 2021-08-03 | 北京一起教育科技有限责任公司 | 一种英语听写批改方法、装置和电子设备 |
CN113205084B (zh) * | 2021-07-05 | 2021-10-08 | 北京一起教育科技有限责任公司 | 一种英语听写批改方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201818A (zh) | 用hmm计算语言结构、进行分词、机器翻译和语音识别的方法 | |
CN109213995B (zh) | 一种基于双语词嵌入的跨语言文本相似度评估技术 | |
Dahlmeier et al. | A beam-search decoder for grammatical error correction | |
CN102708098B (zh) | 一种基于依存连贯性约束的双语词语自动对齐方法 | |
CN113657123A (zh) | 基于目标模板指导和关系头编码的蒙语方面级情感分析方法 | |
González-Gallardo et al. | Sentence boundary detection for French with subword-level information vectors and convolutional neural networks | |
Abjalova | Methods for determining homonyms in homonymy and linguistic systems | |
Stahlberg et al. | Word segmentation and pronunciation extraction from phoneme sequences through cross-lingual word-to-phoneme alignment | |
Zhou | Statistical machine translation for speech: A perspective on structures, learning, and decoding | |
Martínez-Hinarejos et al. | Unsegmented dialogue act annotation and decoding with n-gram transducers | |
Ramesh et al. | Interpretable natural language segmentation based on link grammar | |
White et al. | Modelling sentence generation from sum of word embedding vectors as a mixed integer programming problem | |
JP6558856B2 (ja) | 形態素解析装置、モデル学習装置、及びプログラム | |
Naghshnejad et al. | Recent Trends in the Use of Deep Learning Models for Grammar Error Handling | |
Muaidi | Levenberg-Marquardt learning neural network for part-of-speech tagging of Arabic sentences | |
Seifossadat et al. | Stochastic Data-to-Text Generation Using Syntactic Dependency Information | |
Kornai | Frequency in morphology | |
Bahadur et al. | Machine translation—A journey | |
Tolegen et al. | Voted-perceptron approach for Kazakh morphological disambiguation | |
Galinsky et al. | Improving neural models for natural language processing in Russian with synonyms | |
ud Din | Urdu-English machine transliteration using neural networks | |
Korobkin et al. | Extraction of structural elements of inventions from Russian-language patents | |
Dellert | Exploring Probabilistic Soft Logic as a framework for integrating top-down and bottom-up processing of language in a task context | |
Roark | Robust probabilistic predictive syntactic processing | |
Navali et al. | Sentence Generation Using Selective Text Prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080618 |