IBMのAI、Watsonで拡がるUnityアプリ開発

IBM/Developer Advocate(エバンジェリスト)

佐々木 シモン

元フロントエンドエンジニアでXR大好き人間。現在の専門はマネージドAI技術(IBM Watson Developer Cloud)を中心にハイエンドVR/AR/MRに関心が高い。IBM社内では量子コンピューター技術コミュニティーに属しており、社外ではAIコミュニティー「水曜ワトソンカフェ」のモデレーターを務める。

IBMの現在

まずは、自己紹介からお願いします。

佐々木Developer Advocateをしている佐々木シモンです。日本では馴染みがない業種ですが、プログラマーやエンジニア、クリエイターにプログラミングやコードレベルでサポートをさせていただくこと、製品をおすすめするというよりは、どちらかというとオープンソースを提案し、一緒にサポートしています。この職についているのは、IBM全体で200人くらい、日本では5人ですね。

IBM、という会社について、ご存じの方はDOS/Vの時代や、ThinkPadなどを使ったことがある人もいるかと思います。ただ、しばらくの間BtoCのビジネスをやられていなかった印象もあり、まずはIBMのことをお話いただければと思います。

佐々木IBMは昔だと電子計算機があって、パーソナルコンピューター、IBM PCがあってThinkPadというノートパソコンがありました。2005年くらいにThinkPadをLenovoに手放してから10年以上一般のコンシューマーの人たちには触るものがなくなってきたのでちょっと忘れ去られている感はあるかな、と思っていて……。
マイクロソフトさんであれば、普段Windowsを使っていたりとか、Surfaceを使っていたりとか、Amazonさんは世界最大規模のオンラインストアがあります。僕もポチりますし。GoogleさんはGmailや、検索もありますよね。その中で、ちょっと日常的ではないんですけどIBMは100年以上、もともとコンピューターの歴史にずっと携わっています。特に研究開発、特許にはすごく投資している会社なんです。2011年にクイズで、AIの Watsonが勝ったというのも記憶に新しいでしょう。ちなみに、それよりもさかのぼると1997年にチェスで実は人間に勝ってたんですけどね。

Deep Blueですね。

佐々木97年にチェスで当時の世界チャンピオンに勝って、それから2011年にAIで米国の人気クイズ番組Jeopardy!でチャンピオンを打破して 、という形でAIマーケットを広げていった感じですね。

佐々木今、IBMが力を入れているのところに、量子コンピューターもあります。その裏側でいろいろな研究をやっていて。オープンソースのコミッターとしてとか、クラウドサービスっていうのも拡充してきています。AIのWatsonも実はそのサーバー……1つのオンプレミスのものではなくて、今はクラウドサービスで使ってもらえるようになっています。

コンシューマーの目には見えないところに、最先端の技術を提供している会社である。

佐々木実際には使われているんですけど、表立っては見えてこないっていうのはありますね。例えば、コンビニATMのイーネットさんも実はIBMがお手伝いしていますし、銀行のチャットボットのサービスにWatsonが使われていたりもします。 それから、面白いところではラジオJ-WAVEでアシスタントとしてAIのWatsonが出てたりもしていますね。
確かにIBMって名前があんまり出てこないですが、他の会社の名前で出てきて、それを支えるテクノロジーとしてIBMが使われているっていう部分はありますね。

AIサービスとして展開するWatson

今回Unite Tokyo 2018でもWatsonの話をされるとのことですが、まずWatsonについて、お話をお伺いできますでしょうか。

佐々木Watsonは「2011年にクイズで勝ったAI」というイメージが強いですが、その後はIBM Cloud上に開発者が利用できるAPIが展開されていて、今では誰でも使えるようになっているんですね。呼び出すサービスによっては一定回数までは無料で使える枠もあり、それを超えても1APIコールあたり0.2円くらいで使えるようになっています。AIに必要な要素っていうのが分割されてる感じなんですね。

分割されているといいますと……?

佐々木Watsonのできる事を、機能ごとに分けて、それぞれをAPIにしているということです。凄く簡単な例では、テキスト文字列から音声を合成する「Text to Speech」とか、バーチャルリアリティーでも使われている音声からテキスト文字列に変換する「Speech to Text」、それに「Watson Assistant」というチャットボット型の対話を作成するようなサービスがあります。

それから「Natural Language Understanding」では、文章を解析して理解し、コンセプトの文章内のキーワードの抽出ができることに加えて、文脈がネガティブであるとかポジティブであるとか感情的な側面で判断することができます。そのほかに Watsonならではという面では、Personality Insightによる性格分析。テキストの平文やTwitterとかFacebookとか多めの文章をデータとして入力すると、解析して書き手の性格(パーソナリティー)を推定するもので、職業や地位とは異なる「その人に固有の、長期的に見た感情面の傾向、性質」を導き出すことができます。

