(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!超可愛い実写猫の戦略的オンラインカードゲーム!PC&スマホ両対応!

Download on the App Store Google Play で手に入れよう

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にあるアセットをインストールするだけ。

IBM Watson SDK for 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ページというか情報が分散していたり、一部日本語の情報がなかったりと、

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


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

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


参考