Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 2:51Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -2:51 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
Модель загрузилась, это потребовало некоторого времени, давайте теперь поищем похожие слова. Итак, слова-запрос "курица". Видим, что список похожих слов содержит либо блюда из курицы, либо виды мяса. Аналогичный список для запроса "сыр" — опять же, здесь "чеддер" и другие сорта сыра. Кстати, эта модель была обучена не только на отдельных словах, но и на парах слов — на биграммах. Для того, чтобы такую модель обучить, надо заранее предобработать корпус. А именно, нужно объединить часто идущие подряд слова в "фиктивные слова", которые соответствуют словосочетаниям. Давайте попробуем решить смысловую пропорцию — то есть, решить задачу аналогии. Как вы помните, модель, обученная на нашем маленьком корпусе, не справилась с этой задачей. А сможет ли большая модель это сделать? Ну что ж... О, кажется получается. В этой ячейке мы спросили у модели, какое слово относится к "королеве" так же как слово "мужчина" относится к слову "король". Ну и, вполне ожидаемо, мы получили такие слова как "женщина", "девушка", и так далее. Давайте теперь визуализируем эмбеддинги из большой модели. Опять же, слова расположены совсем по-другому но явно выделяется пара кластеров, более-менее осмысленных. Ну, и давайте подытожим. В этом семинаре мы реализовали руками, с помощью pytorch, модель SkipGram с сэмплированием отрицательных слов, обучили её на корпусе рецептов и немножко поиграли с этой моделью — то есть поискали похожие слова, порисовали расположение слов на плоскости и выяснили, что, в целом, кластеризация достаточно разумная, то есть сходство слов модель выучила неплохо, но семантические отношения модель не выучила, скорее всего ввиду того, что мы обучали её на отдельных коротких предложениях. Часто для обучения больших моделей тексты не разбивают на предложения, а рассматривают весь текст как единую последовательность токенов. Также мы немножко коснулись библиотеки gensim, а именно — обучили модель а SkipGram с отрицательным сэмплированим с помощью генсима, а также мы загрузили предобученные веса и тоже немножко их поисследовали. Причём мы увидели, что большая модель неплохо аппроксимирует не только близость слов, но и какие-то семантические отношения, то есть уже как-то решает смысловые пропорции.

К сожалению, у нас пока нет статистики ответов на данный вопрос, но мы работаем над этим.