群集系统、方法、程序和使用群集系统的属性估计系统的制作方法

文档序号:2829564阅读:324来源:国知局
专利名称:群集系统、方法、程序和使用群集系统的属性估计系统的制作方法
技术领域
本发明涉及执行语言模型的群集的群集系统、群集方法、群集程序和使用群集系统的属性估计系统。
背景技术
传统上,使用音频模型进行属性估计和语音识别的系统是已知的。图26示出了传统属性估计装置中的数据流。图26的属性估计装置901用于估计发言人的属性,例如年龄组。当接收到发言人发出的输入语音时,属性估计装置901使用预先记录的与多个年龄组相关的音频模型来估计发言人的年龄组,并且输出估计结果。在图26的示例中,建立(prepare)音频模型,在该音频模型中收集了包含在由0至10岁、11至20岁、…、61至70岁和70或以上的各个年龄段的人发出的语音中的音频。通常,使用人为确定的这种年龄段来建立音频模型。
在人为设定的年龄段中,很难将一个人的语音发生变化的年龄、成年人的语音变成苍老沙哑语音的年龄、词语的使用从年轻人变为成年人的年龄、词语的使用从成年人变成老年人的年龄等并入到音频模型的年龄段中。这样,他/她看起来合适的人为设定的音频模型的属性类将阻碍属性估计装置的性能提高。
为了精确地理解属性类,优选地对由大量发言人数据组成的模型进行群集。传统上,已经开发了用于对由大量发言人数据组成的音频模型进行群集的技术。例如,提出了一种群集装置,其中根据各个发言人的语音波形数据来估计多个发言人的声道构造的特征量,并且根据这些特征量对发言人进行群集(例如,参见JP H11(1999)-175090A)。提出了另一种方法,其中基于与根据发言人的语音数据获得的声道长度有关的信息和用于校正他/她的发声方式和习惯的影响的信息,来提取发言人的特征量,并且使用该特征量对发言人进行群集(例如,参见JP2002-182682A)。作为这种群集的结果,可以精确地设置音频模型的属性类,并且可以获得经群集的音频模型。
图27示出了传统属性估计装置中的数据流,该属性估计装置使用语言模型和进行了群集的音频模型来进行属性估计。根据发言人的年龄对音频模型组进行群集,其中音频模型1、音频模型2、…、音频模型n是根据它们的群集记录的音频模型。当接收到由发言人发出的语音输入时,属性估计装置902使用被群集为多个年龄组的音频模型组以及语言模型来估计发言人的年龄组,并且输出估计结果。图27的属性估计装置902使用被群集为根据多个年龄组的多个群集的音频模型,但是使用通用于所有年龄组的语言模型。
因此,属性估计装置902可以识别不同年龄组之间的语音差异,但是不能识别不同年龄组之间的用词的差异。作为日语的一个具体示例,年轻人可能说“Boku-wa-genki-desu”,而老人可能以不同的方式说“Washi-wa-genki-jya”。
在英语的一个具体示例中,老人可能使用词语“Nature calls”,而年轻人不会使用这样的词语,而是使用“I have to go to bathroom”。
为了使得能够考虑到这种语言信息来进行属性估计,需要下述的群集语言模型,其中收集出现在由多个发言人发出的语音中或者书写的文本中的词汇。
在这点上,尽管已经开发了基于语音数据的对发言人进行群集的方法,但是没有建立基于语言模型的对发言人进行群集的方法。换句话说,还没有开发出对语言模型进行群集的方法。对语言模型进行群集的困难是由下述事实导致的不同的语言模型包含不同的词汇,因此,当要对多个不同的语言模型进行群集时,不能作为相同的矢量简单地对它们进行处理。
作为一简单示例,日语具有表示第一人称的多个词语,例如“boku”、“washi”、“watashi”、“ore”等。在这些表示第一人称的多个词语中,在各个年龄组和性别之间使用的频率不同。通常,70岁的人常使用“washi”作为第一人称,而20岁的人常使用“boku”作为第一人称。因此,70岁的人的语言模型将包含词语“washi”,而20岁的人的语言模型将包含词语“boku”而不是“washi”。
作为英语的一个简单示例,70岁的人的语言模型可能包含词语“Nature calls”,而20岁的人的语言模型可能包含词语“to bathroom”而不是“Nature calls”。
因此,如前所述,本发明的目的是提供一种能够对语言模型进行群集的群集系统以及一种群集方法和一种群集程序,在该语言模型中,收集出现在由多个发言人发出的语音中或者书写的文本中的词汇。

发明内容
本发明的群集系统用于对包括与多个属性值相对应的语言模型的语言模型组进行群集,每一个语言模型都与表示人的预定属性的属性值相关联,并且具有多个条目,这些条目包括表现为由具有使用这些属性值表示的属性的一个或更多个人发出的语音或者书写的文本的词汇以及表示所述词汇的出现频率的数据。所述群集系统包括并集语言模型建立单元,用于生成表示包含在语言模型组中的词汇的并集的并集数据,并使用所述并集数据建立并集语言模型,所述并集语言模型包括词汇的并集以及词汇的出现频率,为包含在语言模型组中的每一个语言模型建立并集语言模型,以建立并集语言模型组;以及群集单元,用于根据预定的方法对并集语言模型组进行群集,以将所述并集语言模型组分类为多个群集,并且生成群集数据,该群集数据表示包含在每一个群集中的并集语言模型中的一个或更多个。当所述并集语言模型建立单元建立特定语言模型的并集语言模型时,所述并集语言模型建立单元与词汇在所述特定语言模型中的出现频率相关联地记录包含在所述并集数据中的词汇当中的包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目,并且与表示出现频率为0的数据相关联地记录包含在所述并集数据中的词汇当中的没有包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目。
这样,当所述并集语言模型建立单元建立特定语言模型的并集语言模型时,所述并集语言模型建立单元将包含在所述并集数据中的词汇当中的包含在所述特定语言模型中的词汇与所述词汇在所述特定语言模型中的出现频率相关联,并且记录所关联的结果作为所述并集语言模型中的条目。此外,所述并集语言模型建立单元将包含在所述并集数据中的词汇当中的没有包含在所述特定语言模型中的词汇与表示出现频率为0的数据相关联,并且记录所关联的结果作为所述并集语言模型中的条目。由此,包含在所述并集语言模型中的条目的数量等于所述并集中的数量。因此,包含在与所述语言模型相对应地建立的并集语言模型组中的所有并集语言模型都具有相同数量的条目。即,所述并集语言模型建立单元对于各个语言模型可以建立具有相同数量的条目的多个并集语言模型。
由此,所述群集单元可以对具有相同数量的条目的多个并集语言模型执行群集处理。结果,所述群集单元可以作为相同的矢量来执行多个并集语言模型的群集处理。由于为每一个语言模型建立了并集语言模型,所以多个并集语言模型的群集处理意味着多个对应语言模型的群集。由此,即使在包含在语言模型组中的多个语言模型具有不同数量的条目时,也可以对这种语言模型组进行群集。结果,可以对多个语言模型进行群集。
通过参照附图阅读和理解下面的详细描述,本发明的这些和其他优点将对本领域的技术人员变得明显。


