kvisaz (kvisaz) wrote,
kvisaz
kvisaz

Categories:

Контекстные соседи или вектора слов в нейронке word2vec

Игрушечка на пять минут - контекстно связанные слова в русскоязычных текстах. Открывать лучше в браузере Chrome, кликнуть на кнопке с шестеренкой и выбрать Russian: SkipGram

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

Итак, я кликнул на Москве и увидел, что в массиве текстов из либрусека Варшава ближе к Москве, чем самара. Затем я кликнул на "Петербурге" и внезапно увидел "Томск" - он оказался связанным и с Москвой, но лежал дальше классических русских городов, то есть даже не входил в первую двадцатку близости к Москве.



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

Почему это происходит тут - в гигантском массиве текстов Томск, Иркутск встречаются с Питером чаще других провинциальных городов.





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





Как это сделано:
1. берется нейронка word2vec
2. через неё пропускается массив текстов
3. ??? [много часов прогонов]
4. нейронка вычисляет вектора взаимных встреч слов в текстах (в моей формулировке)

Если брать разные массивы текстов - результаты будут разными. Многое зависит от предварительной обработки данных. Так, видно, что в этой обученной модели создатели не посчитали нужным приводить слова к единой форме, потому среди соседей слова встречается оно же, но в других формах.

Страница с описанием этой конкретно модели - https://nlpub.mipt.ru/Russian_Distributional_Thesaurus
"Все ресурсы были построены автоматически на основании корпуса текстов книг на русском языке (12.9 млрд словоупотреблений)."






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

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



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

  • человеское SEO уничтожило интернет

    Обсуждали на Пикабу проблемы фактов в нейронных текстах. Xочу сказать, что человеское SEO уничтожило интернет задолго до нейронок. Если бы нейронки…

  • скучаю по Семаджику

    скучаю по Семаджику, кто не помнит, была такая удобная программа, просто запускалась на компьютере, оттуда посты пишешь и отправляешь - красота, ни…

  • Мадера коварна

    В ней 20 градусов, а кажется вином. На самом деле это половина водки

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments