Watset
Watset — метод обнаружения понятий в графе синонимов, основанный на кластеризации графа значений слов.[1]
Суть
Пусть имеется неориентированный граф , множество вершин которого образуется множеством известных слов, а множество рёбер сформировано так, что слова и являются синонимами. Необходимо построить такое множество понятий , что составляющие его элементы, именуемые понятиями, содержат близкие по лексическому значению слова.
В основе метода Watset лежит предположение о структуре графов многозначных слов[2] и допущение о кликах в графах синонимов.[3] Метод Watset предназначен для выделения значений слов в графе и объединения близких по значению слов во множество понятий . Данный метод включает в себя четыре этапа, в том числе предварительный этап построения графа синонимов на основе исходных словарей синонимов. В таком графе осуществляется вывод значений каждого слова. После этого производится связывание значений слов друг с другом и формирование графа значений слов. Кластеризация графа значений слов группирует близкие значения слов в понятия и является финальным этапом работы метода.
Концептуально, метод Watset близок к двум первым этапам подхода ECO[4], но на этапе кластеризации явным образом осуществляется вывод значений слов.
Алгоритм
Вход: граф , алгоритмы жесткой кластеризации и .
Алгоритм:
for for for
Выход: граф значений слов и множество кластеров .
Использование
Из-за особенностей работы локалей, рекомендуется выполнять все команды в окружении с установленными переменными окружения LANG=en_US.UTF-8
и LC_COLLATE=C
. Это сэкономит много времени и нервов.
Установка зависимостей
Watset требует несколько внешних библиотек и утилит для работы. Их загрузка и сборка осуществляется автоматически при помощи специальной команды. Утилиты устанавливаются локально.
$ make deps
Загрузка исходных данных
Пример исходных данных может быть получен путём выполнения команды make
в корневой директории Watlink.
$ make data-ru data-en
При загрузке части русскоязычных данных может возникнуть ошибка, связанная с отсутствием в свободном доступе тезаурусов РуТез и RuWordNet. Возникновение этих ошибок не препятствует выполнению команд в Makefile
.
Выполнение алгоритма Watset
$ EDGES=edges.txt ./impl/watset.sh
Оценка качества
Метод оценки качества на основе сопоставления пар синонимов с золотым стандартом представлен в программе eval/pairwise.py
. Программа работает в режиме командной строки и принимает следующие аргументы:
--gold
— путь к файлу с парами значений слов в золотом стандарте;--significance
— определение статистической значимости результатов (выключено по умолчанию);--alpha
— уровень значимости при определении статистической значимости результатов (по умолчанию 0.01);path
— путь к файлу с результатами, можно указать несколько разных файлов.
Определение статистической значимости основано на вычислении меры качества для каждого слова и проверке критерия Уилкоксона для связных выборок.[5] Не рекомендуется включать опцию --significance
без особой надобности: это существенно удлиняет процесс вычислений.
$ eval/pathwise.py --gold=data/ru/rwn-pairs.txt impl/maxmax-pairs.txt impl/watset-cw-nolog-mcl-pairs.txt >pairwise-rwn.tsv
В программе использован параллелизм независимых задач с обработкой в нескольких процессах. Программа использует все доступные ядра ЦПУ для ускорения вычислений.
Формат файла с результатами оценки — TSV с заголовком, всего двенадцать колонок: путь к оцениваемому файлу, количество отношений в нём, количество верных отрицательных ответов, количество ложных положительных ответов, количество ложных отрицательных ответов, количество верных положительных ответов, точность, полнота, F1-мера, ноль или позиция по точности при оценке значимости, ноль или позиция по полноте при оценке значимости, ноль или позиция по F1-мере при оценке значимости.
При работе с результатами удобно использовать сортировку и разбиение по колонкам в терминале: sort -t $'\t' -g -k9r pairwise-rwn.tsv | column -t | less
.
Цитирование
- Ustalov, D., Panchenko, A., Biemann, C., Ponzetto, S.P.: Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction. Computational Linguistics 45(3), 423–479 (2019)
@article{Ustalov:19:cl,
author = {Ustalov, Dmitry and Panchenko, Alexander and Biemann, Chris and Ponzetto, Simone Paolo},
title = {{Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction}},
journal = {Computational Linguistics},
year = {2019},
volume = {45},
number = {3},
pages = {423--479},
doi = {10.1162/COLI_a_00354},
publisher = {MIT Press},
issn = {0891-2017},
language = {english},
}
Ссылки
См. также
Примечания
- ↑ Ustalov D., Panchenko A., Biemann C., Ponzetto S.P. (2019), Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction
- ↑ Dorow B., Widdows D. (2003), Discovering Corpus-Specific Word Senses
- ↑ Gfeller D., Chappelier J.-C., De Los Rios P. (2005), Synonym Dictionary Improvement through Markov Clustering and Clustering Stability
- ↑ Gonçalo Oliveira H., Gomes P. (2014), ECO and Onto.PT: a flexible approach for creating a Portuguese wordnet automatically
- ↑ Riedl M., Biemann C. (2016), Unsupervised Compound Splitting With Distributional Semantics Rivals Supervised Methods