Эмбеддинги: смысл как координаты
Урок 4 из 23 курса «ИИ: курс с нуля». Бесплатно, с анимациями и тестом.
Слово превращается в числа
Компьютер не понимает слова, он работает с числами. Поэтому модель превращает каждое слово или фразу в эмбеддинг: длинный список чисел, обычно из сотен или тысяч чисел. Это как координаты точки на карте, только осей не две, а сотни. Сами числа модель подбирает при обучении, глядя на то, рядом с какими словами слово встречается в текстах.
Близкий смысл, близкие точки
На картинке эту карту сжали до двух осей. «Кот», «собака» и «щенок» стоят рядом: про них пишут в похожих текстах. «Банан» и «яблоко» образуют свою кучку, «биткоин» и «доллар» свою. Стрелка показывает расстояние между точками: чем оно меньше, тем ближе смысл. Модель не знает, что такое кот, зато знает, на что он похож.
Поиск по смыслу
Обычный поиск ищет совпадение слов. Поиск на эмбеддингах ищет близкие точки. Пишешь «чем заняться в дождливый день в Питере», и находится статья «музеи и кафе на случай плохой погоды», хотя слова почти не совпадают. Рекомендации часто работают похоже: в ленту попадают видео, чьи точки лежат рядом с теми, что ты досмотрел до конца.
Король − мужчина + женщина
Известный трюк: если от точки «король» отнять «мужчину» и прибавить «женщину», окажешься рядом с «королевой». Значит, некоторые направления на карте хранят отношения между словами, например «пол» или «страна и её столица». Но без восторгов: это красивая иллюстрация, она работает не для всех слов и не всегда точно. Понимания мира, как у человека, тут нет.
Внимание: слово смотрит на соседей
У одного слова бывает несколько смыслов. «Лук» в «нарезал лук для салата» и в «стрелял из лука» это разные вещи. Механизм внимания (attention) решает это так: читая каждое слово, модель смотрит на другие слова фразы и уточняет его смысл. «Салат» тянет «лук» к овощам. Уже с уточнённым смыслом модель угадывает следующее слово, как на картинке.
Проверь себя
- Что такое эмбеддинг?
Правильный ответ: Список чисел, который описывает смысл. Эмбеддинг: координаты слова или фразы на карте смыслов. Похожие по смыслу тексты получают близкие координаты. - Почему поиск по смыслу находит статью, где нет твоих слов?
Правильный ответ: Он ищет точки, близкие по смыслу. Запрос и статьи превращаются в эмбеддинги, и поиск берёт ближайшие точки. Совпадение слов для этого не нужно. - Как модель понимает, что «лук» в «стрелял из лука» не овощ?
Правильный ответ: Смотрит на другие слова фразы. Это работа механизма внимания: соседние слова уточняют смысл каждого слова, и значение выбирается по контексту.