JP4745094B2 - クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム - Google Patents

クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム Download PDF

Info

Publication number
JP4745094B2
JP4745094B2 JP2006077126A JP2006077126A JP4745094B2 JP 4745094 B2 JP4745094 B2 JP 4745094B2 JP 2006077126 A JP2006077126 A JP 2006077126A JP 2006077126 A JP2006077126 A JP 2006077126A JP 4745094 B2 JP4745094 B2 JP 4745094B2
Authority
JP
Japan
Prior art keywords
language model
union
clustering
language
data
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.)
Expired - Fee Related
Application number
JP2006077126A
Other languages
English (en)
Other versions
JP2007256342A (ja
Inventor
英樹 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006077126A priority Critical patent/JP4745094B2/ja
Priority to US11/472,311 priority patent/US7707028B2/en
Priority to CN2006101013216A priority patent/CN101042868B/zh
Publication of JP2007256342A publication Critical patent/JP2007256342A/ja
Application granted granted Critical
Publication of JP4745094B2 publication Critical patent/JP4745094B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

本発明は、言語モデルをクラスタリングするクラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システムに関する。
従来、音響モデルを用いて、属性推定や音声認識を行うシステムが知られている。図34は、従来の属性推定装置におけるデータの流れを示す図である。図34に示す属性推定装置901は、話者の属性として例えば、年齢層を推定するための装置である。属性推定装置901は、話者が発声した入力音声を入力し、予め記録された複数の年齢層についての音響モデルを用いて、その話者の年齢層を推定し、推定結果を出力する。図34に示す例では、0〜10才、11才〜20才・・・61才〜70才、71才以上の年齢区分それぞれにおいて発生される音声に含まれる音響を集めた音響モデルが作成されている。従来、人間がこのような年齢区分を決めて音響モデルを作成していた。
人間が定める年齢区分では、例えば、声変わりの時期や、大人の声が老人のしわがれた声に変化する時期や、若者言葉が大人の言葉に変化する時期や、大人の言葉が老人の言葉に変化する時期などを音響モデルの年齢区分に反映させるのが困難であった。このように、音響モデルの属性の区分を人間が適当に定めることは、属性推定装置の性能向上の妨げとなっていた。
属性の区分を的確にとらえる為には、大量の話者のデータで構成されたモデルをクラスタリングすることが好ましい。従来、大量の話者の音声データで構成された音響モデルをクラスタリングする技術が開発されてきた。例えば、複数の話者の音声波形データからそれぞれの話者の声道形状の特徴量を推定し、この特徴量に基づいて話者をクラスタリングするクラスリング装置が提案されている(例えば、特許文献1参照)。また、話者の音声データから得られる声道長の情報と、発声の仕方や癖による影響の補正情報とに基づいて、話者の特徴量を抽出し、この特徴量を用いて話者をクラスタリングする方法も提案されている。(例えば、特許文献2参照)。このようなクラスタリングにより、音響モデルの属性の区分が的確に設定され、クラスタリングされた音響モデルが得られる。
図35は、言語モデルとクラスタリングされた音響モデルを用いて属性推定を行う従来の属性推定装置におけるデータの流れを示す図である。音響モデル群は、話者の年齢によってクラスタリングされており、音響モデル1、音響モデル2・・・音響モデルnはクラスタ別に記録された音響モデルである。属性推定装置902は、話者が発声した入力音声を入力し、複数の年齢層にクラスタリングされた音響モデル群と、言語モデルとを用いて、その話者の年齢層を推定し、推定結果を出力する。図35に示す属性推定装置902は、音響モデルとして年齢別のクラスタにクラスタリングされたものを用いているが、言語モデルは全ての年齢区分に対して同じものを用いている。
そのため、属性推定装置902では、年齢別の声の違いは識別できても、年齢別の言葉の違いは識別できないことになる。日本語について具体的な例をあげると、若者なら「僕は元気です。」という所を、お年寄りは「わしは元気じゃ。」と異なる話し方をする可能性がある。
また、英語について具体的な例を挙げると、お年寄りは、"Nature calls"という表現を使う可能性があるが、若者は、このような表現を使わず、"I have to go to bathroom"という表現を使う。
このような言語情報を考慮に入れた属性推定を可能にするには、複数の話者が発生する音声または記す文字において出現する語彙を集めた言語モデルをクラスタリングすることが必要である。
特開平11−175090号公報 特開2002−182682号公報
しかしながら、従来、音声データに基づいて話者をクラスタリングする方法は開発されていたが、言語モデルに基づいて話者をクラスタリングする方法は確立されていない。すなわち、言語モデルをクラスタリングする方法は開発されていない。言語モデルのクラスタリングが難しかったのは、異なる言語モデルには異なる語彙が含まれるので、異なる複数の言語モデルをクラスタリングする際に、同じベクトルとして単純には処理できないためである。
簡単な例をあげると、日本語の一人称を表す単語として、「ぼく」「わし」「わたし」「おれ」等複数の単語が存在する。複数の一人称のうちどの単語がよく使われるかは、年齢、性別によって異なる。一般的に、70才男性は一人称として「わし」をよく使うが、20才男性は一人称として「ぼく」をよく使う。そのため、70才男性の言語モデルには「わし」という単語が含まれるが、20才男性の言語モデルには「わし」という単語は含まれず、代わりに「僕」という単語が含まれることになる。
また、英語について簡単な例をあげると、70才男声の言語モデルには“Nature calls”という語句が含まれるが、20才男声の言語モデルには“Nature calls”という語句は含まれず、代わりに“to bathroom”という語句が含まれる等の例が挙げられる。
上記課題に鑑み、本発明は、複数の話者が発生する音声または記す文字に出現する語彙を集めた言語モデルをクラスタリングすることができるクラスタリングシステム、クラスタリング方法、クラスタリングプログラムを提供することを目的とする。
本発明にかかるクラスタリングシステムは、人間の所定の属性を示す属性値に対応付けられた言語モデルであって、前記属性値で示される属性を持つ1または複数の人間が発声する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが、複数の属性値それぞれについて集められてなる言語モデル群をクラスタリングするクラスタリングシステムであって、前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度とを含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合言語モデル作成部と、前記和集合言語モデル群に対して所定の方法に基づきクラスタリングを行って、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成するクラスタリング部とを備え、前記和集合言語モデル作成部は、ある言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリに記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリに記録する。
和集合言語モデル作成部は、ある言語モデルについて和集合言語モデルを作成する場合、和集合データに含まれる語彙のうち、その言語モデルに含まれている語彙については、基となる言語モデルのその語彙の出現頻度を、その語彙と対応付けて和集合言語モデルのエントリに記録する。さらに、和集合言語モデル作成部は、和集合データに含まれる語彙のうちその言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルに記録する。これにより、和集合言語モデルに含まれるエントリ数は、前記和集合の数となる。そのため、各言語モデルに対応して作成される和集合言語モデル群に含まれる和集合言語モデルのエントリ数はすべて同じになる。すなわち、和集合言語モデル作成部は、同じ数のエントリを有する複数の和集合言語モデルを言語モデルごとに作成することができる。
これにより、クラスタリング部は、同じ数のエントリを有する複数の和集合言語モデルに対してクラスタリング処理を行うことになる。その結果、クラスタリング部は、複数の和集合言語モデルを同じベクトルとしてクラスタリング処理することができる。和集合言語モデルは言語モデルごとに作成されているので、複数の和集合言語モデルをクラスタリング処理することは、すなわち、対応する複数の言語モデルをクラスタリングすることになる。これにより、言語モデル群に含まれる複数の言語モデルそれぞれが有するエントリの数が異なる場合であっても、言語モデル群のクラスタリングが可能になる。その結果、複数の言語モデル群のクラスタリングが可能になる。
本発明にかかるクラスタリングシステムにおいて、前記クラスタリング部は、前記クラスタデータで表される各クラスタに対応するクラスタリング後言語モデルを、各クラスタに含まれる和集合言語モデルを基にさらに生成することが好ましい。
クラスタリング部は、各クラスタに対応するクラスタリング後言語モデルを生成するので、各クラスタを代表する言語モデルがクラスタリング後言語モデルとして生成される。
本発明にかかるクラスタリングシステムは、前記和集合言語モデルまたは前記クラスタリング後言語モデルに含まれるエントリのうち、前記出現頻度が予め決められた閾値に満たないエントリを削除するエントリ削除部をさらに備えることが好ましい。
エントリ削除部は、出現頻度が低く、登録しておいてもあまり意味のないエントリを削除することができる。これにより、エントリ削除部は、和集合言語モデルまたはクラスタリング後言語モデルのエントリ数を減らして、データサイズを小さくすることができる。
本発明にかかるクラスタリングシステムは、前記和集合言語モデルまたは前記クラスタリング後言語モデルに含まれるエントリのうち、出現頻度が高い順に上位N個のエントリを残し、残りのエントリを削除するエントリ削除部をさらに備えることが好ましい。
これにより、エントリ削除部は、出現頻度が低いエントリを削除することができる。すなわち、エントリ数を一定数(N個)以内に抑えることができる。その結果、エントリ削除部は、和集合言語モデルまたはクラスタリング後言語モデルのエントリ数を減らして、データサイズを小さくすることができる。
本発明にかかるクラスタリングシステムは、人間の所定の属性を示す属性値に対応付けられた音響モデルであって、前記属性値で示される属性を持つ人間の音声に含まれる音響と、その出現頻度とを表すデータを含むエントリを複数有する音響モデルが複数の属性値それぞれについて、集められてなる音響モデル群において、それぞれの音響モデルを、同じの属性値についての前記和集合言語モデルに対応付けて属性値ごとの連結モデルとして記録する連結記録部をさらに備え、前記クラスタリング部は、前記連結記録部によって属性値ごとに記録された連結モデル群に対してクラスタリングを行って、前記連結モデル群を複数のクラスタに分類し、各クラスタを表すクラスタデータを生成することが好ましい。
連結記録部は、ある属性値の音響モデルとその属性値の和集合言語モデルとを対応付けて記録するので、その属性値の連結モデルには、その属性値についての音響モデルと和集合言語モデルが含まれる。このような連結モデルが属性値ごとに複数記録される。クラスタリング部は、この複数の連結モデルに対してクラスタリングを行うので、言語および音声の両方を加味したクラスタリングがなされる。その結果、精度の高いクラスタリングが可能となる。
本発明にかかるクラスタリングシステムにおいて、前記連結記録部は、前記音響モデルのエントリに含まれる出現頻度を表すデータと、和集合言語モデルのエントリに含まれる出現頻度を表すデータとの少なくとも1つに重み係数を掛けて、音響モデルにおける出現頻度の散布度と和集合言語モデルにおける出現頻度の散布度との少なくとも1つを調整する重み付け部をさらに備えることが好ましい。
音響モデルにおける出現頻度の散布度と和集合言語モデルにおける出現頻度の散布度とが異なる場合であっても、上述のように重み付け部によって両者の散布度を調整することができる。
本発明にかかる属性推定システムは、本発明にかかるクラスタリングシステムで生成されたクラスタデータと作成された和集合言語モデルを用いて、人間の属性を推定する属性推定システムであって、前記人間の言語情報を入力する入力部と、前記入力部で入力された言語情報のスコアを、前記和集合言語モデルを用いて前記クラスタデータが表すクラスタごとに計算するスコア計算部と、前記クラスタごとのスコアに基づいて、人間の属性を示すデータを生成することにより属性を推定する属性推定部とを備える。
スコア計算部は、属性値ごとの言語モデルをクラスタリングすることによって得られた各クラスタについて、入力された語彙のスコアを計算し、属性推定部は、このスコアに基づいて属性を推定するので、言語情報を考慮に入れた属性別の特徴を高精度で識別することができる。
本発明にかかる属性推定システムは、クラスタリングシステムで生成されたクラスタデータと作成された和集合言語モデルを用いて、人間の属性を推定する属性推定システムであって、人間の音声を表すデータを入力する入力部と、前記入力部で入力された音声の言語スコアを、前記和集合言語モデルを用いて前記クラスタデータが表すクラスタごとに計算する言語スコア計算部と、前記入力部で入力された音声の音響スコアを、前記クラスタデータが表すクラスタごとに計算する音響スコア計算部と、前記クラスタごとの音響スコアおよび前記クラスタごとの言語スコアに基づいて、前記人間の属性を示すデータを生成することで、属性を推定する属性推定部とを備える。
本発明にかかるクラスタリング方法は、人間の所定の属性を示す属性値に対応付けられた言語モデルであって、その属性値で示される属性を持つ1または複数の人間が発生する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが複数の属性値について集められてなる言語モデル群を、コンピュータを用いてクラスタリングするクラスタリング方法であって、前記コンピュータが備える和集合言語モデル作成部が、前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度と含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合作成工程と、前記コンピュータが備えるクラスタリング部が、前記和集合言語モデル群に対して所定の方法に基づきクラスタリングを行って、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成する工程とを備え、前記和集合作成工程において、前記和集合言語モデル作成部は、ある言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリに記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリに記録する。
人間の所定の属性を示す属性値に対応付けられた言語モデルであって、前記属性値で示される属性を持つ1または複数の人間が発生する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが、複数の属性値それぞれにについて集められてなる言語モデル群をクラスタリングする処理をコンピュータに実行させるクラスタリングプログラムであって、前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度とを含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合言語モデル作成処理と、前記和集合言語モデル群に対して所定の方法に基づきクラスタリングを行って、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成するクラスタリング処理とをコンピュータに実行させ、前記和集合言語モデル作成処理においては、ある言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリに記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリに記録する処理をコンピュータに実行させる。
本発明によれば、複数の話者が発生する音声または記す文字に出現する語彙を集めた言語モデルををクラスタリングすることができるクラスタリングシステム、クラスタリング方法、クラスタリングプログラムを提供することができる。
(実施の形態1)
図1は、本実施形態にかかるクラスタリングシステムおよび属性推定システムの構成を示す機能ブロック図である。図1に示す属性推定システム2は、入力部21、スコア計算部22、属性推定部23を含み、クラスタリング後言語モデル群記録部103に接続されている。クラスタリングシステム1は、クラスタリング部14、エントリ削除部13、和集合言語モデル作成部15を含み、クラスタリング前言語モデル群記録部106およびクラスタリング後言語モデル群記録部103に接続されている。
属性推定システム2およびクラスタリングシステム1は、パーソナルコンピュータ、サーバ、ワークステーション等のコンピュータにプログラムをインストールすることにより実現される。すなわち、入力部21、スコア計算部22、属性推定部23、クラスタリング部14、エントリ削除部13、和集合言語モデル作成部15の機能は、コンピュータのCPUが所定のプログラムを実行することにより実現される。したがって、入力部21、スコア計算部22、属性推定部23、クラスタリング部14、エントリ削除部13、和集合言語モデル作成部15の機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。
また、クラスタリング前言語モデル群記録部106およびクラスタリング後言語モデル群記録部103は、コンピュータの内蔵記憶装置またはこのコンピュータからアクセス可能な記憶装置によって具現化される。なお、属性推定システム2およびクラスタリングシステム1は、1台のコンピュータで構成することもできるし、複数のコンピュータで構成することもできる。
(クラスタリングシステムの構成)
クラスタリング前言語モデル群記録部106には、複数の言語モデルが記録されている。各言語モデルは、それぞれ人間の属性を示す属性値に対応付けられている。すなわち、言語モデルは、人間の属性を示す属性値ごとに設けられている。各言語モデルは、その言語モデルに対応付けられた属性値の属性を持つ人間が発生する音声または記す言語において出現する語彙と、その語彙の出現頻度とを表すデータを含むエントリを複数有する。
人間の属性は、例えば、人間の性質、体質、習慣、習性、帰属する組織、社会的地位等である。属性値は、人間の属性をデータで表したものである。属性を示す属性値の具体例としては、年齢、性別、職業、役職、年収、居住地域、勤務地、学校、勤務先、趣味または家族構成を表すデータまたはそのようなデータの組み合わせが挙げられる。
クラスタリングシステム1は、クラスタリング前言語モデル群記録部106に記録された言語モデル群に対してクラスタリング処理を行い、言語モデル間の類似度に基づいて言語モデル群を複数の部分集合に分類する。各部分集合はクラスタと呼ばれる。クラスタリングシステム1は、各クラスタに対応する言語モデルを生成し、それらをクラスタリング後言語モデルとしてクラスタリング後言語モデル群記録部103に記録する。
ここで、言語モデルをクラスタリングする処理の概要について具体例を挙げて説明する。図2は、言語モデルのクラスタリングの概要を説明するための図である。図2には、クラスタリング前言語モデル群BCの例と、クラスタリング後言語モデル群ACの例が示されている。図2に示すクラスタリング前言語モデル群BCは、1才ずつの年齢区分で作成された言語モデルの集合である。
例えば、5才の言語モデルは、1人以上の5才の人間が発した語彙または記した語彙を大量に記録したデータである。5才の言語モデルは、言語モデルに含まれる語彙を発した人間の属性(この例では年齢)が「5才」であることを示す属性値と対にして記録される。このように、各言語モデルには、属性を示す属性値が対応付けられて記録される。
また、それぞれの言語モデルは、例えば、語彙と、その語彙の出現頻度とを含むエントリの集合で構成される。なお、エントリは、言語モデルにおけるデータの単位である。本実施形態においては、1つのエントリには、語彙と、その語彙の出現頻度が含まれているが、1つのエントリに含まれるデータは、上記の語彙と出現頻度に限られない。
言語モデルの基となるデータを収集する方法としては、例えば、人間の自然な発声を大量に録音して書き起こしたり、新聞記事、雑誌等の文献やテープ、ビデオ、CD、DVD等の記録媒体からコーパスを集めたり、メールやチャットなどの文章を集めたりするなど様々な方法がある。
クラスタリングシステム1は、1才おきの区分で作成された言語モデルの集合(クラスタリング前言語モデル群)を、含まれる語彙の分布の言語モデル間における類似度を計算し、それに基づいて複数の自動的に部分集合(クラスタ)に分類する。そして、それぞれの部分集合(クラスタ)に対応する言語モデルがクラスタリング後言語モデルとして生成される。後述する公知のクラスタリング方法を用いて、上記のクラスタリング前言語モデル群を部分集合(クラスタ)に分割する際には、後述するクラスタリング方法が用いられる。これにより、クラスタリング後言語モデル群ACが作成される。図2に示すクラスタリング後言語モデル群ACは、一例として、5〜8才、9〜12才、・・・76才以上の年齢区分で作成されたクラスタリング後言語モデルが含まれている。すなわち、クラスタリングによって、1才おきの区分で作成された言語モデルの集合は、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は、単純に出現頻度が低いエントリを削除するのではなく、言語モデルを特徴づけるようなエントリは残すようにしてもよい。例えば、エントリ削除部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:No)。
ここで、1つの言語モデルについて和集合言語モデルを作成する処理について説明する。まず、和集合言語モデル作成部15は、クラスタリング前言語モデル群記録部106に格納されている言語モデルに含まれる語彙の和集合を表す和集合データを生成する。和集合データに含まれる語彙のうち、前記言語モデルに含まれる語彙については、その語彙と、言語モデルが表すその語彙の出現頻度を対応付けて和集合言語モデルのエントリとして記録し、前記言語モデルに含まれない語彙については、出現頻度が0であることを示すデータをその語彙に対応付けて和集合モデルのエントリに記録する。これにより前記言語モデルについての和集合言語モデルが作成される。
和集合言語モデル作成処理の具体例は後述する。
和集合言語モデルの作成が終了すると(Op2:Yes)、複数の言語モデルについて作成された和集合言語モデルに対して、クラスタリング部14が所定の方法に基づいてクラスタリングを行う(Op3)。クラスタリングにより、和集合言語モデルは、自動的に複数のクラスタに分類され、各クラスタを表すクラスタデータが生成される。前記所定の方法として、公知のクラスタリングアルゴリズムを用いることができる。
クラスタリング処理に用いられるクラスタリングアルゴリズムとして、例えば、K−ミーンズ・クラスタリングが有名である。K−ミーンズ・クラスタリングについては、例えば、(上坂良吉則、尾関和彦著「パターン認識と学習のアルゴリズム」、文一総合出版、1990年5月10日、p.109−119)に記載されている。なお、本書ではLBGアルゴリズムと記載してあるのが、K−ミーンズ・クラスタリングのアルゴリズムとほぼ同等である。
ここで、K−ミーンズ・クラスタリングを用いて和集合言語モデル群をクラスタリングする処理の例を説明する。まず、クラスタリング部14は、和集合言語モデル群を、所定数のクラスタに分類する。クラスタリング部14は、それぞれのクラスタに含まれる和集合言語モデルの重心(例えば、平均)を求める。クラスタリング部14は、和集合言語モデル群のそれぞれの和集合言語モデルとそれぞれのクラスタの平均との類似度(例えば、距離)を計算し、それぞれの和集合言語モデルが最も近い平均と同じクラスタに属するように、和集合言語モデル群が所定数のクラスタに再度分類される。このように、クラスタごとに平均を求めて、その平均を基に所定数の新しいクラスタに分類する処理を、クラスタが変化しなくなるまで繰り返す。これにより、同じクラスタに属する和集合言語モデル同士の類似度の差はなるべく小さくなり、異なるクラスタに属する和集合言モデル間の類似度の差はなるべく大きくなるように自動的に和集合言語モデル群がクラスタリングされる。
このようなアルゴリズムでは、分類対象となるモデル群に対して、モデル間の距離や重心(平均)を求める演算が必要である。前述した和集合言語モデルを作成することで、このような演算ができるようになる。モデル間の距離や重心(平均)を求める演算の例は後述する。
クラスタリング部14は、クラスタデータとクラスタデータが示す各クラスタに含まれる和集合言語モデルに基づいて、各クラスタに対応する言語モデル(クラスタリング後言語モデル)を生成する。クラスタリング後言語モデルは、クラスタリング後言語モデル群記録部103に記録される。
クラスタリング部14は、例えば、クラスタに含まれる複数の和集合言語モデルの平均モデルを求め、その平均モデルをクラスタリング後言語モデルとすることができる。ここで、複数の和集合言語モデルの平均モデルには、和集合言語モデルに含まれる各語彙と、各語彙の平均出現頻度とが記録されている。ある1つの語彙の平均出現頻度は、前記クラスタに含まれる複数の和集合言語モデルにおけるその語彙の出現頻度の平均とすることができる。和集合言語モデルの平均モデルを求める処理の例は後述する。
クラスタリング後言語モデルの具体例は、図2に示した通りである。図2に示した例では、5才〜78才まで1才きざみの属性(年齢)ごとに設けられたクラスタリング前言語モデル群BCが、5〜8才のクラスタ、9〜12才のクラスタ・・・、76才以上のクラスタのようにクラスタリングされる。それぞれのクラスタについて、クラスタリング後言語モデルが生成される。すなわち、5〜8才の言語モデル、22〜24才の言語モデル、・・・、76才以上の言語モデルが生成される。また、別の例においては、日本国内の都道府県ごとに設けられたクラスタリング前言語モデル群が、例えば、東京・神奈川の言語モデルを含むクラスタ、大阪・兵庫の言語モデルを含むクラスタ、・・・等のように幾つかのまとまりにクラスタリングされる。
また、別の例として、アメリカ合衆国内の州ごとに設けられたクラスタリング前言語モデル群が、例えば、テキサス・ニューメキシコ・オクラホマの言語モデルを含むクラスタ、ニューヨーク・ペンシルバニア・ニュージャージーの言語モデルを含むクラスタ、カリフォルニア・オレゴン・ワシントンの言語モデルを含むクラスタ・・・等のように幾つかのまとまりにクラスタリングされる。
上記のクラスタリング処理(Op3)で生成されたクラスタリング後言語モデルに対して、エントリ削除部13は、所定の判定基準により、クラスタリング後言語モデルに含まれるエントリの一部を削除する(Op4)。エントリ削除部13は、クラスタリング後言語モデルに含まれるエントリのうち出現頻度の低いエントリを削除する。このエントリ削除は、全てのクラスタリング後言語モデルについて、すなわち全てのクラスタについて行われる(Op5)。
エントリ削除処理の例として、出現頻度が予め設定した閾値に満たないエントリを削除する処理と、出現頻度が高い上位のエントリだけ残して、残りのエントリを削除する処理とが挙げられる。これらの処理の具体例を図4、図5に示す。
図4は、エントリ削除部13が、ある1つのクラスタリング後言語モデルに含まれるエントリのうち、予め設定した閾値に満たない出現頻度のエントリを削除する処理の例を示すフローチャートである。まず、エントリ削除部13は、クラスタリング言語モデルに含まれるエントリ数を取得する(Op410)。エントリ削除部13は、クラスタリング後言語モデルのI番目のエントリを示す変数Iを「1」に初期化する(Op411)。エントリ削除部13は、変数Iがクラスタリング後言語モデルのエントリ数より小さいか否かを判断し(Op412)、変数Iがエントリ数より小さければ(Op412でYes)、Op413の処理を行い、変数Iがエントリ数より大きいかまたは同じであれば(Op412でNo)、そのクラスタリング後言語モデルに対する処理を終了する。
Op412において、エントリ削除部13は、クラスタリング後言語モデルのI番目のエントリに記録された出現頻度(=出現頻度[I])が閾値より小さいか否かを判断し(Op413)、出現頻度[I]が閾値より小さい場合(Op413でYes)にのみ、前記I番目のエントリ(エントリ[I])を削除する(Op414)。その後、エントリ削除部13は、変数Iに1を加えて(Op415)、Op412の処理を繰り返す。
Op413で用いられる閾値は、例えば、クラスタリングシステム1が備える記録装置等に予め記録される。閾値は、設計者により決定されるか、あるいは、クラスタリング後言語モデルのサイズ、出現頻度の分布等に基づいて計算により求められてもよい。
このように図4に示した処理により、エントリ削除部13は、1つのクラスタリング後言語モデルに含まれる全てのエントリについて、出現頻度(例えば、確率等で表される)が閾値より小さいか否か判断し、閾値より小さい場合にはそのエントリを削除することができる。図4に示した処理は、クラスタリング後言語モデル群記録部103に記録された言語モデル全てについて行なわれる。
図5は、エントリ削除部13が、ある1つのクラスタリング後言語モデルについて、出現頻度が高い上位のエントリだけ残して、残りのエントリを削除する処理の例を示すフローチャートである。まず、エントリ削除部13は、クラスタリング後言語モデルのエントリ数を取得する(Op420)。エントリ削除部13は、そのクラスタリング言語モデルに含まれるエントリを出現頻度が高い順にソートする(Op421)。次に、エントリ削除部13は、変数Iを「N+1」に初期化する(Op422)。ここでNは、残すエントリ数を示す値であり、クラスタリングシステム1が備える記録装置等に予め記録される数値である。すなわち、Op421でソートされたエントリのうち、N+1番目以降のエントリが削除の対象となる。
エントリ削除部13は、例えば、クラスタリング後言語モデル群全体のデータサイズの許容最大量が決まっている場合に、クラスタリング後言語モデルが前記許容最大量を超えないようにするためのNの値を計算により求めてもよい。これにより、クラスタリング後言語モデル群全体のデータサイズの許容量を考慮して出現頻度の低いエントリを削除することができる。
エントリ削除部13は、変数Iがクラスタリング後言語モデルのエントリ数より小さいか否かを判断し(Op423)、変数Iがエントリ数より小さければ(Op423でYes)、Op424の処理を行い、変数Iがエントリ数より大きいかまたは同じであれば(Op423でNo)、そのクラスタリング後言語モデルに対する処理を終了する。
Op424において、エントリ削除部13は、クラスタリング後言語モデルのI番目のエントリ(エントリ[I])を削除する(Op424)。その後、エントリ削除部13は、変数Iに1を加えて(Op425)、Op413の処理を繰り返す。
このように図5に示した処理により、エントリ削除部13は、1つのクラスタリング後言語モデルに含まれる全てのエントリについて、出現頻度の高い上位N個のエントリを残し、残りを削除することができる。図5に示した処理は、クラスタリング後言語モデル群記録部103に記録された言語モデル全てについて行なわれる。以上がエントリ削除処理の具体例である。
エントリ削除処理(Op5)により、クラスタリング後言語モデルのデータサイズが調整される。そして、以上の図3に示したOp1〜Op5の処理により、クラスタリング前言語モデルがクラスタリングされ、適切なデータサイズのクラスタリング後言語モデルが記録される。クラスタリング後言語モデルは、後述する属性推定システムで人間の属性を推定する処理に用いられる。
(和集合言語モデル作成の具体例(日本語の場合))
ここで、和集合言語モデルの具体例を、図6を参照して説明する。図6は、クラスタリング前言語モデルと、和集合エントリと、和集合言語モデルのデータ構造の一例を示す図である。図6では、クラスタリング前言語モデルの例として、5才の話者の言語モデル31、22才の話者の言語モデル32、76才の話者の言語モデル33(以下、それぞれ言語モデル31、言語モデル32、言語モデル33と称する)が示されている。各言語モデル31、32、33には、話者の属性すなわち、「5才」、「22才」、「76才」を示すデータがそれぞれ対応付けられて記録されている。なお、ここでは説明を簡単にするために、5才、22才、76才の3つの言語モデルをクラスタリング前言語モデルとして例示しているが、クラスタリング前言語モデルはこれら3つだけではなく、例えば、1才から76才まで1才きざみで、それぞれの年齢ごとに設けられた言語モデルとすることができる。
図6に示す例では、言語モデル31、32、33は、それぞれの話者において出現する語彙とその出現頻度を表す確率とを一組のエントリとして、複数のエントリで構成されている。例えば、5才の話者の言語モデル31には、5才の話者において出現する語彙として「僕」、「元気」、「でちゅ」の3つの語彙が含まれており、それぞれ語彙に出現する確率を示すデータが対応付けられている。
ここで、3つの言語モデル31、32、33に含まれる語彙の和集合は、「私」、「僕」、「わし」、「は」、「元気」、「です」、「じゃ」、「でちゅ」の8つの語彙である。この和集合をエントリとしたデータが和集合エントリ49である。このように、クラスタリング前言語モデル群に現れる語彙を全て集めてエントリとしたデータが和集合エントリである。和集合言語モデル作成部15は、3つの言語モデル31、32、33それぞれについて、この和集合エントリ49を持つ和集合言語モデルを作成する。
なお、本例では、言語モデル31、32、33に含まれる語彙の和集合の全てを和集合エントリとしているが、語彙の和集合の一部を和集合エントリとしてもよい。例えば、前記和集合の8つの語彙のうちの一部である「僕」、「わし」、「は」、「元気」、「でちゅ」をそれぞれエントリとしたデータを和集合エントリとすることもできる。このように和集合の一部の語彙を和集合エントリに含ませる場合、語彙の出現頻度に基づいて和集合エントリに含ませる語彙を決定することができる。例えば、出現頻度が他の語彙と比べて相対的に低い語彙を和集合エントリから除くようにしてもよい。
図6に、作成された和集合言語モデルの例として、5才の話者の和集合言語モデル51、22才の話者の和集合言語モデル52、76才の話者の和集合言語モデル51が示されている。和集合言語モデル51、52、53にも、属性(5才、22才、76才)を示すデータが対応付けられて記録される。例えば、5才の話者の言語モデル31について和集合言語モデル51を作成する場合について説明する。5才の話者の言語モデル31は、「僕」、「元気」、「でちゅ」の3つの語彙についてエントリを持つので、これらの語彙の確率“0.5”“0.2”“0.3”は和集合言語モデル51の対応する語彙のエントリの確率として記録される。残りの語彙「私」、「わし」、「は」、「です」、「じゃ」については、言語モデル31には含まれていない語彙なので確率“0”がそれぞれの語彙に対応付けられて和集合言語モデル51のエントリとして記録される。
また、22才の話者の言語モデル32は、「私」、「は」、「元気」、「です」の4つの語彙を含むので、これらの語彙の確率“0.3”“0.5”“0.1”“0.1”は和集合言語モデル52の対応する語彙のエントリに記録される。残りの4つのエントリ「僕」、「わし」、「じゃ」、「でちゅ」は言語モデル32には含まれない語彙のエントリなので確率“0”が対応付けられて和集合エントリ52に記録される。76才の言語モデル33は「わし」、「は」、「元気」、「じゃ」の4つの語彙を含むので、これらの語彙の確率“0.3”“0.5”“0.1”“0.1”は、和集合言語モデル53の対応する語彙のエントリに記録される。「私」、「僕」、「です」、「でちゅ」の語彙のエントリは、言語モデル33に含まれないので確率“0”が記録される。
なお、図6に示した例では、クラスタリング前言語モデル群に含まれる各言語モデル31、32、33は1文のみから学習したエントリを持つように見えるが、これは例を分かりやすくするためのものである。実際の言語モデルはさらに大量の文章から確率を学習するもので、エントリの数は数万のオーダーにのぼることが多い。
また、図6に示した言語モデルはユニグラムであるが、言語モデルはこれに限られず、例えば、バイグラム、トライグラム等であってもよい。バイグラムやトライグラムでは、単語の出現する順番の出現頻度も表されることになる。例えば、「私」「元気」「です」と「元気」「です」「私」のように、同じ単語でも出現する順番が異なる場合、それぞれの順番についての出現頻度が言語モデルで表される。
また、図6に示した例では、言語モデル中の出現頻度を示すデータが確率である例を示したが、確率の代わりに、例えば、確率を対数で表した値等を、出現頻度を示すデータとして言語モデルに記録してもよい。
上記のようにして作成された複数の和集合言語モデルのエントリ数は全て同じである。すなわち、複数の和集合言語モデルは同じ次元のベクトルで表される。そのため、クラスタリング処理において、複数の和集合言語モデル間の距離を求めたり、平均を求めたりする演算を行うことが可能になる。従来、言語モデルのクラスタリングが難しかったのは、異なる言語モデルでは異なる語彙のエントリが含まれるので、同じ次元のベクトルとして単純には処理できないためであった。
具体的には、クラスタリング前言語モデル群において、ある言語モデルには含まれるが、別の言語モデルには含まれない語彙が存在する。これらの言語モデル間は、同じ次元のベクトルとして扱うことができない。そのため、言語モデル間の距離や平均を求める演算ができなかった。
このような場合に、和集合言語モデル作成部15は、言語モデル群に含まれる語彙の和集合を含む和集合言語モデルを、言語モデルそれぞれについて作成する。それぞれの和集合モデルにおいて元々の言語モデルに含まれていない語彙については出現頻度が0であることを示すデータを対応付けて記録する。これにより、クラスタリング前言語モデル群を、同じ次元のベクトルを持つ和集合言語モデル群に変換することができる。そのため、例えば、言語モデル間の距離や平均を求める演算等のようなクラスタリングに必要な演算ができるようになる。
(和集合言語モデル作成の具体例(英語の場合))
ここで、英語の和集合言語モデルの具体例を、図7を参照して説明する。図7は、クラスタリング前言語モデルと、和集合エントリと、和集合言語モデルのデータ構造の一例を示す図である。図7では、クラスタリング前言語モデルの例として、5才の話者の言語モデル31e、22才の話者の言語モデル32e、76才の話者の言語モデル33e(以下、それぞれ言語モデル31e、言語モデル32e、言語モデル33eと称する)が示されている。各言語モデル31e、32e、33eには、話者の属性すなわち、「5才」、「22才」、「76才」を示すデータがそれぞれ対応付けられて記録されている。なお、ここでは説明を簡単にするために、5才、22才、76才の3つの言語モデルをクラスタリング前言語モデルとして例示しているが、クラスタリング前言語モデルはこれら3つだけではなく、例えば、1才から76才まで1才きざみで、それぞれの年齢ごとに設けられた言語モデルとすることができる。
図7に示す例では、言語モデル31e、32e、33eは、それぞれの話者において出現する語彙とその出現頻度を表す確率とを一組のエントリとして、複数のエントリで構成されている。例えば、5才の話者の言語モデル31eには、5才の話者において出現する語彙として“I”、“have to”、“pee”の3つの語彙が含まれており、それぞれ語彙に出現する確率を示すデータが対応付けられている。
ここで、3つの言語モデル31e、32e、33eに含まれる語彙の和集合は、“I”、“have to”、“pee”、“go to”、“bathroom”、“nature”、“calls”の7つの語彙である。この和集合をエントリとしたデータが和集合エントリ49である。このように、クラスタリング前言語モデル群に現れる語彙を全て集めてエントリとしたデータが和集合エントリである。和集合言語モデル作成部15は、3つの言語モデル31e、32e、33eそれぞれについて、この和集合エントリ49を持つ和集合言語モデルを作成する。
なお、本例では、言語モデル31e、32e、33eに含まれる語彙の和集合の全てを和集合エントリとしているが、語彙の和集合の一部を和集合エントリとしてもよい。例えば、前記和集合の7つの語彙のうちの一部である“I”、“go to”、“bathroom”、“nature”、“calls”をそれぞれエントリとしたデータを和集合エントリとすることもできる。このように和集合の一部の語彙を和集合エントリに含ませる場合、語彙の出現頻度に基づいて和集合エントリに含ませる語彙を決定することができる。例えば、出現頻度が他の語彙と比べて相対的に低い語彙を和集合エントリから除くようにしてもよい。
図7に、作成された和集合言語モデルの例として、5才の話者の和集合言語モデル51e、22才の話者の和集合言語モデル52e、76才の話者の和集合言語モデル51eが示されている。和集合言語モデル51e、52e、53eにも、属性(5才、22才、76才)を示すデータが対応付けられて記録される。例えば、5才の話者の言語モデル31eについて和集合言語モデル51eを作成する場合について説明する。5才の話者の言語モデル31eは、“I”、“have to”、“pee”の3つの語彙についてエントリを持つので、これらの語彙の確率“0.5”“0.2”“0.3”は和集合言語モデル51eの対応する語彙のエントリの確率として記録される。残りの語彙“go to”、“bathroom”、“nature”、“calls”については、言語モデル31eには含まれていない語彙なので確率“0”がそれぞれの語彙に対応付けられて和集合言語モデル51eのエントリとして記録される。
また、22才の話者の言語モデル32eは、“I”、“have to”、 “go to”、“bathroom”の4つの語彙を含むので、これらの語彙の確率“0.3”“0.5”“0.1”“0.1”は和集合言語モデル52eの対応する語彙のエントリに記録される。残りの3つのエントリ “pee”、 “nature”、“calls”は言語モデル32eには含まれない語彙のエントリなので確率“0”が対応付けられて和集合エントリ52eに記録される。76才の言語モデル33eは“I”、“have to”、 “go to”、“bathroom”、“nature”、“calls”の6つの語彙を含むので、これらの語彙の確率“0.2”“0.4”“0.1”“0.1” “0.1”“0.1”は、和集合言語モデル53eの対応する語彙のエントリに記録される。“pee”の語彙のエントリは、言語モデル33eに含まれないので確率“0”が記録される。 (言語モデル間の距離および平均を求める演算の例)
ここで、言語モデル間の距離を求める演算および平均を求める演算の例を説明する。言語モデル間の距離および平均は、図3のクラスタリング(Op3)において演算されて使用される。
クラスタリングで用いられる言語モデル間の距離の例として、ユークリッド距離の2乗が挙げられる。例えば、ある言語モデルMxに含まれる各語彙の確率を成分に持つベクトルX(X1、X2、X3、・・・Xn-1、Xn)と、別の言語モデルMyに含まれる各語彙の確率を成分に持つベクトルY(Y1、Y2、Y3、・・・Yn-1、Yn)とにおいて、ベクトルXとベクトルYとのユークリッド距離の2乗は、下記(数1)のようになる。なお、下記(数1)において、XiはベクトルXのi番目の成分、YiはベクトルYのi番目の成分を表す。
Figure 0004745094
ここでは、一例として、図4に示す5才の話者の和集合言語モデル51と、22才の話者の和集合言語モデル52との距離を求める演算を説明する。まず、最初のエントリである「私」の確率に注目する。和集合言語モデル51の「私」の確率は“0”、和集合言語モデル52の「私」の確率は“0.3”なので、それらの差の2乗は、下記のようになる。
(0−0.3)2=0.32=0.09
次に2番目のエントリである「僕」に着目すると、和集合言語モデル51の「僕」の確率は“0.5”、和集合言語モデル52の「僕」の確率は“0”である。これらの差の2乗には、下記のようになる。
(0.5−0)2=0.52=0.25
このようにして、和集合言語モデル51のエントリの確率と、和集合言語モデル52の対応するエントリの確率との差の2乗を、和集合言語モデル51に含まれる全てのエントリについて求められる。求められた差の2乗を足し合わせた値がユークリッド距離の2乗となる。その値は、本例では0.7になる。すなわち、上記(数1)において、Xiが和集合言語モデル51におけるi番目のエントリの確率であり、Yiが和集合言語モデル52におけるi番目のエントリの確率である場合に、和集合言語モデル51と和集合言語モデル52との間の距離が上記(数1)により求められる。
次に、言語モデル間の平均を求める処理の例を説明する。ここでは、各エントリに対して、言語モデル間での算術平均を取ることにより、言語モデルの平均を求める処理を説明する。図8は、複数の言語モデルの平均を求める演算の例を説明するための図である。図8に示す例では、具体例として、図4に示した和集合言語モデル51、52、53の平均を求める過程の計算が示されている。
まず、最初のエントリである「私」の確率に着目すると、和集合言語モデル51の「私」の確率は“0”、和集合言語モデル52の「私」の確率は“0.3”、和集合言語モデル53の「私」の確率は“0”となっているので、これらの和をとって和集合言語モデルの個数である3で割ると以下のようになる。
(0+0.3+0)/3=0.1
これにより、和集合言語モデル51、52、53における「私」の確率の平均が“0.1”と求められる。次に2番目のエントリである「僕」に着目する。和集合言語モデル51の「僕」の確率は“0.5”、和集合言語モデル52の「僕」の確率は“0”、和集合言語モデル53の「僕」の確率は“0”なので、これらの平均は以下のように“0.167”となる。
(0.5+0+0)/3=1.167
このようにして、全てのエントリに対して平均を求めることで、平均モデルができる。図8の表54に、それぞれのエントリに対して平均を求める計算の例を示す。また、和集合言語モデル51、52、53の平均を示す言語モデルが図8に示す平均モデル55である。すなわち、平均モデル55は、5才、22才、76才の話者における平均の和集合言語モデルである。 以上のような、言語モデル間の距離または平均を求める演算は、クラスタリング部14が、和集合言語モデル群をクラスタリングして、複数のクラスタに分類する処理(図3のOp3)で用いられる。また、クラスタリング部14は、クラスタに含まれる和集合言語モデルの平均の言語モデルを生成し、この平均の言語モデルをクラスタに対応するクラスタリング後言語モデルとすることができる。
また、言語モデル間の平均を求める処理の他の例として、各言語モデルにおける語彙の出現回数を考慮した重み付き平均を求める方法を説明する。各言語モデルに含まれるある1つの語彙の出現回数は、言語モデルごとに異なっている。例えば、図8に示す和集合言語モデル52の語彙「元気」の確率は「0.1」であり、和集合言語モデル53の語彙「元気」の確率も「0.1」である。このように、確率は同じ「0.1」であっても、出現回数は異なる可能性がある。例えば、和集合言語モデル52の「元気」の出現回数は100回で、和集合言語モデル52に含まれる語彙の出現回数の和が1000回である場合、「元気」の確率は「100/1000=0.1」になるとする。一方で、和集合言語モデル53の「元気」の出現回数は10回しかないが、和集合言語モデル53に含まれる語彙の出現回数の和が100回であるために、「元気」の確率もまた「10/100=0.1」になる場合がありうる。このような場合、出現回数も考慮して言語モデル間の平均を求めることで、より正確な平均を求めることができる。
出現回数を考慮した平均を求める際には、各言語モデルに出現回数を示すデータが対応付けられて予め記録されている必要がある。一例として、言語モデルに含まれる語彙の出現回数の和が、言語モデルに対応付けられて記録されている場合について説明する。例えば、図8において、和集合言語モデル51に含まれる語彙の出現回数の和として「10」が、和集合言語モデル52に含まれる語彙の出現回数の和として「20」が、和集合言語モデル53に含まれる語彙の出現回数の和として「30」が、それぞれ記録されているとする。語彙「元気」について出現回数を考慮して、これら3つの和集合言語モデル51、52、53の平均を求める場合、例えば、下記式のように重み付き平均を計算することができる。
(0.2×10+0.1×20+0.1×30)/(10+20+30)=0.14
このようにして、それぞれの出現回数を求めて、全体の出現回数で割ることにより、言語モデルごとに異なる出現回数を考慮して平均の確率を求めることができる。このような方法は、クラスタリング部14が、クラスタそれぞれに含まれる和集合言語モデルの平均の言語モデルを生成することにより、クラスタリング後言語モデルを生成する際に好ましく用いられる。
(属性推定システムの動作例)
次に、属性推定システム2の動作の例を説明する。図9は、属性推定システム2が、話者の属性を推定する処理の例を示すフローチャートである。まず、入力部21が、言語情報を入力する(Op11)。言語情報は、例えば、人間が発した語彙を表すテキストデータとして入力される。
言語情報が入力されると、スコア計算部22は、入力された言語情報とクラスタリング後言語モデルとを比較することによってスコアを計算する(Op12)。スコアは、クラスタリングシステム1でクラスタリングされた全てのクラスタについて、それぞれ計算される(Op13)。クラスタリング後言語モデルは、各クラスタについて記録されているので、各クラスタリング後言語モデルについてスコアを計算することで、各クラスタについてスコアが計算される。属性推定部23は、各クラスタについてのスコアを用いて、入力された言語情報属性を推定する(Op14)。
(属性推定処理の具体例(日本語の場合))
ここで、属性推定処理の具体例を、図10を用いて説明する。図10には、クラスタリングシステム1で生成されたクラスタリング後言語モデルの例として、5〜8才の言語モデル61、22才〜24才の言語モデル62、76才以上の話者の言語モデル63が示されている。ここでは、入力言語情報として「僕、元気です」という文がテキストデータで入力された場合に、5〜8才の人間の言語モデル61と22〜24才の人間の言語モデル62と76才以上の話者の言語モデル63それぞれについてスコア計算部22がスコアを計算する例について説明する。
「僕、元気です」という文は「僕」、「元気」、「です」の3つの語彙からなる。5〜8才の話者の言語モデル61では「僕」の確率は“0.3”、「元気」の確率は“0.2”、「です」の確率は“0”となっている。スコアはこれらの確率の積となり、5〜8才の話者の言語モデル61から計算した確率は“0.0”となる。22〜24才の話者の言語モデル62では、「僕」の確率は“0.1”、「元気」の確率は“0.1”、「です」の確率は“0.1”となっているので、スコアはそれらの積である“0.001”となる。76才以上の話者の言語モデル63では、「僕」の確率は“0.1”、「元気」の確率は“0.1”、「です」の確率は“0.05”となっているため、スコアは“0.0005”となる。なお、ここでは説明を簡略化するためにクラスタリング後言語モデルは3つである場合について説明したが、実際には全ての年齢をカバーするようにクラスタリング後言語モデル群を作成しておくのが望ましい。
属性推定部23は、言語モデル61、62、63のうち最もスコアの良い言語モデルの属性を、推定した属性として出力する。図10の例において、5〜8才の話者の言語モデル61のスコアが“0.0”、22〜24才の話者の言語モデル62のスコアが“0.001”、76才以上の話者の言語モデル63のスコアが“0.0005”なので、最もスコアが良い言語モデルは22〜24才の話者の言語モデル62ということになる。従って、属性推定部23は「22〜24才」を示すデータを属性情報として出力することとなる。
なお、この例では、年齢推定を取り上げたが、出身地推定などの場合も同様に行うことができる。また、スコアの計算方法、属性推定方法は、上記具体例に限られない。
また、出力される属性情報が「22〜24才」という属性を示すデータである場合を例示したが、属性推定システム2で出力されるデータはこれに限られない。例えば、属性推定部23は、各クラスタリング後言語モデルのスコアを、それぞれクラスタリング後言語モデルに対応する属性と共に出力してもよい。
以上のような属性推定システム2の処理により、入力された言語情報の話者の属性を、クラスタリングシステム1によってクラスタリングされた言語モデルに基づいて推定することが可能になる。すなわち、クラスタリング前言語モデル群がクラスタリングシステム1で自動的にクラスタリングされることにより、人間が適当に属性区分を定めた場合に比べて、より適切な統計的根拠のある属性区分が得られる。その結果として、より精度の高い属性推定システム2を構築することができる。
(属性推定処理の具体例(英語の場合))
ここで、入力言語情報が英語の場合についての属性推定処理の具体例を、図11を用いて説明する。図11には、クラスタリングシステム1で生成されたクラスタリング後言語モデルの例として、5〜8才の言語モデル61e、22才〜24才の言語モデル62e、76才以上の話者の言語モデル63eが示されている。ここでは、入力言語情報として“I have to pee.”という文がテキストデータで入力された場合に、5〜8才の人間の言語モデル61eと22〜24才の人間の言語モデル62eと76才以上の話者の言語モデル63eそれぞれについてスコア計算部22がスコアを計算する例について説明する。
“I have to pee.”という文は“I”、“have to”、“pee.”の3つの語彙からなる。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”となる。なお、ここでは説明を簡略化するためにクラスタリング後言語モデルは3つである場合について説明したが、実際には全ての年齢をカバーするようにクラスタリング後言語モデル群を作成しておくのが望ましい。
属性推定部23は、言語モデル61e、62e、63eのうち最もスコアの良い言語モデルの属性を、推定した属性として出力する。図11の例において、5〜8才の話者の言語モデル61eのスコアが“0.024”、22〜24才の話者の言語モデル62eのスコアが“0”、76才以上の話者の言語モデル63eのスコアが“0”なので、最もスコアが良い言語モデルは5〜8才の話者の言語モデル61eということになる。従って、属性推定部23は「5〜8才」を示すデータを属性情報として出力することとなる。 (実施の形態2)
図12は、本実施形態におけるクラスタリングシステム10および属性推定システム20の構成を示す機能ブロック図である。図12において、図1と同じ部分には、同じ番号を付し、詳細な説明を省略する。
クラスタリングシステム10のクラスタリング部14aは、クラスタリング処理の結果生成されるクラスタデータをクラスタデータ記録部105へ記録する。クラスタデータは、実施の形態1のクラスタデータと同様、各クラスタに含まれる言語モデルまたは和集合言語モデルを特定するためのデータであり、例えば、各クラスタに含まれる話者、話者の属性、言語モデルまたは和集合言語モデル等を示すデータである。
属性推定システム2のスコア計算部22aは、クラスタデータ記録部105に記録されたクラスタデータと、クラスタリング前言語モデル群記録部106図12に記録されたクラスタリング前言語モデルとを参照して、クラスタデータが示す各クラスタのスコアを計算する。スコア計算部22aは、例えば、あるクラスタについて入力した言語情報のスコアを計算する場合、まず、クラスタデータからそのクラスタに含まれる言語モデルを示す情報を取得する。その情報に基づいて、そのクラスタに含まれる言語モデルのデータを、クラスタリング前言語モデル群記録部106から取得し、入力された言語情報と比較することで、スコアを計算する。
図13(a)にクラスタデータ記録部105に記録されるクラスタデータの例を示す。図13(a)に示すクラスタデータは、各クラスタの属性と、各クラスタに含まれる言語モデルとが対応付けられて記録されたデータである。図13(b)にクラスタリング前言語モデル群記録部106に記録されたクラスタリング前言語モデル群の例を示す。図13(b)に示すクラスタリング前言語モデル群は、5才〜78才まで、1才ずつの年齢区分で作成された言語モデルの集合である。
図13(a)、(b)に示す例において、スコア計算部22aが、入力言語情報に含まれる「僕」という語彙のスコアを、5〜7才のクラスタについて求める場合について説明する。スコア計算部22aは、図13(a)に示すクラスタデータを参照して、5〜7才の属性を持つクラスタに含まれる言語モデルを表す情報を得る。ここでは、5才の言語モデル、6才の言語モデルおよび7才の言語モデルが、5〜7才のクラスタに含まれる言語モデルであることがクラスタデータに示されている(図13(a)参照)。スコア計算部22aは、これらのクラスタリング前言語モデル群のうち、5才の言語モデル31a、6才の言語モデル31b、7才の言語モデル31cの「僕」の確率“0.5”、“0.5”、“0.5”を取得し、これらの平均を計算する。この平均がスコアの計算に用いられる。以降のスコアの計算は実施の形態1に示した方法でできる。
本実施形態のように、クラスタリング部14が、クラスタリング後言語モデルを生成せずにクラスタデータのみを記録することで、記録されるデータの量を削減することができる。その結果、記録媒体の容量が節約される。
(実施の形態3)
図14は、本実施形態におけるクラスタリングシステム100および属性推定システム200の構成を示す機能ブロック図である。図14において、図1と同じ部分には、同じ番号を付し、詳細な説明を省略する。
(クラスタリングシステム100の構成)
クラスタリングシステム100は、クラスタリング前の言語モデルおよび音響モデルをクラスタリングし、クラスタリング後言語モデルおよびクラスタリング後音響モデルを生成する。そのため、クラスタリングシステム100は、クラスタリング前言語モデル群記録部106、クラスタリング前音響モデル群記録部107、クラスタリング後言語モデル群記録部103およびクラスタリング後音響モデル群記録部109にアクセス可能な構成となっている。また、クラスタリングシステム100は、和集合言語モデル作成部15、連結記録部16、クラスタリング部14b、重み除去部18、分割部19を備える。
クラスタリング前音響モデル群記録部107には、複数の属性それぞれに対応する音響モデルを含む音響モデル群が記録されている。すなわち、各音響モデルは、属性を示すデータと対応付けられて記録されている。各音響モデルは、対応する属性を持つ人間の音声に含まれる音響と、その音響の出現頻度とを表すデータを含むエントリを複数有する。
連結記録部16は、和集合言語モデル作成部15が作成した和集合言語モデルと、対応するクラスタリング前音響モデル群記録部に記録されたクラスタリング前音響モデルとを連結し、連結モデルとして連結モデル記録部108に記録する。連結記録部16は、ある属性値の音響モデルと、同じの属性値の和集合言語モデルとを対応付けて属性値ごとに連結モデルを記録する。また、連結記録部16は、重み付け部17を備えている。
重み付け部17は、音響モデルのエントリに含まれる出現頻度を表すデータと、和集合言語モデルのエントリに含まれる出現頻度を表すデータとの少なくとも1つに重み係数を掛けて、音響モデルにおける出現頻度の散布度(ばらつき)と和集合言語モデルにおける出現頻度の散布度とを近づける。
クラスタリング部14bは、連結記録部16によって連結モデル記録部108に記録された連結モデル群に対してクラスタリングを行う。クラスタリング部14bは、連結モデル群を複数のクラスタに分類し、各クラスタを表すクラスタデータを生成する。クラスタリング部14bは、クラスタデータが表す各クラスタに対応するクラスタリング後連結モデルを生成する。
重み除去部18は、クラスタリング後連結モデルのエントリであって、重み付け部17で重みが付けられたエントリに対して、重みを除去する処理を行う。重み除去部18は、例えば、あるエントリにおいて、重み付け部17によって重み係数が掛けられた出現頻度を、その重み係数で割ることによりそのエントリの重みを除去する。
分割部19は、クラスタリング後連結モデルをクラスタリング後言語モデルと、クラスタリング後音響モデルに分割する。クラスタリング後言語モデルは、クラスタリング後言語モデル群記録部103に、クラスタリング後音響モデルは、クラスタリング後音響モデル群記録部109に記録される。
(クラスタリングシステム100の動作例)
ここで、クラスタリングシステム100の動作例を説明する。図15は、クラスタリングシステム100が、言語モデルおよび音響モデルをクラスタリングする処理の例を示すフローチャートである。
まず、和集合言語モデル作成部15が、クラスタリング前言語モデル群記録部106に記録された複数の言語モデルについて、それぞれ和集合言語モデルを作成する(Op21)。和集合言語モデルの作成処理は、実施の形態1で述べた処理と同様である。
次に、連結記録部16が和集合言語モデルと、クラスタリング前音響モデル群記録部107に記録されたクラスタリング前音響モデルとを連結する(Op22)。具体的には、連結記録部16は、ある属性値の和集合言語モデルと、その属性値と同じ属性値のクラスタリング前音響モデルとを対応づけて連結モデル記録部108に記録する。つまり同じ属性値の和集合言語モデルとクラスタリング前音響モデルとを対応付けて連結モデルとして記録する。これにより、クラスタリング部14bは、クラスタリング処理において、1つの連結モデルを、その連結モデルに含まれる各エントリの値を成分とする一つのベクトルとして扱うことができるようになる。
なお、クラスタリング前音響モデル群記録部107には、クラスタリング前言語モデル群記録部106の言語モデルと同じ属性値の音響モデル群が記録されていることが好ましい。例えば、クラスタリング前言語モデル群記録部106に22才の和集合言語モデルが記録されている場合は、音響モデル群にも22才の音響モデルが記録されていることが好ましい。
重み付け部17は、連結される和集合言語モデルのエントリに含まれる出現頻度とクラスタリング前音響モデルに含まれる値の少なくとも一方に重み係数を掛ける(Op23)。これにより、重み付け部17は、クラスタリング前音響モデルにおける出現頻度の散布度と和集合言語モデルにおける出現頻度の散布度とを近づける。重み係数は、予め決められた値であってもよいし、音響モデルおよび和集合言語モデルの出現頻度の散布度から計算により求めた値であってもよい。また、音響モデルおよび和集合言語モデルの属性値によって異なる値であってよいし、すべての属性値の音響モデルまたは和集合言語モデルについて同じ値であってもよい。
音響モデルおよび和集合言語モデルの出現頻度の散布度(ばらつき)から計算により重み係数を求めるのであれば、重み係数は属性値毎に異なる値となる場合が多い。また、全てのモデルから自動的に重み係数を計算すれば、重みは全ての属性値に対して同じとなる場合が多くなる。
重み係数は人間が適当に決めた値でもよい。この場合、重み係数にクラスタリングの際に言語モデルと音響モデルのどちらを重視するかという意味も含ませることができる。言語モデルの重み係数を大きくすれば言語モデルの重要度が増し、音響モデルの重み係数を大きくすれば音響モデルの重要度が増すことになる。このような場合は、全ての属性値に対して同じ重み係数を用いた方が同じ基準でクラスタリングすることができる。
なお、図15においては、連結処理(Op22)の後に重み付け処理(Op23)を行う態様としているが、重み付け処理(Op23)の後に連結処理(Op22)を行ってもよい。
ここで、図16を用いて連結処理(Op22)および重み付け処理(Op23)の具体例を説明する。図16は、クラスタリング前音響モデル、和集合言語モデルおよび連結モデルの具体例を示す図である。図16に示すクラスタリング前音響モデル71(以下、音響モデル71と称する)は、22才の話者の音響モデルである。音響モデル71は、第1次元からn次元までの平均と第1次元からn次元までの分散の値を音素ごとに記録したものである。和集合言語モデル52(以下、言語モデル52と称する)は、22才の話者の和集合言語モデルである。言語モデル52は、実施の形態1(図6)で例示した言語モデル52と同じである。
22才の話者の連結モデル81(以下、連結モデル81と称する)は、音響モデル71と言語モデル52が、連結記録部16によって連結されて記録されたデータの例である。また、連結モデル81は、重み付け部17が音響モデルの値に重み係数“0.1”を掛けたデータと、言語モデル52の確率に重み係数“1.0”を掛けたデータとが対応付けられて記録されたデータである。
図16に示す例では、言語モデルにおいて語彙の出現頻度を示す値は確率なので、0と1の間の数に分布するが、音響モデルにおける値の分布の範囲は0と1の間に収まらない。すなわち、言語モデルと音響モデルとでは、値の分布範囲が異なる。そこで、重み付け部17は、音響モデルの値には“0.1”という重み係数を掛け、言語モデルの確率には“1.0”という重み係数を掛けて、これらの値の分布範囲を近づける。ここで、重み付け部17は、例えば、音響モデル71における値の分布範囲(例えば、最大値と最小値)と、言語モデルにおける確率の分布範囲とを比較して、両者の分布範囲を近づけるような重み係数を計算することができる。また、分布範囲に限らず、例えば、音響モデル71における値および言語モデル52における確率の平均、分散、標準偏差等を用いて重み係数を計算することもできる。
連結モデル81のような連結モデルが、属性(本例では、年齢)ごとに生成される。図16に示した例は、属性(年齢)が22才の話者のモデルについてのみであるが、同様にして1才ごとの各年齢について連結モデルを生成することができる。
このようにして、重み付け部17は、和集合言語モデル群に含まれる言語モデルとクラスタリング前音響モデル群に含まれる音響モデルそれぞれの値に重み係数を掛ける。そして、連結記録部16は、互いに対応する言語モデルと音響モデルとをベクトルとして連結する。なお、図16に示した例では説明を分かりやすくするため音響モデルの内容を簡略化して書いてあるが、実際はもっと複雑である場合が多い。以上が、連結処理(Op22)および重み付け処理(Op23)の具体例である。
図15に示す連結処理(Op22)および重み付け処理(Op23)によって、連結モデルが連結モデル記録部108に記録されると、クラスタリング部14bが、連結モデルに対してクラスタリング処理を行う(Op24)。クラスタリング処理は、実施の形態1のクラスタリング処理と同様である。クラスタリングによって、連結モデル記録部108に記録された複数の連結モデルは、複数のクラスタに分類され、各クラスタについてクラスタリング後連結モデルが生成される。
クラスタリング後連結モデルに対して、重み除去部18は、重み付け部17で掛けられた重み係数で連結モデルに含まれる値を割って、重み除去する(Op25)。また、分割部19は、クラスタリング後連結モデルを、クラスタリング後和集合言語モデルとクラスタリング後音響モデルとに分割する(Op26)。クラスタリング後連結モデルは、和集合言語モデルと音響モデルとが対応付けられたデータであるので、分割部19は、和集合言語モデルと音響モデルに分割することができる。クラスタリング後和集合言語モデルは、クラスタリング後言語モデル群記録部103に、クラスタリング後音響モデルは、クラスタリング後音響モデル群記録部109にそれぞれ記録される。
ここで、図17を用いて重み除去処理(Op25)および分割処理(Op26)の具体例を説明する。図17は、クラスタリング後連結モデルと、それを分割して生成されるクラスタリング後音響モデルおよびクラスタリング後言語モデルの具体例を示す図である。図17に示すクラスタリング後連結モデル83(以下、連結モデル83と称する)は、9〜12才の話者の連結モデルである。クラスタリング後音響モデル91(以下、音響モデル91と称する)は、連結モデル83が分割され、重み除去処理されることにより生成された音響モデルである。クラスタリング後言語モデル101(以下、言語モデル101と称する)は、連結モデル83が分割されることにより生成された言語モデルである。
図17に示す例では、重み除去部18は、連結モデル83に含まれる音響モデルに相当するエントリの値を“0.1”で割っている。これは、重み付け部17において、連結モデル83の基になる連結モデルが生成されるときに、音響モデルに“0.1”という重み係数を掛けた場合の例である。すなわち、連結モデル83の基となった音響モデルには“0.1”という重み係数が掛けてあるので、重み除去部18は、連結モデル83に含まれる音響モデルに相当するエントリ83aの値を“0.1”で割って重みを掛ける前の状態に戻す。分割部19は、連結モデル83の音響モデルに相当するエントリ83aの部分と、連結モデル83の言語モデルに相当するエントリ83bの部分とを、それぞれ異なる別個のデータとする。すなわち、連結モデル83を音響モデル91および言語モデル101に分割する。以上が、重み除去処理(Op25)および分割処理(Op26)の具体例である。
図15においては、重み除去処理(Op25)の後に分割処理(Op26)を行う態様としているが、分割処理(Op26)の後に重み除去処理(Op25)を行ってもよい。また、クラスタリング後言語モデル群記録部103に対して、実施の形態1と同様にエントリ削除処理(図3のOp4、Op5)を行ってもよい。
以上がクラスタリングシステム100の動作例である。図15に示した処理によって記録されたクラスタリング後音響モデルおよびクラスタリング後言語モデルは、後述する属性推定システム200の処理で用いられる。
本実施形態におけるクラスタリングシステム100は、音響モデル群と言語モデル群を連動してクラスタリングすることができる。音響モデル群と言語モデル群を別々にクラスタリングしてしまうと、音響モデル群と言語モデル群で異なるクラスタができてしまい、両方のモデルを用いて属性推定を行うことができなくなる可能性がある。本実施形態によれば、音響モデル群と言語モデル群を同時にクラスタリングできるため、両モデル群で同じクラスタができることが保障される。また、同時にクラスタリングを行う際に、言語モデルと音響モデルのどちらを重視してクラスタリングするかを、重みによって調整することができる。
(属性推定システム200の構成)
次に、図14に示す属性推定システム200の構成について説明する。属性推定システム200は、話者の発した音声情報を入力し、その話者の属性に関する情報を出力するシステムである。属性推定システム200は、例えば、音声対話アプリケーション等の上位プログラムから話者の発した言語情報を受け取って、その話者の属性を推定し、属性を示すデータを上位プログラムへ返す機能を有する。また、属性推定システム200は、クラスタリングシステム100で生成されたクラスタリング後言語モデルおよびクラスタリング後音響モデルを用いて話者の属性を推定する処理を行う。
属性推定システム200において、入力部21bは音声データを入力する。スコア計算部22bは、クラスタリング後言語モデル群記録部103に記録された言語モデルと、クラスタリング後音響モデル群記録部109に記録された音響モデルに基づいて、入力部21bで入力された音声データの出現頻度を示すスコア(尤度)をクラスタごとに計算する。スコア計算部22bの詳細な構成については後述する。
属性推定部23bは、スコア計算部22bがクラスタごとに計算したスコアに基づいて、話者の属性を示すデータを生成する。属性推定部23bは、例えば、最もスコアが高いクラスタに対応する属性を話者の属性とすることができる。
(スコア計算部22bの構成の詳細)
図18は、スコア計算部22bの構成を示す機能ブロック図である。図18に示すスコア計算部22bは、ディクテーション(任意語彙音声聞き取り)システムの機能を有している。ディテーションシステムは、各属性値の音響モデルおよび言語モデルに対応する入力音声のスコアをディクテーションのアルゴリズムを用いて計算する。
候補文作成部47は、クラスタリング後言語モデル群記録部109に記録された任意のクラスタについてのクラスタリング後言語モデルに含まれる語彙を用いて複数の候補文を作成する。音素列作成部45は、候補文作成部47が作成した複数の候補文それぞれに対応する音素列を作成する。
特徴抽出部41は、音声データを入力して、音声データが表す音声の特徴量を示すデータを生成する。音響スコア計算部42は、特徴抽出部41が生成した特徴量を示すデータと、クラスタリング後音響モデル群記録部103に記録された前記クラスタについてのクラスタリング後音響モデルとを用いて、音素列作成部45が作成した候補文の音素列それぞれについて、入力された音声データが表す音声の音響スコアを計算する。
言語スコア計算部46は、前記クラスタについてのクラスタリング後言語モデルを用いて、候補文作成部47が作成した複数の候補文それぞれについて言語スコアを計算する。統合スコア計算部43は、音響スコア計算部42が計算した音響スコアと、言語スコア計算部46が計算した言語スコアとを統合した統合スコアを、候補文ごとに計算する。最良スコア計算部44は、候補文ごとに計算された統合スコアのうち最もよいスコアを、前記クラスタに対応する属性のスコアとして出力する。
(属性推定システム200の動作例)
次に、属性推定システム200の動作の例を説明する。図19は、属性推定システム200が、話者の属性を推定する処理の例を示すフローチャートである。まず、入力部21bが、音声データを入力する(Op31)。音声データは、例えば、話者が発した1つの文をデータ化したものである。
音声データが入力されると、スコア計算部22bは、入力された音声データと、ある1つのクラスタについてのクラスタリング後言語モデルおよびクラスタリング後音響モデルとを用いて、そのクラスタについてのスコアを計算する(Op32)。スコア計算の詳細な処理は後述する。スコアは、クラスタリングシステム1でクラスタリングされた全てのクラスタについて、それぞれ計算される(Op33)。クラスタリング後言語モデルおよびクラスタリング後音響モデルは、各クラスタについて記録されているので、各クラスタリング後言語モデルについての言語スコアと、対応するクラスタリング後音響モデルについての音響スコアとを計算し、統合することで、各クラスタについてスコアが計算される。
例えば、クラスタリング後音響モデルおよびクラスタリング後言語モデルが、5〜8才の話者のクラスタ、9〜12才の話者のクラスタ、76才以上の話者のクラスタ、の3つのクラスタについて記録されている場合、スコア計算部22bは、5〜8才の話者のクラスタについてのスコア、9〜12才の話者のクラスタについてのスコア、76才以上の話者のクラスタについてのスコア、と3つのスコアを計算する。これは、クラスタリング後音響モデルおよびクラスタリング後言語モデルが、年齢に対応するクラスタについて記録されている場合の例であるが、クラスタに対応する属性は年齢に限られない。例えば、国、州、都道府県、市町村等の地域が各クラスタに対応する属性であってもよい。
属性推定部23bは、各クラスタについてのスコアを用いて、入力された音声データを発した話者の属性を推定する(Op34)。属性推定部23bは、例えば、スコア計算部22bが計算したクラスタごとのスコアのうち、最もスコアの高いクラスタに対応する属性を、推定結果として出力することができる。また、例えば、各クラスタのスコアと属性とを対応付けたデータを出力することもできる。
例えば、上記例の、5〜8才の話者のクラスタ、9〜12才の話者のクラスタ、76才以上の話者のクラスタのうち、9〜12才の話者のクラスタのスコアが最も高い場合は、推定結果を「9〜12才」とすることができる。
(スコア計算の例(入力音声が日本語の場合))
ここで、スコア計算部22bがスコアを計算する処理の具体例を説明する。図20は、スコア計算部22bがある1つのクラスタについてのスコアを計算する処理の流れを示すフローチャートである。
まず、特徴抽出部41は、音声データを入力して、音声データが表す音声の特徴量を示すデータを生成する。(Op2201)。図21は、特徴抽出部41の入出力データの例を示す図である。特徴抽出部41は、入力された音声データを時間軸に沿って幾つかのフレームに分割し、各フレームに対して特徴量を計算する。計算された特徴量は、例えば、特徴量データ111のようなデータで表される。特徴量データ111において、1つのフレームの特徴量はn次元のベクトルで表される。特徴量データ111は、第1次元から第n次元までのn個の値を各フレームについて持つ。特徴量の例としては、スペクトルやケプストラムなどが挙げられる。
次に、候補文作成部47が、あるクラスタについてのクラスタリング後言語モデルに含まれる語彙を用いて複数の候補文を作成する(Op2202)。図22は、候補文作成部47の入出力データの例を示す図である。図22に示す例では、候補文作成部47は、9〜12才のクラスタについてのクラスタリング後言語モデル101(以下、言語モデル101と称する)を入力して、言語モデル101に含まれる語彙から生成されうる全ての文を候補として出力する。候補文データ121は、言語モデル101の語彙に基づいて生成された候補文を示すデータである。
候補文が作成されると、音素列作成部45は、候補文作成部47が作成した複数の候補文それぞれに対応する音素列を作成する(Op2203)。図23は、音素列作成部45の入出力データの例を示す図である。音素列作成部45は候補文データ121が表す複数の候補文を、音素に分解する。音素は、例えば、子音、母音等のように音声の最小単位である。後述する音響スコア計算処理では、この音素を単位として用いて行われるため、音素列作成部45が必要となる。音素列データ131は、候補文データ121の候補文に基づいて生成された音素列を示すデータである。
言語スコア計算部46は、候補文作成部47で作成された候補文の基になったクラスタリング後言語モデルを用いて、候補文作成部47が作成した複数の候補文それぞれについて言語スコアを計算する(Op2204)。図24は、言語スコア計算部46の入出力データの例を示す図である。図24に示す例では、言語スコア計算部46は、9〜12才の言語モデル101に含まれる各語彙の確率を用いて、各候補文の言語スコアを計算する。例えば、候補文が「私は、元気でちゅ。」という文の場合、この文に含まれる語彙「私」の確率は“0.1”、「は」の確率は“0.1”、「元気」の確率は“0.2”、「でちゅ」の確率は“0.2”である。これらを掛け合わせると、“0.0004”というスコアが得られる。図24に示す言語スコアデータ141は、各候補文について求められた言語スコアを含むデータである。なお、図24に示す言語スコアデータ141には、分かりやすくするため、スコアを求める式が含まれているが、実際のデータには、式は含まれず言語スコアの値だけが記録される。
音響スコア計算部42は、特徴抽出部41が生成した特徴量を示すデータと、クラスタリング後音響モデルとを用いて、音素列作成部45が作成した候補文の音素列それぞれについて、入力された音声データが表す音声の音響スコアを計算する(Op2205)。この際、音響スコア計算部42が用いるクラスタリング後音響モデルは、言語スコア計算の基となったクラスタリング後言語モデルと同じクラスタのクラスタリング後音響モデルである。
図25は、音響スコア計算部42の入出力データの例を示す図である。図25に示す例では、音響スコア計算部42は、図21に例示した特徴量データ111と、9〜12才のクラスタについてのクラスタリング後音響モデル91(以下、音響モデル91と称する)とを用いて、音素列データ131が表す各候補文の音響スコアを計算する。なお、音素列データ131は、図23で示した例において、音素列作成部45が作成した音素列データ131である。
音響スコア計算部42は、まず、各候補文の音素列を参照して、特徴量データ111が表すフレームと音素の対応を求める。なぜこれが必要かというと、一つの音素が一つのフレームに対応しているとは限らないからである。図25の中央部にフレームと音素の対応関係を表す対応データ151の例を示す。この対応データ151は、「w A t A sH I ・・・」という音素列とフレームの対応関係を示すデータである。特徴量データ111の第1フレームと第2フレームが最初の“w”に対応しており、第3フレームから第5フレームが次の“A”に対応している。
次に、音響スコア計算部42は、特徴量データ111に含まれる第1フレーム〜第nフレームまでの、各フレームについて音響スコアを求める。各フレームの音響スコアは、例えば、多次元正規分布によって計算される。本例では説明を簡単にするために、共分散行列が対角成分のみである場合について説明する。この場合、多次元正規分布の確率密度は例えば、下記(数2)で計算される。
Figure 0004745094
上記(数2)で、Xiは特徴量の第i次元を表わし、μi、Viはそれぞれ音響モデルの平均の第i次元と分散の第i次元を表わす。具体的に第1フレームの音響スコアを計算の例を説明する。まずexp(指数関数)の中について見ると、特徴量データ111において第1フレームの第1次元が“2.3”なので、X1=2.3となる。フレームと音素の対応関係を示す対応データ151を見ると、第1フレームは音素“w”なので、音響モデル91の“w”を参照する。音響モデル91において“w”の第1次元の平均と分散は、それぞれ“2.1”、“0.4”となっているので、μ1=2.1、Vi=0.4となる。従って、第1次元(i=1の場合)のexp(指数関数)の中のΣの中における値は以下のようになる。
−(2.3−2.1)2/0.4
第2次元(i=2の場合)は、特徴量の第1フレームの第2次元が“−7.6”なのでX2=−7.6となる。音響モデル91の“w”の第2次元の平均と分散は、それぞれ“−8.0”、“7.3”なので、μ2=−8.0、V2=7.3となる。従って、第2次元の計算は以下のようになる。
−(−7.6−(−8.0))2/7.3
このようにして、音響スコア計算部42は、第1フレームの第n次元までの計算を行った後、これらの値を全て足してexp(指数関数)をとる。上記(数2)において√(ΠVi) の部分は“w”の分散の第1次元から第n次元までを掛け合わせて√をとったものである。(数2)に示すように、expをとった値を√(ΠVi)で割ると第1フレームの音響スコアとなる。
第2フレームの音響スコアも同様に計算できる。フレームと音素の対応関係の例151を参照すると第2フレームの音素も“w”なので、平均と分散の値は音響モデル91の“w”の値が計算に用いられる。特徴量データ111の値は、第1フレームとは異なる値となるので、第2フレームの音響スコアの値も、第1フレームの音響スコアの値とは異なるものとなる。
このようにして、音響スコア計算部42は、各フレームの音響スコアを求め、各フレームの音響スコアを全て掛け合わせたものを、その候補文の音響スコアとする。同様にして、音響スコア計算部42は、全ての候補文の音響スコアを計算する。図25に示す9〜12才音響スコアデータ161が、各候補文について求められた音響スコアを含むデータの例である。
なお、上記例ではフレームと音素の対応関係をまず求めて、それから各フレームの音響スコアを求める例を説明したが、実際には文全体の音響スコアが最もよくなるような対応関係を動的に求めていくアルゴリズムが必要となる場合が多い。このアルゴリズムが、Viterbiアルゴリズムと呼ばれるアルゴリズムである。(中川聖一著「確率モデルによる音声認識」、社団法人電子情報通信学会、1988年7月1日発行、p44―46)にViterbiアルゴリズムについて詳細な記載がある。以上が、音響スコア計算(図20のOp2205)の例である。
音響スコアが計算されると、統合スコア計算部43は、音響スコア計算部42が計算した音響スコアと、言語スコア計算部46が計算した言語スコアとを統合した統合スコアを、候補文ごとに計算する(Op2206)。図26は、統合スコア計算部43の入出力データの例を示す図である。図26に示す例において、統合スコア計算部43は、9〜12才の音響スコアデータ161と、9〜12才の言語スコアデータ141とに基づいて、各候補文について、統合スコアを計算し、9〜12才統合スコアデータ171として出力している。各候補文の統合スコアは、各候補文の音響スコアと言語スコアとを掛け合わせた値である。例えば、「私は、元気でちゅ」という候補文について見ると、音響スコア161が示す音響スコアは“0.0005”で、言語スコア141が示す言語スコアは“0.0004”である。統合スコア計算部43は、これらの音響スコアと言語スコアを掛けた値すなわち、0.0005×0.0004=0.0000002を統合スコアとして算出する。他の候補文について計算された統合スコアの例を統合スコアデータ171に示す。なお、図26に示す統合スコアデータ171には、分かりやすくするため、統合スコアを求める式が含まれているが、実際のデータには、式は含まれず統合スコアの値だけが記録される。
統合スコアが計算されると、最良スコア計算部44は、候補文ごとに計算された統合スコアのうち最も高いスコアを、前記クラスタに対応する属性のスコアとして出力する(Op2207)。図27は、最良スコア計算部44の入出力データの例を示す図である。図27に示す例では、最良スコア計算部44は、9〜12才統合スコアデータ171から、最も高いスコア“0.000032”を、「9〜12才」のスコアとして出力する。
これで、図20に示す処理が終了する。これにより、1つのクラスタについてスコアが計算される。図20に示した処理が、クラスタリングシステム100のクラスタリングによって分類された各クラスタについて行われることで、クラスタごとのスコアが計算される。
なお、スコアを計算する処理は、図20で説明した上記例に限られない。また、図20におけるOp2201〜Op2207の各処理の実行順序は、図20に示す順序に限らない。例えば、図20においては、言語スコア計算(Op2203)と音響スコア計算(Op2205)とが直列的に実行される態様となっているが、言語スコア計算(Op2203)と音響スコア計算(Op2205)とは並列的に実行されてもよい。また、特徴抽出処理(Op2201)は、音響スコア計算(Op2205)の前に実行されるのであれば、候補文作成(Op2202)および音素列作成(Op2204)と並列的に実行されてもよい。
(スコア計算の例(入力音声が英語の場合))
ここで、スコア計算部22bがスコアを計算する処理の具体例を説明する。図20は、スコア計算部22bがある1つのクラスタについてのスコアを計算する処理の流れを示すフローチャートである。
まず、特徴抽出部41は、音声データを入力して、音声データが表す音声の特徴量を示すデータを生成する。(Op2201)。図21は、特徴抽出部41の入出力データの例を示す図である。特徴抽出部41は、入力された音声データを時間軸に沿って幾つかのフレームに分割し、各フレームに対して特徴量を計算する。計算された特徴量は、例えば、特徴量データ111のようなデータで表される。特徴量データ111において、1つのフレームの特徴量はn次元のベクトルで表される。特徴量データ111は、第1次元から第n次元までのn個の値を各フレームについて持つ。特徴量の例としては、スペクトルやケプストラムなどが挙げられる。
次に、候補文作成部47が、あるクラスタについてのクラスタリング後言語モデルに含まれる語彙を用いて複数の候補文を作成する(Op2202)。図28は、候補文作成部47の入出力データの例を示す図である。図28に示す例では、候補文作成部47は、9〜12才のクラスタについてのクラスタリング後言語モデル101e(以下、言語モデル101eと称する)を入力して、言語モデル101eに含まれる語彙から生成されうる全ての文を候補として出力する。候補文データ121eは、言語モデル101eの語彙に基づいて生成された候補文を示すデータである。
候補文が作成されると、音素列作成部45は、候補文作成部47が作成した複数の候補文それぞれに対応する音素列を作成する(Op2203)。図29は、音素列作成部45の入出力データの例を示す図である。音素列作成部45は候補文データ121eが表す複数の候補文を、音素に分解する。音素は、例えば、子音、母音等のように音声の最小単位である。後述する音響スコア計算処理では、この音素を単位として用いて行われるため、音素列作成部45が必要となる。音素列データ131eは、候補文データ121eの候補文に基づいて生成された音素列を示すデータである。
言語スコア計算部46は、候補文作成部47で作成された候補文の基になったクラスタリング後言語モデルを用いて、候補文作成部47が作成した複数の候補文それぞれについて言語スコアを計算する(Op2204)。図30は、言語スコア計算部46の入出力データの例を示す図である。図30に示す例では、言語スコア計算部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”というスコアが得られる。図30に示す言語スコアデータ141eは、各候補文について求められた言語スコアを含むデータである。なお、図30に示す言語スコアデータ141eには、分かりやすくするため、スコアを求める式が含まれているが、実際のデータには、式は含まれず言語スコアの値だけが記録される。
音響スコア計算部42は、特徴抽出部41が生成した特徴量を示すデータと、クラスタリング後音響モデルとを用いて、音素列作成部45が作成した候補文の音素列それぞれについて、入力された音声データが表す音声の音響スコアを計算する(Op2205)。この際、音響スコア計算部42が用いるクラスタリング後音響モデルは、言語スコア計算の基となったクラスタリング後言語モデルと同じクラスタのクラスタリング後音響モデルである。
図31は、音響スコア計算部42の入出力データの例を示す図である。図31に示す例では、音響スコア計算部42は、図21に例示した特徴量データ111と、9〜12才のクラスタについてのクラスタリング後音響モデル91e(以下、音響モデル91eと称する)とを用いて、音素列データ131eが表す各候補文の音響スコアを計算する。なお、音素列データ131eは、図29で示した例において、音素列作成部45が作成した音素列データ131eである。
音響スコア計算部42は、まず、各候補文の音素列を参照して、特徴量データ111が表すフレームと音素の対応を求める。なぜこれが必要かというと、一つの音素が一つのフレームに対応しているとは限らないからである。図31の中央部にフレームと音素の対応関係を表す対応データ151eの例を示す。この対応データ151eは、「ayhhae ・・・」という音素列とフレームの対応関係を示すデータである。特徴量データ111の第1フレームから第3フレームまでが最初の“ay”に対応しており、第4フレームから第5フレームが次の“hh”に対応している。
次に、音響スコア計算部42は、特徴量データ111に含まれる第1フレーム〜第nフレームまでの、各フレームについて音響スコアを求める。各フレームの音響スコアは、例えば、多次元正規分布によって計算される。本例では説明を簡単にするために、共分散行列が対角成分のみである場合について説明する。この場合、多次元正規分布の確率密度は例えば、下記(数2)で計算される。
Figure 0004745094
上記(数2)で、Xiは特徴量の第i次元を表わし、μi、Viはそれぞれ音響モデルの平均の第i次元と分散の第i次元を表わす。具体的に第1フレームの音響スコアを計算の例を説明する。まずexp(指数関数)の中について見ると、特徴量データ111において第1フレームの第1次元が“2.3”なので、X1=2.3となる。フレームと音素の対応関係を示す対応データ151eを見ると、第1フレームは音素“ay”なので、音響モデル91eの“ay”を参照する。音響モデル91eにおいて“ay”の第1次元の平均と分散は、それぞれ“2.1”、“0.4”となっているので、μ1=2.1、Vi=0.4となる。従って、第1次元(i=1の場合)のexp(指数関数)の中のΣの中における値は以下のようになる。
−(2.3−2.1)2/0.4
第2次元(i=2の場合)は、特徴量の第1フレームの第2次元が“−7.6”なのでX2=−7.6となる。音響モデル91eの“ay”の第2次元の平均と分散は、それぞれ“−8.0”、“7.3”なので、μ2=−8.0、V2=7.3となる。従って、第2次元の計算は以下のようになる。
−(−7.6−(−8.0))2/7.3
このようにして、音響スコア計算部42は、第1フレームの第n次元までの計算を行った後、これらの値を全て足してexp(指数関数)をとる。上記(数2)において√(ΠVi) の部分は“w”の分散の第1次元から第n次元までを掛け合わせて√をとったものである。(数2)に示すように、expをとった値を√(ΠVi)で割ると第1フレームの音響スコアとなる。
第2フレームの音響スコアも同様に計算できる。フレームと音素の対応関係の例151eを参照すると第2フレームの音素も“ay”なので、平均と分散の値は音響モデル91eの“ay”の値が計算に用いられる。特徴量データ111の値は、第1フレームとは異なる値となるので、第2フレームの音響スコアの値も、第1フレームの音響スコアの値とは異なるものとなる。
このようにして、音響スコア計算部42は、各フレームの音響スコアを求め、各フレームの音響スコアを全て掛け合わせたものを、その候補文の音響スコアとする。同様にして、音響スコア計算部42は、全ての候補文の音響スコアを計算する。図31に示す9〜12才音響スコアデータ161eが、各候補文について求められた音響スコアを含むデータの例である。
なお、上記例ではフレームと音素の対応関係をまず求めて、それから各フレームの音響スコアを求める例を説明したが、実際には文全体の音響スコアが最もよくなるような対応関係を動的に求めていくアルゴリズムが必要となる場合が多い。このアルゴリズムが、Viterbiアルゴリズムと呼ばれるアルゴリズムである。(中川聖一著「確率モデルによる音声認識」、社団法人電子情報通信学会、1988年7月1日発行、p44―46)にViterbiアルゴリズムについて詳細な記載がある。以上が、音響スコア計算(図20のOp2205)の例である。
音響スコアが計算されると、統合スコア計算部43は、音響スコア計算部42が計算した音響スコアと、言語スコア計算部46が計算した言語スコアとを統合した統合スコアを、候補文ごとに計算する(Op2206)。図32は、統合スコア計算部43の入出力データの例を示す図である。図32に示す例において、統合スコア計算部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に示す。なお、図32に示す統合スコアデータ171eには、分かりやすくするため、統合スコアを求める式が含まれているが、実際のデータには、式は含まれず統合スコアの値だけが記録される。
統合スコアが計算されると、最良スコア計算部44は、候補文ごとに計算された統合スコアのうち最も高いスコアを、前記クラスタに対応する属性のスコアとして出力する(Op2207)。図33は、最良スコア計算部44の入出力データの例を示す図である。図33に示す例では、最良スコア計算部44は、9〜12才統合スコアデータ171eから、最も高いスコア“0.000012”を、「9〜12才」のスコアとして出力する。
これで、図20に示す処理が終了する。これにより、1つのクラスタについてスコアが計算される。図20に示した処理が、クラスタリングシステム100のクラスタリングによって分類された各クラスタについて行われることで、クラスタごとのスコアが計算される。
本発明は、言語モデルをクラスタリングすることができるクラスタリングシステムおよびそれを利用して、話者が発した言語からその話者の年齢、出身地等の属性を推定する属性推定システムとして有用である。
実施の形態1にかかるクラスタリングシステムおよび属性推定システムの構成を示す機能ブロック図 言語モデルのクラスタリングの概要を説明するための図 言語モデルをクラスタリングする処理の例を示すフローチャート エントリ削除を行う処理を示すフローチャート エントリ削除を行う処理の別の例を示すフローチャート クラスタリング前言語モデルと、和集合エントリと、和集合言語モデルのデータ構造の一例を示す図 クラスタリング前言語モデルと、和集合エントリと、和集合言語モデルのデータ構造の一例を示す図 複数の言語モデルの平均を求める演算の例を説明するための図 話者の属性を推定する処理の例を示すフローチャート 属性推定処理の具体例を説明するための図 属性推定処理の具体例を説明するための図 実施の形態2におけるクラスタリングシステムおよび属性推定システムの構成を示す機能ブロック図 (a)はクラスタデータの例を示す図である。(b)は、クラスタリング前言語モデル群の例を示す図である。 実施の形態3におけるクラスタリングシステムおよび属性推定システムの構成を示す機能ブロック図 言語モデルおよび音響モデルをクラスタリングする処理を示すフローチャート クラスタリング前音響モデル、和集合言語モデルおよび連結モデルの具体例を示す図 クラスタリング後連結モデル、クラスタリング後音響モデルおよびクラスタリング後言語モデルの具体例を示す図 スコア計算部の構成を示す機能ブロック図 話者の属性を推定する処理の例を示すフローチャート ある1つのクラスタについてのスコアを計算する処理を示すフローチャート 特徴抽出部の入出力データの例を示す図 候補文作成部の入出力データの例を示す図 音素列作成部の入出力データの例を示す図 言語スコア計算部の入出力データの例を示す図 音響スコア計算部の入出力データの例を示す図 統合スコア計算部の入出力データの例を示す図 最良スコア計算部の入出力データの例を示す図 候補文作成部の入出力データの例を示す図 音素列作成部の入出力データの例を示す図 言語スコア計算部の入出力データの例を示す図 音響スコア計算部の入出力データの例を示す図 統合スコア計算部の入出力データの例を示す図 最良スコア計算部の入出力データの例を示す図 従来の属性推定装置におけるデータの流れを示す図 言語モデルと音響モデルを用いた属性推定装置におけるデータの流れを示す図
符号の説明
1、10、100 クラスタリングシステム
2、20、200 属性推定システム
13 エントリ削除部
14 クラスタリング部
15 和集合言語モデル作成部
16 連結記録部
17 重み付け部
18 重み除去部
19 分割部
21 入力部
22 スコア計算部
23 属性推定部
31 5才の話者の言語モデル
32 22才の話者の言語モデル
33 76才の話者の言語モデル
51 5才の話者の和集合言語モデル
52 22才の話者の和集合言語モデル
53 76才の話者の和集合言語モデル
54 平均の計算を示す表
55 平均の和集合言語モデル
61 5〜8才の話者の言語モデル
62 22〜24才の話者の言語モデル
63 76才以上の話者の言語モデル
71 22才の話者の音響モデル
81 22才の話者の連結モデル
91 音響モデル
101 クラスタリング後言語モデル
103 クラスタリング後言語モデル群記録部
105 クラスタデータ記録部
106 クラスタリング前言語モデル群記録部
107 クラスタリング前音響モデル群記録部
108 連結モデル記録部
109 クラスタリング後音響モデル群記録部
111 特徴量データ
121 候補文データ
131 音素列データ
141 言語スコアデータ
161 音響スコアデータ
171 統合スコアデータ
901、902 属性推定装置

