iPhoneでも
App Inventor(
Thunkable)の第3弾です。今回は、Thunkable for iOSに備えられた
Assistantというブロックを使った簡単な例です。これは、音声(またはテキスト)で、iPhoneと会話するものです。AssistantはGoogleの
Dialogflowの仕組みを使って音声応答するものです。
そのアプリの使用例を示します。音声で、「学科忘年会」とか「卒論提出日」とか、iPhoneに向かって問うと、「2017年12月26日です」とか「2018年1月25日です」という答えが表示されます。
|
個人用 SiriのようなiPhoneアプリ
|
日付に限らず、
「外部資金課の〇〇さんに謝らなくては」、とか
「教務課の△△さんに伝えなくては」という場合の
電話番号取得などにも使えます。
このような音声検索には、
AppleのSiriや
Googleの音声検索(OK Google)等があります。でも、例えば、本物のSiriに「卒論提出日」と問いかけても、まともに答えは返ってきません。本学科のローカルな情報ですから当然ですね。そこで、上記のような言わば、
「私の個人的Siri」のようなものがあってもいいですね。
|
Siriに「卒論提出日」を聞いてもだめです
|
さて、このiOSのアプリは、以下のような僅かなブロック(処理)の組み合わせて作れます。Assistantという名のブロックを使っています。
|
ThunkableのAssistantブロックの利用
|
そして、音声の問い合わせと日付の対応は、以下のようにGoogleのDaialogflowで定義します。それを、Assistantに接続しています。
|
Dialogflowによる会話のためのデータの定義
|
このDialogflowは、クラウド上で設定されており、以下の特徴があります。
- iPhoneアプリケーションを変更することなく、このDialogflowのデータを追加、修正でき、段階的に、実際に役に立つものに仕上げることができる。
- 類似語「忘年会」、「学科忘年会」 ... などもsynonymsとして、思い付いたらどんどん追加できる。
- 下記のように、ユーザが音声で問い合わせた場合の状況を示し、Dialogflowの学習状況を改善することができる。例えば、「卒研発表」と音声で問い合わせたつもりが、かなりの場合、「卒検発表」と誤認識された様子が分かる。学習改善に繋がる。
- と思っていたら、いつの間にか例えば「卒論の提出」でも正しく日付が提示されるようになりました。「の」を含んだものは上記Dialogflowには自分では設定していませんでした!
|
「卒研発表」のつもりが「卒検発表」と誤認識された状況も分かり、学習を改善できる
|