Диссертация (1137507), страница 13
Текст из файла (страница 13)
В случае совпадения леммы тренировочногои тестового экземпляра вероятность соответствия их ролей крайне высока.Рассмотрим следующий пример, где предложение из тренировочной выборки(слева) требуется сопоставить с предложением из тестовой выборки (справа):Маша купила велосипед → Маша купила грузовикВ данном случае лексема "Маша" содержится в виде свойства как втестовом экземпляре, так и в тренировочном, и на основании одного этогофакта классификатор уже мог бы приписать тестовому узлу правильную роль. Вто же время для второго узла, "грузовик", эта операция быть выполнена неможет, т.к. его лемма не совпадает с леммой тестового экземпляра("велосипед"). Поскольку объём корпусов, размеченных по семантическимролям, как правило, очень ограничен, вероятность встретить новое слово в узледостаточно велика. Для того чтобы решить эту проблему, можно использоватьвнешний источник данных, который для каждой пары слов определяет,принадлежат ли они к одному семантическому классу.
Имея такой ресурс,83созданный, как правило, с учётом значительно большего объёма данных, чемразмеченный по семантическим ролям корпус, мы можем частично решитьпроблему низкого покрытия и делать успешные предсказания даже для узлов,лемма которых в тренировочных данных отсутствует.Существуетдваосновныхтипаресурсов,которыемогутбытьиспользованы для решения этой задачи. Во-первых, можно использоватьготовыйвнешнийресурс-тезаурус,созданныйэкспертамиилиполуавтоматически.
В тезаурусе лексемы объединяются в группы, и для каждойпары лексем, в частности, можно установить, принадлежат ли они к одной итой же группе. В качестве иллюстрации приведём пример из тезауруса РуТезLite [Loukachevitch, Dobrov, Chetviorkin, 2014]:Рисунок 21: Запись тезауруса РуТез для концепта "Рептилия"Такие ресурсы отличаются высоким качеством разбиения слов, однакомогут страдать от недостаточной степени покрытия. Кроме того, ресурс можетпредставлять классификацию слов в виде иерархии, в результате чегоконкретныйкласс,ккоторомупринадлежитслово,оказываетсявдействительности очень малочисленным. В этом случае требуется определить84некоторый уровень абстракции, на котором слова рассматриваются какпринадлежащие к одному общему классу, и использовать классы на этомуровне абстракции в качестве свойств.
Поскольку подобные ресурсы зачастуюсоздаются с участием экспертов-аннотаторов, их объём, как правило,ограничен.Альтернативное решение в данной ситуации – использовать результатыавтоматической кластеризации лексики, полученной на большом корпуседанных. В общем случае задача кластеризации заключается в разбиениимножества экземпляров на группы таким образом, что экземпляры внутриодной группы были максимально схожи между собой, при этом экземпляры изразных групп максимально различны.
Задачу кластеризации иллюстрируетследующий пример, где выполняется объединение точек в группы наосновании их расположения.Рисунок 22: Задача кластеризацииВ случае с кластеризацией лексики, точками-экземплярами являютсяотдельные лексемы или их значения. К задаче построения признакового85пространства существует несколько подходов, но все их объединяетпредположение о том, что значение лексемы так или иначе выражается черезмножество её возможных контекстов. Наиболее простой вариант подобногопространства строится на основе частоты совместной встречаемости даннойлексемы с другими лексемами. Однако было предложено множествоальтернативных способов представления, которые позволяют автоматическигруппировать лексемы-признаки в соответствии с их распределением наисходном корпусе [Blei, Ng, Jordan, 2012; Gabrilovich, Markovitch, 2007; Mikolov идр., 2013].
После того как лексемы или значения представлены в видеэкземпляров и описаны в терминах выбранного признакового пространства,мы можем выполнить кластеризацию этих точек и объединить их в группы наосновании семантической близости. Полный обзор существующих методовкластеризации выходит за рамки задач этой работы, однако мы считаемуместнымрассмотретьдванаиболеераспространённыхподходаккластеризации: плоскую кластеризацию, при которой лексемы распределяютсяпо непересекающимся кластерам, и иерархическую кластеризацию, прикоторой кластеры организованы в иерархию.Классическимпредставителемсемействаалгоритмовплоскойкластеризации является метод k-средних [MacQueen, 1967].
Принцип работыэтого алгоритма состоит в том чтобы подобрать центры кластеров такимобразом, чтобы минимизировать суммарное квадратичное отклонение точеккластеров от этих центров.Приинициализацииалгоритмоввыбираетсяkслучайныхточекпризнакового пространства – центров кластеров – и оставшиеся точки(исходные экземпляры) разделяются на кластеры в зависимости от того, ккакой из инициирующих k точек они ближе расположены.
После этого длякаждого из k кластеров вычисляется центр масс на основе всех входящих в неготочек, и этот центр масс объявляется новым "центром кластера". Эти действия86повторяются до того момента, когда очередное обновление центров масс неприводит к изменениям.К недостаткам этого подхода относят зависимость результата отслучайного выбора центров кластеров при инициализации и необходимостьуказать целевое число кластеров k (что в случае с кластеризацией лексикипредставляется затруднительным).Классический представитель алгоритмов иерархической кластеризации –аггломеративный алгоритм [Sibson, 1973].
Суть этого алгоритма состоит в том,что два наиболее схожих между собой кластера объединяются на каждомновом шаге в один. Изначально каждая точка признакового пространстваявляется отдельным кластером. Для каждой пары точек мы вычисляем ихсходство с помощью одной из стандартных мер близости векторов (например,косинусного расстояния) и объединяем наиболее близкие точки в кластер.
Этапроцедура повторяется, причём для кластеров при вычислении сходстваиспользуется центр кластера. Процедура останавливается, когда все точкиоказываются объединены в один кластер. Результат аггломеративнойкластеризации – разбиение точек на группы, организованные в иерархию.Сложность с использованием данного подхода в задачах, подобных нашей,состоит в том, что одной метки кластера для слова недостаточно и необходимокаким-то образом передавать в классификатор информацию об иерархическихотношениях внутри множества кластеров. В то же время, как и в случае стезаурусами, при нахождении оптимального порога отсечения и группировкиоказывается возможным получить разбиение лексики на осмысленные классы,которые могут использоваться при автоматической разметке актантов.Всвязистем,чтоучётиерархическихотношенийтребуетдополнительного моделирования, в данном исследовании мы остановиливыбор на плоской кластеризации, которая приписывает каждой лемме толькоодин семантический класс.
Поскольку изначальное число кластеров для87плоскойкластеризацииопределитьтрудно,мыиспользуемнепараметрический графовый алгоритм кластеризации Chinese Whispers,предложенный в [Biemann, 2006a]. Нам не известно о случаях примененияэтого алгоритма для решения указанной задачи в русском языке, однако мысчитаем полученные нами результаты обнадёживающими, что поддерживаетсяи высоким качеством результатов, полученных для аналогичной задачи наанглийском материале. Поскольку выбранный нами алгоритм появилсясравнительно недавно и используется не очень широко, представляетсяразумным коротко остановиться на общих принципах его работы.
Это кажетсятем более уместным, что выбранный нами алгоритм достаточно прост иинтуитивно понятен.Chinese Whispers является алгоритмом кластеризации графов. Суть егодемонстрирует следующий пример. Допустим, что нам дан граф, состоящий изузлов и ненаправленных взвешенных связей между ними. Задача состоит в том,чтобы сгруппировать узлы на основании этих связей. Для простотыпредположим, что веса всех связей равны единице.Рисунок 23: Пример графаНа этапе инициализации каждый из узлов графа получает уникальнуюметку кластера.88Рисунок 24: Граф после инициализацииЗатем в ходе каждой итерации каждый узел голосует за свою меткукластера с силой, равной весу связи.
Таким образом для каждого узла меткаего кластера определяется суммой голосов за каждую из меток соседствующихузлов. Порядок обхода узлов определяется случайно в начале каждойитерации, в случае неоднозначностей решение принимается случайно.Представим, что в определенный момент времени граф оказался в следующейконфигурации, и в настоящий момент выполняется голосование за метку дляузла 5.Рисунок 25: Шаг кластеризации: голосование89В результате голосования, метка 9 получает два голоса, т.к. эту меткуимеет два узла, связанных с узлом 5. За метку 1 голосует только один узел,таким образом, метка рассматриваемого узла будет изменена с 5 на 9.Более формально алгоритм может быть представлен следующимобразом:Инициализация: для каждого узла ∈ : () = Покаестьизменения:длякаждогопорядке( )устанавливаетсявысокимрангомсредисоседейкакузла ∈ вслучайномкласссграфе.внаиболееПринеоднозначности класс выбирается случайно.В результате, по истечении определённого числа итераций, достигаетсяоптимальное жёсткое разделение графа на кластеры.
Количество итерацийопределяется эмпирически, но авторы метода заявляют, что для достиженияоптимального разбиения графа требуется всего несколько итераций, и после 10итераций разбиение меняется незначительно или не меняется вовсе [Biemann,2006a]. Авторы алгоритма экспериментально установили, что оптимальноечисло итераций равно 10, это значение используется в имплементацииалгоритма по умолчанию, и мы также будем придерживаться этой величины.Для того чтобы конвертировать наше исходное множество точек-лексем вграфовое представление мы используем метрику семантической близости навекторной модели RusVectōrēs [Kutuzov, Andreev, 2015], созданной с помощьюинструмента word2vec [Mikolov и др., 2013] на основе большого корпусарусскоязычных новостных текстов.
Данная модель описывает лексемы языка втерминахизменённогопризнаковогопространства,построенногосиспользованием нейронных сетей. Данные, полученные с помощью word2vec,позволяют эффективно вычислять семантическую близость лексем, а также90выполнять дополнительные операции, например, "сложение" и "вычитание"смыслов (анализ этого явления см. в [Levy и др., 2015]).Используя представление RusVectōrēs, мы получаем для каждого слова,содержащегося в модели, 10 наиболее похожих на него слов с их весами,которые в выбранной нами имплементации вычисляются как косинусная мерасходства. Затем все слова модели помещаются в граф в качестве узлов, и вслучае, если одно из слов вошло в список 10 наиболее похожих для другогослова, эти слова связываются отношением с весом, равным степени ихсходства. К полученному графу применяется алгоритм Chinese Whispers встандартной конфигурации, и в результате работы этого алгоритма каждаялексема получает метку кластера, которая может быть использована в качествесвойства в нашем классификаторе.