で、Cognitive Servicesってなにができるの?
Microsoft Cognitive Servicesは、Cortana Intelligent Suiteのサービスの一部。Cortana Intelligent Suiteでは、さまざまなデータの入力をインテリジェントに思考し、具体的なアクションにつなげるデータ処理基盤で、情報管理やビッグデータのストア、機械学習や分析、インテリジェンス、ダッシュボードなどを含む。
学習の仕組みやデータストアまでを含めた包括的なCortanaやりんなと異なり、Cognitive Servicesは知覚の部分のみを提供するインテリジェントなサービスを指す。人間の認知機能をコンピューターで実現するもので、Project OxfordやBing APIなど過去のさまざまなマイクロソフトのテクノロジーから生み出されているという。
現在、Microsoft Cognitive Servicesは22種類のサービスが用意されており、見る(Vision)、話す(Speech)、言語(Language)、知識(Knowledge)、検索(Search)というジャンルに別れている。これらはAPIで呼び出すことができ、Webサービスなどで連動することが可能だ。
たとえば、Vision系のComuputer Vision APIでは写真やビデオの画像を分析することで、タグやキャプションを付けたり、中の文字列を読み取ったり(OCR)、サムネイルを作ることができる。その他、年齢や性別、類似した顔の検出などを識別するFace API、喜び、驚き、悲しみなどを認識するEmotion API、手ぶれ補正や顔の表示位置などを検出するVideo APIなどが用意されている。写真から人物の年齢を推定するHow-Old.netも、このうちFace APIとBing Image Searchで実装されているという。
また、Bing Speech APIでは音声をテキスト化するSpeech-to-Text(9言語/17地域対応)、テキストから音声のText-to-Speech(18言語/28地域対応)が用意されている。さらに、言語系ではスペルチェックや文書構造、ネガポジ分析、関連言語の抽出などのほか、自然言語から文意やキーワードを抽出するLUIS(Language Understanding Intelligent Service)が用意されている。大森氏はLUISについて「いろんな文章と文意をある程度登録しておき、対象となる文章が流れた際に意図とエンティティを導き出す」と説明し、LUISのユーザーインターフェイスから、de:codeに関するニュースを探し出すためのデモを披露した(なお、LUISは6月21日に日本語対応が発表された)
これらCognitive ServicesはVisual Studioなどから基本的にCallするだけ。REST API経由でサービスを呼び出すと、JSONが返ってくる。無料版もあり、GitHub上にサンプルコードも用意されているという。
得上氏が語るあゆみちゃん開発の舞台裏
Cognitive Servicesの概要を理解したところで、オークファン執行役員でMicrosoft MVP for Data Platformの得上竜一氏による実装の説明に入る。
先ほど登場したあゆみちゃんはCognitive Servicesを組み合わせて、得上氏が1日で作り上げたもの。しかも一番時間かけたのはあゆみちゃんを構成する3つのリングの動きで、「一番内側は口を表わしていて、あゆみちゃんの話すスピードで回る。真ん中は目を表わしていて、画像を見たりすると回る。一番外側は耳を表わしていて、人の話を聞いているときに回る。どうでもいいかもしれないけど、ここにこだわりました」と得上氏はこだわりについて説明する。
実際のあゆみちゃんは、テキストを音声会話にするText to Speechと音声を認識してテキストに変換するSpeech Recognition、文章の意図を読み取るLUIS、画像検索を行なうBing Image Search、ニュースを調べるBing News SearchなどのCognitive Servicesを組み合わせることで実現している。
あゆみちゃんのデモについて説明した得上氏によると、現状のText to SpeechはCortanaのような洗練したしゃべりは難しいが、人間が十分に認識できるレベルの会話は可能だという。さらにText AnalysticのAPIを用いており、大森氏とあゆみちゃんの「テコンド?」「テコンドじゃないですよ。de:codeですよ」のデモのくだりも、テキスト解析の結果として実現できた。ちなみにBing News Searchで出てきたテコンドーのニュースは得上氏がネタとして仕込んだもので、本来は結果として出てこないという。
開発してみての感想として得上氏は、Project OxfordとBingという2つの開発プロジェクトがCognitive Servicesに統合された経緯で、エンドポイントや認証が異なる点に注意が必要だと指摘した。基本的に技術的には同じなので、今後のアップデートをチェックしてほしいという。
コンピューターと話せる世界はもうここにある
再登壇した大森氏はMicrosoft Cognitive Servicesをオススメする理由として、「APIで呼ぶだけで使える」「開発言語やプラットフォームを問わない」「Project OxfordやBingなど実績のある技術」という3点を挙げる。
そして、クロージングとして7年前に作られたマイクロソフトの「Future Vision」のビデオを披露。大森氏は、違う国の学生同士が仮想ディスプレイを介して勉強しているシーンを見ながら、「こういった世界をマイクロソフトは7年前から描いていた。Cognitive Serviceを使えば、場所や言語を超え、人と人をつなげることができる。スマホやセンサーなどさまざまなデバイスで得た情報を必要な形で得ることができる。こういった未来へどんどん進んでもらいたい」と述べる。
得上氏も「コンピューターと話すのが夢だった。これを一から全部作るのは大変だけど、人間の感覚をサービス化したCognitive Servicesを使えば、お話しできるだけではなく、話を理解してくれたり、画像を見て感想を述べてくれるようなコンピューターができてくるんじゃないかなと思う」と語り、未来がもはや目の前にあることをアピールした。