Claims (10)

  1. 人間の所定の属性を示す属性値に対応付けられた言語モデルであって、前記属性値で示される属性を持つ1または複数の人間が発声する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが、複数の属性値それぞれについて集められてなる言語モデル群をクラスタリングするクラスタリングシステムであって、
    前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度とを含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合言語モデル作成部と、
    前記和集合言語モデル群を分類したクラスタごとに平均を求め、その平均と和集合言語モデルとの距離を基に前記和集合言語モデル群を新しいクラスタに分類する処理を繰り返すことにより、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成するクラスタリング部とを備え、
    前記和集合言語モデル作成部は、それぞれの言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリとして記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリとして記録することで、同じ数のエントリを有する前記和集合言語モデル群を言語モデルごとに作成し
    前記クラスタリング部は、前記同じエントリ数を有する、言語モデルごとに作成された和集合言語モデル群に対して、前記クラスタリングを行う、クラスタリングシステム。
  2. 前記クラスタリング部は、前記クラスタデータで表される各クラスタに対応するクラスタリング後言語モデルを、各クラスタに含まれる和集合言語モデルを基にさらに生成する、請求項1に記載のクラスタリングシステム。
  3. 前記和集合言語モデルまたは前記クラスタリング後言語モデルに含まれるエントリのうち、前記出現頻度が予め決められた閾値に満たない場合エントリを削除するエントリを削除するエントリ削除部をさらに備える、請求項2に記載のクラスタリングシステム。
  4. 前記和集合言語モデルまたは前記クラスタリング後言語モデルに含まれるエントリのうち、出現頻度が高い順に上位N個のエントリを残し、残りのエントリを削除するエントリ削除部をさらに備える、請求項2に記載のクラスタリングシステム。
  5. 人間の所定の属性を示す属性値に対応付けられた音響モデルであって、前記属性値で示される属性を持つ人間の音声に含まれる音響と、その出現頻度とを表すデータを含むエントリを複数有する音響モデルが複数の属性値それぞれについて、集められてなる音響モデル群において、それぞれの音響モデルを、同じの属性値についての前記和集合言語モデルに対応付けて属性値ごとの連結モデルとして記録する連結記録部をさらに備え、
    前記クラスタリング部は、前記連結記録部によって属性値ごとに記録された連結モデル群に対してクラスタリングを行って、前記連結モデル群を複数のクラスタに分類し、各クラスタを表すクラスタデータを生成する、請求項1に記載のクラスタリングシステム。
  6. 前記連結記録部は、前記音響モデルのエントリに含まれる出現頻度を表すデータと、和集合言語モデルのエントリに含まれる出現頻度を表すデータとの少なくとも1つに重み係数を掛ける重み付け部をさらに備え、
    当該重み付け部により重み係数が掛けられた出現頻度を表すデータを含むエントリを含む前記音響モデルまたは前記和集合言語モデルが、属性値ごとに和集合言語モデルまたは音響モデルと対応付けられて前記連結モデルとして記録される、請求項5に記載のクラスタリングシステム。
  7. 請求項1に記載のクラスタリングシステムで生成されたクラスタデータと作成された和集合言語モデルを用いて、人間の属性を推定する属性推定システムであって、
    前記人間の言語情報を入力する入力部と、
    前記入力部で入力された言語情報のスコアを、前記和集合言語モデルを用いて前記クラスタデータが表すクラスタごとに計算するスコア計算部と、
    前記クラスタごとのスコアに基づいて、人間の属性を示すデータを生成することにより属性を推定する属性推定部とを備える属性推定システム。
  8. 請求項5に記載のクラスタリングシステムで生成されたクラスタデータと作成された和集合言語モデルを用いて、人間の属性を推定する属性推定システムであって、
    人間の音声を表すデータを入力する入力部と、
    前記入力部で入力された音声の言語スコアを、前記和集合言語モデルを用いて前記クラスタデータが表すクラスタごとに計算する言語スコア計算部と、
    前記入力部で入力された音声の音響スコアを、前記クラスタデータが表すクラスタごとに計算する音響スコア計算部と、
    前記クラスタごとの音響スコアおよび前記クラスタごとの言語スコアに基づいて、前記人間の属性を示すデータを生成することで、属性を推定する属性推定部とを備える属性推定システム。
  9. 人間の所定の属性を示す属性値に対応付けられた言語モデルであって、その属性値で示される属性を持つ1または複数の人間が発生する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが複数の属性値について集められてなる言語モデル群を、コンピュータを用いてクラスタリングするクラスタリング方法であって、
    前記コンピュータが備える和集合言語モデル作成部が、前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度と含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合作成工程と、
    前記コンピュータが備えるクラスタリング部が、前記和集合言語モデル群を分類したクラスタごとに平均を求め、その平均と和集合言語モデルとの距離を基に前記和集合言語モデル群を新しいクラスタに分類する処理を繰り返すことにより、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成する工程とを備え、
    前記和集合作成工程において、前記和集合言語モデル作成部は、それぞれの言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリとして記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリとして記録することで、同じ数のエントリを有する前記和集合言語モデルを言語モデルごとに作成し
    前記クラスタリング部は、前記同じ数のエントリを有する、言語モデルごとに作成された和集合言語モデル群を、前記クラスタに分類する、クラスタリング方法。
  10. 人間の所定の属性を示す属性値に対応付けられた言語モデルであって、前記属性値で示される属性を持つ1または複数の人間が発生する音声または記す文字において出現する語彙と、その出現頻度とを表すデータを含むエントリを複数有する言語モデルが、複数の属性値それぞれにについて集められてなる言語モデル群をクラスタリングする処理をコンピュータに実行させるクラスタリングプログラムであって、
    前記言語モデル群に含まれる語彙の和集合を表す和集合データを生成し、前記和集合データを用いて、前記語彙の和集合と各語彙の出現頻度とを含む和集合言語モデルを、前記言語モデル群に含まれる言語モデルそれぞれについて作成することにより、和集合言語モデル群を作成する和集合言語モデル作成処理と、
    前記和集合言語モデル群分類したクラスタごとに平均を求め、その平均と和集合言語モデルとの距離を基に前記和集合言語モデル群を新しいクラスタに分類する処理を繰り返すことにより、前記和集合言語モデル群を複数のクラスタに分類し、各クラスタに含まれる1または複数の前記和集合言語モデル群を表すクラスタデータを生成するクラスタリング処理とをコンピュータに実行させ、
    前記和集合言語モデル作成処理においては、それぞれの言語モデルについて和集合言語モデルを作成する際に、前記和集合データに含まれる語彙のうち当該言語モデルに含まれている語彙については、当該言語モデルにおける当該語彙の出現頻度を、当該語彙と対応付けて和集合言語モデルのエントリとして記録し、前記和集合データに含まれる語彙のうち当該言語モデルに含まれていない語彙については、出現頻度が0であることを示すデータを当該語彙に対応付けて和集合言語モデルのエントリとして記録することで、同じ数のエントリを有する前記前記和集合言語モデルを言語モデルごとに作成する処理をコンピュータに実行させ
    前記クラスタリング処理では、前記同じ数のエントリを有する、言語モデルごとに作成された和集合言語モデル群を、前記クラスタに分類する処理をコンピュータに実行させる、クラスタリングプログラム。
