音声チャットボットによる対話型 AI 体験実習
藤田昭人*1・吉田智子*2
Email: akito_fujita@mvg.biglobe.ne.jp*1: プログラマー*2: 京都ノートルダム女子大学◎Key Words

1.

AI と人間の共同作業，チャットボット，プログラミング教育

はじめに人工知能（AI）は今日の情報教育において外すことのできないトピックである。マスメディアでも，SNS などのネットサービスでもAIという文字を目にしない日はない。
文系大学生の間でもAIは関心を集めるキーワードであるが，その関心はいささかネガティブな方向を向いているように感じる。
大学で AI の講義をするたびに「AI が人間の仕事を奪うと聞きますが本当ですか？」というような質問が寄せられる。実際，今日の AI 技術の基礎を成す機械学習は，統計学などの数学理論に基づくので，説明することも理解することも短時間では難しい。一方でシンギュラリテ
ィやディープフェイクといったAI技術が社会に与える影響に関わる議論を頻繁に耳にすることから，「得体の知れない技術に我々が支配される」などと，不安を感じてしまうのであろう。
AI 技術が普及期に入って 5 年以上が経過して，AI の有識者の発言も徐々に変化しており，「今後は人間と AI が共に歩む時代がやってくる」とされる。しかしこれは，AIに不安を感じる学生への答えにはなっていない。
「AI と一緒に仕事をする」ことのイメージがつかめないからである。そこで「AI と一緒に仕事をする」ことを学生に擬似体験してもらう授業を考えるに至った。
本稿では，機械学習などの専門的な知識を持たない学生に対し，AI を実感してもらうための体験実習を交えた授業実施の概要について報告する。スマホでも PC でも動作可能な実習ソフトウェアを開発し，音声チャットボッ
トの簡単なルールセット作成を課題として提示し，授業後も課題に取り組める環境を提供したことで，学生の積極性を引き出すことが確認できた。

2. チャットボットによる体験実習のプラン
2.1 「AI との対話」とは「AI との対話」は第１次 AI ブームに沸く 1960 年代に登場した ELIZA(1)にインスパイアされたアイデアで，1964年に米 MIT で開発されたチャットボットの元祖として知られているプログラムである。当時，最先端だった対話型コンピュータシステムのデモンストレーションのために作成されたこのプログラムは，一般的な商業誌で「人間と対話できるコンピュータ」として紹介され，広く一般にも認知されたことから大ブームが起きた。現在よりも一般的にコンピュータのリテラシーが低かった当時，「コンピュータとの直接対話」は専門家でない一般の人々の好奇心を強く刺激したという。

今日のAIに畏怖と同時に好奇心も感じている学生にも「直接対話」は同じ効果が期待できると考えた。

2.2 対話の要：応答文生成の方法
人間同士の対話では，いずれの話者も相手が最後に発話した文章に対する返事を返す。このように話者が相互に返事を返し続けることにより，対話が続いていく。いず
れかの話者がチャットボットに置き換わった場合，人間の発話内容を入力として応答文を生成できれば対話ができることになる。
応答文生成は，今日，自然言語処理の一般的な課題のひとつとして広く認識されており，近年では機械学習を用いたアプローチが多数提案されている。例えば，Google が機械翻訳のために開発したseq2seq (2) と呼ばれるアルゴリズムを応用して質問文から応答文を生成する試みは多数存在する。
このように，応答文生成は人間がルールセットを書いて実現することもできれば，機械学習のアルゴリズムを使ってデータを学習させることにより実現することもできる。そこで，今日の商用チャットボットが用いている機械学習による応答文生成のロジックを模倣したルールセットを書く実習を考えた。つまり，学生に AI の真似をしてもらって，その処理の中身を体験的に考えてもらおうという試みである。この方法であれば，機械学習そのものの説明を割愛しても，機械学習を体感できる。

