Я начал со слова "Москва", он выдал мне список русских европейских городов. Я ожидал увидеть "Лондон" и "Париж" (в других моделях они появляются), но в этой модели, заявленной как наиболее полной, эти города не так близко лежат в текстах к Москве. Из зарубежных городов затесалась только Варшава.
Итак, я кликнул на Москве и увидел, что в массиве текстов из либрусека Варшава ближе к Москве, чем самара. Затем я кликнул на "Петербурге" и внезапно увидел "Томск" - он оказался связанным и с Москвой, но лежал дальше классических русских городов, то есть даже не входил в первую двадцатку близости к Москве.
Зато Томск (и Иркутск!) - внезапно оказались рядом с Петербургом. Каждый, кто был в этих городах, знает, что они местами и визуально напоминают некоторые петербуржские локации. Этому есть объяснение - в период расцвета сибирских столиц (в этом звании было много городов, по мере продвижения цивилизации на восток), богатые граждане приглашали архитекторов из главной столицы, а таковой тогда был Петербург.
Почему это происходит тут - в гигантском массиве текстов Томск, Иркутск встречаются с Питером чаще других провинциальных городов.

Карта контекстных соседей Томска выглядит как союз провинциальных городов.

Как это сделано:
1. берется нейронка word2vec
2. через неё пропускается массив текстов
3. ??? [много часов прогонов]
4. нейронка вычисляет вектора взаимных встреч слов в текстах (в моей формулировке)
Если брать разные массивы текстов - результаты будут разными. Многое зависит от предварительной обработки данных. Так, видно, что в этой обученной модели создатели не посчитали нужным приводить слова к единой форме, потому среди соседей слова встречается оно же, но в других формах.
Страница с описанием этой конкретно модели - https://nlpub.mipt.ru/Russian_Distributional_Thesaurus
"Все ресурсы были построены автоматически на основании корпуса текстов книг на русском языке (12.9 млрд словоупотреблений)."

Иногда, за счет очень удачных примеров, кажется, что подобные программы "понимают" текст, но это иллюзия. Иногда кажется, что ближайший сосед - это синоним (когда дело касается не городов), и некоторые проекты используют подобную систему для создания забавных "переписанных романов".
Но эти связи отражают лишь частоту взаимных встреч слов в текстах. И "плохой" встречается с "хорошим" чаще, чем "лучший". Из этого можно сочинить поговорку.

PS: список слева - упорядоченные слова по "расстоянию", чем выше, тем ближе к опорному слову, тем чаще встречается вместе с ним.