JP2006077126A 2006-03-20 2006-03-20 クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム Expired - Fee Related JP4745094B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006077126A JP4745094B2 (ja) 2006-03-20 2006-03-20 クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム
US11/472,311 US7707028B2 (en) 2006-03-20 2006-06-22 Clustering system, clustering method, clustering program and attribute estimation system using clustering system
CN2006101013216A CN101042868B (zh) 2006-03-20 2006-07-14 群集***、方法和使用群集***的属性估计***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006077126A JP4745094B2 (ja) 2006-03-20 2006-03-20 クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム

Publications (2)

Publication Number Publication Date
JP2007256342A JP2007256342A (ja) 2007-10-04
JP4745094B2 true JP4745094B2 (ja) 2011-08-10

Family

ID=38519007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006077126A Expired - Fee Related JP4745094B2 (ja) 2006-03-20 2006-03-20 クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム

Country Status (3)

Country Link
US (1) US7707028B2 (ja)
JP (1) JP4745094B2 (ja)
CN (1) CN101042868B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220335928A1 (en) * 2019-08-19 2022-10-20 Nippon Telegraph And Telephone Corporation Estimation device, estimation method, and estimation program

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881933B2 (en) * 2007-03-23 2011-02-01 Verizon Patent And Licensing Inc. Age determination using speech
US20090240539A1 (en) * 2008-03-21 2009-09-24 Microsoft Corporation Machine learning system for a task brokerage system
JP5306702B2 (ja) * 2008-05-13 2013-10-02 株式会社コナミデジタルエンタテインメント 年齢層推定装置、年齢層推定方法、ならびに、プログラム
WO2010125736A1 (ja) * 2009-04-30 2010-11-04 日本電気株式会社 言語モデル作成装置、言語モデル作成方法、およびコンピュータ読み取り可能な記録媒体
US8725509B1 (en) * 2009-06-17 2014-05-13 Google Inc. Back-off language model compression
JP2012022053A (ja) * 2010-07-12 2012-02-02 Fujitsu Toshiba Mobile Communications Ltd 音声認識装置
US20120209590A1 (en) * 2011-02-16 2012-08-16 International Business Machines Corporation Translated sentence quality estimation
US9129606B2 (en) * 2011-09-23 2015-09-08 Microsoft Technology Licensing, Llc User query history expansion for improving language model adaptation
CN103187052B (zh) * 2011-12-29 2015-09-02 北京百度网讯科技有限公司 一种建立用于语音识别的语言模型的方法及装置
US9747895B1 (en) * 2012-07-10 2017-08-29 Google Inc. Building language models for a user in a social network from linguistic information
US9672818B2 (en) * 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters
US10049656B1 (en) 2013-09-20 2018-08-14 Amazon Technologies, Inc. Generation of predictive natural language processing models
CN104267920B (zh) * 2014-09-29 2017-10-27 北京奇艺世纪科技有限公司 用户识别方法、装置、***及显示模式切换方法、装置
CN104700843A (zh) * 2015-02-05 2015-06-10 海信集团有限公司 一种年龄识别的方法及装置
US10685188B1 (en) * 2018-07-06 2020-06-16 Facebook, Inc. Systems and methods for training machine learning models for language clusters
GB201912439D0 (en) * 2019-08-30 2019-10-16 Renishaw Plc Spectroscopic apparatus and methods for determining components present in a sample
CN110838290A (zh) * 2019-11-18 2020-02-25 中国银行股份有限公司 跨语言交流的语音机器人交互方法及装置
CN111862950A (zh) * 2020-08-03 2020-10-30 深圳作为科技有限公司 一种交互式多功能的老年护理机器人识别***

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995034884A1 (fr) * 1994-06-13 1995-12-21 Matsushita Electric Industrial Co., Ltd. Analyseur de signaux
CN1158460A (zh) * 1996-12-31 1997-09-03 复旦大学 一种跨语种语料自动分类与检索方法
JP2965537B2 (ja) 1997-12-10 1999-10-18 株式会社エイ・ティ・アール音声翻訳通信研究所 話者クラスタリング処理装置及び音声認識装置
US6389393B1 (en) * 1998-04-28 2002-05-14 Texas Instruments Incorporated Method of adapting speech recognition models for speaker, microphone, and noisy environment
US6665644B1 (en) * 1999-08-10 2003-12-16 International Business Machines Corporation Conversational data mining
US6484136B1 (en) * 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users
US7275029B1 (en) * 1999-11-05 2007-09-25 Microsoft Corporation System and method for joint optimization of language model performance and size
US7020587B1 (en) * 2000-06-30 2006-03-28 Microsoft Corporation Method and apparatus for generating and managing a language model data structure
US6735563B1 (en) * 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
JP3646060B2 (ja) 2000-12-15 2005-05-11 シャープ株式会社 話者特徴抽出装置および話者特徴抽出方法、音声認識装置、音声合成装置、並びに、プログラム記録媒体
DE60231617D1 (de) * 2001-06-19 2009-04-30 Speech Sentinel Ltd Sprecherverifikation
JP2003330485A (ja) * 2002-05-10 2003-11-19 Tokai Rika Co Ltd 音声認識装置、音声認識システム及び音声認識方法
US20030236663A1 (en) * 2002-06-19 2003-12-25 Koninklijke Philips Electronics N.V. Mega speaker identification (ID) system and corresponding methods therefor
US7263486B1 (en) * 2002-10-25 2007-08-28 At&T Corp. Active learning for spoken language understanding
US7552051B2 (en) * 2002-12-13 2009-06-23 Xerox Corporation Method and apparatus for mapping multiword expressions to identifiers using finite-state networks
JP2004198597A (ja) * 2002-12-17 2004-07-15 Advanced Telecommunication Research Institute International 音声認識装置および文分類装置としてコンピュータを動作させるコンピュータプログラム、階層化された言語モデルを作成する方法を実現する様にコンピュータを動作させるコンピュータプログラム、および記憶媒体
JP2004317845A (ja) * 2003-04-17 2004-11-11 Nagoya Industrial Science Research Inst モデルデータ生成装置、モデルデータ生成方法、およびこれらの方法
KR100612840B1 (ko) * 2004-02-18 2006-08-18 삼성전자주식회사 모델 변이 기반의 화자 클러스터링 방법, 화자 적응 방법및 이들을 이용한 음성 인식 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220335928A1 (en) * 2019-08-19 2022-10-20 Nippon Telegraph And Telephone Corporation Estimation device, estimation method, and estimation program
US11996086B2 (en) * 2019-08-19 2024-05-28 Nippon Telegraph And Telephone Corporation Estimation device, estimation method, and estimation program