图1是表示根据实施例1的群集系统和属性估计系统的构造的功能框图。
图2简要地说明了对语言模型的群集。
图3是表示对语言模型进行群集的示例性处理的流程图。
图4是表示条目删除的示例性处理的流程图。
图5是表示条目删除的另一示例性处理的流程图。
图6表示待群集语言模型、并集条目和并集语言模型的数据结构的示例。
图7表示用于确定多个语言模型的平均值的计算的示例。
图8是表示估计发言人的属性的示例性处理的流程图。
图9表示属性估计处理的具体示例。
图10是表示实施例2的群集系统和属性估计系统的构造的功能框图。
图11A表示群集数据的示例,图11B表示待群集语言模型组的示例。
图12是表示实施例3的群集系统和属性估计系统的构造的功能框图。
图13是表示对语言模型和音频模型进行群集的示例性处理的流程图。
图14表示待群集音频模型、并集语言模型和链接模型的具体示例。
图15表示群集链接模型、群集音频模型和群集语言模型的具体示例。
图16是表示分值计算单元的构造的功能框图。
图17是表示估计发言人的属性的示例性处理的流程图。
图18是表示计算一个群集的分值的处理的流程图。
图19表示特征提取单元的输入/输出数据的示例。
图20表示候选语句建立单元的输入/输出数据的示例。
图21表示音素串建立单元的输入/输出数据的示例。
图22表示语言分值计算单元的输入/输出数据的示例。
图23表示音频分值计算单元的输入/输出数据的示例。
图24表示综合分值计算单元的输入/输出数据的示例。
图25表示最佳分值计算单元的输入/输出数据的示例。
图26表示传统属性估计装置中的数据流。
图27表示使用语言模型和音频模型的传统属性估计装置中的数据流。
具体实施例方式
在根据本发明的群集系统中,优选地,所述群集单元还根据包含在每一个群集中的并集语言模型,生成与使用所述群集数据表示的每一个群集相对应的群集语言模型。
由于所述群集单元生成与每一个群集相对应的群集语言模型,所以可以生成每一个群集的典型语言模型作为所述群集语言模型。
优选地,根据本发明的群集系统还包括条目删除单元,用于在包含在并集语言模型或者群集语言模型中的条目当中,删除出现频率低于预定阈值的条目。
所述条目删除单元可以删除低出现频率的、不值得登记的条目。由此,所述条目删除单元可以减少并集语言模型或者群集语言模型中的条目的数量,以减小数据大小。
优选地,根据本发明的群集系统还包括条目删除单元,用于在包含在并集语言模型或者群集语言模型中的条目当中,保留以出现频率的降序排列的N条较高次序的条目,并且删除其余的条目。
通过这种构造,所述条目删除单元可以删除低出现频率的条目。即,可以将条目数量控制在固定数量(N)以内。结果,所述条目删除单元可以减少并集语言模型或者群集语言模型中的条目的数量,以减小数据大小。
优选地,根据本发明的群集系统还包括链接记录单元,用于记录与具有对应属性值的并集语言模型相关联的音频模型作为相应属性值的链接模型,所述音频模型与多个属性值相对应,每一个音频模型与表示人的预定属性的属性值相关联并且具有多个条目,这些条目包括包含在具有使用所述属性值表示的属性的人的语音中的音频和表示所述音频的出现频率的数据。所述群集单元对具有由链接记录单元记录的各个属性值的链接模型进行群集,以将这些链接模型分类为多个群集,并且生成表示每一个群集的群集数据。
由于链接记录单元将具有属性值的音频模型与具有属性值的并集语言模型相关联,并且对其进行记录,所以具有属性值的链接模型对于该属性值包括音频模型和并集语言模型。根据其属性值来记录多个这种链接模型。所述群集单元对该多个链接模型进行群集,因此,可以考虑语言和语音两者来进行群集。结果,使得能够进行更高精确度的群集。
优选地,根据本发明的群集系统还包括加权单元,用于将表示包含在音频模型的条目中的出现频率的数据和表示包含在并集语言模型的条目中的出现频率的数据中至少一个乘以加权因子,以调节音频模型中的出现频率的分布(dispersion)和并集语言模型中的出现频率的分布中的至少一个。
即使当音频模型中的出现频率的分布和并集语言模型中的出现频率的分布彼此不同时,上述加权单元也可以调节这两个分布。
根据本发明的属性估计系统用于使用由根据本发明的群集系统生成和建立的群集数据和并集语言模型来估计人的属性。该属性估计系统包括输入单元,通过该输入单元来输入与人有关的语言信息;分值计算单元,用于使用并集语言模型来计算通过输入单元输入的语言信息的分值,对由群集数据表示的每一个群集计算分值;以及属性估计单元,用于根据各个群集的分值来生成表示人的属性的数据,以估计该属性。
该分值计算单元根据属性值,对通过对语言模型进行群集而获得的每一个群集计算所输入的词汇的分值,并且该属性估计单元根据这些分值来估计属性。因此,可以考虑语言信息高精确度地识别各个属性的特征。
本发明的属性估计系统用于使用由根据本发明的群集系统生成和建立的群集数据和并集语言模型来估计人的属性。该属性估计系统包括输入单元,通过该输入单元来输入表示人的语音的数据;语言分值计算单元,用于使用并集语言模型来计算通过输入单元输入的语音的语言分值,对由群集数据表示的每一个群集计算语言分值;音频分值计算单元,用于计算通过输入单元输入的语音的音频分值,对由群集数据表示的每一个群集计算音频分值;以及属性估计单元,用于根据各个群集的音频分值和各个群集的语言分值来生成表示人的属性的数据,以估计该属性。
本发明的群集方法用于使用计算机对语言模型组进行群集。该语言模型组包括与多个属性值相对应的语言模型,每一个语言模型都与表示人的预定属性的属性值关联并且具有多个条目,这些条目包括表现为由具有使用属性值表示的属性的一个或更多个人发出的语音或者书写的文本的词汇以及表示这些词汇的出现频率的数据。该方法包括以下步骤并集建立步骤,在该步骤中,设置在计算机中的并集语言模型建立单元生成表示包含在语言模型组中的词汇的并集的并集数据,并且使用该并集数据来建立包括词汇的并集和词汇的出现频率的并集语言模型,为包含在语言模型组中的每一个语言模型建立并集语言模型,以建立并集语言模型组;以及群集数据生成步骤,在该步骤中,设置在计算机中的群集单元根据预定的方法对并集语言模型组进行群集,以将并集语言模型组分类为多个群集,并且生成群集数据,该群集数据表示包含在每一个群集中的并集语言模型中的一个或更多个。在并集建立步骤中,当并集语言模型建立单元为特定语言模型建立并集语言模型时,并集语言模型建立单元将包含在并集数据中的词汇当中的包含在特定语言模型中的词汇与所述词汇在该特定语言模型中的出现频率相关联地记录为并集语言模型中的条目,并且将包含在所述并集数据中的词汇当中的没有包含在该特定语言模型中的词汇与表示出现频率为0的数据相关联地记录为并集语言模型中的条目。
存储在根据本发明的记录介质中的群集程序用于使计算机执行对包括与多个属性值相对应的多个语言模型的语言模型组的群集处理,每一个语言模型都与表示人的预定属性的属性值相关联并且具有多个条目,这些条目包括表现为由具有使用属性值表示的属性的一个或更多个人发出的语音或者书写的文本的词汇以及表示这些词汇的出现频率的数据。该程序使计算机执行以下处理并集语言模型建立处理,用于生成表示包含在语言模型组中的词汇的并集的并集数据,并且使用该并集数据来建立并集语言模型,该并集语言模型包括词汇的并集以及词汇的出现频率,为包含在语言模型组中的每一个语言模型建立并集语言模型,以建立并集语言模型组;群集处理,用于根据预定的方法对并集语言模型组进行群集,以将并集语言模型组分类为多个群集并且生成群集数据,该群集数据表示包含在每一个群集中的并集语言模型中的一个或更多个。在并集语言模型建立处理中,当对特定语言模型建立并集语言模型时,该程序使计算机执行下述的处理将包含在并集数据中的词汇当中的包含在特定语言模型中的词汇与所述词汇在该特定语言模型中的出现频率相关联地记录为并集语言模型中的条目,并且将包含在所述并集数据中的词汇当中的未包含在该特定语言模型中的词汇与表示出现频率为0的数据相关联地记录为并集语言模型中的条目。
根据本发明,可以提供下述的群集系统,并且可以提供这种群集方法和群集程序,该群集系统能够对语言模型进行群集,在这些语言模型中,收集出现在由多个发言人发出的语音中或者书写的文本中的词汇。
(实施例1)图1是表示根据本实施例的群集系统和属性估计系统的构造的功能框图。图1的属性估计系统2包括输入单元21、分值计算单元22和属性估计单元23,并且与用于记录进行了群集的语言模型组的单元(下文中,称为“群集语言模型组记录单元”)103相连。群集系统1包括群集单元14、条目删除单元13和并集语言模型建立单元15,并且与用于记录待群集语言模型组的单元(下文中,称为“待群集语言模型组记录单元”)106和群集语言模型组记录单元103相连。
可以通过将程序安装到诸如个人计算机、服务器、工作站等的计算机中来实现属性估计系统2和群集系统1。也就是说,通过计算机的CPU执行预定程序,可以实现输入单元21、分值计算单元22、属性估计单元23、群集单元14、条目删除单元13和并集语言模型建立单元15的功能。因此,用于通过计算机来实现输入单元21、分值计算单元22、属性估计单元23、群集单元14、条目删除单元13和并集语言模型建立单元15的功能的程序以及用于记录它们的记录介质也是本发明的实施例。
通过可从计算机的内部存储设备或者该计算机访问的存储装置,可以实现待群集语言模型组记录单元106和群集语言模型组记录单元103。在此,可以通过一台计算机或者多台计算机来构造属性估计系统2和群集系统1。
(群集系统的构造)
待群集语言模型组记录单元106包括记录在其中的多个语言模型。各个语言模型都与表示人的属性的属性值相关联。即,对表示人的属性的各个属性值提供各个语言模型。每一个语言模型都具有多个条目,这些条目包括出现在由具有与该语言模型相关联的属性值的属性的人发出的语音中或者书写的文本中的词汇以及表示这些词汇的出现频率的数据。
例如,人的属性是人的性格、体质、习惯、行为、所属单位、社会地位等。属性值使用数据来显示人的属性。表示属性的属性值的具体示例包括表示年龄、性别、职业、职称、年收入、生活地区、工作地区、学校、工作地点、业余爱好或者家庭结构的数据、或者这些数据的组合。
群集系统1对记录在待群集语言模型组记录单元106中的语言模型组执行群集处理,并且根据语言模型之间的相似性将语言模型组分类为多个子集。每一个子集都被称为群集。群集系统1生成与每一个群集相对应的语言模型,并且将其作为进行了群集的语言模型(下文中,称为群集语言模型)记录在群集语言模型组记录单元103中。
下面将简要地描述语言模型的群集处理的具体示例。图2简要地表示了对语言模型进行的群集。图2示出了待群集语言模型组BC的示例和群集语言模型组AC的示例。图2的待群集语言模型组BC是为每一岁的年龄组建立的一组语言模型。
例如,5岁语言模型包含其中记录了由一个或更多个5岁的人说出的或者书写的大量词汇的数据。与下述的属性值成对地记录5岁语言模型,该属性值表示说出包含在该语言模型中的词汇的人的属性(在该示例中是年龄)为“5岁”。通过这种方式,记录每一个语言模型,以与表示属性的属性值相关联。
此外,每一个语言模型例如由包括多个词汇和这些词汇的出现频率的一组条目组成。在此,条目是语言模型中的数据单位。在本实施例中,一个条目包括多个词汇和这些词汇的出现频率。然而,包含在一个条目中的数据不限于上述的多个词汇及其出现频率。
作为采集作为语言模型的基础的数据的方法,可以使用多种方法,例如,可以记录大量的人的自然发声并且以抄本(transcript)的形式书写,可以从诸如报纸文章和杂志的文档中以及诸如磁带、录像带、CD、DVD等的记录介质中采集文集,并且可以从信件和交谈中采集语句。
对于为每一岁的年龄组建立的一组语言模型(待群集语言模型组),群集系统1计算语言模型之间所包含的词汇的分布的相似性,并且根据该相似性自动地将它们分类为多个子集(群集)。然后,生成与每一个子集(群集)相对应的语言模型作为群集语言模型。当使用稍后描述的公知群集方法将上述的待群集语言模型组分为多个子集(群集)时,将使用稍后描述的群集方法。由此,建立了群集语言模型组AC。图2的群集语言模型组AC包括作为一个示例的为5至8岁、9至12岁、…、76岁或更大年龄的年龄组建立的群集语言模型。也就是说,作为群集的结果,将为每一岁的年龄组建立的一组语言模型分类为5至8岁、9至12岁、…、76岁或更大年龄的各个群集。
与表示对应属性的属性值成对地记录群集语言模型。例如,将5至8岁的年龄组的群集语言模型记录为与表示年龄为“5至8岁”的属性值相关联。
与其中他/她看起来合适的人为设置的属性类的情况相比,通过计算来自动地对一组语言模型进行群集,可以得到基于更适当的统计基础的属性类。也就是说,在图2的示例中,群集系统1可以基于包含大量语言数据的待群集语言模型组BC,考虑语言根据年龄的变化趋势建立通过年龄组分类的群集语言模型组AC。可以有效地将该群集语言模型组AC用于通过属性估计系统2根据输入语言信息来估计年龄的处理。
这是对下述示例的说明,其中与每一个语言模型相关联的属性值是表示年龄的数据,即,是下述示例的说明,其中对根据年龄记录的语言模型进行群集。然而,与各个语言模型相关联的属性值不限于表示年龄的数据。除了年龄以外,表示性别、职业、职称、年收入、生活地区、业余爱好或者家庭结构的数据、或者这些数据的组合可以是与各个语言模型相关联的属性值。
例如,当为每一个地区建立语言模型时,可以估计发言人的家乡。此外,当建立对于每一个国家、州或者地区记录的待群集语言模型时,对这些模型进行群集,从而可以为每一种语言或者每一种方言建立语言模型。如果采集了足够量的数据,则可以使用每一个城镇的模型作为待群集语言模型组。
这是对群集处理的简要描述。接下来,将描述群集系统1的各个功能块。
在群集系统1中,并集语言模型建立单元15建立表示包含在待群集语言模型组中的词汇的并集的并集数据,并且使用该并集数据建立并集语言模型。并集语言模型建立单元15将该并集数据与包含在待群集语言模型组中的每一个语言模型进行比较。在每一个语言模型包括与包含在并集数据中的词汇相对应的词汇的情况下,将语言模型中的这些词汇和出现频率输出到该语言模型的并集语言模型的条目中。在没有对应词汇的情况下,将这些词汇和出现频率0输出到该并集语言模型的条目中。从而,可以建立与包含在待群集语言模型中的每一个语言模型相对应的并集语言模型。即,可以建立与多个属性值相对应的并集语言模型。
群集单元14对通过并集语言模型建立单元15建立的并集语言模型组进行群集。结果,根据属性将该并集语言模型组分类为多个群集,并且生成表示每一个群集的群集数据。
该群集数据是用于指定包含在每一个群集中的并集语言模型的数据。例如,该群集数据包括表示包含在每一个群集中的语言模型、并集语言模型、人的属性等的数据。
群集单元14根据群集数据和并集语言模型组,生成与每一个群集相对应的群集语言模型。在群集语言模型组记录单元103中记录所生成的多个群集语言模型,作为群集语言模型组。
条目删除单元13删除包含在群集语言模型组中的语言模型的条目当中的低出现频率的条目。例如,可以删除出现频率低于预定阈值的条目,或者删除除了具有较高出现频率的前N个条目以外的条目。结果,可以减少记录在群集语言模型组记录单元103中的数据的大小。在此,可以保留能够表示语言模型的特征的条目,而不是简单地删除较低出现频率的条目。例如,条目删除单元13可以保留只在特定语言模型中出现的条目,即使该条目的出现频率小于阈值。
(属性估计系统的构造)下面描述图1的属性估计系统2的构造。属性估计系统2接收所输入的人的语言信息,并且输出表示人的属性的属性信息。例如,属性估计系统2从诸如语音交互应用程序的主机程序接收由人发出的语言信息,估计该人的属性并且将表示该属性的数据返回给主机程序。此外,属性估计系统2使用由群集系统1生成的群集语言模型来执行估计人的属性的处理。
在属性估计系统2中,将语言信息输入到输入单元21中。在输入单元21处输入的语言信息例如是表示作为属性估计的目标的人的词汇的文本数据、表示由人输入的一个或多个语句的文本数据等。例如,在输入单元21处,可以读入下述的文本数据作为语言信息,该文本数据是通过语音识别系统等对使用麦克风等输入的发言人的语音进行转换而获得的。另选地,可以读入下述的文本数据作为语言信息,该文本数据是在发言人使用诸如键盘、数字键和手写板的输入设备输入字符时获得的。
分值计算单元22对与记录在群集语言模型组记录单元103中的每一个群集相对应的每一个群集语言模型计算表示在输入单元21输入的语言信息中的词汇的出现频率的分值(可能性)。从而,可以计算每一个群集的分值。通过比较包含在每一个群集语言模型中的词汇和由所输入的语言信息表示的词汇,可以对每一个语言模型计算分值。
属性估计单元23根据由分值计算单元22计算的每一个群集的分值,生成表示人的属性的数据。例如,属性估计单元23可以将与群集语言模型当中的具有最高分值的语言模型相对应的属性设置为人的属性。将表示人的属性的数据返回给主机程序。此外,可以通过诸如显示器、打印机、扬声器等的输出设备输出表示该属性的数据。
(群集系统1的操作示例)以下描述群集系统1的操作示例。图3是表示通过群集系统1对语言模型进行群集的示例性处理的流程图。
首先,并集语言模型建立单元15对记录在待群集语言模型组记录单元106中的多个语言模型中的每一个建立并集语言模型(Op1、Op2否)。
下面将描述对一个语言模型建立并集语言模型的处理。首先,并集语言模型建立单元15生成表示包含在存储于待群集语言模型组记录单元106中的语言模型中的词汇的并集的并集数据。在包含在并集数据中的词汇当中,包含在上述语言模型中的词汇与由该语言模型表示的词汇的出现频率相关联,并且被记录为并集语言模型的条目,而没有包含在该语言模型中的词汇与表示出现频率为0的数据相关联,并且被记录在该并集模型的条目中。从而,可以建立与语言模型相关的并集语言模型。稍后将描述用于建立并集语言模型的处理的具体示例。
当完成并集语言模型的建立(Op2是)时,群集单元14基于预定的方法,对为多个语言模型建立的并集语言模型进行群集(Op3)。作为群集的结果,自动地将并集语言模型分类为多个群集,并且生成表示每一个群集的群集数据。作为上述的预定方法,可以使用公知的群集算法。
例如,作为用于群集处理的群集算法,著名的一个群集算法是K平均群集。例如,在“Pattern recognition and learning algorithm”(Yoshinori UESAKA和Kazuhiko OZEKI著,Bun-ichi sogo shyuppan,1990年5月10日,109至119页)中描述了该K平均群集。在该书中,描述了LBG算法,该算法与K平均群集的算法基本相同。
下面描述使用K平均群集对并集语言模型组进行群集的示例性处理。首先,群集单元14将并集语言模型组分类为预定数量的群集。群集单元14确定包含在每一个群集中的并集语言模型的加权中心(例如,平均值)。群集单元14计算并集语言模型组的并集语言模型之间的相似性以及每一个群集的平均值(例如,距离),并且将并集语言模型组分类为预定数量的群集,以使得每一个并集语言模型可以属于具有最接近的平均值的群集。通过这种方式,重复确定每一个群集的平均值并根据该平均值执行再次分类为预定数量的新群集的处理,直到这些群集不再变化为止。从而,可以自动地对并集语言模型组进行群集,以使得属于相同群集的并集语言模型之间的相似性的差异最小化,而属于不同群集的并集语言模型之间的相似性的差异最大化。
在该算法中,对于作为分类目标的模型组,需要用于确定模型之间的距离及其加权中心(平均值)的计算。通过建立上述的并集语言模型,可以进行该计算。稍后将描述用于确定模型之间的距离及其加权中心(平均值)的示例性计算。
群集单元14根据群集数据和包含在由该群集数据表示的每一个群集中的并集语言模型,生成与每一个群集相对应的语言模型(群集语言模型)。在群集语言模型组记录单元103中记录该群集语言模型。
例如,群集单元14确定包含在一群集中的多个并集语言模型的平均模型,并且将该平均模型设置为群集语言模型。在此,在多个并集语言模型的平均模型中,记录包含在并集语言模型中的每一个词汇和每一个词汇的平均出现频率。一个词汇的平均出现频率可以是该词汇在包含在群集中的多个并集语言模型中的出现频率的平均值。稍后将描述确定并集语言模型的平均模型的示例性处理。
群集语言模型的具体示例如图2所示。在图2的示例中,将对为从5岁至78岁中的每一岁的每一个属性(年龄)提供的待群集语言模型组BC群集为5至8岁的群集、9至12岁的群集、…、76岁或更大年龄的群集。为每一个群集生成群集语言模型。即,生成5至8岁的语言模型、9至12岁的语言模型、…、76岁或更大年龄的语言模型。在另一示例中,将为日本的每一个省提供的待群集语言模型组群集为一些省的组,例如包括东京、神奈川的语言模型的群集和包括大阪、兵库的语言模型的群集、…等等。
作为另一示例,将为美国的每一个州提供的待群集语言模型组群集为一些州的组,例如包括德克萨斯州、新墨西哥州和俄克拉荷马州的语言模型的群集,包括纽约州、宾夕法尼亚州和新泽西州的语言模型的群集,包括加利福尼亚州、俄勒冈州、华盛顿州的语言模型的群集,…等等。
对于通过上述群集处理(Op3)生成的群集语言模型,条目删除单元13根据预定的判断标准删除包含在该群集语言模型中的一部分条目(Op4)。条目删除单元13可以删除包含在该群集语言模型中的具有低出现频率的条目。对所有的群集语言模型(即,所有的群集)执行该条目删除处理(Op5)。
作为示例性条目删除处理,有删除出现频率低于预定阈值的条目的处理,以及保留具有较高出现频率的较高次序的条目并且删除其余的条目的处理。图4和图5示出了这些处理的具体示例。
图4是表示由条目删除单元13进行的删除包含在一个群集语言模型中的条目当中的出现频率低于预定阈值的条目的示例性处理的流程图。首先,条目删除单元13获取包含在群集语言模型中的条目的数量(Op410)。条目删除单元13将表示该群集语言模型中的第I条目的变量I初始化为“1”(Op411)。条目删除单元13判断变量I是否小于该群集语言模型中的条目数量(Op412)。如果变量I小于条目数量(在Op412为是),则执行Op413的处理。如果变量I大于或等于条目数量(在Op412为否),则结束对群集语言模型的处理。
在Op413中,条目删除单元13判断记录在群集语言模型中的第I条目中的出现频率(=出现频率[I])是否小于阈值(Op413)。仅在出现频率[I]小于阈值的情况下(在Op413为是),条目删除单元13才删除该第I条目(条目[I])(Op414)。然后,条目删除单元13使变量I加1(Op415)并且重复Op412的处理。
例如,预先在设置在群集系统1中的记录设备中记录在Op413使用的阈值。该阈值可以由设计人员确定,或者根据群集语言模型的大小、出现频率的分布等而通过计算来确定。
作为图4的处理的结果,条目删除单元13可以判断包含在一个群集语言模型中的所有条目的出现频率(例如,由概率表示)是否小于阈值(Op413),并且删除出现频率小于该阈值的条目。对记录在群集语言模型组记录单元103中的所有语言模型执行图4的处理。
图5是表示由条目删除单元13进行的在一个群集语言模型中仅保留具有较高出现频率的较高次序的条目而删除其余条目的示例性处理的流程图。首先,条目删除单元13获取群集语言模型中的条目的数量(Op420)。条目删除单元13按照出现频率的降序对包含在群集语言模型中的条目进行排序(Op421)。接下来,条目删除单元13将变量I初始化为“N+1”(Op422)。在此,N表示要保留的条目的数量,并且是预先记录在设置在群集系统1中的记录设备等中的数值。即,在Op421处进行了排序的条目当中,第N+1和之后的条目将是要删除的目标。
例如,在作为一个整体的群集语言模型组的可允许最大数据大小固定的情况下,条目删除单元13可以通过计算来确定N的值,以使得群集语言模型不超过上述的可允许最大数据大小。从而,可以考虑作为一个整体的群集语言模型组的可允许最大数据大小来删除低出现频率的条目。
条目删除单元13判断变量I是否小于群集语言模型的条目数量(Op422),如果变量I小于该条目数量(在Op423为是),则执行Op424的处理。如果变量I大于或者等于该条目数量(在Op423为否),则结束对群集语言模型的处理。
在Op424中,条目删除单元13删除该群集语言模型中的第I条目(条目[I])(Op424)。然后,条目删除单元13使变量I加1(Op425)并且重复Op423的处理。
作为图5的处理的结果,对于包含在一个群集语言模型中的所有条目,条目删除单元13可以仅保留具有较高出现频率的较高次序的N个条目并且删除其余的条目。对记录在群集语言模型组记录单元103中的所有语言模型执行图5的处理。这是条目删除处理的具体示例。
作为条目删除处理的结果(Op4),可以调节群集语言模型的数据大小。然后,作为图3的Op1至Op5的上述处理的结果,对待群集语言模型进行了群集,从而记录了适当数据大小的群集语言模型。将在由属性估计系统进行的估计人的属性的处理中使用这些群集语言模型,稍后将对其进行描述。
(建立并集语言模型的具体示例)现在参照图6,下面将描述英语的并集语言模型的具体示例。图6表示待群集语言模型、并集条目和并集语言模型的数据结构的示例。在图6中,作为待群集语言模型的一个示例,示出了5岁的发言人的语言模型31e、22岁的发言人的语言模型32e、76岁的发言人的语言模型33e(下文中分别称为语言模型31e、语言模型32e和语言模型33e)。记录各个语言模型31e、32e和33e,以使其分别与发言人的属性(即,表示“5岁”、“22岁”和“76岁”的数据)相关联。在该示例中,为了简化描述,以5岁、22岁和76岁的三个语言模型作为待群集语言模型的示例。然而,待群集语言模型不限于这三个,例如,可以使用为1至76岁中的每一岁提供的语言模型。
在图6的示例中,语言模型31e、32e和33e由多个条目组成,每一个条目包括作为一组的出现在每一个发言人中的词汇和表示该词汇的出现频率的概率。例如,在5岁的发言人的语言模型31e中,包含三个词汇“I”、“have to”和“pee”作为5岁的发言人说出的词汇,并且表示出现概率的数据与每一个词汇相关联。
在此,包含在三个语言模型31e、32e和33e中的词汇的并集是七个词汇“I”、“have to”、“pee”、“go to”、“bathroom”、“nature”和“calls”。包含该并集作为条目的数据是并集条目49。通过这种方式,并集条目是包含通过收集出现在待群集语言模型组中的所有词汇而获得的条目的数据。并集语言模型建立单元15对该三个语言模型31e、32e和33e中的每一个建立具有该并集条目49的并集语言模型。
注意,在该示例中,该并集条目作为一个整体包括包含在语言模型31e、32e和33e中的词汇的并集。然而,该并集条目可以是词汇的并集的一部分。例如,包括五个词汇“I”、“go to”、“bathroom”、“nature”和“calls”(其为该并集的七个词汇中的一部分)作为条目的数据可以是并集条目。在这种情况下,并集语言模型建立单元15对这三个语言模型31e、32e和33e中的每一个建立具有包括5个词汇的该并集条目的并集语言模型。通过这种方式,当该并集中的一部分词汇包含在并集条目中时,可以根据词汇的出现频率来确定要包含在并集条目中的词汇。例如,可以从并集条目中删除具有比其他词汇相对低的出现频率的词汇。
图6示出了5岁的发言人的并集语言模型51e、22岁的发言人的并集语言模型52e和76岁的发言人的并集语言模型53e作为所生成的并集语言模型的示例。还记录并集语言模型51e、52e和53e,使其与表示属性的数据(分别为“5岁”、“22岁”和“76岁”)相关联。下面描述一示例,在该示例中,为5岁的发言人的语言模型31e建立并集语言模型5le。由于5岁的发言人的语言模型31e具有包括“I”、“have to”和“pee”的三个词汇的条目,所以记录这些词汇的概率“0.5”、“0.2”和“0.3”作为并集语言模型51e中的对应词汇的条目的概率。由于其余的词汇“go to”、“bathroom”、“nature”和“calls”没有包含在语言模型31e中,所以概率“0”与这些词汇相关联,并且将它们作为条目记录在并集语言模型51e中。
由于22岁的发言人的语言模型32e具有包括“I”、“have to”、“goto”和“bathroom”的四个词汇的条目,所以记录这些词汇的概率“0.3”、“0.5”、“0.1”和“0.1”作为并集语言模型52e中的对应词汇的条目的概率。由于其余的三个条目“pee”、“nature”和“calls”没有包含在语言模型32e中,所以概率“0”与这些词汇相关联,并且将它们作为条目记录在并集语言模型52e中。由于76岁的发言人的语言模型33e具有包括“I”、“have to”、“go to”、“bathroom”、“nature”和“calls”的六个词汇的条目,所以记录这些词汇的概率“0.2”、“0.4”、“0.1”、“0.1”、“0.1”和“0.1”作为并集语言模型53e中的对应词汇的条目的概率。词汇“pee”的条目没有包含在语言模型33e中,所以记录概率“0”。
注意,在图6的示例中,看起来包含在待群集语言模型组中的各个语言模型31e、32e和33e具有通过仅使用一个语句进行学习而获得的条目。然而,这是为了简化该示例。在实际的语言模型中,大量的语句将用于概率的学习,因此条目数量会达到几万的量级。
此外,尽管图6的语言模型是一元语法(unigram),但是该语言模型不限于此,还可以是二元语法(bigram)、三元语法(trigram)等。根据二元语法和三元语法,可以表示词序的出现频率。例如,在相同的词语以如“I”、“have to”、“go to”、“bathroom”和“bathroom”、“I”、“have to”、“go to”的不同顺序出现的情况下,在语言模型中可以表示各个顺序的出现频率。
此外,在图6的示例中,表示语言模型的出现频率的数据是概率。然而,例如,可以在语言模型中记录使用对数表示概率的值而不是概率,作为表示出现概率的数据。
由此建立的多个并集语言模型具有相同数量的条目。即,可以使用相同维数的矢量来表示该多个并集语言模型。因此,在群集处理中,可以进行用于确定多个并集语言模型之间的距离及其平均值的计算。通常,难以对语言模型进行群集的原因在于不同的语言模型包括不同的词汇条目,因此不能作为相同维数的矢量简单地对它们进行处理。
更具体地说,在待群集语言模型组中存在包含在一个语言模型中、但是没有包含在另一语言模型中的词汇。不能作为相同维数的矢量对这些语言模型进行处理。因此,不能进行用于确定这些语言模型之间的距离及其平均值的计算。
在这种情况下,并集语言模型建立单元15为每一个语言模型建立并集语言模型,以包括包含在语言模型组中的词汇的并集。在每一个并集语言模型中,记录没有包含在原始语言模型中的词汇,使其与表示出现频率为0的数据相关联。由此,可以将待群集语言模型组转换成具有相同维数的矢量的并集语言模型组。为此,可以执行进行群集所需的计算,例如用于确定语言模型之间的距离及其平均值的计算。
(确定语言模型之间的距离及其平均值的示例性计算)下面描述用于确定语言模型之间的距离及其平均值的计算示例。在图3的群集中计算语言模型之间的距离及其平均值(Op3)并且使用该计算结果。
在进行群集时使用的语言模型之间的距离的示例包括欧几里得距离的平方。例如,对于具有一个语言模型Mx中的各个词汇的概率作为其分量的矢量X(X1、X2、X3、…、Xn-1、Xn)以及具有另一语言模型My中的各个词汇的概率作为其分量的矢量Y(Y1、Y2、Y3、…、Yn-1、Yn),矢量X和矢量Y的欧几里得距离的平方如下(公式1)。这里,在以下(公式1)中,Xi表示矢量X的第i个分量,而Yi表示矢量Y的第i个分量。

