Create Self Rails

27歳、北海道に住む元IT企業SE。夢を叶えるために新卒で入社した会社をわずか1年で退職。自立していくために、色々と試行錯誤中。 夢は自分の作ったアプリ・ゲームで人の役に立つこと!主にアプリ・ゲーム・ブログといった創作活動や好きなことについての情報発信をしていきます。 好きなこと/ものは創作活動・プログラミング・ラブライブ!・北海道・オーバーオール。

【7/5更新 Ver1.5】かわいい女の子と会話できるアプリを作ってみた!

どうも、カナタです。

 

突然ですが、あなたはかわいい女の子と会話したくないですか!?

 

男なら一度は憧れる、かわいい女の子との会話。

 

というわけで、人工知能を使ってかわいい女の子と会話できるアプリを作ってみました。

といっても、2次元の女の子なんですけどね! 

f:id:projectkanata:20170705170055p:plain

画面にいるこの女の子は、UnityちゃんというUnity Technologies Japanが作成したオリジナルキャラクターです。

 

f:id:projectkanata:20170427160737p:plain

かわいい。

 

 

更新履歴

7/5 Ver1.5

  • Unityちゃんが動くようになった
  • 「会話するボタン」を押さなくても会話できるようになった
  • 会話したときUnityちゃんに表情がつくようになった

6/17 Ver1.4

  • Unityちゃんが音声合成機能を使うことで喋るようになった
  • 時間帯により、最初の言葉が変わるようになった

6/1 Ver1.3

  • Unityちゃんをリアル等身のものに変更
  • 家具などを削除(軽量化のため)
  • 音声認識に対応(ただし、GoogleChromeのみ)

音声認識を行うには、「音声認識」をクリックしてチェックをつけます。

f:id:projectkanata:20170601212542p:plain

 

「許可」をクリックします。

 

f:id:projectkanata:20170601212535p:plain

 

あとはマイクに向かって喋れば、

音声認識を行った結果が表示され、

Unityちゃんからの返答がきます。

 

現段階では何回か喋ると認識しなくなるっぽいです。

もし認識しなくなったらお手数ですが、

「テキスト」にチェックを入れてからもう一回「音声認識」にチェックを入れてください。

これで再度音声認識ができるようになるはずです。

 

5/24 Ver1.2

この変更により、会話文に「ニュース」と入れるとニュースを話してくれます。

また、「しりとり」と入れるとしりとりができるようになります。

5/19 Ver1.1

f:id:projectkanata:20170519210733p:plain

  • 外観をお部屋っぽくした(家具の配置は適当。笑)
  • 話してる感が出るようにUnityちゃんを近づけた
  • 返答時にリップシンク(口パク)するようにした(簡易)
  • その他細かい修正

どうやって遊ぶの?

動作環境

はじめに、このアプリの動作環境について。

  • MacGoogleChrome58.0 Safari10.1、Firefox54.0.1
  • WindowsGoogleChrome58.0
  • iPhoneiPhone5S iOS10.2

以上で動作確認済みです。

WindowsInternet Explorer11では動作しません。ご注意を。

 

遊び方

このアプリの遊び方を説明します。説明で使っているブラウザはGoogle Chromeです。

f:id:projectkanata:20170705170055p:plain

この画面が出て来るまで、すこし時間がかかります。

この画面になったら、薄い水色の枠をクリックします。

そうすると、こんなダイアログボックスが出てきます。 

f:id:projectkanata:20170705175331p:plain

ここに言葉を入力してOKボタンを押してください。

エンターキーでもOKですよ。

そうすると、Unityちゃんから返答がきます。

f:id:projectkanata:20170705175327p:plain

これで遊び方の説明は以上です。

Unityちゃんといろいろ会話して楽しんでみてくださいね!

Unityちゃんとお話してみる!

 

なんで作ったの?

僕は先日こんなニュースを見かけました。

 

リクルートがAIをまさかの無料公開。さっそくすべてのAPIを試しまくってみた - BITA デジマラボ

 

リクルートがAI(人口知能)を無料で公開したそうです。公式サイトはこちら

  

このサイトをいろいろと見てると、ふと1つの機能が目に止まりました。

Talk API」という機能です。

 

これは人工知能を使って対話を実現する機能です。

そこで、僕はこう思ったのです。

 

「あれ?これ使えば女の子と会話できるんじゃね?」

 

そう思ったのでさらに調べました。

すると、僕の持っているプログラミングの知識でどうにか作れそうでした。

 

「よし!早速作ろう!」

 

もともと別のゲームアプリを作るためにいろいろと知識をつけたり実践をしてきたりしてたんですが、

面白そう!楽しそう!という欲望を抑えきれず、作り初めてしまいました。

 

そうしたらなんと1日でできました。

好きの想いは、ときにものすごい力を生み出すんですね。

 

このアプリの解説

このアプリで使っている技術や仕組みについて解説します。

まずは、使われている技術から説明しますね。

 

Unityってなに?

Unity(別名:Unity3D)とは、統合開発環境を内蔵し、複数のプラットホームに対応するゲームエンジンである。(wikipediaより引用)

つまり、Unity

  • ゲームが作れるよ!
  • スマホで遊べるゲームやPCで遊べるゲームも作れるよ!

こういうアプリです。

 

もちろんこのアプリもUnityで作られていますよ。

Unityを使えば、いろいろなゲーム・アプリが作れちゃいます!

 

Talk APIってなに?

Talk APIChatbotを作成するためのAPIです。 Recurrent Neural Network(LSTM)を用いた入力文からの応答文生成による日常会話応答機能を提供します。 Talk APIを活用したChatbotによって様々なアプリケーション上でユーザとの対話を自動化し、 どのようなタイミングにおいても即座にユーザからの問いかけに対して応答することができます。(公式サイトより引用)

 

この文章を見てもなんのこっちゃと思うかもしれません。

要するに、ユーザーから送られた言葉に対して自動的に会話文を生成して返答できる、ということです。

 

Talk APIを使って、アプリの会話機能を実現しています。 

 

どういう仕組みなの?

アプリの仕組みを簡単にですが紹介します。

f:id:projectkanata:20170427163834j:plain

  1. ユーザーがUnityに言葉を入力する
  2. UnityTalkAPIに言葉の内容を送信する
  3. TalkAPIが受け取った言葉の内容を解析して返答内容を返す
  4. Unityに返答内容が表示される

 

ざっくり説明するとこんな感じですね。

 

さいごに

このアプリは、僕のプログラミングによって生まれました。

プログラミングって、ほんとうに楽しい。

自分の考えているアプリが実現できた瞬間の達成感といったら、たまらないですよ。

これを味わってしまったら、もう戻れないぐらい。笑

 

僕はプログラミングが最初から上手かったわけではありません。

このアプリも試行錯誤の連続でしたからね。

 

知識や実践を積み重ねることによって、やれることがどんどん増えていく。

これがプログラミングの世界なんです。

この記事を見て少しでもプログラミングに興味を持ってくれたら、僕は嬉しいです。

 

このアプリで何か不具合を見つけたらご連絡ください。

あと、「こんな機能ほしい!」と思ったらぜひご連絡ください!

100%できるかはわかりませんが、一考しますよ。

 

Unityちゃんとお話してみる!

 

それでは!| |