Возьмем словарь синонимов и антонимов. Для каждого слова (или значения слова) даются синонимические значения и противоположные. Какую интересную информацию о языке можно выделить, механически получить, переработав этот словарь? В статье [1] описывается удивительно простой и изящный подход, приведший к получению весьма нетривиального результата.
Возьмем все слова из словаря, расположим их в вершинах графа, и проведем ребра в соответствии с отношениями синонимии/антонимии. Затем доработаем граф так, чтобы все отношения были симметричными (если глокий синоним кузявого, то и кузявый синоним глокого). На этом этапе будут устранены некоторые ошибки словаря: если пара слов записана и синонимами, и антонимами, то такое ребро графа стирается. Иными словами, если глокий записан в словаре синонимом кузявого, а кузявый числится антонимом глокого, то сочтем это ошибкой и уберем обе ссылки этих слов друг на друга.
Вполне вероятно, что граф наш распадется на несколько компонент связности: каждая компонента - подмножество графа, по ребрам которого можно дойти из одной вершины в другую. Самую большую из этих компонент авторы называют ядром, и, для всех исследованных словарей, следующая за ней по размеру компонента довольно мала. Размер ядра для английских словарей составил 15-20 тыс. слов. От любого слова до любого можно добраться по связям: пустой - антоним полного, полный - синоним толстого, худой - антоним толстого, добрый - антоним худого, и так далее.
Затем авторы разворачивают полученный граф в многомерном пространстве (скажем, 25-мерном), так что каждая вершина получает свое положение в пространстве, радиус-вектор xi. Затем определяется функционал энергии системы этих точек в пространстве, следующим образом:
,
где значение Wi,j=Wj,i равно 1, если слова i и j суть синонимы, −1, если антонимы, и 0 в противном случае. Иными словами, W есть матрица связности нашего графа, где веса ребер равны 1 для синонимов и −1 для антонимов.
Первый член суммы определяет стремление синонимов кучковаться по одну сторону начала координат, так что их радиус-векторы сонаправленны (в этом случае скалярное произведение максимально, и данная пара синонимов, при коэффициенте W=1, вносит наибольший отрицательный вклад в суммарную энергию (а ищется минимум этой энергии). Точно так же, радиус-векторы антонимов стремятся выстроиться в линию, но противопоставленно, благодаря смене знака W=−1. Второй член - простая регуляризация, она тянет центр всей системы частиц к началу координат, и не дает ей разбегаться. Чем выше степень при норме вектора, тем круче возрастает энергия за пределами гиперсферы единичного радиуса.
В результате численного решения уравнения, мы найдем все координаты (25-мерный вектор) для каждого из, скажем, 20 тыс. слов. Поскольку формула сферически симметрична, то это решение может выстроиться в пространстве в любой ориентации, и, к тому же, зеркально отраженным по любой из координат. Чтобы разобраться в том, что у нас вышло, следует упростить решение, выбросив из него незначащую информацию. Математически это делается методом главных компонент (МГК, англ. PCA). Этот метод позволяет существенно сократить размерность данных, если данные «спюснуты» вдоль одной или нескольких осей. Например, если наши точки выстроятся вдоль диагонали трехмерного куба, то на самом деле это не трехмерные данные, а одномерные: проведем новую ось X вдоль диагонали, а оси Y и Z нам и не потребуются, потому что новые эти координаты все равно окажутся нулевыми. На практике, значения координат по «лишним» осям ненулевые, но и невелики; обычно это экспериментальный шум, которым можно пренебречь. МГК дает ответ также, какую точность мы потеряем, уменьшив число координат до некоего взятого. Например, если оказывается, что в 20-мерном наборе данных самая главная новая координата опишет 55% информации, две первых опишут 70%, три - 99,5%, а четыре и более все больше приближают нас к исходным 100%, то мы можем смело отбросить последние 17 координат и разглядеть в данных трехмерный набор - выбросив тем самым только 0,5% информации (которая может быть полезной, а может и просто шумом).
Так вот, после того, как авторы обработали полученное решение с помощью МГК, выяснилось, что данные можно сжать до трехмерных с точностью 95%, или четырехмерных с точностью 99%. Иными словами, сопоставив каждому слову в решении только 4 независимых числа, можно сохранить практически все свойства этого решения (максимальное сближение синонимов и расхождение антонимов).
До сих пор мы рассматривали только математический трюк, позволивший нам сопоставить 4 числа (тяготеющих к диапазону [-1, 1] благодаря регуляризации) с каждым словом. Но неожиданно оказывается, что у каждой из этих 4 осей имеется явный смысл, причем (для первых 3) один и тот же в разных языках! Первая, самая главная ось, раскладывает слова по шкале «хороший-плохой» по их эмоциональным коннотациям. Вторая ось - шкала «возбуждения», от «успокаивающего» до «возбуждающего», а третья - шкала «свободы», от «закрытого» до «открытого». Первые три оси несут 95% информации из решения. Четвертая ось имеет переменный смысл, в зависимости от языка и словаря. В целом, интервал значений по каждой оси уменьшается с ее номером, то есть слова собираются в более тесные группы ближе к 0. Выходит, что наибольшее количество информации, заключенное в слове, соответствует тому, насколько «хорошее/плохое» обозначается этим словом.
По построению, оси перпендикулярны и независимы: «успокаивающее» слово может быть и «хорошим», и «плохим», а «плохое» - и «успокаивающим», и «возбуждающим». Например, первые две координаты «успокаивающих» слов soothing, умиротворяющий равны (0,69; −1,19), а boring, скучный - (−1,31; −0,94): слово умиротворяющий, таким образом, весьма положительного значения, «хорошее», а скучный - отрицательного, «плохого». Авторы численно сопоставили эти значения с корпусом аффективных норм, где слова оценены респондентами по разным шкалам, и получили замечательную корреляцию со своими механически вычисленными осями.
Не следует думать, будто бы перед нами способ квантифицировать, описать числами любое слово. Мы можем сопоставить числа слову, но перейти от чисел к слову нельзя, информация теряется: вблизи одного слова оказывается другое, совершенно не близкое ему по значению (например, рядом со злым могут оказаться квадратный и фиолетовый). Семантизированные корпуса пока что вычисляются только для узких смысловых областей, и включают в себя векторы очень высоких (десятки-сотни координат) размерностей.
Как и любое интересное открытие, большое и малое, данная находка ставит больше вопросов, чем дает ответов. Интересно поразмыслить, что же именно здесь обнаружено, какого рода это явление?
Одна крайняя точка зрения базируется на произвольности знака. Поскольку отношения синонимии все-таки определяются между значениями, а не знаками, то обнаруженное явление лишь артефакт метода. Эта точка зрения неверна, потому что многие значения одного слова связаны не произвольно. Например, слово худой будет иметь антонимами два разных слова, толстый и добрый, в двух разных значениях. Но значения эти собраны в одном слове не произвольным образом - не следует произвольность знака возводить в абсолют в любой ситуации. Безусловно, значения худой в смысле плохой и тонкий (фигурой) связаны, и этимологически, и семантически.
Другой крайностью было бы утверждать, что обнаружено некое языковое явление. Нужно сказать, что возразить против нее нечего, но нечем ее и подтвердить. Слишком уж много стоит на пути от языка до словаря синонимов. Словарь составляется человеком, который следует определенной, разработанной им же или другими людьми методологии, на основе неким методологическим же образом отобранного корпуса текстов, и так далее. Что в интересной обнаруженной закономерности от языка, а что от мышления человека, составляющего словарь? На эти вопросы ответа нет. Если бы у нас был способ автоматического, вычислительного составления словаря синонимов, это дало бы хороший способ разделить факторы, влияющие на конечную модель. Но такие способы пока еще неизвестны.
Узкопрактически метод можно применять для верификации словарей синонимов и нескольких других вещей (в статье они описаны), но в теоретической части, можно сказать, обнаружено что-то очень интересное, но непонятное. В понимании языка мы продвинулись, конечно, несколько дальше греческих грамматиков, но, увы, отнюдь не так далеко, как хотелось бы.
_________________________________
1. Samsonovic AV, Ascoli GA (2010) Principal Semantic Components of Language and the Measurement of Meaning. PLoS ONE 5(6): e10921.
doi:10.1371/journal.pone.0010921