講演資料

講義資料スライドの表紙です。スライド画像、または下の要約文中の青いページ番号リンクをクリックすると、別のタブで無駄なノイズのない、純粋なPDFビューア画面が起動し、指定されたページへ直接ジャンプして快適に閲覧できます。

全体概要

本セミナーは「ボイス・アシスタント・システム」をテーマに掲げ、Amazon Echo/Alexa、Google Home/Assistant、Microsoft Cortana、Apple Siriといったプロダクト群の登場が、ITエンジニアにとって何を意味するのかを問い直すものです [p.1], [p.4]。

その問いの背景には、2016年のAmazon Code Conferenceにおいてジェフ・ベゾスが「ボイス・アシスタントの熱狂的な流行はすぐそこまで来ている」と宣言し、Apple・Google・Amazon三社の「戦争」を予告した事実があります [p.2], [p.3]。ボイス・アシスタントは自動運転カーと並び、AI技術がコンシューマーに普及する最初の二大プロダクトの一つと位置づけられており、その市場とプラットフォームを誰がどう押さえるかが、AIビジネス全体の行方を左右する可能性を秘めています [p.2]。

本セミナーが提起する最も重要な「問い」は、ボイス・アシスタントに向けられた「二つの期待」の峻別です [p.41]。第一の期待、すなわち「音声中心のインターフェースへの移行」は正しい。しかし第二の期待、つまり「ディープラーニングによって機械が言語を真に理解する知性を持つ」という期待については、現時点では難しいと明確に結論づけます [p.42]。ディープラーニングが音声認識(speech2text)の精度を飛躍的に高めたことは疑いようがなく [p.29], [p.32]、マイクロソフトが2017年に人間と同等の5.1%という誤認識率を達成したことはその証左です [p.39]。しかし音声を文字列に変換した先——その文字列をどう理解し処理するか——については、現在のディープラーニングはほとんど何も教えてくれないのです [p.45], [p.65]。

この現実認識に立脚しながら、本セミナーはエンジニアが今何に取り組むべきかを三つのBotタイプ(入出力のボイス化、情報提供型、汎用会話型)という実践的枠組みで整理し [p.69], [p.71]、特に第一のタイプから実装スキルを磨くことを強く推奨します [p.73]。後半では、Alexa、Cortana、LUIS、Google Assistant、Dialogflowといった実際の開発モデルを、Intent Model・Slot Model・Intent Signature・Entity Modelという進化の軸に沿って体系的に解説し、Multi-turn Dialogによるユーザー体験設計の重要性にまで踏み込みます [p.150], [p.365]。ボイス・インターフェース時代においてUI/UXの概念そのものが刷新されるという認識が、本セミナー全体を貫く底流です [p.363], [p.364]。


講義のロードマップ

■ Part 1: ボイス・アシスタント・システムの現状と課題

  • この部の核心:

市場に登場している主要なボイス・アシスタントのプロダクトを俯瞰した上で、その技術的基盤であるディープラーニングと音声認識の関係を整理します。そして「機械は言語を理解できるか」という問いに対し、現在の技術の到達点と限界を、Google翻訳やDeepMindのDifferentiable Neural Computerといった最先端研究の成果を参照しながら冷静に評価します [p.5], [p.27], [p.46]。

  • 論理展開:
  • Amazon Alexa/Echo Show、Sony・Panasonic・JBL・AnkerによるGoogle Assistant搭載スマートスピーカー群、Apple Siri、Microsoft Cortana、IBM Watson API、NTT Voice-Series、docomoのRecognition API群など、主要プロダクトの全体像を概観します [p.7], [p.9], [p.10], [p.15], [p.17], [p.18], [p.21], [p.25]。
  • 2012年を「AIの転換点」として位置づけ、Googleの大規模ニューラルネット、AlexNetの画像認識コンテスト圧勝、そしてHinton・Google・IBM・Microsoftによる音声認識へのディープラーニング応用という三つの出来事が現代AI技術の礎を作ったことを示します [p.29], [p.31], [p.32]。
  • NTTのCHIME-3第一位達成(2015年)[p.35]、マイクロソフトの誤認識率5.1%達成(2017年)[p.39]という音声認識の進化を確認した上で、「音声→文字列への変換が可能になったに過ぎない」という本質的な限界を提示します [p.45], [p.65]。
  • Googleニューラル機械翻訳(2016年)における「普遍言語」的兆候への考察 [p.48]、およびDeepMindのDifferentiable Neural ComputerがbaBiタスク(小学4年生レベルの推論問題)に苦戦している事実から、現在のAIによる自然言語「理解」の限界を具体的に示します [p.52], [p.58], [p.59], [p.63], [p.64], [p.65]。


