KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Базы данных » Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Марков Сергей Николаевич, "Охота на электроовец. Большая книга искусственного интеллекта" бесплатно, без регистрации.
Перейти на страницу:

Благодаря относительной легковесности модели CBOW и Skip-gram оказались способны обучаться на гигантском корпусе Google News (около 6 млрд слов) при размере словаря в миллион слов. При использовании одного CPU на одну эпоху обучения уходило при этом не более суток.

Миколов и его коллеги опробовали различные размерности эмбеддингов (размерностью эмбеддингов часто для простоты называют число компонентов векторов признаков) — 50, 100, 300, 600 и даже 1000. Обучив несколько моделей, авторы исследования сравнили свойства полученных векторов с векторами, построенными в экспериментах других исследователей, а также с векторами из более ранней работы [2131] Миколова. Дело в том, что ещё за год до рассматриваемых нами исследований Миколов предложил усовершенствовать сеть Бенджио, сделав её рекуррентной, чтобы в дополнение к поступающему на вход на каждом шаге вектору, соответствующему очередному слову текста, сеть использовала также информацию из своих предыдущих состояний. Для обозначения модели Бенджио (в том числе её различных усовершенствованных версий) Миколов и его коллеги используют аббревиатуру NNLM (Neural network language mode, Нейросетевая языковая модель), а для обозначения её рекуррентной версии — аббревиатуру RNNLM (Recurrent neural network language model, Рекуррентная нейросетевая языковая модель).

Для оценки качества полученных векторов авторы предыдущих исследований обычно использовали наборы слов. Для каждого слова из набора обычно рассматривался список слов, векторы которых по некоторой метрике расстояния были ближайшими к вектору исходного слова. В качестве метрики обычно использовалось косинусное расстояние, то есть разница между косинусами углов двух векторов.

Весьма занимателен вопрос о том, почему авторы word2vec использовали косинусное расстояние, а, например, не обычное евклидово. Дело в том, что косинусное расстояние игнорирует длину векторов, то есть если мы умножим любой из векторов, для которых рассчитывается расстояние, на некоторый скаляр, то косинусное расстояние между этими векторами не изменится. Именно поэтому косинусное расстояние часто используется в ситуациях, когда компонентой вектора является, например, число вхождений слова в некоторое множество документов; как раз такие векторы применяются в латентном семантическом анализе. Не исключено, что Миколов и его коллеги просто взяли привычную метрику, по крайней мере в их статьях нет объяснения использованию именно косинусного расстояния. Впрочем, более поздние исследования [2132], [2133], [2134] показали, что длина вектора признаков слова в word2vec связана с частотой слова, поэтому при использовании евклидова расстояния синонимы, значительно разнящиеся по числу вхождений в обучающую выборку, могут оказаться достаточно далёкими друг от друга. Использование косинусного расстояния позволяет избегать таких ситуаций.

Хотя CBOW и Skip-gram, как выяснили Миколов и коллеги, хорошо отыскивают синонимы, объективно сравнить качество различных наборов векторов при решении этой задачи довольно сложно. Оценка степени семантической близости слов в ряде случаев сильно зависит от оценщика, поэтому Миколов и его коллеги поставили во главу угла обнаруженное ими интересное свойство вычисленных моделями векторов. Наблюдения исследователей показали, что отношения между векторами отражают различные семантические отношения между словами. Мы знаем, например, что слово «большой» относится к слову «больше» таким же образом, как слово «маленький» относится к слову «меньше», а слово «Москва» относится к слову «Россия» так же, как слово «Рим» относится к слову «Италия». Выяснилось, что если, например, из вектора, соответствующего слову «большой», вычесть вектор, соответствующий слову «больше», то результат будет близок к вектору, полученному путём вычитания из вектора слова «маленький» вектора слова «меньше». Благодаря этому свойству можно использовать полученные векторы для поиска ответов на вопросы вида «Какое слово так же относится к слову A, как слово X относится к слову Y?». Для этого нужно вычислить вектор B = A + XY и найти среди имеющихся векторов такой, который будет ближе всего к B (за исключением векторов, содержащихся в самом вопросе: A, X и Y).

Конечно, и такой подход в полной мере не исключает влияния субъективного фактора. Например, у ответов могут существовать синонимы. Но всё-таки такой способ выглядит гораздо более объективным, тем более что в ряде случаев тесты при его использовании можно создавать автоматически, что и сделали в своей работе Миколов и его коллеги. В частности, они использовали данные о столицах стран мира и штатов США, названия валют для стран, словарь антонимов, таблицы с разными формами слов и так далее. Используя эти наборы данных, можно было оценить, насколько успешно полученные наборы векторов способны давать ответ на вопросы типа «Какое слово относится к слову „Россия“ так же, как слово „доллар“ относится к слову „США“?» или «Какое слово относится к слову „дорогой“ так же, как слово „низкий“ относится к слову „высокий“?».

Миколов и его коллеги разделили все вопросы на две группы: семантические (например, нахождение страны по столице) и синтаксические (вопросы, в которых необходимо было подобрать близкие по форме слова: «быстро» — «быстрый»). Всего в тестовый набор было включено 8869 семантических и 10 675 синтаксических вопросов. На данной выборке модель Skip-gram с размерностью вектора признаков 300 продемонстрировала точность 53,3% (50,0% для семантических и 55,9% для синтаксических вопросов). Немного отстала от неё усовершенствованная версия модели NNLM с размерностью вектора признаков 100 — общая точность 50,8% (34,2 и 64,5% для семантических и синтаксических вопросов соответственно). Ранее же, при использовании векторов из более ранних работ других исследовательских групп, точность ответов на подобные вопросы не превышала 12,3% [2135].

Появление векторов, созданных при помощи моделей Миколова и его коллег, означало настоящий прорыв в «понимании» естественного языка моделями машинного обучения. При этом главная заслуга создателей word2vec состояла не в том, что они улучшили качество работы моделей, а в том, что они, собрав все лучшие на тот момент достижения предшественников, создали прикладную методологию и подарили всем новый мощный инструмент для решения задач в области обработки естественного языка.

Интересно, что в 2020 г., спустя семь лет после выхода word2vec, исследователи из компании Bloomberg обнаружили [2136], [2137], что в оригинальной реализации word2vec (конкретно — в алгоритме CBOW) содержится ошибка, приводящая к снижению эффективности работы этого алгоритма. Хотя в 2020 г. мало кто в индустрии разрабатывает модели на основе word2vec (с тех пор появилось множество более совершенных моделей), но в эксплуатации в наши дни до сих пор наверняка остаётся ряд систем, использующих построенные при его помощи наборы эмбеддингов.

Словарные эмбеддинги нашли применение далеко за пределами сферы искусственного интеллекта. В наши дни их используют при решении самых разных задач в области лингвистики и семантики. Кроме того, для них нашлось применение и в сфере когнитивной психологии — как выяснилось, словарные эмбеддинги можно использовать для прогнозирования человеческого восприятия и оценок в таких разнообразных областях, как социальное познание [2138], поведение людей в отношении вопросов здоровья, восприятие риска, организационное поведение [2139] и маркетинг [2140].

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*