Σi=1n(Xi-Yi)2]]>这里,描述用于确定图6的5岁的发言人的并集语言模型51e与22岁的发言人的并集语言模型52e之间的距离的计算。首先,将“pee”的概率记录为第一条目。由于在并集语言模型51e中“pee”的概率为“0.3”,而在并集语言模型52e中“pee”的概率为“0”,所以其差异的平方如下(0.3-0)2=0.32=0.09接下来,将“I”记录为第二条目。在并集语言模型51e中“I”的概率为“0.5”,而在并集语言模型52e中“I”的概率为“0.3”。因此,其差异的平方如下(0.5-0.3)2=0.22=0.04通过这种方式,对包含在并集语言模型51e中的所有条目,确定并集语言模型51e中的条目的概率和并集语言模型52e中的对应条目的概率的差异的平方。由此确定的差异的平方的总和为欧几里得距离的平方。在该示例中,该值为0.24。即,在上述[公式1]中,在Xi表示并集语言模型51e中的第i条目的概率,而Yi表示并集语言模型52e中的第i条目的概率的情况下,可以通过上述的[公式1]来确定并集语言模型51e和并集语言模型52e之间的距离。
接下来,将描述用于确定语言模型之间的平均值的处理。在下文中,将描述通过计算语言模型之间的算术平均值来确定语言模型的平均值的处理。图7用于说明确定多个语言模型的平均值的计算示例。在图7的示例中,示出了在确定图6的并集语言模型51e、52e和53e的平均值的过程中进行的计算。
首先,将“pee”的概率记录为第一条目。由于在并集语言模型51e中“pee”的概率为“0.3”,在并集语言模型52e中“pee”的概率为“0”,在并集语言模型53e中“pee”的概率为“0”,计算它们的总和,然后除以作为并集语言模型的数量的3,如下所示(0.3+0+0)/3=0.1由此,确定并集语言模型51e、52e和53e中的“pee”的概率的平均值为“0.1”。接下来,将“I”的概率记录为第二条目。由于在并集语言模型51e中“I”的概率为“0.5”,在并集语言模型52e中“I”的概率为“0.3”,在并集语言模型53e中“I”的概率为“0.2”,所以它们的平均值如下,其中省略了第4位小数后的数字(0.5+0.3+0.2)/3=0.333通过这种方式,对所有的条目确定平均值,从而得到平均模型。图7的表54表示用于确定各个条目的平均值的计算示例。表示并集语言模型51e、52e和53e的平均值的语言模型是图7的平均模型55。即,平均模型55是年龄为5、22和76岁的发言人的平均并集语言模型。
用于确定语言模型之间的距离或者平均值的上述计算在由群集单元14进行的对并集语言模型组进行群集并将其分类成多个群集的处理(图3的Op3)中使用。此外,群集单元14生成包括在群集中的并集语言模型的平均语言模型,并且该平均语言模型可以是与该群集相对应的群集语言模型。
此外,作为用于确定语言模型之间的平均值的处理的另一示例,下面描述考虑词汇在各个语言模型中的出现次数来确定加权平均值的方法。一个词汇在各个语言模型中的出现次数在语言模型之间不同。例如,词汇“go to”在图7的并集语言模型52e中的概率为“0.1”,而词汇“goto”在并集语言模型53e中的概率也为“0.1”。即使在概率同为“0.1”时,出现次数也可能不同。例如,在“go to”在并集语言模型52e中的出现次数为100并且包含在并集语言模型52e中的词汇的出现次数的总和为1000的情况下,“go to”的概率变为“100/1000=0.1”。另一方面,尽管“go to”在并集语言模型53e中的出现次数仅为10,但是由于包含在并集语言模型53e中的词汇的出现次数的总和为100,所以“go to”的概率也变为“10/100=0.1”。在这种情况下,通过考虑出现次数来确定语言模型之间的平均值,可以得到更精确的平均值。
当考虑出现次数来确定平均值时,应该在各个语言模型中预先记录表示出现次数的数据,以与其相关联。作为一个示例,下面描述记录包含在语言模型中的词汇的出现次数的总和,以使其与该语言模型相关联的情况。例如,在图7中,假定记录“10”作为包含在并集语言模型51e中的词汇的出现次数的总和,记录“20”作为包含在并集语言模型52e中的词汇的出现次数的总和,记录“30”作为包含在并集语言模型53e中的词汇的出现次数的总和。当考虑出现次数来确定这三个并集语言模型51e、52e和53e对于词汇“go to”的平均值时,可以如下计算加权平均值,例如(0.2×10+0.1×20+0.1×30)/(10+20+30)=0.14通过这种方式,确定各个出现次数,将其除以总出现次数,由此可以考虑每一个语言模型的不同出现次数来确定平均概率。当群集单元14生成包含在每一个群集中的并集语言模型的平均语言模型时,优选地使用该方法,以生成群集语言模型。
(属性估计系统的操作示例)下面描述属性估计系统2的操作示例。图8是表示属性估计系统2估计发言人的属性的示例性处理的流程图。首先,将语言信息输入到输入单元21中(Op11)。例如,作为表示由人说出的词汇的文本数据来输入语言信息。
当输入语言信息时,分值计算单元22通过比较输入语言信息和群集语言模型来计算分值(Op12)。对由群集系统1进行了群集的所有群集计算分值(Op13)。由于对每一个群集记录群集语言模型,所以可以通过对每一个群集语言模型计算分值,来对每一个群集计算分值。属性估计单元23使用每一个群集的分值,来估计输入语言信息的属性(Op14)。
(属性估计处理的具体示例)下面参照图9描述在输入语言信息是英语的情况下属性估计处理的具体示例。图9表示由群集系统1生成的群集语言模型的示例,5至8岁的语言模型61e、22至24岁的语言模型62e和76岁或更大年龄的语言模型63e。下面描述该示例,在该示例中,当以文本数据的形式输入语句“I have to pee”作为输入语言信息时,分值计算单元22为5至8岁的语言模型61e、22至24岁的语言模型62e和76岁或更大年龄的语言模型63e中的每一个计算分值。
语句“I have to pee”包括三个词汇“I”、“have to”和“pee”。在5至8岁的发言人的语言模型61e中,“I”的概率为“0.3”,“have to”的概率为“0.2”,而“pee”的概率为“0.4”。分值变为这些概率的乘积,因此使用5至8岁的发言人的语言模型61e的计算得到的概率变为“0.024”。在22至24岁的发言人的语言模型62e中,由于“I”的概率为“0.4”,“have to”的概率为“0.3”,而“pee”的概率为“0”,所以分值变为“0”,其为这些概率的乘积。在76岁或更大年龄的发言人的语言模型63e中,由于“I”的概率为“0.4”,“have to”的概率为“0.2”,而“pee”的概率为“0”,所以分值变为“0”。这里应该注意,尽管为了简化说明,以上描述处理了三个群集语言模型的情况,但是在实际应用中优选地建立群集语言模型组以覆盖所有的年龄。
属性估计单元23输出语言模型61e、62e和63e当中的具有最佳分值的语言模型的属性,作为所估计的属性。在图9的示例中,5至8岁的发言人的语言模型61e的分值为“0.024”,22至24岁的发言人的语言模型62e的分值为“0”,而76岁或者更大年龄的发言人的语言模型63e的分值为“0”。因此,具有最佳分值的语言模型是5至8岁的发言人的语言模型61e。因此,属性估计单元23输出表示“5至8岁”的数据作为属性信息。
尽管该示例处理对年龄的估计,但是可以按照类似的方法进行发言人的家乡的估计。此外,计算分值的方法和估计属性的方法不限于上述的具体示例。
以上例示了输出属性信息为表示“22至24岁”的数据的示例。然而,由属性估计系统2输出的数据不限于此。例如,属性估计单元23可以输出每一个群集语言模型的分值以及与每一个群集语言模型相对应的属性。
作为由属性估计系统2执行的上述处理的结果,可以根据由群集系统1进行了群集的语言模型,来估计说出该输入语言信息的发言人的属性。即,通过群集系统1对待群集语言模型组自动地进行群集,使得与人为确定他/她看起来合适的属性类的情况相比,可以获得具有更适当的统计基础的属性类。结果,可以建立具有更高精确度的属性估计系统2。
(实施例2)图10是表示本实施例的群集系统10和属性估计系统20的构造的功能框图。在图10中,向与图1中相同的部分赋予相同的标号,以省略详细说明。
群集系统10的群集单元14a在群集数据记录单元105中记录通过群集处理生成的群集数据。与实施例1的群集数据类似,该群集数据用于指定包含在每一个群集中的语言模型或者并集语言模型,该群集数据表示包含在每一个群集中的发言人、发言人的属性、语言模型、并集语言模型等。
属性估计系统20的分值计算单元22a参照记录在群集数据记录单元105中的群集数据和记录在待群集语言模型组记录单元106中的待群集语言模型,并计算由群集数据表示的每一个群集的分值。当分值计算单元22a计算与特定群集相关的输入语言信息的分值时,例如,计算单元22a首先从群集数据获取表示包含在特定群集中的语言模型的信息。根据该信息,分值计算单元22a从待群集语言模型组记录单元106获取与包含在特定群集中的语言模型相关的数据,并且通过与输入语言信息进行比较来计算分值。
图11A表示记录在群集数据记录单元105中的群集数据的示例。图11A的群集数据包括下述的数据,在该数据中,每一个群集的属性与包含在每一个群集中的语言模型相互关联并记录。图11B表示记录在待群集语言模型组记录单元106中的待群集语言模型组的示例。图11B的待群集语言模型组是对从5至78岁的每一岁的组建立的一组语言模型。
下面描述下述的情况,其中,在图11A和11B的示例中,分值计算单元22a确定包含在与5至7岁的群集相关的输入语言信息中的词汇“I”的分值。分值计算单元22a参照图11A的群集数据,以获得表示包含在具有5至7岁的属性的群集中的语言模型的信息。在此,该群集数据表示5岁的语言模型、6岁的语言模型和7岁的语言模型是包含在5至7岁的群集中的语言模型(参见图11A)。分值计算单元22a在这些待群集语言模型组当中获取5岁的语言模型31a、6岁的语言模型31b和7岁的语言模型31c的“I”的概率,即,“0.5”、“0.5”和“0.5”,并且计算它们的平均值。该平均值用于分值的计算。可以按照实施例1所示的方法进行下面的分值计算。
在本实施例中,群集单元14a不生成群集语言模型,而是仅记录群集数据,从而可以减少所记录的数据量。结果,可以节省记录介质的容量。
(实施例3)图12是表示本实施例的群集系统100和属性估计系统200的构造的功能框图。在图12中,对与图1中相同的部分赋予相同的标号,以省略详细说明。
(群集系统100的构造)群集系统100对待群集语言模型和这些音频模型进行群集,并且生成群集语言模型和群集音频模型。为此,群集系统100被构造为能够访问待群集语言模型组记录单元106、待群集音频模型组记录单元107、群集语言模型组记录单元103和群集音频模型组记录单元109。群集系统100具有并集语言模型建立单元15、链接记录单元16、群集单元14b、权重删除单元18和分割单元19。
在待群集音频模型组记录单元107中,记录包括分别与多个属性相对应的音频模型的音频模型组。即,记录每一个音频模型,使其与表示属性的数据相关联。每一个音频模型都具有多个条目,这些条目包括包含在具有对应属性的人的语音中的音频和该音频的出现频率。
链接记录单元16将由并集语言模型建立单元15建立的并集语言模型与记录在待群集音频模型组记录单元107中的对应的待群集音频模型链接,并且将其作为链接模型记录在链接模型记录单元108中。链接记录单元16将具有一属性值的音频模型与具有相同属性值的并集语言模型相关联,并且记录每一个属性值的链接模型。链接记录单元16还具有加权单元17。
加权单元17将表示包含在音频模型的条目中的出现频率的数据和表示包含在并集语言模型的条目中的出现频率的数据中的至少一个乘以加权因子,以使音频模型中的出现频率的分布更接近于并集语言模型中的出现频率的分布。
群集单元14b对由链接记录单元16记录的在链接模型记录单元108中的链接模型组进行群集。群集单元14b将链接模型组分类成多个群集,并且生成表示每一个群集的群集数据。群集单元14b生成与由群集数据表示的每一个群集相对应的群集链接模型。
权重删除单元18对群集链接模型中的条目执行删除权重的处理,群集链接模型中的条目已经由加权单元17进行了加权。例如,权重删除单元18通过将已由加权单元17乘以了加权因子的出现频率除以该加权因子来删除条目的权重。
分割单元19将群集链接模型分成群集语言模型和群集音频模型。在群集语言模型组记录单元103中记录群集语言模型,在群集音频模型组记录单元109中记录群集音频模型。
(群集系统100的操作示例)下面描述群集系统100的操作示例。图13是表示由群集系统100执行的对语言模型和音频模型进行群集的示例性处理的流程图。
首先,并集语言模型建立单元15为记录在待群集语言模型组记录单元106中的多个语言模型中的每一个建立并集语言模型(Op21)。建立并集语言模型的处理与实施例1中所述的处理相同。
接下来,链接记录单元16将并集语言模型链接到记录在待群集音频模型组记录单元107中的待群集音频模型(Op22)。更具体地说,链接记录单元16将具有一属性值的并集语言模型与具有与该并集语言模型的属性值相同的属性值的待群集音频模型相关联,并且将其记录在链接模型记录单元108中。即,具有相同属性值的并集语言模型和待群集音频模型互相关联,并且被记录为链接模型。因此,在群集处理过程中,群集单元14b将一个链接模型作为一个矢量来处理,该矢量包含包括在链接模型中的条目的值作为分量。
在此应该注意,优选地,在待群集音频模型组记录单元107中记录具有与待群集语言模型组记录单元106中的语言模型相同的属性值的音频模型组。例如,在待群集语言模型组记录单元106中记录22岁的并集语言模型的情况下,也优选地记录22岁的音频模型作为音频模型组。
加权单元17将包含在音频模型的条目中的统计值和包含在要链接的并集语言模型中的统计值中的至少一个乘以加权因子(Op23)。由此,加权单元17使得待群集音频模型中的出现频率的分布更接近于并集语言模型中的出现频率的分布。加权因子可以是预定值或者通过使用音频模型和并集语言模型的出现频率的分布进行计算而获得的值。优选地,对于具有不同属性值的所有音频模型和并集语言模型,加权因子是相同的值。
如果加权因子对于每一个属性值是不同的值,则权重删除单元18将很难删除权重。
加权因子可以是人为确定的他/她看起来合适的值。在这种情况下,加权因子可以包括与在群集过程中强调语言模型和音频模型中的哪一个的重要性相关的意图。如果使语言模型的加权因子更大,则增加了语言模型的重要性,而如果使音频模型的加权因子更大,则增加了音频模型的重要性。在这种情况下,当将相同的加权因子用于所有的属性值时,可以使用相同的标准来执行群集。
在此应该注意,在图13中,在链接处理(Op22)之后执行加权处理(Op23)。然而,链接处理(Op22)也可以在加权处理(Op23)之后。
下面参照图14,描述链接处理(Op22)和加权处理(Op23)的具体示例。图14表示待群集音频模型、并集语言模型和链接模型的具体示例。图14的待群集音频模型71(下文中称为音频模型71)是22岁的发言人的音频模型。音频模型71使得对于每一个音素记录从第1维至第n维的平均值和第1维至第n维的分布的值。并集语言模型52e(下文中称为语言模型52e)是22岁的发言人的并集语言模型。语言模型52e与实施例1中例示的语言模型52e(图6)相同。
22岁的发言人的链接模型81(下文中称为链接模型81)是下述数据的示例,在该数据中,通过链接记录单元16链接和记录音频模型71和语言模型52e。此外,链接模型81使得通过由加权单元17将音频模型的值乘以加权因子“0.1”而获得的数据与通过由加权单元17将语言模型52e的概率乘以加权因子“1.0”而获得的数据相互关联并记录。
在图14的示例中,由于表示语言模型中的词汇的出现频率的值是概率,所以它从0至1分布。然而,音频模型中的值的分布不在0至1的范围内。也就是说,在语言模型和音频模型之间,值的分布范围不同。于是,加权单元17将音频模型的值乘以加权因子“0.1”,而将语言模型的值乘以加权因子“1.0”,以使它们的分布范围彼此更接近。在此,加权单元17例如可以将音频模型71中的值的分布范围(例如,最大值和最小值)与语言模型中的概率的分布范围进行比较,并且可以计算它们的加权因子,以使其分布范围彼此更接近。此外,除了分布范围以外,音频模型71中的值和语言模型52e中的概率的平均值、分布、标准偏差等也可用于加权因子的计算。
对每一个属性(在本示例中为年龄)生成诸如链接模型81的链接模型。在图14的示例中,属性(年龄)仅与22岁的发言人的模型有关。然而,可以按照类似的方式为每一岁的年龄生成链接模型。
通过这种方式,加权单元17将包含在并集语言模型组中的语言模型中的每一个值和包含在待群集音频模型组中的音频模型中的每一个值乘以加权值。然后,链接记录单元16相互链接对应的语言模型和音频模型作为矢量。在此应该注意,在图14的示例中,为了清楚起见,简化并示出了音频模型的内容。然而,在实际应用中,在许多情况下它们都是更加复杂的。这就是链接处理(Op22)和加权处理(Op23)的具体示例。
作为图13的链接处理(Op22)和加权处理(Op23)的结果,在链接模型记录单元108中记录链接模型。然后,群集单元14b对该链接模型执行群集处理(Op24)。该群集处理与实施例1的群集处理类似。作为该群集的结果,记录在链接模型记录单元1 08中的多个链接模型被分类成多个群集,并且为每一个群集生成群集链接模型。
对于群集链接模型,权重删除单元18通过将包含在链接模型中的值除以已经由加权单元17乘上的加权因子来删除权重(Op25)。此外,分割单元19将群集链接模型分成群集并集语言模型和群集音频模型(Op26)。由于群集链接模型是使得并集语言模型和音频模型相互关联的数据,所以分割单元19可以将其分成群集并集语言模型和群集音频模型。在群集语言模型组记录单元103中记录群集并集语言模型,而在群集音频模型组记录单元109中记录群集音频模型。
下面参照图15,描述权重删除处理(Op25)和分割处理(Op26)的具体示例。图15表示通过分割群集链接模型而生成的群集链接模型、群集音频模型和群集语言模型的具体示例。图15的群集链接模型83(下文中称为链接模型83)是9至12岁的发言人的链接模型。群集音频模型91(下文中称为音频模型91)是通过分割链接模型83而生成的音频模型,然后对其执行权重删除处理。群集语言模型101(下文中称为语言模型101)是通过分割链接模型83而生成的语言模型。
在图15的示例中,权重删除单元18将与包含在链接模型83中的音频模型相对应的条目的值除以“0.1”。在该示例中,当生成作为链接模型83的基础的链接模型时,加权单元17将音频模型乘以加权因子“0.1”。即,由于通过乘以加权因子“0.1”来获得作为链接模型83的基础的音频模型,所以权重删除单元18将与包含在链接模型83中的音频模型相对应的条目83a的值除以“0.1”,以使这些值返回到乘以加权因子之前的状态。分割单元19使与链接模型83的音频模型相对应的一部分条目83a和与链接模型83的语言模型相对应的一部分条目83b成为独立的数据。即,将链接模型83分割成音频模型91和语言模型101。这就是权重删除处理(Op25)和分割处理(Op26)的具体示例。
在图13中,在权重删除处理(Op25)之后执行分割处理(Op26)。然而,权重删除处理(Op25)也可以在分割处理(Op26)之后。此外,可以对群集语言模型组记录单元103执行与实施例1相似的条目删除处理(图3的Op4、Op5)。
这就是群集系统100的操作示例。通过图13的处理记录的群集音频模型和群集语言模型可用于由属性估计系统200进行的处理,后面将对其进行描述。
根据本实施例的群集系统100,可以对音频模型组和语言模型组进行链接和群集。当分别对音频模型组和语言模型组进行群集时,将在音频模型组和语言模型组之间生成不同的群集,从而导致无法使用两个模型进行属性估计的可能性。根据本实施例,可以同时对音频模型组和语言模型组进行群集,可以确保对两个模型组生成相同的群集。此外,当同时进行群集时,可以通过加权来调节强调语言模型和音频模型中的哪一个的群集的重要性。
(属性估计系统200的构造)下面描述图12的属性估计系统200的构造。属性估计系统200是用于接收由发言人发出的语音信息输入以及输出与发言人的属性相关的信息的系统。例如,属性估计系统200从诸如语音交互应用程序的主机程序接收由发言人发出的语言信息,估计发言人的属性并且将表示该属性的数据返回给主机程序。此外,属性估计系统200使用由群集系统100生成的群集语言模型和群集音频模型来执行估计发言人的属性的处理。
在属性估计系统200中,将语音数据输入到输入单元21b中。分值计算单元22b根据记录在群集语言模型组记录单元103中的语言模型和记录在群集音频模型组记录单元109中的音频模型,为每一个群集计算分值(可能性),该分值表示输入到输入单元21b的语音数据的出现频率。下面将描述分值计算单元22b的详细构造。
属性估计单元23b根据由分值计算单元22b计算的每一个群集的分值来生成表示发言人的属性的数据。例如,属性估计单元23b可以将与具有最高分值的群集相对应的属性设置为发言人的属性。
(分值计算单元22b的详细构造)图16是表示分值计算单元22b的构造的功能框图。图16的分值计算单元22b具有听写(随机词汇语音听取)系统的功能。该听写系统使用听写算法来计算与具有每一个属性值的音频模型和语言模型相对应的输入语音的分值。
候选语句建立单元47使用包含在群集语言模型中的词汇,为记录在群集语言模型组记录单元103中的任意群集建立多个候选语句。音素串建立单元45建立与由候选语句建立单元47建立的多个候选语句中的每一个相对应的音素串。
特征提取单元41接收语音数据的输入并且生成表示由语音数据表示的语音的特征量的数据。音频分值计算单元42使用表示由特征提取单元41生成的特征量的数据和记录在群集音频模型组记录单元109中的群集的群集音频模型,为由音素串建立单元45建立的候选语句的每一个音素串计算由输入语音数据表示的语音的音频分值。
语言分值计算单元46使用群集的群集语言模型,为由候选语句建立单元47建立的多个候选语句中的每一个计算语言分值。综合分值计算单元43为每一个候选语句计算综合分值,其中该综合分值包括由音频分值计算单元42计算的音频分值和由语言分值计算单元46计算的语言分值的综合。最佳分值计算单元44输出为各个候选语句计算的综合分值当中的最佳分值作为与该群集相对应的属性的分值。
(属性估计系统200的操作示例)下面描述属性估计系统200的操作示例。图17是表示由属性估计系统200进行的估计发言人的属性的示例性处理的流程图。首先,将语音数据输入到输入单元21b中(Op31)。该语音数据例如是已经变成数据形式的由发言人说出的一个语句。
当输入语音数据时,分值计算单元22b使用该输入语音数据以及一个群集的群集语言模型和群集音频模型,来计算该群集的分值(Op32)。下面将描述分值计算的具体处理。为由群集系统100进行了群集的所有群集计算分值(Op33)。由于为每一个群集记录群集语言模型和群集音频模型,所以计算并且综合每一个群集语言模型的语言分值和对应的群集音频模型的音频分值,由此可以计算每一个群集的分值。
例如,在为5至8岁的发言人的群集、9至12岁的发言人的群集和76岁或更大年龄的发言人的群集的三个群集记录群集音频模型和群集语言模型的情况下,分值计算单元22b计算三个分值,包括5至8岁的发言人的群集的分值、9至12岁的发言人的群集的分值和76岁或更大年龄的发言人的群集的分值。在该示例中,为与年龄相对应的群集记录群集音频模型和群集语言模型。然而,与群集相对应的属性不限于年龄。例如,诸如国家、省和城镇的地区可以是与群集相对应的属性。
属性估计单元23b使用每一个群集的分值来估计说出该输入语音数据的发言人的属性(Op34)。属性估计单元23b可以输出与具有由分值计算单元22b计算的群集分值当中的最佳分值的群集相对应的属性作为估计结果。另选地,属性估计单元23b可以输出下述的数据,在该数据中,每一个群集的分值和属性相互关联。
例如,在上述示例中的5至8岁的发言人的群集、9至12岁的发言人的群集和76岁或更大年龄的发言人的群集中,在9至12岁的发言人的群集的分值是最高的情况下,估计结果可以是“9至12岁”。
(分值计算的示例)下面描述由分值计算单元22b进行的分值计算的处理的具体示例。图18是表示由分值计算单元22b进行的计算一个群集的分值的处理的流程图。
首先,特征提取单元41接收语音数据的输入并且生成表示由语音数据表示的语音的特征量的数据(Op2201)。图19表示特征提取单元41的输入/输出数据的示例。特征提取单元41将输入语音数据沿着时间轴分成多个帧,并且计算每一个帧的特征量。例如,通过像特征量数据111一样的数据来表示所计算的特征量。在特征量数据111中,通过第n维矢量来表示一个帧的特征量。对于每一个帧,特征量数据111具有从第1维到第n维的n个值。特征量的示例包括频谱、倒谱等。
接下来,候选语句建立单元47使用包含在群集语言模型中的词汇,为一个群集建立多个候选语句(Op2202)。图20表示对于候选语句建立单元47的输入/输出数据的示例。在图20的示例中,候选语句建立单元47输入9至12岁的群集的群集语言模型101e(下文中称为语言模型101e),并且输出可以根据包含在语言模型101e中的词汇生成的所有语句作为候选。候选语句数据121e表示根据语言模型101e的词汇生成的候选语句。
当建立候选语句时,音素串建立单元45建立与由候选语句建立单元47建立的多个候选语句中的每一个相对应的音素串(Op2203)。图21表示对于音素串建立单元45的输入/输出数据的示例。音素串建立单元45将由候选语句数据121e表示的多个候选语句分解成音素。音素是语音的最小单位,例如辅音、元音等。在下面描述的音频分值计算处理中,使用该音素作为单位,因此需要音素串建立单元45。音素串数据131e表示根据候选语句数据121e的候选语句生成的音素串。
语言分值计算单元46使用作为由候选语句建立单元47生成的候选语句的基础的群集语言模型,为由候选语句建立单元47建立的多个候选语句中的每一个计算语言分值(Op2204)。图22表示对于语言分值计算单元46的输入/输出数据的示例。在图22的示例中,语言分值计算单元46使用包含在9至12岁的语言模型101e中的每一个词汇的概率,来计算每一个候选语句的语言分值。例如,在候选语句为“I have to go to bathroom”的情况下,包含在该语句中的词汇“I”的概率为“0.3”,词汇“have to”的概率为“0.2”,词汇“go to”的概率为“0.25”,而词汇“bathroom”的概率为“0.2”。当把它们相乘时,可以获得分值“0.003”。图22的语言分值数据141e包括为各个候选语句确定的语言分值。在此应该注意,尽管为了清楚起见,图22的语言分值数据141e包括用于确定分值的公式,但是实际数据将不包括公式,而仅包括所记录的语言分值的值。
音频分值计算单元42使用表示由特征提取单元41生成的特征量的数据以及群集音频模型,为由音素串建立单元45建立的候选语句的每一个音素串,计算由输入语音数据代表的语音的音频分值(Op2205)。此时,由音频分值计算单元42使用的群集音频模型是属于与作为语言分值计算的基础的群集语言模型相同群集的群集音频模型。
图23表示对于音频分值计算单元42的输入/输出数据的示例。在图23的示例中,音频分值计算单元42使用图19中例示的特征量数据111以及9至12岁的群集的群集音频模型91e(下文中称为音频模型91e),为由音素串数据131e表示的每一个候选语句计算音频分值。在此应该注意,音素串数据131e是由图21的示例中的音素串建立单元45生成的数据。
音频分值计算单元42首先参照每一个候选语句的音素串,并且确定由特征量数据111表示的帧和这些音素之间的对应关系。需要该操作是因为一个音素不是始终对应于一个帧。在图23的中间,示出了对应关系数据151e的示例,其表示帧和音素之间的对应关系。该对应关系数据151e表示音素串“ayhhae…”与帧之间的对应关系。特征量数据111的第一帧至第三帧与开始的“ay”相对应,第四帧至第五帧与后面的“hh”相对应。
接下来,音频分值计算单元42从包含在特征量数据111中的第一帧到第n帧,确定每一个帧的音频分值。例如,通过多维正态分布来计算每一个帧的音频分值。在该示例中,为了清楚起见,仅描述协方差矩阵由对角线分量组成的情况。在这种情况下,例如,可以通过下面的[公式2]计算多维正态分布的概率密度[公式2]exp(-Σ((Xi-μi)2/Vi))(ΠVi)]]>在上述的[公式2]中,Xi表示特征量的第i维,μi和Vi分别表示平均值的第i维和音频模型的分布的第i维。下面描述计算第一帧的音频分值的具体示例。首先,考虑exp(指数函数)的内部,由于特征量数据111的第一帧的第一维为“2.3”,所以X1变为2.3。参照表示帧和音素之间的对应关系的对应关系数据151e,第一帧对应于音素“ay”,因此引用音频模型91e中的“ay”。音频模型91e中的“ay”的第一维的平均值和分布分别为“2.1”和“0.4”,因此μ1变为2.1,V1变为0.4。因此,第一维(i=1的情况)的exp(指数函数)的∑的内部的值如下-(2.3-2.1)2/0.4考虑第二维(i=2),由于在特征量数据中第一帧的第二维为“-7.6”,所以X2变为-7.6。在音频模型91e中的“ay”的第二维的平均值和分布分别为“-8.0”和“7.3”,因此μ2变为-8.0,V2变为7.3。因此,与第二维相关的计算如下-(7.6-(-8.0))2/7.3通过这种方式,音频分值计算单元42进行计算直到第一帧的第n维,此后,音频分值计算单元42将这些值相加并且确定其exp(指数函数)。在上述[公式2]中, 部分表示将从第一维到第n维的“ay”的分布相乘并且确定其平方根。如[公式2]所示,将进行了exp的值除以 其结果为第一帧的音频分值。
可以类似地计算第二帧的音频分值。参照帧和音素之间的对应关系151e的示例,由于第二帧的音素也是“ay”,所以使用音频模型91e的“ay”的值作为其平均值和分布的值。由于特征量数据111的值与第一帧不同,所以第二帧的音频分值的值也变得与第一帧的音频分值的值不同。
通过这种方式,音频分值计算单元42确定每一帧的音频分值,并将各个帧的所有音频分值相乘,得到候选语句的音频分值。类似地,音频分值计算单元42计算所有候选语句的音频分值。图23的9至12岁的音频分值数据161e是包含为各个候选语句确定的音频分值的示例性数据。
上述示例描述了首先确定帧和音素之间的对应关系,然后确定每一个帧的音频分值的情况。然而,在实际应用中,在许多情况下需要用于动态确定该对应关系的算法,以作为一个整体获得语句的最佳音频分值。该算法被称为Viterbi算法(参见“Speech recognition by probabilitymodel”,Seiichi NAKAGAWA著,The Institute of Electronics,Information and Communication Engineers,Japan出版,1988年7月1日,第44至46页)。该文献详细描述了Viterbi算法。这就是音频分值计算的示例(图18的Op2205)。
当计算音频分值时,综合分值计算单元43计算每一个候选语句的综合分值,其中该综合分值包括由音频分值计算单元42计算的音频分值和由语言分值计算单元46计算的语言分值的综合(Op2206)。图24表示对于综合分值计算单元43的输入/输出数据的示例。在图24的示例中,综合分值计算单元43根据9至12岁的音频分值数据161e和9至12岁的语言分值数据141e计算每一个候选语句的综合分值,并且输出该结果作为9至12岁的综合分值数据171e。每一个候选语句的综合分值是通过将每一个候选语句的音频分值和语言分值相乘而得到的值。例如,考虑候选语句“I have to pee”,由音频分值161e表示的音频分值为“0.001”,而由语言分值141e表示的语言分值是“0.0012”。综合分值计算单元43计算这些音频分值和语言分值的乘积,即,0.001×0.0012=0.0000012,作为综合分值。综合分值数据171e中示出了为其他候选语句计算的综合分值的示例。在此应该注意,尽管为了清楚起见,图24的综合分值数据171e包括用于确定综合分值的公式,但是实际数据将不包括公式,而仅包括所记录的综合分值的值。
当计算综合分值时,最佳分值计算单元44输出为各个候选语句计算的综合分值当中的最佳分值作为与群集相对应的属性的分值(Op2207)。图25表示对于最佳分值计算单元44的输入/输出数据的示例。在图25的示例中,最佳分值计算单元44输出9至12岁的综合分值数据171e当中的最佳分值“0.000012”作为“9至12岁”的分值。
通过这种方式完成图18的处理。由此,可以计算一个群集的分值。为通过由群集系统100进行的群集进行了分类的每一个群集执行图18的处理,以使得可以计算每一个群集的分值。
这里应该注意,计算分值的处理不限于图18的上述示例。此外,图18的Op2201至Op2207的各个处理的执行顺序也不限于图18的顺序。例如,在图18的模式中,顺序地执行语言分值计算(Op2204)和音频分值计算(Op2205)。然而,可以并行地执行语言分值计算(Op2204)和音频分值计算(Op2205)。此外,只要在音频分值计算(Op2205)之前执行特征提取处理(Op2201),特征提取处理(Op2201)就可以与候选语句建立(Op2202)和音素串建立(Op2203)并行地执行。
本发明对于能够对语言模型进行群集的群集系统以及使用该群集系统以根据发言人说出的语言来估计发言人的诸如年龄和家乡的属性的属性估计系统有效。
可以在不脱离本发明的精神和本质特性的情况下,以其他形式来实施本发明。在本申请中公开的实施例在所有方面都应被认为是说明性的,而不是限制性的。通过所附权利要求而不是通过上面的描述来表示本发明的范围,并且权利要求旨在涵盖落入权利要求的含义及其等同物范围内的所有变化。
权利要求
1.一种群集系统,其对包括与多个属性值相对应的多个语言模型的语言模型组进行群集,每一个语言模型都与表示人的预定属性的属性值相关联,并且具有多个条目,这些条目包括表现为由一个或更多个具有使用属性值表示的属性的人发出的语音或者书写的文本的词汇以及表示所述词汇的出现频率的数据,所述群集系统包括并集语言模型建立单元,其生成表示包含在所述语言模型组中的词汇的并集的并集数据,并使用所述并集数据建立并集语言模型,所述并集语言模型包括所述词汇的并集和所述词汇的出现频率,为包含在所述语言模型组中的每一个语言模型建立所述并集语言模型,以建立并集语言模型组;以及群集单元,其根据预定的方法对所述并集语言模型组进行群集,以将所述并集语言模型组分类成多个群集,并且生成表示包含在每一个群集中的并集语言模型中的一个或更多个的群集数据,其中,当所述并集语言模型建立单元为特定语言模型建立并集语言模型时,所述并集语言模型建立单元与所述特定语言模型中的词汇的出现频率相关联地记录包含在所述并集数据中的词汇当中的包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目,并且与表示出现频率为0的数据相关联地记录包含在所述并集数据中的词汇当中的没有包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目。
2.根据权利要求1所述的群集系统,其中,所述群集单元还根据包含在所述每一个群集中的并集语言模型,生成与使用所述群集数据表示的各个群集相对应的群集语言模型。
3.根据权利要求2所述的群集系统,还包括条目删除单元,用于在包含在所述并集语言模型或者所述群集语言模型中的条目当中,删除出现频率低于预定阈值的条目。
4.根据权利要求2所述的群集系统,还包括条目删除单元,用于在包含在所述并集语言模型或者所述群集语言模型中的条目当中,按照出现频率的降序保留N条较高次序的条目,并且删除其余的条目。
5.根据权利要求1所述的群集系统,还包括链接记录单元,其记录与具有对应属性值的并集语言模型相关联的音频模型,作为各个属性值的链接模型,所述音频模型与多个属性值相对应,每一个音频模型都与表示人的预定属性的属性值相关联并且具有多个条目,这些条目包括包含在具有使用所述属性值表示的属性的人的语音中的音频以及表示所述音频的出现频率的数据,其中,所述群集单元对具有由所述链接记录单元记录的各个属性值的链接模型进行群集,以将所述链接模型分类为多个群集,并且生成表示各个群集的群集数据。
6.根据权利要求5所述的群集系统,还包括加权单元,其将表示包含在所述音频模型的条目中的出现频率的数据和表示包含在所述并集语言模型的条目中的出现频率的数据中的至少一个乘以一加权因子,以调整所述音频模型中的出现频率的分布和所述并集语言模型中的出现频率的分布中的至少一个。
7.一种属性估计系统,其使用由根据权利要求1所述的群集系统生成和建立的群集数据和并集语言模型来估计人的属性,所述属性估计系统包括输入单元,通过该输入单元输入与人相关的语言信息;分值计算单元,其使用所述并集语言模型来计算由所述输入单元输入的语言信息的分值,为由所述群集数据表示的每一个群集计算所述分值;以及属性估计单元,其根据所述各个群集的分值来生成表示人的属性的数据,以估计所述属性。
8.一种属性估计系统,其使用由根据权利要求5所述的群集系统生成和建立的群集数据和并集语言模型来估计人的属性,所述属性估计系统包括输入单元,通过该输入单元输入表示人的语音的数据;语言分值计算单元,其使用所述并集语言模型来计算由所述输入单元输入的语音的语言分值,为由所述群集数据表示的每一个群集计算所述语言分值;音频分值计算单元,其计算由所述输入单元输入的语音的音频分值,为由所述群集数据表示的每一个群集计算所述音频分值;以及属性估计单元,其根据所述各个群集的音频分值和所述各个群集的语言分值来生成表示人的属性的数据,以估计所述属性。
9.一种群集方法,用于使用计算机对语言模型组进行群集,所述语言模型组包括与多个属性值相对应的多个语言模型,每一个语言模型都与表示人的预定属性的属性值相关联并且具有多个条目,这些条目包括表现为由具有使用所述属性值表示的属性的一个或更多个人发出的语音或者书写的文本的词汇以及表示所述词汇的出现频率的数据,所述方法包括以下步骤并集建立步骤,在该步骤中,设置在所述计算机中的并集语言模型建立单元生成表示包含在所述语言模型组中的词汇的并集的并集数据,并且使用所述并集数据来建立包括所述词汇的并集和所述词汇的出现频率的并集语言模型,为包含在所述语言模型组中的每一个语言模型建立所述并集语言模型,以建立并集语言模型组;以及群集数据生成步骤,在该步骤中,设置在所述计算机中的群集单元根据预定的方法对所述并集语言模型组进行群集,以将所述并集语言模型组分类成多个群集,并且生成表示包含在每一个群集中的并集语言模型中的一个或更多个的群集数据,其中,在所述并集建立步骤中,当所述并集语言模型建立单元为特定语言模型建立并集语言模型时,所述并集语言模型建立单元与所述特定语言模型中的词汇的出现频率相关联地记录包含在所述并集数据中的词汇当中的包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目,并且与表示出现频率为0的数据相关联地记录包含在所述并集数据中的词汇当中的没有包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目。
10.一种存储群集程序的记录介质,所述群集程序使计算机执行对包括与多个属性值相对应的多个语言模型的语言模型组的群集处理,每一个语言模型都与表示人的预定属性的属性值相关联并且具有多个条目,这些条目包括表现为由具有使用所述属性值表示的属性的一个或更多个人发出的语音或者书写的文本的词汇以及表示所述词汇的出现频率的数据,所述程序使计算机执行以下处理并集语言模型建立处理,用于生成表示包含在所述语言模型组中的词汇的并集的并集数据,并且使用所述并集数据来建立包括所述词汇的并集和所述词汇的出现频率的并集语言模型,为包含在所述语言模型组中的每一个语言模型建立所述并集语言模型,以建立并集语言模型组;以及群集处理,用于根据预定的方法对所述并集语言模型组进行群集,以将所述并集语言模型组分类成多个群集并且生成表示包含在每一个群集中的并集语言模型中的一个或更多个的群集数据,其中,在所述并集语言模型建立处理中,当为特定语言模型建立并集语言模型时,所述程序使计算机执行下述的处理与所述特定语言模型中的词汇的出现频率相关联地记录包含在所述并集数据中的词汇当中的包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目,并且与表示出现频率为0的数据相关联地记录包含在所述并集数据中的词汇当中的没有包含在所述特定语言模型中的词汇,作为所述并集语言模型中的条目。
全文摘要
一种用于对语言模型组进行群集的群集系统,包括并集语言模型建立单元,其为每一个语言模型建立并集语言模型,以将词汇的并集作为条目包括在语言模型组中;以及群集单元,其对并集语言模型组进行群集,以将并集语言模型组分类成多个群集。当并集语言模型建立单元为特定语言模型建立并集语言模型时,该并集语言模型建立单元以包含在该特定语言模型中的词汇为基础,记录该特定语言模型中的对应条目的出现频率,并且对于没有包含在该特定语言模型中的词汇,记录表示出现频率为0的数据。由此,可以提供能够对包含由多个发言人发出的语音或书写的文本的语言模型进行群集的群集系统。
文档编号G10L15/00GK101042868SQ20061010132
公开日2007年9月26日 申请日期2006年7月14日 优先权日2006年3月20日
发明者小岛英树 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1