以下、本発明の実施例について添付図面を参照しつつ説明する。
<実施例1>
本発明の実施例1に係る音声認識装置100は、図1に示すような音声認識システム1を構成する。
音声認識システム1は、音声認識装置100の他に、例えば、インターネットなどのコンピュータ通信網10(以下単に、通信網10という)と、通信網10に接続された端末装置20、30、及び40と、で構成される。
端末装置20から40は、例えば、LCD(Liquid Crystal Display)などの表示部と、スピーカなどの音声出力部と、キーボード及びマウスなどの入力部と、を備えたパーソナル・コンピュータでそれぞれ構成される。
また、端末装置20は、例えば、ウェブカメラなどの撮像装置21と、例えば、マイクロフォンなどの音声収集装置22と、に接続されている。
音声認識装置100は、撮像装置21で撮影された動画及び音声収集装置22で収集された音声を表すマルチメディア情報を端末装置20から受信し、受信したマルチメディア情報を端末装置20から40へ配信する。これにより、撮像装置21で撮影された動画及び音声収集装置22で収集された音声が番組の映像及び音声として放送される。
ここでは、音声認識装置100は、端末装置20のユーザが出演する番組を、当該番組の収録から所定時間以内に端末装置20及び30へ放送する(以下、生放送するという)として説明を行う。尚、端末装置20のユーザは、放送された当該番組を視聴しながら出演を行う。
またここでは、音声認識装置100は、生放送された番組(以下、生放送番組という)を、当該番組の収録から所定時間経過後に端末装置40へ放送する(以下、再放送するという)として説明を行う。
次に、図2を参照して、音声認識装置100のハードウェア構成について説明する。
音声認識装置100は、図2に示すようなサーバ機で構成され、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ハードディスク104、メディアコントローラ105、LANカード(Local Area Network)106、ビデオカード107、LCD(Liquid Crystal Display)108、キーボード100i、スピーカ110、及びタッチパッド111で構成される。
CPU101は、ROM102又はハードディスク104に保存されたプログラムに従ってプログラムを実行することで、音声認識装置100の全体制御を行う。RAM103は、CPU101によるプログラムの実行時において、処理対象とするデータを一時的に記憶するワークメモリである。
ハードディスク104は、各種のデータを蓄積したテーブルを記憶する蓄積部である。尚、音声認識装置100は、ハードディスク104の代わりに、フラッシュメモリを備えても良い。
メディアコントローラ105は、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
LANカード106は、通信網10を介して接続する端末装置20から40との間でデータを送受信する。キーボード100i及びタッチパッド111は、ユーザの操作に応じた信号を入力する。
ビデオカード107は、CPU101から出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD108は、ビデオカード107から出力された画像信号に従って画像を表示する。なお、音声認識装置100は、LCD108の代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ110は、CPU101から出力された信号に基づいて音声を出力する。
次に、音声認識装置100の有する機能について説明する。
CPU101は、図3に示す生放送処理を実行することにより、図4に示す入力部120、保存部130、及び出力部140として機能する。また、CPU101は、図2に示したハードディスク104と協働して、蓄積部190として機能する。
図4に示す入力部120は、図2に示すLANカード106が受信した各種の情報を入力する。保存部130は、入力部120で入力された各種の情報を蓄積部190へ保存する。出力部140は、入力部120で入力された各種の情報を、配信先を指定してLANカード106へ出力する。蓄積部190は、保存部130によって保存された各種の情報を蓄積する。
次に、蓄積部190に蓄積される各種情報について説明する。
蓄積部190は、放送された番組の書誌的事項が保存される、図5に示す放送テーブルを記憶している。放送テーブルには、番組の放送を識別する放送IDと、当該番組の放送開始日時と、当該放送のシフト時間と、当該番組で放送された動画及び音声を表すマルチメディア情報のパスと、が対応付けられたデータが複数保存される。尚、番組の放送開始日時とは、番組の放送が開始された日時をいう。また、放送のシフト時間は、当該放送が生放送の場合、値「0」であり、当該放送が再放送の場合、当該再放送の開始日時から生放送の開始日時を減算した値である。
また、蓄積部190は、番組の動画若しくは音声に対するコメントが保存される、図6に示すコメントテーブルを記憶している。コメントテーブルには、番組の放送IDと、当該番組に対するコメントを識別するコメントIDと、当該コメントの入力時点と、当該コメントと、コメントしたユーザを識別するユーザIDと、が対応付けられたデータが複数保存される。尚、入力時点は、番組の放送が開始した時点からの経過時間で表される。
次に、図4に示す入力部120、保存部130、及び出力部140で行われるCPU101の動作について説明する。
ユーザは、音声認識装置100のキーボード109に対して、生放送の開始を指示する操作(以下、生放送開始指示操作という)を行う。次に、ユーザは、キーボード109に対して、放送を開始する予定の日時(以下、放送開始予定日時という)と、放送を終了する予定の日時(以下、放送終了予定日時という)と、を指示する操作を行う。
CPU101は、キーボード109によって、生放送開始指示操作に応じた操作信号を入力されると、図3に示す生放送処理の実行を開始する。
生放送処理の実行を開始すると、入力部120は、放送IDを生成し、キーボード109から入力される操作信号に基づいて、ユーザの操作で指定された放送開始予定日時及び放送終了予定日時を取得する(ステップS01)。
次に、保存部130は、例えば、OS(Operating System)が管理するシステム日時を参照し、参照したシステム日時が、放送開始予定日時を経過した日時であるか否かを判別する(ステップS02)。このとき、保存部130は、放送開始予定日時を経過していないと判別すると(ステップS02;No)、所定時間スリープした後に、ステップS02の処理を繰り返す。
ステップS02において、保存部130は、放送開始予定日時を経過したと判別すると(ステップS02;Yes)、参照したシステム日時を放送開始日時とする。また、保存部130は、生放送であるので、当該番組のシフト時間を値「0」とする。さらに、保存部130は、当該番組の動画及び音声を表すマルチメディア情報が保存される電子ファイルのパスを生成し、生成したパスに電子ファイルを作成する。次に、保存部130は、放送IDと、放送開始日時と、シフト時間と、パスと、を対応付けて、図5の放送テーブルへ追加保存する(ステップS03)。
次に、保存部130は、ソフトウェアタイマをスタートさせて、番組の放送開始からの経過時間を計時し始める(ステップS04)。
ここで、放送開始予定日時を経過したので、端末装置20のユーザは、端末装置20に接続された撮影装置21に撮影を開始させ、かつ音声収集装置22に音声の収集を開始させる操作を、端末装置20に行うとして説明する。
端末装置20は、当該操作に応じて、撮影装置21の撮影及び音声収集装置22の音声収集を開始させる。次に、端末装置20は、例えば、出演者の姿などを撮影した動画を表すデータ(以下、動画データという)を撮影装置21から入力し始める。また、端末装置20は、例えば、出演者の発言などの音声を表す電気信号(以下、音声信号という)を音声入力装置22から入力し始める。その後、端末装置20は、入力した音声信号に基づいて音声データを生成し、生成した音声データと、撮影装置21から入力した動画データと、を、データの入力日時及び生成日時で対応付けたマルチメディア情報を音声認識装置100へ送信し始める。
次に、入力部120は、図2に示したLANカード106から、端末装置20からLANカード106が受信したマルチメディア情報を入力する(ステップS05)。
次に、保存部130は、入力されたマルチメディア情報を、前述のパスにある電子ファイルに追加保存する(ステップS06)。
その後、出力部140は、入力されたマルチメディア情報を、端末装置20及び30を宛先として、図2に示したLANカード106に出力する(ステップS07)。その後、LANカード106は、マルチメディア情報を端末装置20及び30へ配信(つまり、生放送)する。
ここで、端末装置20及び30は、音声認識装置100からマルチメディア情報を受信すると、マルチメディア情報で表される動画を表示する、図7に示す視聴画面を表示する。次に、端末装置20及び30は、マルチメディア情報を再生した動画を、視聴画面の動画表示領域AMに表示し、再生した音声を音声出力装置から出力する。
ここでは、端末装置20のユーザは、撮影装置21の正面に向った状態で、「都政が混乱するので」という内容の発言をしたとして説明を行う。このため、図2に示す視聴画面には、端末装置20のユーザが発言する様子を正面から撮影した動画が表示され、端末装置20及び30から「都政が混乱するので」という音声が出力される。
その後、番組を視聴した端末装置20及び端末装置30のユーザは、視聴した番組のコメントを入力させる操作を端末装置30に行っても良いし、行わなくて良い。このとき、ユーザが端末装置30に当該操作を行うと、端末装置30は、コメントを入力し、入力したコメントを表すコメント情報と、コメントしたユーザのユーザIDと、を、音声認識装置100へ送信する。
図3に示すステップS07が実行された後に、入力部120は、ステップS05と同様の処理を実行することで、マルチメディア情報を入力する(ステップS08)。
その後、入力部120は、図2に示したLANカード106から出力される信号に基づいて、LANカード106がコメント情報を受信したか否かを判別する(ステップS09)。
このとき、入力部120は、LANカード106がコメント情報を受信しなかったと判別すると(ステップS09;No)、ステップS06及びステップS07と同様の処理を実行することで、コメント情報の保存及び出力を行う(ステップS10及びステップS11)。
これに対して、入力部120は、LANカード106がコメント情報を受信したと判別すると(ステップS09;Yes)、LANカード106が受信したコメント情報と、ユーザIDと、を、LANカード106から入力する(ステップS12)。
その後、保存部130は、ソフトウェアタイマを参照し、生放送の開始日時からの経過時間を取得する(ステップS13)。次に、保存部130は、取得した経過時間をコメントの入力時点とする(ステップS14)。その後、保存部130は、コメント情報で表されるコメントのコメントIDを生成する。
次に、保存部130は、番組の放送IDと、当該番組に対するコメントの入力時点及びコメントIDと、当該コメントと、当該コメントを発したユーザのユーザIDと、を、対応付けて、図6のコメントテーブルに追加保存する(ステップS15)。
その後、出力部140は、入力されたコメント情報を、端末装置20及び30を宛先として、図2に示したLANカード106に出力する(ステップS16)。その後、LANカード106は、コメント情報を端末装置20及び30へ配信する。
端末装置20及び30は、コメント情報を音声認識装置100から受信すると、コメント情報で表されるコメントを、図7に示す視聴画面のコメント表示領域ACに表示する。
次に、保存部130は、ステップS12で入力されたコメント情報で表されるコメントを、ステップS08で入力されたマルチメディア情報で表される動画に合成する(ステップS17)。
その後、保存部130は、コメントが合成された動画を表すマルチメディア情報を、前述のパスにあるファイルに追加保存する(ステップS18)。
次に、出力部140は、コメントが合成されたマルチメディア情報を、端末装置20及び30を宛先として、図2に示したLANカード106に出力する(ステップS19)。その後、LANカード106は、マルチメディア情報を端末装置20及び30へ配信する。
端末装置20及び30は、マルチメディア情報を音声認識装置100から受信すると、マルチメディア情報を再生し、コメントが合成された動画を、図7に示す視聴画面の動画表示領域AMに表示する。
ここでは、端末装置30を使用する視聴者は、出力された音声「都政が混乱するので」を聴取し、当該音声に対するコメント「混乱し過ぎだろ」を端末装置30に入力させたとして説明を行う。また、当該視聴者は、視聴画面に表示された出演者の映像を視認し、出演者の氏名に言及するコメント「佐藤一郎きたー!」を端末装置30に入力させたとして説明を行う。このため、図7に示す視聴画面のコメント表示領域ACには、「混乱し過ぎだろ」及び「佐藤一郎きたー!」というコメントが表示される。また、動画表示領域AMには、出演者の正面像に対して「混乱し過ぎだろ」及び「佐藤一郎きたー!」というコメントが合成された動画が表示される。
ステップS11若しくはステップS19が実行された後に、入力部120は、システム日時を参照し、参照したシステム日時が、ステップS01で取得した生放送終了予定日時を経過した日時であるか否かを判別する(ステップS20)。このとき、入力部120は、生放送終了予定日時を経過していないと判別すると(ステップS20;No)、ステップS08から上記処理を繰り返す。
ステップS20において、入力部120は、生放送終了予定日時を経過したと判別すると(ステップS20;Yes)、生放送処理の実行を終了する。
次に、CPU101の動作について、音声認識装置100が、既に生放送した番組を再放送し、端末装置40のユーザが当該番組を視聴する場合を例に挙げて説明する。
ここで、端末装置40のユーザは、生放送の開始から所定時間経過後に、生放送された番組の再放送を要求するリクエスト(以下、再放送リクエストという)を音声認識装置100へ送信させる操作を端末装置40に行う。端末装置40は、当該操作に応じて再放送リクエストを音声認識装置100へ送信する。
CPU101は、図2に示したLANカード106が再放送リクエストを受信すると、図8に示す再放送処理の実行を開始する。
先ず、入力部120は、放送IDを生成し、LANカード106から、受信された再放送リクエストを入力する。次に、入力部120は、再放送リクエストから、再放送が求められた生放送番組の放送ID、及び再放送の開始を求める日時(以下、再放送要求日時という)を取得する(ステップS31)。
次に、保存部130は、システム日時を参照し、参照したシステム日時が、生放送開始要求日時を経過した日時であるか否かを判別する(ステップS32)。このとき、保存部130は、再放送開始要求日時を経過していないと判別すると(ステップS32;No)、所定時間待機した後に、ステップS32の処理を繰り返す。
ステップS32において、保存部130は、再放送開始要求日時を経過したと判別すると(ステップS32;Yes)、システム日時を参照し、参照したシステム日時を、再放送の放送開始日時とする。また、保存部130は、再放送が求められた生放送番組の放送IDに対応付けられた放送開始日時とパスとを、図5に示した放送テーブルから検索する。その後、保存部130は、再放送の放送開始日時と、生放送の放送開始日時と、の差異を算出し、算出した差異をシフト時間とする。次に、保存部130は、再放送の放送IDと、当該再放送の放送開始日時と、当該再放送のシフト時間と、再放送された生番組のパスと、を対応付けて、図5の放送テーブルへ追加保存する(ステップS33)。
次に、保存部130は、ステップS04と同様の処理を実行することで、再放送開始日時からの経過時間の計時を開始する(ステップS34)。
次に、入力部120は、前述のパスにある電子ファイルから、所定サイズのマルチメディア情報を読み出す(ステップS35)。
その後、出力部140は、読み出されたマルチメディア情報を、端末装置40を宛先として、図3に示したLANカード106に出力する(ステップS37)。その後、LANカード106は、マルチメディア情報を端末装置40へ送信する。端末装置40は、受信したマルチメディア情報を再生することで(いわゆる、タイムシフト再生)、端末装置30のユーザが入力したコメントが合成された動画を表示し、音声を出力する。
その後、端末装置40のユーザは、再放送された番組を視聴し、番組に対するコメントを入力させる操作を端末装置40に行っても良いし、行わなくて良い。
次に、入力部120は、ステップS35と同様の処理を実行し、マルチメディア情報を読み出す(ステップS38)。
その後、入力部120は、図3に示したステップS09と同様の処理を実行することで、LANカード106がコメント情報を受信したか否かを判別する(ステップS39)。
このとき、入力部120は、LANカード106がコメント情報を受信しなかったと判別すると(ステップS39;No)、ステップS37の処理と同様の処理を実行することで、ステップS38で読み出されたマルチメディア情報の出力を行う(ステップS41)。
ステップS39において、入力部120は、LANカード106がコメント情報を受信したと判別すると(ステップS39;Yes)、図3のステップS12からステップS17までの処理と同様の処理を実行する(ステップS42からステップS47)。これにより、ステップS38で読み出されたマルチメディア情報で表される動画に、ステップS42で入力されたコメント情報で表されるコメントが合成されたマルチメディア情報が生成される。
次に、保存部130は、前述のパスにある電子ファイルに保存されたマルチメディア情報の内で、ステップS38で読み出されたマルチメディア情報を、ステップS47で生成されたマルチメディア情報に書き換える(ステップS48)。
その後、出力部140は、図3に示したステップS19と同様の処理を実行する(ステップS49)。これにより、端末装置40へ、端末装置40のユーザが入力したコメントが合成された動画を表すマルチメディア情報が送信される。
ステップS41若しくはステップS49の処理が実行された後に、入力部120は、前述のパスにある電子ファイルからマルチメディア情報を読み出す位置(以下、読出位置という)を、読み出したマルチメディア情報のサイズだけ後側にシフトさせる。次に、入力部120は、読出位置が、電子ファイルの最後であるEOF(End Of File)であるか否かを判別する(ステップS50)。このとき、入力部120は、読出位置がEOFでないと判別すると(ステップS50;No)、ステップS38から上記処理を繰り返す。
ステップS50において、入力部120は、読出位置がEOFであると判別すると(ステップS50;Yes)、再放送処理の実行を終了する。
音声認識装置100のCPU101は、放送された番組の検索キー、若しくは番組で放送される動画に付される字幕として、番組での発言内容を要約したテキストを生成する、図9に示す要約生成処理を実行する。これにより、CPU101は、図4に示す前述の入力部120、保存部130、及び出力部140の他に、抽出部150及び音声認識部160として機能する。また、CPU101は、前述のように、ハードディスク104と協働して蓄積部190として機能する。
抽出部150は、番組で発言された音声を表す単語の候補となる単語(以下、候補語という)を、蓄積部190に蓄積されたコメント等から抽出する。音声認識部160は、抽出された候補語に基づいてマルチメディア情報の再生により発せられる音声を認識する。
次に、要約生成処理に用いられる各種情報について説明する。
蓄積部190は、番組にコメントしたユーザが参照した文書のURLが保存された、図10に示す参照テーブルを記憶している。参照テーブルには、ユーザのユーザIDと、当該ユーザが参照した文書のURL(Uniform Resource Locator)と、当該URLにある文書を当該ユーザが参照した日時(以下、参照日時という)と、が対応付けられたデータが複数保存されている。
尚、ユーザが参照した文書は、例えば、ニュースや百科事典や辞書の内容を掲載したウェブページ若しくはブログなどを含む。また、音声認識装置100は、文書サーバとして機能し、端末装置20から40それぞれから、文書の送信リクエストと、送信を要求する文書のURLと、送信を要求するユーザのユーザIDと、を受信する。音声認識装置100は、送信が要求された文書を返信すると共に、ユーザIDと、リクエストの返信日時(つまり、ユーザの参照日時)と、文書のURLと、を対応付けて、図10に示す参照テーブルへ蓄積する。
また、蓄積部190は、番組に関連した文を要素とする文集合が保存される、図11に示す文集合テーブルを記憶している。ここでは、番組に関連した文は、入力された番組のコメントを構成する文(以下、入力文という)及び番組にコメントしたユーザが参照した文書に掲載された文(以下、参照文という)を含む。
文集合テーブルには、番組に関連した文が入力文である場合に、当該文を識別する文IDと、当該文と、当該文の種類と、当該文の入力時点と、当該番組の放送開始日時のシフト時間(以下、当該文に対応したシフト時間という)と、が、が対応付けられたデータが複数保存される。
また、文集合テーブルには、文集合に含まれる番組に関連した文が参照文である場合に、当該文を識別する文IDと、当該文と、当該文の種類と、当該文の検索に用いられたコメントの入力時点と、当該文に対応したシフト時間と、が、が対応付けられたデータが複数保存される。
また、蓄積部190は、コメントや文書に含まれることがある単語と、コメントや文書において当該単語と共に使用されることがある共起語が保存された、図12に示す共起語テーブルを記憶している。共起語テーブルには、単語と、当該単語の共起語と、当該単語と当該共起語とがコメントや文書で共に使用される(つまり、共起する)ことがどの程度尤もであるかを表す尤度(以下、共起尤度という)と、が対応付けられたデータが複数保存されている。
さらに、蓄積部190は、候補語が保存される、図13に示す候補語テーブルを記憶している。本実施例では、音声認識装置100は、番組で発言された音声を表す単語の候補として、入力文に含まれる単語(以下、入力語という)、入力文が入力された時期にユーザが参照した参照文に含まれる単語(以下、参照語という)、及びこれらの共起語(以下それぞれ、入力共起語及び参照共起語という)を用いる。
このため、候補語テーブルには、候補語が入力語である場合に、当該入力語を識別する候補語IDと、当該入力語と、当該入力語を含む入力文の入力時点(以下、当該入力語に対応した入力時点という)と、当該入力語を含む文に対応したシフト時間(以下、当該入力語に対応したシフト時間という)と、当該入力語の出現尤度と、が対応付けて保存される。出現尤度とは、候補語の抽出に用いられたコメントが入力された条件の下で、当該候補語が番組中の発言に出現することの尤もらしさを表す値をいう。
また、候補語テーブルには、候補語が参照語の場合に、当該参照語の候補語IDと、当該参照語と、当該参照語を含む文書の検索に用いられたコメントの入力時点(以下、当該参照語に対応した入力時点という)と、当該参照語を含む文に対応したシフト時間(以下、当該参照語に対応したシフト時間という)と、当該参照語の出現尤度と、が対応付けて保存される。
さらに、候補語テーブルには、候補語が入力共起語の場合に、当該入力共起語の候補語IDと、当該入力共起語と、当該入力共起語と共に用いられると推測される入力語の入力時点(以下、当該入力共起語に対応した入力時点という)と、当該入力語を含む文に対応したシフト時間(以下、当該入力共起語に対応したシフト時間という)と、当該入力共起語の出現尤度と、が対応付けて保存される。
またさらに、候補語テーブルには、候補語が参照共起語の場合に、当該参照共起語の候補語IDと、当該参照共起語と、当該参照共起語と共に用いられると推測される参照語に対応した入力時点(以下、当該参照共起語に対応した入力時点)と、当該参照語を含む文に対応したシフト時間(以下、当該参照共起語に対応したシフト時間という)と、当該参照共起語の出現尤度と、が対応付けて保存される。
また、蓄積部190は、番組の音声を認識するために用いられる、音響モデル、単語辞書、及び言語モデルを記憶している。音響モデルは、音素や音節の周波数パターンを表し、番組の音声を音素若しくは音節(以下、音素等という)の配列(以下、音素等列という)に分解するために用いられる。単語辞書は、単語と当該単語の発音を表す音素等列とを複数対応付けた辞書である。言語モデルは、複数の単語の連鎖を規定するモデルであり、2つの単語の連鎖を規定するバイグラムモデルであっても、3つの単語の連鎖を規定するトライグラムモデルであっても、N個の単語の連鎖を規定するNグラムモデルであっても良い。
また、蓄積部190は、ある発音時点で発音された音声が、ある入力時点で入力されたコメントの対象とされた音声と、どの程度の確率で合致するかを表す合致度を表す合致度データを記憶している。合致度データは、入力時点から発音時点を減算した差異(以下、時点差異という)の変化に伴って、合致度がどのように推移するかを表す合致度曲線を表す。
蓄積部190が記憶する合致度曲線は、生放送合致度曲線と、再放送合致度曲線と、を含む。生放送合致度曲線は、生放送された番組の音声と、当該番組の放送中に入力されたコメントの対象となった音声と、の合致度を表す。再放送合致度曲線は、再放送された番組の音声と、当該番組の再放送中に入力されたコメントの対象となった音声と、の合致度を表す。
再放送合致度曲線上の点は、時点差異が所定の値「-TD1」以上「+TD2」以下の範囲で、生放送合致度曲線上の点よりも合致度が大きくなっている。既に生放送で番組を視聴している視聴者や、再放送で同じ番組を繰り返し視聴している視聴者は、予め番組で放送される音声を把握している。このため、これらの視聴者は、生放送で初めて番組を視聴する視聴者よりも、コメント対象とする音声の発音時点に近い時点でコメントを入力する傾向にあるからである。
また、生放送合致度曲線は、時点差異が「TP」のときがピークであり、時点差異が「TP」から離れるに従って減衰する。これは、生放送の場合には、出演者の音声を聞いた後で当該音声にコメントを入力することが多いためである。但し、出演者が入力されたコメントに対して発言する場合もあるため、必ずしも時点差異は正となる(すなわち、コメントの入力時点の方が発音時点よりも遅くなる)訳ではない。
さらに、再放送合致度曲線は、時点差異が「0」のときがピークであり、時点差異「0」から離れるに従って減衰する。前述のように、既に生放送で番組を視聴している視聴者などは、コメント対象とする音声の発音時点と同じ時点でコメントを入力することが多いためである。
次に、図4に示した入力部120、保存部130、出力部140、抽出部150、及び音声認識部160で行われるCPU101の動作について説明する。
放送が終了すると、音声認識装置100のユーザは、番組で放送された音声の内容を要約したテキストを生成するように指示する操作(以下、要約生成指示操作という)と、要約を生成させる番組のマルチメディア情報のパスを指定する操作(以下、パス指定操作という)と、を、図2に示したキーボード109に行う。
音声認識装置100のCPU101は、キーボード109から要約生成指示操作に応じた信号を入力すると、図9に示す要約生成処理の実行を開始する。
先ず、入力部120は、キーボード109から出力される信号を入力し、入力した信号に基づいて、パス指定操作で指定されたパス(以下、指定パスという)を特定する(ステップS61)。
次に、抽出部150は、パスにあるマルチメディア情報で表される番組に関連した文を要素とする文集合を生成する、図15に示す文集合生成処理を実行する(ステップS62)。
文集合生成処理を開始すると、抽出部150は、指定パスに対応付けられた放送IDを、図5に示した放送テーブルから全て検索する(ステップS71)。
次に、抽出部150は、検索された放送ID(以下、検索放送IDという)それぞれについて、検索放送IDに対応付けられたコメントと、入力時点と、ユーザIDと、を、図6に示したコメントテーブルから全て検索する(ステップS72)。これにより、抽出部150は、指定パスにあるメディア情報で表される番組が生放送若しくは再放送されたときに入力されたコメントと、当該コメントを発したユーザと、放送の開始日時からの経過時間で表されるコメントの入力時点と、を特定する。
その後、抽出部150は、検索されたコメント(以下、検索コメントという)の全てについて、コメントを構成する文(つまり、入力文)を取得し、取得した入力文を、指定されたマルチメディア情報で表される番組に関連した文とする。次に、抽出部150は、入力文を要素とする文集合を生成する(ステップS73)。
その後、抽出部150は、検索された放送IDそれぞれについて、放送IDに対応付けられたシフト時間を、図5に示した放送テーブルから検索する。次に、抽出部150は、入力文の文IDを生成する。その後、検索されたシフト時間を、同じ放送IDで検索されたコメントの入力文に対応したシフト時間とする。
その後、抽出部150は、生成した文IDと、当該文と、当該文の種類と、当該文で構成されるコメントの入力時点と、当該文に対応したシフト時間と、を対応付けて、図11に示した文集合テーブルに保存する(ステップS74)。
コメントから抽出された入力文にシフト時間を対応付けておくのは、シフト時間によって、音声の出力タイミングに対するコメントの入力タイミングが異なると推測されるからである。このため、後の処理のために入力文とシフト時間とを対応付けておく必要があるからである。
その後、抽出部150は、ステップS71で検索された放送IDそれぞれについて、放送IDに対応付けられた放送開始日時を、図5に示した放送テーブルから検索する(ステップS75)。
その後、抽出部150は、ステップS72で検索されたコメントそれぞれについて、検索された放送開始日時を入力時点に加算することで、コメントが入力された日時(以下、コメント入力日時という)を特定する(ステップS76)。
次に、抽出部150は、コメント入力日時より所定の時間Aだけ前の日時から、コメント入力日時より所定の時間Bだけ後の日時までの時間区間(以下、コメント入力時期という)を算出する。次に、抽出部150は、ステップS72で検索されたコメントそれぞれについて、コメント入力時期に含まれる参照日時と、ステップS72で検索されたユーザIDと、に対応付けられたURLを、図10に示した参照テーブルから検索する(ステップS77)。これにより、抽出部150は、コメント入力時期にユーザが参照した文書を特定し、特定した文書を、当該コメントを入力するためにユーザが参照したページとする。尚、好適な所定の時間A及び所定の時間Bは、当業者が実験により定めることはできる。
次に、抽出部150は、ステップS76で検索された全URLについて、URLにある文書を取得する(ステップS78)。
その後、抽出部150は、取得された全文書について、参照された文書に掲載された文(以下、参照文という)を取得し、取得した参照文を、指定されたマルチメディア情報で表される番組に関連した文とする。次に、抽出部150は、参照文を文集合に追加する(ステップS79)。
例えば、視聴者が、番組を視聴しているときに参照した文書は、番組で放送された内容の内で、視聴者が疑問に思った内容や確認したいと思った内容など、番組に関連した内容を掲載していることが多いためである。
その後、抽出部150は、参照文を、図11に示した文集合テーブルに保存した後に(ステップS78)、文集合生成処理の実行を終了する。具体的には、抽出部150は、参照文の文IDを生成し、生成した文IDと、当該文と、当該文の種類と、当該文を含む文書の検索に用いられたコメントの入力時点と、当該文に対応するシフト時間と、を、対応付けて文集合テーブルに保存する。
尚、参照された文書から抽出された参照文にシフト時間を対応付けておくのは、シフト時間によって、音声の出力タイミングに対する文書の参照タイミングが異なると推測されるからである。このため、後の処理のために参照文とシフト時間とを対応付けておく必要があるからである。
図9のステップS62の後に、抽出部150は、文集合に含まれる文から、番組で放送された音声を表す単語の候補(つまり、候補語)を抽出する、図16に示す候補語抽出処理を実行する(ステップS63)。
候補語抽出処理の実行を開始すると、抽出部150は、文集合に含まれる文を全て取得する(ステップS81)。次に、抽出部150は、取得した文それぞれに形態素解析を施す(ステップS82)。これにより、抽出部150は、入力文を構成する単語(つまり、入力語)の全てと、参照文を構成する単語(つまり、参照語)の全てと、を、それぞれの文から抽出する(ステップS83)。
その後、抽出部150は、抽出した入力語のそれぞれについて、入力語に対応付けられた共起語(つまり、入力共起語)を、図12に示した共起語テーブルから検索する。次に、抽出部150は、入力語に基づいて検索された入力共起語を、当該入力語が番組のコメントの一部として入力された場合に、番組の出演者の発言内容に用いられている(つまり、発言内容として共起している)と推測される単語とする。
また、抽出部150は、抽出した参照語のそれぞれについて、参照語に対応付けられた共起語(つまり、参照共起語)を、共起語テーブルから検索する(ステップS84)。次に、抽出部150は、参照語に基づいて検索された参照共起語を、番組にコメントするために当該参照語を視聴者が参照した場合に、番組の出演者の発言に用いられていると推測される単語とする。
次に、抽出部150は、ステップS83で抽出された入力語及び参照語、並びにステップS84で検索された入力共起語及び参照共起語を候補語とする(ステップS85)。
その後、抽出部150は、候補語を、図13に示した候補語テーブルに保存した後に(ステップS86)、候補語抽出処理の実行を終了する。
具体的には、抽出部150は、候補語のそれぞれについて、候補語を識別する候補語IDを生成する。次に、抽出部150は、入力語と、当該入力語の共起語、当該入力語を含むコメントに基づいて検索された文書に掲載された参照語、及び当該参照語の共起語に対応した入力時点を、当該入力語が抽出された入力文の入力時点とする。
次に、抽出部150は、入力語である候補語の候補語IDと、当該候補語と、当該候補語の種類と、当該候補語に対応した入力時点と、当該候補語を含む入力文に対応付けられたシフト時間と、を、対応付けて、候補語テーブルに保存する。また、抽出部150は、入力共起語である候補語の候補語IDと、当該候補語と、当該候補語の種類と、当該候補語に対応した入力時点と、共起が推測される入力語に対応したシフト時間と、を、対応付けて、候補語テーブルに保存する。さらに、抽出部150は、参照語である候補語の候補語IDと、当該候補語と、当該候補語の種類と、当該候補語に対応した入力時点と、当該候補語を含む参照文に対応したシフト時間と、を、対応付けて、候補語テーブルに保存する。またさらに、抽出部150は、参照共起語である候補語の候補語IDと、当該候補語と、当該候補語の種類と、当該候補語に対応する入力時点と、共起が推測される参照語に対応付けられたシフト時間と、を、対応付けて、候補語テーブルに保存する。
図9示したステップS63で候補語が抽出された後に、図4に示した音声認識部160は、候補語のそれぞれについて出現尤度を算出する(ステップS64)。
ここで、ステップS64の処理の一例について説明する。
音声認識部160は、図13に示した候補語テーブルに保存された候補語の全てを検索する。次に、音声認識部160は、入力語である候補語のそれぞれについて、出現尤度として第1所定値を割り当てる。この第1所定値は、番組のコメントの一部として当該入力語が入力された条件の下で、例えば、当該入力語が番組中で発言されるなど、当該入力語が番組の音声に出現することの尤もらしさがどの程度であるかを表す値である。
また、音声認識部160は、参照語である候補語のそれぞれについて、出現尤度として第2所定値を割り当てる。この第2所定値は、番組のコメントの一部として当該参照語の検索に用いられたコメントが入力された条件の下で、当該参照語が番組の音声に出現することの尤もらしさがどの程度であるかを表す値である。第1所定値及び第2所定値は、当業者が実験により好適な値に定めることができる。
また、抽出部150は、候補語の内で、入力語の共起語のそれぞれについて、図12に示した共起語テーブルから、当該入力語と当該共起語とに対応付けられた共起尤度を検索する。次に、抽出部150は、検索した共起尤度を用いて前述の第1所定値を調整した値(以下、第1調整値)を、当該共起語の出現尤度として割り当てる。この第1調整値は、当該入力語を含むコメントが入力された条件の下で、当該共起語が番組の発言中に出現することの尤もらしさがどの程度であるかを表す値であり、共起尤度が高い程高い値に調整される。
さらに、抽出部150は、候補語の内で、参照語の共起語のそれぞれについて、図12に示した共起語テーブルから、当該参照語と当該共起語とに対応付けられた共起尤度を検索する。次に、抽出部150は、検索した共起尤度を用いて前述の第2所定値を調整した値(以下、第2調整値)を、当該共起語の出現尤度として割り当てる。この第2調整値は、当該参照語の検索に用いられたコメントが入力された条件の下で、当該共起語が番組の発言中に出現することの尤もらしさがどの程度であるかを表す値であり、共起尤度が高い程高い値に調整される。
図9に示すステップS64が実行された後に、入力部120は、ステップS61で特定された指定パスから、所定サイズのマルチメディア情報を読み出す(ステップS65)。
次に、図4に示した音声認識部160は、ステップS65で読み出されたマルチメディア情報で表される番組の音声(以下、番組音声)Xを認識する、図17に示すような連続音声認識処理を実行する(ステップS66)。
尚、音声認識部160が実行する連続音声認識処理は、非特許文献1に記載されているので、以下、概略を説明する。
連続音声認識処理は、ステップS65で読み出された番組の音声(以下、番組音声という)Xが入力されたときに、番組音声Xの内容が単語列Wで表される確率p(W|X)を最大にする単語列W*を探索する処理である。
ここで、確率p(W|X)は、ベイズ則により、以下の式(1)のように書き換えることができる。
ここで、分母の確率p(X)は、単語列Wの決定に影響しない正規化係数と考えられるので無視できる。
このため、以下の式(2)で表される、確率p(W|X)を最大にする単語列W*は、以下の式(3)若しくは式(4)でも表される。
本実施例では、音声認識部160は、式(3)を満たす単語列W*を探索するとして説明するが、これに限定される訳ではなく、式(4)を満たす単語列W*を探索しても良い。
音声認識処理の実行を開始すると、音声認識部160は、図9に示すステップS65で読み出されたマルチメディア情報で表される音声の音声信号から、例えば、周波数及び音圧に基づいて、番組の音声(以下、番組音声という)Xを抽出する信号処理を行う(ステップS91)。
次に、音声認識部160は、抽出された番組音声Xの周波数の変化と、蓄積部190に記憶された音響モデルで表される音素や音節の周波数パターンと、を、マッチングさせることで、番組音声Xを音素等に分解し、番組音声Xを表す音素等列X={x1,x2,…,xk}を生成する(ステップS92)。
その後、音声認識部160は、番組音声Xが発音された発音時点を特定し、放送の開始日時から音声が発せられるまでの経過時間を用いて表す(ステップS93)。
次に、音声認識部160は、図13に示した候補語テーブルに保存された候補語の全てについて、候補語に対応する入力時点と、抽出された番組音声の発音時点と、の差異(つまり、時点差異)を算出する(ステップS94)。
その後、音声認識部160は、図13に示した候補語テーブルに保存された候補語の全てについて、候補語に対応するシフト時間を検索する。次に、音声認識部160は、シフト時間が所定値以下の候補語について、ステップS94で算出された時点差異と、蓄積部190に保存されたデータで表される生放送合致度曲線と、に基づいて合致度を算出する。また、音声認識部160は、シフト時間が所定値より大きい候補語について、算出された時点差異と、蓄積部190に保存されたデータで表される再放送合致度曲線と、に基づいて合致度を算出する(ステップS95)。
次に、音声認識部160は、生成した単語列Wの数の計数に用いられる変数jを値「0」で初期化する(ステップS96)。
次に、音声認識部160は、合致度の高い候補語ほど、高確率で、単語列W={w1,w2,…,wk}を構成する候補語w1からwkとして選択する。また、音声認識部160は、出現尤度の高い候補語ほど、高確率で、上記単語列Wを構成する候補語w1からwkとして選択する。その後、音声認識部160は、選択した候補語w1からwkで構成される単語列Wを生成する(ステップS97)。尚、単語列Wを構成する候補語の数kは、ステップS97の実行時に確率的に決定される。
その後、音声認識部160は、蓄積部190が記憶する単語辞書を用いて、単語列Wを構成する候補語それぞれについて音素等列を生成し、単語列Wの発音を表す音素等列M={m1,m2,…,mi}を生成する(ステップS98)。
次に、音声認識部160は、以下の式(5)を用いて、単語列Wから番組音声Xが生起する確率p(X|W)を算出する(ステップS99)。尚、確率p(X|W)は、単語列Xの発音を表す音素等列と、番組音声の音素等列と、がどの程度一致するかを表すため、一致度と称される。
尚、音声認識部160は、音響モデルで表される音素等miの音響的特徴と、音声信号から分解された音素等xiの音響的特徴と、が、どの程度一致しているかを比較し、一致しているほどp(xi|mi)を値「1」に近い値とし、相違しているほどp(xi|mi)を「0」に近い値とする。
次に、音声認識部160は、番組音声Xが入力される時点で、単語列Wが生起する確率であり、番組音声Xとは無関係の言語的確からしさを表す結合度p(W)を、下記の式(6)を用いて算出する。このとき、音声認識部160は、下記の式(6)を式(7)で近似し、Nグラムモデルの言語モデルを用いて結合度p(W)の近似値を算出する(ステップS100)。計算量を軽減するためである。
その後、音声認識部160は、ステップS99で算出されたp(X|W)と、ステップS100で算出された結合度p(W)と、を乗算して、p(W|X)を算出する(ステップS101)。
その後、音声認識部160は、変数jを値「1」だけ増加させた後に(ステップS102)、変数jが所定値Thより大きいか否かを判別する(ステップS103)。このとき、音声認識部160は、変数jが所定値Th以下であると判別すると(ステップS103;No)、ステップS97に戻り、上記処理を繰り返す。尚、好適な所定値Thは、当業者が実験により定めることができる。
これに対して、音声認識部160は、変数jが所定値Thより大きいと判別すると(ステップS103;Yes)、算出されたTh通りの単語列Wの内で、p(W|X)を最大にする(すなわち、式(2)から(4)を満たす)単語列W*を特定した後に(ステップS104)、連続音声認識処理の実行を終了する。
図9に示すステップS66の連続音声認識処理が実行された後に、音声認識処理部160は、認識された単語列W*を要約に追加する(ステップS67)。
その後、入力部120は、前述のパスにある電子ファイルの読出位置を、読み出したマルチメディア情報のサイズだけ後側にシフトさせる。次に、入力部120は、読出位置が、電子ファイルの最後であるEOFであるか否かを判別する(ステップS68)。このとき、入力部120は、読出位置がEOFでないと判別すると(ステップS68;No)、ステップS65から上記処理を繰り返す。
ステップS68において、入力部120が、読出位置がEOFであると判別すると(ステップS68;Yes)、出力部140は、図2に示したビデオカード107へ要約を出力する(ステップS69)。その後、ビデオカード107は、LCD108に要約を表示させる。
次に、出力部140は、指定パスと、当該指定パスにあるマルチメディア情報で表される音声の要約を表すテキストと、を、対応付けて蓄積部190に保存した後に(ステップS70)、要約生成処理の実行を終了する。キーワードに基づいてマルチメディア情報を検索できるようにするためである。
ここで、マルチメディア情報の再生により出力された音声に対するコメントは、当該音声の内容を表す単語若しくは当該単語の共起語を含むことが多い。このため、これらの構成によれば、音声認識装置100は、コメントを構成する単語(つまり、入力語)及び当該単語の共起語(つまり、入力共起語)を、音声の内容を表す単語の候補(つまり、候補語)とするので、従来よりも音声を適切に認識できる。つまり、音声認識装置100は、マルチメディア情報に付されたコメントを利用して、マルチメディア情報に含まれる音声を従来よりも適切に認識できる。
また、番組の音声についてコメントを入力するユーザは、発言の意味内容を文書で調べたり、確認したりすることが多い。このため、マルチメディア情報を聴取し、コメントを入力したユーザが閲覧した文書には、マルチメディア情報の再生により出力される音声の内容を表す単語若しくは当該単語の共起語を含むことが多い。よって、これらの構成によれば、音声認識装置100は、ユーザが参照した文書を構成する単語(つまり、参照語)及び当該単語の共起語(つまり、参照共起語)を、音声の内容を表す単語の候補(つまり、候補語)とするので、音声を従来よりも適切に認識できる。
さらに、これらの構成によれば、音声から認識された音素と、候補語の発音を表す音素と、の一致度だけでなく、候補語の出現尤度にも基づいて音声認識するため、一致度だけに基づいて音声を認識する従来の音声認識装置よりも、精度良く音声を認識できる。
また、ここで、音声の発音時点と、当該音声に対するコメントの入力時点と、は、通常、所定時間以上相違することが少ないなど、互いに合致していることが多い。このため、音声認識装置100は、候補語に対応した入力時点と、音声が発せられた発音時点と、の合致度と、当該候補語を含むコメントと、に基づいて、音声を認識するため、従来よりも精度良く音声を認識できる。
ここで、前述のように、既に生放送で番組を視聴している視聴者や、再放送で同じ番組を繰り返し視聴している視聴者は、生放送で初めて番組を視聴する視聴者よりも、コメント対象とする音声の発音時点に近い時点でコメントを入力する傾向にある。音声認識装置100が記憶する再放送合致度曲線は、図14に示すように、時点差異が「-TD1」から「TD2」までの範囲で、生放送合致度曲線よりも上側に位置する。このため、同じ候補語で、時点差異が「-TD1」から「TD2」までの範囲に含まれる同じ値ならば、再放送で入力若しくは参照された単語又は当該単語の共起語の方が、生放送で入力等された単語又は当該単語の共起語よりも、図17に示した連続音声認識処理で生成される単語列Wに採用される確率が高い。
また、前述のように、既に生放送で番組を視聴している視聴者などは、再放送時において、コメント対象とする音声の発音時点に近い時点でコメントを入力することが多い。また、音声認識装置100が記憶する再放送合致度曲線は、図14に示すように、時点差異が「0」のときがピークであり、時点差異「0」から離れるに従って減衰する。このため、同じ候補語で、共に再放送で入力等された単語若しくは当該単語の共起語であれば、発音時点と入力等された時点との差異が少ない方が、連続音声認識処理で生成される単語列Wに採用される確率が高い。
これに対して、生放送の視聴者は、出演者の音声を聞いた後で当該音声に対してコメントを入力することが多い。音声認識装置100が記憶する生放送合致度曲線は、図14に示すように、時点差異が「TP」のときがピークであり、時点差異が「TP」から離れるに従って減衰する。このため、同じ候補語で、共に生放送で入力等された単語若しくは当該単語の共起語であれば、発音時点と入力等された時点との差異が「TP」に近い方が、連続音声認識処理で生成される単語列Wに採用される確率が高い。それにより、音声認識装置100は、従来よりも精度良く音声認識できる。
本実施例では、図1に示した通信網10は、インターネットであると説明したが、これに限定される訳ではなく、LAN(Local Area Network)又は公衆回線網であっても良い。
本実施例では、マルチメディア情報は、番組の動画と音声とを表すとして説明したが、これに限定される訳ではなく、番組の音声のみを表しても良い。
<実施例2>
本発明の実施例2に係る音声認識装置200は、実施例1に係る音声認識装置100と同様に、図1に示した音声認識システム1を構成する。以下、実施例1との相違点について主に説明するため、実施例1との共通点については説明を省略する。
音声認識装置200のハードウェア構成は、実施例1に係る音声認識装置200のハードウェア構成と同様であるので説明を省略する。
次に、音声認識装置200が有する機能について説明する。
実施例2に係る音声認識装置200のCPUは、図18に示す要約生成処理を実行することで、図19に示すような入力部220、保存部230、出力部240、抽出部250、音声認識部260、及び共起尤度算出部270として機能する。また、音声認識装置200のCPUは、ハードディスク104と協働して蓄積部290として機能する。入力部220、保存部230、出力部240、抽出部250、音声認識部260、及び蓄積部290は、実施例1で説明した入力部120、保存部130、出力部140、抽出部150、音声認識部160、及び蓄積部190と同様の機能を有する。
共起尤度算出部270は、端末装置20から40を使用するユーザ毎に、ユーザが参照した文書に掲載された単語と、当該文書において当該単語と共に使用される共起語と、当該共起語の共起尤度と、を算出する。
蓄積部190は、図12に示す共起語テーブルではなく、図20に示す共起語テーブルを記憶している。この共起語テーブルには、ユーザIDと、当該ユーザIDで識別されるユーザが参照した文書に掲載された単語と、当該単語の共起語と、当該単語と当該共起語とがコメントや文書で共に使用される(つまり、共起する)ことがどの程度尤もであるかを表す尤度(以下、共起尤度という)と、が対応付けられたデータが複数保存される。
次に、図19に示す各機能部で行われるCPUの動作について説明する。
音声認識装置200のCPUは、キーボードから要約生成指示操作に応じた信号を入力すると、図18に示す要約生成処理の実行を開始する。
要約生成処理の実行を開始すると、共起尤度算出部270は、共起尤度を算出する共起尤度算出処理を実行する(ステップS60)。
共起尤度算出処理では、共起尤度算出部270は、図10に示した参照テーブルに保存されたユーザID毎に、ユーザIDと対応付けられたURLを検索する。次に、共起尤度算出部270は、検索したURLの全てについて、URLにある文書を取得する。その後、共起尤度算出部270は、取得した文書の全てについて、文書に掲載された掲載単語と、当該掲載単語と当該文書で共に使用された共起単語と、当該共起単語が当該掲載単語と共に使用された共起回数と、を算出する。その後、共起尤度算出部270は、掲載単語と共起単語との全組み合わせについて、共起回数に基づき共起尤度を算出する。次に、共起尤度算出部270は、所定値以上の共起尤度について、ユーザIDと、掲載単語と、共起単語と、共起尤度と、を対応付けて、図20に示す共起テーブルに保存する。
図18に示すステップS60の処理が実行された後に、ステップS61からステップS63の処理を実行する。
その後、音声認識部260は、候補語のそれぞれについて出現尤度を算出する(ステップS64)。このとき、音声認識部260は、候補語が入力共起語の場合に、入力共起語と共起する入力語を入力したユーザのユーザIDを特定し、特定したユーザIDと当該入力語と当該入力共起語とに、図20に示す共起テーブルで対応付けられた共起尤度を検索する。次に、音声認識部260は、検索した共起尤度を用いて出現尤度を算出する。また、音声認識部260は、候補語が参照共起語の場合に、参照共起語と共起する参照語を参照したユーザのユーザIDを特定し、特定したユーザIDと当該参照語と当該参照共起語とに、図20に示す共起テーブルで対応付けられた共起尤度を検索する。次に、音声認識部260は、検索した共起尤度を用いて出現尤度を算出する。
その後、音声認識部260は、ステップS65からステップS70の処理を実行した後に、要約生成処理の実行を終了する。
これらの構成によれば、音声認識200は、視聴者が参照した文書に掲載された掲載単語と、当該掲載単語と共に文書中で使用された単語を共起語とし、当該掲載単語と当該共起語とが当該文書で共起した回数に基づいて共起尤度を算出する。また、音声認識200は、算出した共起尤度を用いて、視聴者が入力若しくは参照した単語の共起語の出現尤度を算出し、算出した共起語の出現尤度と、共起語の発音と音声との一致度と、に基づいて音声を認識する。ここで、視聴者が互いに共起させてコメントに用いる単語や互いに共起して文書に掲載される単語は、話題となっている事項や、時代の流行や、視聴者の嗜好によって変化する。このため、話題となっている事項や、時代の流行や、視聴者の嗜好が変化しても、音声認識装置200は、精度良く音声を認識できる。
<実施例3>
実施例1に係る音声認識装置100は、図3に示したステップS17で、コメントを合成した動画を生成し、ステップS19で、コメントの合成された動画を表すマルチメディア情報を、図2に示したLANカード106へ出力すると説明した。LANカード106は、当該マルチメディア情報を端末装置20及び30へ送信し、端末装置20及び30は、コメントの合成された動画を、図7に示した視聴画面の動画表示領域AMに表示すると説明した。
実施例3に係る音声認識装置は、図3に示したステップS17で、コメントを合成した動画を生成せず、ステップS19で、マルチメディア情報とコメント情報とをLANカード106へ出力する。LANカード106は、当該マルチメディア情報と当該コメント情報とを端末装置へ送信する。
実施例3に係る端末装置は、図21に示すような視聴画面を表示する。この視聴画面は、実施例1で説明した動画表示領域AMと、コメント表示領域ACと、動画表示領域AMの上に重ねられた(つまり、動画表示領域AMよりも上位のレイヤーに属する)コメント表示欄ULと、を有する。端末装置は、マルチメディア情報とコメント情報とを受信すると、マルチメディア情報で表される動画を動画表示領域AMに表示し、コメント情報で表されるコメントを動画表示領域AMに重ねられたコメント表示欄ULとコメント表示領域ACとに表示する。尚、コメント表示欄ULの枠を作図の便宜のために点線で表したが、コメント表示欄ULの枠は視聴画面に表示されない。
<実施例4>
実施例4に係る音声認識装置100は、番組を生放送及び再放送するだけでなく、VOD(Video On Demand)で番組を配信する。端末装置20から40は、生放送若しくは再放送された番組だけでなく、配信された番組の映像を表示し、音声を出力する。
ここで、端末装置40のユーザが、生放送された番組をVODで配信することを要求するリクエスト(以下、VOD配信リクエストという)を送信させる操作を端末装置40に行うとして説明する。
端末装置40は、当該操作に応じてVOD配信リクエストを音声認識装置100へ送信する。音声認識装置100は、VOD配信リクエストを端末装置40から受信すると、配信を要求された番組を表すマルチメディア情報を読み出し、読み出したマルチメディア情報を端末装置40へ配信し始める。端末装置40は、音声認識装置100から受信したマルチメディア情報で表される番組映像の表示及び番組音声の出力を開始する。
その後、端末装置40のユーザが、配信された番組の再生位置を所定時間先に進めるスキップ操作を端末装置40に行うとして説明する。
端末装置40は、番組映像の表示及び番組音声の出力を中止し、スキップとスキップする時間とを指示するスキップコマンドを音声認識装置100へ送信する。声認識装置100は、スキップコマンドを受信すると、当該スキップコマンドで指定された時間に相当するサイズだけマルチメディア情報の読出位置を後側にシフトしてからマルチメディア情報の読み出し及び配信を継続する。その後、端末装置40は、配信されたマルチメディア情報で表される番組映像の表示及び番組音声の出力を再開する。
その後、端末装置40のユーザが、配信された番組の再生位置を所定時間後に戻すスキップ操作を端末装置40に行うと、端末装置40は、番組映像の表示及び番組音声の出力を中止し、既に保存したマルチメディア情報を用いて、当該スキップ操作で指定された時間に相当するサイズだけ前の再生位置から番組映像の再生及び番組音声の出力を再開する。
また、端末装置40のユーザが、配信された番組の再生を一時停止させる操作を端末装置40に行うと、端末装置40は、番組映像の表示及び番組音声の出力を中止する。その後、端末装置40のユーザが、配信された番組をコマ送り再生させる操作を端末装置40に行うと、番組音声の出力を中止し、配信された若しくは既に保存されたマルチメディア情報を用いて、番組映像のコマ送り再生を開始する。
その後、端末装置40のユーザが、番組の再生を停止させる操作を端末装置40に行うと、端末装置40は、番組映像の表示及び音声出力を停止し、停止を指示する停止コマンドを音声認識装置100へ送信する。音声認識装置100は、端末装置40から停止コマンドを受信すると、当該停止コマンドに従って、マルチメディア情報の配信を停止する。
実施例1から4は、互いに組み合わせることができる。実施例1から4のいずれかに係る機能を実現するための構成を備えた音声認識装置100として提供できることはもとより、複数の装置で構成されるシステムであって、実施例1から4のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
尚、実施例1に係る機能を実現するための構成を予め備えた音声認識装置100、実施例2に係る機能を実現するための構成を予め備えた音声認識装置200、又は実施例3若しくは4に係る機能を実現するための構成を予め備えた音声認識装置として提供できることはもとより、プログラムの適用により、既存の音声認識装置を実施例1に係る音声認識装置100、実施例2に係る音声認識装置200、又は実施例3若しくは4に係る音声認識装置として機能させることもできる。すなわち、実施例1で例示した音声認識装置100、実施例2で例示した音声認識装置200、又は実施例3若しくは4で例示した音声認識装置による各機能構成を実現させるための音声認識プログラムを、既存の音声認識装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、実施例1に係る音声認識装置100、実施例2に係る音声認識装置200、又は実施例3若しくは4に係る音声認識装置として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る音声認識方法は、実施例1に係る音声認識装置100、実施例2に係る音声認識装置200、又は実施例3若しくは4に係る音声認識装置を用いて実施できる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。