一般的に、性格分析はどういったシチュエーションで使用されているんでしょうか。

佐々木例えば、人事業務におけるのマッチングで使われています。採用、後任の決定などですね。基本的にはある程度まとまったTwitter文章とか、論文とか、ブログとかを入れてあげると分析が結構細かく出てきます。それに相性が合っている人をマッチングさせたりとか……。
こういうのもゲームの中で使ってくれると、プレイヤー同士をどこでマッチングさせるかというのにも関わってきたりとかすると思いますよ。Twitter認証やFacebook認証をしているのだったらそこからのデータがそれに対して入れられますし。
年齢や性別のくくりだけではないような、もうちょっと深い形で、本質的なパーソナリティについてのマッチングですね。
こういったもの1個1個が実はREST形式のAPIになっていて必要なデータをサービスに送信すればJSONのデータが返ってくるという簡単な仕組みで利用できるようになっています。APIの利用費用については、無料枠で呼び出せる範囲を超えても、API呼び出しが単純に従量課金で0.1円くらいから提供されています。
IBMっていうと「何千万円とか何百万円っていうソフトウェアを売っている」というイメージがすごく強いんですけど、IBM Cloudに展開されている Watson APIは、開発者の皆さんが気軽に試せるよう、価格設定も考慮しています。
IBM Cloudでは 、ライト・アカウントっていうクレジットカードが無くても登録できる無料のプランがあるんですね。 IBM Cloud ライト・アカウント IBM Cloud ライト・アカウントで利用できるサービス

それで結構大部分のAPIはある程度1000回とか使えるので、ゲームを作るときに「AIの導入でどれくらいの効果が出るかわかんない、でもやってみたい」という人や、学生さんで自分のクレジットカードとか持てなかったりする人にも使えるようになっています。メールアドレスだけ持っていれば、AIサービスが使えるっていう意味ではUnityを使ってもうちょっと作品に幅が広げられるっていうところのエッセンスになるんじゃないかな、という感じがしますね。
例えば、しゃべりかけてUnityちゃんが反応してくれたり、しゃべった言葉に対してそれが怒ってるとか気分が悪いとか楽しいとかっていうことも言語解析のところのAPIですぐに判定できる。会話の喜怒哀楽に応じて表情を変えるところに使っていく、みたいなことができればすごく面白いなと思っていますね。

今回、IBM Watson Unity SDKが発表され、ライブアカウントがIBM側で用意されたことにより、インディー開発者さんや、学生さんたちにもAIを使ったゲーム開発ができるようになりました。そこで、彼らに対して、IBMはどのようにアプローチされていく予定ですか?

佐々木実は、「どうやってAIを使っていくのか」、「どうやって新しい最新テクノロジーを使っていくのか」ということ、今だとサーバーレスや、ブロックチェーン、VRをこんな感じで使ったらいいのかな、とかこんな風に使ってみたいなっていうのって、実は国をまたいでも同じ課題がみんなあるんですね。
それをサンプルアプリにした形のものを IBM Codeというページで紹介させてもらってて、全部GitHubにソースコード付きで公開されているんです。 IBM Code

しかも、IBMのクラウドだけを使っているわけではなくてオープンソースを多く使っています。全部GitHubにあがっていますので、チェックアウトしてもらって、ビルドするとすぐに触れるようになっています。
その一環として、この「Speech Sandbox」もUnityのAsset Storeにありますが、これもGitHubにソースコードが公開されています。なので「こういうAPIの使い方をするとこういうアプリや、ゲームが作れるんだね」というのがわかるようになっています。 Create a virtual reality speech sandbox

ベンダー側が製品を出しているときって、その会社だけがオーナーシップを持っているので開発に参加しづらいところがあると思うんですけど、オープンソースだとみんなが参加できる。そういうところで実は今回のUnity SDKもIBM Watson Unity SDKという名前にはなっていますが、GitHubに公開されているので、必要であれば誰もが改良に貢献できるんです。
「もっとこうしたほうがUnityのエンジニアにとっては使い勝手がいいよ」ということがあれば、オープンソースのプロジェクトに参加していただいて一緒に盛り上げていったりできる要素があるのが、いままでのIBMとはちょっと違うところなのかもしれません。

今後のIBM Watson

佐々木はい。2014年にこのAPIサービスが一般に公開されてからもう4年くらい経ったので、そういう意味では全体的なアーキテクチャーそのものがガラッとversion.2.0くらいにはなってる印象ですね、個人的には。
マシンラーニングやディープランニングはどんどん日進月歩で機能が増え、効率が良くなっていくというものですから、サービスもどんどんわかりやすく拡充されていく感じですね。
それから、IBM Cloud全体でいうとサーバーレスやブロックチェーンのサービスがありますので、どんどんテクノロジーの幅を広げていくっていうようなことはやっていけるのかなと。

今までのWatsonのサービスとして使用されていたのは、現実世界に対してのAIだったものが、ゲームの世界に入っていくことによってどういう世界が広がるのか、ユーザー体験はどう変わっていくのか……。これを考えて答えを出していくのはゲーム側の仕事なのかもしれませんが、佐々木さんはどうお考えですか?

佐々木「どんな世界になるんだろう」っていうのは一番楽しいところですよね。予想されるAIの使い方としては、チャットボットがありますし、PepperみたいなロボットだけがヒューマンインターフェースではなくなってVRとか3Dの世界でAIを演出できるのがすごく全然違うなっていうのが一つ。あとはXRの世界では空間を設計できるのが大きいですね。
ちょっと前に、AR開発ツールを提供しているグローバル企業の方とお話をしたときに「これからは、デジタルを設計するんじゃなくて、普段から現実の世界を設計している職業の方々が、デジタルの業界に移ってくるんだろうね。空間デザインができる、本当のプロフェッショナルな人がバーチャルの世界もデザインしたりもするんだろうね」って。
今まではエンジニアとかIT業界とか、そういったプロフェッショナルな人がやるっていうところから本当にリアルワールドからもプロフェッショナルが入ってきたりとか、そういうコラボレーションも増えてくるんだろうなっていう気はしてますね。

究極的なWatsonの目標は「Watsonが入っていること」を意識されないように、当たり前に使われている……「ここにWatsonが使われてるのを知らなかったよ」くらいのところまで、うまく世界であったり、ゲームであったり、サービスの中に入っているものであったりに入っていくことなのでしょうか。

佐々木そうですね。おっしゃる通りです。Watson APIやのIBM Watson Unity SDKは誰でも使えるものですから、エンドユーザーが全く知らないところで使われていて全然かまわない。ゲームのタイトルの裏に知らない間に入ってる、どんどんそういうふうにAIが当たり前になってくるんじゃないかなと思います。 IBM Watson Unity SDK

今は一応AIブランドとして「Watsonを使っていますよ」と名前を出しているケースもありますが、実はもう別にあまりそういうふうに気負わなくてもAIが使えるっていうのが2018年の現実なのかな、と思います。
例えば、「今こう取材中に話している内容も録音した音声ファイルをSpeech To Text APIに入力して文字を起こした後、Natural Language Understanding」や「Discovery」を呼び出せば、このインタビューがどんな感じだったをWatsonが判断してくれる。この会話は、楽しかった(Joy)とAIには推定される、みたいなものが出てくる。
人間が介在しないとわからなかった感情を汲み取ってくれるっていうゲームなりプログラムが組めるようになったっていうのはすごく面白くて、幅が広がる。そういう意味で「感情を理解しようとするWatsonって面白いな」っていう風に思い始めましたね。

ゲーム開発者から見れば、ユーザーがより快適にゲームの世界に入れるようにするためのサポートができるようになる。

佐々木そうですね。表現の幅が広がるんじゃないかと思います。
「感情が理解できる」、「話した言葉を拾える」、「画像処理をUnityに組み込める」、そこを理解してもらえれば、作ろうと思っていたゲームや、今作ってるものに対して機能を増やすとかっていうところのイメージも広がるんじゃないでしょうか。

Unite Tokyo 2018の講演

今回のUnite Tokyo 2018の講演はどのようなお話をされる予定でしょうか。

佐々木インタビューの最初でも軽く触れましたが、いまのUnityのエンジニアの方からすると「IBMってなに?」って感じだと思うのでまずはそこから。次にWatsonについても聞いたことがない方が多いかなと思うので、そこの概要をご紹介させてもらう予定です。
本格的にはエンジニアの方が対象ですので概念だけではなくてUnityの中で具体的にどういう事ができるのかをアセットストアにあるVR Watson Speech SandboxとUnityのシーケンスを例に。あと実際のタイトル『Star Trek: Bridge Crew』を紹介させてもらおうかと思っています。エンジニアに限らず、AIに関心がある方々はぜひ聞いていただきたいと思います。幅広く知っていただきたい、プラス、ある程度深く説明できたらなって感じですね。 とはいうものの、AIは具体的に形にならないと面白くないので、具体性を持ちつつ。

ブースの出展もありますが、そちらでは何を出す予定でしょうか。

佐々木ブースでは、アセットストアで使えるVR Watson Speech Sandboxを体験してもらおうと、またUnityとWatsonが使われてるPlayStation VR(PSVR)タイトル『Star Trek: Bridge Crew』も展示する予定です。期間中は、私もブースに立っていますので、ぜひ足を運んでいただければ。また今後TwitterやブログでもWatson Unity SDK情報を発信していきますのでフォローして頂けると嬉しいです。 twitter:Simon Sasaki シモンさん