Word2vec

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Word2vec — общее название для совокупности моделей на основе искусственных нейронных сетей, предназначенных для получения векторных представлений слов на естественном языке. Используется для анализа семантики естественных языков, основанный на дистрибутивной семантике, машинном обучении и векторном представлении слов. Программное обеспечение под названием «word2vec» было разработано группой исследователей Google в 2013 году[1][2]. Инструменты для создания векторно-семантических моделей существовали и ранее[3][4], но word2vec стал первой популярной реализацией: в первую очередь из-за удобства использования, открытого исходного кода и скорости работы.[источник не указан 215 дней][5]

Описание[править | править код]

Работа программы осуществляется следующим образом: word2vec принимает большой текстовый корпус в качестве входных данных и сопоставляет каждому слову вектор, выдавая координаты слов на выходе. Сначала он генерирует словарь корпуса, а затем вычисляет векторное представление слов, «обучаясь» на входных текстах. Векторное представление основывается на контекстной близости: слова, встречающиеся в тексте рядом с одинаковыми словами (а следовательно, имеющие схожий смысл), будут иметь близкие (по косинусному расстоянию) векторы. Полученные векторные представления слов могут быть использованы для обработки естественного языка и машинного обучения.

Алгоритмы обучения[править | править код]

В word2vec реализованы два основных алгоритма обучения: CBoW (англ. Continuous Bag of Words, «непрерывный мешок со словами», англ. bag — мультимножество) и Skip-gram. CBoW — архитектура, которая предсказывает текущее слово, исходя из окружающего его контекста. Архитектура типа Skip-gram действует наоборот: она использует текущее слово, чтобы предугадывать окружающие его слова. Построение модели word2vec возможно с помощью двух данных алгоритмов. Порядок слов контекста не оказывает влияния на результат ни в одном из этих алгоритмов.

Результаты[править | править код]

Получаемые на выходе векторные представления слов позволяют вычислять «семантическое расстояние» между словами. Так, можно находить похожие по значению слова. Обычно приводят пример с королём и королевой: король относится к мужчине также, как королева к женщине. Word2vec выполняет прогнозирование на основании контекстной близости этих слов. Так как инструмент word2vec основан на обучении простой нейронной сети, чтобы добиться его наиболее эффективной работы, необходимо использовать большие корпусы для его обучения. Это позволяет повысить качество предсказаний.

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

Ссылки[править | править код]

Реализации на разных языках программирования