(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

IBMのWatsonをUnityで使ってみた【Unity】【アセット】【IBM Watson】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2017.3.1f1


はじめに

ちょっと前に、Unity Asset StoreにIBM Watson Unity SDKが公開され、

UnityでもIBMのWatsonが簡単に使えるようになりました!

という事で今回は、WatsonをUnityで使ってみようという趣旨の記事です。

なお、現状Web PlayerやWeb GL上では使えないようです。


Watsonとは

そもそもWatsonとはなんぞやという所からですが、IBMのサイトでは以下のように説明されています。

IBMは、AIを「Artificial Intelligence(人工知能)」ではなく、「Augmented Intelligence (拡張知能)」として人間の知識を拡張し増強するものと定義し、IBM Watsonを中核とするコグニティブ・ソリューションとしてお客様に提供しています。IBM Watson(ワトソン)は、自然言語処理と機械学習を使用して、大量の非構造化データから洞察を明らかにするテクノロジー・プラットフォームです。


そしてUnityのサイトでは以下のように説明されています。

IBM と Unity は、Unity Asset Store で IBM Watson Unity SDK を公開し、Unity アプリケーションに Watson クラウドサービスが提供する画像認識、音声認識、言語分類などの機能を簡単に組み込めるようにしました。IBM Watson Unity SDK によって、開発者は一連のクラウドベースのサービスを通し最新の AI 技術を簡単に利用できます。


ざっくりまとめると、(Watsonが)自然言語処理と機械学習を使って

画像認識、音声認識、言語分類などが出来る(してくれる)らしいです。


具体的に何が出来るの?

次は具体的に何が出来るのかという話ですが、

APIのページに出来ることが列挙してあって分かりやすいです。


f:id:kan_kikuchi:20180411095046j:plain


質問に自動で応答したり、画像に写ってるものを分析したり、

音声をテキストに変換したり、テキストから音声を合成したりと、

使用用途はかなり多岐に渡るようです。


また、それぞれのページには概要やデモ、活用例などが日本語でありました。


f:id:kan_kikuchi:20180411142836j:plain


ただし、全ての機能がUnityで使えるかは分からないので、

実際に使う際は調べてみる事をオススメします。


料金

これだけ高機能だと、さぞかしお高いんでしょう?

と思い気や、なんと無料で使い始める事が可能です!


f:id:kan_kikuchi:20180411143934j:plain


ただ、ちょっと触ってみた印象だと

「無料でも使える」というよりは「無料でも試せる」という感じでした。

また、料金体型が各機能ごとに違うので、そこにも注意が必要です。


使い方

無料で試せるという事が分かったので、実際に使ってみました。

ちなみに公式のセットアップ手順(英語)はGitHubにあります。





IBM のアカウント作成

まずはIBM Cloudのアカウントを作成します。

以下のページの無料で登録というボタンを押し、諸々記入してアカウントを作成します。


f:id:kan_kikuchi:20180411111100j:plain


IBM Cloudのプロジェクト作成

アカウントが作成出来たら、IBM Cloud上でプロジェクトを作成します。

ログイン後、左上のメニューを押し、


f:id:kan_kikuchi:20180411114811j:plain


Watsonを選択、


f:id:kan_kikuchi:20180411114831j:plain


開いたページでサービスの参照を選択、

使いたい機能にチェックマークを付けSelectedにし、サービスの追加を行います。


f:id:kan_kikuchi:20180411115049j:plain


最後にプロジェクト名を入力し、

右上の設定がLite(無料)なのを確認し、プロジェクトの作成を行います。


f:id:kan_kikuchi:20180411115318j:plain


アセットのインストール

次にUnity側での準備です。

と言っても、Asset Storeにあるアセットをインストールするだけ。



f:id:kan_kikuchi:20180411111654j:plain


なお、Unityのバージョンは最近のやつならだいたい動くっぽいです。


f:id:kan_kikuchi:20180411111615j:plain


サンプルを動かす

後はServiceExamplesにサンプルがあるので、これを動かすだけ。


f:id:kan_kikuchi:20180411140220j:plain


動かし方も簡単で、

試したいGameObjectだけ有効にし、Username等を入力し、エディタを実行するだけ。


f:id:kan_kikuchi:20180411140336j:plain


ちなみにUsername等は、先ほどIBM Cloudのページで作成したプロジェクト


f:id:kan_kikuchi:20180411140654j:plain


資格情報の欄から確認する事が出来ます。


f:id:kan_kikuchi:20180411140701j:plain


実際にテキストを音声に変換する機能をUnity上で使ってみました。

なお、ExampleTextToSpeech.csの設定を以下のように変更してます。

//声にするテキストを変更
string _testString = "<speak version=\"1.0\">あいびーえむのワトソンを ユニティーで使ってみた!</speak>";
//声の種類を日本語に変更
_textToSpeech.Voice = VoiceType.ja_JP_Emi;


見ての通りエラーが出ていますが、これは無料では使えない機能があるという事っぽいです。


おわりに

ちょっと触ってみた程度ですが、実装自体は結構簡単に出来そうです。


ただ、Webページというか情報が分散していたり、一部日本語の情報がなかったりと、

結構分かりづらいので、調べるのに根気は必要そうです。


また、無料ではそもそも使えない機能も結構あるようなので、

実際に使うとなると、最初から本腰入れて使わないキツそうなイメージでした。


参考