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

Внимательный

Внимающий

Спасибо за внимание

Принимая во внимание

Обратите внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Словесные игры расширяют лексический запас и тренируют навыки коммуникации

А еще они приносят много удовольствия от игрового взаимодействия и помогают лучше узнать друг друга


Как будет выглядеть карта языков России?

Интервью лингвиста Юрия Корякова сайту Русского географического общества


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

Настойчивое желание общаться приводит к появлению конструкций «Моя твоя не понимай»


Чем отличаются по смыслу слова «знакомый», «друг» и «товарищ» в языке Пушкина?

Вышел в свет третий номер «Вестника Московского университета» за 2024 год


Скороговорки: полезное развлечение для детей и взрослых

Как Саша с сушкой и Клара с кларнетом помогают избавиться от каши во рту


Рэп-фристайл: импровизация по-русски в ритме бита

Интервью с руководителем «Фристайл-мастерской» Львом Киселевым


«Говорим по-русски!»: в правилах русской пунктуации есть пробелы

Лингвист Мария Ровинская о том, почему запятые все-таки нужны


«Муж объелся груш» и другие речевые формулы для ответа в рифму

Каждый месяц мы выбираем самые интересные вопросы пользователей и самые полезные ответы нашей справочной службы



Влияние государственных решений на судьбу родных языков

Эксперты обсуждают принятую Концепцию языковой политики и ждут результатов ее реализации




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

Предлоги-захватчики приобретают новые значения, вытесняют другие способы выражения синтаксических связей и вообще много себе позволяют


Вышло новое издание научно-популярной книги Стивена Пинкера «Язык как инстинкт»

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



Константин Деревянко: «Необходима национальная стратегия развития речевой культуры»

Руководитель Грамоты о том, как владение языком влияет на учебу, карьеру и состояние общества


Откуда берутся и какую функцию выполняют бранные слова

Ругательства — нормальная часть языка, хотя не все они относятся к литературной норме


Вышел обновленный учебник для вузов «Введение в науку о языке»

В первый том вошли разделы «Теория языка» и «Язык и познание»


Сколько падежей в русском языке на самом деле

Сторонники идеи «чем больше, тем лучше» ищут и находят скрытые падежи


Как современные технологии помогают оценить сложность текста

Инструменты компьютерной лингвистики лучше всего работают с учебными материалами


Новые публикации Грамоты в вашей почте
Неверный формат email
Подписаться
Спасибо,
подписка оформлена.
Будем держать вас в курсе!