Просто чтобы уточнить, как я понимаю ваш вопрос, вы хотите сделать что-то вроде вложения слов, но вместо слов вы хотите использовать дискретные идентификаторы (не индексы).Ваши идентификаторы могут быть очень большими (2 ^ 62).Но количество различных идентификаторов намного меньше.
Если бы мы обрабатывали слова, мы бы построили словарь слов и подали бы индексы в словаре в нейронную сеть (в слой внедрения).Это в основном то, что вам нужно делать с вашими дискретными идентификаторами тоже.Обычно вы также резервируете одно число (например, 0
) для невиданных ранее значений.Позже вы также можете урезать словарь так, чтобы он включал в себя только самые частые значения и помещал все остальные в одно и то же неизвестное ведро (точно такие же параметры, которые вы имели бы при выполнении встраивания слов или других nlp).
например:
- неизвестно -> 0
- 84588271 -> 1
- 92238356 -> 2
- 78723958-> 3