GoogleとMicrosoftのAIプラットフォーム【後編】

2017年11月24日(金)
梅田 弘之(うめだ ひろゆき)

はじめに

今回は、前回に引き続き、GoogleとMicrosoftのAIプラットフォームの各サービスについて紹介していきます。

(5)自然言語理解(Natural Language Understand)

Google Natural Language APIは、自然言語の構造と意図を解析するAPIです。英語やスペイン語、中国語などさまざまな言語に対応し、もちろん日本語も大丈夫です。ドキュメントやニュース記事、ブログ、メール、チャットなどの文章を解析して、人、場所、イベントに関する要素(エンティティ)を抽出します。また、文章から悲しい、怒っているなどの感情要素も取り出せます。

自然言語処理は、りんなのようなChat Bot、OK Googleのようなパーソナルアシスタント、Google Homeのようなスマートスピーカーなどにも使われています。音声認識や画像認識に比べると”人間レベル”に到達するまでまだ時間がかかりそうですが、SNSの文章から商品に関するコメントを拾ったり、コールセンターでの対応をサポートしたり、いろいろなところで実用化されて成果が出ています。

Google Natural Language APIは、アプリケーションから参照できるHTTPエンドポイントのWebサービスになっており、さまざまな企業がパーソナルアシスタントやロボティクス、チャットボットなどのアプリケーションを開発しています。

予め用意された言語モデルのほかに、ユーザーが意図や句を追加カスタマイズしてトレーニングできます。また、アクティブラーニングによって、利用しながら自己学習して成長する仕組みも持っています。

<<メモ>>エンドポイントとURI

エンドポイントとは、APIにアクセスするためのURIのことです。また、URIは「Uniform Resource Identifier」の略で、Webページの場所を表すURL(Uniform Resource Locator)や名前を識別するURN(Uniform Resource Name)の総称です。

サンプルとして、Googleのホームページに「先日、購入した洋服のサイズが合いませんでした。返品できますでしょうか」という文章を入力してみました。Entitiesタブで「洋服」「サイズ」「返品」という3つの要素がCONSUMER GOODなどのカテゴリ付きで抽出されています(図8)。Sentimentタブで感情的要素、Syntaxタブで読み取った文章の構成を見ることもできます。

図8:Natural Language APIでテキスト解析

マイクロソフトではLanguage Understanding Intelligent Services(LUIS)というサービスで提供されています。下記のような機能別APIが用意されており、ホームページのデモで機能を試してみると、テキストをトークン(字句)に分解して構造解析したり、キーワードを抽出したり、評判分析したりする仕組みが理解できます。

Bing Spell Check(スペルチェック)

Language Understanding Intelligence(言語理解)

Lingustic Analysis(テキスト構造解析)

Text Analytics(重要句やトピックの検出)

Web Language Model(単語分割)

<<メモ>>不適切なコンテンツのフィルタリング

画像認識、音声認識、テキスト分析とも、対象の中から不適切なコンテンツが含まれているものを検出するセーフサーチ機能(Moderator機能)が備えられています。こうしたフィルタリング機能は、アダルトや暴力、差別的コンテンツの投稿を防ぐほか、Chat Botが粗野な言葉使いに染まっていかないようにするのに重要です。

国によっては政府への不満分子を見つけ出したり、言論弾圧に使われたりもしているかと思うと、ちょっと怖い技術でもあります。

(6)動画分析(Video Recognition)…β版

Google Cloud Video Intelligence APIは、Google Cloud Vision(画像認識)の動画版です。動画ファイルを分析して、そこに含まれる要素(エンティティ)を抜き出し、どんなコンテンツが含まれている動画なのかカタログ化してくれます。イメージとしては時間軸を元に動画を輪切りにし、そのスナップショットごとにCloud Vision的な処理をして要素(エンティティ)を抜き出している感じです。

抽出した要素がキーワードとなるので、いろいろなキーワードで検索した際に該当する動画をヒット率の高そうなものからピックアップするなどの応用が可能となります。ドキュメントをテキスト解析してキーワードで検索する技術の動画版という感じでしょうか。YouTubeという動画サイトを持つGoogleらしいAPIと言えますが、MicrosoftにもMicrosoftにもVideo insightsというAPIが用意されています。

Googleのホームページのデモを見ると、動画が進むにつれてビデオに付けられるラベルの候補が少しずつ変化するのがわかります。今回選択したものは動物園の様子なのですが、AnimalやZooなどと動画に映った内容がきちんとタグ付けされています。

図9:Google Cloud Video Inteligence APIで動画にラベル付け

<<メモ>>GAとRC

新しいサービスが次々とリリースされるAIの世界ではGAという言葉がよく出てきます。これはGeneral Availabilityの略で、正規リリースや正式版などの意味で使われます。これに対比するのがRC(Release Candidate)で、こちらはいわゆるβ版のことです。マイクロソフトではプレビュー、中国では公測中と呼んでいます。

AI技術は日進月歩なので、本連載の途中でもRCだったものがすぐGAになります。連載はこの先のAI技術を考えるのが主目的なので、RCだったり日本語をサポートしてなかったりするものも評価対象に取り上げています。

(7)仕事検索…α版

Google Cloud Jobs APIは、自分に合った仕事を見つけるのを手助けするジョブ検索APIです。Google社が画像分析、音声認識のようなベーシックなAPIだけでなく、ビジネス寄りのAPIを提供してきたことに少し驚きました。これからエンタープライズ向けのAIプリケーションもサービスインして行く戦略なのか、たまたまあるチームが作ったものを公開したのか、この先の展開を注目しています。

API自体は転職支援サイトやハローワークなどに使えそうですが、このAPIにはマッチングにディープラーニングを応用するヒントが隠されています。AIはすでに人材派遣会社のスタッフ検索や結婚相談所の候補選びなどにも活用されていますが、より幅広い用途にディープラーニングが使われていくのを予感させられます。

(8)ナレッジ(Knowledge)

日本ではあまり知られていませんが、マイクロソフトはMicrosoft Academic Graph(MAG)と呼ばれる科学技術情報データを収集・蓄積・管理しています。ここには、科学論文の記録や論文間の引用関係、研究分野、著作者、機関、ジャーナル、会議開催地などのデータやグラフがあります。

これらの文献情報の登録作業は手作業で行っているのではなく、AIがWeb上に公開された文書を読み取って自動収集しています。Bing検索を使ってデータを集め、分類やタグ付けを行ってMAGに登録処理しており、毎週100万件というペースで増加しています。そして、このMAGに蓄積されたナレッジを利用するためのAPIがいくつか用意されています。

Academic Knowledge API(ナレッジ検索)…プレビュー
ナレッジ(MAG)検索用のAPIです。ユーザーが検索キーワードを入力すると、APIはそれをナレッジ(MAG)からデータを引き出しやすいような注釈を付加(自動補完)してナレッジを検索し、Academic Knowledgeからデータを取り出して結果を返します。

このAPIを使って統計的な情報も得ることができます。例えば、ある著書の年ごとの引用数などをグラフ化したり、2つのテキストの類似性を評価したりすることもできます。こうしたテキストの類似性発見はこの先活用範囲が広がりそうな技術です。例えばアメリカでは裁判情報のデータベース化が進んでいるのですが、膨大なリーガルデータの中から過去の類似事案を見つけるような分析サービスも既に提供されています。

Knowledge Exploration Service(クエリ構造化)…プレビュー
Explorationとは、調査、探査という意味です。自然言語のクエリ(検索文)を構造化されたクエリに変換し、対話形式の検索がスムーズに行われるように支援します。

Entity Linking Knowledge Services API(固有キーワード検知)…プレビュー
文章の中から特定のキーワードにハイパーリンクを付けて、ウィキペディアやヘルプに紐付けているテキスト文がよくあります。この紐付けを手作業で行うのは大変ですが、自動的に固有キーワードを検出してくれるのがEntity Linking Knowledge Services APIです。

キーワードは単語1つとは限りません。例えば、ホームページのデモに"Apple music,Apple computer and Big Apple aren't apples”という英文を入力してみたところ、Apple musicとApple computerと Big Appleという3つの固有名詞を検出しています(図10)。

図10:Entity Linking Knowledge Services APIのデモ

Recommendations API(レコメンド)…プレビュー
ネットショッピングや音楽・動画配信などでよく使われているレコメンデーション機能は、顧客の購買データや行動を元に、おすすめ商品を表示してコンバージョン率を高めるのに使われています。最近、これらのレコメンドエンジンは、どんどんAIを使ったものに置き換わってきています。マイクロソフトも、こうしたビジネス寄りのAIサービスを提供していきそうな気配を感じさせられるプレビュー公開です。

(9)検索(Search)

マイクロソフトの検索エンジンBingを使って世の中のWebページにアクセスし、画像や動画、ニュース記事、Webページなどのコンテンツを取り出すサービスが提供されています。

・Bing Autosuggest API(検索補完)
マイクロソフトが最初に始めたインテリセンス(IntelliSense)という入力支援機能があります。これは、ワードを途中まで入力したときに候補を表示する”オートコンプリート”やタイプミスを自動補正する”オートコレクト”などを総称した呼び方です。

このオートコンプリートをWebで提供し、さまざまなアプリケーションや製品で使えるようにしているのがBing Autosuggest APIです。英語だけでなく日本語にも対応しており、ホームページのデモで機能を確認できます。

・Bing Image Search API(画像検索)
Web上の画像を検索する機能をさまざまなアプリケーションや製品に提供するAPIです。ホームページのデモで「ペンギン」と入力すると、図11のようにWeb上からペンギンの画像を拾ってきて表示してくれます。キーワード検索だけでなく、鮮度や色、画像サイズなどの条件を付けて検出される画像を絞り込むこともできます。

図11:Bing Image Search APIのデモ

Bing Video Search API(動画検索)
Bing Image Searchの動画版です。

Bing News Search API(ニュース検索)
Bing Image Searchのニュース記事版です。

