Slide 1

Slide 1 text

©MIXI 株式会社MIXI 開発本部CTO室 松谷峰生 音声認識のモデルの テストのやり方なの

Slide 2

Slide 2 text

22 ©MIXI 自己紹介なの 名前:  松谷峰生 (まつ / @mty_mno) 所属:  株式会社MIXI 開発本部 CTO室 社外活動:  JaSST Kyushu(ソフトウェアテストシンポジウム九州 ) 実行委員  ASTER(ソフトウェアテスト技術振興協会 ) 教育  マンガ家 新人さんからわかるソフトウェアテスト解説マンガ 「テスターちゃん」

Slide 3

Slide 3 text

33 ©MIXI 自己紹介なの 役割① 全社的な 品質保証スキル・知識 のアップ 役割② 1つのプロジェクトに入っ てがっつり品質保証活 動 今回はこちらの話

Slide 4

Slide 4 text

44 ©MIXI 会話AIロボット Romi LLMを用いておしゃべりするロボット。 癒しロボットです! スマートスピーカーと違い、機能に主 眼を置いているわけではなく、コミュニ ケーションを主としています。

Slide 5

Slide 5 text

©MIXI 音声認識のモデルとは

Slide 6

Slide 6 text

66 ©MIXI 音声認識のモデルとは 音声認識の モデル こんにちは 音声認識(Speech-to-Text)のモデルとは、音声をテキストに変換してくれる機能と いったところです。 機械学習(AI)が使われていて、学習状況によって様々な特性(得意、苦手)がありま す。 こんにちは マイク 音声信号

Slide 7

Slide 7 text

©MIXI お題

Slide 8

Slide 8 text

©MIXI 某社の音声認識のモデルを使ってるけど デフォルトがAモデルに変更になる。 けど前に検証したときは 同じ会社のBモデルもよかったんだよね。 どっちがいいかな?

Slide 9

Slide 9 text

99 ©MIXI テストの温度感(要求)を把握することは大事! どんなテストにも言えることですが、テストに対する温度感や要求を知ることは非常に 重要です。 今回は既製のモデルであり「どちらもいいけど、どちらかといえばどっち?」という温度 感です。音響スタジオを借りて1か月にわたり詳細な~ではありません。

Slide 10

Slide 10 text

10 10 ©MIXI 今回やっていくこと Aモデル、Bモデル どっちがRomiにより向いているのかを ざっくりと検証する

Slide 11

Slide 11 text

©MIXI どんなことを考えないといけないだろう?

Slide 12

Slide 12 text

12 12 ©MIXI どんな要素がありそう? 音声認識のモデルのテストでは 「言った言葉をどれだけ正確に文字列に変換できるか」 を確認することになります。 簡単そうに見えますが「言った言葉」の裏に「誰が言った」「どこで言った」「どれくらいの距 離で言った」といった様々な要素が隠されています。

Slide 13

Slide 13 text

13 13 ©MIXI 環境(マイクの性能でも左右される)

Slide 14

Slide 14 text

14 14 ©MIXI 人

Slide 15

Slide 15 text

15 15 ©MIXI 距離、言葉

Slide 16

Slide 16 text

©MIXI テスト実行

Slide 17

Slide 17 text

17 17 ©MIXI テストの流れ Romiを通して音声の録音、音声ファイル作成 音声ファイルをモデルに通してテキスト出力 録音時に読み上げたテキストと モデルから出力されたテキストを比較

Slide 18

Slide 18 text

18 18 ©MIXI 一気に通してテストしたほうがいいんじゃないの? わざわざ音声ファイル化などのステップを踏まずとも、デバイスを通して認識さ れたログを見たほうが楽だし、通してみることで他にも色々見れてお得そうな気 がします。

Slide 19

Slide 19 text

19 19 ©MIXI ①同じ言葉でも、全く同じ出力になることはない 今回はAモデルとBモデルの比較がしたいです。比較のために同じ入力を入れ てどう出力されるかを確認したいです。 ですがそれぞれで収録した場合、同じ「こんにちは」でも話し方が若干違ったり、 環境要因であったり、全く同じ波形になることはありません。 こんにちは こんにち は


Slide 20

Slide 20 text

