1. 始める前に
この Codelab では、人間を中心にしたデータ プラクティスとユーザーの信頼を適切に調整することに重点を置き、People + AI Research(PAIR)ガイドブックの新しい版に記載されているベスト プラクティスを適用して、AI を活用した新製品を設計します。
前提条件
- AI の概要を理解している。
- 製品開発ワークフローの知識。
学習内容
この Codelab では、Google Research の People + AI Guidebook を使用して、信頼できるユーザー中心の AI プロダクトを構築する方法を学びます。
具体的には、以下のことを行います。
- PAIR Guidebook の第 2 版の新機能について説明します。
- データとユーザーに対する説明可能性に焦点を当て、ユーザーの信頼を調整する AI 開発プロセスの機会を強調する一連の演習を行います。
- さらに詳しく学習するためのツールキット(教材やリソース)の概要
必要なもの
- ブラウザ
- Colaboratory ノートブック(BERT を使用した感情分析など)を表示するための Google アカウント
2. 始める
今年の Google I/O で、PAIR Guidebook の第 2 版を発表します。初版は 2 年前にリリースされ、それ以来、世界中のさまざまな役割(デベロッパー、デザイナー、プロダクト マネージャー、学生など)の 25 万人以上の方々にご利用いただいています。このたび、このレポートをさらに実用的なものにするためのアップデートを導入いたします。
具体的には、この第 2 版では、ガイドブック内を移動してタスクごとにコンテンツを見つける新しい方法を提供しています。ユーザー中心のアプローチで AI を活用したプロダクトを開発する際に、チームが抱く可能性のある重要な質問をまとめました。これらの質問は、必要なときに必要なコンテンツを見つけるのに役立ちます。
- 開発中の製品でいつ、どのように AI を使用するべきか
- データセットを責任を持って構築するにはどうすればよいですか?
- ユーザーから AI システムに対する信頼を得るために、どのようにするべきか
- 新しい AI 機能にユーザーをオンボーディングするにはどうすればよいですか?
- AI システムをユーザーにどのように説明するのか
- ユーザー制御と自動化の適切なバランスとは?
- 問題が発生した場合、どのようにユーザーをサポートすればよいですか?

質問を選択すると、関連するコンテンツがより小さく、より実用的な単位で表示されます。
また、PAIR ガイドブックも新しいコンテンツで更新しました。
- AI 設計パターンのセット
- 事例紹介
- 更新されたチャプター
- 新しい演習とワークショップ キット
この Codelab では、AI を使用して新機能を開発するワークフローで、これらの設計パターンのいくつかを実際に使用します。
では始めましょう。
3. ユーザーのニーズを AI の問題に変換します。
次のシナリオを考えてみましょう。
映画視聴アプリを開発しており、ユーザーがより多くの映画を見つけられるように、ユーザー エクスペリエンスを改善してカスタマイズしたいと考えています。
アプリのランディング ページには現在、次のセクションがあります。
- 新作映画のリスト(公開日順)
- すべての映画のカタログ(ジャンル別に整理)
- 検索ボックス。ユーザーは映画のタイトルやキャストなどで検索できます。

パーソナライズされたおすすめのない映画アプリ
ユーザーにおすすめの映画を表示する新しいセクションを追加したいと考えており、この機能を実装するには AI が適していると考えています。実装に入る前に、次のことを行う必要があります。
- 既存のワークフローを確認する: ユーザーは現在どのようにアプリを利用しているか、ユーザー エクスペリエンスをどのように改善できるか。
- AI で独自の価値を追加できるかどうかを判断する: 問題は AI でうまく解決できるものにマッピングされていますか?AI でプロダクトのユーザー エクスペリエンスを改善できる可能性はありますか?
PAIR ガイドブックの User Needs + Defining Success の章で、AI が適切なソリューションとなる可能性のあるユースケースのリストを確認すると、ユーザーのニーズは次のタイプの問題に該当することがわかりました。
- ユーザーごとに異なるコンテンツをおすすめする
- パーソナライズによりユーザー エクスペリエンスが向上する
- 動的コンテンツを表示する方が、予測可能なインターフェースよりも効率的です
AI が優れたソリューションではない可能性が高いケースのリストも必ず確認してください。
AI を活用したソリューションがユーザーのニーズを満たすのに適していることがわかったら、実際にユーザー エクスペリエンスが向上するかどうかを評価します。
パターン:

AI を使って構築を始める前に、検討しているプロダクトや機能に AI が必要かどうか、または AI によって強化されるかどうかを確認してください。
AI は次のようなアプリケーションに適しています。
- 映画のおすすめなど、ユーザーごとに異なるコンテンツをおすすめする
- 天気やフライトの価格変動などの将来のイベントを予測する
- 自然言語理解
- 画像認識
ルールベースまたはヒューリスティック ベースのソリューションが適しているのは、次のような場合です。
- 予測可能性を維持することが重要
- ユーザー、お客様、デベロッパーには完全な透明性が必要
- タスクの自動化を望んでいない
AI を使用する(または使用しない)タイミングについて詳しくは、ユーザーのニーズの章 をご覧ください。
パターン全文へのリンク: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value
ユーザーが特に楽しめそうな映画を各ユーザーにハイライト表示することで、アプリの価値を高めることができます。最新の映画や全体的な高評価の映画だけを表示するよりも、ユーザー エクスペリエンスが向上します。また、この機能を使用することで、急速に拡大している映画のカタログを探索する時間を節約できるとも考えています。
AI 搭載ソリューションの導入を決めたら、次のステップの計画を立てましょう。
4. タスクのデータセットを構築する
ユーザーに映画のおすすめを提供するようにレコメンデーション システムをトレーニングするには、AI モデルが学習するデータセットをまとめる必要があります。
まず、ユーザーのニーズとデータのニーズを一致させます。
PAIR Guidebook の章「データ収集と評価」のマッチング演習を使用して、次のことを決定します。
- ユーザー: 映画視聴者(映画アプリのユーザー)
- ユーザーのニーズ: 好きな映画をより簡単かつ迅速に見つける
- ユーザーの操作: アプリで映画を選択して視聴する
- AI システムの出力: どの映画を提案するか、その理由(感情ラベルまたはタグ)
- AI システムの学習: 映画のおすすめを受け入れる、映画を最後まで視聴する、映画のレビューを書く、映画に高い評価を付けるといった行動パターン
- 必要なデータセット: アプリの映画視聴データ、映画情報、映画の評価とレビュー
- データセットに必要な主な特徴: 視聴者の映画の好みと視聴履歴、映画の情報(ジャンル、キャストなど)、映画の星評価、映画のレビュー
- データセットに必要なキーラベル: アプリの提案に対する視聴者の承認率または拒否率、視聴者の映画の完了率、視聴者の評価とレビュー、提案が拒否された理由に関する視聴者のフィードバック
この演習を完了すると、いくつかの潜在的なデータソースが見えてきます。
必要なデータの種類を把握したら、Google の AI 原則と責任ある AI の実践を、プライバシー(「通知と同意の機会を提供する」など)や公平性(「多様なユーザーのニーズを開発サイクルに組み込むために、ユーザー テストを繰り返し実施する」など)といった重要な考慮事項を検討するのに役立つフレームワークの例として検討してください。
最後に、トレーニング データセットを準備する際は、現実的で、世の中にある「ノイズ」の多いデータを反映したデータを収集してください。たとえば、スペルミス、略語、絵文字、一般的でない文字や予期しない文字を含む映画のレビューを必ず含めてください。アプリのユーザーは、今後、完璧な形式のレビューではなく、同様にリアルで「ノイズ」の多いレビューを投稿する可能性が高いためです。
パターン:

トレーニング データセットを開発する際は、完璧なキュレーションを目指さないでください。代わりに、ユーザーから取得する実際のデータにできるだけ近いデータにするために、ある程度の「ノイズ」を許容します。これにより、モデルを本番環境にリリースした後にエラーや品質の低い推奨事項が発生するのを防ぐことができます。
そのためには、ユーザーから取得するデータの種類を検討し、そのデータがトレーニング セットで表されるようにします。
たとえば、画像認識システムの場合、ユーザーから取得する可能性のあるデータを検討します。高品質の写真を撮影する時間がない可能性が高く、モデルがぼやけたスマートフォンの画像で動作する必要がある場合は、ぼやけた画像をトレーニング データに含めます。
パターン全文へのリンク: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data
ユーザーのニーズを AI の問題とデータセットのニーズにマッピングしたら、AI をトレーニングして、アプリのユーザーにおすすめを提供し、映画にラベルを付ける準備が整います。この Codelab ではこのプロセスについては扱いませんが、以下のリソースでレコメンデーション システムと感情分析について詳しく学ぶことができます。
- Google Developers のレコメンデーション システムの自習コース
- TensorFlow.org の BERT を使用した感情分析のテキスト分類チュートリアル
5. システムの機能と制限を伝える
アプリのユーザー エクスペリエンスを設計する際は、新しい AI 搭載機能へのユーザーのオンボーディングを計画し、ユーザーが適切な期待を持てるようにする必要があります。ユーザーは、あらゆる状況で AI システムを暗黙的に信頼するのではなく、信頼度を正しく調整する必要があります。
ユーザーの期待値を設定するプロセスは、ユーザーが初めてプロダクトに触れる前から始まります。さまざまな方法で、プロダクト エクスペリエンスの全体と外部で説明を提供する必要があります。
- その場で説明します。必要に応じて、特定の推論、推奨事項、提案などの理由を説明します。
- プロダクトで追加の説明を提供します。オンボーディングなど、プロダクト内の他のタイミングを活用して AI システムについて説明します。
- 商品体験を超えて。プロダクト内の情報だけでは十分でない可能性がありますが、認知度を高めるためのマーケティング キャンペーンや、メンタルモデルを開発するための教材やリテラシー キャンペーンなど、さまざまな追加リソースで補完できます。
たとえば、ユーザーがアプリにログインし、ランディング ページに追加された新しいリストからおすすめの映画を選択したとします。映画に関する通常の情報に加えて、おすすめリストにこの特定の映画が表示される理由の説明を含めることもできます。
PAIR ガイドブックの質問による検索で「AI システムをユーザーにどのように説明するのか」を選択すると、「完全性ではなく理解のために説明する」というパターンが見つかります。
パターン:

AI システムからの推奨事項を説明する際は、ユーザーが意思決定を行い、先に進むために必要な情報を共有することに重点を置きます。システムで発生しているすべてのことを説明しようとしないでください。
多くの場合、特定の予測の根拠は不明であるか、複雑すぎて簡単なフレーズや文で要約できません。また、ユーザーは製品の使用中に余計な説明で圧倒されたり、気が散ったりすることを望んでいない可能性があります。
「説明可能性と信頼性」の章 では、部分的な説明、段階的な開示、モデルの信頼度表示など、簡潔でユーザー フレンドリーな説明を作成するためのさまざまなアプローチの例を紹介しています。
システム全体の仕組みについて、より長い説明や詳細な説明を共有したい場合は、アクティブ ユーザー フローの外で行ってください(マーケティング資料やオンボーディング コンテンツなど)。
パターン全文へのリンク: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding
このパターンで説明されているベスト プラクティスを適用して、次のような説明を表示することにします。

おすすめの映画(おすすめの理由を含む)
この説明例では、PAIR Guidebook の 説明可能性と信頼性のガイダンスを適用し、データソースを使用して、上位 3 件のユーザー レビューをユーザーに説明しています。
さらに、この映画の肯定的な感情に最も貢献した特定の単語がハイライト表示されています。これは、ユーザーが映画を選ぶ際に重視する要素です。感情分類子の探索について詳しくは、PAIR の Language Interpretability Tool(LIT)のこちらのデモをご覧ください。

Learning Interpretability Tool(LIT)のスクリーンショット
LIT は、視覚的で対話型の拡張可能なツールを使用して、自然言語処理(NLP)モデルの動作を検査するのに役立ちます。これにより、関連する指標とローカルの説明(顕著性マップや予測の可視化など)を含むデータセットで仮説をテストして検証できます。プロダクト チームは、次のユースケースで LIT を使用できます。
- モデルをデプロイする前に
- 公平性をテストする場合
- 個々の予測をデバッグするには
- 新しいモデルと古いモデルを比較する場合
6. 信頼度を表示する方法を決定する
ユーザーの期待値を設定する別の方法として、おすすめにモデルの信頼度を表示する方法があります。モデルの信頼度表示は、AI が特定の決定に至った理由や方法を示すのではなく、AI が予測にどれほど確信を持っているか、また検討した代替案を表示します。ほとんどのモデルは n-best 分類と信頼スコアを出力できるため、モデルの信頼度表示はすぐに利用できる説明であることがよくあります。
ユーザーに表示されるおすすめの映画のページに信頼度を追加する前に、この信頼度がユーザーにとって役立つかどうか、役立つ場合はどのように表示するのが最適かを判断する必要があります。
パターン:

場合によっては、モデルの信頼度を表示して、AI の予測の確実性や検討された代替案を説明することで、ユーザーが AI の出力に対する信頼度を判断できるようにすることができます。
ただし、他のコンテキストでは、信頼度表示がユーザーにとって理解しにくい場合があります。
使用する場合は、さまざまな種類のディスプレイをプロダクト開発プロセスの早い段階でテストして、ユーザーに最適なものを見つけてください。
パターン全文へのリンク: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence
PAIR Guidebook の説明可能性と信頼性に関する章で推奨されている信頼度を表示する方法を確認すると、次のオプションがあります。
- N 個の最も可能性の高い分類
- 数値の信頼度
アプリのランディング ページでおすすめの映画のリストをユーザーに表示するため、可能性の高い映画が順番に表示される順序付きリストを選択します。

おすすめの映画のカルーセル。おすすめの可能性が高い映画が最初に表示される
7. エラーから先に進む方法をユーザーに提供する
ここまでの手順では、ユーザーがプロダクトに対する信頼を構築し、調整するうえで、期待値を設定し、説明を提供する際のベスト プラクティスをいくつか学びました。
もう 1 つ重要な質問は、エラーが発生したときにユーザー エクスペリエンスがどうなるかです。ユーザーがどのように進むかも同様に重要です。システム障害発生後にユーザーが何ができるかに焦点を当てることで、製品の有用性を維持しながらユーザーのエンパワーメントを実現できます。
PAIR Guidebook の Errors + Graceful Failure の章で説明されているように、まず、プロダクトのエラーとは何か、どのような種類のエラーか(ユーザー、システム、コンテキスト)を定義します。
次の例をご覧ください。
- ユーザーが映画館で視聴済みの映画がおすすめとして表示される。この推奨事項はオフになっていないかもしれませんが、ユーザーにとってあまり役に立ちません。
- 映画館で視聴して気に入らなかった映画がおすすめに表示される。このおすすめは、映画の好みによってはユーザーにとってエラーとみなされる可能性があります。
- ユーザーが普段好まないジャンルの映画がおすすめに表示される。ユーザーはこれをエラーと認識する可能性があります。
- ユーザーに、アプリでホストされていない映画がおすすめされる。これは明らかなシステムエラーです。
上記の 2 つ目と 3 つ目の例では、AI がこのユーザーにとって役に立たないおすすめを提供しています。このようなエラーが発生した場合は、PAIR Guidebook の フィードバックと制御の章で推奨されているように、ユーザーが予測についてフィードバックを送信できるようにし、影響を与えるまでの時間を伝える必要があります。
パターン:

AI 対応システムがユーザーの期待や要望に沿わない動作をした場合は、フィードバックを共有できるオプションをユーザーに提供してください。また、可能な限り、そのフィードバックをモデルの改善に活用してください。
AI システムのフィードバックには、次のようなさまざまな形式があります。
- 最適化案に高評価または低評価を付ける
- 不要な最適化案を非表示にする
- 問題のあるおすすめを報告する
- ユーザーがフォームなどのメカニズムを通じて手動で問題を報告する、より従来型のフィードバック フロー
ユーザーからフィードバックを受け取ったら、受け取ったことを伝えます。可能であれば、システムがフィードバックにどのように対応するかをお客様に伝えます。
パターン全文へのリンク: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
アプリの場合、次のように表示されます。
ユーザーはおすすめについてフィードバックを送信できます...
...そして、今後の流れについて通知されます
8. 完了
おめでとうございます!ここでは、PAIR Guidebook の新しいリソースの使用方法を示すワークフローの例を紹介しました。
概要
この Codelab では、以下について学びました。
- ユーザーのニーズを AI の問題に変換する
- タスクのデータセットを構築する
- ユーザーを新機能にオンボーディングする
- システムについて説明し、お客様に今後の見通しを伝える
- エラーから先に進む方法をユーザーに提供する
- フィードバックを収集してプロダクトを改善する
次のステップ
この Codelab で取り上げたリソースやその他のリソースについては、次のリンクをご覧ください。

