(57)【要約】【課題】特定の会話状況を検出するためのキーワード設定を行わないで、特定の会話状況を検出すること。【解決手段】学習装置１００は、音声情報に対する音素の認識結果を基にして、音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成する。学習装置１００は、音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、音素列情報に対応する音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、ネットワークのパラメータを学習する。【選択図】図２
2020106657.tif 000002
【特許請求の範囲】
【請求項１】
音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成する生成部と、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する学習処理部と
を有することを特徴とする学習装置。
【請求項２】
前記ネットワークは、再帰パスを持つ第１ネットワークと、再帰パスを持たない第２ネットワークとを有し、前記学習処理部は、前記第１ネットワークに前記音素列情報を入力して、内部ベクトルを算出する第１計算部と、前記第２ネットワークに前記内部ベクトルを入力して、前記出力情報を算出する第２計算部と、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータおよび前記第２ネットワークのパラメータを学習する学習部とを有することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記第１ネットワークは、ＬＳＴＭ（Long  Short  Term  Memory）であることを特徴とする請求項２に記載の学習装置。
【請求項４】
前記第１ネットワークから出力される複数の内部ベクトルの統計情報を算出する第３計算部を更に有し、前記第２計算部は、前記第２ネットワークに前記統計情報を入力することで、前記出力情報を算出することを特徴とする請求項２または３に記載の学習装置。
【請求項５】
前記第３計算部は、時間方向の重みパラメータを基にして、前記統計情報を算出し、前記学習部は、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータと、前記第２ネットワークのパラメータと、前記重みパラメータを学習することを特徴とする請求項４に記載の学習装置。
【請求項６】
前記第３計算部は、前記第１ネットワークから出力される複数の内部ベクトルの平均ベクトルを算出し、前記第２計算部は、前記第２ネットワークに前記平均ベクトルを入力することで、出力情報を算出することを特徴とする請求項４に記載の学習装置。
【請求項７】
前記音声情報を基にしてストレス評価値または会話時間の少なくとも一方を含む特徴量を抽出する抽出部と、前記内部ベクトルと前記特徴量のベクトルとを連結した連結ベクトルを生成する連結部とを更に有し、前記第２計算部は、再帰パスを持たない第３ネットワークに前記連結ベクトルを入力して、出力情報を算出することを特徴とする請求項２〜６のいずれか一つに記載の学習装置。
【請求項８】
前記学習処理部によって学習された前記パラメータを前記ネットワークに設定し、音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、生成した前記音素列情報を前記ネットワークに入力することで、前記音声情報に所定の会話状況が含まれているか否かを判定する判定部を更に有することを特徴とする請求項１〜７のいずれか一つに記載の学習装置。
【請求項９】
コンピュータが実行する学習方法であって、
音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項１０】
コンピュータに、
音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置等に関する。
【背景技術】
【０００２】
近年、コールセンターでは、オペレータと顧客との会話を録音し、録音した会話の情報を蓄積している。コールセンターには、蓄積された会話の情報を活用して、サービスを向上させたいというニーズがある。
【０００３】
たとえば、蓄積された会話の情報を活用する技術として、次の様なものがある。顧客とオペレータとの会話に含まれる所定のキーワードの数を判定し、判定したキーワードの数に応じて、ＦＡＱ（Frequently  Asked  Questions）を表示したり、スーパーバイザへ通知したりする従来技術がある。また、オペレータの音声を文字列に変換し、文字列に伝達対象のキーワードが含まれているか否かをチェックすることで、オペレータが顧客に伝達内容を適切に伝えているかを判定する従来技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−５６６８５号公報
【特許文献２】特開２００８−１２３４４７号公報
【特許文献３】特開２００７−２１９２８６号公報
【特許文献４】特開２０１５−９９３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コールセンターでは、オペレータと顧客との会話において、予め指定した特定の会話状況が存在するか否かを検出したいというニーズがある。ここで、上記の従来技術を利用して、特定の会話状況が存在するか否かを検出する場合、検出したい会話状況に応じて、網羅的にキーワード設定を行い、設定したキーワードが、会話の情報に含まれているか否かを判定する処理を行うことが考えられる。
【０００６】
しかしながら、特定の会話状況を検出するために、どれだけの数のキーワードを網羅すればよいかを事前に把握することは難しい。また、同じ意味の会話でも様々な言い回しがあるため、人手によってキーワードを網羅的に設定することは難しい。
【０００７】
１つの側面では、本発明は、特定の会話状況を検出するためのキーワード設定を行わないで、特定の会話状況を検出することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、学習装置は、生成部と、学習処理部とを有する。生成部は、音声情報に対する音素の認識結果を基にして、音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成する。学習処理部は、音素列情報を、ネットワークに入力した際にネットワークから出力される出力情報が、音素列情報に対応する音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、ネットワークのパラメータを学習する。
【発明の効果】
【０００９】
特定の会話状況を検出するためのキーワード設定を行わないで、特定の会話状況を検出することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、参考技術の一例を説明するための図である。
【図２】図２は、本実施例１に係る学習装置および判定装置の処理の一例を説明するための図である。
【図３】図３は、本実施例１に係るシステムの一例を示す図である。
【図４】図４は、本実施例１に係る学習装置の構成を示す機能ブロック図である。
【図５】図５は、本実施例１に係る生成部を説明するための図である。
【図６】図６は、本実施例１に係る音素ベクトル化部の処理を説明するための図である。
【図７】図７は、本実施例１に係るＬＳＴＭの一例を示す図である。
【図８】図８は、本実施例１に係るニューラルネットワークの一例を説明するための図である。
【図９】図９は、本実施例１に係る判定装置の構成を示す機能ブロック図である。
【図１０】図１０は、本実施例１に係る学習装置の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例１に係る判定装置の処理手順を示すフローチャートである。
【図１２】図１２は、異常な会話状況が含まれる音声データの内部ベクトルの一例を示す図である。
【図１３】図１３は、正常な会話の音声データの内部ベクトルの一例を示す図である。
【図１４】図１４は、本実施例２に係る学習装置および判定装置の処理の一例について説明するための図である。
【図１５】図１５は、本実施例２に係るシステムの一例を示す図である。
【図１６】図１６は、本実施例２に係る学習装置の構成を示す機能ブロック図である。
【図１７】図１７は、通常の会話の音声データから求められるピッチとパワーとの関係を示す図である。
【図１８】図１８は、異常な会話の音声データから求められるピッチとパワーとの関係を示す図である。
【図１９】図１９は、本実施例２に係る判定装置の構成を示す機能ブロック図である。
【図２０】図２０は、本実施例２に係る学習装置の処理手順を示すフローチャート（１）である。
【図２１】図２１は、本実施例２に係る学習装置の処理手順を示すフローチャート（２）である。
【図２２】図２２は、本実施例２に係る判定装置の処理手順を示すフローチャートである。
【図２３】図２３は、第１計算部および第２計算部の拡張例を説明するための図である。
【図２４】図２４は、第３計算部のその他の処理を説明するための図である。
【図２５】図２５は、本実施例にかかるその他のシステムの一例を示す図（１）である。
【図２６】図２６は、本実施例にかかるその他のシステムの一例を示す図（２）である。
【図２７】図２７は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２８】図２８は、本実施例に係る判定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する学習装置、学習方法および学習プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
本実施例１に係る学習装置の処理を行う前に、参考技術について説明する。この参考技術は、従来技術ではない。図１は、参考技術の一例を説明するための図である。図１に示すように、参考技術は、音声認識部５Ａと、ＮＮ（Neural  Network）計算部６Ａとを有する。
【００１３】
音声認識部５Ａは、音声データが入力されると、音響モデル５Ｂを基にして、音声データに含まれる文字列を抽出し、抽出した文字列が、キーワードリスト５Ｃに定義されたキーワードに対応するか否かを認識する。音声認識部５Ａは、認識結果を、ＮＮ計算部６Ａに出力する。
【００１４】
ＮＮ計算部６Ａは、学習済みのＮＮモデル６Ｃに基づくＮＮ（図示略）に、音声認識部５Ａの認識結果を入力することで、音声データに特定の会話状況が含まれているか否かの出力値を算出する。ここで、特定の会話状況を適切に検出するためには、特定の会話状況に関するキーワードを網羅的にキーワードリスト５Ｃに設定し、かかるキーワードリスト５Ｃを用いて、ＮＮモデル６Ｃを学習することになる。しかし、特定の会話状況を検出できるようにするために、どれだけの数のキーワードを網羅すればよいかを、事前に把握することは難しい。また、異なるコールセンターに導入する際も、その都度、キーワードリスト５Ｃをコールセンター固有のものに調整を行うことが望ましく、特定の会話状況を精度よく検出するためには、このキーワード設定および調整に多大な工数を要する。
【００１５】
続いて、本実施例１に係る学習装置および判定装置の処理の一例について説明する。図２は、本実施例１に係る学習装置および判定装置の処理の一例を説明するための図である。図２に示すように、学習装置１００は、学習用音声データベース１１０ａと、生成部１２０と、第１計算部１３０と、第３計算部１４０と、第２計算部１５０と、学習部１６０とを有する。第１計算部１３０、第３計算部１４０、第２計算部１５０、学習部１６０は、学習処理部に対応する。
【００１６】
学習用音声データベース１１０ａは、複数の学習用の音声データを格納し、各学習用の音声データは、正解情報１１０ｂにそれぞれ対応付けられる。正解情報１１０ｂは、音声データごとに付与された、特定の会話状況が含まれるか否かを示す情報である。本実施例１では一例として、特定の会話状況を、「異常な会話状況」とする。異常な会話状況とは、顧客が不満を感じたり、怒り出したり、脅迫したりするなど、「通常でない状況」を含むものである。
【００１７】
生成部１２０は、学習用音声データベース１１０ａから学習用の音声データを取得する。以下の学習装置１００の説明において、学習用音声データベースから取得された学習用の音声データを、単に「音声データ」と表記する。生成部１２０は、音声データに対して、音素認識を行い、最尤音素系列の情報を生成する。たとえば、最尤音素系列は、確率的にもっともらしい音素を時系列に並べたものである。生成部１２０は、各音素をOne  Hotベクトル化し、各音素のOne  Hotベクトルを、第１計算部１３０に出力する。
【００１８】
第１計算部１３０は、再帰パスを持つ第１ネットワークに、音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。たとえば、第１ネットワークは、ＬＳＴＭ（Long  Short  Term  Memory）に対応する。第１計算部１３０は、音声データに含まれる全音素のOne  Hotベクトルを第１ネットワークに入力し、入力して得られる各内部ベクトルを、第３計算部１４０に出力する。
【００１９】
第３計算部１４０は、第１計算部１３０から出力される複数の内部ベクトルを平均化する処理部である。第３計算部１４０は、平均化した内部ベクトルを、第２計算部１５０に出力する。以下の説明では、平均化した内部ベクトルを「平均ベクトル」を表記する。
【００２０】
第２計算部１５０は、再帰パスを持たない第２ネットワークに、平均ベクトルを入力し、第２ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部１５０は、出力値を、学習部１６０に出力する。
【００２１】
学習部１６０は、音声データを第１計算部１３０に入力した際に、第２計算部１５０から出力される出力値が、音声データに対応する正解情報１１０ｂに近づくように、第１計算部１３０のパラメータ、第２計算部１５０のパラメータを学習（誤差逆伝播法による学習）する。
【００２２】
学習部１６０は、学習停止条件を満たすまで、誤差逆伝播学習を繰り返し実行し、ＬＳＴＭモデル１１０ｃ、ＤＮＮ（Deep  Neural  Network）モデル１１０ｄを生成する。ＬＳＴＭモデル１１０ｃは、学習済みの第１ネットワークのパラメータに対応する情報である。ＤＮＮモデル１１０ｄは、学習済みの第２ネットワークのパラメータに対応する情報である。学習装置１００は、ＬＳＴＭモデル１１０ｃの情報およびＤＮＮモデル１１０ｄの情報を、判定装置２００に通知する。なお、学習部１６０は、ネットワークを介して、ＬＳＴＭモデル１１０ｃの情報およびＤＮＮモデル１１０ｄの情報を、判定装置２００に通知してもよいし、学習装置１００と、判定装置２００とを直接接続した上で、ＬＳＴＭモデル１１０ｃの情報およびＤＮＮモデル１１０ｄの情報を、判定装置２００に通知してもよい。
【００２３】
判定装置２００は、生成部２２０と、第１計算部２３０と、第３計算部２４０と、第２計算部２５０と、判定部２６０とを有する。
【００２４】
生成部２２０は、異常な会話状況であるか否かの検出対象となる音声データの入力を受け付ける。以下の判定装置２００の説明において、異常な会話状況であるか否かの検出対象となる音声データを、単に、音声データと表記する。生成部２２０は、音声データに対して、音素認識を行い、最尤音素系列の情報を生成する。生成部２２０は、各音素をOne  Hotベクトル化し、各音素のOne  Hotベクトルを、第１計算部２３０に出力する。
【００２５】
第１計算部２３０は、再帰パスを持つ第１ネットワークに、各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。第１計算部２３０は、第１ネットワークに設定するパラメータとして、ＬＳＴＭモデル１１０ｃのパラメータを用いる。第１計算部２３０は、音声データに含まれる全音素のOne  Hotベクトルを第１ネットワークに入力し、入力して得られる各内部ベクトルを、第３計算部２４０に出力する。
【００２６】
第３計算部２４０は、第１計算部１３０から出力される複数の内部ベクトルを平均化する処理部である。第３計算部１４０は、平均化した内部ベクトル（平均ベクトル）を、第２計算部２５０に出力する。
【００２７】
第２計算部２５０は、再帰パスを持たない第２ネットワークに、平均ベクトルを入力し、第２ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部２５０は、第２ネットワークに設定するパラメータとして、ＤＮＮモデル１１０ｄのパラメータを用いる。第２計算部２５０は、出力値を、判定部２６０に出力する。
【００２８】
判定部２６０は、第２計算部２５０から出力される出力値と、閾値とを比較して、音声データに、異常な会話状況が含まれているか否かを判定する処理部である。たとえば、判定部２６０は、出力値が閾値以上である場合に、音声データに異常な会話状況が含まれていると判定する。
【００２９】
上記のように、本実施例１に係る学習装置１００は、学習用の音声データから抽出した音素系列と、正解情報との組を用いて、ＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを機械学習する。このため、特定の会話状況を検出するためのキーワードを設定するための試行錯誤、熟練の知識、ノウハウを用いることなく、ＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを機械学習することができる。また、判定装置２００が、学習済みのＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを用いて、音声データに対する処理を行うことで、特定の会話状況が音声データに含まれているか否かを適切に判定することができる。
【００３０】
たとえば、実際のコールセンターで収録された顧客とオペレータとの会話音声（音声データ）を用いて、図１で説明した参考技術と、図２で説明した本願発明とを評価した。その結果、参考技術と比較して、本願発明は、事前のキーワード設定を不要にするだけではなく、特定の会話状況の検出率、誤検出率とも約２倍程度改善された。機械学習により検出に有効な音素系列を網羅的にモデル化できたことにより、キーワード選択作業を不要にするだけではなく、最適な検出モデルを得ることができる。
【００３１】
次に、本実施例１に係るシステムの一例について説明する。図３は、本実施例１に係るシステムの一例を示す図である。図３に示すように、このシステムは、顧客端末１０と、オペレータ端末１５と、通話録音装置３０と、管理者端末４０と、学習装置１００と、判定装置２００とを有する。
【００３２】
顧客端末１０と、オペレータ端末１５とは、ＩＰ（Internet  Protocol）網等のネットワーク１を介して相互に接続される。また、オペレータ端末１５、通話録音装置３０、管理者端末４０、学習装置１００、判定装置２００も所定のネットワークにより、相互に接続される。
【００３３】
顧客端末１０は、顧客がオペレータと会話（通話）するために利用する端末装置である。オペレータ端末１５は、オペレータが顧客と会話するために利用する端末装置である。
【００３４】
通話録音装置３０は、顧客端末１０と、オペレータ端末１５との間で送受信される会話の音声を録音する装置である。学習時において、通話録音装置３０が録音した音声データは、学習装置１００に通知され、学習用の音声データとして用いられる。異常会話の検出時において、通話録音装置３０が録音した音声データは、判定装置２００に通知され、音声データに異常な会話状況が含まれるか否かが判定される。
【００３５】
管理者端末４０は、オペレータ端末１５を用いて、顧客と会話するオペレータを管理する管理者が利用する端末装置である。たとえば、判定装置２００が、顧客とオペレータとの会話に、異常な会話状況が含まれると判定した場合に、判定装置により、異常な会話状況を検出した旨の情報が、管理者端末４０に通知される。
【００３６】
学習装置１００は、学習用の音声データと正解情報とを用いて、ＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを学習する装置である。学習装置１００は、学習したＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄの情報を、判定装置２００に通知する。
【００３７】
判定装置２００は、学習装置１００から通知されるＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを用いて、顧客端末１０と、オペレータ端末１５との会話に、異常な会話状況が含まれるか否かを判定する装置である。判定装置２００は、顧客とオペレータとの会話に、異常な会話状況が含まれると判定した場合、異常な会話状況を検出した旨の情報を、管理者端末４０に通知する。
【００３８】
次に、図３に示した学習装置１００の構成の一例について説明する。図４は、本実施例１に係る学習装置の構成を示す機能ブロック図である。図４に示すように、この学習装置１００は、通信部１０１、入力部１０２、表示部１０３、記憶部１０４、制御部１０５を有する。
【００３９】
通信部１０１は、通話録音装置３０、判定装置２００とデータ通信を実行する処理部である。後述する制御部１０５は、通信部１０１を介して、通話録音装置３０、判定装置２００とデータをやり取りする。通信部１０１は、通信装置の一例である。
【００４０】
入力部１０２は、学習装置１００に各種の情報を入力するための入力装置である。入力部１０２は、キーボードやマウス、タッチパネル等に対応する。
【００４１】
表示部１０３は、制御部１０５から出力される情報を表示する装置である。表示部１０３は、液晶ディスプレイやタッチパネル等に対応する。
【００４２】
記憶部１０４は、学習用音声データベース１１０ａ、正解情報１１０ｂ、ＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを有する。記憶部１０４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００４３】
学習用音声データベース１１０ａは、学習用の複数の音声データを格納するデータベースである。学習用音声データベース１１０ａに格納される各音声データは、顧客とオペレータとの会話の音声データである。
【００４４】
正解情報１１０ｂは、学習用音声データベース１１０ａに格納された各音声データに対して付与された、異常な会話状況が含まれるか否かを示す情報である。
【００４５】
ＬＳＴＭモデル１１０ｃは、第１ネットワーク（ＬＳＴＭ）のパラメータに対応する情報である。ＤＮＮモデル１１０ｄは、第２ネットワーク（ＤＮＮ）のパラメータに対応する情報である。ＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄは、学習部１６０により、機械学習される。
【００４６】
制御部１０５は、取得部１０５ａ、通知部１０５ｂ、生成部１２０、第１計算部１３０、第３計算部１４０、第２計算部１５０、学習部１６０を有する。制御部１０５は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１０５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００４７】
取得部１０５ａは、通話録音装置３０から、学習用音声データベース１１０ａの情報を取得する処理部である。取得部１０５ａは、学習用音声データベース１１０ａの情報を、記憶部１０４に格納する。また、取得部１０５ａは、正解情報１１０ｂを取得した場合には、取得した正解情報１１０ｂを、記憶部１０４に格納する。正解情報１１０ｂは、学習用音声データベース１１０ａの各音声データに予め対応付けられていてもよい。
【００４８】
通知部１０５ｂは、学習済みのＬＳＴＭモデル１１０ｃおよび学習済みのＤＮＮモデル１１０ｄを、判定装置２００に通知する処理部である。
【００４９】
生成部１２０は、学習用音声データベース１１０ａから学習用の音声データを取得し、音声データを基にして、最尤音素系列の情報を生成する処理部である。図５は、本実施例１に係る生成部を説明するための図である。図５に示すように、この生成部１２０は、音響処理部１２１と、音響モデル１２２と、照合部１２３と、音素ベクトル化部１２４とを有する。
【００５０】
音響処理部１２１は、音声データから音声認識に用いる情報を抽出する処理部である。音声データから抽出される情報は、特徴量と呼ばれる。音響処理部１２１は、音声データに、３２ｍｓ程度のフレームと呼ばれる短区間を設定し、１０ｍｓ程度シフトさせながら特徴量を抽出する。たとえば、音響処理部１２１は、ＭＦＣＣ（Mel-Frequency  Cepstrum  Coefficients）を基にして、音声データから特徴量を抽出する。音響処理部１２１は、特徴量を、照合部１２３に出力する。
【００５１】
音響モデル１２２は、音声データから抽出された特徴量の各音素らしさを求めるためのモデルである。この音響モデル１２２は、音声波形に音素の正解ラベルが付けられた大量の学習用音声データを基に予め学習される。
【００５２】
照合部１２３は、音響モデル１２２に特徴量を入力し、音響モデル１２２から出力される各音素らしさを基にして、特徴量に対応する音素を照合する処理を、音響処理部１２１から特徴量を受け付ける度に、実行する処理部である。照合部１２３は、各特徴量に対応する音素を時系列に並べた最尤音素系列の情報を、音素ベクトル化部１２４に出力する。
【００５３】
音素ベクトル化部１２４は、最尤音素系列に含まれる各音素をベクトルに変換する処理部である。音素ベクトル化部は、最尤音素系列の各音素に対応する各ベクトルを、第１計算部１３０に出力する。たとえば、音素ベクトル化部１２４は、各音素を、４０次元のOne  Hotベクトルで表す。入力された音素のOne  Hotベクトルは、入力された音素の次元に「１」が設定され、他の次元に「０」が設定される。
【００５４】
図６は、本実施例１に係る音素ベクトル化部の処理を説明するための図である。たとえば、音素ベクトル化部１２４は、音素「／ｉ／」、「／Ｎ／」、・・・、「／ｅ／」が順に入力された場合には、One  Hotベクトルｖ１、ｖ２、・・・、ｖｍを生成する。One  Hotベクトルｖ１は、音素「／ｉ／」に対応する次元に「１」が設定され、他の次元には「０」が設定される。One  Hotベクトルｖ２は、音素「／Ｎ／」に対応する次元に「１」が設定され、他の次元には「０」が設定される。One  Hotベクトルｖｍは、音素「／ｅ／」に対応する次元に「１」が設定され、他の次元には「０」が設定される。
【００５５】
図４の説明に戻る。第１計算部１３０は、再帰パスをもつ第１ネットワークに、各音素の各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。
【００５６】
第１計算部１３０は、第１ネットワークとしてＬＳＴＭを用いる。図７は、本実施例１に係るＬＳＴＭの一例を示す図である。ＬＳＴＭ１３５は、１個につき、重み行列とバイアスとの組を３組もつ（１層のフォードフォワード型ニューラルネットワークが３つ接続されたものに対応する）。かかる重み行列の値と、バイアスの値が、ＬＳＴＭ１３５の学習対象のパラメータとなる。
【００５７】
ＬＳＴＭ１３５は、σ１，σ２，σ３と、スイッチ２ａ，２ｂ，２ｃと、加算部２ｄと、ｔａｎｈ１と、ｔａｎｈ２とを有する。σ１〜σ３は、入力されたベクトルと、重み行列とを乗算することで、アフィン変換を行い、アフィン変換したベクトルを出力する処理部である。スイッチ２ａ〜２ｃは、入力されたベクトルの各次元の値に応じて、ゲートを通過するベクトルの次元毎にＯＮ／ＯＦＦを制御する処理部である。たとえば、スイッチ２ａ〜２ｃは、シグモイド関数等を基にして、ＯＮ／ＯＦＦを制御する。加算部２ｄは、２方向から入力されたベクトルを次元毎に加算した値を出力する処理部である。ｔａｎｈ１、ｔａｎｈ２は、入力されたベクトルに対して、ｔａｎｈ関数に基づく計算を行い、計算結果を出力する処理部である。
【００５８】
図７において、「Ｘｔ」は、時刻ｔの音素のOne  Hotベクトルを示す。便宜上、時刻ｔ-１において、音素のOne  Hotベクトル「Ｘｔ-１」を入力した時点のＬＳＴＭ１３５をＬＳＴＭ１３５ｔ-１と表記する。時刻ｔにおいて、音素のOne  Hotベクトル「Ｘｔ」を入力した時点のＬＳＴＭ１３５をＬＳＴＭ１３５ｔと表記する。時刻ｔ＋１において、音素のOne  Hotベクトル「Ｘｔ＋１」を入力した時点のＬＳＴＭ１３５をＬＳＴＭ１３５ｔ＋１と表記する。
【００５９】
一例として、ＬＳＴＭ１３５ｔを用いて説明を行う。「Ｘｔ」が入力されると、ＬＳＴＭ１３５ｔ-１から入力されたｈｔ-１と、Ｘｔとを加算したベクトルが、σ１，σ２，σ３と、ｔａｎｈ１に入力される。ｈｔ-１は、時刻ｔ-１において、ＬＳＴＭ１３５に算出される内部ベクトルである。
【００６０】
スイッチ２ａは、σ１から出力されるベクトルを基にして、Ｓｔ-１が通過するゲートのＯＮ／ＯＦＦを制御する。スイッチ２ｂは、σ２から出力されるベクトルを基にして、ｔａｎｈ１から出力されるベクトルが通過するゲートのＯＮ／ＯＦＦを制御する。スイッチ２ｃは、σ３から出力されるベクトルを基にして、加算部２ｄから出力されるベクトルＳｔが通過するゲートのＯＮ／ＯＦＦを制御する。スイッチ２ｃから出力されるベクトルが、時刻ｔにおける内部ベクトルｈｔとなる。内部ベクトルｈｔは、ＬＳＴＭ１３５ｔ＋１に入力される。
【００６１】
加算部２ｄは、スイッチ２ａから出力されるベクトルと、スイッチ２ｂから出力されるベクトルとを加算したベクトルＳｔを算出する処理部である。ベクトルＳｔは、ＬＳＴＭ１３５ｔに入力されると共に、ｔａｎｈ２に入力される。
【００６２】
第１計算部１３０は、図７に説明したＬＳＴＭ１３５に、最尤音素系列に含まれる全音素のOne  Hotベクトルをそれぞれ順に入力することで、複数の内部ベクトルｈを算出する。第１計算部１３０は、複数の内部ベクトルｈを、第３計算部１４０に出力する。
【００６３】
第３計算部１４０は、第１計算部１３０から出力される複数の内部ベクトルｈを平均化する処理部である。第３計算部１４０は、平均化した内部ベクトル（平均ベクトル）を、第２計算部１５０に出力する。
【００６４】
第２計算部１５０は、再帰パスを持たない第２ネットワークに、平均ベクトルを入力し、第２ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。
【００６５】
たとえば、第２ネットワークは、フィードフォワード型のニューラルネットワークである。図８は、本実施例１に係るニューラルネットワークの一例を説明するための図である。図８に示すように、このニューラルネットワーク１５５は、入力層２０ａ、隠れ層２０ｂ、出力層２０ｃを持つ。入力層２０ａ、隠れ層２０ｂ、出力層２０ｃは、複数のノードがエッジで結ばれる構造となっている。隠れ層２０ｂ、出力層２０ｃは、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。かかるバイアス値、重みが、第２ネットワークの学習対象となるパラメータとなる。
【００６６】
入力層２０ａに含まれる各ノードに、平均ベクトルを入力すると、隠れ層２０ｂを通って、出力層２０ｃの各ノードから、会話が異常な会話状況である確率「Ｏｔ」と、会話が通常の会話状況である確率「Ｏｎ」とが出力される。たとえば、出力層２０ｃは、softmaxにより確率化され、「Ｏｔ」の出力値と「Ｏｎ」の出力値との和が「１．０」になる。
【００６７】
図４の説明に戻る。学習部１６０は、音声データから生成された各音素のOne  Hotベクトルを第１計算部１３０に入力した際に、第３計算部１４０を介して、第２計算部１５０から出力される出力値が、音声データに対応する正解情報１１０ｂに近づくように、第１計算部１３０のパラメータ、第２計算部１５０のパラメータを学習する処理部である。
【００６８】
たとえば、学習部１６０は、正解情報「異常な会話状態」に対応する音声データから生成される各音素のOne  Hotベクトルを第１計算部１３０に入力する場合、確率「Ｏｔ」が「１」に近づき、確率「Ｏｎ」が「０」に近づくように、パラメータを学習する。学習部１６０は、正解情報「正常な会話状態」に対応する音声データから生成される各音素のOne  Hotベクトルを第１計算部１３０に入力する場合、確率「Ｏｔ」が「０」に近づき、確率「Ｏｎ」が「１」に近づくように、パラメータを学習する。
【００６９】
学習部１６０は、Ｏｔから出力される値と正解の値との差分、および、Ｏｎから出力される値と正解の値との差分を含む損失関数として、たとえば、Cross  Entropyを用いる。学習部１６０は、損失関数の誤差を逆伝播することで、損失関数の値が最小値となるように、パラメータの学習を繰り返し実行する。学習部１６０は、学習停止条件を設定し、学習停止条件を満たす場合に、学習を終了する。たとえば、学習停止条件は、損失関数の値が閾値未満となる等の条件である。
【００７０】
学習部１６０は、ＬＳＴＭ１３５のパラメータの学習結果の情報を、ＬＳＴＭモデル１１０ｃとして、記憶部１０４に格納する。学習部１６０は、ニューラルネットワーク１５５のパラメータの学習結果の情報を、ＤＮＮモデル１１０ｄとして、記憶部１０４に格納する。
【００７１】
次に、図３に示した判定装置２００の構成の一例について説明する。図９は、本実施例１に係る判定装置の構成を示す機能ブロック図である。図９に示すように、判定装置２００は、通信部２０１、入力部２０２、表示部２０３、記憶部２０４、制御部２０５を有する。図示を省略するが、判定装置２００は、音声データを取得するためのマイクに接続されていてもよい。
【００７２】
通信部２０１は、通話録音装置３０、学習装置１００とデータ通信を実行する処理部である。後述する制御部２０５は、通信部２０１を介して、通話録音装置３０、学習装置１００とデータをやり取りする。通信部２０１は、通信装置の一例である。
【００７３】
入力部２０２は、判定装置２００に各種の情報を入力するための入力装置である。入力部２０２は、キーボードやマウス、タッチパネル等に対応する。
【００７４】
表示部２０３は、制御部２０５から出力される情報を表示する装置である。表示部２０３は、液晶ディスプレイやタッチパネル等に対応する。
【００７５】
記憶部２０４は、音声データ２０４ａ、ＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを有する。記憶部２０４は、ＲＡＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００７６】
音声データ２０４ａは、通話録音装置３０によって録音された顧客とオペレータとの会話の音声データであって、異常な会話状況の検出対象となる音声データである。
【００７７】
ＬＳＴＭモデル１１０ｃは、学習装置１００によって学習された、第１ネットワーク（ＬＳＴＭ１３５）のパラメータに対応する情報である。
【００７８】
ＤＮＮモデル１１０ｄは、学習装置１００によって学習された、第２ネットワーク（ニューラルネットワーク１５５）のパラメータに対応する情報である。
【００７９】
制御部２０５は、取得部２０５ａ、通知部２０５ｂ、生成部２２０、第１計算部２３０、第３計算部２４０、第２計算部２５０、判定部２６０を有する。制御部２０５は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２０５は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００８０】
取得部２０５ａは、通話録音装置３０から、音声データ２０４ａを取得する処理部である。取得部２０５ａは、音声データ２０４ａを記憶部２０４に格納する。また、取得部２０５ａは、学習装置１００から、学習済みのＬＳＴＭモデル１１０ｃの情報、および、ＤＮＮモデル１１０ｄの情報を取得する。取得部２０５ａは、ＬＳＴＭモデル１１０ｃの情報、および、ＤＮＮモデル１１０ｄの情報を、記憶部２０４に格納する。
【００８１】
通知部２０５ｂは、後述する判定部２６０から判定結果を取得する。通知部２０５ｂは、判定部２６０によって、音声データ２０４ａに異常な会話状況が含まれていると判定された場合に、異常な会話が含まれる旨の情報を、管理者端末４０に通知する。
【００８２】
生成部２２０は、音声データ２０４ａを取得し、音声データ２０４ａを基にして、最尤音素系列の情報を生成する処理部である。生成部２２０は、学習装置１００の生成部１２０と同様にして、音声データ２０４ａから最尤音素系列を生成し、各音素のOne  Hotベクトルを生成する。生成部２２０は、各音素のOne  Hotベクトルを、第１計算部２３０に出力する。
【００８３】
第１計算部２３０は、再帰パスをもつ第１ネットワークに、各音素の各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。第１計算部２３０が用いる第１ネットワークは、図７で説明したＬＳＴＭ１３５に対応するものである。第１計算部２３０は、ＬＳＴＭ１３５のパラメータに、ＬＳＴＭモデル１１０ｃのパラメータを設定し、内部ベクトルを計算する。第１計算部２３０は、各音素のOne  Hotベクトルから算出される内部ベクトルｈを、第２計算部２５０に出力する。
【００８４】
第３計算部２４０は、第１計算部２３０から出力される複数の内部ベクトルｈを平均化する処理部である。第３計算部２４０は、平均化した内部ベクトル（平均ベクトル）を、第２計算部２５０に出力する。
【００８５】
第２計算部２５０は、再帰パスを持たない第２ネットワークに、平均ベクトルを入力し、第２ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部２５０が用いる第２ネットワークは、図８で説明したニューラルネットワーク１５５に対応するものである。第２計算部２５０は、ニューラルネットワーク１５５のパラメータに、ＤＮＮモデル１１０ｄのパラメータを設定し、会話が異常な会話状況である確率「Ｏｔ」と、会話が通常の会話状況である確率「Ｏｎ」とを計算する。第２計算部２５０は、確率「Ｏｔ」の情報を、判定部２６０に出力する。
【００８６】
判定部２６０は、異常な会話状況である確率「Ｏｔ」を基にして、音声データ２０４ａに異常な会話状況が含まれているか否かを判定する処理部である。たとえば、判定部２６０は、確率Ｏｔが、予め設定される閾値以上となる場合に、音声データ２０４ａに異常な会話状況が含まれていると判定する。判定部２６０は、判定結果を、通知部２０５ｂに出力する。この例では、異常な会話状況である確率「Ｏｔ」を基にして判定しているが、「Ｏｔ」と正常な会話状況である確率「Ｏｎ」の確率との差または比率を判定に用いる値として用いてもよい。
【００８７】
次に、本実施例１に係る学習装置１００の処理手順の一例について説明する。図１０は、本実施例１に係る学習装置の処理手順を示すフローチャートである。図１０に示すように、学習装置１００の生成部１２０は、学習用の音声データを取得して、音素認識を行う（ステップＳ１０１）。生成部１２０は、音素をOne  hotベクトル化する（ステップＳ１０２）。生成部１２０は、One  hotベクトルを蓄積する（ステップＳ１０３）。
【００８８】
生成部１２０は、学習データ数（One  hotベクトルの数）が、モデル学習可能な基準を超えていない場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１０１に移行する。一方、生成部１２０は、学習データ数が、モデル学習可能な基準を超えた場合には（ステップＳ１０４，Ｙｅｓ）、ステップＳ１０５に移行する。
【００８９】
学習装置１００の第１計算部１３０は、One  hotベクトルをＬＳＴＭ１３５に入力し、内部ベクトルを算出し、蓄積する（ステップＳ１０５）。第１計算部１３０は、全One  hotベクトル系列を入力していない場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１０５に移行する。一方、第１計算部１３０は、全One  hotベクトル系列を入力した場合には（ステップＳ１０６，Ｙｅｓ）、ステップＳ１０７に移行する。学習装置１００の第３計算部１４０は、内部ベクトルを平均化する（ステップＳ１０７）。
【００９０】
学習装置１００の第２計算部１５０は、平均化した内部ベクトルをニューラルネットワーク１５５に入力し、出力値を算出する（ステップＳ１０８）。学習装置１００の学習部１６０は、正解情報１１０ｂを用いてＬＳＴＭ１３５およびニューラルネットワーク１５５のパラメータを誤差逆伝播法によって学習する（ステップＳ１０９）。
【００９１】
学習部１６０は、全学習データについて学習を行っていない場合には（ステップＳ１１０，Ｎｏ）、ステップＳ１０５に移行する。学習部１６０は、全学習データについて学習を行った場合には（ステップＳ１１０，Ｙｅｓ）、ステップＳ１１１に移行する。
【００９２】
学習部１６０は、学習停止条件を満たしていない場合には（ステップＳ１１１，Ｎｏ）、学習データの順番をランダムに入れ替えた後に、ステップＳ１０５に移行する。学習部１６０は、学習停止条件を満たした場合には（ステップＳ１１１，Ｙｅｓ）、ステップＳ１１２に移行する。学習部１６０は、学習済みのＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを、記憶部１０４に格納する（ステップＳ１１２）。
【００９３】
次に、本実施例１に係る判定装置２００の処理手順の一例について説明する。図１１は、本実施例１に係る判定装置の処理手順を示すフローチャートである。図１１に示すように、判定装置２００の生成部２２０は、音素認識を行い（ステップＳ２０１）、音素をOne  hotベクトル化する（ステップＳ２０２）。生成部２２０は、One  hotベクトルを蓄積する（ステップＳ２０３）。生成部２２０は、全音素をOne  hotベクトル化していない場合には（ステップＳ２０４，Ｎｏ）、ステップＳ２０２に移行する。一方、生成部２２０は、全音素をOne  hotベクトル化した場合には（ステップＳ２０４，Ｙｅｓ）、ステップＳ２０５に移行する。
【００９４】
判定装置２００の第１計算部２３０は、One  hotベクトルをＬＳＴＭ１３５に入力し、内部ベクトルを算出し、蓄積する（ステップＳ２０５）。なお、第１計算部２３０は、学習済みのＬＳＴＭモデル１１０ｃに基づくＬＳＴＭ１３５を用いて内部ベクトルを算出する。第１計算部２３０は、全One  hotベクトル系列を入力していない場合には（ステップＳ２０６，Ｎｏ）、ステップＳ２０５に移行する。第１計算部２３０は、全One  hotベクトル系列を入力した場合には（ステップＳ２０６，Ｙｅｓ）、ステップＳ２０７に移行する。
【００９５】
判定装置２００の第３計算部２４０は、内部ベクトルを平均化する（ステップＳ２０７）。判定装置２００の第２計算部２５０は、平均化した内部ベクトルをニューラルネットワーク１５５に入力し、出力値「Ｏｔ」を算出する（ステップＳ２０８）。なお、第２計算部２５０は、学習済みのＤＮＮモデル１１０ｄに基づくニューラルネットワーク１５５を用いて、出力値を算出する。「Ｏｔ」は、会話が異常な会話状況である確率を示すものである。
【００９６】
判定装置２００の判定部２６０は、出力値Ｏｔが閾値以上であるか否かを判定する（ステップＳ２０９）。判定部２６０は、出力値Ｏｔが閾値以上である場合には（ステップＳ２０９，Ｙｅｓ）、音声データ２０４ａに異常な会話状況が含まれていると判定する（ステップＳ２１０）。判定装置２００の通知部２０５ｂは、異常な会話状況が含まれている旨を管理者端末４０に通知する（ステップＳ２１１）。
【００９７】
一方、判定部２６０は、出力値Ｏｔが閾値未満である場合には（ステップＳ２０９，Ｎｏ）、通常会話であると判定する（ステップＳ２１２）。
【００９８】
次に、本実施例１に係る学習装置１００の効果について説明する。学習装置１００は、学習用の音声データから抽出した音素系列と、正解情報との組を用いて、ＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを機械学習する。このため、特定の会話状況を検出するためのキーワードを設定するための試行錯誤、熟練の知識、ノウハウを用いることなく、ＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを機械学習することができる。また、判定装置２００が、学習済みのＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを用いて、音声データに対する処理を行うことで、特定の会話状況が音声データに含まれているか否かを適切に判定することができる。
【００９９】
図１２は、異常な会話状況が含まれる音声データの内部ベクトルの一例を示す図である。図１２のグラフ３Ａの縦軸は内部ベクトルの値を示し、横軸は内部ベクトルの次元を示す。線分３ａは、異常な会話状況が含まれる第１通話の音声データの内部ベクトルを示す。線分３ｂは、異常な会話状況が含まれる第２通話の音声データの内部ベクトルを示す。異常な会話状況が含まれる。図１２に示すように、異常状態の通話では、別通話であっても、内部ベクトルの形状は同じような形状となる。
【０１００】
図１３は、正常な会話の音声データの内部ベクトルの一例を示す図である。図１３のグラフ３Ｂの縦軸は内部ベクトルの値を示し、横軸は内部ベクトルの次元を示す。線分３ｃは、正常な第３通話の音声データの内部ベクトルを示す。線分３ｄは、正常な第４通話の音声データの内部ベクトルを示す。正常な通話では、別通話であっても、内部ベクトルの形状は、同じような形状となる。
【０１０１】
図１２に示した異常な会話状況の音声データのベクトル形状と、図１３に示した通常の通話の音声データのベクトル形状とを比較すると、各ベクトル形状は大きく異なる。このため、内部ベクトルを用いることで、キーワードを設定することなく、異常な会話状況を含むか否かを判定でき、このためのＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを適切に学習することができる。
【実施例２】
【０１０２】
図１４は、本実施例２に係る学習装置および判定装置の処理の一例について説明するための図である。図１４に示すように、学習装置３００は、学習用音声データベース３１０ａと、生成部３２０と、抽出部３２５と、第１計算部３３０と、第３計算部３４０と、連結部３４５と、第２計算部３５０と、学習部３６０とを有する。
【０１０３】
学習用音声データベース３１０ａは、複数の学習用の音声データを格納し、各学習用の音声データは、正解情報３１０ｂにそれぞれ対応付けられる。正解情報３１０ｂは、音声データに、特定の会話状況が含まれるか否かを示す情報である。本実施例２では一例として、特定の会話状況を、「異常な会話状況」とする。
【０１０４】
生成部３２０は、学習用音声データベース３１０ａから学習用の音声データを取得する。以下の学習装置３００の説明において、学習用音声データベースから取得された学習用の音声データを、単に「音声データ」と表記する。生成部３２０は、音声データに対して、音素認識を行い、最尤音素系列の情報を生成する。たとえば、最尤音素系列は、確率的にもっともらしい音素を時系列に並べたものである。生成部３２０は、各音素をOne  Hotベクトル化し、各音素のOne  Hotベクトルを、第１計算部３３０に出力する。
【０１０５】
抽出部３２５は、音声データから非言語情報を抽出し、非言語情報のベクトルを生成する処理部である。たとえば、非言語情報は、ストレス評価値、会話時間等の情報である。非言語情報のベクトルの各次元には、ストレス評価値、会話時間等が設定される。抽出部３２５は、非言語情報のベクトルを、連結部３４５に出力する。
【０１０６】
第１計算部３３０は、再帰パスを持つ第１ネットワークに、音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。たとえば、第１ネットワークは、ＬＳＴＭに対応する。第１計算部３３０は、音声データに含まれる全音素のOne  Hotベクトルを、第１ネットワークに入力して得られる各内部ベクトルを、第３計算部３４０に出力する。なお、第１計算部３３０が用いるＬＳＴＭには、実施例１の学習装置１００において学習したＬＳＴＭモデル１１０ｃ（パラメータ）を設定しておくものとする。
【０１０７】
第３計算部３４０は、第１計算部３３０から出力される複数の内部ベクトルを平均化する処理部である。第３計算部３４０は、平均化した内部ベクトルを、連結部３４５に出力する。以下の説明では、平均化した内部ベクトルを「平均ベクトル」を表記する。
【０１０８】
連結部３４５は、第３計算部３４０から出力される平均ベクトルと、抽出部３２５から出力される非言語情報のベクトルとを連結することで、連結ベクトルを生成する処理部である。連結部３４５は、連結ベクトルを、第２計算部３５０に出力する。
【０１０９】
第２計算部３５０は、再帰パスを持たない第３ネットワークに、連結ベクトルを入力し、第３ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部３５０は、出力値を、学習部３６０に出力する。
【０１１０】
学習部３６０は、音声データに対する連結ベクトルを入力した際に、第２計算部３５０から出力される出力値が、音声データに対応する正解情報３１０ｂに近づくように、第２計算部３５０のパラメータを学習（誤差逆伝播学習）する。学習部３６０は、学習停止条件を満たすまで、誤差逆伝播の学習を繰り返し実行し、ＤＮＮモデル３１０ｄを生成する。ＤＮＮモデル３１０ｄは、学習済みの第３ネットワークのパラメータに対応する情報である。学習装置３００は、ＤＮＮモデル３１０ｄの情報を、判定装置４００に通知する。
【０１１１】
判定装置４００は、生成部４２０と、抽出部４２５と、第１計算部４３０と、第３計算部４４０と、連結部４４５と、第２計算部４５０と、判定部４６０とを有する。
【０１１２】
生成部４２０は、異常な会話状況であるか否かの検出対象となる音声データの入力を受け付ける。以下の判定装置４００の説明において、異常な会話状況であるか否かの検出対象となる音声データを、単に、「音声データ」と表記する。生成部４２０は、音声データに対して、音素認識を行い、最尤音素系列の情報を生成する。生成部４２０は、各音素をOne  Hotベクトル化し、各音素のOne  Hotベクトルを、第１計算部４３０に出力する。
【０１１３】
抽出部４２５は、音声データから非言語情報を抽出し、非言語情報のベクトルを生成する処理部である。たとえば、非言語情報は、ストレス評価値、会話時間等の情報である。非言語情報のベクトルの各次元には、ストレス評価値、会話時間等が設定される。抽出部４２５は、非言語情報のベクトルを、連結部４４５に出力する。
【０１１４】
第１計算部４３０は、再帰パスを持つ第１ネットワークに、各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。第１計算部４３０は、第１ネットワークに設定するパラメータとして、実施例１の学習装置１００において学習されたＬＳＴＭモデル１１０ｃのパラメータを用いる。第１計算部４３０は、音声データに含まれる全音素のOne  Hotベクトルを、第１ネットワークに入力して得られる各内部ベクトルを、第３計算部４４０に出力する。
【０１１５】
第３計算部４４０は、第１計算部４３０から出力される複数の内部ベクトルを平均化する処理部である。第３計算部４４０は、平均化した内部ベクトルを、連結部４４５に出力する。以下の説明では、平均化した内部ベクトルを「平均ベクトル」を表記する。
【０１１６】
連結部４４５は、第３計算部４４０から出力される平均ベクトルと、抽出部４２５から出力される非言語情報のベクトルとを連結することで、連結ベクトルを生成する処理部である。連結部４４５は、連結ベクトルを、第２計算部４５０に出力する。
【０１１７】
第２計算部４５０は、再帰パスを持たない第３ネットワークに、連結ベクトルを入力し、第３ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部４５０は、第３ネットワークに設定するパラメータとして、ＤＮＮモデル３１０ｄのパラメータを用いる。第２計算部４５０は、出力値を、判定部４６０に出力する。
【０１１８】
判定部４６０は、第２計算部４５０から出力される出力値と、閾値とを比較して、音声データに、異常な会話状況が含まれているか否かを判定する処理部である。たとえば、判定部４６０は、出力値が閾値以上である場合に、音声データに異常な会話状況が含まれていると判定する。
【０１１９】
上記のように、本実施例２に係る学習装置３００は、音声データから非言語情報を抽出し、非言語情報のベクトルと、内部ベクトルとを連結した連結ベクトルを用いて、ＤＮＮモデル３１０ｄを機械学習する。このように、非言語情報のベクトルを更に用いて学習を行うことで、異常な会話状況の検出精度を向上させることができる。たとえば、非言語情報のベクトルを用いると、非言語情報のベクトルを用いない場合と比較して、誤検出率を増やさないで、検出漏れを約半減させることが、実験により確認できた。
【０１２０】
次に、本実施例２に係るシステムの一例について説明する。図１５は、本実施例２に係るシステムの一例を示す図である。このシステムは、顧客端末１０と、オペレータ端末１５と、通話録音装置３０と、管理者端末４０と、学習装置３００と、判定装置４００とを有する。顧客端末１０、オペレータ端末１５、通話録音装置３０、管理者端末４０の説明は、図３で説明した、顧客端末１０、オペレータ端末１５、通話録音装置３０、管理者端末４０の説明と同様である。
【０１２１】
図１５に示した学習装置３００の構成の一例について説明する。図１６は、本実施例２に係る学習装置の構成を示す機能ブロック図である。図１６に示すように、この学習装置３００は、通信部３０１、入力部３０２、表示部３０３、記憶部３０４、制御部３０５を有する。
【０１２２】
通信部３０１、入力部３０２、表示部３０３の説明は、図４で説明した通信部１０１、入力部１０２、表示部１０３の説明と同様である。
【０１２３】
記憶部３０４は、学習用音声データベース３１０ａ、正解情報３１０ｂ、ＬＳＴＭモデル３１０ｃ、ＤＮＮモデル３１０ｄを有する。記憶部３０４は、ＲＡＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１２４】
学習用音声データベース３１０ａは、学習用の複数の音声データを格納するデータベースである。学習用音声データベース３１０ａに格納される各音声データは、顧客とオペレータとの会話の音声データである。
【０１２５】
正解情報３１０ｂは、学習用音声データベース３１０ａに格納された各音声データに、異常な会話状況が含まれるか否かを示す情報である。
【０１２６】
ＬＳＴＭモデル３１０ｃは、第１ネットワーク（ＬＳＴＭ）のパラメータに対応する情報であり、実施例１で示した学習装置１００を用いて予め学習しておく。ＤＮＮモデル３１０ｄは、第３ネットワーク（ＤＮＮ）のパラメータに対応する情報である。ＤＮＮモデル３１０ｄのみは、学習部３６０により、機械学習される。
【０１２７】
制御部３０５は、取得部３０５ａ、通知部３０５ｂ、生成部３２０、抽出部３２５、第１計算部３３０、第３計算部３４０、連結部３４５、第２計算部３５０、学習部３６０を有する。制御部３０５は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部３０５は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【０１２８】
取得部３０５ａは、通話録音装置３０から、学習用音声データベース３１０ａの情報を取得する処理部である。取得部３０５ａは、学習用音声データベース３１０ａの情報を、記憶部３０４に格納する。また、取得部３０５ａは、正解情報３１０ｂを取得した場合には、取得した正解情報３１０ｂを、記憶部３０４に格納する。正解情報３１０ｂは、学習用音声データベース３１０ａの各音声データに予め対応付けられていてもよい。
【０１２９】
通知部３０５ｂは、予め学習されているＬＳＴＭモデル３１０ｃおよび学習部３６０により学習されたＤＮＮモデル３１０ｄを、判定装置４００に通知する処理部である。
【０１３０】
生成部３２０は、学習用音声データベース３１０ａから学習用の音声データを取得し、音声データを基にして、最尤音素系列の情報を生成する処理部である。生成部３２０に関する他の説明は、生成部１２０の説明と同様である。生成部３２０は、各音素に対応するOne  hotベクトルを、第１計算部３３０に出力する。
【０１３１】
抽出部３２５は、音声データから非言語情報を抽出し、非言語情報のベクトルを生成する処理部である。たとえば、非言語情報は、ストレス評価値、会話時間等の情報である。抽出部３２５は、非言語情報のベクトルを、連結部３４５に出力する。
【０１３２】
抽出部３２５がストレス評価値を算出する処理の一例について説明する。抽出部３２５は、特開２０１５−８２０９３等に記載された技術を用いて、音声データからストレス評価値を算出する。図１７は、通常の会話の音声データから求められるピッチとパワーとの関係を示す図である。図１７のグラフの縦軸は正規化ピッチに対応し、横軸は正規化対数パワーに対応する。図１８は、異常な会話の音声データから求められるピッチとパワーとの関係を示す図である。図１８のグラフの縦軸は正規化ピッチに対応し、横軸は正規化対数パワーに対応する。
【０１３３】
図１７に示すように、通常の会話の音声データでは、ピッチ（正規化ピッチ）とパワー（正規化対数パワー）の値は、話者の平均的な声の大きさ、高さを中心に分布する。一方、図１８に示すように、異常な会話の音声データでは、ピッチ（正規化ピッチ）とパワー（正規化対数パワー）の値が大きく広がる。かかる特性を用いて、抽出部３２５は、ピッチとパワーの値の広がり具合を数値化して、ストレス評価値を算出する。抽出部３２５は、ストレス評価値を算出する場合に、声の高さと大きさの統計量（平均値、分散）を活用する。なお、ストレス評価値は、話者別のストレスではなく、会話全体の異常度合い（通常とは異なる状態）を表す数値として使用する。
【０１３４】
抽出部３２５が会話時間を算出する処理の一例について説明する。抽出部３２５は、音声データを分析して、最初の音声区間の開始時刻と、最後の音声区間の終了時刻との差を、会話時間として算出する。
【０１３５】
第１計算部３３０は、再帰パスをもつ第１ネットワークに、各音素の各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。第１計算部３３０は、内部ベクトルを、第３計算部３４０に出力する。第１計算部３３０に関する他の説明は、第１計算部１３０に関する説明と同様である。
【０１３６】
第３計算部３４０は、第１計算部３３０から出力される複数の内部ベクトルｈを平均化する処理部である。第３計算部３４０は、平均化した内部ベクトル（平均ベクトル）を、連結部３４５に出力する。
【０１３７】
連結部３４５は、第３計算部３４０から出力される平均ベクトルと、抽出部３２５から出力される非言語情報のベクトルとを連結することで、連結ベクトルを生成する処理部である。連結部３４５は、連結ベクトルを、第２計算部３５０に出力する。
【０１３８】
第２計算部３５０は、再帰パスを持たない第３ネットワークに、平均ベクトルを入力し、第３ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部３５０に関する他の説明は、第２計算部１５０に関する説明と同様である。
【０１３９】
学習部３６０は、ＤＮＮモデル３１０ｄの学習処理を実行する処理部である。学習部３６０は、ＬＳＴＭモデル３１０ｃに含まれるパラメータを、第１計算部３３０が用いるＬＳＴＭ１３５のパラメータに設定させる。
【０１４０】
学習部３６０は、音声データから生成された各音素のOne  Hotベクトルを第１計算部３３０、抽出部３２５に入力した際に、第３計算部３４０、連結部３４５を介して、第２計算部３５０から出力される出力値が、音声データに対応する正解情報３１０ｂに近づくように、第２計算部３５０のパラメータを学習する。学習部３６０は、損失関数の誤差を逆伝播することで、損失関数の値が最小値となるように、パラメータの学習を繰り返し実行する。学習部３６０は、学習停止条件を設定し、学習停止条件を満たす場合に、学習を終了する。学習部３６０は、学習を終了した際のニューラルネットワーク１５５のパラメータを、ＤＮＮモデル３１０ｄとして、記憶部３０４に格納する。
【０１４１】
次に、図１５に示した判定装置４００の構成の一例について説明する。図１９は、本実施例２に係る判定装置の構成を示す機能ブロック図である。図１９に示すように、判定装置４００は、通信部４０１、入力部４０２、表示部４０３、記憶部４０４、制御部４０５を有する。
【０１４２】
通信部４０１、入力部４０２、表示部４０３の説明は、図９で説明した通信部２０１、入力部２０２、表示部２０３の説明と同様である。
【０１４３】
記憶部４０４は、音声データ４０４ａ、ＬＳＴＭモデル３１０ｃ、ＤＮＮモデル３１０ｄを有する。記憶部４０４は、ＲＡＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１４４】
音声データ４０４ａは、通話録音装置３０によって録音された顧客とオペレータとの会話の音声データであって、異常な会話状況の検出対象となる音声データである。
【０１４５】
ＬＳＴＭモデル３１０ｃは、予め学習装置１００によって学習された、第１ネットワーク（ＬＳＴＭ１３５）のパラメータに対応する情報である。
【０１４６】
ＤＮＮモデル３１０ｄは、学習装置３００によって学習された、第３ネットワーク（ニューラルネットワーク１５５）のパラメータに対応する情報である。
【０１４７】
制御部４０５は、取得部４０５ａ、通知部４０５ｂ、生成部４２０、第１計算部４３０、抽出部４２５、第３計算部４４０、連結部４４５、第２計算部４５０、判定部４６０を有する。制御部４０５は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部４０５は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【０１４８】
取得部４０５ａは、通話録音装置３０から、音声データ４０４ａを取得する処理部である。取得部４０５ａは、音声データ４０４ａを記憶部４０４に格納する。また、取得部４０５ａは、学習装置３００から、学習装置１００により予め学習され、内部ベクトル算出用に取得され格納されたＬＳＴＭモデル３１０ｃの情報、および、学習部３６０により学習されたＤＮＮモデル３１０ｄの情報を取得する。取得部４０５ａは、ＬＳＴＭモデル３１０ｃの情報、および、ＤＮＮモデル３１０ｄの情報を、記憶部４０４に格納する。
【０１４９】
通知部４０５ｂは、後述する判定部４６０から判定結果を取得する。通知部４０５ｂは、判定部４６０によって、音声データ４０４ａに異常な会話状況が含まれていると判定された場合に、異常な会話が含まれる旨の情報を、管理者端末４０に通知する。
【０１５０】
生成部４２０は、音声データ４０４ａを取得し、音声データ４０４ａを基にして、最尤音素系列の情報を生成する処理部である。生成部４２０は、学習装置３００の生成部３２０と同様にして、音声データ４０４ａから最尤音素系列を生成し、各音素のOne  Hotベクトルを生成する。生成部４２０は、各音素のOne  Hotベクトルを、第１計算部４３０に出力する。
【０１５１】
抽出部４２５は、音声データ４０４ａから非言語情報を抽出し、非言語情報のベクトルを生成する処理部である。たとえば、非言語情報は、ストレス評価値、会話時間等の情報である。非言語情報のベクトルの各次元には、ストレス評価値、会話時間等が設定される。抽出部４２５は、非言語情報のベクトルを、連結部４４５に出力する。抽出部４２５の他の処理は、抽出部３２５の処理と同様である。
【０１５２】
第１計算部４３０は、再帰パスを持つ第１ネットワークに、各音素のOne  Hotベクトルを順に入力し、第１ネットワークのパラメータに基づく計算を行うことで、内部ベクトルを算出する処理部である。第１計算部４３０は、第１ネットワークに設定するパラメータとして、ＬＳＴＭモデル３１０ｃのパラメータを用いる。第１計算部４３０は、音声データに含まれる全音素のOne  Hotベクトルを、第１ネットワークに入力して得られる各内部ベクトルを、第３計算部４４０に出力する。
【０１５３】
第３計算部４４０は、第１計算部４３０から出力される複数の内部ベクトルを平均化する処理部である。第３計算部４４０は、平均化した内部ベクトル（平均ベクトル）を、連結部４４５に出力する。
【０１５４】
連結部４４５は、第３計算部４４０から出力される平均ベクトルと、抽出部４２５から出力される非言語情報のベクトルとを連結することで、連結ベクトルを生成する処理部である。連結部４４５は、連結ベクトルを、第２計算部４５０に出力する。
【０１５５】
第２計算部４５０は、再帰パスを持たない第３ネットワークに、連結ベクトルを入力し、第３ネットワークのパラメータに基づく計算を行うことで、出力値（ニューロン値）を算出する処理部である。第２計算部４５０が用いる第３ネットワークは、実施例１で説明した説明したネットワークと同様の、図８で説明したニューラルネットワーク１５５に対応するものである。第２計算部４５０は、ニューラルネットワーク１５５のパラメータに、ＤＮＮモデル３１０ｄのパラメータを設定し、会話が異常な会話状況である確率「Ｏｔ」と、会話が通常の会話状況である確率「Ｏｎ」とを計算する。第２計算部４５０は、確率「Ｏｔ」の情報を、判定部４６０に出力する。
【０１５６】
判定部４６０は、異常な会話状況である確率「Ｏｔ」を基にして、音声データ４０４ａに異常な会話状況が含まれているか否かを判定する処理部である。たとえば、判定部４６０は、確率Ｏｔが、予め設定される閾値以上となる場合に、音声データ４０４ａに異常な会話状況が含まれていると判定する。判定部４６０は、判定結果を、通知部４０５ｂに出力する。この例では、異常な会話状況である確率「Ｏｔ」を基にして判定しているが、「Ｏｔ」と正常な会話状況である確率「Ｏｎ」の確率との差または比率を判定に用いる値として用いてもよい。
【０１５７】
次に、本実施例２に係る学習装置３００の処理手順の一例について説明する。図２０、図２１は、本実施例２に係る学習装置の処理手順を示すフローチャートである。図２０に示すように、学習装置３００の取得部３０５ａは、ＬＳＴＭモデル３１０ｃを取得する（ステップＳ３０１）。ＬＳＴＭモデル３１０ｃは、実施例１の学習装置１００が実行する図１０で説明したモデルに対応する。学習装置３００の学習部３６０は、第１学習処理で学習したＬＳＴＭモデル３１０ｃを、記憶部３０４に格納する（ステップＳ３０２）。
【０１５８】
学習装置３００の生成部３２０は、学習用の音声データを取得して、音素認識を行う（ステップＳ３０３ａ）。生成部３２０は、音素をOne  hotベクトル化する（ステップＳ３０４ａ）。生成部３２０は、One  hotベクトルを蓄積する（ステップＳ３０５ａ）。
【０１５９】
学習装置３００の抽出部３２５は、学習用の音声データから、非言語情報を抽出する（ステップＳ３０３ｂ）。抽出部３２５は、非言語情報のベクトルを生成し（ステップＳ３０４ｂ）、非言語情報のベクトルを蓄積する（ステップＳ３０５ｂ）。
【０１６０】
学習装置３００は、学習データ数がモデル学習可能な基準を超えていない場合には（ステップＳ３０６，Ｎｏ）、ステップＳ３０３ａ，３０３ｂに移行する。一方、学習装置３００は、学習データ数がモデル学習可能な基準を超えた場合には（ステップＳ３０６，Ｙｅｓ）、図２１のステップＳ３０７に移行する。
【０１６１】
図２１の説明に移行する。学習装置３００の第１計算部３３０は、One  hotベクトルをＬＳＴＭ１３５に入力し、内部ベクトルを算出し、蓄積する（ステップＳ３０７）。第１計算部３３０は、全One  hotベクトル系列を入力していない場合には（ステップＳ３０８，Ｎｏ）、ステップＳ３０７に移行する。一方、第１計算部３３０は、全One  hotベクトル系列を入力した場合には（ステップＳ３０８，Ｙｅｓ）、ステップＳ３０９に移行する。学習装置３００の第３計算部３４０は、内部ベクトルを平均化する（ステップＳ３０９）。
【０１６２】
学習装置３００の連結部３４５は、平均化した内部ベクトルと、非言語情報のベクトルとを連結する（ステップＳ３１０）。学習装置３００の第２計算部３５０は、連結ベクトルをニューラルネットワーク１５５に入力し、出力値を算出する（ステップＳ３１１）。学習装置３００の学習部３６０は、正解情報３１０ｂを用いてニューラルネットワーク１５５のパラメータを誤差逆伝播法によって学習する（ステップＳ３１２）。
【０１６３】
学習部３６０は、全学習データについて学習を行っていない場合には（ステップＳ３１３，Ｎｏ）、ステップＳ３１１に移行する。一方、学習部３６０は、全学習データについて学習を行った場合には（ステップＳ３１３，Ｙｅｓ）、ステップＳ３１４に移行する。
【０１６４】
学習部３６０は、学習停止条件を満たしていない場合には（ステップＳ３１４，Ｎｏ）、学習データの順番をランダムに入れ替えたのち、ステップＳ３１１に移行する。一方、学習部３６０は、学習停止条件を満たした場合には（ステップＳ３１４，Ｙｅｓ）、ステップＳ３１５に移行する。学習部３６０は、学習済みのＤＮＮモデル３１０ｄを、記憶部３０４に格納する（ステップＳ３１５）。
【０１６５】
次に、本実施例２に係る判定装置４００の処理手順の一例について説明する。図２２は、本実施例２に係る判定装置の処理手順を示すフローチャートである。図２２に示すように、判定装置４００の生成部４２０は、音素認識を行い（ステップＳ４０１）、音素をOne  hotベクトル化する（ステップＳ４０２）。生成部４２０は、One  hotベクトルを蓄積する（ステップＳ４０３）。生成部４２０は、全音素をOne  hotベクトル化していない場合には（ステップＳ４０４，Ｎｏ）、ステップＳ４０２に移行する。一方、生成部４２０は、全音素をOne  hotベクトル化した場合には（ステップＳ４０４，Ｙｅｓ）、ステップＳ４０５に移行する。
【０１６６】
判定装置４００の抽出部４２５は、音声データから非言語情報を抽出し、非言語情報のベクトルを生成する（ステップＳ４０５）。判定装置４００の第１計算部４３０は、One  hotベクトルをＬＳＴＭ１３５に入力し、内部ベクトルを算出し、蓄積する（ステップＳ４０６）。なお、第１計算部４３０は、学習済みのＬＳＴＭモデル３１０ｃに基づくＬＳＴＭ１３５を用いて内部ベクトルを算出する。第１計算部４３０は、全One  hotベクトル系列を入力していない場合には（ステップＳ４０７，Ｎｏ）、ステップＳ４０６に移行する。第１計算部４３０は、全One  hotベクトル系列を入力した場合には（ステップＳ４０７，Ｙｅｓ）、ステップＳ４０８に移行する。
【０１６７】
判定装置４００の第３計算部４４０は、内部ベクトルを平均化する（ステップＳ４０８）。判定装置４００の連結部４４５は、平均化した内部ベクトルと非言語情報のベクトルとを連結する（ステップＳ４０９）。判定装置４００の第２計算部４５０は、連結ベクトルをニューラルネットワーク１５５に入力し、出力値「Ｏｔ」を算出する（ステップＳ４１０）。なお、第２計算部４５０は、学習済みのＤＮＮモデル３１０ｄに基づくニューラルネットワーク１５５を用いて、出力値を算出する。「Ｏｔ」は、会話が異常な会話状況である確率を示すものである。
【０１６８】
判定装置４００の判定部４６０は、出力値Ｏｔが閾値以上であるか否かを判定する（ステップＳ４１１）。判定部４６０は、出力値Ｏｔが閾値以上である場合には（ステップＳ４１１，Ｙｅｓ）、音声データ４０４ａに異常な会話状況が含まれていると判定する（ステップＳ４１２）。判定装置４００の通知部４０５ｂは、異常な会話状況が含まれている旨を管理者端末４０に通知する（ステップＳ４１３）。
【０１６９】
一方、判定部４６０は、出力値Ｏｔが閾値未満である場合には（ステップ４１１，Ｎｏ）、通常会話であると判定する（ステップＳ４１４）。
【０１７０】
次に、本実施例２に係る学習装置３００の効果について説明する。学習装置３００は、音声データから非言語情報を抽出し、非言語情報のベクトルと、内部ベクトルとを連結した連結ベクトルを用いて、ＤＮＮモデル３１０ｄを機械学習する。このように、非言語情報のベクトルを更に用いて学習を行うことで、異常な会話状況の検出精度を向上させることができる。また、判定装置４００が、ＤＮＮモデル３１０ｄを用いて、異常な会話状況の検出を行うと、非言語情報のベクトルを用いない場合と比較して、誤検出率を増やさないで、検出漏れを減少させることができる。
【実施例３】
【０１７１】
上述した実施例１、２に示した学習装置１００，３００、判定装置２００，４００の処理は一例である。実施例３では、学習装置１００，３００、判定装置２００，４００のその他の処理について説明する。
【０１７２】
第１計算部および第２計算部の拡張例について説明する。図２３は、第１計算部および第２計算部の拡張例を説明するための図である。ここでは一例として、第１計算部１３０および第１５０を用いて説明する。
【０１７３】
第１計算部１３０は、第１ネットワークであるＬＳＴＭを多段にして、上段へのＬＳＴＭの内部ベクトルｄを異常／通常の２次元のベクトルにする。なお、内部ベクトルｃは、図７で説明した内部ベクトルｈに対応するものである。たとえば、内部ベクトルｃは、１２８次元のベクトルである。内部ベクトルｄは、第３計算部１４０（図示略）を通過して、第２計算部１５０に入力される。
【０１７４】
第２計算部１５０は、第２ネットワークを実行しないで、内部ベクトルｄに対するSoftmax計算のみを実行し、異常な会話状況である確率と、通常の会話である確率を算出する。第２計算部１５０の必須構成要素は、Softmax計算を行う処理部であり、内部ベクトルｄから異常／通常それぞれの確からしさである確率を求めることであるため、第１計算部１３０、第２計算部１５０を図２３のように拡張することが可能である。
【０１７５】
第３計算部のその他の処理について説明する。図２４は、第３計算部のその他の処理を説明するための図である。ここでは一例として、第１計算部１３０、第２計算部１５０、第３計算部１４０を用いて説明する。
【０１７６】
第３計算部１４０は、入力音素ごとに第１計算部１３０から出力される内部ベクトルｃ１〜ｃＮに対し、先頭から「ａ１、ａ２、・・・、ａＮ」という重みパラメータを設ける。かかる重みは、時間方向のパラメータである。たとえば、第３計算部１４０から、第２計算部１５０に出力されるベクトルは「ａ１・ｃ１＋ａ２・ｃ２＋・・・＋ａＮ・ｃＮ」となる。学習部１６０は、ＬＳＴＭモデル１１０ｃおよびＤＮＮモデル１１０ｄを学習する際に、第３計算部１４０の重みパラメータも合わせて学習を行う。このような処理を行うことで、平均ベクトルを生成する場合の時間方向についての重みを最適化することができる。
【０１７７】
続いて、本実施例のその他のシステム構成について説明する。図２５は、本実施例にかかるその他のシステムの一例を示す図（１）である。図２５では一例として、学習装置１００と、判定装置２００とを用いて説明を行う。
【０１７８】
学習装置１００は、過去のプロジェクトの学習データ１７０を基にして、ＬＳＴＭモデル１７０Ａ、ＤＮＮモデル１７０Ｂを学習する。学習データ１７０には、過去に行われたプロジェクトの開発会議音声を録音した会話音声録音ファイルと、会議が停滞したか否かの正解情報を有する。開発会議音声は、マイク４５を用いて録音される。
【０１７９】
判定装置２００は、プロジェクトの開発会議音声を、会話音声録音ファイル２７０として取得し、ＬＳＴＭモデル１７０Ａ、ＤＮＮモデル１７０Ｂを用いて、プロジェクト開発会議の停滞度合いの情報２８０を算出する。判定装置２００は、プロジェクト開発会議の停滞度合いの情報２８０を、管理者端末４０に通知する。管理者担当者４１は、プロジェクト開発会議の停滞度合いの情報２８０を参照し、状況精査を行う。
【０１８０】
図２５に示したシステムを構築することで、会議が停滞しがちなプロジェクトの開発会議を特定して、改善を促すことが可能となる。
【０１８１】
図２６は、本実施例に係るその他のシステムの一例を示す図（２）である。図２６では一例として、学習装置１００と、判定装置２００とをもちいて説明を行う。
【０１８２】
学習装置１００は、窓口対応時の会話の学習データ１８０を基にして、ＬＳＴＭモデル１８０Ａ、ＤＮＮモデル１８０Ｂを学習する。学習データ１８０には、過去に行われた窓口対応時の会話を録音した会話音声録音ファイルと、トラブルが発生したか否かの正解情報を有する。窓口対応の会話は、マイク４５を用いて録音される。
【０１８３】
判定装置２００は、窓口の音声を取得し、ＬＳＴＭモデル１８０Ａ、ＤＮＮモデル１８０Ｂを用いて、トラブル発生の確からしさの情報２９０を算出する。判定装置２００は、トラブル発生の確からしさの情報２９０を、管理者端末４０に通知する。管理者担当者４１は、トラブル発生の確からしさの情報２９０を参照し、対応支援を行う。
【０１８４】
図２６に示したシステムを構築することで、窓口対応におけるトラブル発声を検出して、対応支援を行うことが可能となる。
【０１８５】
ところで、本実施例１、２で説明した例では、学習装置１００（３００）、判定装置２００（４００）が別々の装置である場合について説明したが、これに限定されるものではない。たとえば、学習装置１００の制御部１０５は、判定装置２００の制御部２０５と同様の機能を持ち、ＬＳＴＭモデル１１０ｃ、ＤＮＮモデル１１０ｄを学習すると共に、音声データに特定の会話状況が含まれているか否かを判定してもよい。
【０１８６】
また、本実施例では、特定の会話状況を「異常な会話状況」として説明したが、特定の会話状況は、異常な会話状況に限定されるものではない。たとえば、特定の会話状況は、会議が停滞している会話状況、トラブルが発生している会話状況、顧客にとって好ましい会話状況などであってもよい。
【０１８７】
次に、本実施例に示した学習装置１００（３００）、判定装置２００（４００）と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２７は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１８８】
図２７に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータの入力を受け付ける入力装置５０２と、ディスプレイ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る読み取り装置５０４と、有線または無線ネットワークを介して、通話録音装置３０等との間でデータの授受を行うインターフェース装置５０５とを有する。コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０６と、ハードディスク装置５０７とを有する。そして、各装置５０１〜５０７は、バス５０８に接続される。
【０１８９】
ハードディスク装置５０７は、取得プログラム５０７ａ、生成プログラム５０７ｂ、第１計算プログラム５０７ｃ、第３計算プログラム５０７ｄ、第２計算プログラム５０７ｅを有する。ハードディスク装置５０７は、学習プログラム５０７ｆ、通知プログラム５０７ｇを有する。ＣＰＵ５０１は、各プログラム５０７ａ〜５０７ｇを読み出して、ＲＡＭ５０６に展開する。
【０１９０】
取得プログラム５０７ａは、取得プロセス５０６ａとして機能する。生成プログラム５０７ｂは、生成プロセス５０６ｂとして機能する。第１計算プログラム５０７ｃは、第１計算プロセス５０６ｃとして機能する。第３計算プログラム５０７ｄは、第３計算プロセス５０６ｄとして機能する。第２計算プログラム５０７ｅは、第２計算プロセス５０６ｅとして機能する。学習プログラム５０７ｆは、学習プロセス５０６ｆとして機能する。通知プログラム５０７ｇは、通知プロセス５０６ｇとして機能する。
【０１９１】
取得プロセス５０６ａの処理は、取得部１０５ａ，３０５ａの処理に対応する。生成プロセス５０６ｂの処理は、生成部１２０，３２０の処理に対応する。第１計算プロセス５０６ｃの処理は、第１計算部１３０，３３０の処理に対応する。第３計算プロセス５０６ｄの処理は、第３計算部１４０，３４０の処理に対応する。第２計算プロセス５０６eの処理は、第２計算部１５０，３５０の処理に対応する。学習プロセス５０６ｆの処理は、学習部１６０，３６０の処理に対応する。通知プロセス５０６ｇの処理は、通知部１０５ｂ，３０５ｂの処理に対応する。
【０１９２】
なお、各プログラム５０７ａ〜５０７ｇについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくてもよい。例えば、コンピュータ５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ５００が各プログラム５０７ａ〜５０７ｇを読み出して実行するようにしてもよい。
【０１９３】
図２８は、本実施例に係る判定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。図２８に示すように、コンピュータ６００は、各種演算処理を実行するＣＰＵ６０１と、ユーザからのデータの入力を受け付ける入力装置６０２と、ディスプレイ６０３とを有する。また、コンピュータ６００は、記憶媒体からプログラム等を読み取る読み取り装置６０４と、有線または無線ネットワークを介して、通話録音装置３０、管理者端末４０等との間でデータの授受を行うインターフェース装置６０５とを有する。コンピュータ６００は、各種情報を一時記憶するＲＡＭ６０６と、ハードディスク装置６０７とを有する。そして、各装置６０１〜６０７は、バス６０８に接続される。
【０１９４】
ハードディスク装置６０７は、取得プログラム６０７ａ、生成プログラム６０７ｂ、第１計算プログラム６０７ｃ、第３計算プログラム６０７ｄ、第２計算プログラム６０７ｅを有する。ハードディスク装置６０７は、学習プログラム６０７ｆ、通知プログラム６０７ｇを有する。ＣＰＵ６０１は、各プログラム６０７ａ〜６０７ｇを読み出して、ＲＡＭ６０６に展開する。
【０１９５】
取得プログラム６０７ａは、取得プロセス６０６ａとして機能する。生成プログラム６０７ｂは、生成プロセス６０６ｂとして機能する。第１計算プログラム６０７ｃは、第１計算プロセス６０６ｃとして機能する。第３計算プログラム６０７ｄは、第３計算プロセス６０６ｄとして機能する。第２計算プログラム６０７ｅは、第２計算プロセス６０６ｅとして機能する。判定プログラム６０７ｆは、判定プロセス６０６ｆとして機能する。通知プログラム６０７ｇは、通知プロセス６０６ｇとして機能する。
【０１９６】
取得プロセス６０６ａの処理は、取得部２０５ａ，４０５ａの処理に対応する。生成プロセス６０６ｂの処理は、生成部２２０，４２０の処理に対応する。第１計算プロセス６０６ｃの処理は、第１計算部２３０，４３０の処理に対応する。第３計算プロセス６０６ｄの処理は、第３計算部２４０，４４０の処理に対応する。第２計算プロセス６０６ｅの処理は、第２計算部２５０，４５０の処理に対応する。判定プロセス６０６ｆの処理は、判定部２６０，４６０の処理に対応する。通知プロセス６０６ｇの処理は、通知部２０５ｂ，４０５ｂの処理に対応する。
【０１９７】
なお、各プログラム６０７ａ〜６０７ｇについては、必ずしも最初からハードディスク装置６０７に記憶させておかなくてもよい。例えば、コンピュータ６００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ６００が各プログラム６０７ａ〜６０７ｇを読み出して実行するようにしてもよい。
【０１９８】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１９９】
（付記１）音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成する生成部と、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する学習処理部と
を有することを特徴とする学習装置。
【０２００】
（付記２）前記ネットワークは、再帰パスを持つ第１ネットワークと、再帰パスを持たない第２ネットワークとを有し、前記学習処理部は、前記第１ネットワークに前記音素列情報を入力して、内部ベクトルを算出する第１計算部と、前記第２ネットワークに前記内部ベクトルを入力して、前記出力情報を算出する第２計算部と、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータおよび前記第２ネットワークのパラメータを学習する学習部とを有することを特徴とする付記１に記載の学習装置。
【０２０１】
（付記３）前記第１ネットワークは、ＬＳＴＭ（Long  Short  Term  Memory）であることを特徴とする付記２に記載の学習装置。
【０２０２】
（付記４）前記第１ネットワークから出力される複数の内部ベクトルの統計情報を算出する第３計算部を更に有し、前記第２計算部は、前記第２ネットワークに前記統計情報を入力することで、前記出力情報を算出することを特徴とする付記２または３に記載の学習装置。
【０２０３】
（付記５）前記第３計算部は、時間方向の重みパラメータを基にして、前記統計情報を算出し、前記学習部は、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータと、前記第２ネットワークのパラメータと、前記重みパラメータを学習することを特徴とする付記４に記載の学習装置。
【０２０４】
（付記６）前記第３計算部は、前記第１ネットワークから出力される複数の内部ベクトルの平均ベクトルを算出し、前記第２計算部は、前記第２ネットワークに前記平均ベクトルを入力することで、出力情報を算出することを特徴とする付記４に記載の学習装置。
【０２０５】
（付記７）前記音声情報を基にしてストレス評価値または会話時間の少なくとも一方を含む特徴量を抽出する抽出部と、前記内部ベクトルと前記特徴量のベクトルとを連結した連結ベクトルを生成する連結部とを更に有し、前記第２計算部は、再帰パスを持たない第３ネットワークに前記連結ベクトルを入力して、出力情報を算出することを特徴とする付記２〜６のいずれか一つに記載の学習装置。
【０２０６】
（付記８）前記学習処理部によって学習された前記パラメータを前記ネットワークに設定し、音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、生成した前記音素列情報を前記ネットワークに入力することで、前記音声情報に所定の会話状況が含まれているか否かを判定する判定部を更に有することを特徴とする付記１〜７のいずれか一つに記載の学習装置。
【０２０７】
（付記９）コンピュータが実行する学習方法であって、
音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する
処理を実行することを特徴とする学習方法。
【０２０８】
（付記１０）前記ネットワークは、再帰パスを持つ第１ネットワークと、再帰パスを持たない第２ネットワークとを有し、前記学習する処理は、前記第１ネットワークに前記音素列情報を入力して、内部ベクトルを算出し、前記第２ネットワークに前記内部ベクトルを入力して、前記出力情報を算出し、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータおよび前記第２ネットワークのパラメータを学習することを特徴とする付記９に記載の学習方法。
【０２０９】
（付記１１）前記第１ネットワークは、ＬＳＴＭ（Long  Short  Term  Memory）であることを特徴とする付記１０に記載の学習方法。
【０２１０】
（付記１２）前記第１ネットワークから出力される複数の内部ベクトルの統計情報を更に算出し、前記出力情報を算出する処理は、前記第２ネットワークに前記統計情報を入力することで、前記出力情報を算出することを特徴とする付記１０または１１に記載の学習方法。
【０２１１】
（付記１３）前記統計情報を算出する処理は、時間方向の重みパラメータを基にして、前記統計情報を算出し、前記学習する処理は、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータと、前記第２ネットワークのパラメータと、前記重みパラメータを学習することを特徴とする付記１２に記載の学習方法。
【０２１２】
（付記１４）前記統計情報を算出する処理は、前記第１ネットワークから出力される複数の内部ベクトルの平均ベクトルを算出し、前記出力情報を算出する処理は、前記第２ネットワークに前記平均ベクトルを入力することで、出力情報を算出することを特徴とする付記１２に記載の学習方法。
【０２１３】
（付記１５）前記音声情報を基にしてストレス評価値または会話時間の少なくとも一方を含む特徴量を抽出し、前記内部ベクトルと前記特徴量のベクトルとを連結した連結ベクトルを生成する処理を更に実行し、前記出力情報を算出する処理は、再帰パスをもたない第３ネットワークに前記連結ベクトルを入力して、出力情報を算出することを特徴とする付記１０〜１４のいずれか一つに記載の学習方法。
【０２１４】
（付記１６）学習された前記パラメータを前記ネットワークに設定し、音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、生成した前記音素列情報を前記ネットワークに入力することで、前記音声情報に所定の会話状況が含まれているか否かを判定する処理を更に実行することを特徴とする付記９〜１５のいずれか一つに記載の学習方法。
【０２１５】
（付記１７）コンピュータに、
音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、
前記音素列情報を、ネットワークに入力した際に前記ネットワークから出力される出力情報が、前記音素列情報に対応する前記音声情報に所定の会話状況が含まれているか否かを示す正解情報に近づくように、前記ネットワークのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【０２１６】
（付記１８）前記ネットワークは、再帰パスを持つ第１ネットワークと、再帰パスを持たない第２ネットワークとを有し、前記学習する処理は、前記第１ネットワークに前記音素列情報を入力して、内部ベクトルを算出し、前記第２ネットワークに前記内部ベクトルを入力して、前記出力情報を算出し、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータおよび前記第２ネットワークのパラメータを学習することを特徴とする付記１７に記載の学習プログラム。
【０２１７】
（付記１９）前記第１ネットワークは、ＬＳＴＭ（Long  Short  Term  Memory）であることを特徴とする付記１８に記載の学習プログラム。
【０２１８】
（付記２０）前記第１ネットワークから出力される複数の内部ベクトルの統計情報を更に算出し、前記出力情報を算出する処理は、前記第２ネットワークに前記統計情報を入力することで、前記出力情報を算出することを特徴とする付記１８または１９に記載の学習プログラム。
【０２１９】
（付記２１）前記統計情報を算出する処理は、時間方向の重みパラメータを基にして、前記統計情報を算出し、前記学習する処理は、前記出力情報が、前記正解情報に近づくように、前記第１ネットワークのパラメータと、前記第２ネットワークのパラメータと、前記重みパラメータを学習することを特徴とする付記２０に記載の学習プログラム。
【０２２０】
（付記２２）前記統計情報を算出する処理は、前記第１ネットワークから出力される複数の内部ベクトルの平均ベクトルを算出し、前記出力情報を算出する処理は、前記第２ネットワークに前記平均ベクトルを入力することで、出力情報を算出することを特徴とする付記２０に記載の学習プログラム。
【０２２１】
（付記２３）前記音声情報を基にしてストレス評価値または会話時間の少なくとも一方を含む特徴量を抽出し、前記内部ベクトルと前記特徴量のベクトルとを連結した連結ベクトルを生成する処理を更に実行し、前記出力情報を算出する処理は、再帰パスを持たない第３ネットワークに前記連結ベクトルを入力して、出力情報を算出することを特徴とする付記１８〜２２のいずれか一つに記載の学習プログラム。
【０２２２】
（付記２４）
学習された前記パラメータを前記ネットワークに設定し、音声情報に対する音素の認識結果を基にして、前記音声情報に含まれる複数の音素を時系列に並べた音素列情報を生成し、生成した前記音素列情報を前記ネットワークに入力することで、前記音声情報に所定の会話状況が含まれているか否かを判定する処理を更に実行することを特徴とする付記１７〜２３のいずれか一つに記載の学習プログラム。
【符号の説明】
【０２２３】
１０    顧客端末
１５    オペレータ端末
３０    通話録音装置
４０    管理者端末
１００，３００    学習装置
２００，４００    判定装置
１０１，２０１，３０１，４０１    通信部
１０２，２０２，３０２，４０２    入力部
１０３，２０３，３０３，４０３    表示部
１０４，２０４，３０４，４０４    記憶部
１０５，２０５，３０５，４０５    制御部
１０５ａ，２０５ａ，３０５ａ，４０５ａ  取得部
１０５ｂ，２０５ｂ，３０５ｂ，４０５ｂ  通知部
１１０ａ，３１０ａ  学習用音声データベース
１１０ｂ，３１０ｂ  正解情報
１１０ｃ，３１０ｃ  ＬＳＴＭモデル
１１０ｄ，３１０ｄ  ＤＮＮモデル
１２０，２２０，３２０，４２０    生成部
１３０，２３０，３３０，４３０    第１計算部
１４０，２４０，３４０，４４０    第３計算部
１５０，２５０，３５０，４５０    第２計算部
１６０，３６０    学習部
２６０，４６０    判定部
【図１】
2020106657.tif 000003
【図２】
2020106657.tif 000004
【図３】
2020106657.tif 000005
【図４】
2020106657.tif 000006
【図５】
2020106657.tif 000007
【図６】
2020106657.tif 000008
【図７】
2020106657.tif 000009
【図８】
2020106657.tif 000010
【図９】
2020106657.tif 000011
【図１０】
2020106657.tif 000012
【図１１】
2020106657.tif 000013
【図１２】
2020106657.tif 000014
【図１３】
2020106657.tif 000015
【図１４】
2020106657.tif 000016
【図１５】
2020106657.tif 000017
【図１６】
2020106657.tif 000018
【図１７】
2020106657.tif 000019
【図１８】
2020106657.tif 000020
【図１９】
2020106657.tif 000021
【図２０】
2020106657.tif 000022
【図２１】
2020106657.tif 000023
【図２２】
2020106657.tif 000024
【図２３】
2020106657.tif 000025
【図２４】
2020106657.tif 000026
【図２５】
2020106657.tif 000027
【図２６】
2020106657.tif 000028
【図２７】
2020106657.tif 000029
【図２８】
2020106657.tif 000030