Подсказки для поиска

Что такое векторные модели и как можно их использовать

Что такое векторные модели и как можно их использовать
Иллюстрация: Варвара Гранкова

Векторное представление слова в компьютерной лингвистике — это сопоставление слову из некоторого словаря числового вектора фиксированной длины, который отражает совместную встречаемость слова с другими словами в корпусе текстов. Каким образом такая модель передает важные семантические признаки слова? Какие у нее есть преимущества и ограничения? Грамота решила подступиться к этой теме с помощью компьютерного лингвиста Бориса Орехова. 

Слово и его окружение

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

Как действовали лингвисты до появления векторов, если им нужно было объяснить компьютеру, что значит слово? Они это делали с помощью составленных вручную словарей. Это не очень удобно, потому что количество слов превышает человеческие возможности их обработки, ни один словарь не фиксирует все, и, кроме того, словари не обновляются с такой скоростью, с какой появляется лексика. Поэтому ручной подход к описанию значений оказывается громоздким, дорогим и неэффективным.

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

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

При этом векторное представление реализуется на концептуальном уровне довольно просто, здесь нет больших препятствий, которые не позволяли бы понять, о чем идет речь. Я часто привожу в качестве примера фразы типа Он придет сюда через несколько X. На месте этого X может стоять часов, дней, минут. Конечно, это три разных слова, но все они обозначают  промежуток времени: он придет сюда через несколько часов, он придет сюда через несколько минут...  Все эти высказывания звучат естественно.

От слов к числам

Если мы возьмем достаточно большой набор текстов, то аналогичные конструкции будут там встречаться в изобилии. И, соответственно, технология фиксации сведений о контекстах заключается в том, чтобы переводить эти конструкции в математические модели: сделать из он придет через несколько Х математическую матрицу.

Как мы будем создавать эту матрицу, имея дело с текстом? Мы выбираем некоторое слово, которое нас интересует, и создаем вокруг него окно «видимости» определенного размера (например, пять слов слева и пять слов справа). Те десять слов, которые попадают в это окно, не ранжируются и образуют «мешок слов»: мы берем эти слова и как будто бросаем их в мешок, где они могут перемешаться, как при игре в лото. 

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

Дальше выяснилось, что самый удобный способ хранения информации о контексте — это вектор. 

Вектор — это на математическом языке ряд чисел. Каждое из этих чисел отражает совместную встречаемость со словом, которое нас интересует, некоторого другого слова. 

И, таким образом, все высказывания в некотором наборе текстов превращаются в многомерное пространство, которое мы даже не можем помыслить. Мы все привыкли к трехмерному пространству, в котором  живем. Мы можем легко понять, как устроено двумерное пространство — скажем, страница книги. В случае векторного представления слов мы имеем дело с пространствами трехсот-пятисотмерными. Каждое измерение — это то, насколько часто или редко какое-то слово встречается в одном контексте с данным.

Что в этом хорошего? Хорошо то, что, избавившись от слов и всяких других непонятных сущностей, математики могут уже на своем языке производить с векторами разные полезные операции. Например, они могут вектора вычитать или складывать. И в какой-то момент выяснилось,  что у этих операций есть языковой смысл! Например, если мы возьмем вектор слова король, вычтем из него вектор слова мужчина и прибавим вектор слова женщина, у нас получится значение, которое максимально близко к вектору слова королева.

Тем самым мы можем сказать, что у нас есть интуитивно правильное описание семантики в математических терминах. И главное следствие из этого факта состоит в том, что теперь, как я говорил выше, мы наконец-то можем объяснить компьютеру, что значит слово, на его «языке».

Эспрессо или капучино?

Правда, тут есть разные сложности, связанные с тем, что векторное представление — это все-таки не семантика в точном смысле. Мне встречалась картинка, которая отражает суть проблемы. На ней изображен ресторан будущего, в котором клиентов обслуживают роботы. Клиент заказывает эспрессо, а ему приносят капучино; он возмущается, но робот-официант не понимает причину недовольства. Для робота капучино и эспрессо — это кофе, то есть почти одно и то же; он не видит, что для человека  разница между ними может быть критична.

Вот так же и с векторами: главное, что мы можем сделать с такими моделями, — это получить список векторов слов, наиболее похожих на данный. В этом списке будут слова, которые в теории должны быть синонимами «нашего» слова, но на самом деле это не синонимы, а слова, связанные с нашим очень разными отношениями.

Скажем, если мы возьмем слово теплый, то очень похожий вектор будет у слова холодный, хотя это антонимы. Очевидно, что между этими словами есть ассоциативная связь, но не синонимическая, а устроенная более сложным образом. Их сходство основано на том, что они встречаются в похожих контекстах, в компании почти одинакового набора слов, и характеризуют предметы, обладающие измеряемой температурой.

Поэтому специалисты не говорят, что похожие векторы — это синонимы; обычно они пользуются более хитрыми терминами и называют их квазисинонимами или ассоциатами.

Оказалось, что раз мы теперь умеем объяснить компьютеру, в чем сходство слов, то на этом мы можем построить разные компьютерные системы.

Векторы и качество жизни

Самое очевидное применение векторов — в сфере информационного поиска. Если человек вводит в поисковой строке «Яндекса» какое-то слово, это не значит, что он ищет именно это слово. Он ищет некоторый смысл, и раньше компьютеру было очень сложно понять, в чем этот смысл заключается. С изобретением векторов дорожка от задачи к ее решению стала гораздо короче. Стало понятно, что если человек ищет что-то, связанное со строительными принадлежностями, это не значит, что ему нужно показывать в выдаче только молотки. Может быть, ему нужны еще и гвозди. 

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

В целом к поисковым задачам относится все, что связано с обработкой естественного языка компьютером. Это любая область, где мы имеем много-много текстов, про которые нужно что-то понять, но при этом прочесть их все невозможно. Например, это может быть корпус законов или корпус публикаций в социальных сетях. По сути дела, это тоже информационный поиск, только примененный к одной коллекции текстов.

Многозначность как преимущество

При векторном описании все значения многозначного слова слипаются в один комок: для каких-то задач это проблема, а для каких-то, наоборот, решение. Там, где это проблема, были изобретены новые технологии, в частности нейросети, название которых крутится вокруг слова BERT (RuRoBERTa и т. д.). Они умеют учитывать контекст таким образом, что уже не одно слово становится вектором и учитывается в качестве смыслообразующей единицы, а все предложение становится такой единицей, и тогда проблема многозначности снимается.

Но когда мы берем в качестве исходного материала не тексты, репрезентирующие весь язык, а специфический домен, скажем, тексты, порожденные одним человеком, или тематические тексты юридического характера, то неразличение значений уже становится плюсом. С помощью векторов мы понимаем, какие из множества значений для этого домена более релевантны.

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

Мне было интересно, чем, например, отличается поле у Толстого от общеязыкового поля. Когда мы говорим о Толстом, то первым делом вспоминаем «Войну и мир», а там на поле происходят битвы, например Бородинская. И поэтому можно предположить, что в многозначном слове поле Толстому важен компонент, касающийся войны и баталий.

Выяснилось, что это не так: для Толстого поле ближе всего к таким словам, как луг, лес, жатва. Поле для него — это прежде всего сельскохозяйственное пространство, а вовсе не то место, где воюют, несмотря на то, что он бывший военный. 

К сожалению, не с каждым писателем можно «разобраться» с помощью векторов: они, как и любая технология, основанная на статистике, дают значимые результаты только при достаточном объеме данных. В корпусе текстов Толстого около восьми миллионов словоупотреблений; у других писателей, которые были не столь плодовиты, значения векторов будут скорее случайными. С Достоевским еще можно попробовать, но вот, скажем, с Тютчевым уже не получится.

Роль лингвистов

Там, где инженерная мысль упирается в некоторые ограничения, лингвист в теории может изобрести какой-то нестандартный подход, учесть свойства языка, о которых никто не думал, и таким образом проблему решить. Но нельзя сказать, что так происходит всегда. Правда в том, что в таких областях, как машинный перевод или даже информационный поиск, на нынешнем этапе роль лингвистов скорее мерцающая. Нет уверенности в том, что они добавляют что-то к общей технологии.

Если же рассматривать большие языковые модели не как инструмент, который надо разрабатывать, а как нового актора, продукция которого может стать предметом изучения, то тут есть проблема, которая касается ценностей: статус исследователя тем выше, чем более эксклюзивный материал он рассматривает. А если речь идет о сгенерированных текстах, которые можно порождать тоннами в секунду, то такого ученого не будут воспринимать всерьез. Я думаю, что академическая традиция изучения текстов, порожденных компьютером, не сформируется; на этом поле возможны отдельные яркие исследования, но скорее как исключение. Специалист по Пушкину всегда будет более востребован и уважаем, чем человек, который изучает «Стихи.ру». Хотя, по идее, для науки разницы между ними быть не должно.

· кандидат филологических наук, руководитель образовательной программы «Цифровые методы в гуманитарных науках» НИУ ВШЭ, старший научный сотрудник ИРЛИ РАН (Пушкинский Дом)

Еще на эту тему

Что нейросети умеют делать с текстами и чем предстоит заняться человеку

Эксперты обсудили, как мы будем взаимодействовать с ИИ

Семантические издания Толстого, Пушкина и Чехова — новый способ существования литературных текстов

Как цифровые технологии расширяют возможности изучения классиков

Машинный диалект: границы рефлексии

Взгляд лингвиста Бориса Орехова на язык нейросетей

все публикации

Игорь Исаев: «Диалекты продолжают жить вопреки мрачным прогнозам»

Если хочешь записать диалектную речь, главное — не наткнуться на дачника

Владимир Плунгян: «В русском языке произойдет радикальное обновление словаря»

Как меняется русский язык? Лингвисты по просьбе Грамоты рассказывают о главных трендах

Мне откликается шашлычинг: русские неологизмы в прошлом и настоящем

Вышел в свет шестой номер журнала «Русская речь» за 2025 год

Тире: функции и правила постановки в русском языке

Как определять уместность постановки тире, сочетать его с запятыми и не путать с двоеточием

Ирина Левонтина: «Каждый живет в своем пузыре и не знает, что происходит в других изводах языка»

Как меняется русский язык? Лингвисты по просьбе Грамоты рассказывают о главных трендах

Почувствуйте себя консультантом справочной службы Грамоты

Мы предлагаем вам ответить на вопросы, которые задавали пользователи в 2025 году

Максим Кронгауз: «Разграничить язык интернета и язык вне интернета стало невозможно»

Как меняется русский язык? Лингвисты по просьбе Грамоты рассказывают о главных трендах

Зачем нам нужен язык на самом деле?

Лингвист Валерий Шульгинов — о коммуникативной и символической функциях языка

Система TALK: как общаться легче и эффективнее

Вышел перевод на русский язык книги Элисон Вуд Брукс «Простой сложный разговор»

Почему князь Святослав пил «синее вино»?

Разгадка этой и других словесных тайн — в новой книге филолога Марии Елифёровой

Оскорбление как искусство, ритуал и путь к просветлению

Рискованные речевые акты могут приносить пользу, если они встроены в традиционную культуру

Нетудашка, сердцежмяк и другие новые слова в книге Бориса Иомдина

Русский язык постоянно пополняется не только заимствованиями 

Как животные обрели свои имена: семь детективных историй о зоонимах

Водяная лошадь из Библии, загадочная страна Лемурия и слон, ставший верблюдом

Думать вредно? Чем наивная дурочка лучше продуманной твари

Лингвист Ирина Левонтина описала новое значение старого прилагательного

Способы выражения вежливости в русском и других языках

«Вежливыми» могут быть местоимения, глаголы и даже приставки и суффиксы

1/6
Большой универсальный словарь русского языка (2 тома)
1 — 4 классы
Морковкин В.В., Богачева Г.Ф., Луцкая Н.М.
4.3
Подробнее об издании
От 2320 ₽
Купить на маркетплейсах:
Назовите ваше слово года!
Какие новые слова в 2025 году прочно вошли в вашу речь? На какие вы обратили внимание, какие стали чаще слышать вокруг? Участвуйте в выборе «Слова года» по версии Грамоты.
Отправить
Спасибо!
Мы получили ваш ответ и обязательно учтем его при составлении списка слов-кандидатов
Читать Грамоту дальше
Новые публикации Грамоты в вашей почте
Неверный формат email
Подписаться
Спасибо,
подписка оформлена.
Будем держать вас в курсе!