К содержанию
Транскрипт

Транскрипт · extra02 · Как НА Самом Деле работают и «думают» нейросети? — ToTheMoon

Полная расшифровка. Таймкоды открывают соответствующий момент видео.

К странице выпуска
00:00:01–00:00:49О чем выпуск
Ильнар Шафигуллин00:00:00

Всем привет! Сегодня мы с вами на пальцах попробуем разобраться с тем, как Word2vec работает под капотом. Напомню основную идею. Компьютер умеет работать с числами, а нам бы хотелось, чтобы он работал со словами, а в идеале не только со словами, но и со смыслом этих слов. Здесь возникает вопрос: а что же такое смысл слова? , на бытовом уровне ответить можно было бы так: у нас есть толковый словарь, где есть определение каждого слова, да, где для каждого слова написано, что же оно значит. А можно ли, без этого попытаться как-то определить смысл, найти смысл слова? Оказывается, что да., мы сейчас с вами проведем небольшой эксперимент. Для этого я снова обращусь к, надеюсь, вам уже известному сайту Елены Войтэ. Вот ссылку на него я оставлю, можно будет зайти посмотреть.

Упоминаются: Word2Vec · Елена Войта
00:00:49–00:03:53Как работает Word2Vec: разбор на примере
Ильнар Шафигуллин00:00:49

Но вот сейчас мы с вами пройдемся по основным пунктам, и я надеюсь, что вам станет понятнее, как же Word2vec устроен под капотом. Итак, давайте перейдем к демонстрации. Соответственно, нам надо понять, а можно ли, понять смысл слова, если у нас нет толкового словаря? Как это можно было бы сделать? Вот тут есть небольшой эксперимент. Собственно, нас спрашивают: "Знаете ли вы, что значит слово, ну пусть будет тезгуиньо?" Я не знаю, как оно читается. Надеюсь, что вам тоже это слово неизвестно. Но как можно было бы понять? Допустим, у нас есть четыре предложения., здесь на английском я для вашего удобства переведу. Те, кто английский знает, собственно, можете читать сразу с экрана., у нас, соответственно, бутылка этого самого тезгуиньо стоит на столе. Все любят это тезгуиньо. Тезгуиньо делает вас пьяным и, соответственно, мы делаем тезгуиньо из кукурузы. Вот зная только это, да, зная, что это слово встречается вот в таких контекстах, встречается в таких пред-предложениях, можете ли вы предположить, что это слово значит? , можно поставить на паузу и подумать, но в целом, я думаю, что уже многие придут вот к этому выводу, что тезгуиньо — это некоторый алкогольный напиток, который делается из кукурузы. Обратите внимание, мы совершенно не знаем определение этого слова, оно нам неизвестно, но мы знаем, в каком контексте оно встречается, да? То есть если есть некоторый контекст, который нам известен, то мы можем догадаться, а что это за слово такое., собственно, давайте посмотрим. Да, вот здесь пример. Есть четыре таких предложения, которые, это слово могут определить., мы можем попробовать подставить различные слова вот в эти пропуски вместо тезгуиньо и посмотреть, удовлетворяет это слово этому предложению или нет. Есть четыре варианта, пять вариантов, да? , в этом примере, в этой демонстрации, собственно, тезгуиньо удовлетворяет всем четырем, которые у нас здесь есть. И дальше есть некоторое количество слов, которые либо удовлетворяют, либо не уд-- либо не удовлетворяют отдельным словам, отдельным предложениям. Например, вино удовлетворяет первому. Можно сказать, что бутылка вина стоит на столе. Все любят вино, и вино делает вас пьяным, но, соответственно, вино не делается из кукурузы, да? Поэтому трем удовлетворяет, четвертому не удовлетворяет. Контекст, на самом деле, а, не контекст, смысл оказывается, что достаточно близкий у вина и тезгуиньо, но не полностью совпадающий., еще интересный вариант с тортильей, да? Это такие лепешки из мексиканской кухни. Соответственно, здесь у нас, бутылка с тортильей никак не сочетается. Тортилья не делает вас пьяным, но при этом можно сказать, что все любят тортилью, и тортилья делается из кукурузы. И вот, соответственно, есть еще какие-то примеры. Вы можете поставить абсолютно любое слово и попытаться определить, а для каких из этих четырех предложений это слово будет удовлетворять.

00:03:53–00:04:46Как контекст раскрывает значение
Ильнар Шафигуллин00:03:53

Возможно, найдете вариант, что для всех, возможно, что только для некоторых. И теперь смотрите, отсюда какой мы можем сделать интересный вывод? Когда у нас есть некоторое количество контекстов, мы можем понять, а какие слова по смыслу могут оказаться близкими, а какие могут быть далекими, да? То есть слова, которые в контекстах совпадают, да, то есть вот для контекстов выполняются и одно, и другое слово, они по смыслу близкие, как вот, например, тезгуиньо и вино. А вот, например, моторное масло, оно, соответственно, дальше находится, несмотря на то, что в каких-то контекстах эти слова могут одинаково употребляться. Если у нас таких контекстов большое количество, то мы, соответственно, уже близкие по смыслу слова будем получать рядом, а далекие будут, соответственно, у нас далеко расположены., близость имеется в виду, какому количеству контекстов эти слова будут соответствовать.

00:04:46–00:07:30Идея контекстного окна — часть 1/2
Ильнар Шафигуллин00:04:46

Соответственно, давайте посмотрим, что мы из этого будем получать. Мы можем себе представить любой текст и контекст этого слова будем определять из слов, которые вокруг него находятся. Возьмем пару слов до, возьмем пару слов после. Это условность. Ширину контекстного окна вы можете задавать любым. Это может быть там два слова влево, два слова вправо, может быть десять слов влево, десять слов вправо и так далее. Они могут быть симметричными, несимметричными. Для данного примера значения не имеет, но для простоты, собственно, здесь на демонстрации у Елены указано, что мы берем какое-то центральное слово и контекст — это два слова до него, два слова после него. Мы, собственно, можем видеть, что каждое слово будет определяться некоторым контекстом или влиять на некоторый контекст. Соответственно, вот например, если мы возьмем слово "кошка", да, то контекст, который мы для него будем рассматривать, это получается "милая", "серая", с одной стороны, и с другой стороны, соответственно, "играет в". Да, само предложение: я вижу там милую серую кошку, играющую в саду., что мы с этим можем сделать? Мы можем попробовать автоматически для большого количества текстов посчитать контексты. То есть вот слово и вместо его определения мы можем посчитать, а в каких контекстах это слово употребляется., как это будет выглядеть? Мне нужен будет некоторый словарь всех допустимых для меня слов., мы можем взять условно орфографический словарь., в этом орфографическом словаре может быть там, ну вот сто пятьдесят тысяч слов. Например, там в орфографическом словаре русского языка, там от ста сорока до двухсот тысяч слов, в зависимости от- Издания. Ну, возьмем, пусть будет сто пятьдесят тысяч слов. Дальше что я хочу сделать? Для каждого слова из вот этого нашего словаря я хочу определить еще один словарь и посчитать: а вот это слово, насколько вероятно будет встречаться с другими из них? Вот для каждого слова у меня появится еще один словарик, и там я расставлю числа, такие вероятности, насколько вероятно встретить слово, ну, например, "кошка". Да, вот давайте мы кошки приведем. Насколько вероятно увидеть слово "кошка" со словом "милый", увидеть слово "кошка" рядом со словом "серый", увидеть слово "кошка" рядом со словом "играет". И вот, соответственно, все сто пятьдесят тысяч слов у меня здесь написаны, и для кошки, собственно, для каждого слова у меня будет указана некоторая вероятность, как часто я эти слова рядом могу увидеть.

00:07:30–00:10:15Идея контекстного окна — часть 2/2
Ильнар Шафигуллин00:07:30

Да, например, со словом там "моторное", это моторное масло, я вряд ли кошку близко буду часто видеть, а со словом, например, там, "милая", скорее всего, я там довольно часто буду кошку встречать, да? То есть мне вот для каждого слова надо составить еще один точно такой же словарик из ста пятидесяти тысяч слов, и, соответственно, для каждого из них я буду писать, как часто я эти слова рядом встречаю. Но это, собственно, все можно сделать автоматически. А, чуть-чуть математики, не пугайтесь, да, сейчас мы это быстренько перелистнем, но смысл в том, что я могу посчитать, насколько часто эти слова друг с другом будут встречаться. И дальше, когда я прогоняю тексты, берем огромные тексты: "Войну и мир", "Анну Каренину", учебник по математике, по литературе - неважно, да, то есть все-- всю "Википедию", которая есть, берем все тексты, которые у нас имеются, и для каждого слова мы будем этот словарик обновлять. Если это слово рядом встретилось, его число, его вероятность я немножечко буду увеличивать. Если-- а при этом у всех остальных слов буду немножечко уменьшать. При этом что получится? Когда я все тексты, которые мне доступны, прогоню, у слов, которые рядом со словом "кошка" встречаются, будут какие-то вероятности. У всех остальных слов будут очень низкие вероятности, да? И, собственно, вот это вот распределение слов, которые рядом с кошкой встречаются, я и буду считать его определением. Соответственно, как с этим дальше можно работать? Мы приходим к примеру, король минус мужчина плюс женщина равно королева. Если вы вдруг этого примера не слышали, то, собственно, посмотрите видео, да? И что мы получаем? У нас есть такой словарик для короля, из него мы вычитаем словарик для мужчины. У нас опять же, да, это точно такой же словарь на сто пятьдесят тысяч слов, из которого мы вычли числа. То есть мы из чисел, которые соответствуют как конкретному слову, вычитаем числа, потом прибавляем, а, словарик, который относится к женщине, и таким образом у нас появляется еще один какой-то словарь. И дальше мы начинаем искать, а к какому же слову он ближе всего? И оказывается, что он очень близок к слову "королева". Вот так, на самом деле, это такое видео-дополнение к предыдущему видео. Если вы его не смотрели, то посмотрите. А если вы его уже посмотрели, то, собственно, можете заново поиграть в ту викторину, о которой я там говорю. И я уверен, что примеры для вас заиграют немножко по-новому, да. И если где-то у вас возникают

Ильнар Шафигуллин00:10:00

Да, и если где-то у вас возникали вопросы: а почему же ответ такой, а не другой? Вы можете подумать, что в текстах, на которых модель word2vec обучалась, у нас, соответственно, распределение слов оно было вот таким.

00:10:15–00:11:04Почему Word2Vec — поворотная веха в NLP?
Ильнар Шафигуллин00:10:15

И именно поэтому у нас получилось, получился тот вариант, который получился. Здесь стоит сразу оговориться, что, word2vec — это, конечно, поворотная веха в NLP, в natural language processing, да, в обработке естественного языка. Но если мы говорим про современные LLM, то, под капотом там лежат немножко другие механизмы. На самом деле можно сказать, что они концептуально похожи, но о них подробнее мы поговорим в следующих выпусках. Оставайтесь с нами на канале. Надеюсь, вам было интересно и чуть более понятно. Ставьте лайки, пишите комментарии. Почти на все, а, я отреагировал. Собственно, будем рады видеть вас в следующих выпусках нашего подкаста.

Участник дискуссии00:11:01