3. 対話の状況の設定
3.1 チャットボットのルールセットの問題
ELIZA スタイルのルールセットは，原則的に人間が発すると想定される質問文（パターン）とそれに対するチャットボットの応答文のペアで構成される。ELIZA は予め大量のペアを登録しておき，応答文生成の際には実際に人間が発した質問と登録済みのペアのパターンとを比較してマッチしたパターンに対応する応答文を返す。
それ故，ELIZA スタイルのチャットボットの応答性能を向上させるためには，大量のルールセットを用意しなければならない。例えば， AliceBot は実用的な ELIZA ス
タイルのチャットボットとして知られているが，４万ペア以上のルールセットが内蔵されている (3) 。
また，機械学習を用いた応答文生成では，ELIZA と同様の質問文と応答文のペアを学習データとして用意し，予め学習させておく必要がある。しかし，今日の一般的な商業チャットボットでは最低でも１０万ペア以上のルールセットを学習させないとチャットボットは妥当な応答を返さないと言われている。

このようにチャットボットの応答性能を向上させるためには大規模なルールセットが必要になるのだが，その理由は一般的なチャットボットに対し人間はどのような質問を投げかけるか予め推定することができないからである。さまざまな質問に適切に応答させるためにはルールセットを次々と追加していく必要がある。
今回の実習は学生にルールセットを考えることを体験してもらうことを主眼としているので，チャットボットは必ずしも実用的な精度で応答を返す必要はないが，学生自身が入力した少数のルールセットが機能しているところを学生に示すためには，人間の発する質問の内容的な広がりを自然に絞ることができる仕組みが必要である。
そこで，チャットボットとの対話に（国語のテストでよく設問される）文章読解問題のような枠組みを導入する方法を考えた。すなわち，* まず人間に比較的短い文章を提示する* 先にチャットボットから人間に提示した文章に因んだ質問を投げかけ，人間からはそれに答える発話を引き出す* 人間から引き出した発話に対応する応答文を返す
このような対話であれば，人間からの発話は提示する文章の範囲に大きく絞られる。また提示する文章は予め用意するので，学生はルールセットを格段に考え易くなる。

3.2 実習での状況設定：「童話読み聞かせ」
本稿で提案している体験実習には，応答文生成に関わる煩雑さから，様々な制約が付随した。しかし学生にこの事情を説明すると長くなり，混乱させる可能性もあったので，スムーズに授業に入っていけるように実習の状況設定を細かく丁寧に決める事にした。それが「童話読み聞かせ」の状況設定である。
この「童話読み聞かせ」は一般の図書館で司書の方々が実際に担当されているサービスのひとつである。この講義は女子大学で実施するので，卒業後の就く職業として「図書館司書」や「幼児の関心を集める」にリアリティを感じてもらえるのでは？と考えた。具体的には* 童話の読み聞かせをする AI を考える
* 対象は幼稚園児〜小学校低学年* 基本的には童話を音読して聞かせるであるが，なかには途中で飽きる子供もいるため，子供が飽きないように，* 童話の段落を読むごとにコメントをしたり，質問したりして，子供たちの参加を促す* 質問をした場合には子供のリアクションに対してさらにもう一言返す必要がある* このような対話ができるAIのルールを考えましょうという状況を設定し，そのことだけを学生に説明した。ルールセット作成は「対話している状況のイメージを膨らませる」集中力を要する作業なので，学生が「なりきれる」状況設定であることが重要だと考えた。

図１ 開発中の作業スクリーン（Glitch, Vue.js, Web Speech API を使って実装）

4.

実習システムの開発

実習システムを用意するにあたって，次の２つの課題を解決する必要があった。
a. 実習システムは学生が所有するスマホで動作するものとする
b. 実習システムは音声機能をサポートすることが望ましい
a. は学生のルールセットの作成には時間を要すると見込まれたため，持ち帰って作業できる環境を提供する必要があったからである。b. は AI と対話するという状況を演出したい」という理由による。
「童話読み聞かせ」というテーマ設定をする関係上，少なくとも音声合成はサポートする必要があると考えた。
いわゆる ELIZA 互換のオープソースのチャットボッ
ト実装はネットで多数出回っているが，上記の２つの課題をクリアできるように修正するには時間が足りなかったため，実習に必要な機能だけをサポートするウェブ・アプリケーションを新たに作成した。実装にはGlitch, Vue.js, Web Speech API を使った。
Glitch (4) は同名のソフトウェア企業が運営する
JavaScript 向け PaaS (Plathome as a Service) で，JavaScriptを使った簡単なウェブ・アプリケーションが構築できる。Glitch の作業スクリーンを図１に示す。
図１に示したように，ブラウザだけでコード実装が可能な環境なのだが，特筆すべきは軽量 RDB の SQLite が利用可能で，小規模であれば外部データベースなしで，ウェブ・アプリケーションを構築可能なことである。
Vue.js (5) はオープンソースの model–view–viewmodel（MVVM）(6) に基づくユーザインタフェースと単一ページアプリケーション（SPA）(7) を構築するためのフロントエンド向け JavaScript フレームワークで，スマホアプリに匹敵する UI を簡単に実装することができる。Web Speech
API (8) は，W3C（World Wide Web Consortium） が HTML5
audio の一部として開発した音声認識・音声合成のためのJavaScript API で，2020 年に W3C から draft として公開された。
「実験的な機能」とされているが，Google Chrome，Apple Safari，MS Edge など主要なブラウザで動作する。
但し，スマホ版ブラウザでは音声認識機能が停止されている場合がある。実習システムでは音声合成機能のみを使用した。実習システムの概要を図２に示す。
なお，読み聞かせ対象の童話の文章はhttps://www.grimmstories.com/ で公開されているグリム童話のシンデレラを活用した(9)。

5.

体験実習をした講義の概要

体験授業を実施したのは，京都ノートルダム女子大学の国際言語文化学部の 2 年次生以上対象の選択科目「インターネット社会論」であった。2021 年度の後期の 90 分
授業の 15 回中 4 回分をこの体験実習に使った。履修者は31 名で，うち 23 名が２年次生であった。
授業はあくまでも AI の体験を目的としていたので，4回のうち 3 回を AI の歴史や現状についての説明を行って，学生が「AI と協業する仕事」をイメージしやすいように配慮した。
4 回目の授業ではルールセット作成を体験してもらったが，実習プログラムの使用方法をレクチュアするとともに，今日普及している対話型 AI が内部で行っているデータ処理を模倣していることを強調した。さらに児童に対する童話の読み聞かせの際に配慮すべき事柄などを指摘して，プログラム処理では難しいポイントについて学生の気づきを促すように工夫した。
授業の概要については，2022PC カンファレンス「チャットボットのルール記述を利用したAIとプログラミング教育の試み」（吉田智子・藤田昭人著）を参照されたい。

6. 学生の反応に対する考察
6.1 文章読解問題のような枠組み
実習では事前の予想を超えて学生は積極的にルールセットを作成してくれた。
「文章読解問題のような枠組み」を採用する作戦はかなり成功したと考えている。学生が書いてくれたルールセットを丁寧に見ていくと，実習で用いた「シンデレラ」のストーリー展開に起因するところが多いように感じた。

図２ 実習システムの概要図

https://www.grimmstories.com/ のグリム童話 シンデ
レラはオリジナルのグリム童話の日本語訳であり，いわゆる「本当は怖いグリム童話」的な内容であったことから，ストーリーにグロテスクな表現が登場する。学生が作成したルールセットにはこういった表現を取り上げた「怖いですね」というニュアンスのルールの記述が多く見られた。この点に関しては，本来の「幼児向けの読み聞かせ童話」に適していたか？という議論はあるが，インパクトのある文章を提示することが学生の実習へのモチベーションに大きく影響することが確認できた。

6.2 「童話読み聞かせ」の状況設定
前項と関連して，学生が「なりきれる」ような分かりやすい状況を設定することも効果を発揮したと考えている。
体験実習の前の講義では「人間に寄り添う AI」という表現で説明したが，学生が将来就職を希望する職業や現在アルバイトをしている職場を想定した設定を与えることで，AI 技術の社会実装について，具体的に考え易くなるのだろう。
大学生に馴染みのあるアルバイト先ということを考慮すれば，コンビニのレジ係，ケーキショップやパン屋の店員，レストランのウェイトレスといった設定も，今後の授業の設定の候補に挙げられるのではないかと考えている。
6.3 プログラミング教育との関連性
学生からの「ルールを考えるのは案外難しい」との感想が散見された。講師が用意した設定にハマり込んでくれた証拠なので歓迎したいのだが，その「難しい」理由を熟考すると「論理的思考に不慣れ」という場合もあるのではないかと考えている。
「この表現が登場したらこの応答を返す」というELIZA スタイルのルールセットは，プログラミングにおける条件分岐をプログラミング言語を全く使わない形で提示する。プログラミングを習得していない学生には，その側面でもハードルが上がった可能性がある。逆を返せ
ば「文章読解問題のような枠組み」は，プログラミング言語を使わずに論理的思考を促す教材にもなり得る。
6.4 スマホを使った実習
今回の授業では用意できる実習環境の問題などから学生自身のスマホを使って実習してもらったが，日常的に扱い慣れている機材を使った実習であった事も，結果的に実習のハードルを引き下げた要因になったと考えている。
音声合成を使った童話読み上げは予想外に学生のAI感を盛り上げた。既にこのような音声機能を持った機器は社会に溢れているし，音声機能をサポートするスマホアプリも出回っているように思うのだが，多くの学生にとっては「自分の発案したセリフを自分のスマホがしゃべる」ことにインパクトを感じたようである。反面，実習用のアプリを自分のスマホにインストールすることには抵抗があるようなので，ブラウザが利用できる今回の Glitch+ Vue.js + Speech API による実習システムは，学生のニーズにきっちりフィットしたように思う。

7.

おわりに

一般に情報系の科目では聞き慣れない概念や用語が多数が登場することが多いが，教養として学習する場合には，これが学生とって大きなハードルとなる。特に日進月
歩のペースで研究開発が進む今日のAI技術のレクチャー
ではこの問題は顕著に現れるため，多くの学生に実感的に理解してもらうためには工夫が必要である。今回の授業では AI を体験してもらうことに重点をおいたことで，学生が個々にAIを感覚的に捉えられる機会を用意できたと考えている。
現在各大学は，オンライン教育の拡充に務めているが，大学が用意するオンラインによる教育システムの隙間を埋める手段として，今回の実習システムのような軽量の教育ツールは今後さらに需要が高まって行くと予測している。例えば，講師が授業中に実施する小テストやクイズなどは，講師の裁量で簡便に済ませたい需要もあるであろう。
また，音声機能の活用は学生の積極性を引き出す上で役立つことが今回確認できた。今回は活用できなかった
音声認識機能も利用できれば，自宅で学生のクイズへの回答をアシストするシステムが開発できるのではないか。
そしてこれもAIの社会実装の一つの例ではないかと筆者は考えている。

参考文献
(1)

(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)

ELIZA -- A Computer Program For the Study of Natural
Language Communication Between Man And Machine,
http://web.stanford.edu/class/cs124/p36-weizenabaum.pdf(参照 2022.06.01) .
seq2seq (https://en.wikipedia.org/wiki/Seq2seq)(参照 2022.06.01) .
Artificial Linguistic Internet Computer Entity(https://ja.wikipedia.org/wiki/Artificial_Linguistic_Internet_Com
puter_Entity) (参照 2022.06.01) .
Glitch, Inc. (https://en.wikipedia.org/wiki/Glitch_(company))(参照 2022.06.01) .
Vue.js (https://ja.wikipedia.org/wiki/Vue.js)(参照 2022.06.01) .
Model View ViewModel(https://ja.wikipedia.org/wiki/Model_View_ViewModel)(参照 2022.06.01) .
Web Speech API(https://developer.mozilla.org/ja/docs/Web/API/Web_Speech_API) (参照 2022.06.01) .
Web Speech API Draft (https://wicg.github.io/speech-api/)(参照 2022.06.01) .
グリム童話 シンデレラ(https://www.grimmstories.com/ja/grimm_dowa/shinderera)(参照 2022.06.01) .