1. Прежде чем начать
В этой лаборатории вы примените лучшие практики из нового издания Руководства по исследованиям людей и искусственного интеллекта (PAIR) для разработки нового продукта с использованием искусственного интеллекта, уделяя особое внимание методам обработки данных, ориентированным на человека, и правильно откалиброванному доверию пользователей.
Предварительные условия
- Базовое понимание того, что такое ИИ.
- Знание процесса разработки продукта.
Что вы узнаете
В этой лаборатории вы узнаете, как использовать руководство Google Research «People + AI Guidebook» для создания надежных, ориентированных на пользователя продуктов искусственного интеллекта.
В частности, вы будете:
- Узнайте, что нового во втором издании путеводителя PAIR.
- Выполните серию упражнений, которые выявят возможности в процессе разработки ИИ для калибровки доверия пользователей, уделяя особое внимание данным и объяснимости с точки зрения пользователя.
- Получите представление о более широком наборе материалов и ресурсов, доступных для дальнейшего изучения.
Что вам понадобится
- Браузер
- Учетная запись Google для просмотра совместной записной книжки (например, анализа настроений с помощью BERT )
2. Начните работу
В этом году мы представляем второе издание PAIR Guidebook на Google I/O! Первое издание было выпущено два года назад, и с тех пор его использовали более четверти миллиона человек разных должностей (разработчики, дизайнеры, менеджеры по продуктам, студенты и т. д.) по всему миру. Теперь мы рады представить ряд обновлений, которые сделают его еще более полезным.
В частности, во втором издании мы предоставляем новый способ навигации по Путеводителю и поиска контента по задачам. Мы составили список ключевых вопросов, которые могут возникнуть у вас и вашей команды при разработке продукта с ориентированным на пользователя подходом к ИИ, и который поможет вам найти нужный вам контент, когда он вам понадобится:
- Когда и как мне следует использовать ИИ в своем продукте?
- Как мне ответственно построить свой набор данных?
- Как мне помочь пользователям построить и откалибровать доверие к моей системе искусственного интеллекта?
- Как мне познакомить пользователей с новыми функциями искусственного интеллекта?
- Как объяснить пользователям мою систему искусственного интеллекта?
- Каков правильный баланс пользовательского контроля и автоматизации?
- Как поддержать пользователей, если что-то пойдет не так?
Выбрав вопрос, вы получите соответствующий контент в более мелких и практичных блоках.
Мы также обновили Путеводитель PAIR новым содержанием:
- Набор шаблонов проектирования ИИ
- Тематические исследования
- Обновленные главы
- Новые упражнения и комплект для семинаров.
В этой лаборатории вы увидите некоторые из этих шаблонов проектирования в действии в рабочем процессе при разработке новой функции с помощью ИИ.
Давайте начнем!
3. Превратите потребности пользователя в проблему ИИ
Представьте себе следующий сценарий:
Вы разрабатываете приложение для просмотра фильмов и хотите предоставить пользователям улучшенный и персонализированный интерфейс, помогая им находить больше фильмов, которые им нравятся.
Целевая страница приложения в настоящее время включает следующие разделы:
- Список новых фильмов, упорядоченных по дате выхода.
- Каталог всех фильмов, сгруппированный по жанрам.
- Поле поиска, где пользователи могут искать по названию фильма, актерскому составу и т. д.
Приложение «Кино» без персонализированных рекомендаций
Вы хотите добавить новый раздел с рекомендациями фильмов для пользователя и считаете, что искусственный интеллект может стать хорошим вариантом для реализации этой функции. Прежде чем погрузиться в любую реализацию, вам нужно сделать следующее:
- Просмотрите существующие рабочие процессы : как пользователи в настоящее время взаимодействуют с приложением и как, по вашему мнению, можно улучшить их работу?
- Определите, может ли ИИ добавить уникальную ценность : соответствует ли ваша проблема проблеме, которую можно хорошо решить с помощью ИИ, и может ли ИИ улучшить пользовательский опыт вашего продукта?
Используя главу руководства PAIR «Потребности пользователя + определение успеха» , вы просматриваете список случаев использования, где ИИ, вероятно, является хорошим решением, и обнаруживаете, что потребности ваших пользователей подпадают под следующие типы проблем:
- Рекомендация разного контента разным пользователям
- Персонализация улучшает пользовательский опыт
- Показ динамического контента более эффективен, чем предсказуемый интерфейс.
Обязательно просмотрите список случаев, в которых ИИ, вероятно, не является лучшим решением.
Теперь, когда вы видите, что решение на базе искусственного интеллекта кажется хорошим кандидатом для удовлетворения этой потребности пользователя, вам нужно оценить, действительно ли оно обеспечит лучший пользовательский опыт.
Шаблон:
Прежде чем приступить к созданию с использованием ИИ, убедитесь, что продукт или функция, которую вы имеете в виду, требуют ИИ или могут быть улучшены с его помощью.
ИИ хорошо подходит для таких приложений, как:
- Рекомендация разного контента разным пользователям, например фильмов.
- Прогнозирование будущих событий, таких как погодные явления или изменения цен на авиабилеты.
- Понимание естественного языка
- Распознавание изображений
Решение, основанное на правилах или эвристиках, может быть лучше, если:
- Важно сохранять предсказуемость
- Пользователям, клиентам или разработчикам необходима полная прозрачность.
- Люди не хотят, чтобы задача была автоматизирована
Дополнительную информацию о том, когда использовать (или не использовать) ИИ, см. в главе «Потребности пользователя» .
Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value.
Вы можете повысить ценность приложения, выделив каждому пользователю фильмы, которые ему, скорее всего, понравятся, предоставив им более богатый пользовательский опыт, чем показ им только последних фильмов или фильмов с самым высоким рейтингом. Вы также подозреваете, что с помощью этой функции вы сможете сэкономить им время на изучение быстрорастущего каталога фильмов.
Теперь, когда вы решили двигаться дальше с решением на базе искусственного интеллекта, вы готовы начать планировать свои следующие шаги.
4. Создайте набор данных для задачи.
Чтобы обучить систему рекомендаций предлагать пользователям фильмы, вам потребуется собрать набор данных, на котором будет учиться ваша модель ИИ.
Первое, что вам нужно сделать, — это сопоставить потребности пользователей с потребностями в данных.
Используя упражнение на сопоставление из главы Руководства PAIR «Сбор данных + оценка» , вы определяете следующее:
- Пользователь : кинозрители (пользователи киноприложений).
- Необходимость пользователя : находить больше фильмов, которые им нравятся, проще и быстрее.
- Действие пользователя : выберите и посмотрите фильмы через приложение.
- Вывод системы искусственного интеллекта : какие фильмы предлагать и почему (тональные метки или теги)
- Обучение системы искусственного интеллекта : модели поведения, связанные с принятием рекомендаций фильмов, просмотром фильмов целиком, написанием рецензий на фильмы и присвоением этим фильмам высоких оценок.
- Необходимые наборы данных : данные о просмотре фильмов из приложения, информация о фильме, а также рейтинги и обзоры фильмов.
- Ключевые характеристики, необходимые в наборе данных : предпочтения зрителей и история просмотров, информация о фильме (например, жанр, актерский состав), рейтинги кинозвезд, обзоры фильмов.
- Ключевые метки, необходимые в наборе данных : доля принятия или отклонения зрителями предложений приложений, процент просмотров фильмов, рейтинги и обзоры зрителей, а также отзывы зрителей о том, почему предложение было отклонено.
Теперь, когда вы завершили это упражнение, вы можете увидеть появление нескольких потенциальных источников данных:
- Пользовательские данные из приложения (указанные настройки и история просмотров)
- Информация о фильме из приложения (название, год, продолжительность, актерский состав и т. д.)
- Обзоры фильмов и рейтинговая информация из других источников, таких как IMDB и MovieLens.
Когда у вас появится представление о типе данных, которые вам понадобятся, рассмотрите «Принципы искусственного интеллекта» и «Ответственная практика искусственного интеллекта» Google как примеры рамок, которые помогут проработать ключевые вопросы, такие как конфиденциальность (например, «предоставлять возможности для уведомления и согласия») и справедливость. (например, «проводить итеративное пользовательское тестирование, чтобы учесть разнообразный набор потребностей пользователей в циклах разработки».)
И, наконец, готовя набор обучающих данных, обязательно собирайте данные, которые реалистичны и отражают «зашумленные» данные, существующие в мире. Например, обязательно включите обзоры фильмов с орфографическими ошибками, сокращениями, смайликами и необычными или неожиданными персонажами, потому что пользователи вашего приложения, скорее всего, в будущем будут оставлять такие же реальные и «шумные» обзоры, а не идеально отформатированные!
Шаблон:
Разрабатывая набор обучающих данных, не стремитесь к чему-то идеально подобранному. Вместо этого позвольте некоторый «шум» сделать данные максимально похожими на реальные данные, которые вы ожидаете получить от своих пользователей. Это может помочь избежать ошибок и рекомендаций по низкому качеству после того, как вы выпустите свою модель в реальный мир.
Для этого подумайте о типах данных, которые вы ожидаете получить от своих пользователей, а затем убедитесь, что данные представлены в вашем обучающем наборе.
Например, для системы распознавания изображений рассмотрите данные, которые вы можете получить от своих пользователей. Если вполне вероятно, что у них не будет времени делать качественные фотографии, и вашей модели придется работать с размытыми изображениями со смартфона, включите размытые изображения в свои обучающие данные.
Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data.
Поскольку потребности пользователей сопоставлены с проблемами ИИ и потребностями набора данных, вы готовы обучить ИИ предоставлять рекомендации и маркировать фильмы для пользователей вашего приложения. Хотя мы не будем освещать эту часть процесса в этой лаборатории, вы можете узнать больше о системах рекомендаций и анализе настроений в следующих ресурсах:
- Курс самообучения «Системы рекомендаций» в Google Developers
- Классификация текста для анализа настроений с помощью учебника BERT на TensorFlow.org
5. Сообщите о возможностях и ограничениях системы.
Разрабатывая пользовательский интерфейс для своего приложения, вы захотите запланировать привлечение пользователей к новой функции на базе искусственного интеллекта и помочь им соответствующим образом сформулировать свои ожидания. Пользователи не должны безоговорочно доверять вашей системе искусственного интеллекта при любых обстоятельствах, а должны правильно калибровать свое доверие.
Установление ожиданий пользователей — это целенаправленный процесс, который начинается еще до их первого взаимодействия с вашим продуктом. Вы можете предоставлять пояснения по всему продукту и за его пределами различными способами:
- Объясните прямо сейчас. При необходимости укажите причины для данного вывода, рекомендации, предложения и т. д.
- Предоставьте дополнительные пояснения в продукте . Используйте другие моменты, связанные с продуктом, например адаптацию, для объяснения систем искусственного интеллекта.
- Выходите за рамки опыта использования продукта . Информации, содержащейся в продукте, может быть недостаточно, но вы можете поддержать ее различными дополнительными ресурсами, такими как маркетинговые кампании по повышению осведомленности, а также образовательные материалы и кампании по повышению грамотности для разработки ментальных моделей.
Давайте рассмотрим пример: пользователь вошел в приложение и выбирает рекомендованный фильм из нового списка, добавленного на его целевую страницу. В дополнение к обычной информации о фильме, которую они могут там найти, вы можете включить объяснение, почему они смотрят именно этот фильм в свой рекомендуемый список.
Воспользовавшись поиском по вопросам в PAIR Guidebook и выбрав «Как объяснить пользователям мою систему искусственного интеллекта?», вы обнаружите следующую закономерность: Объясняйте для понимания, а не для полноты.
Шаблон:
Объясняя рекомендации вашей системы искусственного интеллекта, сосредоточьтесь на обмене информацией, которая необходима пользователям для принятия решений и движения вперед. Не пытайтесь объяснить все, что происходит в системе.
Часто обоснование конкретного предсказания неизвестно или слишком сложно, чтобы его можно было обобщить в простой фразе или предложении. Пользователи также могут не захотеть, чтобы их перегружали или отвлекали лишние объяснения во время использования вашего продукта.
В главе « Объяснимость + доверие» представлены примеры различных подходов к созданию кратких и удобных для пользователя объяснений, которые включают частичные объяснения, постепенное раскрытие информации и демонстрацию достоверности моделей.
Если вы хотите поделиться более длинными или более подробными объяснениями того, как работает вся система, сделайте это за пределами активного потока пользователей, например, в маркетинговых материалах или ознакомительном контенте.
Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding.
Применяя лучшие практики, изложенные в этом шаблоне, вы решаете отобразить объяснение, которое выглядит следующим образом:
Рекомендация фильма, включая обоснование рекомендации
В этом примере объяснения вы применяете рекомендации PAIR Guidebook в разделе «Объяснимость + доверие» и используете источники данных, чтобы предоставить пользователю объяснение с помощью трех отзывов пользователей, получивших наибольшее количество голосов.
Кроме того, вы выделили конкретные слова, которые больше всего способствовали положительному настроению к этому фильму, и это факторы, которые имеют значение для пользователя при выборе фильма. Вы можете узнать больше об изучении классификатора настроений в этой демонстрации для инструмента языковой интерпретации (LIT) PAIR.
Снимок экрана Инструмента интерпретируемости обучения (LIT)
LIT может помочь вам проверить поведение модели обработки естественного языка (NLP) с помощью визуального, интерактивного и расширяемого инструмента, который позволяет тестировать гипотезы и проверять их на наборе данных с соответствующими метриками и локальными пояснениями (например, картами значимости и визуализациями прогнозов). . Продуктовые группы могут использовать LIT в следующих примерах использования:
- Перед развертыванием модели
- При проверке на честность
- Отладка отдельных прогнозов
- Сравнивая новую модель со старой
6. Определите, как проявлять уверенность
Еще один способ установить ожидания пользователей — продемонстрировать уверенность модели в рекомендациях. Вместо того, чтобы указывать, почему и как ИИ пришел к определенному решению, индикаторы достоверности модели показывают, насколько уверен ИИ в своем прогнозе и рассматриваемых им альтернативах. Поскольку большинство моделей могут выводить n-лучшие классификации и показатели достоверности, отображение достоверности модели часто является легко доступным объяснением.
Прежде чем добавлять уверенность к рекомендуемым страницам фильмов, показываемым пользователю, вам необходимо определить, полезна ли эта уверенность для пользователя, и если да, то каким может быть лучший способ ее отображения.
Шаблон:
В некоторых ситуациях вы можете помочь пользователям оценить, насколько можно доверять выводам ИИ, используя индикаторы достоверности модели , которые объясняют, насколько ИИ уверен в своих прогнозах, а также рассматриваемые альтернативы.
Однако в других контекстах пользователям может быть сложно понять отображение уверенности.
Если вы решите их использовать, протестируйте различные типы дисплеев на ранних этапах процесса разработки продукта, чтобы определить, что лучше всего подходит вашим пользователям.
Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence.
Изучая рекомендуемые подходы к проявлению уверенности в главе «Объяснимость + доверие» руководства PAIR, вы обнаружите следующие варианты:
- N-наиболее вероятные классификации
- Числовой уровень достоверности
Учитывая, что вы предоставляете пользователю список рекомендуемых фильмов на его целевой странице в приложении, вы выбираете упорядоченный список, в котором n наиболее вероятных фильмов показаны по порядку.
Карусель рекомендуемых фильмов, в которой первыми отображаются наиболее вероятные рекомендации.
7. Дайте пользователю возможность избежать ошибок
За последние пару шагов вы изучили некоторые рекомендации по установлению ожиданий и предоставлению объяснений пользователям, помогая им укрепить и откалибровать их доверие к продукту.
Еще один важный вопрос, на который вы захотите ответить: как выглядит взаимодействие с пользователем в случае возникновения ошибки? Не менее важно и то, как пользователи продвигаются вперед. Сосредоточение внимания на том, что ваши пользователи могут делать после сбоя системы, расширяет их возможности, сохраняя при этом полезность вашего продукта.
Как поясняется в главе «Ошибки + корректный сбой» руководства PAIR, вам нужно начать с определения того, что является ошибкой для вашего продукта и какого типа это ошибка (пользовательская, системная или контекстная).
Возьмите следующие примеры:
- Пользователь получает рекомендацию к фильму, который он уже видел в кинотеатре. Хотя эта рекомендация, возможно, и не отключена, она также бесполезна для пользователя.
- Пользователь получает рекомендацию к фильму, который он уже видел в кинотеатре и ему не понравился. Эта рекомендация может быть воспринята пользователем как ошибка, исходя из его предпочтений в фильмах.
- Пользователь получает рекомендацию фильма в жанре, который ему обычно не нравится. Пользователь может посчитать это ошибкой.
- Пользователь получает рекомендацию к фильму, которого больше нет в приложении. Это явная системная ошибка.
Во втором и третьем примерах, перечисленных выше, ИИ предоставил рекомендацию, которая бесполезна для этого пользователя. В случае возникновения таких ошибок вы захотите предоставить пользователю возможность оставить отзыв о прогнозе, а также сообщить время воздействия, как рекомендовано в главе руководства PAIR «Обратная связь + контроль» .
Шаблон:
Если ваша система с поддержкой искусственного интеллекта ведет себя так, как пользователь не ожидает или не хочет, убедитесь, что у него есть возможность поделиться отзывом. И, насколько это возможно, используйте эту обратную связь для улучшения своей модели.
Обратная связь в системах искусственного интеллекта может принимать самые разные формы, в том числе:
- Ставить палец вверх или вниз за рекомендацию
- Скрытие нежелательных рекомендаций
- Отметить проблемные рекомендации или сообщить о них
- Более традиционные потоки обратной связи, когда пользователь вручную сообщает о проблеме через форму или другой механизм.
Как только пользователь оставит отзыв, подтвердите, что вы его получили. Если возможно, сообщите им, как система отреагирует на обратную связь.
Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
В случае вашего приложения это может выглядеть так:
Пользователи могут оставлять отзывы о рекомендациях...
...и их уведомляют о том, что произойдет дальше
8. Поздравления
Поздравляем! Вы только что рассмотрели пример рабочего процесса, показывающий, как использовать некоторые новые ресурсы PAIR Guidebook .
Краткое содержание
В этой лаборатории вы узнали, как:
- Превратите потребности пользователя в проблему ИИ
- Создайте набор данных для задачи
- Подключите пользователей к новой функции
- Объясните систему и определите ожидания пользователей
- Дайте пользователю возможность избежать ошибок
- Собирайте обратную связь для улучшения продукта
Что дальше?
Вы можете найти все ресурсы, выделенные в этой кодовой лаборатории, и многое другое по следующим ссылкам: