一种多层索引语音文档检索方法及其系统的制作方法

文档序号:6577591阅读:246来源:国知局
专利名称:一种多层索引语音文档检索方法及其系统的制作方法
技术领域
本发明涉及一种多层索引语音文档检索方法及其系统,利用在多媒体资料中的语音信息进行自动编目和检索,属于信息检索技术领域,可应用于电视台,电台以及多媒体网站等处。

背景技术
随着数字多媒体技术迅猛发展,使人们面对的多媒体信息呈爆炸性的增长。随着因特网速度的不断提高,存在于互联网中的多媒体数据越来越多。同时,数字图书馆的建设工作也日益完善。因此,如何从海量的多媒体数据中快速准确的获取所需知识,是亟待解决的问题。
近年来,信息检索技术已经成为人们获取信息的一个重要手段,深刻地改变了人类获取知识的方式。目前大多数多媒体检索系统,仍然依赖于多媒体文件所附加的元数据信息或相关联的文本信息,而没有利用多媒体本身所包含的内容信息,这对于多媒体文件中保存的大量信息来说是一个极大的浪费。并且对于大量没有文本信息的多媒体数据库来说,这种方法是无能为力的。
在各种多媒体形式中,语音是与文字最为接近的。人们无时无刻不在通过语音传递信息,保存信息。自从爱迪生发明留声机开始,人们已经积累了数量巨大的语音文档资料。然而由于缺少快速准确的检索方式,大量的语音文档无法被有效的利用。
本发明所关注的语音文档检索技术,就是期望利用语音文档中的内容信息,使得用户能够高效准确地寻找需要的语音文档。由于语音与文本间存在着密切的联系,语音文档检索技术在多媒体检索中有重要的价值。
在当前存在语音文档检索系统中,大多以词作为索引单元进行构建索引,但是使用词进行构建索引存在集外词问题,使得当检索词为集外词时无法找到相应的文档。最近有些学者开始研究基于子词单元构建索引,利用子词单元作为索引单元,会出现返回文档不够准确的问题,本发明提出结合词和音子的方法,使得检索的准确率和召回率性能都得到很好的表现。


发明内容
本发明的目的在于提供一种多层索引语音文档检索方法及其系统,在本发明中引入了基于加权有限状态转换器的汉语语音识别解码器,该方法采用静态扩展的方法,能够提高语音识别的速度,使得该产品能够更加快速得处理大量的语音数据,实现对多媒体资料的快速准确的查找;利用该系统可以快速准确的检测出大量音视频中某些敏感的内容,以及可以用于数字图书馆的建设。
当前对于语音文档检索的主要需求包括自动语音文档编目和快速语音文档检索。考虑到当今的科学和技术水平,要满足上述要求,存在着以下的技术难点,而这些技术难点正是本作品要重点解决的问题,同时,科学合理地解决这些技术难点也是本作品的创新和贡献之所在。
快速准确的获取语音内容 语音内容的自动识别是一项极其困难的任务。一方面,音频中的声学环境变化多样,包括安静环境下的语音、户外噪声环境下的语音、或是音乐背景噪声下的语音等等;另一方面,影视节目中的说话人也是变化多样的,从标准的播音员,普通人员,甚至包括带方言口音的说话人等等。因此,根据声学环境和说话人的差异来分割、分类和聚类影视节目中的语音是字幕自动识别的重要一步。同时,对于这样一个复杂多变的任务,设计一个鲁棒性强、说话人无关的大词汇量连续语音识别系统是至关重要的。基于置信度打分的字幕辅助校对系统进一步保证了字幕脚本的准确性。考虑到有效性的要求,本发明还对自动连续语音识别系统进行了优化,在保证准确率轻微下降的前提下,优化识别系统使其达到实时处理(指处理时间小于或等于语音本身的时间)。
如何快速的索引语音内容 随着语音数据库中的资料越来越多,以及在互联网中的语音资料越来越普遍,因此,需要快速地对多媒体文件进行自动的编目、整理,使用户查找方便。与对文本文件建立索引不同,语音识别的结果不是完全正确的,我们必须在索引构建过程中考虑此因素,建立合理的索引表示形式。首先能够快速自动建立索引库,其次索引库需要能够被快速的检索。
如何快速的查找感兴趣的语音文档 人们面对海量的语音数据,查找所需要的语音文档变得越来越困难,我们必须采用巧妙快速的方法,使得在索引库中快速的查找相应的语音文档。另外,我们需要能够得到准确的相关文档,即返回文档与关键词的相关性比较强。其关键问题是如何准确地表示检索项与文档之间相似性。
本发明的技术方案为 1、自动语音识别模块 自动语音识别的功能是完成自动识别音频文件中文字的任务,以取代传统的“边听边记”的字幕脚本生成方式。其输入是包含音频的多媒体文件或者音频文件,输出是其对应的文本信息。该功能包括如下顺序处理过程 (1)从多媒体流中提取出音频流; (2)分析该音频流,并自动将其分割成不同声学环境下的小单元; (3)利用大词汇量连续语音识别系统,识别聚类后的分割单元,输出词网格(Lattice)以及最优识别结果。在词网格中,保存了每个词的起始时间,结束时间以及模型得分。
2、自动语音文档索引构建模块 自动语音文档索引构建模块完成对语音识别结果构建索引的任务,即对语音识别输出的最优识别结果和词网格,利用合适的技术构建索引,使得检索系统能够实现快速的检索,在本系统中,对识别结果采取对词和音子构建双重索引。具体步骤如下 (1)对语音识别输出词网格中每一个词计算其置信度。
(2)每一个词,对其词频率TF和逆文档频率(IDF)以及其起始时间,结束时间建立索引。
(3)根据词最优识别结果,以及发音词典,得到识别结果的音子表示序列。
(4)对此音子表示序列,构建索引。
3、语音文档检索模块 语音文档检索模块完成的功能是对给定的检索词,快速地在索引库中查找到相关的文档。并将其返回给用户。
(1)对输入检索词进行分析,得到检索关键词序列。
(2)将关键词序列输入系统,得到返回结果 (3)如果在关键词序列中包含集外词,则将其转换为音子序列形式。利用音子层索引检索文档。



