音声チャットボットの取り組み、あれこれ
藤田昭人
実に1年ぶり(?)のブログ記事の公開であります*1。
本当はもっと早く復帰したかったのですが…
実は椎間板ヘルニアのおかげで、 ほぼ3ヵ月間完全に活動停止に追い込まれてました。 執刀医のコロナ感染とかの不運もあって、結果的に 発症から手術に至るまでに2ヶ月半待ちました。 実際、3ヵ月間も運動を大きく制限されていると、 身体のあちらこちらに支障出てくる訳でして、 今は脚力と体力の回復に勤しんでいる訳です。 もちろん還暦過ぎの老体なので、リハビリは 「腰の様子確かめながらコツコツと」 って感じですかね。
音声チャットボットによるAI体験
という訳で…
今年の僕の夏はとんだ大ブレーキの ロスト・サマーだったのですが、 不運ばかりではなかったのでした。 ちょうど昨年の今頃始めた 音声チャットボットの試みが 作った僕自身の予想を超えて 注目を集めてくれたからです。
実は、数年前から 京都ノートルダム女子大学の 「インターネット社会論」の授業に ゲストスピーカーとして参加させてもらっていて、 AI技術に関するQ&Aをしてきました。 で、毎年出るのが 「このままAI技術が進歩すると 人間にできる仕事は無くなりませんか?」 という質問。 毎年それなりに準備していくのですが、 僕の答えには どうにも納得してもらえてる感じがしないのです。
そこで「コレならどうだ‼️」と 昨年捻り出したのが、 学生の皆さんにチャットボットのルールを 作ってもらう実習授業でした。 学生の皆さんのスマホで簡単に動かせて、 もちろんボットから音声で話しかけてくれて… 授業の内容を説明し始めると長くなるので、 気になる方は次の論文をどうぞ。
一般教養の授業なので、 学生の皆さんの日常に如何に迫れるか? が大きな課題でした。
授業を書き残しておこう
この昨年末に実施した実習授業は 学生のみなさんにも好評だったので、 その場は毎年授業に呼んでくれる 吉田智子さんと喜んだのですが、 そこは大学でのこと。年が明けたら 「実習授業について書き残しておこう」 ってことになりました。
先に紹介したのは、 僕が実習授業のために書き下ろした ウェブ・アプリケーション の概要に関する論文です。 で、吉田さんが書いたのは次の論文。
彼女は情報教育の専門家なので、この時は 「情報工学の僕とはだいぶん趣きが違う」 としか思ってなかったのですが…
そこは大学でのこと。 論文が書けたのなら どこかのカンファレンスに投稿することになる訳で、 その準備をしている6月ごろに 僕の椎間板ヘルニアが発症してしまって… そのあとのこと、 ポスターセッションの原稿の用意とかは、 全部吉田さんがやってくれました*2。
論文は8月初旬のカンファレンスで 発表されたらしいのですが (僕はヘルニアでのたうち回ってたので 正直なところわからない) 、なんと優秀賞をもらったそうです。
2022PCカンファレンス受賞者喜びの声 (1) 論文賞 | Special | CIEC
京都ノートルダム女子大学のニュースはこちら。
いや、この写真は8月末に撮影したのだけど、 コルセットを巻いて、痛みを堪えて、 なんとか作り笑いをしたつもりだったのだけど、 全然笑えてない😁
といった顛末があったので…
論文発表に関わるイベントが全て終わるまでは、 この取り組みをブログで報告できなかったのでした。 しかし、1年もかかるとは思ってなかったなぁ。
今年はどうする?
昨年は実習授業の前日まで 実習教材のコーディングをしているといった ドタバタの有り様だったので 当日の授業は僕が担当をしたのですが、今年は (まだ僕が長時間のコーディングに耐えない状態なので) 昨年の教材をそのまま使って実習授業をすることになってます。
ただ 「読み聞かせる童話は『シンデレラ』から差し替えたい」 という話は(春ごろ、ヘルニア発症前に)相談してました。 というのも『シンデレラ』は次のページの翻訳を使っていたのですが…
これ、オリジナルの直訳バージョン、 いわゆる「本当は恐ろしいグリム童話」でして、 物語の中にはグロテスクなシーンがたびたび登場します。 で、学生の皆さんが書いたルールを見てると どうしてもそこがひっかかるらしく、 「どう思いますか?」とか「グロいよね?」といった 質問やコメントが増えてしまう…といった傾向がありました。 「これはちょっとどうにかしたい」 というのが僕の意見で、 腰の状態が予想外に早くに改善して、 長時間のコーディングに耐える状態になった時の 努力目標になってます。
で「もし他の童話に差し替えるとしたら?」 という相談もしてたのですが、 吉田さんから出たのは ワイルドの『幸福の王子』。 この童話については 著名な翻訳家の結城浩さんの日本語版が公開されてます。
この翻訳であれば『シンデレラ』のような 童話の本筋以外に関心が集中するような トラブルは出ないように思うのですが… 新たに見つけた課題は、この童話は 「王子とツバメの会話」 が軸となる会話劇であることです。 セリフとセリフの間の説明が少なく、 童話の字面を追っただけでは 誰が語ったセリフなのか? (幼児には)わかりにくい。 (人間の)図書館司書が読み聞かせる時には 声色を変えるのだろうなぁ…と思わせる童話です。
いやぁ 「できの良い音声合成機能さえあれば 簡単に実現できる」 って思っていた 「童話の読み聞かせ」ですが、 実際に読み聞かせをする際に 人間はいろんな事をするんですねぇ。 奥が深いなぁ😀
いくつかの声色を切り替えるには?
ヘルニアの発症当初は (痛くて10〜20分間程度しか椅子に座ってられなくて) ベットに横たわりスマホでググるしかやれることがなかったので、 音声合成でいくつかの声色を使い分ける方法を探しまくってました。
当初考えていたのは Web Speech API の SpeechSynthesis のパラメータを変更すること。 この方法だと 確かに声色が変わってることは認識できるのですが、 物語の登場人物のキャラクターまでを 想像するのは難しい感じがしました。
例えば『幸福の王子』の場合、 王子は王子らしい声色で、 ツバメはツバメがイメージできる声色で 読み上げて欲しいところです。 もちろんナレーションの声色とも 識別できなければなりません*3。
VOICEVOX と SHAREVOX
何か、うまい手はないものかと さらに探しまくっていたところ、 YouTube で見かけた 「フリーの音声合成ソフト紹介」 的映像をキッカケに 見つけたのが VOICEVOX でした。
使い方の解説も見つけたので…
1時間ぐらい椅子に座ってられるようになったら ちょっと試してみようと考えたのですが…
突如、SHAREVOX が公開されました。
Github にソースも置いてある。
…となると、コード比較をしたくなるのが 職業プログラマの性なのですが、 チョロっと見た限りでは SHAREVOX の方が よく整備されているように見えます。
腰の痛みがなく、体調が良ければ、 もう少しガツガツ行きたいところなんだけどなぁ…
止む無く公開されているソースコードを スマホ片手にツラツラと眺めてました。特に sharevox_core は、機械学習による音声合成エンジンの Open JTalk とニューラルネットワークモデルの交換フォーマットの onnxruntime のラッパーになっているらしく 大変興味深いものです。 今後、ブログ記事が数回は書けそうです。
還暦も過ぎたので、そろそろ 「楽しげなことをコツコツと…」 に路線を変更しなくちゃね😀
最後に・・・
…とまぁ、 ブログを1年間もサボっていた言い訳を 長々と語ってきましたが、 これを復帰の前口上にさせてください。
それと最後にもうひとつだけ!!
京都検定の問題と模範解答を読み上げる 音声チャットボットについてです。
実は昨年の実習授業の知見から、 スマホ+音声チャットボット+学習支援 は面白いテーマだなぁ…と思ってまして、 今年の4月ごろには試験問題と模範解答を 読み上げる音声チャットボットを作るつもりでいました。
でも、試験問題と模範解答の著作権って どうなってるのかわからなくて 「実験で作るだけなのにお金を取られるのはヤダなぁ…」 などと考えていたところ、京都検定を思い出しました。
この検定は京都商工会議所が運営しているのですが、 ツテを頼って聞いてもらったところ 「公平性を期すため、いずれの事業者ともタイアップしない」 との方針なんだとか*4。
なので、比較的時間に余裕のある夏の間にシステムを開発して、 2022年の検定試験がある12月の1ヶ月前ぐらいに 公開する計画を立ててました。
残念なことに、 予期せぬロストサマーのために 夏の3ヶ月を棒に振ったので 計画は放棄寸前になっていたのですが…
SHAREVOX のリリースコードの中に 「つくよみちゃん」の音声があったので、 今は「2022年の検定試験には間に合わなくても、 彼女に問題を読み上げてもらいたい」と考え始めています。
✨参加者50名超え!?✨
— つくよみちゃん®【フリー素材キャラクター】 (@TYC_Project) 2022年10月6日
なんと、現時点で50名以上の方が #つくよみちゃんを利用してフォロワー増やしたい と表明されています!
是非検索結果画面に足を運んでいただき、気になる方をフォローしてみてください。フォロバしてもらえる保証はありませんが、これだけ集まれば結構期待できそうですよ! https://t.co/4ecm1CrSQ0
ということで、この文章にもハッシュタグを追加しておきます。
#つくよみちゃんを利用してフォロワー増やしたい
以上
*1:はてブの markdown 記法をすっかり忘れてしまってる。
*2:ちゃんとお礼を言ってなかったから、
この場を借りて
「吉田さん、本当にありがとう」
*3:これ、文字通り
「人間の認知とは何か?」
というお題です。
理詰めで考えると堂々巡りになりそうな。
「ツバメがイメージできる声色」
と書くのは簡単だけど、
実際のツバメは言葉は喋らないですからね。
学習のしようがありません。
*4:つまり昔の大学入試問題と同じ扱いで今も運営しているそうです。
京都では毎年12月に1級、2級、3級の試験がありますが、 試験後は京都新聞に問題と模範回答が掲載されます。
地元では講習会を企画する企業や
スマホアプリを開発しているITベンチャーも存在しますが、
みんな京都新聞の掲載情報を見て
勝手にやってるみたいです。