1. 始める前に
この Codelab では、人間を中心にしたデータ プラクティスとユーザーの信頼を適切に調整することに重点を置き、AI を活用した新製品を設計するために、People + AI Research(PAIR)ガイドブックの新しい版に記載されているベスト プラクティスを適用します。
前提条件
- AI の概要を理解している。
- 製品開発ワークフローに関する知識。
学習内容
この Codelab では、Google Research の People + AI Guidebook を使用して、信頼できるユーザー中心の AI プロダクトを構築する方法を学びます。
具体的には、以下のことを行います。
- PAIR Guidebook の第 2 版の新機能について説明します。
- データとユーザーに対する説明可能性に焦点を当て、ユーザーの信頼を調整する AI 開発プロセスの機会を強調する一連の演習を行います。
- さらに詳しく学習するためのツールキット(教材やリソース)の概要
必要なもの
- ブラウザ
- Colaboratory ノートブックを表示するための Google アカウント(例: BERT を使用した感情分析)
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 ガイドブックの ユーザーのニーズと成功の定義の章で、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. エラーから先に進む方法をユーザーに提供する
最後の 2 つのステップでは、ユーザーがプロダクトに対する信頼を構築し、調整するのを支援する際に、期待値を設定し、説明を提供する際のベスト プラクティスについて学びました。
もう一つ重要な質問は、エラーが発生したときにユーザー エクスペリエンスがどうなるかです。ユーザーがどのように進むかも同様に重要です。システム障害発生後にユーザーが何ができるかに焦点を当てることで、製品の有用性を維持しながらユーザーのエンパワーメントを実現できます。
PAIR Guidebook の Errors + Graceful Failure の章で説明されているように、まず、プロダクトのエラーとは何か、エラーの種類(ユーザー、システム、コンテキスト)を定義します。
次の例を考えてみましょう。
- ユーザーが映画館で鑑賞済みの映画がおすすめとして表示される。この推奨事項はオフになっていないかもしれませんが、ユーザーにとって役に立つものでもありません。
- ユーザーが映画館で観て気に入らなかった映画がおすすめとして表示される。このおすすめは、映画の好みによってはユーザーにとってエラーとみなされる可能性があります。
- ユーザーが普段好まないジャンルの映画がおすすめとして表示される。ユーザーはこれをエラーと認識する可能性があります。
- ユーザーに、アプリでホストされていない映画がおすすめされる。これは明らかなシステムエラーです。
上記の 2 番目と 3 番目の例では、AI がこのユーザーにとって役に立たない推奨事項を提供しています。このようなエラーが発生した場合は、PAIR Guidebook の Feedback + Control の章で推奨されているように、ユーザーが予測についてフィードバックを送信できるようにし、影響が及ぶまでの時間を伝える必要があります。
パターン:

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

