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

Можно использовать знаки подстановки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как устроено ударение в разных языках

Оно может быть силовым, музыкальным или даже вовсе отсутствовать

«Нелицеприятная оценка»: странные формы и употребления на пути из ошибок в норму

Лингвист Ирина Фуфаева с интересом наблюдает за говорящими, уверенными в своей непогрешимости

Заец, Журавель и Казаченок: как склонять такие фамилии

Можно обратиться к словарю фамилий или прислушаться к мнению носителя

Светлана Гурьянова: «Главное — не запутаться в том, какое правило нужно применить!»

Подробный разговор о сложных заданиях на ЕГЭ, материалах для подготовки и настрое перед экзаменом

Денис Фонвизин: живая речь в комедиях и системность в словаре

Рассказываем о ключевых исторических фигурах, повлиявших на развитие русского языка

Что такое темематический язык и почему он так называется

На портале «Элементы» появились три новые лингвистические задачи

Склонение грузинских фамилий в русском языке

От Берии до Данелии и от Коставы до Окуджавы

Неологизмы бросают вызов лексикографам. Как на него ответит Лексикон Грамоты?

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

Мелетий Смотрицкий: архитектор славянской грамматики

Рассказываем о ключевых исторических фигурах, повлиявших на развитие русского языка

Мелет или мелит? Не трожь или не трогай? Изучаем глаголы со сложным характером

Ошибки нередко проливают свет на глубинные свойства языковой системы

Язык в большом городе: три способа адаптации к обстоятельствам

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

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