图1是语音文档检索系统流程图; 图2是语音文档检索系统演示系统主界面; 图3是语音识别框架图; 图4是美标度倒谱系数的计算过程; 图5是隐马尔可夫模型(HMM)示意图; 图6是基于加权有限状态转换器(WFST)的解码器的总体结构图; 图7是融合了语言模型信息的WFST示意图 图8是融合了语言模型,发音词典,声学模型信息的WFST示意图; 图9是Viterbi算法; 图10是词混淆网络倒排文档结构图; 图11是音子混淆矩阵示意图; 图12是四音子串关键词提取示意图。

具体实施例方式 一、自动语音识别模块 自动语音识别框架如图3所示,下面将详细介绍系统各个模块。
1、特征提取 特征提取的目的是为了提取更好地体现语音中稳定的有用信息作为自动语音识别的特征。语音信号的一个基本特性是短时平稳特性,短时分析是语音信号特征提取的基础。在提取特征之前一般先要对语音信号进行预加重处理,提升语音的高频分量以减少信道对语音信号高频成分的衰减。随后,将语音信号进行分帧处理(通常采用帧长25毫秒,帧移10毫秒),并加汉明(Hamming)窗平滑。
常用的用于自动语音识别的声学特征是美标度倒谱系数MFCC(Mel FrequencyCepstral Coefficients),它是受人的听觉系统研究成果的推动,基于人的听感知机理而导出的声学特征,更符合人耳听觉的非线性心理现象。计算MFCC特征的过程如图3所示 在本系统中采用的特征是12维MFCC倒谱系数加上能量,以及它们的一阶和二阶差分,一共构成39维特征向量。另外,为了消除信道的卷积噪声的影响,系统在提取MFCC特征的基础上,引入了倒谱均值归一化(Cepstral Mean Normalization,CMN)来对信道进行补偿。
2、声学模型以及语言学模型 基于统计的自动语音识别系统需要在统计模型的基础上,利用模式识别的方法进行语音的自动识别。通常,这些统计模型被称为自动语音识别的知识库(Knowledge Base),包括声学模型(Acoustic Model,AM)、语言模型(Language Model,LM)、和发音模型(Pronunciation Model,PM)。
自动语音识别系统通常假定语音信号是一系列符号的一种编码(Encoding)实现。这样一来,识别一个给定的语音信号就相当于一个解码(Decoding)过程。为了在给定语音信号的前提下有效地识别出隐含的符号序列,根据语音的短时平稳性,连续的语音波形通常先通过特征提取模块将其转换为一系列等长度的离散向量(如图中的特征向量所示),并假定这一系列的离散向量能够准确地表征对应的语音波形。因此,识别器的任务就是要实现从语音特征向量到隐含符号序列这样一个映射(Mapping)过程。在这过程中,声学模型(AM)的角色就是利用大量的语音数据,对不同符号单元的声学特性差异进行建模;语言模型(LM)定义了符号序列的语言限制,扮演着对识别器允许的语言进行建模的角色。另外,对于某一种特定的语言来说,符号单元通常有不同层次的定义,比如汉语中的词、字、音节和声韵母等等,发音模型(PM)就是实现了这些不同层次的语言单元之间的映射。
如上所述,声学模型建模不同符号单元的声学差异。隐马尔可夫模型HMM是当前最流行的一种语音信号时变特征的建模方法。它由两个相互关联的随机过程共同描述信号的统计特性,其中一个是隐蔽的具有有限状态的Markov链,另一个是与Markov链的每个状态相关联的观测向量的随机过程。语音等时变信号某一段的特征就由对应状态观测符号的随机过程描述,而信号随时间的变化则由隐Markov链的状态间的转移概率描述,发音器官的运动则隐藏在Markov状态链之后。这也是基于统计的HMM之所以能够成为语音信号处理的强大工具的内在原因。由于语音信号是一个时间序列,因此,我们一般采用自左向右的模型结构,如图9所示。从图中可以看出,HMM模型的参数包括初始状态分布、状态转移概率分布、和观测向量的概率分布(通常用GMM模型模拟)。估计这些参数,即训练HMM模型的经典算法是Baum-Welch算法,这是一个基于递推的算法,又称为前向—后向算法,该算法基于最大似然(Maximum Likelihood,ML)准则,属于EM算法的一种。
下表列举了自动语音识别的声学模型训练的一些参数和设置,包括声学模型训练数据。
声学模型的训练 在语音识别系统中,语言模型事先给出了解码器允许的语言的先验概率,这对于在解码过程中限定搜索空间、消除歧义具有重要的作用。目前最广泛应用的语言模型是N元文法语言模型,即认为当前词出现的概率与其前N-1个词有关,这前N-1个词被成为当前词的历史。随着N的增大,模型的数目急剧上升,就要求有更多的训练语料。考虑到数据的稀疏问题和模型的可训练性,通常N取值为3,即得到三元文法(Trigram)语言模型,这可以看作是一个二阶的马尔可夫过程。语言模型训练是根据三元词对在训练语料中出现的次数,利用最大似然估计法得到模型的参数。即使在N<3的情况下,仍然有可能出现数据稀疏的现象而导致某些词对没有在训练语料中出现过,因此必须进行数据的平滑处理,常见的平滑方法有回退(Back off)方法、Discounting方法、Good-Turing平滑方法和Witten-Bell平滑方法等等。下表列出了自动语音识别的语言模型训练的一些参数和设置,包括语言模型的训练数据。
语言模型的训练 发音模型,即发音词典,建立了不同层次的语言单元之间的映射关系。在本系统中,声学模型刻画了不同的发音单元之间的差异,语言模型描述了语言层面上的词或语义信息,而发音词典则是实现了从“词”到“音”的“一对一”或“一对多”映射。我们建立了一个包含64275个词条的单发音词典,而且保证了发音词典的词条和语言模型中的词条的一致性。下面是部分发音词典示例 北京大学 b ei3 j ing1 d a4 x ve2 北京市b ei3 j ing1 sh ib4 挑战杯t iao3 zh an4 b ei1 左边一列是词条,对应于语言模型中的词条,右边一列是该词条的发音,对应于声学模型的建模单元。同一个词条可以包含多个发音,而且可以为每一个多发音词条指定概率。
3、基于加权有限状态转换器的语音识别解码器 语音识别的最终搜索任务由解码器完成,它是语音识别系统中非常关键的部分。解码器的任务是利用声学模型和语言模型等知识,对输入特征序列搜索最优路径,得到语音对应的最优词序列。
本系统采取基于加权有限状态转换器(Weighted Finite State Transducer,WFST)的语音识别解码器来完成语音识别解码功能,这种解码器能够改进基于词树的语音识别解码器的一些弊端。首先,基于词树的语音识别解码器采用动态词树扩展技术,这种技术会带来很大的时间复杂度。尤其是随着语音识别走向应用的过程中,使用环境对系统的识别速度不断提出了更高的要求,如何避免动态操作搜索网络的代价,降低识别的时间复杂度成为语音识别解码器的一个重要技术指标。其次,基于词树的语音识别解码器的可扩展性不强,这意味着许多在语音识别中的最新研究成果无法直接使用在一遍解码中,而是在一遍解码的结果词网中进行重打分,这样首先使得整个系统变得非常复杂,此外许多技术在二遍解码中使用淡化其优势。
基于WFST的语音识别解码器首先用WFST表示、合并各种统计模型,再应用自动机理论对搜索网络进行优化,从而实现了静态的应用三元文法构建搜索网络,并通过优化算法控制了搜索网络的规模。由于这种方法避免了动态搜索网络操作所带来的代价,比较动态搜索网络扩展的方法具有识别速度上的优势。
图6是解码器的总体结构图。从图中可以看到解码器分为两个大的模块搜索网络构建模块和搜索模块。其中搜索网络构建模块负责根据输入的模型静态的进行搜索网络扩展。输入的模型包括上下文相关的隐马尔可夫声学模型、发音词典、N元文法语言模型等。搜索网络的扩展包括两个主要步骤模型合并和网络的优化。网络优化主要是通过网络的确定化、网络的最小化和网络的成份(factoring)化实现的。在完成以上步骤后,可以得到一个静态展开并优化了的搜索网络。
解码器的搜索模块则针对输入语音,在搜索网络上进行搜索,找到最优的目标词串。搜索模块采用在线方式的帧同步Viterbi Beam搜索算法。搜索算法对每一帧输入信号,依次进行声学模型打分、路径扩展、以及路径裁剪等操作,并以一定的间隔进行回溯,产生识别结果。识别结果包括两种形式最优识别结果和词网格。
由于搜索网络构建模块和搜索模块是独立的,因此当我们需要加入更多的知识源时,只需要更改搜索网络构建部分即可,这样能够更加灵活加入其他知识源或者加入其他方法,提高系统的可扩展性。
WFST定义 加权有限状态接收器和加权有限状态转换器给出的定义都是以半环代数结构为基础的。一个半环代数结构

0,1)是一个可能缺少减法的环结构。它有两个在K上封闭的具有结合律的运算+和*。这两个运算的单位元分别为0和1。并且+对*具有分配率。比如,

0,1)就是一个半环。在语音识别中权值通常代表概率,所以适合的代数结构是概率半环(

0,1)。
加权有限状态接收器(Weighted Finite State Acceptor)是一种有限状态自动机的扩展。一个半环K上的加权有限状态接收器A=(∑,Q,E,i,F,λ,ρ),包含一个字母表

,一个有限状态集合Q,一个有限跳转集合

一个初始状态i∈Q,一组终止状态一个初始权重λ,和一个终止权值函数ρ。一个跳转t=(t-,l(t),w(t),t+)∈E可以通过一个从源状态t-到目的状态t+的转移来表示。每一个这样的跳转上具有一个标记l(t)和权w(t)。在语音识别中,跳转权w(t)一般表示概率或概率的对数。
WFSA中一条路径是一组相互连接的跳转序列t1…tn,满足i=1...n-1如果一条路径

始于初始状态i并到达某终止状态f∈F,则

是一条成功的路径。路径

的标记为它包含的所有跳转的标记按顺序的拼接


的权是对初始权、跳转权、以及`终止状态的结束权



运算结果。
加权有限状态转换器(Weighted Finite-State Transducer)是对WFSA进一步扩展WFSA中跳转上的符号被替换为一对输入符号i和输出符号o。由此,WFST定义了从符号序列对到权值的函数。形式化的,一个定义在半环

上的WFSTT=(∑,Ω,Q,E,i,F,λ,ρ)包含一个输入字符表∑,一个输出字符表Ω,一个有限状态集合Q,一个跳转集合E∈Q×(∑∪{ε})×(Ω∪{ε})×(K×Q),一个初始状态i∈Q,一个终止状态一个初始权重λ和一个终止权重函数ρ。一个跳转t=(t-,li(t),lo(t),w(t),t+)可以表示一条从原状态t-到目的状态t+的转移。每一个这样的提砖上具有一个输入符号li(t),一个输出符号lo(t)和一个权w(t)。WFST中路径,路径的输入表姐和路径的权的定义与WFSA中定义相同。一条路径的输出标记是他的所有跳转的输出符号的顺序拼接。
下面分别介绍基于WFST的语音识别解码器的各个模块 模型合并 模型合并的任务是融合语言模型,发音词典和声学模型等信息,构建一个初始搜索网络的过程。
下面以示例的形式说明该过程,假定系统的词典中包含两个词go和bus,语言模型采用二元文法。在图6中显示了仅包含语言模型的WFST,图中P(bus)代表词bus的一元文法得分,B(bus)代表词bus的回退权重,P(bus|go)代表以词go为前驱,词bus的二元文法得分。可以看出利用此搜索网络非常清晰的描述了语言模型知识。
在图7中加入了发音词典以及声学模型信息,从图中可以看出其与图6的差别在于跳转单元为音子,而不是图6中的跳转单元词。每个词可以根据发音词典找到对应的音子序列,从而得到对应的声学模型单元,并引入声学模型信息。因此在图7中融入了语言学信息和声学信息,提供了一个完整的搜索网络。可以看出该搜索网络中权重即为得分,为融合语言学知识和声学知识的综合得分。输入符号为声学模型单元,输出符号为词。
网络确定化 该系统中采用加权确定话算法对搜索网络的每一步合成进行优化,确定化的主要目的是为了在合成的网络中去除重复的路径,并以此来显著减小网络规模。从而减少搜索时的时间复杂度。
网络最小化 该系统中对合成之后的网络进行确定化之后,再对齐进行最小化操作,最小化操作除了能够减少搜索网络的状态数之外,还对提高识别性能有一定的帮助。
最小化的关键步骤就是将权值向初始状态进行前推,即尽可能早的将语言学得分或者声学得分引入到系统中去。这样能够使得解码过程中的路径得分更加准确,从而可以提高识别性能。
网络成分化 一条除了第一个状态和最后一个状态,所有状态就仅有一条输入边和输出边的路被称为一条线性路径,在经过上述操作之后,可能在网络中存在许多线性路径,网络成分化分析采用一条新的边来代替此线性路径,使用一个映射表保存新的边和线性路径的映射。这样可以大幅度的降低网络的规模,降低空间复杂度 在经过上述操作之后,该系统得到一个可以用于语音识别解码的搜索网络。
语音识别解码即在搜索网络中根据输入特征寻找最优路径,本系统采用时对齐的Viterbi算法,图9为该算法的示意图,其中横坐标表示了其时间轴信息,纵向表示了各个状态。通过该算法可以得到最优搜索路径。
在搜索的过程中,由于搜索空间非常大,因此如果保留所有可能路径将使得时间复杂度急剧膨胀,因此需要采用必要的裁剪,在每一帧信号解码结束之后只保留一部分路径,而将其他的路径抛弃。该系统中采取词层次,音子层次以及高斯状态层次多层次裁剪的方法,使得裁剪尽可能的保留正确的路径。同时为了提高裁剪的速度,本系统引入了直方图裁剪技术。通过裁剪技术的引入,能够使得语音识别实时性得到大大提高。
由于语音识别的过程中,需要在每一个词输出时将其保存到回退表中,随着解码的进行,回退表会不断得增大,超出系统的承受范围。在该系统中,对回退表一定时间间隔输出临时词网格,同时清空其所占用内存。
二、自动语音文档索引构建模块 1、置信度计算 在语音识别中,置信度是用来评估语音识别可靠性的。置信度的取值通常在0到1之间,用来表示予以按识别结果中某个词正确与否的程度,或者说各整句识别结果是否合理。一个好的置信度打分很大程度上影响语音识别的应用范围。
在本系统中,采用基于N-best对齐的方法构造混淆网络并获取置信度,采用N-best列表对齐,并根据N-best Voting的方法获得置信度。
N-best列表的生成 本文采用的N-Best列表指的是词相关N-Best列表。该算法首先进行一次有向无环图后向最优路径搜索,得到每个节点n到词网尾节点<=s>的最优路径声学模型及语言模型总得分h(n),而后再进行前向A*搜索,以前一步所得到的得分h(n)作为启发函数。
前向A*算法需要维护两个堆(Heap),此堆为固定长度的数组式数据结构,一般其长度取为2n-1,n为堆的层数。根据大根堆的定义其元素H(k)>H(2k+1),H(k)>H(2k+2),根首元素为最大元素,最小元素一定在最后一层。本文所用的堆结构同时保证,最后一个元素为最小元素。在进行添加、删除堆元素操作时,将进行调整以保证堆的结构。算法中第一个堆为“部分路径”堆P,保存当前展开的部分路径,另一个堆为“完整路径堆”F。
为了保证词相关的特性,在堆操作中添加排重操作,如果两条路径的词序列相同,则比较其得分,仅保留得分较高的那条路径。
(1)初始化部分路径堆P,将起始节点<s>放入堆中 (2)取部分路径堆中堆首元素,扩展所有可能的路径。并计算该路径的声学、语言模型总得分g(n)。其中声学模型得分已经保存于每个节点,而语言模型得分则根据路径前两个节点与当前节点获得。路径的启发得分为如果扩展出的路径包含<=s>则放入F中,否则放入P中。P按照H(n)=g(n)+h(n)排序,而F按照g(n)排序 (3)如果P超过最大容量,排除超过容量的k个最小的元素 (4)若P为空,算法结束 (5)若F满,则算法结束,否则转2 (6)输出F中的完整路径,直到F为空。
按照以上算法得到的结果即为该词网的N-Best列表。其中N可由F的容量来控制。
置信度的生成 对生成的N-Best列表中的每条完整路径结果,按照最优路径结果的时间划分进行简单的时间对齐,计算每个时间段内的词出现概率,将此概率作为该词的置信度。原则是 (1)若N-Best中的某个词假设完全落在最优路径在对应时间的词假设中,则将其归并到该时间段中 (2)若N-Best中某个词假设不完全落在最优路径的某个词假设中,则将其归并到最优路径中与其交叠最大的时间段中。
(3)若某条N-Best路径与最优路径对齐后,最优路径的某个词假设没有任何路径与之对齐,则添加一条空边。对对齐后的N-Best结果进行投票,其原则是,首先统计每个时间段中所有不同的词假设,并计算其出现次数。每个词假设的“置信度”简单的被设为其出现次数除以N。
2、改进的TF/IDF关键词权重 传统的关键词权重打分中,最为基本的几个量包括词频率(tf)与文档频率(df)。但是由于在混淆网络索引中引入了大量的候选假设,如果仍然采用直接加和形式获取tf和df,将会使得权重的估计不准确。为此,需要将置信度引入这些统计量的计算中。在此记混淆网络文档为Di,其全集为D,而每个文档中的每个词节点记为wi;j=(s;e;c),wi;j标记了词w的位置,i为该词出现于第i个文档、j为该词为第i个文档中第j个词,其中s;e分别为词假设的开始、结束时间,而c为其置信度得分。改进的tf(mtf)计算公式为 该公式中wi,j=w表示第i个文档中的第j个词为w,将文档内所有的该词假设的置信度得分进行加和,得到一个tf值。这样做的意义是显而易见的,它将保证置信度高的词假设对tf产生较大的影响,而较小置信度的词假设也能够对tf起到一定的影响。
df的定义也需要修改,从概率意义上说,假设在一篇混淆网络文档中出现某个词w的多个词假设wi;j,置信度分别为wi;jc则,设该词的置信度表示该词假设出现的概率,则该词假设不出现的概率为 P(wi,j不出现)=1-P(wi,j出现)=1-wi,j·c 那么,在该篇文档中该词不出现的概率就是 P(w不出现于文档i)=∏P(wi,j不出现)=∏1-wi,j·c 总结起来,该篇文档中出现该词的概率应该为 PA(w,Di)=P(w出现于文档i)=1-∏P(wi,j出现)=1-∏1-wi,j·c 按照此公式,改进的df的计算方法即为 将此df计算方案记为mdf1。
3、基于词混淆网络的索引 在语音识别模块,除了得到最终结果外,也得到了词混淆网络及词网节点的置信度。利用混淆网络构建索引必须引入置信度的信息,在此置信度的计算可以采用N-Best Voting或后验概率。为了使用向量空间模型相关的关键词权重,只需要保留改进TF和IDF,而为了进行基于时间信息的检索结果重排序,则还需要保留每个词假设的时间位置及置信度。
图10为供关键词权重打分使用的倒排文档结构。从图中可以看出,索引结构中保存了每个关键词的改进IDF值,和对应的文档信息,同时保存了关键词在文档中的位置链表,通过此索引结构我们可以快速的查找到相关文档以及其所在的位置。
4、基于音子的索引 利用语音识别的识别结果进行检索可能面临的一个问题是在识别率不高的情况下,系统的召回率会比较低。因此,许多研究者开始尝试利用音子、音节等纯声学子词单元进行检索。
从语音识别角度,如果不采用词单元而直接采用子词单元进行识别,其识别率较使用词单元而言要相差很多。因此,其带来的错误有可能还要高于对其进行模糊匹配所带来的好处。因此,本系统并不采用子词单元进行直接识别,而是对词单元的最优识别结果进行转换得到音子识别结果。那么,这样得到的子词串仍然无法摆脱词典限制,必须要回答如何解决词典限制的问题。对于这个问题的回答就是子词单元具有模糊性。由于其个数有限,可以对识别错误进行显式的建模,从而得到更加丰富的结果表示,从而能够提高对集外词和识别错误的鲁棒性。
基于汉语的声韵母结构(Initial-Final),本系统采用带调声韵母单元作为子词单元,在本说明书中统一使用“音子”来表述系统中所采用的带调声韵母单元。
音子混淆矩阵 要进行查询扩展,首先必须获得音子混淆矩阵。音子混淆矩阵是对语音识别器行为的一种建模方式,描述在语音识别器下,一个音子容易被误识别为哪些别的音子。图11是一个音子混淆矩阵的一部分。
在该图中,列标题表示正确的音子,行标题表示识别结果。其中的数值表示正确音子被识别为该行对应的识别结果的概率。图中的灰度按照概率大小给定。可以看出,音子被识别正确的概率是最大的,但是也有一定的概率被识别为其他音子。
音子混淆矩阵的构建有多种方式,即可以通过模型也可以通过大量训练语料获得。本系统所采用的方法为利用语音识别器对语料进行识别,并将识别结果的音子串输出,同时,利用拼音标注工具对识别脚本进行拼音标注。而后,以最小化编辑距离的方式将两个结果进行对齐并统计出音子混淆矩阵。这种方法得到的严格来说并非两个音子的声学相似度,因为在构建过程中还受到语言模型的影响。但是由于在索引构建过程中,也将采用从识别结果转换为音子串的方法,故而这种方法能够较好的对解码器行为进行建模。
四音子串索引 在构造基于音子的索引之前,必须考虑索引所采用的音子串长度的问题。显然利用单个音子构建索引是不合理的,因为音子个数很少,几乎每个文档都会包含所有的音子。构建索引所用的音子串越长,检索的准确率将提高,而召回率将下降。但当索引音子串长于6个音子时,性能将迅速下降。
基于对汉语特性的分析,我们认为四音子串索引是汉语语音文档检索的最佳选择。首先,汉语的每个字均由声韵母构成,且基于前面的分析,声母、韵母发生混淆的可能性几乎不存在。因此,汉语中采用偶数长度的音子串是较为合理的选择。其次,汉语的词以二字词为主,查询关键词也是如此。在大量的查询关键词都是二字词的情况下,长于四音子的建模单元是没有用武之地的。因此,选择采用四音子串作为建模单元是符合汉语特点的。
具体方法为 首先,在语音最优识别结果生成同时,输出该识别结果所对应的音子序列,而后按照窗长为4,平移量为2取出所有的四音子,并将这些四音子顺序相连作为该串的“关键词”集,这些关键词即为索引单元,图12为四音子串关键词提取示意图。
而后,利用这些关键词构造倒排文档并计算tf及df。对输入的查询也进行进行同样的关键词生成,并利用基本的向量空间模型进行检索便可以得到最基本的结果。
三、快速语音文档检索模块 语音文档检索模块完成的功能是对给定的检索词,快速地在索引库中查找到相关的文档。并将其返回给用户。
1、输入检索词分析 系统输入关键词的格式多种多样,可能是一个词,也有可能是由空格分开的多个词,或者是连续的多个词,因此,我们必须首先对输入检索词进行分析。提取出输入检索词中的关键词。
基于最大熵模型的中文分词 输入检索项有可能是没有空格分开的词序列,因此在该系统中首先将输入字符序列进行中文分词操作。
从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。
最大熵模型承认已知事物,对未知事物不做任何假设,没有任何偏见。认为各种情况均匀分布,其体现形势即为熵最大。将最大熵模型引入中文分词,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
基于音子混淆矩阵的查询扩展 由于输入查询词中可能会出现集外词,在该系统中,采用词和音子配合检索的方式。对于非集外词采用词检索,对于检索相中的集外词对其采用音子检索的方式,使用此方式既能利用到使用词为检索单元时的准确性,又能在出现集外词情况是保证系统的召回率。
首先利用四音子串索引中描述的方法获取待查询集外词的四音子序列,然后根据音子混淆矩阵对齐进行扩展,其基本思路是找出每个四音子串最可能混淆的其他四音子串(包括其自身),将其加入检索关键词中,并利用混淆度对其tf进行折扣。由于一个四音子所对应的混淆串可能非常的多,必须设置一个门限t,排除那些概率较低的混淆串。
过滤停用词 在基于词的检索系统中,停用词是指出现频率太高、没有太大检索意义的词,如“的、是、太”等;在该系统中保存了一个停用词列表,对输入的检索项进行过滤。
经过此步骤,该系统得到一个融合四音子串和词的关键词序列。
2、查询索引库 系统得到关键词序列之后,分别对查询词和查询四音子序列,在索引库中查找其对应的索引项。根据索引项中保存的关键词与文档的相关性可以得到每一个输入关键词与文档的相关性得分,然后我们将每个关键词对某文档的相关性得分相加则得到该文档与输入检索项之间的初步相关性得分。
大量的结果证明,关键词在文档中的相对位置对于确定文档与查询的相关性是非常重要的。本文也采取类似的思路,所不同之处在于本文采用时间间隔而非词位置的差异,对文档相关度进行修改,并进一步对返回结果集的若干最优结果进行重排。
基于时间信息的检索结果重排序的基本思路是,假如在查询中,两个相邻的关键词在混淆网络文档中也相邻,那么应当适当的增加这两个关键词的tf得分。同时,对于混淆网络来说,由于其是网格而非线性形式,就会存在一个问题,那就是词假设的时间信息可能相互交叠。在这种情况下,两个检索词不是同时存在,而是互斥关系,在这种情况下,适当的减小这两个关键词的文档权重是合理的。基于这种考虑,本文提出了一种修正tf权重的方法。设两个词假设wi,j和

属于同一个文档Di,定义overlap(.,.)函数与dist(.,.)函数分别表示两个词假设在时间上的交叠长度以及最短距离,并定义overlap*(.,.)表示两个词假设有交叠时,两个词所覆盖的整个时间区域中不交叠部分的长度。当两个词假设有交叠时,dist(.,.)为负值。在此采用如下公式修正该文档的相关性得分 上面的公式需要预先制定一个距离门限md,加入两个词的最短距离大于md则两个词被认为是相互无关的,其得分也不会被修改。同时,假如两个词交叠,那么将被给以折扣 利用新估计的tf及原权重,计算公式再次计算前n位文档的相关性得分,并重新排序。在此,排序的范围仍然限制于前n位结果上。
通过在索引库中查询,我们最终得到了与检索项相关的文档,并将其返回给用户即可。
在实际应用的语音文档检索系统中,关心的重点是如何准确的得到语音文档的文字表示形式,以及如何准确的表示关键词与文档的相关性。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。
权利要求
1、一种多层索引语音文档检索方法,其步骤为
1)对多媒体流进行特征提取,得到语音特征序列;
2)利用基于加权有限状态转换器的语音识别解码器对语音特征序列进行搜索,得到词网格以及最优识别结果;
3)根据词网格和最优识别结果,构建词和音子双层索引库;
4)对给定的检索词在索引库中查找相关的文档并将其返回给用户。
2、如权利要求1所述的方法,其特征在于所述词网格中包括每个词的起始时间、结束时间以及模型得分。
3、如权利要求2所述的方法,其特征在于所述语音识别解码器对语音特征序列进行搜索得到最优识别结果的方法包括网络确定化、网络最小化和网络成分化;所述网络成分化的方法为采用一条新的边代替词网络中的线性路径,且建立一映射表用于保存每一新边与其所替换的线性路径的映射。
4、如权利要求1或3所述的方法,其特征在于所述语音识别解码器定期输出临时词网格,同时清空其所占内存。
5、如权利要求2所述的方法,其特征在于所述双层索引库的建立方法为
1)计算语音识别输出词网格中每一个词w的置信度c;
2)根据置信度c计算每一个词w的词频率和文档频率;
3)根据词w的词频率和逆文档频率建立索引;
4)将最优识别结果转换为音子串,按照窗长为4、平移量为2提取音子串中的所有四音子,并将这些四音子顺序相连作为该音子串的四音子序列;
5)根据音子序列,构建音子层索引。
6、如权利要求5所述的方法,其特征在于所述置信度计算方法为首先采用N—Best对齐方法生成每个词的N—Best列表;然后对N-Best列表中的每条完整路径结果,按照最优路径结果的时间划分进行时间对齐若N-Best中的某个词假设完全落在最优路径在对应时间的词假设中,则将其归并到该时间段中;若N-Best中某个词假设不完全落在最优路径的某个词假设中,则将其归并到最优路径中与其交叠最大的时间段中;若某条N-Best路径与最优路径对齐后,最优路径的某个词假设没有任何路径与之对齐,则添加一条空边;最后对对齐后的N-Best结果进行投票,统计每个时间段中所有不同的词假设,出现概率,将此概率作为该词的置信度。
7、如权利要求6所述的方法,其特征在于所述根据置信度c计算每一个词w的词频率和文档频率的方法为采用公式计算所述词频率;其中i表示该词出现于第i个文档、j表示该词为第i个文档中第j个词,Di为混淆网络文档;采用公式计算所述文档频率,其中PA(w,Di)=P(w出现于文档i)=1-∏P(wi,j出现)=1-∏1-wi,j.c。
8、如权利要求7所述的方法,其特征在于所述对给定的检索词在索引库中查找相关的文档的方法为
1)对输入检索词进行分析,得到检索关键词序列;
2)在索引库中查找与关键词序列中的关键字相对应的索引项;
3)如果在关键词序列中包含集外词,则将其转换为音子序列形式,利用音子层查找与其对应的索引项;
4)根据索引项中保存的关键词与文档的相关性可以得到每一个输入关键词与文档的相关性得分;
5)将每个关键词对某文档的相关性得分相加,得到该文档与输入检索项之间的初步相关性得分;
6)按相关性得分排序,将排名前n个档案返回给用户。
9、如权利要求8所述的方法,其特征在于对所述前n个档案的相关性得分进行修正后重新排序返回给用户,其方法为对于同一文档中包含两个词假设W和W*,且两个词假设的最短距离大于零而小于设定门限md,则该文当的相关性得分通过公式计算修改,如果词假设W和W*最短距离等于零,则按照公式计算修改;其中overlap(.,.)函数表示两个词假设在时间上的交叠长度,dist(.,.)函数表示两个词假设的最短距离、若两个词假设有交叠时dist(.,.)为负值,overlap*(.,.)表示两个词假设有交叠时,两个词所覆盖的整个时间区域中不交叠部分的长度。
10、一种多层索引语音文档检索系统,其包括基于加权有限状态转换器的汉语自动语音识别模块,用于完成自动识别音频文件中文字的任务;自动语音文档索引构建模块,用于完成对语音识别结果构建双重索引的任务;语音文档检索模块,用于对给定的检索词在索引库中查找相关的文档并将其返回给用户。
全文摘要
本发明公开了一种多层索引语音文档检索方法及其系统,属于信息检索技术领域。本发明的方法为1)对多媒体流进行特征提取,得到语音特征序列;2)利用语音识别解码器对语音特征序列进行搜索,得到词网格以及最优识别结果;3)根据词网格和最优识别结果,构建词和音子双层索引库;4)对给定的检索词在索引库中查找相关的文档并将其返回给用户。本发明的系统包括自动语音识别模块,用于完成自动识别音频文件中文字的任务;自动语音文档索引构建模块,用于完成对语音识别结果构建双重索引的任务;语音文档检索模块,用于对给定的检索词在索引库中查找相关的文档并将其返回给用户。与现有技术相比,本发明可实现对多媒体资料的快速准确的查找。
文档编号G06F17/30GK101510222SQ200910131828
公开日2009年8月19日 申请日期2009年4月8日 优先权日2009年2月20日
发明者吴玺宏, 迟惠生, 曲天书, 万广鲁 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1