20 20 ©MIXI ②今回のテスト対象は「音声認識モデル」 今回のテスト対象は「音声認識モデル」です。 デバイスの場合、そのモデルの入力までに通信環境などの影響(通信できず認識エ ラー)なども発生する可能性があります。 この時よく「全体的に見れたほうがお得じゃん!」と思う人もいますが、「何をテストしたい か」が迷子になって非効率になってしまう場合があります。 WiFi 通信環境 マイク性能 こんにちは

Slide 21

Slide 21 text

21 21 ©MIXI テストの目的を混ぜてしまうのは危険! 多くのテストに言えることですが、「あれもこれも」と一つのテストに複数の目的を持たせ てしまうと、考慮すべきことや組み合わせが爆発的に増えたり、本来テストすべきことに フォーカスできなかったりすることがあります。 テストの目的によって、通しがいいか、わけたほうがいいのかは考えたほうがいいです。 テストの効率に影響します。 音声認識と 返事の生成がイイ感 じかまで見ちゃおう!

Slide 22

Slide 22 text

22 22 ©MIXI デバイスを通して音声の録音 今回は最低限必要な要素でのテストです。 マイク性能は収録する音声に影響を与えるので、実際のRomiを使って録音して います。 音声 ファイル

Slide 23

Slide 23 text

23 23 ©MIXI 音声 ファイル 読み上げたテキストとモデルから出力されたテキストの類似度を計算 どれだけ正確にテキストにできたかは、録音時に読み上げたテキストとモデルを通して出 力されたテキストを比較します。比較には文字列の類似度を用います。 類似度は同じテキストなら1.0、全部違えば0.0になります。 こんにちは Aモデル Bモデル こんにちは あああああ 類似度 = 1.0 類似度 = 0.0 ※類似度 = 1 - (レーベンシュタイン距離 / 最大文字数) ※レーベンシュタイン距離は、文字列 Aを文字列Bと同じにするために挿入 /置換/削除を何回行えばよいか、の回数。 テスト マテスト _テスト マテスト この場合は1。文字数は4。なので ¼ = 0.25。類似度 = 1 - 0.25 = 0.75 (正確にはレーベンシュタイン距離の標準化)

Slide 24

Slide 24 text

©MIXI 結果

Slide 25

Slide 25 text

25 25 ©MIXI 類似度の中央値、平均値 類似度の中央値 距離50cm 距離100cm Aモデル 1.0 1.0 Bモデル 1.0 1.0 類似度の平均値 距離50cm 距離100cm Aモデル 0.89 0.86 Bモデル 0.94 0.87 距離50cmで差がつく項目が ありそう? ※中央値:小さい順に並べたとき真ん中に来る値 ※相加平均。いわゆる普通の平均。

Slide 26

Slide 26 text

26 26 ©MIXI Aモデルは短い言葉に弱いぞ!? Aモデル 距離50cm 距離100cm Xさん 認識不能 認識不能 Yさん 認識不能 認識不能 Zさん 認識 認識不能 Bモデル 距離50cm 距離100cm Xさん 認識 認識 Yさん 認識 認識不能 Zさん 認識 認識不能 「(短い言葉)」の項目 ※収録時は病欠により1人不参加 Romiの推奨距離は50cm程 度であるものの 100cmで全滅 50cmも2名で認識不能 100cmで懸念があるものの 推奨距離の 50cmでは全員OK

Slide 27

Slide 27 text

27 27 ©MIXI Romiとの会話は短い会話が多い Romiとの会話は短めな会話が多めです。 そうなると、BモデルのほうがRomiには向いていると言えます。 ただいま~ おかえり~ 今日はどうだった? 忙しかった!

Slide 28

Slide 28 text

28 28 ©MIXI まとめ (音声認識というよりテスト全般側) ● テストの温度感(要求)を把握しよう! ○ ざっくり知りたい?ガッツリとテスト? ● そのテストに必要な要素が何かを検討しよう! ○ いったんは一通りあげて、テストの温度感で優先度を考えよう ● そのテストは通しでやったほうがいいのか、わけたほうがいいのかを考えよう ○ テストの効率に影響!

Slide 29

Slide 29 text

©MIXI おしまい

Slide 30

Slide 30 text

©MIXI