(57)【要約】【課題】  入力情報がクラス分類器に入力されて得られたクラスに対するスコアに基づいて、当該入力情報が所定のクラスに分類されるべきものか否かを高精度に判別する。【解決手段】  判別ルール生成装置１０は、クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報を入力するスコア入力部１３と、入力情報が上記のクラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力部１４と、スコア情報及び正解情報に基づき、機械学習によって入力情報がクラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールを生成する判別ルール生成部１５と、生成された判別ルールを示す情報を出力する出力部１６とを備える。【選択図】  図１
2014102555.tif 000002
【特許請求の範囲】
【請求項１】
クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報を入力するスコア入力手段と、
前記入力情報が前記クラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力手段と、
前記スコア入力手段によって入力されたスコア情報、及び前記正解入力手段によって入力された正解情報に基づき、機械学習によって入力情報が前記クラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールを生成する判別ルール生成手段と、
前記判別ルール生成手段によって生成された判別ルールを示す情報を出力する出力手段と、
を備える判別ルール生成装置。
【請求項２】
前記スコア入力手段は、前記スコアに応じた情報としてクラスに対応付かないスコアを入力する請求項１に記載の判別ルール生成装置。
【請求項３】
前記スコア入力手段は、前記スコアに応じた情報として設定された数のスコア順のスコアを入力する請求項１又は２に記載の判別ルール生成装置。
【請求項４】
前記判別ルール生成手段は、前記クラス毎に判別ルールを生成する請求項１〜３の何れか一項に記載の判別ルール生成装置。
【請求項５】
前記判別ルール生成手段は、前記判別ルールによる判別結果に応じた重み付けを行って機械学習を行う請求項１〜４の何れか一項に記載の判別ルール生成装置。
【請求項６】
前記入力情報は、ユーザの発話に基づく情報である請求項１〜５の何れか一項に記載の判別ルール生成装置。
【請求項７】
入力情報及び当該入力情報が分類されるクラスを示す情報を入力して、機械学習によってクラス分類器を生成するクラス分類器生成手段と、
入力情報を入力して、前記クラス分類器生成手段によって生成されたクラス分類器によって当該入力情報についての複数のクラスに対するスコアを算出するスコア算出手段と、
を更に備える請求項１〜６の何れか一項に記載の判別ルール生成装置。
【請求項８】
クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報を入力するスコア入力ステップと、
前記入力情報が前記クラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力ステップと、
前記スコア入力ステップにおいて入力されたスコア情報、及び前記正解入力ステップにおいて入力された正解情報に基づき、機械学習によって入力情報が前記クラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールを生成する判別ルール生成ステップと、
前記判別ルール生成ステップにおいて生成された判別ルールを示す情報を出力する出力ステップと、
を含む判別ルール生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラス分類器による分類の正否を判別するための判別ルールを生成する判別ルール生成装置及び判別ルール生成方法に関する。
【背景技術】
【０００２】
従来から、人の音声によって機器を操作する技術が知られている。例えば、ユーザの音声の意図解釈を行ってカーナビゲーションシステムを操作するシステムがある。人の音声から機器のどの機能を動作させるかの判断は、例えば、ＳＶＭ（Support Vector Machine）やロジスティック回帰等のクラス分類器によって行われる。
【０００３】
ところで、文字認識では、誤認識を低減するために認識した文字が正しい文字であるか否かのリジェクト文字判定を行うことが提案されている（例えば、特許文献１及び非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１０５３１９号公報
【非特許文献】
【０００５】
【非特許文献１】森、坂井：日本語文書を読み取る印刷漢字装置，パターン情報処理システム講演会論文集，pp.33-44.1980.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のクラス分類器からの出力は、例えば、機能（クラス）毎のスコアであり、このスコアに基づいて動作させる機能が判断される。しかしながら、最も高いスコアの機能を必ず動作させることとすると、例えば、どの意図にも属さない意味のない発話（雑談）や雑音等によって機器が誤操作されてしまうおそれがある。
【０００７】
上記の特許文献１及び非特許文献１に記載されたリジェクト文字判定では、第２位までの認識結果に含まれるスコア（である距離値又は類似度）、即ち、スコアの値の大きさが２番目までのものを用いて、それらのスコアが予め設定した一定の条件を満たすかを判断して、認識した文字が正しい文字であるか否かの判定を行う。この一定の条件とは、例えば第１位のスコアが閾値以上（距離値の場合は閾値以下）であり、第１位及び第２位のスコアの差が別の閾値以上であるといったものである。しかしながら、上記の方法では単純な閾値を用いた判定であるため、正解と誤りとを分離する能力が制限され高い精度が得られないという問題がある。従って、上記の特許文献１及び非特許文献１に記載されたリジェクト文字判定を上記の機能の判別に利用したとしても、適切な判別を行うことができず上述した誤操作を適切に防止することができないおそれがある。
【０００８】
本発明は、発話等に基づく入力情報がクラス分類器に入力されて得られたクラスに対するスコアに基づいて、当該入力情報が所定のクラスに分類されるべきものか否かを高精度に判別することができる判別ルール生成装置及び判別ルール生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明に係る判別ルール生成装置は、クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報を入力するスコア入力手段と、入力情報がクラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力手段と、スコア入力手段によって入力されたスコア情報、及び正解入力手段によって入力された正解情報に基づき、機械学習によって入力情報がクラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールを生成する判別ルール生成手段と、判別ルール生成手段によって生成された判別ルールを示す情報を出力する出力手段と、を備える。
【００１０】
本発明に係る機能実行指示システムでは、スコア情報及び正解情報に基づき、機械学習によって、入力情報がクラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールが生成される。このように機械学習によって生成された判別ルールによれば、従来から用いられている、単純に閾値を用いる方法と比べて高精度に判別が可能である。従って、本発明に機能実行指示システムによれば、入力情報がクラス分類器に入力されて得られたクラスに対するスコアに基づいて、当該情報が所定のクラスに分類されるべきものか否かを高精度に判別することができる。
【００１１】
スコア入力手段は、スコアに応じた情報としてクラスに対応付かないスコアを入力することとしてもよい。この構成によれば、クラスに対応付かない汎用的な判別ルールを生成することができ、より汎用的な判別が可能となる。
【００１２】
スコア入力手段は、スコアに応じた情報として設定された数のスコア順のスコアを入力することとしてもよい。この構成によれば、予め設定された数のスコアを用いることで判別の精度を向上させることができる。また、判別ルール生成のコストを減少させることができる。
【００１３】
判別ルール生成手段は、クラス毎に判別ルールを生成することとしてもよい。この構成によれば、クラス毎により適切に判別を行うことができる。
【００１４】
判別ルール生成手段は、判別ルールによる判別結果に応じた重み付けを行って機械学習を行うこととしてもよい。この構成によれば、入力情報がクラスに分類されること、あるいはされないことの期待損失に応じて適切に判別することができる。
【００１５】
入力情報は、ユーザの発話に基づく情報であることとしてもよい。この構成によれば、例えば、発話に基づいて機器の機能を起動する場合に高精度に判別を行うことができる。
【００１６】
判別ルール生成装置は、入力情報及び当該入力情報が分類されるクラスを示す情報を入力して、機械学習によってクラス分類器を生成するクラス分類器生成手段と、入力情報を入力して、クラス分類器生成手段によって生成されたクラス分類器によって当該入力情報についての複数のクラスに対するスコアを算出するスコア算出手段と、を更に備えることとしてもよい。この構成によれば、クラス分類器を合わせて生成することができる。
【００１７】
ところで、本発明は、上記のように判別ルール生成装置の発明として記述できる他に、以下のように判別ルール生成方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１８】
即ち、本発明に係る判別ルール生成方法は、クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報を入力するスコア入力ステップと、入力情報がクラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力ステップと、スコア入力ステップにおいて入力されたスコア情報、及び正解入力ステップにおいて入力された正解情報に基づき、機械学習によって入力情報がクラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルールを生成する判別ルール生成ステップと、判別ルール生成ステップにおいて生成された判別ルールを示す情報を出力する出力ステップと、を含む。
【発明の効果】
【００１９】
本発明によれば、入力情報がクラス分類器に入力されて得られたクラスに対するスコアに基づいて、当該情報が所定のクラスに分類されるべきものか否かを高精度に判別することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る判別ルール生成装置の構成を示す図である。
【図２】クラス分類器を説明するための図である。
【図３】入力情報（第一の特徴量）及び当該入力情報が分類されるクラス（正解クラス）を示す情報を示す図である。
【図４】クラス分類器によって得られるスコアと、スコアに基づいて生成される第二の特徴量を示す図である。
【図５】第二の特徴量の別の例を示す図である。
【図６】第二の特徴量の更に別の例を示す図である。
【図７】第二の特徴量と正解情報とを示す図である。
【図８】正解情報を説明するための図である。
【図９】判別ルールで実際に棄却すべきデータと判別ルールで棄却されるデータとの関係を示す図である。
【図１０】判別ルールによる棄却判定の分類及びそれらに対する期待損失算出のためのパラメータ（コスト行列）を示す表である。
【図１１】期待損失算出のためのパラメータ（コスト行列）の例を示す表である。
【図１２】本発明の実施形態に係る判別ルール生成装置のハードウェア構成を示す図である。
【図１３】本発明の実施形態に係る判別ルール生成装置で実行される処理（判別ルール生成方法）を示すフローチャートである。
【図１４】本発明の実施形態に係る判別ルール生成装置で生成された判別ルールを用いた処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面と共に本発明に係る判別ルール生成装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２２】
図１に本実施形態に係る判別ルール生成装置１０を示す。判別ルール生成装置１０は、クラス分類器による分類の正否を判別するための判別ルールを生成する装置である。具体的には、判別ルール生成装置１０は、後述するようにコンピュータとして実現される。クラス分類器は、コンピュータ上で実現され、入力情報を入力して、その入力情報が複数のクラスの何れに分類されるかを示す情報を出力するものである。なお、判別ルール生成装置１０は、必ずしも１台のコンピュータによって実現されている必要はなく、互いに接続された複数台のコンピュータによるコンピュータシステムによって実現されてもよい。また、判別ルール生成装置１０は、必要な情報を入力するため、あるいは生成した情報を出力するために他の装置と接続されており、情報の送受信が可能となっていてもよい。
【００２３】
クラス分類器は、例えば上述したようにユーザの音声（発話）に基づいて起動する機器の機能を判断する、即ち、ユーザの発話の意図解釈を行うために用いられる。なお、入力情報が分類されるクラスは、例えば、機器の機能に応じて予め設定されており、どのようなクラスがあるかについては予め判別ルール生成装置１０に記憶されており、把握されている。
【００２４】
図２を用いて上記の機器としてカーナビゲーションシステムの例を説明する。クラス分類器は、カーナビゲーションシステムに含まれている。クラス分類器は、ユーザの発話に基づく入力情報を入力する。そして、ユーザの発話の意図解釈を行って、その意図に応じた機能（例えば、目的地設定、音量設定、地図設定）を起動するようにカーナビゲーションシステムに指示する。なお、ユーザの発話に基づく入力情報は、クラス分類器が処理可能な情報である。具体的には、ユーザの発話が音声認識され、音声認識された結果から抽出された特徴量等の情報である。なお、クラス分類器は、カーナビゲーションシステムに限られず、任意のものに用いられ、例えば、携帯電話機の音声による機能の起動等にも用いられる。
【００２５】
上述したように、判別ルール生成装置１０は、上記のクラス分類器による分類の正否を判別するための判別ルールを生成する装置である。クラス分類器による分類の正否とは、例えば、分類されたクラスが正しいか誤っているか、あるいはそもそもクラスへの分類自体が正しいか誤っているかである。この判別は、具体的にはユーザの発話により起動される機能が正しいか否か、あるいはユーザの発話により機能が起動されるべきか否かに係るものである。即ち、この場合の判別は、ユーザの発話により機能が正しく起動させるためのものである。例えば、ユーザの意図とは異なる機能を起動させたり、どの意図にも属さない意味のない発話（雑談）や雑音（ユーザが機能を起動させるための発話以外の音声）等によって機能を起動させたりすることを防止するものである。
【００２６】
従って、判別ルール生成装置１０は、通常、クラス分類器を作成する者によって用いられる。例えば、カーナビゲーションシステムや携帯電話機の製造者（あるいは、音声による機能を起動するモジュールの製造者）によって用いられる。
【００２７】
引き続いて、判別ルール生成装置１０の機能構成を説明する。図１に示すように、判別ルール生成装置１０は、クラス分類器生成部１１と、スコア算出部１２と、スコア入力部１３と、正解入力部１４と、判別ルール生成部１５と、出力部１６とを備えて構成される。
【００２８】
クラス分類器生成部１１は、入力情報及び当該入力情報が分類されるクラスを示す情報を入力して、機械学習によってクラス分類器（第一の学習モデル、クラス分類学習器１）を生成するクラス分類器生成手段である。入力情報及び当該入力情報が分類されるクラスを示す情報は、上記の機械学習のための正解データ（サンプルデータ）である。
【００２９】
例えば、クラス分類器生成部１１は、入力情報を以下のように入力する。クラス分類器生成部１１は、ユーザの発話例である音声データを入力する。クラス分類器生成部１１は、入力した音声データに対して音声認識を行ってユーザの発話例に対応する文章を取得する。クラス分類器生成部１１は、取得した文章からユーザの発話例に対応する特徴量である（第一の特徴量）を生成する。特徴量は、例えば、予め設定した単語（語彙）が文章中に含まれるか否かを示す情報である。この単語は予め設定した数（例えばｎ個）あり、図３に示すように１つの発話例に対応する第一の特徴量はｎ次元のベクトルとなる（図３のそれぞれの行のデータに相当する）。このベクトルの各要素の値は、１か０であり、１がその要素に対応する単語が含まれていることを意味しており、０がその要素に対応する単語が含まれていないことを意味する。
【００３０】
機械学習を行うための入力情報は、上記のようにして得られた（入力された）第一の特徴量である。なお、後述するように、生成されたクラス分類器に、クラス分類を行うために入力される入力情報も上記の第一の特徴量に対応する情報である。クラス分類器生成部１１は、機械学習を行うため、通常、図３に示すように複数のユーザの発話例にそれぞれ対応する複数の第一の特徴量を生成（入力）する。なお、上記では、クラス分類器生成部１１は、音声データを入力するとしているが、音声認識によって得られた文章、あるいは、第一の特徴量自体を入力することとしてもよい。また、本実施形態では、ユーザの発話に基づくクラス分類を行うこととしているが、それ以外の態様である場合は、第一の特徴量は必ずしも音声データに基づくものでなくてもよい。例えば、入力される文章が、音声データに基づくものでなくてもよい。また、上記の特徴量の生成は、一例であり、従来用いられている任意の特徴量を用いることができ、また、その生成方法も任意のものを用いることができる。
【００３１】
第一の特徴量に係る情報は、例えば、判別ルール生成装置１０に接続された他の装置からクラス分類器生成部１１に入力されたり、あるいは、判別ルール生成装置１０の利用者の入力操作を受け付けること等によって入力されたりする。音声データを直接、判別ルール生成装置１０に入力する場合には、マイク等の音声を入力するための装置が判別ルール生成装置１０に設けられる。
【００３２】
また、例えば、クラス分類器生成部１１は、入力情報が分類されるクラスを示す情報を以下のように入力する。クラスを示す情報は例えばクラスを示す番号（図３に示す例では１〜１０までの番号）である。入力情報が分類されるクラスは、入力情報が分類されるべきクラス（正解クラス）である。例えば、ユーザの発話によって起動されるべき機能に対応するクラスである。なお、入力情報が所定のクラスに分類されるか否かは、発話と発話により起動される機能との関係の例のように予め恣意的に決めうるものである。例えば、「…に行きたい」と発話した場合に「目的地設定」の機能を起動させることは、機器の製造者が予め決めうるものである。従って、上記の正解クラスは、例えば、機器の製造者が予め決めたものである。
【００３３】
クラス分類器生成部１１は、入力情報が分類されるクラスを示す情報を、上記の入力情報に対応するものとして入力する。例えば、対応付いた入力情報と入力情報が分類されるクラスを示す情報とを同時に入力する、あるいは、入力情報と入力情報が分類されるクラスを示す情報とに予め同一のＩＤを付与しておき、対応するものと把握できるようにしておく。入力情報が分類されるクラスを示す情報は、例えば、判別ルール生成装置１０の利用者の入力操作を受け付けること等によって入力される。
【００３４】
クラス分類器生成部１１は、上記のように入力した入力情報及び当該入力情報が分類されるクラスを示す情報を用いて、機械学習によってクラス分類器を生成する。入力情報が機械学習における説明変数に、当該入力情報が分類されるクラスを示す情報が機械学習における目的変数にそれぞれ対応する。ここで生成されるクラス分類器は、入力情報を入力して、その入力情報についての各クラスに対するスコアを出力するものである。このスコアは、入力情報がそのクラスに分類されるべき度合い（帰属度合い）を示したものである。例えば、スコアが大きいほど、入力情報がそのクラスに分類されるべき度合いが大きいことを示している。この場合、入力情報を１つのクラスに分類しようとする場合は、通常、スコアが最も高いクラスに分類される。あるいは、入力情報を複数のクラスに分類しようとする場合は、通常、スコアが高い順に分類される。入力情報の複数のクラスへの分類は、例えば、発話による機能の起動においては、発話から起動される機能の複数の候補を絞り込む場合に行われる。この場合、例えば、分類された複数のクラスに対応する機能を、起動される機能の候補としてユーザに提示しユーザに選択させる。
【００３５】
上記の機械学習は、従来の方法によって行うことができる。例えば、ＳＶＭ（Support Vector Machine）やロジスティック回帰によって行うことができる。クラス分類器生成部１１は、生成したクラス分類器を示す情報をスコア算出部１２に出力する。
【００３６】
スコア算出部１２は、入力情報を入力して、クラス分類器生成部１１によって生成されたクラス分類器によって当該入力情報についての複数のクラスに対するスコアを算出するスコア算出手段である。スコア算出部１２で算出されるスコアは、判別ルールの生成に用いられる。
【００３７】
入力情報は、例えば、上述したように第一の特徴量である。スコア算出部１２は、クラス分類器生成部１１において入力されクラス分類器の生成で用いられた機械学習の学習用の第一の特徴量とは別の第一の特徴量（別の発話に対応した第一の特徴量）を入力することが望ましい。その場合、スコア算出部１２は、当該別の第一の特徴量を上記のクラス分類器生成部１１と同様の方法で入力（生成）する。
【００３８】
スコア算出部１２は、クラス分類器生成部１１で生成され出力されたクラス分類器に第一の特徴量を入力して、複数のクラスに対するスコアを算出する。このスコアはクラス毎に算出される。従って、図４に示すように１つの第一の特徴量（１つの発話）に対応するスコアは、クラスの数の次元のベクトルとなる（図４のスコア列のそれぞれの行のデータに相当する）。スコア算出部１２は、算出した各第一の特徴量に対応するスコアを示す情報をスコア入力部１３に入力する。なお、通常、算出するスコアは、後述する判別ルールの生成に用いられるため複数の第一の特徴量について算出される。そのためスコア算出部１２は、複数の第一の特徴量を入力する。
【００３９】
なお、上記の説明においてスコア算出部１２においてスコアの算出に用いたクラス分類器は、クラス分類器生成部１１から入力されたものであったが、必ずしも判別ルール生成装置１０において生成されたクラス分類器でなくてもよい。例えば、他の装置における機械学習によって生成されたクラス分類器を入力して用いることとしてもよい。また、スコア算出部１２においてスコアの算出に用いるクラス分類器は、入力情報を入力してクラス毎のスコアが算出できるものであればよく、必ずしも機械学習によって生成されたものでなくてもよい。
【００４０】
スコア入力部１３は、クラス分類器によって出力された、入力情報についての複数のクラスに対するスコアに応じたスコア情報である第二の特徴量を入力するスコア入力手段である。具体的には、以下のようにスコア情報を入力（取得）する。第二の特徴量は、判別ルールの生成に用いられる。即ち、第二の特徴量は、判別ルール生成部１５による機械学習のための正解データ（サンプルデータ）の一部である。
【００４１】
スコア入力部１３は、スコア算出部１２からスコアを入力する。スコア入力部１３は、スコア算出部１２から入力されたスコア自体を第二の特徴量としてもよい。あるいは、スコア入力部１３は、スコア算出部１２から入力されたスコアに基づいて以下のように第二の特徴量を生成してもよい。例えば、スコア入力部１３は、入力されたスコアをクラスに対応付かないスコアとし、それを第二の特徴量とする。即ち、スコア入力部１３は、図４に示すように一つの入力情報（即ち、一つの発話毎に）毎にスコア列をスコアの大きい順にソートして、第二の特徴量を生成する。この第二の特徴量は、スコア列の分布の特徴を表しているもの（スコア列特徴量）である。
【００４２】
また、図５に示すように上記のクラスに対応付かないスコアに加えて、隣り合う順位のスコア間の差分を第二の特徴量としてもよい。これは、絶対値そのものよりも、他の順位との差が重要となる場合が考えられるためである。なお、隣り合う順位のスコア間の差分のみを第二の特徴量としてもよい。
【００４３】
また、図６に示すように、上記のようにソートされたスコアのうち、予め設定され、スコア入力部１３に記憶されている数のスコア順のスコアを第二の特徴量としてもよい。例えば、スコアが大きい順に予め設定されている数のスコアを第二の特徴量とする。例えば、図６に示す例では、スコアは１０個（即ち、クラスが１０個）あるが、そのうちのスコアが大きい５個のみを第二の特徴量とする。即ち、上位Ｎ位のみの（Ｎは予め設定された自然数。例えば、上位５位までの）スコアを第二の特徴量としてもよい。これは、下位順位の結果は、逆に判別ルールの精度の悪化や判別ルールの生成のコスト（計算の手間）の増加を招く場合があることが考えられるためである。
【００４４】
なお、上述したように第二の特徴量として、クラスが対応付いたスコアを用いることとしてもよい。また、第二の特徴量は、スコア算出部１２から入力されたスコアに基づいて、スコア入力部１３が生成することとしているが必ずしもスコア入力部１３が生成する必要はない。例えば、スコア算出部１２が、算出したスコアに基づいて、上記の方法により第二の特徴量を生成してスコア入力部１３に入力することとしてもよい。また、スコア、あるいは第二の特徴量は、必ずしも判別ルール生成装置１０において生成される必要はなく、判別ルール生成装置１０に接続された他の装置からスコア入力部１３に入力されたり、あるいは、判別ルール生成装置１０の利用者の入力操作を受け付けること等によって入力されたりしてもよい。
【００４５】
また、判別ルールの精度を向上させるために（汎用性がある最適な判別ルールを生成するために）、スコア入力部１３に入力される第二の特徴量としてクラス分類器の生成に用いた情報以外の情報（テストデータ）を用いたり、あるいは、交差検定を行ったりして、精度を検証することが必要である。
【００４６】
スコア入力部１３は、入力した第二の特徴量を示す情報を判別ルール生成部１５に出力する。
【００４７】
正解入力部１４は、上記の入力情報が上記のクラスのうち所定のクラスに分類されるものであるか否かを示す正解情報を入力する正解入力手段である。正解情報は、上記の判別ルールの生成に用いられる。即ち、正解情報は、判別ルール生成部１５による機械学習のための学習データ（正例（正解）、負例（誤り）かを区別するための情報）の一部で、目的変数に相当する。
【００４８】
正解入力部１４は、正解情報を、第二の特徴量（即ち、第二の特徴量の元となった入力情報）に対応するものとして入力する。例えば、第二の特徴量と正解情報とに同一のＩＤを付与し、対応するものと把握できるようにしておく。図７に示す例では、同じ行の第二の特徴量と正解情報（正解（１）か否（０）か）とが対応付いている。
【００４９】
この正解情報は、クラス分類器によるスコアを用いたクラス分類が正しかったか否かに基づくものであってもよい。例えば、スコア算出部１２によって算出されたスコア（あるいは、第二の特徴量に元となったスコア）によって分類されるクラスが、当該スコアの元となったスコアに係る入力情報が分類されるべきクラス（上述した正解クラス）であるか否かを示す情報を正解情報としてもよい。例えば、スコア算出部１２によって算出されたスコアのうち最もスコアが高いクラスに入力情報を分類するとする場合（トップ−１判定）には、最もスコアが高いクラスと正解クラスとが一致しているか否かを示す情報を正解情報としてもよい。例えば、図７に示すように最もスコアが高いクラスと正解クラスとが一致していれば正解情報を１とし、最もスコアが高いクラスと正解クラスとが一致していなければ正解情報を０とする。
【００５０】
また、スコア算出部１２によって算出されたスコアのうちスコアの上位Ｎのクラスに入力情報を分類するとする場合（トップ−Ｎ判定）には、正解クラスがＮ位以内のスコアであるか否かを示す情報を正解情報としてもよい。例えば、図７に示すように正解クラスがＮ位以内のスコアであれば正解情報を１とし、正解クラスがＮ位以内のスコアでなければ正解情報を０とする。具体的には、図８（ａ）に示すようにスコアが上位Ｎ位までのクラスのうち（図８に示す例ではクラスｄ１〜ｄ５）正解クラスが含まれていれば正解（１）、図８（ｂ）に示すように含まれていなければ誤り（０）であるとする。
【００５１】
正解入力部１４は、判別ルール生成装置１０の利用者の入力操作を受け付けること等によって入力される。また、上記の正解データは、第二の特徴量の元となった入力情報がクラス分類器生成部１１に入力されたものである場合には、クラス分類器生成部１１に入力された正解クラスを示す情報と、上記のクラス分類の方法（例えば、トップ−１判定であるか、トップ−Ｎ判定であるか）とに基づいて算出（特定）することができるものである。従って、正解入力部１４は、予め上記のクラス分類の方法を記憶しておき、クラス分類器生成部１１から正解クラスを示す情報して正解データを特定することとしてもよい。
【００５２】
なお、正解データは、クラス分類器によるスコアを用いたクラス分類に係るものでなくてもよい。例えば、正解入力部１４は、上記の入力情報が上記のクラスのうち何れかのクラスに分類されるものであるか否かを示す情報（例えば、入力情報が何れかのクラスに分類されるものであれば１、入力情報が何れかのクラスに分類されないものであれば０）を正解情報として入力することとしてもよい。  例えば、図８（ａ）に示すようなスコアの集合であれば、入力情報が何れかのクラス（上位Ｎ位までのクラスでもよいし、全てのクラスでもよい）に分類されるものとして正解（１）とし、図８（ｂ）に示すようなスコアの集合であれば、入力情報が何れのクラス（上位Ｎ位までのクラスでもよいし、全てのクラスでもよい）に分類されないものとして誤り（０）とすることとしてもよい。このときの、スコアの集合は、全てのクラスのスコアを用いる必要はなくスコアが上位Ｎ位までのクラスのものを用いてもよい。また、スコアはクラスに対応付いたものを用いてもよく、スコアに対応付いていないものを用いてもよい。
【００５３】
なお、上記の例では、何れも正解情報は１／０の２値データであるが、正解情報は２値データにならなくてもよい。正解入力部１４は、入力した正解情報を判別ルール生成部１５に出力する。
【００５４】
判別ルール生成部１５は、スコア入力部１３から入力された第二の特徴量（スコア情報）、及び正解入力部１４から入力された正解情報に基づき、機械学習によって入力情報がクラスのうち所定のクラスに分類されるものであるか否かを判別するための判別ルール（第二の学習モデル、クラス分類学習器２）を生成する判別ルール生成手段である。第二の特徴量及び正解情報は、上記の機械学習のための正解データ（サンプルデータ）である。なお、上記のように第二の特徴量と正解情報とは、対応付いた情報である。
【００５５】
判別ルール生成部１５は、上記のように入力した第二の特徴量及び正解情報を用いて、機械学習によって判別ルールを生成する。第二の特徴量が機械学習における説明変数に、正解情報が機械学習における目的変数にそれぞれ対応する。ここで生成される判別ルールは、第二の特徴量を入力して、入力した第二の特徴量の元となった入力情報がクラス分類器によって正しくクラス分類されているかを判別するためのものである。なお、判別ルールの判別対象となる第二の特徴量は、機械学習により判別ルールを生成するために用いた第二の特徴量とは別のものであることが望ましい。
【００５６】
正しくクラス分類されているとは、例えば、トップ−１判定の場合、クラス分類器によって算出されたスコアが最も高いクラスが正解クラスである（クラス分類器によって分類されるクラスが正解クラスと一致している）ことをいう。あるいは、トップ−Ｎ判定の場合、クラス分類器によって算出されたスコアの上位Ｎ位のクラスに正解クラスが含まれることをいう。また、入力情報が何れかのクラスに分類されるべきものであれば、クラス分類器によるスコアが何れかのクラスに分類されるべきものである（この場合、スコアに基づいて入力情報が何れかのクラスに分類されるか否かが判断される）ことを、正しくクラス分類されているとしてもよい。
【００５７】
判別ルールは、第二の特徴量を入力として、第二の特徴量の元となった入力情報がクラス分類器によって正しくクラス分類されているかの度合いを示す情報（例えば、その度合いを示す数値、スコア、帰属確率）を出力する。判別は、当該度合いが特定の閾値θより大きいか否かを判断することでおこなうことができる。あるいは、判別ルールは、正しくクラス分類されているかの判別結果を出力するものであってもよい。
【００５８】
正解情報が上述した例のように正解か否かを示す２値データであるものとすれば、２クラス分類となる。上記の機械学習は、従来の方法によって行うことができる。２クラス分類の場合、２値分類器を用いることができ、例えば、ＳＶＭ、Ａｄａｂｏｏｓｔ、ロジスティック回帰によって行うことができる。判別ルール生成部１５は、生成した判別ルールを示す情報を出力部１６に出力する。
【００５９】
なお、判別ルール生成部１５は、クラスに関わらない判別ルール（任意のクラスに分類される場合に利用可能な判別ルール）を生成してもよいし、クラス毎に判別ルールを生成することとしてもよい。クラスに関わらない判別ルールを生成する場合には、例えば、クラスに対応付かない第二の特徴量を用いて判別ルールを生成する。これは、スコアのみによってクラス判断を行いえることが可能だからである。この場合は、判別ルールは１つだけでよく、スコアにクラスが対応付いていないため用いる情報の量も少なくてよく比較的簡易に実行可能である。
【００６０】
クラス毎に判別ルールを生成する場合は、例えば、判別ルール生成部１５は、正解クラス毎に上記の処理を行うこととすればよい。なお、この場合も上記と同様にクラスに対応付かない第二の特徴量を用いて判別ルールを生成してもよい。あるいは、この場合はクラスに対応付いた第二の特徴量を用いて判別ルールを生成してもよい。クラスに対応付いた特徴量を用いることによって、判別を行うための情報が増えるため、より精度の高い判別が可能となりえる。なお、上記のクラスに関わらない判別ルールを生成する場合であっても、クラスに対応付いた第二の特徴量を用いて判別ルールを生成することとしてもよい。
【００６１】
また、判別ルール生成部１５は、判別ルールによる判別結果に応じた重み付けを行って機械学習を行うこととしてもよい。この重み付けは機械学習のパラメータによって実現される。
【００６２】
単純に誤り判定（例えば、入力情報を正解クラス以外にクラスに分類すること）の棄却（判別ルールにより正しく分類されていないと判別すること）の再現率（Ｒｅｃａｌｌ）を高めれば、クラス分類の誤り判定は低減できる。しかしながら、単純に上記の再現率を高めると上記の低減は実現できるが、正解判定（例えば、入力情報を正解クラスに分類すること）も棄却してしまい、正解判定も低減してしまうという問題がある。例えば、図９に示すように、必ずしも判別ルールで実際に棄却すべきデータＡ１と判別ルールで棄却されるデータＡ２との一致を図ることができない。判別ルールで実際に棄却すべきデータＡ１のうち判別ルールで棄却されるデータＡ２と重複していない部分と、判別ルールで棄却されるデータＡ２のうち判別ルールで実際に棄却すべきデータＡ１と重複していない部分とは、どちらも小さくしたいがトレードオフの関係にある。
【００６３】
これに対して、機械学習における再現率と適合率（Ｐｒｅｃｉｓｉｏｎ）とのＦ値を利用することができる。また、このクラス分類器を用いるアプリケーション（例えば、カーナビゲーションシステムの音声による操作）特有の期待損失の尺度を利用して期待損出が（最も）小さくなるように機械学習の際に探索する。
【００６４】
図１０（ａ）に示すように判別ルールによる棄却判定は以下の４つに分類できる。正解判定の場合に受理（判別ルールにおいて正しく分類されていると判定すること）するＴｒｕｅ  Ｐｏｓｉｔｉｖｅ（ＴＰ）、正解判定の場合に棄却するＴｒｕｅ  Ｎｅｇａｔｉｖｅ（ＴＮ）、誤り判定の場合に受理するＦａｌｓｅ  Ｐｏｓｉｔｉｖｅ（ＦＰ）、誤り判定の場合に棄却するＦａｌｓｅ  Ｎｅｇａｔｉｖｅ（ＦＮ）である。これら４つの場合に対して、図１０（ｂ）のコスト行列に示すように機械学習の際のペナルティを設ける。ＴＰの場合を０とし、ＦＰの場合をβとし、ＴＮの場合をα１とし、ＦＮの場合をα２とする。これらの値が上記の重み付けである。
【００６５】
これらのペナルティが大きくなると、損出が大きいものと判断される。例えば、医療関係では、通常、β（例えば、誤って病気が判断された場合に受理される）は小さくされ、α１（正しく病気が判断された場合に棄却される）が大きくされる。
【００６６】
例えば、期待損出は以下の式により算出される。
期待損出＝β×Ｐ（ＦＰ）＋α１×Ｐ（ＴＮ）＋α２×Ｐ（ＦＮ）
ここで、Ｐ（ＦＰ）、Ｐ（ＴＮ）、Ｐ（ＦＮ）は、それぞれＦＰ、ＴＮ、ＦＮの発生確率である。機械学習の際、この値が小さくなるように判別ルールを生成する。
【００６７】
なお、上記のパラメータ（β，α１，α２）は、判別ルール生成装置１０の利用者の入力操作を受け付けること等によって予め判別ルール生成部１５に入力されて記憶される。クラス毎に判別ルールを生成する場合には、上記のパラメータはクラス毎に設定することとしてもよい。例えば、カーナビゲーションシステムのクラス分類に用いる場合、例えば、「ルート案内中止」の機能（タスク）の起動は誤って受理されることは望ましくない（せっかく入れたルートが消えるのを防ぎたい）ので図１１（ａ）に示すようにβが大きくされる。また、「ルート設定」の機能（タスク）の起動は正しく分類されているのに棄却されることは望ましくないので図１１（ｂ）に示すようにα１が大きくされる。
【００６８】
なお、上記のパラメータを用いた機械学習については、“正確な学習よりも得する学習：誤分類コストを考慮する分類学習”情報処理45(5)，500-505，2004-05-15に示された方法を用いることができる。
【００６９】
出力部１６は、判別ルール生成部１５から入力された判別ルールを示す情報を出力する出力手段である。この出力は、例えば、判別ルール生成装置１０に接続された別の装置、例えば、クラス分類器を用いたクラス分類、及びクラス分類に対する判別を実際に行う装置に出力される。この別の装置としては、例えば、上述したカーナビゲーションシステムや携帯電話機等である。なお、クラス分類器からの出力であるスコアから第二の特徴量を算出するための式等、クラス分類器を用いたクラス分類、及びクラス分類に対する判別を行うために必要な情報を合わせて出力することとしてもよい。以上が、判別ルール生成装置１０の機能構成である。
【００７０】
図１２に本実施形態に係る判別ルール生成装置１０を構成する装置のハードウェア構成を示す。図１２に示すように当該サーバ装置は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（RandomAccess Memory）１０２及びＲＯＭ（Read Only Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した判別ルール生成装置１０の機能が発揮される。以上が、本実施形態に係る判別ルール生成装置１０の構成である。
【００７１】
引き続いて、図１３のフローチャートを用いて、本実施形態に係る判別ルール生成装置１０で実行される処理である判別ルール生成方法を説明する。本処理では、まず、クラス分類器生成部１１によってクラス分類器が生成される（Ｓ０１、クラス分類器生成ステップ）。クラス分類器の生成は、上述したように入力情報である第一の特徴量（説明変数）、及び当該第一の特徴量が分類されるクラスを示す情報（目的変数）が入力されて、それが用いられて行われる。また、第一の特徴量は、音声データが入力されて入力された音声データに基づいて生成されたものであってもよい。生成されたクラス分類器を示す情報は、クラス分類器生成部１１から出力されスコア算出部１２に入力される。
【００７２】
続いて、スコア算出部１２によって、入力情報である第一の特徴量が入力されて、クラス分類器生成部１１から入力されたクラス分類器によって当該第一の特徴量についての複数のクラスに対するスコアが算出される（Ｓ０２、スコア算出ステップ）。
【００７３】
算出された各第一の特徴量に対応するスコアを示す情報は、スコア算出部１２から出力されスコア入力部１３に入力される（Ｓ０３、スコア入力ステップ）。続いて、スコア入力部１３によってスコア算出部１２から入力されたスコアから判別ルールを生成するための第二の特徴量が生成される。生成（入力）された第二の特徴量を示す情報は、スコア入力部１３から出力され判別ルール生成部１５に入力される。
【００７４】
一方で、正解入力部１４によって、上記の第二の特徴量に対応する正解情報が入力される（Ｓ０４、正解入力ステップ）。なお、正解情報は、クラス分類器の生成に用いられた第一の特徴量が分類されるクラスを示す情報に基づいて生成されてもよい。入力された正解情報は、正解入力部１４から出力され判別ルール生成部１５に入力される。
【００７５】
続いて、判別ルール生成部１５によって、入力された第二の特徴量及び正解情報に基づいて判別ルールが生成される（Ｓ０５、判別ルール生成ステップ）。生成された判別ルールを示す情報は、判別ルール生成部１５から出力され出力部１６に入力される。続いて、出力部１６によって判別ルールを示す情報が出力される（Ｓ０６、出力ステップ）。以上が、本実施形態に係る判別ルール生成装置１０で実行される処理である判別ルール生成方法である。
【００７６】
引き続いて、図１４のフローチャートを用いて、判別ルールが用いられる判別処理について説明する。この判別処理は、入力情報に対するクラス分類器によるクラス分類に対して行われ、例えば、ユーザの音声に応じた機能の起動を行うカーナビゲーションシステム等の装置によって行われる。これらの処理を実行する当該装置には、予め判別ルール生成装置１０によって生成された判別ルールが記憶されている。また、当該判別ルールに対応するクラス分類器、及び第二の特徴量を算出するための式等、本処理を行うために必要な情報が予め記憶されている。当該装置に記憶される判別ルール以外の情報は、必ずしも判別ルール生成装置１０から出力された情報でなくてもよいが、判別ルール生成装置１０において判別ルールの生成に用いられた情報であってもよい。
【００７７】
当該装置では、まず、第一の特徴量が入力される（Ｓ１１）。なお、第一の特徴量は、音声データが入力されて入力された音声データに基づいて生成されたものであってもよい。続いて、スコア分類器によって、第一の特徴量についての複数のクラスに対するスコアが算出される（Ｓ１２）。続いて、算出されたスコアから第二の特徴量が生成される（Ｓ１３）。
【００７８】
続いて、判別ルールが用いられて、第二の特徴量から、第二の特徴量の元となった入力情報がクラス分類器によって正しくクラス分類されているかが判別される（判別内容を示す情報が出力される）（Ｓ１４）。例えば、トップ−１判定の場合、スコアが最も高いクラスに入力情報が分類されるべきものか否かが判別される。あるいは、トップ−Ｎ判定の場合、スコアがＮ位までのクラスの何れかに入力情報が分類されるべきものか否かが判別される。
【００７９】
なお、判別ルールがクラス毎にある場合には、クラス分類器によって分類されたクラスの判別ルールが用いられる。例えば、トップ−１判定の場合、スコアが最も高いクラスの判別ルールが用いられる。あるいは、トップ−Ｎ判定の場合、スコアがＮ位までのクラスの判別ルールが用いられる。この場合、何れかの判別ルールによって正しくクラス分類されていると判別されれば、クラス分類器によって正しくクラス分類されていると判別されることとすればよい。
【００８０】
続いて、判別結果が出力される（Ｓ１５）。具体的には例えば、判別結果が正しくクラス分類されていることを示すものであった場合（判別結果が受理を示すものであった場合）には、クラスに対応する機能を当該装置で実行したり、実行する機能の候補として当該装置のユーザに提示したりする処理が行われる。また、判別結果が正しくクラス分類されていないことを示すものであった場合（判別結果が棄却を示すものであった場合）には、上記の処理は行われない。
【００８１】
また、棄却判定後の処理を判断するために更に判別ルールから得られたスコアが、例えば別のモジュール等に出力されることとしてもよい。棄却された場合であっても、スコアに応じて以下のように処理を変えることとしてもよい。例えば、スコアと判別のための閾値との差が一定値より大きい場合には、強く棄却されているので何もしない。また、当該差が一定値より小さい場合には弱く棄却されているので、予め設定された処理を行う。このような処理としては、手入力を伴わす再度ユーザの入力を求めたり（音声ガイダンス＋再音声入力（入力モード終了を含む））、音声データから得られた文章を用いてＷｅｂ検索を行って結果を返したりする処理がある。以上が、判別ルールが用いられる判別処理である。
【００８２】
上述したように本実施形態では、スコア情報及び正解情報に基づき、機械学習によって上記の判別ルールが生成される。このように機械学習によって生成された判別ルールによれば、従来から提案されている、単純に閾値を用いる方法と比べて高精度に判別が可能である。従って、本実施形態によれば、入力情報がクラス分類器に入力されて得られたクラスに対するスコアに基づいて、当該情報が所定のクラスに分類されるべきものか否かを高精度に判別することができる。
【００８３】
また、本実施形態のように第２の特徴量としてクラスに対応付かないスコアを用いることとしてもよい。この構成によれば、クラスに対応付かない汎用的な判別ルールを生成することができ、より汎用的な判別が可能となる。また、判別ルール生成のコストを減少させる（例えば、判別ルールの生成の処理負荷の軽減等）ことができる。但し、より精度の高い判別を行いたい場合にはクラスに対応付いたスコアが用いられてもよい。
【００８４】
また、第２の特徴量として、上述したトップ−Ｎ判定のように設定された数のスコア順のスコアを用いることとしてもよい。この構成によれば、予め設定された数のスコアを用いることで判別の精度を向上させることができる。また、判別ルール生成のコストを減少させることができる。
【００８５】
また、判別ルールはクラス毎に生成することとしてもよい。この構成によれば、クラス毎により適切に判別を行うことができる。
【００８６】
また、判別ルールの生成の際、期待損失を考慮した重み付けを行うこととしてもよい。この構成によれば、入力情報がクラスに分類されること、あるいはされないことの期待損失に応じて適切に判別することができる。
【００８７】
また、本実施形態の例のように入力情報はユーザの発話に基づくこととしてもよい。この構成によれば、例えば、発話に基づいて機器の機能を起動する場合に高精度に判別を行うことができる。
【００８８】
また、判別ルールの生成の前段階として、クラス分類器の生成やスコアの算出を行うこととしてもよい。この構成によれば、クラス分類器を合わせて生成することができる。但し、クラス分類器の生成やスコアの算出は別の装置で行われてもよい。
【符号の説明】
【００８９】
１０…判別ルール生成装置、１１…クラス分類器生成部、１２…スコア算出部、１３…スコア入力部、１４…正解入力部、１５…判別ルール生成部、１６…出力部、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置。
【図１】
2014102555.tif 000003
【図２】
2014102555.tif 000004
【図３】
2014102555.tif 000005
【図４】
2014102555.tif 000006
【図５】
2014102555.tif 000007
【図６】
2014102555.tif 000008
【図７】
2014102555.tif 000009
【図８】
2014102555.tif 000010
【図９】
2014102555.tif 000011
【図１０】
2014102555.tif 000012
【図１１】
2014102555.tif 000013
【図１２】
2014102555.tif 000014
【図１３】
2014102555.tif 000015
【図１４】
2014102555.tif 000016