Завершение текста или прогнозирование существовали дольше, чем вы думаете, даже до появления смартфонов и компьютеров.

Да еще до этого!

Например, китайская пишущая машинка Линь Юйтана 1940-х годов предлагала символы, которые должны следовать за последним напечатанным.

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

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

Итак, зачем автозаполнение?

Автозаполнение было создано Кевином Гиббсом в маршрутном автобусе в Google в 2004 году. Согласно блогу Google, автозаполнение особенно полезно на мобильных устройствах, где набор текста может быть затруднен. Кроме того, это экономит время как для мобильных, так и для настольных пользователей. Как? Хорошо:

  • Это сокращает время набора текста на 25%.
  • В день это экономит примерно 200 лет времени набора текста.

Это скорее предсказание текста, а не предложение нового поиска…

Функция автозаполнения в поиске Google помогает людям завершить поиск, который они уже начали. Он предоставляет стандартные и самые популярные прогнозы, используя точные поиски, местоположение и прошлые поиски.

Реальные примеры использования автозаполнения

  • Поиск Google использует функцию автодополнения, чтобы предсказать слово, которое пользователь намеревается написать.
  • Веб-браузеры используют автозаполнение в адресной строке (используя историю браузера) и текстовые поля на часто посещаемых страницах. Например, в HTML5 есть атрибут автозаполнения.
  • Электронные письма: для заполнения адресов электронной почты предполагаемого получателя. Например, список автозаполнения Microsoft Outlook содержит SMTP-адреса, записи LegacyExchangeDN и отображаемые имена получателей.
  • Второй пилот GitHub использует функцию автозаполнения для завершения кода.

Проблемы автозаполнения

"Источник"

У большинства приложений автозаполнения есть две большие проблемы, особенно при использовании приложения с клавиатурой.

  1. Конфиденциальность пользователей: поскольку это приложение для клавиатуры, оно может видеть, что пользователи вводят на своих мобильных устройствах. Если данные отправляются на центральный сервер для обучения, это препятствует конфиденциальности пользователей.
  2. Задержка: в среде мобильного набора текста предложения должны появляться в нужное время, чтобы оставаться актуальными. Вывод и обучение на основе сервера могут усугубить проблемы из-за задержки.

Федеративное обучение как решение

FL — это парадигма распределенных вычислений, в которой данные остаются на границах сети, а не на центральном сервере. Чтобы узнать больше, посетите «Федеративное обучение 101». Короче говоря, FL лучше всего подходит для задач, где верно одно или несколько из следующих утверждений: [источник]

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

Преимущества использования FL для автозаполнения

Конфиденциальность

FL имеет значительные преимущества в плане конфиденциальности даже в самой простой форме по сравнению с обучением на сервере. ["источник"]

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

2. Обновление модели автозаполнения длится достаточно долго, чтобы его можно было отправить и включить в глобальную модель. Дельты параметров модели каждого пользователя должны доверять агрегатору модели. Окончательная, обученная автозаполнению модель предоставляется конечным пользователям для вывода. Вклад пользователя обычно незначителен.

3. FL для автозаполнения может обеспечить еще большую конфиденциальность в сочетании с двумя методами конфиденциальности. (i) Безопасное объединение, объединяющее обновления пользователей без раскрытия отдельных компонентов серверу. Это делается путем имитации доверенной третьей стороны. (ii) Подходы Дифференциальная конфиденциальность могут скрыть участие пользователей в обученной модели автозаполнения.

Меньшая задержка

Модели автозаполнения обучаются прогнозам локально, что снижает задержку.

Персонализированные результаты

Персонализированный опыт может использовать обновленную модель автозаполнения для создания персонализированного опыта в зависимости от того, как вы используете свой телефон.

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

Примеры автозаполнения с использованием FL

GBoard на Android

Google применил федеративное обучение в Gboard на Android-смартфонах, чтобы сделать набор текста быстрее и безопаснее. Пользовательские данные никогда не покидают устройство.

[Источник] Обзор архитектуры Gboard. Вывод и обучение на устройстве; обновления модели, отправляемые на сервер во время тренировочных раундов; обученные модели, развернутые вручную на клиентах.

Работает

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

Цель состоит в том, чтобы научить модель предсказывать, какие предложения запросов будут полезными, и отсеивать менее релевантные. Таким образом, GBoard предоставляет пользователям предложения по запросу (слово или смайлик), которые они могут выбрать или проигнорировать. Эта метрика хранится в обучающем кэше на устройстве, базе данных SQLite с политикой хранения данных на основе времени жизни. Позже он используется для обучения на устройстве и оценки моделей, предоставляемых сервером.

[Источник] Настройка базовой модели (традиционно обученной сервером) с моделью запуска (обученной федеративной).

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

Чтобы узнать больше, проверьте эту бумагу.

ЖИВОЙ пример

[Источник] Блог Google

Ранжирование URL-адресов браузера Firefox для предложений

В Firefox строка URL предлагает поисковые подсказки, частично предоставляемые поисковыми системами. Другие, предоставляемые Firefox, включают историю пользователя, закладки и открытые вкладки. В адресной строке Firefox есть двухэтапный поиск по истории браузера и закладкам.

Шаг 1. Поисковый запрос соответствует истории и закладкам браузера. Матчмейкинг является бинарным. Страницы либо соответствуют критериям поиска, либо нет.

Шаг 2. История пользователей ранжирует совпадающие ссылки. И, основываясь на изучении алгоритма ранжирования, существует три подхода к ранжированию элементов:

  1. Алгоритмы поточечного ранжирования оценивают каждый элемент независимо и присваивают балл каждому элементу. Затем сортировка всех предметов по их количеству очков определяет рейтинг.
  2. Модель парного ранжирования обучена сравнивать два элемента. Его задача состоит в том, чтобы определить, какой из двух пунктов должен быть ранжирован выше.
  3. Списочное ранжирование использует методы, которые пытаются работать со всем списком. Идея, стоящая за этим, заключается в прямой оптимизации метрик поиска информации. Однако это сложно, потому что многие показатели не дифференцируемы, а моделям требуется больше входных данных.

Для получения дополнительной информации проверьте эту бумагу.

Ниже приведен пример автоматического раскрывающегося списка при вводе нескольких слов, чтобы найти список предложений.

[Источник] Предложения автозаполнения адресной строки в блоге Firefox

В дополнение к раскрывающемуся списку автозаполнения Firefox также заполнит URL-адрес в адресной строке. См. изображение ниже.

"Источник"

Заключение

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

Нерегулируемое использование пользовательских данных и их взломы, например, в случае со скандалом Facebook с Cambridge Analytica и мобильными приложениями для крупномасштабного отслеживания контактов и отслеживания перемещений во время пандемии SARS-CoV2, привлекли внимание всего мира к аспектам конфиденциальности, таким как предвзятость алгоритмов. , этика, политические последствия и юридическая ответственность.

Системы FL соответствуют GDPR, поскольку выходные данные конечных пользователей скрывают элементы конфиденциальных данных, которые могут быть использованы для получения личной информации. Атаки на вывод и отравление модели могут противоречить GDPR в системах FL. Тем не менее, SMPC, дифференциальная конфиденциальность и обучение с зашифрованной передачей могут исправить это. ["источник"]

[источник] Основные принципы GDPR 6

Повышение производительности и качества обслуживания не должно приносить в жертву конфиденциальность пользовательских данных. Однако, как видно из примера URL-адреса Gboard и Firefox, FL может добиться этого, что не ставит под угрозу конфиденциальность пользователя, но позволяет достичь желаемого результата. Кроме того, FL способствует персонализированному взаимодействию с пользователем с меньшей задержкой.

Дополнительные статьи, подобные этой, можно найти в блогах NimbleEdge.

Автор: Шайста Фатима