■ Part 2: ボイス・アシスタントへの期待と実践戦略

  • この部の核心:

二つの期待(音声インターフェース化と機械の知性化)を峻別した上で、Botの機能を三つのタイプに分類し、エンジニアが現実的に取り組むべき優先順位を提示します。「汎用会話Bot」の幻想を退け、第一の入出力ボイス化タイプから着手することの合理性と、スマートフォンをプラットフォームとして活用する視点を示します [p.40], [p.42], [p.69], [p.73], [p.82]。

  • 論理展開:
  • 音声インターフェースの特徴として、情報量は文字・ビジュアルに劣るが、準備不要で簡便であるという特性を整理し、インターフェースの歴史的変遷(キーボード→GUI→スクリーンタッチ→音声)の中に位置づけます [p.43], [p.44]。
  • Botの三タイプを明確化。第一(入出力のボイス化)は実装容易 [p.69]、第二(情報提供型)は検索技術の深さが鍵 [p.69]、第三(汎用会話型)は「シナリオを人手で書く」現実に収束してしまうと警告します [p.71]。
  • Turing Test 2014のEugene Goostmanの事例を通じて、「汎用会話Bot」の現実的な限界を具体的かつユーモラスに示します [p.76], [p.77], [p.79], [p.80], [p.81]。
  • AlexaとGoogle Assistantの違いを「第一機能(入出力のボイス化)ベース」vs「第二機能(情報提供)ベース」として対比します [p.70]。


■ Part 3: 人工知能と検索技術——Google Knowledge Graphの役割

  • この部の核心:

ボイス・アシスタントの情報提供能力を支えるのは、従来の文字列検索ではなくグラフ検索技術であることを示します。GoogleのKnowledge GraphとSchema.orgのEntity Modelの構造を理解することが、第二タイプのBot開発の鍵となります [p.83], [p.100], [p.129]。

  • 論理展開:
  • Google音声検索が2008年に英語でリリースされ、日本語版が2009年に世界第二位として登場した歴史的経緯と、日本語特有の課題(文字種の多様性、単語境界の不明確さ)を解説します [p.84], [p.85]。
  • 日本語音声検索の解決策として生まれた「WordPiece」技術が、後のGoogleニューラル翻訳の基盤ツールになったことを示します [p.86], [p.87]。
  • Google Nowの機能を「外部検索が必要なもの(赤字)」と「システム内部で完結するもの(青字)」に分類し、疑問文と命令文という二つの文型が「意味のプラグマティックな理解」に対応することを示します [p.93], [p.94], [p.95], [p.96], [p.97]。
  • Entity/Propertyモデルに基づくKnowledge Graph検索の仕組みをDa Vinci・Mona Lisaの例で図解し [p.103], [p.104], [p.105]、Schema.orgのスキーマ(GoogleやMicrosoftが採用)のボキャブラリー構造(TypeとProperty)を解説します [p.133], [p.136], [p.144], [p.145]。
  • Google Knowledge Graph Search APIの公開機能の制限(Taylor SwiftのEntityは存在するが誕生日にはAPIからアクセス不可)という現実的な制約も示します [p.107], [p.108], [p.109]。
  • GoogleがiOSのデフォルト検索エンジン枠を年間約3,000億円でAppleに支払っているという事実から、検索市場の戦略的重要性を浮き彫りにします [p.117], [p.118]。


■ Part 4: ボイス・アシスタントのプログラミング——開発モデルの進化

  • この部の核心:

ボイス・アシスタントのプログラミングモデルがどのように進化してきたかを、Speech2Text/Text2Speech→Voice Command→Intent Model→Intent+Slot Model→Intent Signature/Entity Modelという段階的な発展として体系的に解説します [p.150], [p.151]。

  • 論理展開:
  • Speech2Text/Text2Speech: 最もプリミティブなモデルで、音声の入出力変換の間に個別処理をハードコードする構造。用途ごとに複雑化し転用が困難という限界を示します [p.152], [p.153], [p.166]。
  • Voice Command(Cortana): 音声をコマンドとして扱うモデル。VCD(Voice Command Definition)ファイルでListenFor・Feedback・PhraseListを定義し、複数言語(英語・フランス語・中国語)にも対応します [p.167], [p.172], [p.177], [p.178]。「入力・出力を文字列で表現する」という重要な設計思想が確立されます [p.168]。
  • Intent Model(Alexa): SampleUtterances.txtによって多数の発話を一つのIntent Nameにマッピングし、クラウド上のLambdaで処理するイベントドリブン型モデル。Hello WorldサンプルとHistory Buffサンプルで具体的に示します [p.184], [p.186], [p.187], [p.191], [p.197]。
  • Intent+Slot Model(Alexa): IntentにSlotという引数を持たせ、PlanMyTripの{fromCity}/{toCity}/{travelDate}やGetHoroscopeのように、発話中の可変部分を型付きパラメーターとして取り扱います [p.210], [p.211], [p.215]。AMAZON.Actor・AMAZON.Food等のList Type Slotライブラリーも提供されます [p.220]。
  • Entity Resolution: MEDIA_TYPEのように「song/track/single」を同一Entityとして統合し、IDと同義語リストで管理する手法です [p.217], [p.218]。
  • Intent Signature(Schema.org連携): `AMAZON.SearchAction`という形式で、ActionとEntity TypeとPropertyを組み合わせてIntentを定義します。Schema.orgのボキャブラリーが採用されており、発話からSlotが自動的に埋まる仕組みを実現します [p.273], [p.283], [p.284], [p.291]。Weather Skillの実装例でその威力を具体的に示します [p.302], [p.303], [p.304]。
  • LUIS(Microsoft): 発話に対してIntentとEntityを返すWebサービスとして、「Book me a flight to Cairo」「Order me 2 pizzas」「Remind me to call dad tomorrow」といった発話のNLP処理をデモします [p.307], [p.309], [p.310], [p.311]。
  • Messenger/wit.ai: FacebookのMessenger Platform Built-in NLPがテキストメッセージから自動的にEntityを検出する仕組みを示し、「bye, see you tomorrow at 4pm」から日時Entityを抽出する例を紹介します [p.326], [p.329]。
  • Google Assistant SDK: Python libraryとgRPC APIの二つのアプローチを提示。ConverseRequest/ConverseResponseによるストリーム処理の構造を示します [p.335], [p.338], [p.346], [p.347], [p.348]。
  • Dialogflow(旧API.AI): 2017年10月に改名されたGoogleのNLPプラットフォーム。Intent生成、Fulfillment、多言語対応のインライン実装を解説します [p.351], [p.356], [p.357], [p.361], [p.362]。


■ Part 5: 音声インターフェース時代のユーザー体験設計

  • この部の核心:

ボイス・インターフェースにもUI/UXの設計が必要であるという観点を確立し、特にMulti-turn Dialogという「対話の連鎖」の実装を通じて、ユーザーが自然に情報を提供できる体験設計の方法論を示します [p.363], [p.364], [p.365]。

  • 論理展開:
  • Alexaのスキルにおいて、Slotに「required(必須)」フラグを立てると、欠けている情報をAlexaが自動的にユーザーに問い返すMulti-turn Dialogが発動する仕組みを解説します [p.365], [p.366]。
  • PlanMyTripの{fromCity}/{toCity}/{travelDate}を段階的に確認・充足していく具体的な対話シナリオ(東京→稚内、4月21日出発)を示します [p.367], [p.368], [p.374], [p.375], [p.376], [p.377], [p.378]。
  • Dialog Modelで定義された三つの制御手法——Delegate Directive(Alexaに対話全体を委任)、ElicitSlot Directive(特定Slotの入力を要求)、ConfirmSlot/ConfirmIntent Directive(SlotまたはIntent全体の確認を要求)——を解説します [p.370], [p.371], [p.379], [p.382], [p.385]。
  • `dialogState`がSTARTED→IN_PROGRESS→COMPLETEDと遷移するライフサイクルを通じて、スキルがいつDelegate指令を返せるか、いつ独自処理に移るかを明確に示します [p.372], [p.373]。