书签 分享 收藏 举报 版权申诉 / 16

一种语音文件查询方法和装置.pdf

  • 上传人:小**
  • 文档编号:623801
  • 上传时间:2018-02-26
  • 格式:PDF
  • 页数:16
  • 大小:1.20MB
  • 摘要
    申请专利号:

    CN201410024095.0

    申请日:

    2014.01.20

    公开号:

    CN104142974A

    公开日:

    2014.11.12

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20140120|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    腾讯科技(深圳)有限公司

    发明人:

    李露; 马建雄; 卢鲤

    地址:

    518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

    优先权:

    专利代理机构:

    北京德琦知识产权代理有限公司 11018

    代理人:

    阎敏;宋志强

    PDF完整版下载: PDF下载
    内容摘要

    本发明提出一种语音文件查询方法和装置,其中方法包括:将每个目标语音文件分别转换成对应的目标音节混淆网络;将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度,获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。本发明能够提高语音查询的精确度。

    权利要求书

    1.  一种语音文件查询方法,其特征在于,所述方法包括:
    将每个目标语音文件分别转换成对应的目标音节混淆网络;
    将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度,获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。

    2.
      根据权利要求1所述的方法,其特征在于,所述将目标语音文件转换成对应的目标音节混淆网络、或者将待查询语音文件转换成对应的待查询音节混淆网络的方式为:
    利用音节解码器对所述目标语音文件或待查询语音文件进行解码,得到中间结果;利用框架Lattice转换工具对所述中间结果进行转换,得到对应的音节混淆网络。

    3.
      根据权利要求1所述的方法,其特征在于,所述将待查询文本转换成对应的待查询音节混淆网络的方式为:
    将所述待查询文本划分为多个词;
    查找所述各个词对应的音节;
    将查找到的音节串联,得到音节序列y1、y2、……、ym,其中,m为音节的个数,yi(i=1、2、……、m)为音节;
    构造初始节点V0和结束节点Vm+2;并构造(m+1)个中间节点,包括V1、V2、……、Vm+1
    构造V0与V1的之间的一条边,将该边的音节标签设置为空标签!NULL,将该边的权重设置为1;构造Vm+1与Vm+2的之间的一条边,将该边的音节标签设置为!NULL,将该边的权重设置为1;依次针对两个相邻的中间节点Vi与Vi+1(i=1,2,……,m)构造一条边,将各条边的音节标签分别设置为y1、y2、……、ym,将每条边的权重均设置为1。

    4.
      根据权利要求1所述的方法,其特征在于,所述将每个目标语音文件分别转换成对应的目标音节混淆网络之后进一步包括,建立所有目标音节混淆网络的索引,包括正排索引和倒排索引;
    所述正排索引包括各个目标音节混淆网络与音节混淆网络标识的对应关系;
    所述倒排索引包括:目标音节混淆网络中的各个音节所属的目标音节混淆网络的音节混淆网络标识、以及该音节所对应的边的权重。

    5.
      根据权利要求4所述的方法,其特征在于,所述计算待查询音节混淆网络与各个目标音节混淆网络的相似度的方式为:
    查询所述所有目标音节混淆网络的索引,确定包含所述待查询音节混淆网络中所有音节的目标音节混淆网络;根据待查询音节混淆网络生成对应的状态转移查询表,采用所述状态转移查询表计算待查询音节混淆网络与所述确定出的各个目标音节混淆网络的相似度。

    6.
      根据权利要求5所述的方法,其特征在于,所述采用状态转移查询表计算相似度的具体方式为:
    针对该目标音节混淆网络的每个节点构造一个令牌,将该令牌的状态Status设置为所述状态转移查询表的初始状态,将该令牌的观测设置为!NULL,将该令牌的权重设置为1,将该令牌的得分Score设置为0;针对各个令牌分别执行以下步骤A,得到最终存活令牌列表,并对最终存活令牌列表中所有令牌的得分求和,将求和结果作为待查询音节混淆网络与该目标音节混淆网络的相似度;
    A、判断所述当前令牌的观测是否为!NULL,如果是,则执行步骤B;否则执行步骤C;
    B、在所述状态转移查询表中查询行取Status、并且列取!NULL时对应的表格,设表格中的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移表中查询行取Status’的非空表格C1...Ck,在当前位置构造k个新的令牌,每个新的令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表 格中的权重,得分为当前令牌的得分,针对所述新的令牌继续执行步骤A;
    C、设所述令牌的观测为obsr,遍历所述目标音节混淆网络中以该令牌所在节点为出发点的各条边,如果所述各条边的音节标签均不为obsr,则删除该令牌;如果有一条边上的音节标签为obsr,则执行如下步骤:在所述状态转移查询表中,查询行取Status、并且列取obsr时对应的表格,设该表格对应的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移查询表中查询行取Status’的非空表格C1...Ck,在该边的结束节点上构造k个新的令牌,每个令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分Score更新为原Score与当前令牌权重与该边的权重的乘积之和,针对所述新的令牌继续执行步骤A。

    7.
      一种语音文件查询装置,其特征在于,所述装置包括:
    转换模块,用于将每个目标语音文件分别转换成对应的目标音节混淆网络;将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    相似度计算模块,用于计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度;
    获取模块,用于获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。

    8.
      根据权利要求7所述的装置,其特征在于,所述转换模块将目标语音文件转换成对应的目标音节混淆网络、或者将待查询语音文件转换成对应的待查询音节混淆网络的方式为:
    利用音节解码器对所述目标语音文件或待查询语音文件进行解码,得到中间结果;利用框架Lattice转换工具对所述中间结果进行转换,得到对应的音节混淆网络。

    9.
      根据权利要求7所述的装置,其特征在于,所述转换模块将待查询文本转换成对应的待查询音节混淆网络的方式为:
    将所述待查询文本划分为多个词;
    查找所述各个词对应的音节;
    将查找到的音节串联,得到音节序列y1、y2、……、ym,其中,m为音节的个数,yi(i=1、2、……、m)为音节;
    构造初始节点V0和结束节点Vm+2;并构造(m+1)个中间节点,包括V1、V2、……、Vm+1
    构造V0与V1的之间的一条边,将该边的音节标签设置为空标签!NULL,将该边的权重设置为1;构造Vm+1与Vm+2的之间的一条边,将该边的音节标签设置为!NULL,将该边的权重设置为1;依次针对两个相邻的中间节点Vi与Vi+1(i=1,2,……,m)构造一条边,将各条边的音节标签分别设置为y1、y2、……、ym,将每条边的权重均设置为1。

    10.
      根据权利要求7所述的装置,其特征在于,所述转换模块还用于,建立所有目标音节混淆网络的索引,包括正排索引和倒排索引;
    所述正排索引包括各个目标音节混淆网络与音节混淆网络标识的对应关系;
    所述倒排索引包括:目标音节混淆网络中的各个音节所属的目标音节混淆网络的音节混淆网络标识、以及该音节所对应的边的权重。

    11.
      根据权利要求10所述的装置,其特征在于,所述相似度计算模块计算待查询音节混淆网络与各个目标音节混淆网络的相似度的方式为:
    查询所述所有目标音节混淆网络的索引,确定包含所述待查询音节混淆网络中所有音节的目标音节混淆网络;根据待查询音节混淆网络生成对应的状态转移查询表,采用所述状态转移查询表计算待查询音节混淆网络与所述确定出的各个目标音节混淆网络的相似度。

    12.
      根据权利要求11所述的装置,其特征在于,所述相似度计算模块采用状态转移查询表计算相似度的具体方式为:
    针对该目标音节混淆网络的每个节点构造一个令牌,将该令牌的状态Status设置为所述状态转移查询表的初始状态,将该令牌的观测设置为!NULL,将该 令牌的权重设置为1,将该令牌的得分Score设置为0;针对各个令牌分别执行以下步骤A,得到最终存活令牌列表,并对最终存活令牌列表中所有令牌的得分求和,将求和结果作为待查询音节混淆网络与该目标音节混淆网络的相似度;
    A、判断所述当前令牌的观测是否为!NULL,如果是,则执行步骤B;否则执行步骤C;
    B、在所述状态转移查询表中查询行取Status、并且列取!NULL时对应的表格,设表格中的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移表中查询行取Status’的非空表格C1...Ck,在当前位置构造k个新的令牌,每个新的令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分为当前令牌的得分,针对所述新的令牌继续执行步骤A;
    C、设所述令牌的观测为obsr,遍历所述目标音节混淆网络中以该令牌所在节点为出发点的各条边,如果所述各条边的音节标签均不为obsr,则删除该令牌;如果有一条边上的音节标签为obsr,则执行如下步骤:在所述状态转移查询表中,查询行取Status、并且列取obsr时对应的表格,设该表格对应的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移查询表中查询行取Status’的非空表格C1...Ck,在该边的结束节点上构造k个新的令牌,每个令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分Score更新为原Score与当前令牌权重与该边的权重的乘积之和,针对所述新的令牌继续执行步骤A。

    说明书

    一种语音文件查询方法和装置
    技术领域
    本发明涉及语音检索技术领域,尤其涉及一种语音文件查询方法和装置。
    背景技术
    现有技术中,通常的语音文件查询方法有如下两种:
    第一种:首先,使用自动语音转写技术将每一条目标语音文件分别转换成对应的文字形式的目标文本文件,然后通过文本检索技术建立目标文本文件的索引。
    在查询过程中,输入文字查询词,比较查询词与每个目标文本文件的相似度,并根据相似度对目标文本文件进行排序,从而查询到与查询词最接近的目标文本文件,并最终得到与查询词最接近的目标语音文件。或者,在查询过程中,直接输入待查询语音文件,将待查询语音文件转换成对应的待查询文本文件,然后比较相似度,得到与待查询语音文件最接近的目标语音文件。
    第二种:首先,将每一条目标语音文件分别转写成音节/音素序列。
    在查询过程中,将输入的文字查询词或待查询语音文件转写成音节/音素序列,通过比较音节/音素序列的相似度,得到与文字查询词或待查询语音文件最接近的目标语音文件。
    上述两种方法共同的缺点是:需要将目标语音文件、以及文字查询词或待查询语音文件转写成文字或音节/音素形式,由于自然语音存在着口音多变、噪声环境复杂等问题,语音转写的错误率很高,因此造成语音查询的精确度不高。发明内容
    本发明提供了一种语音文件查询方法,能够提高语音查询的精确度。
    本发明还提供了一种语音文件查询装置,能够提高语音查询的精确度。
    本发明的技术方案是这样实现的:
    一种语音文件查询方法,包括:
    将每个目标语音文件分别转换成对应的目标音节混淆网络;
    将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度,获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。
    一种语音文件查询装置,包括:
    转换模块,用于将每个目标语音文件分别转换成对应的目标音节混淆网络;将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    相似度计算模块,用于计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度;
    获取模块,用于获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。
    可见,本发明提出的语音文件查询方法和装置,通过将目标语音文件和待查询语音文件/待查询文本转换成音节混淆网络,并比较音节混淆网络的相似度以实现语音文件查询,避免了将语音转写成文字或音节/音素形式过程中出现的错误,能够提高语音查询的精确度。
    附图说明
    图1为本发明提出的语音文件查询方法实现流程图;
    图2为音节混淆网络示意图;
    图3为实施例二的实现流程图;
    图4为实施例三中所应用的其中一个音节混淆网络示意图;
    图5为实施例三中构造成功的倒排索引示意图;
    图6为实施例五中所应用的查询音节混淆网络S的示意图;
    图7为本发明提出的语音文件查询装置结构示意图。
    具体实施方式
    本发明提出一种语音文件查询方法,如图1为该方法实现流程图,包括以下步骤:
    步骤101:将每个目标语音文件分别转换成对应的目标音节混淆网络;
    步骤102:将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    步骤103:计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度,获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。
    上述方法中,将目标语音文件和待查询语音文件/待查询文本转换成音节混淆网络,通过比较两个音节混淆网络的相似度,能够查询到包含待查询语音文件/待查询文本的目标语音文件。上述方法避免了将语音文件转写成文字或音节/音素形式,因此能够避免因该转换过程中出现错误而对语音查询造成的不利影响。
    以下举具体的实施例,分别介绍上述各个步骤的实现方式。
    实施例一:
    本实施例介绍将目标语音文件或待查询语音文件转换成音节混淆网络的具体方式。
    首先介绍音节混淆网络。音节混淆网络是一种特殊的加权有向图结构,满足如下条件:任意一条从初始节点到结束节点的路径必须经过所有的其他节点,图2给出了一个音节混淆网络的示例。把音节混淆网络的节点按顺序排成一个序列,边仅存在于相邻的两个节点之间,边上有音节标签和权重。两个相邻节点之间可以存在若干条边,所有边上的权重之和为1。
    从目标语音文件或待查询语音文件转换成到音节混淆网络的方式可以包括两个步骤:首先使用音节解码器对目标语音文件或待查询语音文件进行解码,产生中间结果Lattice;然后用框架(Lattice)转换工具生成音节混淆网络。这两个步骤可以使用现有的工具,在此不再赘述。
    实施例二:
    本实施例介绍将待查询文本转换成音节混淆网络的具体方式。
    转换过程大体分为两个部分,首先将待查询文本转换成音节序列,然后根据音节序列生成音节混淆网络。
    参照图3,具体转换过程步骤举例如下:
    步骤1:输入待查询文本,例如“语音查询”;
    步骤2:使用前向最大匹配分词算法将待查询文本划分为n个词语,记为W1、W2、……、Wn。在本例中,可以划分为2个词语,分别为“语音”和“查询”。
    步骤3:针对W1、W2、……、Wn中的每个词,分别在标音词表中查找对应的音节。
    步骤4:将查找到的音节串联起来,构成音节序列,记为y1、y2、……、ym。其中,m为音节的个数,yi(i=1、2、……、m)为音节。在如图3中显示了生成的音节序列。
    步骤5:构造初始节点V0和结束节点Vm+2;并构造(m+1)个中间节点,包括V1、V2、……、Vm+1
    构造V0与V1的之间的一条边,将该边的音节标签设置为空标签(!NULL),将该边的权重设置为1;构造Vm+1与Vm+2的之间的一条边,将该边的音节标签设置为!NULL,将该边的权重设置为1;依次针对两个相邻的中间节点Vi与Vi+1(i=1,2,……,m)构造一条边,将各条边的音节标签分别设置为y1、y2、……、ym,将每条边的权重均设置为1。如图3中显示了转换得到的音节混淆网络。
    实施例三:
    在上述步骤101中,还可以进一步建立所有目标音节混淆网络的索引;在上述步骤103中,可以查询通过查询该索引,确定包含待查询音节混淆网络中所有音节的目标音节混淆网络,之后计算待查询音节混淆网络与确定出的各个目标音节混淆网络的相似度。
    本实施例介绍建立索引的具体方式。
    目标音节混淆网络的索引包括正排索引和倒排索引。
    其中,正排索引中存储目标语音文件所对应的目标音节混淆网络与音节混淆网络标识的对应关系;
    倒排索引包括:目标音节混淆网络中的各个音节所属的目标音节混淆网络的音节混淆网络标识、以及该音节所对应的边的权重。倒排索引中的索引单元为音节,索引项中记录音节所在的目标音节混淆网络的标识、该音节所对应的边的权重等信息。
    以下参照附图4和附图5介绍构造索引的具体实现方式。如图4为本实施例中所应用的其中一个音节混淆网络,该音节混淆网络的标识为source1927。图5为本实施例中构造成功的倒排索引,图5中针对每个音节有一条索引项列表,音节之后所连接的每一个框为该音节的一个索引项。
    构造索引的具体步骤包括:
    步骤1:输入音节混淆网络,每个音节混淆网络对应一个标识sid。
    步骤2:将音节混淆网络及其对应的sid保存入正排索引。
    步骤3:针对所有音节混淆网络中的各个音节,分别建立对应的索引项列表,该索引向列表中包括该音节。
    步骤4:针对所有音节混淆网络中的每一条边,依次执行以下步骤,直至所有边被处理完毕。
    设边上的音节标签为lbl,权重为w,在倒排索引文件中查找lbl对应的索引项列表;构造索引项,记录该边所在音节混淆网络的标识sid、该边的权重w和其他信息;将构造好的索引项插入lbl对应的索引项列表中。
    实施例四:
    本实施例介绍使用音节混淆网络进行检索的具体方式。
    检索目的:设待查询语音文件或待查询文本对应的待查询音节混淆网络为S,目标语音文件对应的目标音节混淆网络为D。如果S中至少一条从初始节点到结束节点的路径能够在D中找到,则认为检索成功。
    为了完成检索,可以将待查询音节混淆网络为转换为一张状态转移查询表。 例如,待查询文本为“腾讯”时,其音节混淆网络对应的状态转移查询表如表1:

     !NULLteng2xun401:1.0  1 2:1.0 2  3:1.034:1.0  4   

    表1
    表1中,行号为状态,列号为音节标签。如果行取X、列取Y时,对应的表格不为空,则表示存在以状态为X的节点为起点、并且音节标签为Y的边;并且,该表格的内容包含该边的终点以及权重。例如,由1表所示的状态转移查询表可以看出,对应的音节混淆网络中,存在以状态为0的节点为起点、音节标签为!NULL的一条边,并且该边的终点是状态为1的节点、该边的权重为1.0。
    以上介绍了状态转移查询表。以下介绍利用状态转移查询表计算待查询音节混淆网络与目标音节混淆网络的相似度的具体方式。包括以下步骤:
    步骤1:查询所有目标音节混淆网络的索引,确定包含待查询音节混淆网络中所有音节的目标音节混淆网络。具体可以采用如下方式:
    根据待查询音节混淆网络中的音节序列y1、y2、……、ym查询目标音节混淆网络的索引,得到各个音节对应的目标音节混淆网络的集合,分别记为Set1、Set2、……、Setm;求Set1、Set2、……和Setm的交集,得到同时包含音节y1、y2、……和ym的待查询音节混淆网络的集合:
    步骤2:根据待查询音节混淆网络为S生成对应的状态转移查询表T。
    步骤3:针对集合Set中的每一个目标音节混淆网络Di,计算S与Di的相似度。计算相似度的具体方式为:
    针对Di的每个节点构造一个令牌,将该令牌的状态Status设置为T的初始状态,将该令牌的观测设置为!NULL,将该令牌的权重设置为1,将该令牌的得 分Score设置为0;针对各个令牌分别执行以下步骤A,得到最终存活令牌列表,并对最终存活令牌列表中所有令牌的得分求和,将求和结果作为待查询音节混淆网络与该目标音节混淆网络的相似度;
    A、判断所述当前令牌的观测是否为!NULL,如果是,则执行步骤B;否则执行步骤C;
    B、在所述状态转移查询表中查询行取Status、并且列取!NULL时对应的表格,设表格中的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移表中查询行取Status’的非空表格C1...Ck,在当前位置构造k个新的令牌,每个新的令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分为当前令牌的得分,针对所述新的令牌继续执行步骤A;
    C、设所述令牌的观测为obsr,遍历所述目标音节混淆网络中以该令牌所在节点为出发点的各条边,如果所述各条边的音节标签均不为obsr,则删除该令牌;如果有一条边上的音节标签为obsr,则执行如下步骤:在所述状态转移查询表中,查询行取Status、并且列取obsr时对应的表格,设该表格对应的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移查询表中查询行取Status’的非空表格C1...Ck,在该边的结束节点上构造k个新的令牌,每个令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分Score更新为原Score与当前令牌权重与该边的权重的乘积之和,针对所述新的令牌继续执行步骤A。
    步骤4:按照相似度由大到小的顺序对集合Set中的目标查询音节混淆网络进行排序;相似度越高,则表明目标查询音节混淆网络与待查询音节混淆网络越相似,该目标查询音节混淆网络所对应的目标语音文件也就是本发明需要查询的目标语音文件。
    实施例五:
    对于实施例四中计算相似度的方法,本实施例介绍一个实际的例子。
    在本实施例中,待查询语音文件为“知道了”,如图6为该待查询音节混淆网络S的示意图。
    将该S转换为状态转移查询表T,如下表2。
     !NULLzhi1dao4le101:1.0   1 2:1.0  2  3:1.0 3   4:1.045:1.0   5    

    表2
    本实施例中采用的目标音节混淆网络D如图4所示。
    计算相似度时,针对D的每一个节点构造一个令牌,
    1)针对状态为0的节点:
    构造一个令牌A,设置令牌A的状态Status=0,观测为!UNLL,权重为1,得分Score=0;
    由于令牌A的观测为!UNLL,则在表2中查找到(0,!UNLL)对应的表格,该表格中的状态Status’=1,不是表2的终止状态,则删除令牌A;并在表2中查询行取1(即Status’的值)的非空表格,该表格对应的列上的音节标签为zhi1、该表格中的权重为1,则在当前位置(即状态为0的节点)构造1个新的令牌B,设置令牌B的状态Status=1(即Status’的值),观测为zhi1,权重为1(即该表格中的权重),得分Score=0(即令牌A的得分);
    由于令牌B的观测不为!UNLL,则遍历D中以令牌B所在节点(即状态为0的节点)为出发点的各条边,遍历结果为所有边的音节标签均不为zhi1,故删除令牌B。
    2)针对状态为1的节点:
    构造一个令牌C,设置令牌C的状态Status=0,观测为!UNLL,权重为1, 得分Score=0;
    由于令牌C的观测为!UNLL,则在表2中查找到(0,!UNLL)对应的表格,该表格中的状态Status’=1,不是表2的终止状态,则删除令牌C;并在表2中查询行取1(即Status’的值)的非空表格,该表格对应的列上的音节标签为zhi1、该表格中的权重为1,则在当前位置(即状态为1的节点)构造1个新的令牌D,设置令牌D的状态Status=1(即Status’的值),观测为zhi1,权重为1(即该表格中的权重),得分Score=0(即令牌C的得分);
    由于令牌D的观测不为!UNLL,则遍历D中以令牌D所在节点(即状态为1的节点)为出发点的各条边,遍历结果为所有边的音节标签均不为zhi1,故删除令牌D。
    3)针对状态为2的节点:
    构造一个令牌E,设置令牌E的状态Status=0,观测为!UNLL,权重为1,得分Score=0;
    由于令牌E的观测为!UNLL,则在表2中查找到(0,!UNLL)对应的表格,该表格中的状态Status’=1,不是表2的终止状态,则删除令牌E;并在表2中查询行取1(即Status’的值)的非空表格,该表格对应的列上的音节标签为zhi1、该表格中的权重为1,则在当前位置(即状态为2的节点)构造1个新的令牌F,设置令牌F的状态Status=1(即Status’的值),观测为zhi1,权重为1(即该表格中的权重),得分Score=0(即令牌E的得分);
    由于令牌F的观测不为!UNLL,则遍历D中以令牌E所在节点(即状态为2的节点)为出发点的各条边,遍历结果为有一条边的音节标签为zhi1;在表2中,查询(1,zhi1)时对应的表格,该表格对应的状态为Status’=2,不是该表格的终止状态,则删除令牌F;在表2中查询行取2(即Status’的值)的非空表格,该表格对应的列上的音节标签为dao4、该表格中的权重为1,则在该边的结束节点上(即状态为3的节点)上构造1个令牌G,设置令牌G的状态Status=2(即Status’的值),观测为dao4,权重为1(即该表格中的权重),得分Score=0+1*0.95=0.95。
    由于令牌G的观测不为!UNLL,则遍历D中以令牌G所在节点(即状态为3的节点)为出发点的各条边,遍历结果为有一条边的音节标签为dao4;在表2中,查询(2,dao4)时对应的表格,该表格对应的状态为Status’=3,不是该表格的终止状态,则删除令牌G;在表2中查询行取3(即Status’的值)的非空表格,该表格对应的列上的音节标签为le1、该表格中的权重为1,则在该边的结束节点上(即状态为4的节点)上构造1个令牌H,设置令牌H的状态Status=3(即Status’的值),观测为le1,权重为1(即该表格中的权重),得分Score=0.95+1*0.7=1.65。
    由于令牌H的观测不为!UNLL,则遍历D中以令牌H所在节点(即状态为4的节点)为出发点的各条边,遍历结果为有一条边的音节标签为le1;在表2中,查询(3,le1)时对应的表格,该表格对应的状态为Status’=4,不是该表格的终止状态,则删除令牌H;在表2中查询行取4(即Status’的值)的非空表格,该表格对应的列上的音节标签为!NULL、该表格中的权重为1,则在该边的结束节点上(即状态为5的节点)上构造1个令牌I,设置令牌I的状态Status=4(即Status’的值),观测为!NULL,权重为1(即该表格中的权重),得分Score=1.65+1*1=2.65。
    由于令牌I的观测为!UNLL,则在表2中查找到(4,!UNLL)对应的表格,该表格中的状态Status’=5,是表2的终止状态,则将令牌I加入最终存活令牌列表。
    之后,针对状态为3、4、5、6、7的节点均设置一个令牌,并采用与上述同样的方式执行。最后,最终存活令牌列表中包括一个令牌I,令牌I的得分Score=2.65,该得分就可以作为待查询音节混淆网络S与目标音节混淆网络D的相似度。如果最终存活令牌列表中包括多个令牌,则将所有令牌的得分求和,求和结果可以作为待查询音节混淆网络S与目标音节混淆网络D的相似度。
    本发明还提出一种语音文件查询装置,如图7为该装置的结构示意图,包括:
    转换模块701,用于将每个目标语音文件分别转换成对应的目标音节混淆网 络;将待查询语音文件或待查询文本转换成对应的待查询音节混淆网络;
    相似度计算模块702,用于计算所述待查询音节混淆网络与各个目标音节混淆网络的相似度;
    获取模块703,用于获取相似度最高的一个以上目标音节混淆网络所对应的目标语音文件。
    上述装置中,转换模块701将目标语音文件转换成对应的目标音节混淆网络、或者将待查询语音文件转换成对应的待查询音节混淆网络的方式可以为:
    利用音节解码器对所述目标语音文件或待查询语音文件进行解码,得到中间结果;利用框架Lattice转换工具对所述中间结果进行转换,得到对应的音节混淆网络。
    转换模块701将待查询文本转换成对应的待查询音节混淆网络的方式可以为:
    将所述待查询文本划分为多个词;
    查找所述各个词对应的音节;
    将查找到的音节串联,得到音节序列y1、y2、……、ym,其中,m为音节的个数,yi(i=1、2、……、m)为音节;
    构造初始节点V0和结束节点Vm+2;并构造(m+1)个中间节点,包括V1、V2、……、Vm+1
    构造V0与V1的之间的一条边,将该边的音节标签设置为空标签!NULL,将该边的权重设置为1;构造Vm+1与Vm+2的之间的一条边,将该边的音节标签设置为!NULL,将该边的权重设置为1;依次针对两个相邻的中间节点Vi与Vi+1(i=1,2,……,m)构造一条边,将各条边的音节标签分别设置为y1、y2、……、ym,将每条边的权重均设置为1。
    上述转换模块701还可以用于,建立所有目标音节混淆网络的索引,包括正排索引和倒排索引;
    所述正排索引包括各个目标音节混淆网络与音节混淆网络标识的对应关 系;
    所述倒排索引包括:目标音节混淆网络中的各个音节所属的目标音节混淆网络的音节混淆网络标识、以及该音节所对应的边的权重。
    相似度计算模块702计算待查询音节混淆网络与各个目标音节混淆网络的相似度的方式可以为:
    查询所述所有目标音节混淆网络的索引,确定包含所述待查询音节混淆网络中所有音节的目标音节混淆网络;根据待查询音节混淆网络生成对应的状态转移查询表,采用所述状态转移查询表计算待查询音节混淆网络与所述确定出的各个目标音节混淆网络的相似度。
    所述相似度计算模块702采用状态转移查询表计算计算相似度的具体方式可以为:
    针对该目标音节混淆网络的每个节点构造一个令牌,将该令牌的状态Status设置为所述状态转移查询表的初始状态,将该令牌的观测设置为!NULL,将该令牌的权重设置为1,将该令牌的得分Score设置为0;针对各个令牌分别执行以下步骤A,得到最终存活令牌列表,并对最终存活令牌列表中所有令牌的得分求和,将求和结果作为待查询音节混淆网络与该目标音节混淆网络的相似度;
    A、判断所述当前令牌的观测是否为!NULL,如果是,则执行步骤B;否则执行步骤C;
    B、在所述状态转移查询表中查询行取Status、并且列取!NULL时对应的表格,设表格中的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移表中查询行取Status’的非空表格C1...Ck,在当前位置构造k个新的令牌,每个新的令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分为当前令牌的得分,针对所述新的令牌继续执行步骤A;C、设所述令牌的观测为obsr,遍历所述目标音节混淆网络中以该令牌所在节点为出发点的各条边,如果所述各条边的音节标签均不为obsr,则删除该令牌;如果有一条边上的音节标签为obsr,则执行如下步骤:在所述状态转移查询表 中,查询行取Status、并且列取obsr时对应的表格,设该表格对应的状态为Status’,如果Status’为状态转移表的终止状态,将当前令牌加入最终存活令牌列表,结束当前步骤;否则,删除当前令牌,在所述状态转移查询表中查询行取Status’的非空表格C1...Ck,在该边的结束节点上构造k个新的令牌,每个令牌的状态为Status’,观测为表格对应的列上的音节标签,权重为表格中的权重,得分Score更新为原Score与当前令牌权重与该边的权重的乘积之和,针对所述新的令牌继续执行步骤A。
    综上所述,本发明提出技术方案将目标语音文件和待查询语音文件/待查询文本转换成音节混淆网络,并比较两者的相似度,相似度高的目标语音文件就是要查询的目标语音文件。本发明的方案避免了将语音转写成文字或音节/音素形式过程中出现的错误,能够提高语音查询的精确度。
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

    关 键  词:
    一种 语音 文件 查询 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种语音文件查询方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-623801.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1