課題
私たちのAlexa TaskBotは、料理や住まいの修繕といったタスクを手伝うものでした。汎用の音声認識は、タスク名や道具の名前など、まさに重要な単語でよく間違えます。私たちのデータでは、発話の4.1%に認識の誤りがあり、対話の18.2%で少なくとも1回の誤りが起きていました。既存の訂正手法は過去のユーザーデータや固有表現に依存しており、新しい分野の新しいアシスタントには、そうしたデータがありません。
手法
アシスタントは、ユーザーが次に何を言いそうかをすでに知っています。直前に提示した選択肢、そのステップで使えるコマンド、そして対応しているすべてのタスクの一覧です。この手法は、その文脈を2つの方法で使います(上のデモは英語の例です)。
候補の並べ替え:音声認識は最大5つの候補を返します。各候補を語彙的・意味的な類似度で文脈と照合し、実在するタスクに一致するのが下位の候補だけであれば、その候補を採用します。これにより、ユーザーが依頼の途中に言葉を挟んだ場合にも対応できます。
音による照合:どの候補も正しくない場合は、最良の候補と文脈の音素列を、最長共通部分列で比較します。これにより、認識が崩れた単語や、ユーザーが付け加えたり省いたりした単語にも対応できます。
同じ依頼でも、言い方は人によってさまざまです。これに対応するため、タスク一覧をクラスタリングし、各クラスタの中心についてだけGPT-3.5で言い換えを生成して、16万件の表現を低コストで検索インデックスに追加しました。過去のユーザーデータは不要で、言い換えの生成はオフラインで行うため、実行時にLLMによる遅延も生じません。実際の運用では、アシスタントが「もしかして……ですか?」と確認してから訂正を反映しました。
結果
| .18 → .54 | 訂正の再現率(固有表現に基づくベースラインとの比較、オフライン評価) |
| .27 → .44 | 訂正のF1(同じベースラインとの比較) |
| +.8〜1 | 訂正がうまくいったときの、実ユーザーによる評価(5点満点)の向上。誤った訂正があっても、評価は有意に下がりませんでした |
チーム
ピッツバーグ大学のチームISABEL(IncluSive And collaBorativE aLexa)の一員として、Malihe Alikhaniの指導のもとで開発しました。私たちのTaskBotは、Alexa Prize TaskBot Challenge 2で3位に入賞しました。