Bing Web Search API(Webページ検索)
Webページ検索版です。このAPIを使えばGoogleやYahoo、BingなどでおなじみのWeb検索機能をアプリケーションや製品から利用できます。Webサイトをクロールして情報を集める系のアプリを作るのに重宝します。GoogleにもGoogle Custom Search APIというサービスがありますが、Bing Web Search APIの方が割安で使えそうです。

(10)エージェント・Bot

自然言語理解をコアとするbotエンジンやAIエージェントは、オープンソースとして一般公開しているもの、自社のアプリに限定して提供しているもの、自社利用のみで非公開のものがあります(表3)。

表3:各社の自然言語理解AIとbot作成サービス

AIエージェント 公開状況 自社での利用
Google OK Google Androidアプリ(限定公開) Androidなど
api.ai オープンソース Google Allo
Facebook Wit.ai オープンソース Messenger
Microsoft Luis
Bot Framework
Cognitive Servicesで有料公開 Cortana
Apple Siri サードパーティに限定公開 iOSなど
Amazon Lex AWSサービス(有料公開) Amazon Echo
IBM Conversation Watson Developer Cloud(有料公開) Watson

2017年10月にスマートスピーカー「Google Home」が発売され、「OK Google」がよりなじみ深いものになりました。ただし、「Google Now API」は、今のところAndroid上にアプリを登録するユーザーだけの限定公開で、それ以外の一般のアプリケーションからは利用できません。その代わりにGoogleは2016年に買収したapi.aiというbotエンジンをオープンソースで公開しています。こちらはGoogleのメッセージアプリAlloにも採用されています。

MicrosoftもLuis.aiという自然言語理解AIを使って、Cortana(コルタナ)というパーソナルアシスタントを作っており、これをベースにしたbot作成環境Microsoft Bot Frameworkをプレビュー公開しています。フレームワークは、Bot開発統合環境のBot Developer SDKs、BotアプリをSkypeやSlackなどのメッセージングサービスに接続するBot Connectorで構成され、作成したBotはBing channelに追加して広く公開されるようになっています。

iPhoneを擁するAppleもiOS10にSiriKitを搭載してSiriをサードパーティ向けに公開し、UberやSkypeなどのアプリから「Hey Siri」と呼び掛けて利用できるようになりました。また、AmazonもAmazon Echoで使われているAlexaというパーソナルアシスタント技術をベースにしたLexというbotエンジンをAWSサービスで公開しています。

そしてFacebookも2015年に買収したWit.aiというbotエンジンをオープンソースで公開しており、これを自社のMessenger Plattformのbot開発としても提供しています。

<<メモ>>りんな

りんなはBingチームが開発・運用している女子高生AIチャットボットです。2014年に中国マイクロソフトが小冰(しゃおあいす)というボットを出して大人気となり、翌2015年に日本でも姉妹版のりんなが作られ、アメリカでも2016年にZo.ai(ぞー)が登場しています。

実は、米マイクロソフトはZo.aiの前にTay(テイ)というチャットボットを公開したのですが、悪趣味なユーザーが面白がって人種差別やヘイト言語を覚え込ませたため、すぐに停止する事態となりました。マイクロソフトが中国テンセントと共同開発したチャットボットのBaby Qも2017年8月、突如として共産党批判を開始したため停止するはめになりました(今は修正して再開)。

AIサービスに不適切なコンテンツが含まれているものを検出して除去するフィルタリング機能が備わっているのは、こうした危険性を回避するのに重要だということが痛い経験として改めて立証されたわけです。

前回から2回に渡り、GoogleとMicrosoftを中心にAIプラットフォームが提供しているサービスがどのようなものかを紹介しました。次回はIBMとAmazonのAIプラットフォームを見ていきます。古くから人工知能に取り組んでおり最近はWatsonで攻勢をかけているIBM、ECやクラウドに続いてスマートスピーカーでもリーダーとなっているAmazonが、それぞれに自社のコアコンピタンス(強み)を活かしていて興味深いですよ。

著者
梅田 弘之(うめだ ひろゆき)
株式会社システムインテグレータ

東芝、SCSKを経て1995年に株式会社システムインテグレータを設立し、現在、代表取締役社長。2006年東証マザーズ、2014年東証第一部、2019年東証スタンダード上場。

前職で日本最初のERP「ProActive」を作った後に独立し、日本初のECパッケージ「SI Web Shopping」や開発支援ツール「SI Object Browser」を開発。日本初のWebベースのERP「GRANDIT」をコンソーシアム方式で開発し、統合型プロジェクト管理システム「SI Object Browser PM」など、独創的なアイデアの製品を次々とリリース。

主な著書に「Oracle8入門」シリーズや「SQL Server7.0徹底入門」、「実践SQL」などのRDBMS系、「グラス片手にデータベース設計入門」シリーズや「パッケージから学ぶ4大分野の業務知識」などの業務知識系、「実践!プロジェクト管理入門」シリーズ、「統合型プロジェクト管理のススメ」などのプロジェクト管理系、最近ではThink ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」「エンジニアなら知っておきたい システム設計とドキュメント」を刊行。

「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています