用于语法产生的语义标记到短语的分配的制作方法

文档序号:6499472阅读:149来源:国知局

专利名称::用于语法产生的语义标记到短语的分配的制作方法
技术领域
:本发明涉及会话应用的语言自动理解领域。如今自动会话系统和基于机器查询系统的电话广泛地推广用于提供信息,例如作为火车或航班的时间表或接收来自用户的查询,例如作为银行事务处理或旅行预订。自动会话系统的重要任务包括提取来自用户输入用于会话系统的必要信息,其一般地通过语音来提供。从语音中提取信息可以分成两个步骤一方面为语音识别而另一方面为将s所识别的语音映射到语义含义。语音识别步骤提供语音转换,即把从用户接受的语音信息转换成机器能处理的形式。然后,最重要的是把所识别的语音通过自动会话系统以正确的方式解释。因此,识别的语音到语义的分配或映射必须通过自动会话系统执行。例如对于火车时间表会话系统查询“我需要从汉堡到慕尼黑的连接”,那么两座城市“汉堡”和“慕尼黑”必须正确地识别为火车旅行的起点和终点。必须提取上述句子“从汉堡”或“到慕尼黑”的基本片段并且达到自动会话系统理解的程度,即短语“从汉堡”映射到起点语义标记而短语“到慕尼黑”映射到终点语义标记。当所有语义标记(象起点、终点、时间、日期或其它旅行说明)映射到用户查询的短语时,会话系统可以执行所需要的操作。从识别的短语到语义标记映射的分配,一般通过某些语法规则提供。语法包括定义语义标记到短语映射的规则。这种基于规则的语法已经成为自然语言理解领域最多研究的主题并且经常结合现行的会话系统。自动会话系统的实例以及自动会话系统的概述在“H.Aust、M.Oerder、F.Seide、V.Steinbiss;thePhilipsAutomaticTrainTimetableInformationSystem,SpeechCommunication17(1995)249-262”的论文中给出。由于自动会话系统一般为不同的目的而设计,例如作为时间表信息或查询处理系统,基本的语法为那些不同的用途分别单独设计。现有技术公知的大部分语法是人工写入的,在这种意义上来说组成语法的规则覆盖了一大组短语和在会话中出现的短语的各种组合。为了执行短语和语义标记之间的映射,短语或短语的组合必须匹配至少一个人工写入的语法规则。由于必须通过个别的规则明确地考虑每个短语所可能的组合或会话的变化,所以这种手写语法的产生是极端费时的并且浪费处理资源。此外人工创建的语法总是受支配于维护,这是因为基本的规则组可以不必覆盖一般在自动会话系统操作期间产生的所有类型的会话和所有类型的短语。通常,用于自动会话系统的语法是与应用有关的,这是指总是为不同类型的自动会话系统设计不同的语法。因此,对于每一种类型的自动会话系统来说都必须人工地构造特定的语法。很明显这种产生多种不同的语法占了相当的成本比例,应当予以降低。为了减少用于产生、维护和修改语法相当昂贵数量的人力,最近已经引入很多用于自动生成语法或自动学习语法的方法。语法的自动设计一般基于周刊注释的训练句子的全集。这种训练全集例如可以是通过登记现有应用的会话来衍生。然而,自动学习进一步的需要一组注释,其表示训练全集的哪一个短语分配给哪一个公知的标记。一般地,这些注释必须人工地执行,但它通常比产生整个语法费时要少。论文“KMacherey、F.J.Och和H.Ney;2001年9月在第7届语音通信和技术欧洲会议上出现的NaturalLanguageUnderstandingusingStatisticalMachineTranslation,Aalborg,Denmark”描述了自动学习语法,所述论文还可以从URL“http//wasserstoff.informatik.rwthaachen.de/Colleagues/och/eurospeech2001.ps”中获得。实际上该文献公开了自然语言理解的方法,其起源于统计机制转换领域。自然语言理解的问题被称作从源句到形式语言目标句子的转换。因此这种方法旨在减少语法的利用,便于词和它们的意义之间的自动相关性学习。为了这个目的,所述方法用来处理转换问题而不是处理语法的自动生成。与此相反,美国专利申请US2003/0061024A1明确地贯注于语法的学习。这种方法基于确定终结的序列或终结和在训练集合句子中语法的非终结符号有关的通配符的序列。在确定终结或终结和通配符的序列以后它们通过分类方法分配给非终结符号或终结符号。这种分类依次使用基于交换算法的交换方法。这种交换算法保证了既定功能的有效最佳化,其考虑了所有不正确的分类并且反复最佳化了终结或终结和通配符序列的分类。从而由于既定功能仅仅使用了关于哪一个终结符号或终结符号和通配符的序列以及哪一个非终结符号存在于训练句子中的信息,训练句子中的非终结符号的顺序无须人工注释。此外,这种交换方法保证了既定功能的有效(局部)最佳化,这是由于只有少数操作是执行交换时计算既定功能中的变化所必需的。本发明旨在提供用于将语义标记映射到短语的另一种方法,从而提供产生用于自动会话系统的语法。本发明提供来自周刊注释全集的句子中自动学习语义有用的字词短语。从而评估字词短语和语义概念或语义标记之间随机的相关性。随机的相关性描述了给定短语映射或分配给不同语义标记的可能性。关于这一点短语用作句子片段、词的序列或在最小情况下单个字的通称。短语和标记之间随机的相关性进一步的表示为映射概率并且它的确定基于训练全集的句子。首先,这种方法没有关于训练全集标记和短语之间注释的信息。为了执行映射概率的计算,短语和语义标记之间弱的注释必须以某种方式提供。这种弱的注释例如可以通过向短语分配一组候选语义标记来实现。替代地可以使用IEL(包含/排除列表)。IEL表示那些可以映射或不可映射短语的包括或排除各种语义标记的列表。根据本发明的一个优选实施例,为每一个训练全集的短语确定短语和对应的候选语义标记组之间全体组的映射概率。用这种方法为每一个短语和全部候选语义标记组所可能的组合计算给定短语分配给语义标记的概率,其产生自动学习或产生语法。根据本发明进一步的优选实施例,根据该组映射概率的最高映射概率将语义标记映射到训练全集的短语。这指的是标记到训练全集的短语的映射或分配是通过用于给定短语该组映射概率的最高概率来确定。用于将语义标记映射到短语的方法因此明确的使用映射概率的确定。这种映射概率例如可以由训练全集的短语和语义标记之间给定弱的注释确定。通常,产生这种映射概率存在若干随机意义。根据本发明进一步的优选实施例,统计过程从而计算映射概率通过预期数值极限化(EM算法)执行。EM算法对于HiddenMarkovModels(HMM)的前后(forwardbackward)训练来说是公知的。用于计算映射概率EM算法的特定实施例在数学附录中给出。根据本发明进一步的优选实施例,语法可以从候选语义标记和短语之间执行的映射中导出。优选的计算和执行的映射通过某种存储装置存储以便将计算工作量保持在一个低水平上。最后,导出的语法可以适用于新的、未知的句子。当EM算法重复应用时本发明方法的总性能可以增强。在这种情况下EM算法反复操作的结果用作下一个反复操作的输入。例如短语映射到标记的估计概率通过某种存储装置存储并且能因此在EM算法的下一个应用中重新使用。同样,以短语和标记之间弱注释的形式或IEL的形式的初始条件可以根据按照EM算法预先执行的映射过程来修改。为了测试用于语法学习基于EM算法的效率和可靠性,基于EM算法通过使用所谓的BostonRestaurantGuide全集实施。根据这种实施例的实验说明了基于EM方法会产生比基于美国专利号2003/0061024A1中示出的交换算法的方法更好的结果,尤其当使用巨大的训练全集的时候。此外,它还说明了基于EM方法的重复应用会持续改善所产生的语法。标记差错率,其定义为错误映射标记和标记的总额之间的比率,显示了当其描述为反复操作数目的函数时的单调递减。在两个乃至一个反复操作以后就已经达到了标记差错率的主要改进。在下文中,通过参考附图将在更加细节上描述本发明的优选实施例,其中附图1说明了通过基于EM算法用于映射短语和标记的流程图。附图2显示了示出用于EM算法子程序的表格L的动态编程设计的流程图,附图3说明了描述实施EM算法的流程图。附图1显示了基于EM算法用于映射语义标记和短语的流程图。在第一个步骤100中短语w从训练全集句子中提取。在下一个步骤102中为每一个属于无序标记列表K中的k(计算)映射概率p(k,w)。一旦为短语w计算一组映射概率,在下一个步骤104中确定该组映射概率p(k,w)中最高的概率。下一步106执行短语w和语义标记k之间的映射。根据在步骤104确定的该组映射概率中最高的概率p(k,w)短语w映射到单个的标记k。用这种方法通过使用基于训练全集的概率估算执行语义标记k和短语w之间的映射。概率估算确定在训练全集内语义标记k映射到短语w的可能性。当在步骤106执行映射后在步骤108它通过某种存储装置存储,以便提供该算法下一步应用执行的映射。用这种方法,可以重复执行以降低标记差错率,并且因此增强全体语法学习过程的可靠性和效率。在步骤102执行的映射概率的计算是基于EM算法的,其通过参考附图2和附图3以数学附录的形式明确地加以解释。根据EM算法的映射概率的计算基于两个附加的概率,分别表示为L(i,k’)和R(i,k’),表示对于所有左边子句子长度为i-1无序标记子表k′和从位置i+1训练全集句子右边子句子的无序补码标记子表置换的概率。附图2说明了计算概率L(i,k′)的流程图。在第一个步骤200,在下一步202将标记子表i的索引初始化为i=1之前将i=0的初始概率设置为1(unity)。在下一个步骤204,每个长度为i的子表选自无序标记子表k′。在选择每个子表以后在步骤206继续计算过程,其中将置换的概率L(i,k′)=0设置为零。然后,在步骤208选择属于无序子表中的每一个标记k,以及接下来提供步骤210,其中置换概率是根据下式计算的L(i,k’)=L(i,k’)+L(i-1,k’\{k})··p(k|wi)计算L(i,k’)以后,在步骤212索引i和短语W中字的数目进行比较。如果i小于或等于|W|,那么通过将i增加1该过程返回到步骤204。否则,当i大于|W|,用于计算置换概率的过程在步骤214结束。一旦置换概率已经根据附图2描述的过程计算出来,那么就执行一种模拟计算以便获得右边子句子的补码子表的置换概率R。最后附图3示出通过使用上述置换概率用于计算映射概率的EM算法的实施例。在步骤302选择一个训练全集句子之前,在第一个步骤300中通过设置q~=0]]>以及设置q~(k,w‾)=0]]>初始化对于所有标记k和短语w的概率p(k|w)。由于为语法学习考虑了训练全集的每个句子,以下步骤304必须应用于训练全集的所有句子。在步骤302选择训练全集的句子以后,在步骤304它得到进一步的处理,其中依次执行步骤306、308、310和312。在步骤306,选择无序标记列表k’以及有序短语列表W。在下一步308,如附图2所述执行表格L的动态编程设计。然后,在步骤310利用反向表格R执行一个相似的过程。计算后的表格L和R以及初始化概率在步骤312作进一步的处理。步骤312可以解释为i=1,i≤W的嵌套循环。对于每一个i,执行步骤314初始化对于长度为i-1的每一无序子表的另一个循环。对于每个无序子表执行步骤316选择每个标记kk’并且在步骤318执行以下计算q~′=L(i-1,k′)··q(k|Wi‾)··R(i+1,(k\k′)\{K}),]]>其中在步骤320作进一步的处理q~(k,Wi‾)=q~(k,Wi~)+q~′]]>以及q~=q~+q~′.]]>当在步骤316为每个标记kk’执行了步骤318和320、在步骤314为每一个长度为i-1的无序子表执行步骤316、在步骤312为每一个索引i<W执行步骤314以及当最后为训练全集的每一个句子执行步骤312给出的全部过程后,在步骤322根据以下确定映射概率p~(k,W‾)=q~(k,W‾)/q~∀k,w]]>一旦确定映射概率,优选地,它通过某种存储装置存储。为了语法学习以及为了将标记映射到给定的短语,计算并存储短语和候选语义标记所有可能组合的概率。最后,根据给定短语所有计算的概率的最大概率执行语义标记到给定短语的映射。根据大量执行的映射,语法最后被推导出来并且可以应用到来自自动化对话系统结构的其它的和由此未知的句子。尤其当EM算法重复地应用于训练全集句子时,语法学习过程的总体效率得以增加而标记差错率得以减小。数学附录根据本发明的优选实施例,给定短语W映射到语义标记k的映射概率通过预期数值极限化(EM)算法计算。EM算法的实施例和修改在本节描述。这里,遵循类似于HMMs的前后训练的方法。基于EM语法学习的通用等式由以下给出p~(k,w‾)=ΣKp(K|W)·NK(k,w‾)ΣKp(K|W)ΣW‾′NK(k′,w‾′),---(1)]]>其中W是短语的序列,K是标记序列,w是短语,k是语义标记,NK(k,w)是k和w对于给定W和K产生的具体值,而P(K|W)给出了短语W的序列映射到标记顺序K的概率。这种方法假定标记s的数目等于短语的数目。该方程式(1)的分子ΣKp(K|W)·NK(k,w‾)]]>K是对于每一个标记顺序K将概率P(K|W)增加在这种标记顺序中标记k映射到短语w的次数。这可以重写如下ΣKp(K|W)·NK(k,w‾)=ΣKΣip(K|W)·δ(ki,k)·δ(wi‾,w‾)]]>其中δ(x,y)是常见的δ函数而p(k=k|W)是在短语字符串W的位置i处的短语w映射到标记k的总概率。同样,对于等式(1)的分母以下的保持式ΣKp(K|W)·Σk′,w‾′NK(k′,w‾′)=Σk′,w‾′ΣKp(K|W)·NK(k′,w‾′)]]>=Σj,k′p(kj=k′|W),]]>产生判断公式p~(k,w‾)=Σi:w‾i=w‾p(ki=k|W)Σi,k′p(ki=k′|W),]]>对于整个全集的评估,分子和分母必须是单独地计算并且是为每一个全集句子进行叠加。等式(1)的核心概率p(ki=k|W)计算对于位置i的短语具有标记k的所有标记顺序的概率。位置i的前后,所有剩余标记的置换是可能的。如果k是无序标记列表而π(k)是通过k该组所有可能的置换那么p(ki=k|W)=ΣK∉π(k):Ki=kp(K|W)]]>=ΣK∉π(k):ki=k(Πj=1i-1p(kj|w‾j))p(k|w‾i)·(Πj=i+1sp(kj|w‾j))]]>L(i-1,k′)是左边子句子长度为i-1直到位置i-1上的无序标记子表k′的所有置换的概率,而R(i+1,(k\k′)\{k})是从位置i+1右边子句子长度为s-i无序反码标记子表(k\k′)\{k)的所有置换的概率。这些值可以递归的计算L(i,k′)=ΣK∉π(k′)Πj=1ip(kj|w‾j)]]>=Σk∈k′ΣK∈π(k′):ki=kΠj=1ip(kj|w‾j)]]>=Σk∈k′p(k|wi‾)ΣK∈π(k′\(k))Πj=1i-1p(kj|w‾j)]]>=Σk∉k′p(k|w‾i)·L(i-1,k′\{k}).---(3)]]>类似的,R(i,k′)=Σk∈k′p(k|w‾i)·R(i+1,k′\{k}).---(4)]]>存储和再使用值等式L(i,k′)和R(i,k′)的值减少了计算成本。对于给定i,存在无序标记列表k′和因此Σi=1|k|-1|k|i·i]]>操作执行完全计算表格L(同样适用于表格R)。然而,还没有发现对此的周密的形式或者优良的评估,因此不清楚的是这种计算在它具有多项式计算时间的意义上是否不是有效的。EM算法的实施例是上述表达式的直接结果。该实施例更进一步的通过附图2和3描述用于一个反复操作。关于该实施例有几个地方需要注意由于技术原因,无序标记列表k的每个成分得到从1到|k|范围的唯一索引。长度为i的无序子表k′表示为i维向量,其标量成分是来自参与k′的k成分的索引。该向量是12...i-1i→12...i-1i+1→···→12...i-1|k|→12...ii+1→···→|k|-i+1|k|-i+2...|k|-1|k|]]>连续递增地获得所有长度为i的无序列表。对于长度i的某些无序子表k′的访问L(i,k′)是通过计算具有来自矢量表示k′的L(i,K’)=L(α)的索引α来实现的α=Σj=1i2αj-1]]>其中αj是矢量表示k′的第j个成分。到或从k′的标记的添加或清除反映在标记的索引中。用于访问R(i,(k\k′)\{k))=R(β)所需要的标记的反码无序列表的索引β容易地通过以下计算β=2|κ|-1-α-2n-1对于快速计算,存在第j项包括值2j的表格。列表R的动态编程计算是通过调用子程序执行的,所述子程序使用动态编程来计算具有短语顺序是反向的短语w列表的列表L,即w‾i′=w‾s-i+1]]>具有标记和短语数目不同的句子被丢弃。初始概率p(k,w)从一个文件中读入并且p(w)计算p(k|w)以备用。该文件仅仅列出在一个ASCII行中k,w和评价的概率以相同的格式被写入并且因此作为下一个反复操作的输入。附图2示出了一个流程图,用于重复计算对于左边子句子长度为i直到位置i的所有无序标记子表k′的置换的概率L(i,k′)。首先,在步骤202将索引设为i=1之前,在步骤200概率L(0,{})设置为1。在步骤204,循环开始并且选择每一个长度为i的无序子表k′。在下一个步骤206,在下一步208选择无序子表成分的每个标记k之前,为每一个选择的无序子表的概率L(i,k′)设置为零即L(i,k′)=0。最后在步骤210,按照以下计算概率L(i,k′)L(i,k’)=L(i,k’)+L(i-1,k’\{k})·p(k|wi)在步骤212检查索引i是否小于或者等于短语中的词的数目。在步骤212如果i<|W|,那么i增加1,并且过程返回到步骤204。相反当i>|W|,那么过程在步骤214结束。相应地执行计算对于从位置i+1右边子句子无序补码标记子表的所有置换的概率。附图3说明根据EM算法计算映射概率的流程图。在步骤302选择一个训练全集句子之前,在步骤300中通过设置q~=0]]>以及设置q~(k,W‾)=0]]>初始化对于所有标记k和短语w的概率p(k|w)。由于为语法学习考虑训练全集的每个句子,以下步骤304必须应用于训练全集的所有句子。在步骤302选择训练全集的句子以后,在步骤304它得到进一步的处理,其中依次实施步骤306、308、308、310和312。在步骤306,选择无序标记列表k以及有序短语列表w。在下一步308,如附图2所述执行表格L的动态编程设计。然后,在步骤310利用反向表格R执行一个相似的过程。计算的表格L和R以及初始化的概率在步骤312更进一步的处理。步骤312可以解释为i=1,i≤|W|的嵌套循环。对于每一个i,执行步骤314初始化对于长度为i-1的每一无序子表的另一个循环。对于每个无序子表执行步骤316选择每个标记kk′并且在步骤318执行以下计算q~′=L(i-1,k′)··q(k|Wi‾)··R(i+1,(k\k′)\{K}),]]>其中q′在步骤320按照下式作进一步的处理□q~(k,Wi‾)=q~(k,Wi‾)+q~′]]>以及q~=q~+q~′]]>当在步骤316为每个标记kk’执行了步骤318和320、在步骤314为每一个长度为i-1的无序子表执行步骤316、在步骤312为每一个索引i≤|W|执行步骤314以及当最后为训练全集的每一个句子执行步骤312给出的全部过程后,在步骤322根据以下确定映射概率p~(k,W‾)=q~(k,W‾)/q~∀k,w]]>权利要求1.一种将一组候选语义标记的语义标记分配给短语的映射概率的计算方法,其中映射概率的计算是通过根据一组组成全集句子的短语的统计过程执行的,每一短语分配一组候选语义标记。2.根据权利要求1的方法,对于每一个短语进一步包括计算一组映射概率,提供为该组候选语义标记的每一个语义标记分配给短语的概率。3.根据权利要求2的方法,进一步包括确定具有该组映射概率中最高映射概率的该组候选语义标记中的一个语义标记,并且将这一个语义标记映射到短语。4.根据权利要求1到3任何一个的方法,其中统计过程包括预期数值极限化算法。5.根据权利要求3或4的方法,进一步包括以映射表的形式存储候选语义标记和短语之间执行的映射,以便导出适用于未知句子或未知短语的语法。6.一种计算一组候选语义标记的语义标记分配给短语的映射概率的计算机程序产品,其中映射概率的计算是通过根据一组组成全集句子的短语的统计过程执行的,每一短语分配一组候选语义标记。7.根据权利要求6的计算机程序产品,对于每一个短语进一步包括程序装置,用于计算一组映射概率,提供为该组候选语义标记的每一个语义标记分配给短语的概率。8.根据权利要求7的计算机程序产品,进一步包括程序装置,用于确定具有该组映射概率中最高映射概率的该组候选语义标记的一个语义标记并且将这一个语义标记映射到短语。9.根据权利要求6到8任何一个的计算机程序产品,其中统计过程包括预期数值极限化算法。10.根据权利要求8或9的计算机程序产品,进一步包括程序装置,用于以映射表的形式存储候选语义标记和序列之间执行的映射,以便导出适用于未知句子或未知序列的语法。11.一种用于将语义标记映射到短语的系统,包括用于计算一组候选语义标记的语义标记分配给短语的映射概率的装置,其中映射概率的计算是通过根据一组组成全集句子的短语的统计过程执行的,每一短语分配一组候选语义标记。12.根据权利要求11的系统,对于每一个短语进一步包括计算一组映射概率,提供为该组候选语义标记的每一个语义标记分配给短语的概率。13.根据权利要求12的系统,进一步包括确定具有该组映射概率最高映射概率的该组候选语义标记的一个语义标记,并且将这一个语义标记映射到短语。14.根据权利要求11到13任何一个的系统,其中统计过程包括预期数值极限化算法。15.根据权利要求13或14的系统,进一步包括用于以映射表的形式存储候选语义标记和序列之间执行的映射以便导出适用于未知句子或未知序列的语法的装置。全文摘要本发明涉及用于在弱的注释句子的训练全集内将语义标记映射到短语、从而产生可以适用于语言理解的未知句子的方法、系统和计算机程序产品。该方法基于给定短语映射到一组候选语义标记的一个语义标记的概率估算。语法的映射和产生是按照给定短语和该组候选语义标记映射概率中的最大映射概率执行。特别地,映射概率的确定利用预期数值极限化算法。文档编号G06F17/27GK1879148SQ200480033209公开日2006年12月13日申请日期2004年11月9日优先权日2003年11月12日发明者S·C·马丁申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1