Это заметки к сессии GHC19 — «История Smart Compose: модель Gmail, которая любила День Благодарения», состоявшейся 3 октября 2019 года.

Эти заметки основаны на моем понимании сеанса. Фотографии сделаны мной со слайдов, использованных спикерами.

Докладчики:

Джеки Цей — штатный инженер-программист, Google

Мэтью Диркер — инженер-программист, Google

В этом докладе был представлен обзор Gmail Smart Compose. Каждую неделю более миллиарда человек отправляют письма через Gmail. Когда в 2017 году был выпущен «Умный ответ», команда поняла, что если дать больше инструментов, помогающих пользователям, они охотно ими воспользуются. В то время Smart Reply автоматически заполнял только одно слово.

Затем Мэтью попросил аудиторию подумать, как они будут автоматически заполнять сообщения друзей. Аудитория сказала, что они будут смотреть на синтаксис, контекст сообщения, сообщение, на которое они отвечали, и предыдущие электронные письма, отправленные этим человеком.

Учебными данными для этого послужили многочисленные электронные письма, которые пользователи Gmail отправляют еженедельно. Имея несколько примеров предложений, они превратили их в набор слов для создания словарного запаса. Затем они использовали это для встраивания слов. Прогнозы можно делать так же просто, как выполнять косинусное сходство с этими вложениями.

Smart compose — это рекуррентная нейронная сеть. Не вдаваясь в технические подробности, спикеры упомянули, что для этого используется куча математики, кодировщиков и декодеров. Затем это можно использовать для создания дерева предложений.

Поток модели заключался в том, чтобы собрать тему, предыдущее сообщение, текущее сообщение и отправить их в модель машинного обучения. Затем он оценивается, и лучший из них отправляется в качестве прогноза.

Ниже приведены некоторые уроки, полученные спикерами при создании Smart Compose.

Применять ИИ только тогда, когда это полезно

После проведения пользовательских исследований команда выяснила следующее:

  1. Скорость критична. Если предложение слишком медленное, люди могут печатать быстрее. Первоначальный анализ показал, что лучшие 2% печатающих набирают следующее слово/символ примерно через 143 мс. На данный момент команда смогла сделать это примерно за 600 мс. В своем стремлении ускорить этот процесс они перешли от ЦП к ГП и ТПУ. С помощью TPU они смогли снизить эту скорость до 80 мс. Это время было дополнительно сокращено до 40 мс с помощью облачных TPU.
  2. Длинные предложения лучше. Однако, когда они не установили максимальную длину, это вызвало некоторый шум, как показано ниже:

Запуск (внутренне) и итерация

Внутри Smart Compose был протестирован, чтобы увидеть, какие визуальные эффекты будут работать лучше всего.

У Gmail высокая планка, и любая новая функция будет принята только в том случае, если она будет иметь не менее 75% положительной удовлетворенности пользователей. Даже после того, как Typeahead был выбран как лучший способ показать автозаполнение, люди с трудом осознавали, что им нужно нажимать клавишу Tab. Поэтому они начали показывать пользователям небольшой значок вкладки рядом с предложенной фразой, чтобы сообщить им об этом. Smart Compose также предоставил возможность обратной связи, чтобы помочь улучшить качество предложений.

Данные необъективны, поэтому используйте человеческое суждение

На приведенном выше рисунке показано, как некоторые из предложений были не совсем подходящими. Поэтому они использовали показатель CTR, который представлял собой количество кликов/просмотров. По сути, это означает, что чем больше кликов, тем лучше предложения. Однако это привело к искажению данных, как видно на изображении ниже:

Инвестор стал ассоциироваться с местоимением «он», а медсестра — с местоимением «она». Затем команда полностью удалила гендерные местоимения из предложений.

В первые дни это было еще одним распространенным автозаполнением, которое появлялось:

Поскольку «H» — один из наиболее распространенных символов, используемых для начала электронного письма («Привет», «Привет», «Привет» и т. д.), это было очень плохим предложением. В данном случае они снова убрали эту фразу.

Однако удаление фраз работает не всегда, поэтому для различных предложений использовалась идентификация шаблона (например, утро или вечер), день недели, время суток и т. д.

Спикеры сказали, что их любимой частью был прием, который этот проект получил, когда он был выпущен. Некоторые говорили, что им очень понравилось. Некоторые сказали, что они будут печатать по-другому, просто чтобы показать Smart Compose, что они могут печатать что-то другое. Кто-то даже назвал это «смертью творчества». Ниже приведен один из отзывов, которыми поделился спикер:

Сегодня Smart Compose существует на многих языках, а также в приложениях для iOS и Android.

Затем аудитория задала спикерам некоторые из этих вопросов.

Q1. Как команда убедилась, что личные данные не будут предложены?

Спикеры сказали, что они будут использовать слова только в том случае, если они будут использованы минимальное количество раз, чтобы отсеять секретные слова или личные слова.

Q2. Почему для принятия предложения вместо ввода использовалась вкладка?

Команда сказала, что они создали функцию ввода, но это было очень плохо, так как автозаполнение выполнялось, даже если вы хотели разрыв строки. Спикер упомянул, что работает даже нажатие правой клавиши.

Q3. Как удалить неуместные предложения, ведь их может быть так много?

Команда сказала, что они полагаются на фильтрацию спама из Gmail. Они также делают уборку перед тренировкой, а затем снова на стороне обслуживания.

Q4. Вы обучаете каждому отдельному языку или переводите с английского?

В команде сказали, что они тренируются на самом языке.

Q5. Планируете ли вы вводить опечатки, чтобы электронное письмо больше походило на автора?

Спикеры сказали, что если вы набираете что-то много раз, это должно в конце концов появиться в автозаполнении.

Q6. Вы срабатываете при каждом нажатии клавиши?

да.

Q7. Основаны ли предложения на том, что пишут другие люди?

Спикеры сказали, что они используют смесь обеих моделей. Часть их процесса тестирования заключалась в том, чтобы найти правильную смесь.

Эти примечания основаны на моем понимании сеанса. В приведенных выше примечаниях могут быть ошибки в технических деталях.