AdaBoostを用いた システムへの問い合わせと雑談の判別 神戸大学大学院 自然科学研究科 佐古淳,滝口哲也,有木康雄
背景・目的 音声による機器の操作 雑談に反応してシステムが誤動作 ロボット・カーナビなど スイッチを用いた音声入力制御 使いにくい・音声を使うメリットが減少 スイッチレスで 自動的にシステム要求と雑談を判別
目的 システム要求と雑談の判別(ケース1) 雑談 雑談 「こっちに来て」 …… 了解
目的 システム要求と雑談の判別(ケース2) 「こっちに、 えーと、来て」 「どうやって 動かすの?」 「こっちに来て」 って言うと動くよ えーと、来て」 「どうやって 動かすの?」 「こっちに来て」 って言うと動くよ 了解 …… ……
従来手法 画像情報 音響情報 視線 必ずしもシステムを見ない カーナビでは使用不能 ピッチ・パワー 距離一定の制約が必要 必ずしも判別可能でない
従来手法 言語情報 キーワードスポッティング キーワードのわき出しが問題 音声プロジェクタ [石塚ら’98] キーワードと競合する言語モデルを利用 ネットワーク文法でコマンド受理
従来手法 言語情報 ネットワーク文法 柔軟な表現を受理できない /こっちに来て/ 拒否 わき出し /*こっちに来て*/ ふふふ、こっちに来て こっちに来て よ こっちに来て ちょうだい こっちに、えーと、来て /こっちに来て/ 拒否 こっちに来て とか こっちに来て って言うと わき出し /*こっちに来て*/
提案手法 素性(単語)をベースに判別 コーパスから素性を学習 AdaBoostにより学習 ふふふ、こっちに来て システム要求素性 こっちに来て よ こっちに来て ちょうだい こっちに、えーと、来て こっちに来て とか こっちに来て って言うと 雑談素性 コーパスから素性を学習 AdaBoostにより学習
コーパス システム要求+雑談コーパス ロボットを例に収録 カーナビを用いた収録は困難 マイク カメラ 車輪
コーパス 収録環境 規模 2人とロボットが存在 人同士で会話しながら任意にシステム要求 マイクは発話者2人の胸元に設置 コマンドは8種 異なり単語数:約700語 規模 1時間程度(実質発話時間は20分程度) 切り出し後にラベル付与 330発話(うち49発話がシステム要求)
コーパス 具体例 ラベル 発話内容 -1 こっち 、 こっち で よかっ た っけ こっち に 来 て 、 とか 言う と +1 +1:システム要求 -1:雑談 具体例 ラベル 発話内容 -1 こっち 、 こっち で よかっ た っけ こっち に 来 て 、 とか 言う と +1 こっち に 来 て ください ふふふ 来 た こっち おいでー あと 写真 を 撮っ て が ある なあ 写真 を 撮っ て
ブースティングによる素性の学習 AdaBoost 多数の弱識別器による重み付き投票 弱識別器・重みを学習する手法 :弱識別器 :重み
ブースティングによる素性の学習 弱識別器 AdaBoostによる学習方法 Decision Stumps [Schapire’98] 素性(単語・bi-gramなど)の有無で識別 例)「ください」がある システム要求 「とか」がない システム要求 「とか」がある 雑談 AdaBoostによる学習方法 最も精度のよい弱識別器を選択 識別誤りデータの重みを増やす 繰り返す
学習例 初期状態 ラベル 発話内容 重み -1 こっち 、 こっち で よかっ た っけ 0.14 こっち に 来 て 、 とか 言う と +1 こっち に 来 て ください ふふふ 来 た こっち おいでー あと 写真 を 撮っ て が ある なあ 写真 を 撮っ て
学習例 「ください」がある +1 ラベル 発話内容 重み -1 こっち 、 こっち で よかっ た っけ 0.1 こっち に 来 て 、 とか 言う と +1 こっち に 来 て ください ふふふ 来 た こっち おいでー 0.25 あと 写真 を 撮っ て が ある なあ 写真 を 撮っ て
学習例 「た」がない +1 ラベル 発話内容 重み -1 こっち 、 こっち で よかっ た っけ 0.06 こっち に 来 て 、 とか 言う と 0.25 +1 こっち に 来 て ください ふふふ 来 た こっち おいでー 0.16 あと 写真 を 撮っ て が ある なあ 写真 を 撮っ て
学習例 「おいでー」がある +1 ラベル 発話内容 重み -1 こっち 、 こっち で よかっ た っけ 0.04 こっち に 来 て 、 とか 言う と 0.16 +1 こっち に 来 て ください 0.14 ふふふ 来 た こっち おいでー 0.1 あと 写真 を 撮っ て が ある なあ 写真 を 撮っ て 0.36
学習例 「とか」がない +1 ラベル 発話内容 重み -1 こっち 、 こっち で よかっ た っけ 0.08 こっち に 来 て 、 とか 言う と 0.11 +1 こっち に 来 て ください 0.09 ふふふ 来 た こっち おいでー 0.07 あと 写真 を 撮っ て が ある なあ 0.33 写真 を 撮っ て 0.23
識別例 識別関数 素性語 条件 重みα h1(x) ください ある 0.46 h2(x) た ない 0.69 h3(x) おいでー 0.64 とか 0.58 未知の入力: 「来て ください とか」+0.46+0.69-0.64-0.58=-0.07
比較手法 Support Vector Machines (SVM) ネットワーク文法より柔軟 文章ベースによる判別 マージン最大化 +
実験 クリーン(書き起こし)テキストの判別 クリーン(書き起こし)テキストの判別 音声認識結果に対する判別
クリーンテキストの判別 AdaBoost AdaBoostにより選択された素性 弱識別器:uni-gramを素性語 素性 システム 要 求 ください 写真 来て 向こう おいで 場所 止まっ 雑 談 で たら ん って が ない とか の あー よ ちょっと
クリーンテキストの判別 SVM カーネル:Gauss Kernel 特徴量:単語の頻度ベクトル 例)「こっち、こっちに来て」 約70個のサポートベクターにより判別 … こっち に 来て 2 1
クリーンテキストの判別 実験結果 Leave-one-out 法により実験 結果はF値が最大のケース 適合率 再現率 F値 Boosting 94.0% 95.9% 0.95 SVM 97.9% 0.97 適合率 高い:わき出し少 再現率 高い:未検出少
クリーンテキストの判別 成功例 失敗例 こっちに来てって言ったら -1 ふふふ、こっちに、えーと、来て +1 ジェローム ツー +1 -1(未知素性) ちょっと認識してない、止まって +1 -1 こっちに来てって言うと -1 +1 +1:システム要求 -1:雑談
ブースティングとSVMの比較 性能はSVMが上? 未知の表現に対する適合率は? Boosting SVM 適合率 94.0% 97.9%
ブースティングとSVMの比較 実験 識別 結果 素性ベースの方が未知表現に対し柔軟な可能性 Boosting SVM 識別率 100.0% 学習:「こっちに来て、とか」 未学習:「向こうに行って、とか」 未学習:「写真を撮って、とか」 未学習:「ついて来て、とか」 ……など 識別 Boosting SVM 識別率 100.0% 21.4% 結果 素性ベースの方が未知表現に対し柔軟な可能性
ブースティングとSVMの比較 ブースティング (Decision stumps) Support Vector Machines 素性が学習済みなら未知文章も判別可 判別に有効な素性が明確 Support Vector Machines 既知表現では高精度 未知表現の判別が苦手
実験 クリーン(書き起こし)テキストの判別 音声認識結果に対する判別 音声認識結果に対する判別
音声認識結果の判別 音響分析条件・HMM サンプリング周波数 特徴パラメータ フレーム長 フレーム周期 窓タイプ 16KHz サンプリング周波数 特徴パラメータ フレーム長 フレーム周期 窓タイプ 16KHz MFCC(25次元) 20ms 10ms ハミング窓 タイプ 混合数 244音節 32混合 母音(V) 子音+母音(CV) 5状態3ループ 7状態5ループ 音響分析条件 H M
音声認識結果の判別 実験条件 音響モデル: CSJベースにMLLR+MAP適応 言語モデル: 書き起こしから学習 Open Close 未知語なし Open: 話者Aの認識に、話者Bのモデルを利用 言語モデル Open Close 約30% - 約40% 約60% 音響モデル
音声認識結果の判別 実験結果 Leave-one-out 法により実験 結果はF値が最大のケース 適合率 再現率 F値 Boosting 91.8% 0.92 SVM 97.8% 0.95 クリーン (0.95) (0.97) 音声認識結果も高精度に判別可能
まとめ システム要求と雑談の判別 音声認識結果(言語情報)を利用 今後の課題 単語認識精度:42.1%において 適合率:91.8% 再現率:91.8% F値:0.92 今後の課題 タスクの規模・難易度の向上 言語のみで判別不能なケースへの対応 音響情報との統合
ネットワーク文法との比較 受理できないケース ふふふ、こっちに来て こっちに来てちょうだい こっちに来てよ こっちに来て……あれ? こっちに、えーと、来て 素性ベースでは判別可能
ブースティングとSVMの比較 識別関数 AdaBoost SVM 素性の有無で投票 文章全体との類似度(内積)で投票 ください がある とか がない とか がある ください がない 素性の有無で投票 :重み :ラベル :SVの特徴ベクトル 文章全体との類似度(内積)で投票
ブースティングとSVMの比較 SVM 未知:「写真を撮ってとか」を識別したい 学習:「こっちに来てとか」 雑談 学習:「写真を撮って」 システム要求 … こっち に 来て 写真 を 撮って とか 1 類似度 1 … こっち に 来て 写真 を 撮って とか 1 類似度 3 … こっち に 来て 写真 を 撮って とか 1 システム要求と誤識別
ブースティングとSVMの比較 素性ベースの場合 学習:「こっちに来てとか」 未知:「写真を撮ってとか」 素性 投票先 重み 来て システム要求 中 とか 雑談 大 素性 投票先 重み 写真 システム要求 中 とか 雑談 大