Also Published As

Publication number Publication date
US7707028B2 (en) 2010-04-27
JP2007256342A (ja) 2007-10-04
CN101042868B (zh) 2012-06-20
US20070219779A1 (en) 2007-09-20
CN101042868A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
JP4745094B2 (ja) クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム
EP1669980B1 (en) System and method for identifiying semantic intent from acoustic information
KR101143030B1 (ko) 자연어 입력을 분류하는 컴퓨터 구현 방법
KR100563365B1 (ko) 계층적 언어 모델
CN107180084B (zh) 词库更新方法及装置
Mairesse et al. Can prosody inform sentiment analysis? experiments on short spoken reviews
Griol et al. Combining speech-based and linguistic classifiers to recognize emotion in user spoken utterances
JP5752060B2 (ja) 情報処理装置、大語彙連続音声認識方法及びプログラム
WO2008023470A1 (fr) Procédé de recherche de phrase, moteur de recherche de phrase, programme informatique, support d'enregistrement et stockage de document
Gupta et al. Two-stream emotion recognition for call center monitoring.
WO2018192186A1 (zh) 语音识别方法及装置
Kaushik et al. Automatic sentiment detection in naturalistic audio
CN104750677A (zh) 语音传译装置、语音传译方法及语音传译程序
Kaushik et al. Automatic audio sentiment extraction using keyword spotting.
Rajendran et al. Language dialect based speech emotion recognition through deep learning techniques
JP2007102104A (ja) 応答文生成装置、応答文生成方法、そのプログラムおよび記憶媒体
CN113853651B (zh) 用量化的情感状态进行语音-情感识别的装置和方法
Shafran et al. A comparison of classifiers for detecting emotion from speech
HaCohen-Kerner et al. Language and gender classification of speech files using supervised machine learning methods
JP2005275348A (ja) 音声認識方法、この方法を実施する装置、プログラムおよび記録媒体
JP2006107353A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP4674609B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP4986301B2 (ja) 音声認識処理機能を用いたコンテンツ検索装置、プログラム及び方法
KR102278190B1 (ko) 공방 운영 플랫폼 서비스 방법 및 시스템
Rashmi et al. Text-to-Speech translation using Support Vector Machine, an approach to find a potential path for human-computer speech synthesizer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees