以下、分類情報生成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、対話された音声の情報である音声情報から音声の特徴量以外の情報を少なくとも用いて、少なくとも2種類の音声情報を取得し、当該取得した音声情報から2以上の特徴量を取得し、当該2以上の特徴量を学習し、音声情報を分類するための情報である分類情報を生成する学習装置について説明する。なお、分類情報は、分類器と言っても良い。また、音声の特徴量以外の情報は、例えば、ユーザから入力された音声の切り替えの指示、音声情報を音声認識され、得られた文字列から、自然言語処理により取得された1以上の用語である。
また、本実施の形態において、例えば、一般の第一ユーザとオペレータである第二ユーザとの対話における音声から分類情報を生成する学習装置について説明する。その際、第二ユーザから入力されたネガティブな種類の音声であることを特定する指示を受け付けてない場合の後半音声情報をポジティブな音声情報として使用して、分類情報を生成する学習装置について説明する。なお、一般の第一ユーザとオペレータである第二ユーザとの対話は、例えば、購入した商品に対する苦情や修理の依頼や使用方法の説明を求める第一ユーザと、当該第一ユーザが言う苦情等に対応する第二ユーザとの対話である。
図1は、本実施の形態における分類情報生成装置Aを構成する情報システムの概念図である。情報システムは、一般の1または2以上の第一ユーザの電話機X、1または2以上の第二ユーザの端末装置Y、および分類情報生成装置Aを有する。第二ユーザの端末装置Yは、第一ユーザと第二ユーザとが電話で対話をするための電話機能を有する。また、端末装置Yは、第二ユーザから、後述する箇所特定情報、後述する指示を受け付ける。また、端末装置Yは、電話のオペレータが使用する装置である。さらに、分類情報生成装置Aは、例えば、いわゆるクラウドサーバ、ASPサーバ等であるが、その種類は問わない。
図2は、本実施の形態における分類情報生成装置Aのブロック図である。
分類情報生成装置Aは、格納部1、受付部2、処理部3、および出力部4を備える。格納部1は、音声情報格納部11、および分類情報格納部12を備える。受付部2は、音声受付部21、およびユーザ受付部22を備える。処理部3は、元情報取得部31、種類情報付加部32、部分音声情報取得部33、特徴量取得部34、および分類情報構成部35を備える。出力部4は、分類情報蓄積部41を備える。
格納部1には、各種の情報が格納される。各種の情報とは、例えば、後述する音声情報、後述する分類情報である。
音声情報格納部11には、発話された音声の情報である音声情報が格納される。音声情報とは、音声の情報であり、通常、デジタルの音声の情報である。音声情報格納部11の音声情報は、電話機Xから送信された音声の音声情報であり、第一ユーザが発声した音声の音声情報を含む。音声情報は、第二ユーザが発声した音声の音声情報を含んでも良い。音声情報格納部11の音声情報は、例えば、端末装置Yから送信され、受付部2が受け付けた音声情報である。なお、端末装置Yから送信された音声情報は、第一ユーザは発声した音声の情報であり、電話機Xから送信され、端末装置Yが受け付けた音声情報でも良い。また、音声情報格納部11の音声情報は、例えば、電話機Xから送信され、受付部2が受け付けた音声情報である。
音声情報格納部11には、2以上の音声情報が格納されていることは好適である。音声情報格納部11には、2以上の第一ユーザが発声した音声の音声情報が格納されていることは好適である。
分類情報格納部12には、分類情報が格納される。分類情報は、音声情報の種類を特定する際に使用される情報である。分類情報は、後述する分類情報構成部35が構成した情報である。分類情報は、例えば、後述する分類器、後述する対応表、後述する代表的ベクトル等である。なお、分類情報の詳細については後述する。
受付部2は、各種の情報や指示を受け付ける。各種の情報や指示とは、例えば、音声情報、後述する箇所特定情報、分類情報の取得指示等である。なお、各種の情報や指示の入力手段は、タッチパネルやテンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。
ここで受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して端末装置Yから送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
音声受付部21は、音声情報を受け付ける。音声受付部21は、第一ユーザが発した音声情報を受け付けることは好適である。音声受付部21は、例えば、電話機Xから音声情報を受信する。また、音声受付部21は、例えば、電話機Xから受信した端末装置Yから音声情報を受信する。
ユーザ受付部22は、ユーザからの箇所特定情報、またはネガティブ指示または変更指示等を受け付ける。なお、かかるユーザは、通常、第二ユーザである。
箇所特定情報とは、音声情報から部分音声情報を取得する際の箇所を特定する情報である。部分音声情報は、音声情報の一部分の情報である。箇所特定情報は、例えば、音声情報の中の箇所を特定するオフセット、音声情報の開始からの相対的な時刻を示す情報などである。ユーザ受付部22は、出力されている音声情報を聞いている第二ユーザからの指示により箇所特定情報を受け付ける。また、ユーザからの受け付けとは、第二ユーザからの受け付けであり、通常、端末装置Yからの受信である。
箇所特定情報は、箇所情報と種類特定情報とを有しても良い。種類特定情報とは、音声情報の種類を特定するための情報である。種類特定情報は、例えば、音声情報の種類を特定するボタンの識別子、音声情報の種類を特定するメニュー項目の識別子である。種類特定情報は、種類情報と同じでも良い。種類情報は、音声情報の種類を特定する情報である。音声情報の種類は、例えば、ポジティブ、ネガティブを含む、2種類以上である。音声情報の種類は、例えば、ポジティブ、ネガティブ、中庸の3種類である。種類特定情報は、例えば、ポジティブまたはネガティブのいずれかを示すフラグである。また、種類特定情報は、例えば、ポジティブまたはネガティブの程度を5段階に分けた情報等でも良い。5段階の情報は、例えば、大変ポジティブ(例えば「5」)、ポジティブ(例えば「4」)、普通(例えば「3」)、ネガティブ(例えば「2」)、大変ネガティブ(例えば「1」)である。なお、箇所特定情報が箇所情報と種類特定情報とを有する場合、例えば、第二ユーザが端末装置Yに対して、変更指示を入力した場合である。また、箇所特定情報が箇所情報と種類特定情報とを有する場合、例えば、第二ユーザが端末装置Yに対して、「ネガティブ」ボタン、または「ポジティブ」ボタンを押下した場合である。なお、「ネガティブ」ボタンの押下は、ネガティブな感情(例えば、怒っているなど)で、第一ユーザが発話している場合に第二ユーザがボタンを押下する場合である。また、「ポジティブ」ボタンの押下は、ポジティブな感情(例えば、平常心、怒りが収まっている、喜んでいるなど)で、第一ユーザが発話している場合に第二ユーザがボタンを押下する場合である。
ユーザ受付部22は、例えば、第一ユーザが苦情を第二ユーザに言った後、第二ユーザが苦情に対する対応を行った後のタイミングで、第二ユーザが入力した箇所特定情報を受け付ける。なお、箇所特定情報が受け付けられた後は、例えば、ネガティブな感情を持って苦情を言っていたユーザは、第二ユーザの回答等の対応により、ポジティブな感情に変わった後である。
ユーザ受付部22は、音声情報の出力中に、ネガティブ指示をユーザから受け付けても良い。例えば、第一ユーザが苦情を第二ユーザに言った後、第二ユーザが苦情に対する対応を行ったが、第一ユーザのネガティブな感情が収まらないことを認識した第二ユーザが、ネガティブ指示を入力し、受付部2は、かかるネガティブ指示を受け付ける。また、ネガティブ指示は、例えば、第二ユーザによる「ネガティブ」ボタンの押下により受け付けられる。
変更指示は、後述する感情状態推定装置Cが出力した種類情報に対するユーザの変更指示である。感情状態推定装置Cが、例えば、「ポジティブ」である旨の種類情報を出力した場合、第二ユーザが、第一ユーザの感情は「ネガティブ」であると考え、「ネガティブ」である旨を示す変更指示を入力し、ユーザ受付部22は、かかる変更指示を受け付ける。変更指示は、例えば、第二ユーザが「ネガティブ」ボタンを押下することにより入力される。
処理部3は、各種の処理を行う。各種の処理とは、例えば、元情報取得部31、種類情報付加部32、部分音声情報取得部33、特徴量取得部34、分類情報構成部35が行う処理である。
元情報取得部31は、元情報を取得する。元情報とは、2種類以上の音声情報の種類のうちの少なくとも一つの種類の部分音声情報を音声情報の中から切り出す際に使用される情報である。元情報は、音声情報から取得される特徴量以外の情報である。元情報は、例えば、受付部2が受け付けた箇所特定情報である。元情報は、例えば、第二ユーザの発話が終了し、第一ユーザの発話に切り替わった箇所を示す箇所特定情報である。なお、例えば、処理部3が、音声情報を解析し、第二ユーザから第一ユーザに切り替わったことを検知しても良い。かかる検知方法は公知技術であるので、詳細な説明は省略する。また、実施の形態2では、元情報取得部は、音声認識処理および自然言語処理により、音声情報の種類を特定するために使用される1以上の用語を取得する。かかる1以上の用語も元情報である。
種類情報付加部32は、ユーザ受付部22が指示を受け付けた場合に、後半音声情報を第一種類情報に対応付ける。通常、音声情報の出力中に、ユーザ受付部22が指示を受け付けた場合に、種類情報付加部32は、後半音声情報を第一種類情報に対応付ける。なお、かかる指示は、ネガティブな種類の音声情報であることを特定する指示である。また、かかる指示は変更指示でも良い。第一種類情報と第二種類情報とは、種類情報の例である。
第一種類情報とは、例えば、ネガティブな種類の音声情報であることを示す情報である。第二種類情報は、例えば、ポジティブな種類の音声情報であることを示す情報である。第一種類情報と第二種類情報とは、異なる種類の音声情報であることを示す情報である。
部分音声情報取得部33は、元情報を用いて、音声情報格納部11の音声情報から、少なくとも1種類以上の部分音声情報を取得する。なお、音声情報格納部11の音声情報は、受け付けられて、一時的に音声情報格納部11に格納されている音声情報でも良い。
部分音声情報取得部33は、元情報により特定される箇所の前の音声情報のうちの少なくとも一部を含む前半音声情報と、元情報により特定される箇所の後の音声情報のうちの少なくとも一部である後半音声情報とを取得することは好適である。なお、前半音声情報は、元情報により特定される箇所の前の音声情報のうちの少なくとも一部のみでも良い。また、後半音声情報は、元情報により特定される箇所の後の音声情報のうちの少なくとも一部のみでも良い。
部分音声情報取得部33は、元情報により特定される箇所より第一の余裕分だけ前の箇所以前の音声情報である前半音声情報と、元情報により特定される箇所の第二の余裕分だけ後の箇所以降の音声情報である後半音声情報とを取得しても良い。なお、第一の余裕分と第二の余裕分は、時間でも良いし、音声情報のストリームのパケット数等でも良い。また、第一の余裕分と第二の余裕分とは、同じでも良いし、異なっていても良い。
部分音声情報取得部33は、箇所特定情報を用いて、音声情報格納部11の音声情報から部分音声情報を取得し、当該部分音声情報を種類特定情報に対応する種類情報に対応付ける。部分音声情報取得部33は、例えば、箇所特定情報が有する箇所情報に対応する箇所に対応する部分音声情報を音声情報格納部11の音声情報から取得し、当該部分音声情報を、箇所特定情報が有する種類特定情報または当該種類特定情報に対応する種類情報に対応付ける。箇所情報に対応する箇所とは、箇所情報が示す箇所でも良いし、箇所情報が示す箇所より第一の余裕分だけ前の箇所でも良いし、箇所情報が示す箇所より第二の余裕分だけ後の箇所でも良い。
部分音声情報取得部33は、例えば、音声情報格納部11の音声情報から取得した前半音声情報を、「ネガティブ」を示す種類情報に対応付け、音声情報格納部11の音声情報から取得した後半音声情報を、「ポジティブ」を示す種類情報に対応付ける。
部分音声情報取得部33は、受付部2が変更指示を受け付けた場合に、受け付けた箇所に対応する部分音声情報を音声情報から取得する。
部分音声情報取得部33は、受付部2が変更指示を受け付けた場合に、例えば、受け付けた箇所に対応する後半音声情報を、「ネガティブ」を示す種類情報に対応付けても良い。かかる場合、出力中の音声情報は、通常、「ポジティブ」を示す種類情報に対応付けられるべき音声情報である
特徴量取得部34は、音声情報から音声の1以上の特徴量を取得する。特徴量取得部34は、通常、部分音声情報から音声の1以上の特徴量を取得する。1以上の特徴量は、例えば、音量に関する音量情報、間に関する間情報、ピッチに関するピッチ情報、リズムに関するリズム情報、吃音に関する吃音情報、ブレスに関するブレス情報、ビブラートに関するビブラート情報、音程に関する音程情報である。音量情報は、例えば、声の絶対的な大きさ(例えば、単位は、デシベル)、声の相対的な大きさである。相対的な大きさは、基準値1.0として、声の大きさを基準値と比較した比率で表した値である。なお、基準値は、例えば、会話の全体の平均音量を示す値である。また、基準値は、例えば、予め格納部1に格納されている値である。間情報は、例えば、声を出していない無音区間の時間、音量が閾値以下または閾値より小さい時間の割合、閾値以下または閾値より小さい時の音量が連続する時間の合計、ある一定時間の中で話者の音量が閾値上下に存在する時間の割合等である。ピッチ情報は、例えば、声の周波数、声の周波数の移動平均、声の周波数の変化率(微分値)、声の周波数の分散値である。リズム情報は、例えば、一定時間の中に含まれる音の数、一定時間の中に含まれる音の数の移動平均、一定時間の中に含まれる音の数の変化率(微分値)、一定時間の中に含まれる音の数の分散値である。吃音情報は、例えば、一定時間の中に同じ音が3回以上連続であらわれた回数、一定時間の中に同じ音が3回以上連続であらわれたか否か、連続した発話の中に同じ音が3回以上連続であらわれた回数、連続した発話の中に同じ音が3回以上連続であらわれたか否か等である。ブレス情報は、例えば、一定時間の中で息を吸った回数、連続した発話の中で息を吸った回数、ビブラート情報は、例えば、声の揺れ方の程度を示す値、声の揺れ方の程度を示す値の移動平均、声の揺れ方の程度を示す値の変化率(微分値)、声の揺れ方の程度を示す値の分散値である。音程情報は、声の音程を示す情報(例えば、単位はセント)、声の音程を示す情報の移動平均、声の音程を示す情報の変化率(微分値)、声の音程を示す情報の分散値である。
なお、特徴量取得部34が部分音声情報から音声の特徴量を取得する技術については公知技術であるので詳細な説明は省略する。また、特徴量取得部34が取得する特徴量は、種々、考えられる。また、特徴量は、特徴的な値、特徴を示す値、特徴と言っても良い。
特徴量取得部34は、前半音声情報から1以上の特徴量である第一種特徴量群を取得し、かつ後半音声情報から1以上の特徴量である第二種特徴量群を取得することは好適である。第一種特徴量群と第二種特徴量群とは、ベクトルで表現され得る。第一種特徴量群と第二種特徴量群は、各々、第一特徴量ベクトル、第二特徴量ベクトルと言っても良い。
分類情報構成部35は、特徴量取得部34が取得した1以上の特徴量を用いて、音声情報の種類を特定する際に使用される分類情報を構成する。
分類情報構成部35は、例えば、第一種特徴量群と第一種類情報とを対応付けた情報、および第二種特徴量群と第二種類情報とを対応付けた情報を用いて、分類情報を構成する。なお、第一種類情報は、第一種の音声情報であることを示す情報である。また、第二種類情報は、第二種の音声情報であることを示す情報である。
また、2つの情報を対応付けた情報とは、2つの情報を含む情報でも良いし、2つの情報間のリンクの情報等でも良く、2つの情報を取得するための情報であれば、情報の構造は問わない。つまり、第一種特徴量群と第一種類情報とを対応付けた情報は、第一種特徴量群と第一種類情報とを有する情報でも良く、結果として第一種特徴量群と第一種類情報とが取得するための情報であれば良い。また、第二種特徴量群と第二種類情報とを対応付けた情報は、第二種特徴量群と第二種類情報とを有する情報でも良く、結果として第二種特徴量群と第二種類情報とが取得するための情報であれば良い。また、分類情報は、少なくとも第一種の音声情報と第二種の音声情報とを区別する際に使用される情報である。
分類情報構成部35は、例えば、第一種特徴量群と第一種類情報とを対応付けた情報、および第二種特徴量群と第二種類情報とを対応付けた情報を用いて、分類情報を構成する。第一種類情報に対応付けられていない後半音声情報とは、例えば、「ネガティブ」であることを示す情報に対応付けられていない後半音声情報である。なお、第二種特徴量群は、第一種類情報に対応付けられていない後半音声情報から取得された1または2以上の特徴量の集合であることは好適である。
分類情報構成部35が分類情報を構成するアルゴリズムとして、以下の3つの方法がある。第一は、機械学習により分類器を構成する場合である。第二は、対応表等を構成する場合である。第三は、代表的ベクトルを構成する場合である。なお、分類器、対応表等、演算式は、分類情報の例である。以下、3つの場合について詳細に説明する。
(1)機械学習により分類器を構成する場合
分類情報構成部35は、例えば、1以上の特徴量を用いて、機械学習のアルゴリズムにより、音声情報の種類を特定する分類情報を構成する。かかる場合、分類情報は、分類器と言っても良い。
分類情報構成部35は、例えば、第一種特徴量群と第一種類情報とを対応付けた情報、および第二種特徴量群と第二種類情報とを対応付けた情報を用いて、機械学習のアルゴリズムにより、分類情報を構成する。機械学習のアルゴリズムは、例えば、深層学習、SVM、決定木、ランダムフォレスト等である。ただし、機械学習のアルゴリズムは問わない。
分類情報構成部35は、例えば、第一種特徴量群と第一種類情報との1または2以上の組、および第二種特徴量群と第二種類情報との1または2以上の組を用いて、機械学習のアルゴリズムにより、分類情報を構成する。機械学習のアルゴリズムは、上述したように、種々あり得、そのアルゴリズムは問わない。
(2)対応表等を構成する場合
分類情報構成部35は、例えば、第一種類情報に対応する1または2以上の第一種特徴量群と、第二種類情報に対応する1または2以上の第二種特徴量群との集合である分類情報を構成する。
また、分類情報構成部35は、例えば、第一種類情報と第一種特徴量群との組である1以上の対応情報、および第二種類情報と第二種特徴量群との組である1以上の対応情報を有する分類情報を構成する。なお、2以上の対応情報を有する情報を対応表という。
(3)代表ベクトルを構成する場合
分類情報構成部35は、例えば、1または2以上のベクトルである第一種特徴量群と第一種類情報とを対応付けた情報から、1以上の第一種特徴量群を取得し、当該1以上のベクトルである第一種特徴量群に対して予め決められた演算を行い、1以上の第一種特徴量群を代表するベクトルである第一種類情報の代表ベクトルを取得する。また、分類情報構成部35は、例えば、1または2以上のベクトルである第二種特徴量群と第二種類情報とを対応付けた情報から、1以上の第二種特徴量群を取得し、当該1以上のベクトルである第二種特徴量群に対して予め決められた演算を行い、1以上の第二種特徴量群を代表するベクトルである第二種類情報の代表ベクトルを取得する。
なお、予め決められた演算は、例えば、1以上のベクトルである第一種特徴量群の要素ごとに、代表値(例えば、平均値、中央値など)を取得し、当該代表値をベクトルの要素とするベクトルを取得する処理である。
出力部4は、各種の情報を出力する。各種の情報とは、例えば、分類情報構成部35が構成した分類情報、音声情報格納部11の音声情報である。
また、ここでの分類情報の出力とは、通常、記録媒体への蓄積であるが、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。また、音声情報の出力とは、通常、音声の出力であるが、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
出力部4は、スピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部4は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
分類情報蓄積部41は、分類情報構成部35が構成した分類情報を蓄積する。分類情報蓄積部41は、通常、分類情報格納部12に分類情報を蓄積するが、外部の装置の記録媒体に分類情報を蓄積しても良い。
格納部1、音声情報格納部11、および分類情報格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部1等で記憶されるようになってもよい。
受付部2、音声受付部21、およびユーザ受付部22は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部3、元情報取得部31、種類情報付加部32、部分音声情報取得部33、特徴量取得部34、分類情報構成部35、出力部4、および分類情報蓄積部41は、通常、MPUやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、分類情報生成装置Aの動作例について、図3のフローチャートを用いて説明する。
(ステップS301)音声受付部21は、音声情報を受け付けたか否かを判断する。音声情報を受け付けた場合はステップS302に行き、音声情報を受け付けかった場合はステップS303に行く。なお、音声受付部21が受け付ける音声情報は、例えば、第一ユーザが発声した音声をデジタル化した情報を含む。
(ステップS302)処理部3は、ステップS301で受け付けられた音声情報を音声情報格納部11に少なくとも一時蓄積する。ステップS301に戻る。なお、蓄積される音声情報は、第一ユーザが発した音声情報のみであることは好適である。また、2人での対話における音声情報の中から、一のユーザ(例えば、第一ユーザ)のみの音声情報を抽出する技術は公知技術であるので、詳細な説明は省略する。また、音声情報の受け付けの後、直ちに、出力部4は当該音声情報を出力しても良い。かかる場合、第二ユーザは、当該音声情報を聞く。
(ステップS303)ユーザ受付部22は、ユーザ(例えば、第二ユーザ)から箇所特定情報を受け付けたか否かを判断する。箇所特定情報を受け付けた場合はステップS304に行き、箇所特定情報を受け付けなかった場合はステップS306に行く。なお、ユーザ受付部22が箇所特定情報を受け付ける場合は、音声情報の出力中であることは好適である。また、音声情報が出力されている場合は、例えば、ステップS301で音声受付部21が音声情報を受け付けた場合、またはステップS313でユーザ受付部22が音声情報の出力指示が受け付けた場合である。
(ステップS304)元情報取得部31は、ステップS303で受け付けられた箇所特定情報を取得する。
(ステップS305)部分音声情報取得部33は、ステップS304で取得された箇所特定情報を、音声情報の出力中の箇所に対応付ける。ステップS301に戻る。なお、箇所特定情報と音声情報との対応付け方法は、は問わない。当該方法は、例えば、音声情報の出力中の箇所を示すオフセットを取得し、図示しないバッファに蓄積すること、箇所特定情報と音声情報の出力中の箇所を示すオフセットとの組の情報を図示しないバッファに蓄積すること、音声情報のデータ領域に箇所特定情報(フラグでも良い)を蓄積すること等である。
(ステップS306)ユーザ受付部22は、ユーザから変更指示を受け付けたか否かを判断する。変更指示を受け付けた場合はステップS307に行き、変更指示を受け付けなかった場合はステップS309に行く。なお、ユーザは、例えば、第二ユーザである。
(ステップS307)種類情報付加部32は、ステップS306で受け付けられた変更指示を取得する。
(ステップS308)種類情報付加部32は、ネガティブな音声情報であることを示す第一種類情報を音声情報に対応付ける。ステップS301に戻る。なお、ここで、第一種類情報が対応付けられる音声情報は、例えば、後半音声情報である。
(ステップS309)処理部3は、分類情報を取得するタイミングであるか否かを判断する。分類情報を取得するタイミングである場合はステップS310に行き、分類情報を取得するタイミングでない場合はステップS313に行く。なお、分類情報を取得するタイミングは、例えば、ユーザから分類情報の取得指示が受け付けられた場合、予め決められた時刻になった場合等である。分類情報を取得するタイミングは、問わない。
(ステップS310)部分音声情報取得部33は、部分音声情報取得処理を行う。かかる処理は、部分音声情報を取得する処理である。部分音声情報取得処理の例について、図4のフローチャートを用いて説明する。
(ステップS311)分類情報構成部35等は、分類情報構成処理を行う。かかる処理は、分類情報を取得する処理である。分類情報構成処理の例について、図5〜図8のフローチャートを用いて説明する。
(ステップS312)分類情報蓄積部41は、ステップS311で取得された1または2以上の分類情報を蓄積する。蓄ステップS301に戻る。なお、分類情報の蓄積先は、例えば、分類情報格納部12、外部の装置等である。分類情報の蓄積先は問わない。
(ステップS313)ユーザ受付部22が音声情報の出力指示を受け付けたか、または音声情報が出力中であるか否かを判断する。かかる場合であればテップS314に行き、かかる場合でなければステップS315に行く。
(ステップS314)出力部4は、音声情報を、順次、出力する。ステップS301に戻る。なお、音声情報は、通常、ストリームであり、出力部4は、連続して音声情報を出力しつつ、分類情報生成装置Aは、外部から箇所特定情報や変更指示等を受け付ける。
(ステップS315)ユーザ受付部22が、ネガティブ指示を受け付けたか否かを判断する。ネガティブ指示を受け付ければテップS316行き、ネガティブ指示を受け付けなければステップS301に戻る。
(ステップS316)処理部3は、音声情報の出力中の箇所に、ネガティブ指示を対応付ける。ステップS301に戻る。なお、かかるネガティブ指示が対応付けられる音声情報は、例えば、後半音声情報である。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS310の部分音声情報取得処理の例について、図4のフローチャートを用いて説明する。
(ステップS401)部分音声情報取得部33は、カウンタiに1を代入する。
(ステップS402)部分音声情報取得部33は、音声情報格納部11にi番目の音声情報が存在するか否かを判断する。i番目の音声情報が存在すればステップS403に行き、i番目の音声情報が存在しなければ上位処理にリターンする。
(ステップS403)部分音声情報取得部33は、i番目の音声情報に対応付いている1以上の元情報を取得する。なお、元情報は、例えば、箇所特定情報である。
(ステップS404)部分音声情報取得部33は、カウンタjに1を代入する。
(ステップS405)部分音声情報取得部33は、ステップS403で取得した1以上の元情報のうち、j番目の元情報が存在するか否かを判断する。j番目の元情報が存在すればステップS403に行き、j番目の元情報が存在しなければステップS410に行く。
(ステップS406)部分音声情報取得部33は、j番目の元情報に対応する1または2以上の部分音声情報をi番目の音声情報から取得する。部分音声情報取得部33は、例えば、箇所特定情報が示す箇所より前の部分音声情報であり、第一ユーザの部分音声情報をi番目の音声情報から取得する。なお、かかる部分音声情報は、前半音声情報である。また、部分音声情報取得部33は、例えば、箇所特定情報が示す箇所より後の部分音声情報であり、第一ユーザの部分音声情報をi番目の音声情報から取得する。なお、かかる部分音声情報は、後半音声情報である。
また、部分音声情報取得部33は、例えば、箇所特定情報が示す箇所より第一の余裕分の箇所より前の部分音声情報であり、第一ユーザの部分音声情報をi番目の音声情報から取得する。なお、かかる部分音声情報は、前半音声情報である。また、部分音声情報取得部33は、例えば、箇所特定情報が示す箇所より第二の余裕分の箇所より後の部分音声情報であり、第一ユーザの部分音声情報をi番目の音声情報から取得する。なお、かかる部分音声情報は、後半音声情報である。
なお、部分音声情報取得部33は、j番目の元情報を用いて、音声情報から部分音声情報を切り出す範囲は、種々あり得、問わない。
(ステップS407)部分音声情報取得部33は、j番目の元情報に対応する1または2以上の種類情報を取得する。部分音声情報取得部33は、例えば、j番目の元情報を用いて取得された前半音声情報に対応する種類情報として、ネガティブな音声情報であることを示す第一種類情報を取得する。また、部分音声情報取得部33は、例えば、j番目の元情報を用いて取得された後半音声情報に対応する種類情報として、ポジティブな音声情報であることを示す第二種類情報を取得する。
(ステップS408)部分音声情報取得部33は、ステップS406で取得した1以上の各部分音声情報を、ステップS407で取得した種類情報に対応付けて蓄積する。例えば、部分音声情報取得部33は、ステップS406で取得した前半音声情報を第一種類情報に対応付け、ステップS406で取得した後半音声情報を第二種類情報に対応付ける。なお、部分音声情報と種類情報との蓄積先は、図示しないバッファ、格納部1等、問わない。
(ステップS409)部分音声情報取得部33は、カウンタjを1、インクリメントする。ステップS405に戻る。
(ステップS410)部分音声情報取得部33は、カウンタiを1、インクリメントする。ステップS402に戻る。
次に、ステップS311の分類情報構成処理の第一の例について、図5のフローチャートを用いて説明する。分類情報構成処理の第一の例は、音声情報の複数の種類を一度に判断できる分類器を機械学習のアルゴリズムにより構成する例である。
(ステップS501)特徴量取得部34は、カウンタiに1を代入する。
(ステップS502)特徴量取得部34は、i番目の種類情報が存在するか否かを判断する。i番目の種類情報が存在する場合はステップS503に行き、i番目の種類情報が存在しない場合はステップS508に行く。なお、特徴量取得部34は、種類情報の数を予め保持していても良いし、部分音声情報に対応付くすべての種類情報を取得し、当該種類情報に対してユニーク処理を行い、種類情報の数を取得する等しても良い。
(ステップS503)特徴量取得部34は、カウンタjに1を代入する。
(ステップS504)特徴量取得部34は、i番目の種類情報に対応するj番目の部分音声情報が存在するか否かを判断する。j番目の部分音声情報が存在する場合はステップS505に行き、j番目の部分音声情報が存在しない場合はステップS507に行く。なお、部分音声情報は、ステップS408で蓄積された情報である。
(ステップS505)特徴量取得部34は、j番目の部分音声情報から1または2以上の特徴量である特徴量群を取得し、当該1以上の特徴量をi番目の種類情報に対応付けて、図示しないバッファに一時蓄積する。
(ステップS506)特徴量取得部34は、カウンタjを1、インクリメントする。ステップS504に戻る。
(ステップS507)特徴量取得部34は、カウンタiを1、インクリメントする。ステップS502に戻る。
(ステップS508)分類情報構成部35は、図示しないバッファに一時蓄積された特徴量群と種類情報との複数の組を入力とし、機械学習のアルゴリズムにより分類器を構成する。上位処理にリターンする。なお、かかる機械学習のアルゴリズムは、例えば、ランダムフォレスト、深層学習等である。また、かかる分類器は、例えば、複数の各種類情報が示す各種類に属する尤度を出力する分類器でも良いし、属する一の種類の種類情報を出力する分類器でも良い。
次に、ステップS311の分類情報構成処理の第二の例について、図6のフローチャートを用いて説明する。なお、分類情報構成処理の第二の例は、機械学習のアルゴリズムにより、音声情報の複数の各種類ごとに分類器を構成する例である。かかる分類器は、例えば、当該分類器に対応する種類に属する尤度を出力する。また、図6のフローチャートにおいて、図5のフローチャートのステップと同一のステップについて、説明を省略する。
(ステップS601)分類情報構成部35は、カウンタiに1を代入する。
(ステップS602)分類情報構成部35は、i番目の種類情報が存在するか否かを判断する。i番目の種類情報が存在する場合はステップS603に行き、i番目の種類情報が存在しない場合は上位処理にリターンする。なお、分類情報構成部35は、予め種類情報の数を保持していても良いし、部分音声情報に対応付くすべての種類情報を取得し、当該種類情報に対してユニーク処理を行い、種類情報の数を取得する等しても良い。
(ステップS603)分類情報構成部35は、i番目の種類情報に対応する1または2以上の特徴量群を図示しないバッファから取得し、当該1以上の特徴量群を正例とする。また、分類情報構成部35は、i番目の種類情報に対応しない1または2以上の特徴量群を図示しないバッファから取得し、当該1以上の特徴量群を負例とする。そして、分類情報構成部35は、正例の1以上の特徴量群と、負例の1以上の特徴量群とを入力として、機械学習のアルゴリズムに分類器を構成する。なお、かかる機械学習のアルゴリズムは、二値分類を行える機械学習であり、例えば、SVM等である。また、分類情報構成部35は、i番目の種類情報に対応しない全ての特徴量群を負例として使用する必要は無い。例えば、分類情報構成部35は、i番目の種類情報に対応する特徴量群の第一の数を取得し、当該第一の数に対応する第二の数のi番目の種類情報に対応しない特徴量群のみを取得し、負例として使用しても良い。第一の数に対応する第二の数とは、第一の数と同じ第二の数でも良いし、「第二の数=f(第一の数)」により算出された第二の数でも良い。なお、関数fは、通常、第一の数をパラメータとする増加関数である。
(ステップS604)分類情報構成部35は、カウンタiを1、インクリメントする。ステップS602に戻る。
次に、ステップS311の分類情報構成処理の第三の例について、図7のフローチャートを用いて説明する。なお、分類情報構成処理の第三の例は、分類情報が対応表である場合である。かかる対応表は、2以上の対応情報を有する。対応情報は、例えば、特徴量群と種類情報との対の情報である。また、図7のフローチャートにおいて、図5のフローチャートのステップと同一のステップについて、説明を省略する。
(ステップS701)分類情報構成部35は、ステップS505で取得された1以上の特徴量である特徴量群とi番目の種類情報とを有する対応情報を蓄積する。ステップS506に行く。なお、図7にあるように、ステップS505からステップS701に処理が移行する。
次に、ステップS311の分類情報構成処理の第四の例について、図8のフローチャートを用いて説明する。なお、分類情報構成処理の第四の例は、種類情報ごとに代表ベクトルを構成する場合である。つまり、かかる場合の分類情報は、種類情報と代表ベクトルとの組の情報を2組以上、有する。また、図8のフローチャートにおいて、図5のフローチャートのステップと同一のステップについて、説明を省略する。
(ステップS801)分類情報構成部35は、ステップS505で取得されたi番目の種類情報に対応する部分音声情報から取得された1または2以上の特徴量群を図示しないバッファから取得し、当該1以上の特徴量群から代表ベクトルを取得する。なお、ステップS504からステップS801に処理が移行した。
(ステップS802)分類情報構成部35は、i番目の種類情報と代表ベクトルとを有する対応情報を構成し、図示しないバッファに一時蓄積する。ステップS507に行く。
(ステップS803)分類情報構成部35は、ステップS802で構成された2以上の対応情報からなる対応表を構成する。上位処理にリターンする。また、ステップS502からステップS803に処理が移行した。
以下、本実施の形態における分類情報生成装置Aの具体的な動作について説明する。分類情報生成装置Aの概念図は図1である。
今、商品に対する苦情を言おうと、第一ユーザが、当該商品を販売する企業のお客様相談室のオペレータに電話をかけた、とする。なお、オペレータは、第二ユーザである。
そして、まず、第一ユーザが第二ユーザに商品の苦情を、怒った様子で、電話で伝えた、とする。かかる段階で、第一ユーザが発した音声の音声情報は分類情報生成装置Aに送信され、分類情報生成装置Aの音声受付部21は、当該音声情報を受け付ける。そして、出力部4は、当該音声情報を音声情報格納部11に蓄積する。
次に、第二ユーザは、かかる苦情を宥めるべく、懇切丁寧に商品の説明を第一ユーザに対して、電話で行い、第一ユーザの怒りの気持ちが消えた、とする。そして、第二ユーザは、第一ユーザが納得してくれ、第一ユーザの怒りの気持ちが消えたことを認識し、図9に示す端末装置Yの画面の「ポジティブ」ボタン901を押下した、とする。すると、かかるボタンの押下を受け付けた端末装置Yは、箇所特定情報を分類情報生成装置Aに送信する。そして、分類情報生成装置Aのユーザ受付部22は箇所特定情報を端末装置Yから受信する。なお、箇所特定情報は、例えば、フラグや「ポジティブ」を示す情報等である。次に、元情報取得部31は、ステップS303で受け付けられた箇所特定情報を取得する。次に、部分音声情報取得部33は、取得された箇所特定情報を音声情報の出力中の箇所に対応付ける。つまり、箇所特定情報は、第二ユーザが第一ユーザの怒りの気持ちが消えたと判断した時点の音声情報に対応付けられる。
次に、第一ユーザは、例えば、「良く分かりました。丁寧なご説明を有り難うございます。今後、上手く商品を使うようにします。・・・」といった発話を行った、とする。すると、かかる音声情報が分類情報生成装置Aに送信され、分類情報生成装置Aの音声受付部21は、当該音声情報を受け付ける。そして、出力部4は、当該音声情報を音声情報格納部11に蓄積する。
以上のような音声情報と箇所特定情報との蓄積の処理が、第一ユーザと第二ユーザとの1以上の組ごとの対話に対して、行われる。
なお、第二ユーザが、例えば、十分に説明したにも関わらず、第一ユーザに説明が理解されず、第一ユーザのネガティブな感情に変化がない、と第二ユーザが判断した場合、第二ユーザが、図9に示す端末装置Yの画面の「ネガティブ」ボタン902を押下した、とする。そして、かかる場合、「ネガティブ」ボタン902の押下に対応する指示であり、ネガティブな種類の音声であることを特定する指示が分類情報生成装置Aに送信される。そして、分類情報生成装置Aの受付部2は、かかる指示を受信する。次に、処理部3は、ネガティブな種類の音声であることを特定する指示を、出力中の音声情報の箇所に対応付ける。なお、かかる指示が対応付いた音声情報は後半音声情報である。
次に、分類情報生成装置Aのユーザは、分類情報生成装置Aに対して、分類情報の取得指示を入力した、とする。すると、処理部3は、分類情報を取得するタイミングであると判断する。なお、分類情報生成装置Aのユーザは、第二ユーザでも良いし、他のユーザでも良い。
次に、部分音声情報取得部33は、音声情報格納部11の多数の音声情報を用いて、上述した部分音声情報取得処理を行う。そして、2以上の各第二ユーザが発した前半音声情報に対して、ネガティブを示す第一種類情報が付加された部分音声情報が音声情報格納部11に多数、蓄積される。また、2以上の各第二ユーザが発した後半音声情報に対して、ポジティブを示す第二種類情報が付加された部分音声情報が音声情報格納部11に多数、蓄積された、とする。なお、2以上の各第二ユーザが発した後半音声情報でも、ネガティブな種類の音声であることを特定する指示に対応付いている後半音声情報は、音声情報格納部11に蓄積されなくても良いし、ネガティブを示す第一種類情報が付加された部分音声情報として、音声情報格納部11に蓄積されても良い。
次に、特徴量取得部34は、音声情報格納部11の各部分音声情報から特徴量群を取得する。そして、特徴量取得部34は、特徴量群を種類情報に対応付ける。
次に、分類情報構成部35は、種類情報に対応付いた多数の特徴量群を用いて、分類情報を構成する。なお、分類情報の構成処理は、上述した処理のうちのいずれかを用いる。そして、分類情報蓄積部41は、構成された1または2以上の分類情報を分類情報格納部12に蓄積する。
以上、本実施の形態によれば、発話された音声の音声情報から、音声情報を2種類以上に適切に分類できる分類情報を生成できる。
また、本実施の形態によれば、ユーザからの情報の入力に基づき、音声情報を2種類以上に適切に分類できる分類情報を生成できる。
また、本実施の形態によれば、ユーザからの情報の入力に基づき、音声情報をネガティブな音声またはポジティブな音声に適切に分類できる分類情報を生成できる。
また、本実施の形態によれば、発話された音声の音声情報から、音声情報を2種類以上に適切に分類できる分類情報を機械学習のアルゴリズムにより生成できる。
さらに、本実施の形態によれば、ユーザの変更指示の入力により、発話された音声の音声情報から、音声情報を2種類以上に適切に分類できる分類情報を生成できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における分類情報生成装置Aを実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、例えば、発話された音声の情報である音声情報が格納される音声情報格納部にアクセス可能なコンピュータを、2種類以上の音声情報の種類のうちの少なくとも一つの種類の部分音声情報を音声情報の中から切り出す際に使用される情報であり、前記音声情報から取得される特徴量以外の情報である元情報を取得する元情報取得部と、前記元情報を用いて、前記音声情報格納部の音声情報から、少なくとも1種類以上の音声情報である部分音声情報を取得する部分音声情報取得部と、前記部分音声情報から音声の1以上の特徴量を取得する特徴量取得部と、前記1以上の特徴量を用いて、音声情報の種類を特定する際に使用される分類情報を構成する分類情報構成部と、前記分類情報を蓄積する分類情報蓄積部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記分類情報構成部は、前記1以上の特徴量を用いて、機械学習のアルゴリズムにより、前記音声情報の種類特定する分類器である分類情報を構成するものとして、コンピュータを機能させるプログラムであることは好適である。
また、このプログラムは、例えば、対話された音声の情報である音声情報が格納される音声情報格納部にアクセス可能なコンピュータを、前記音声情報の出力中に、当該音声情報から前記部分音声情報を取得する際の箇所を特定する箇所特定情報、およびネガティブな種類の音声であることを特定する指示をユーザから受け付ける受付部と、前記受付部が受け付けた箇所特定情報である元情報を取得する元情報取得部と、前記元情報により特定される箇所の前の音声情報のうちの少なくとも一部である前半音声情報と、前記元情報により特定される箇所の後の音声情報のうちの少なくとも一部である後半音声情報とを取得する部分音声情報取得部と、前記前半音声情報から1以上の特徴量である第一種特徴量群を取得し、かつ前記ネガティブな種類の音声であることを特定する指示に対応付いていない後半音声情報から1以上の特徴量である第二種特徴量群を取得する特徴量取得部と、前記第一種特徴量群とネガティブな音声であることを示す第一種類情報とを有する情報、および前記第二種特徴量群とポジティブな音声であることを示す第二種類情報とを有する情報を用いて、機械学習のアルゴリズムにより、少なくとも第一種の音声情報と第二種の音声情報とを区別可能な分類器である分類情報を構成する分類情報構成部と、前記分類情報を蓄積する分類情報蓄積部として機能させるためのプログラムである。
(実施の形態2)
本実施の形態において、実施の形態1との差異は、部分音声情報を取得する場合に、音声認識技術と、自然言語処理技術を用いる点である。なお、部分音声情報を取得した後の分類情報を構成する処理は、実施の形態1で説明した処理と同様である。
本実施の形態における分類情報生成装置Bの概念図は、符号を除いて、図1と同じである。図10は、本実施の形態における分類情報生成装置Bのブロック図である。
分類情報生成装置Bは、格納部5、受付部2、処理部6、および出力部4を備える。格納部5は、音声情報格納部11、分類情報格納部12、および辞書53を備える。処理部6は、元情報取得部61、部分音声情報取得部62、特徴量取得部34、および分類情報構成部35を備える。元情報取得部61は、音声認識手段611、および用語取得手段612を備える。
格納部5には、各種の情報が格納される。各種の情報とは、例えば、音声情報、分類情報、後述する辞書の情報である。
辞書53は、種類情報と1以上の用語との対応を管理する。辞書53は、例えば、種類情報と用語との組を1または2組以上、有する。辞書53は、例えば、2以上の各種類情報ごとに、1以上の用語を格納している。例えば、ネガティブである第一種類情報に対応付けて「駄目」「動かない」「不良品」などが格納されており、ポジティブである第二種類情報に対応付けて「分かりました」「良い」「すばらしい」などが格納されている。
処理部6は、各種の処理を行う。各種の処理とは、例えば、処理部6、元情報取得部61、部分音声情報取得部62、特徴量取得部34、分類情報構成部35、音声認識手段611、用語取得手段612が行う処理である。
元情報取得部61は、元情報を取得する。元情報は、音声情報から取得される特徴量以外の情報である。元情報は、2種類以上の音声情報の種類のうちの少なくとも一つの種類の部分音声情報を音声情報の中から切り出す際に使用される情報である。元情報は、ここでは、1以上の用語である。元情報は、例えば、辞書53に格納されている用語である。
音声認識手段611は、音声情報に対して音声認識し、テキストを取得する。なお、音声認識手段611の処理は公知技術であるので、詳細な説明を省略する。
用語取得手段612は、テキストの中の1以上の用語を取得する。用語取得手段612は、取得した用語を、用語が取得される元になった音声情報の箇所に対応付ける。
用語取得手段612は、例えば、テキストを形態素解析し、1以上の自立語を取得し、当該自立語を、当該自立語を取得する元になった音声情報の箇所に対応付ける。
部分音声情報取得部62は、元情報を用いて、音声情報格納部11の音声情報から、少なくとも1種類以上の音声情報である部分音声情報を取得する。
部分音声情報取得部62は、用語取得手段612が取得した1以上の各用語を、用語と種類情報との対応を示す辞書53を参照し、各用語に対する種類情報を取得する。なお、通常、用語取得手段612が取得した1以上の用語のうちの一部の用語が種類情報に対応する。部分音声情報取得部62は、例えば、用語取得手段612が取得した1以上の各用語をキーとして辞書53を検索し、各用語と対になる種類情報を辞書53から取得し、各用途と取得した種類情報とを対応付ける。
そして、部分音声情報取得部62は、用語取得手段612が取得した1以上の各用語に対応する音声の出現箇所を用いて、取得した種類情報に対応する部分音声情報を音声情報から取得する。なお、用語の音声における出現箇所は、音声情報の中の用語が対応付いている箇所である。種類情報に対応する部分音声情報とは、例えば、用語に対応する音声の出現箇所を含み、当該出現箇所の前後閾値以内の時間の音声情報である。また、種類情報に対応する部分音声情報とは、例えば、一の種類情報に対応する用語に対応する出現箇所から、一の種類情報とは異なる他の種類情報に対応する用語に対応する出現箇所の前までの音声情報である。その他、種類情報に対応する部分音声情報の、音声情報の中での範囲は問わない。
部分音声情報取得部62は、例えば、種類情報「ネガティブ」と対になる用語が連続する箇所に対応する部分音声情報を、種類情報「ネガティブ」に対応付けて取得する。また、部分音声情報取得部62は、例えば、種類情報「ポジティブ」と対になる用語が連続する箇所に対応する部分音声情報を、種類情報「ポジティブ」に対応付けて取得する。
また、部分音声情報取得部62は、例えば、種類情報「ネガティブ」と対になる用語が出現する箇所の前後閾値の時間の幅の部分音声情報を、種類情報「ネガティブ」に対応付けて取得する。また、部分音声情報取得部62は、例えば、種類情報「ポジティブ」と対になる用語が出現する箇所の前後閾値の時間の幅の部分音声情報を、種類情報「ポジティブ」に対応付けて取得する。
格納部5、および辞書53は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部5等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部5等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部5で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部5等で記憶されるようになってもよい。
処理部6、元情報取得部61、部分音声情報取得部62、音声認識手段611、および用語取得手段612は、通常、MPUやメモリ等から実現され得る。分類情報構成部35の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、分類情報生成装置Bの動作例について、図11のフローチャートを用いて説明する。図11において、例えば、1または2以上の第一ユーザの多数の音声情報が音声情報格納部11に格納されている、とする。また、図11のフローチャートにおいて、図3のフローチャートのステップと同一のステップについて、説明を省略する。
(ステップS1101)処理部6は、カウンタiに1を代入する。
(ステップS1102)処理部6は、i番目の音声情報が音声情報格納部11に存在するか否かを判断する。i番目の音声情報が存在する場合はステップS1103に行き、存在しない場合はステップS1112に行く。
(ステップS1103)音声認識手段611は、i番目の音声情報を音声認識し、1以上の用語を有するテキストを構成する。
(ステップS1104)用語取得手段612は、ステップS1103で取得されたテキストを形態素解析し、当該テキストの中の1以上の用語を取得し、当該用語を取得する元になった音声情報の箇所に対応付ける。
(ステップS1105)部分音声情報取得部62は、カウンタjに1を代入する。
(ステップS1106)部分音声情報取得部62は、ステップS1104で取得された用語のうち、j番目の用語が存在するか否かを判断する。j番目の用語が存在する場合はステップS1107に行き、j番目の用語が存在しない場合はステップS1111に行く。
(ステップS1107)部分音声情報取得部62は、j番目の用語が辞書53に存在するか否かを判断する。j番目の用語が辞書53に存在する場合はステップS1108に行き、存在しない場合はステップS1110に行く。
(ステップS1108)部分音声情報取得部62は、j番目の用語に対応する種類情報を辞書53から取得する。
(ステップS1109)部分音声情報取得部62は、ステップS1108で取得した種類情報を、j番目の用語に対応付ける。なお、j番目の用語に対応付けることは、j番目の用語に対応する音声情報の箇所に対応付けることである。
(ステップS1110)部分音声情報取得部62は、カウンタjを1、インクリメントする。ステップS1106に戻る。
(ステップS1111)部分音声情報取得部62は、カウンタiを1、インクリメントする。ステップS1102に戻る。
(ステップS1112)部分音声情報取得部62は、カウンタiに1を代入する。
(ステップS1113)部分音声情報取得部62は、i番目の音声情報が存在するか否かを判断する。i番目の音声情報が存在する場合はステップS1114に行き、存在しない場合はステップS311に行く。
(ステップS1114)部分音声情報取得部62は、カウンタjに1を代入する。
(ステップS1115)部分音声情報取得部62は、i番目の音声情報に対応付いているj番目の種類情報が存在するか否かを判断する。j番目の種類情報が存在する場合はステップS1116に行き、存在しない場合はステップS1118に行く。なお、音声情報に対応付いている種類情報は、音声情報に対応付いている用語に対応付いている種類情報でも良い。
(ステップS1116)部分音声情報取得部62は、i番目の音声情報から、種類情報が対応付いている箇所の部分音声情報を取得する。そして、部分音声情報取得部62は、取得した部分音声情報をj番目の種類情報に対応付ける。なお、種類情報が対応付いている箇所の部分音声情報とは、種類情報が対応付いている箇所を含む部分音声情報である。種類情報が対応付いている箇所の部分音声情報とは、例えば、種類情報が対応付いている箇所を含み、当該箇所の前後閾値以内の時間の音声情報である。
(ステップS1117)部分音声情報取得部62は、カウンタjを1、インクリメントする。ステップS1115に戻る。
(ステップS1118)部分音声情報取得部62は、カウンタiを1、インクリメントする。ステップS1113に戻る。
なお、図11のフローチャートにおいて、音声受付部21が音声情報を受け付けた場合に、概ねリアルタイムに部分音声情報の取得処理、分類情報を構成する処理のうちの1以上の処理を行っても良い。
以上、本実施の形態によれば、発話された音声の音声情報から、音声情報を2種類以上に適切に分類できる分類情報を生成できる。
また、本実施の形態によれば、音声認識技術および自然言語処理技術を用いて、音声情報を適切に分類できる分類情報を生成できる。
なお、本実施の形態における分類情報生成装置Bを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、発話された音声の情報である音声情報が格納される音声情報格納部にアクセス可能なコンピュータを、2種類以上の音声情報の種類のうちの少なくとも一つの種類の部分音声情報を音声情報の中から切り出す際に使用される情報であり、前記音声情報から取得される特徴量以外の情報である元情報を取得する元情報取得部と、前記元情報を用いて、前記音声情報格納部の音声情報から、少なくとも1種類以上の音声情報である部分音声情報を取得する部分音声情報取得部と、前記部分音声情報から音声の1以上の特徴量を取得する特徴量取得部と、前記1以上の特徴量を用いて、音声情報の種類を特定する際に使用される分類情報を構成する分類情報構成部と、前記分類情報を蓄積する分類情報蓄積部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記元情報取得部は、前記音声情報に対して音声認識し、テキストを取得する音声認識手段と、前記テキストの中の1以上の用語を取得する用語取得手段とを具備し、前記部分音声情報取得部は、前記用語取得手段が取得した1以上の各用語を、用語と種類情報との対応を示す辞書に適用し、用語に対する種類情報を取得し、当該用語の音声における出現箇所を用いて、前記用語に対する種類情報に対応する部分音声情報を前記音声情報から取得するものとして、コンピュータを機能させるプログラムであることは好適である。
(実施の形態3)
本実施の形態において、分類情報を用いて、受け付けた音声情報に対して、音声情報の種類を取得し、出力する感情状態推定装置について説明する。
図12は、本実施の形態における感情状態推定装置Cのブロック図である。
感情状態推定装置Cは、格納部1、受付部2、処理部7、出力部8を備える。格納部1は、音声情報格納部11、および分類情報格納部12を備える。受付部2は、音声受付部21、およびユーザ受付部22を備える。処理部7は、特徴量取得部34、および種類情報取得部71を備える。出力部8は、種類情報出力部81を備える。
格納部1の分類情報格納部12には、分類情報が格納される。分類情報格納部12には、分類情報生成装置Aまたは分類情報生成装置Bが取得した分類情報が格納されていることが好適である。ただし、分類情報格納部12に、分類情報生成装置Aまたは分類情報生成装置Bが構成していない分類情報が格納されていても良い。
処理部7は、各種の処理を行う。各種の処理とは、例えば、特徴量取得部34、種類情報取得部71が行う処理である。
特徴量取得部34は、音声受付部21が受け付けた音声情報から音声の1以上の特徴量を取得する。特徴量取得部34は、格納部1の音声情報から音声の1以上の特徴量を取得しても良い。
種類情報取得部71は、特徴量取得部34が取得した1以上の特徴量である特徴量群を、分類情報格納部12の分類情報に適用し、音声情報の種類を示す種類情報を取得する。かかる分類情報は、分類情報生成装置Aまたは分類情報生成装置Bが取得した分類情報であることは好適でさる。
種類情報取得部71は、例えば、機械学習のアルゴリズムにより、特徴量取得部34が取得した特徴量群を分類情報に適用し、種類情報を取得する。機械学習のアルゴリズムは、例えば、深層学習、決定木、ランダムフォレスト、SVM等、問わない。
種類情報取得部71は、例えば、特徴量取得部34が取得した特徴量群に最も近似する特徴量群を、分類情報である対応表が有する2以上の特徴量群から決定し、当該最も近似する特徴量群と対になる種類情報を分類情報から取得する。種類情報取得部71は、例えば、特徴量取得部34が取得した特徴量群のベクトルと、対応表が有する対応情報に含まれる2以上の各特徴量群のベクトルとの距離を算出し、距離が最も小さい特徴量群を決定し、当該特徴量群と対になる種類情報を対応情報から取得する。
種類情報取得部71は、例えば、特徴量取得部34が取得した特徴量群であるベクトルに最も近似する代表ベクトルを、分類情報が有する2以上の代表ベクトルから決定し、当該最も近似する代表ベクトルと対になる種類情報を分類情報から取得する。種類情報取得部71は、例えば、特徴量取得部34が取得した特徴量群のベクトルと、分類情報が有する2以上の各代表ベクトルとの距離を算出し、距離が最も小さい代表ベクトルを決定し、当該代表ベクトルと対になる種類情報を分類情報から取得する。
なお、2つのベクトルの距離を算出する処理は公知技術であるので、詳細な説明を省略する。
出力部8は、各種の情報を出力する。各種の情報とは、例えば、種類情報である。種類情報出力部81は、種類情報取得部71が取得した種類情報を出力する。なお、出力とは、例えば、ディスプレイ等の表示デバイスへの表示、記録媒体への蓄積である、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
処理部7、および種類情報取得部71は、通常、MPUやメモリ等から実現され得る。処理部7等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部8、および種類情報出力部81は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部8等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、感情状態推定装置Cの動作例について、図13のフローチャートを用いて説明する。
(ステップS1301)受付部2は、音声情報を受け付けたか否かを判断する。音声情報を受け付けた場合はステップS1302に行き、音声情報を受け付けない場合はステップS1301に戻る。
(ステップS1302)処理部7は、ステップS1301で受け付けられた音声情報を、格納部1に少なくとも一時蓄積する。なお、出力部8は、ステップS1301で受け付けられた音声情報を出力することは好適である。
(ステップS1303)処理部7は、格納部1に蓄積された音声情報を分類するタイミングであるか否かを判断する。分類するタイミングであればステップS1304に行き、分類するタイミングでなければステップS1301に戻る。音声情報を分類するタイミングは、常時でも良いし、予め決められた時間間隔でも良いし、ユーザの指示の受け付けをトリガーする等しても良い。予め決められた時間間隔は、例えば、5秒、10秒、20秒、30秒、1分等である。
(ステップS1304)特徴量取得部34は、分類対象の音声情報を格納部1から取得する。
(ステップS1305)特徴量取得部34は、ステップS1304で取得した音声情報から1以上の特徴量を取得する。
(ステップS1306)種類情報取得部71は、ステップS1305で取得した1以上の特徴量を格納部1の分類情報に適用し、音声情報の種類情報を取得する。種類情報取得部71は、例えば、機械学習のアルゴリズムで、ステップS1305で取得した1以上の特徴量を格納部1の分類器に適用し、種類情報を取得する。なお、分類器は、分類情報と言っても良い。また、種類情報取得部71は、図14に示すような分類処理により種類情報を取得しても良い。
(ステップS1307)種類情報出力部81は、ステップS1306で取得された種類情報を出力する。ステップS1301に戻る。
なお、図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、ステップS1307において、種類情報出力部81は、予め決められた条件を満たす場合のみ、ステップS1306で取得された種類情報を出力しても良い。予め決められた条件とは、例えば、直前に取得した種類情報と、ステップS1306で取得した種類情報とが異なる情報であることである。
次に、ステップS1306の分類処理について、図14のフローチャートを用いて説明する。
(ステップS1401)種類情報取得部71は、カウンタiに1を代入する。
(ステップS1402)種類情報取得部71は、分類情報の中に、i番目の対応情報が存在するか否かを判断する。i番目の対応情報が存在する場合はステップS1403に行き、i番目の対応情報が存在しない場合はステップS1405に行く。
(ステップS1403)種類情報取得部71は、ステップS1305で取得された1以上の特徴量であるベクトルと、i番目の対応情報が有するベクトルとの距離を算出し、図示しないバッファに一時蓄積する。なお、i番目の対応情報が有するベクトルは、例えば、代表ベクトルまたは音声情報から取得された特徴量群のベクトルである。
(ステップS1404)種類情報取得部71は、カウンタiを1、インクリメントする。ステップS1402に戻る。
(ステップS1405)種類情報取得部71は、ステップS1403で算出された距離の中で最も小さい距離のベクトルを決定する。
(ステップS1406)種類情報取得部71は、ステップS1405で決定したベクトルに対応する種類情報を対応情報から取得する。上位処理にリターンする。
以下、本実施の形態における感情状態推定装置Cの具体的な動作について説明する。感情状態推定装置Cを含む情報システムの概念図は図15である。図15において、商品に対する苦情を言おうと、第一ユーザ「A山B夫」が電話機Xを用いて、当該商品を販売する企業のお客様相談室のオペレータである第二ユーザに電話をかけている。そして、A山B夫が発話した音声情報を含む音声情報(第二ユーザの音声情報を含んでも良い)が感情状態推定装置Cに送付される。そして、感情状態推定装置Cは、音声情報に含まれる部分音声情報に対して処理を行い、種類情報を取得し、当該種類情報を端末装置Yに送付する。そして、端末装置Yは、当該種類情報を出力する。
今、格納部1の分類情報格納部12には、分類情報生成装置Aまたは分類情報生成装置Bが取得した分類情報が格納されている、とする。
そして、商品に対する苦情を言う第一ユーザ「A山B夫」が第二ユーザに電話をかけた、とする。そして、まず、第一ユーザが第二ユーザに商品の苦情を、怒った様子で、電話で伝えた、とする。かかる段階で、第一ユーザが発した音声の音声情報は感情状態推定装置Cに送信され、感情状態推定装置Cの音声受付部21は、当該音声情報を受信する。そして、出力部4は、当該音声情報を音声情報格納部11に蓄積する。
そして、ここでは、常時、受け付けられた音声情報を分類しようとする、とする。つまり、音声情報が受け付けられると直ちに、感情状態推定装置Cは、音声情報に対する種類情報を取得しようとする。なお、かかる処理をリアルタイム処理と言うこととする。
そして、特徴量取得部34は、分類対象の音声情報を音声情報格納部11から取得する。分類対象の音声情報は、受け付けられた最新の音声情報を含む、当該音声情報から予め決められた時間の前までの予め決められた時間の分の音声情報を取得する。
次に、特徴量取得部34は、取得した音声情報から1以上の特徴量を取得する。
次に、種類情報取得部71は、取得した1以上の特徴量を分類情報格納部12の分類情報に適用し、音声情報の種類情報を取得する。
次に、種類情報出力部81は、取得された種類情報が直前に取得した種類情報と異なっているか否かを判断し、異なっていれば、取得した種類情報が出力する。そして、かかる場合、最新の種類情報を図示しないバッファに蓄積する。
なお、種類情報出力部81は、当該種類情報を端末装置Yに送信しても良い。そして、端末装置Yは、種類情報を受信し、出力しても良い。かかる出力例は、図16である。
また、かかる種類情報を見た第二ユーザは、感情状態推定装置Cの判断結果が異なる場合、変更指示を入力しても良い。変更指示の入力は、例えば、ボタン1601または1602の押下である。なお、例えば、1602の「ポジティブ」の種類情報が出力された場合であり、第二ユーザが、第一ユーザはネガティブである、と感じた場合には、第二ユーザは、ボタン1602を押下することにより、変更指示を入力する。
そして、変更指示は、上述した分類情報生成装置Aまたは分類情報生成装置Bに送信され、分類情報生成装置Aまたは分類情報生成装置Bは、上述したように変更指示に対応する処理を行っても良い。変更指示に対応する処理の結果、分類情報を再構築しても良い。
以上、本実施の形態によれば、分類情報を用いて、音声情報を2種類以上に適切に分類できる。
また、本実施の形態によれば、分類情報を用いて、機械学習のアルゴリズムにより音声情報を2種類以上に適切に分類できる。
また、本実施の形態によれば、ユーザの判断結果を用いて、発話された音声の音声情報から、音声情報を2種類以上に適切に分類できる分類情報を生成できる。
なお、本実施の形態における感情状態推定装置Cを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、音声情報を受け付ける音声受付部と、前記音声受付部が受け付けた音声情報から音声の1以上の特徴量を取得する特徴量取得部と、前記1以上の特徴量を、分類情報に適用し、音声情報の種類を示す種類情報を取得する種類情報取得部と、前記種類情報を出力する種類情報出力部として機能させるプログラムである。なお、上記分類情報は、分類情報生成装置Aまたは分類情報生成装置Bが取得した分類情報であることは好適である。
また、図17は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の分類情報生成装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図17は、このコンピュータシステム300の概観図であり、図18は、システム300のブロック図である。
図17において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図18において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の分類情報生成装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の分類情報生成装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。