Comments 2
Откуда дерется индекс слова? Почему 42 это яблоко?
Спасибо за вопрос! В примере кода индекс 42- условное число, взятое просто для иллюстрации. В реальности индекс слова формируется на этапе построения словаря при препроцессинге текста.
Как строится словарь и откуда берутся индексы
Токенизация, то есть текст разбивается на слова (токены):
"Я люблю яблоко и грушу"→["я", "люблю", "яблоко", "и", "грушу"]Подсчёт частот считаем, как часто каждое слово встречается в корпусе.
Фильтрация- оставляем только топ‑N самых частых слов (например, 10 000), отбрасывая редкие
Нумерация- каждому уникальному слову присваивается индекс:
0 → "<PAD>" (заполнитель) 1 → "<UNK>" (неизвестное слово) 2 → "и" 3 → "в" 4 → "на" ... 1423 → "яблоко" 2891 → "груша"
Cам индекс зависит от: порядка добавления (обычно по убыванию частоты),размера словаря, языка и корпуса (в одном датасете «яблоко» может быть под индексом 1423, в другом допустим 897). Сам по себе индекс не несёт смысла, он просто ключ для поиска в матрице эмбеддингов. Смысл появляется только после обучения: строки матрицы, соответствующие словам «яблоко» и «груша», сближаются в векторном пространстве, даже если их индексы (1423 и 2891) численно далеки друг от друга
От «яблока» до «королевы»: как нейросети учатся понимать смысл слов через эмбеддинги