OpenNE (sub-project of OpenSKL)
OpenNE — это подпроект OpenSKL, предоставляющий инструментарий с открытым исходным кодом для встраивания сети (NRL) с ключевыми функциями TADW для включения текстовых атрибутов узлов.
Обзор
OpenNE предоставляет стандартный инструментарий для обучения и тестирования встраивания сети. Мы унифицируем входные и выходные интерфейсы различных моделей NE и предоставляем масштабируемые варианты для каждой модели. Кроме того, мы реализуем типичные модели NE на основе TensorFlow, что позволяет обучать эти модели на графических процессорах.
Модели
Помимо TADW для изучения встраивания сетей с текстовыми атрибутами, мы также реализуем типовые модели, включая DeepWalk, LINE, node2vec, GraRep, GCN, HOPE, GF, SDNE и LE. Если вы хотите узнать больше о встраивании сети, посетите другой наш список документов NRL.
Оценка
Чтобы проверить эффективность этого инструментария, мы используем задачу классификации узлов для оценки.
Настройки
Мы показываем результаты классификации узлов различных методов в разных наборах данных. Мы устанавливаем размерность представления равной 128, kstep=4 в GraRep. Обратите внимание, что как GCN (полу-контролируемая модель NE), так и TADW нуждаются в дополнительных текстовых функциях в качестве входных данных. Таким образом, мы оцениваем эти две модели на Cora, где каждый узел имеет текстовую информацию. Мы используем 10% помеченных данных для обучения GCN.
Wiki (набор данных Wiki предоставлен проектом LBC, но исходная ссылка не работает): 2405 узлов, 17981 ребро, 19 меток, направленное:
— data/wiki/Wiki_edgelist.txt; — data/wiki/Wiki_category.txt.
Cora: 2708 узлов, 5429 рёбер, 7 меток, направленных:
— data/cora/cora_edgelist.txt; — data/cora/cora.features; — data/cora/cora_labels.txt.
Среда выполнения:
BlogCatalog: CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2,40 ГГц. Wiki, Cora: CPU: Intel(R) Core(TM) i5-7267U CPU @ 3,10 ГГц.
Результаты
Мы сообщаем о производительности Micro-F1 и Macro-F1 для количественной оценки эффективности и времени работы для оценки эффективности. В целом, OpenNE может воспроизвести результаты оригинальных статей. Наш предложенный TADW достигает лучшей производительности, чем DeepWalk, с помощью текстовых атрибутов.
Wiki:
Алгоритм | Время | Micro-F1 | Macro-F1 |
---|---|---|---|
DeepWalk | 52 с | 0,669 | 0,560 |
LINE 2nd | 70 с | 0,576 | 0,387 |
node2vec | 32 с | 0,651 | 0,541 |
GraRep | 19,6 с | 0,633 | 0,476 |
OpenNE(DeepWalk) | 42 с | 0,658 | 0,570 |
OpenNE(LINE 2nd) | 90 с | 0,661 | 0,521 |
OpenNE(Node2vec) | 33 с | 0,655 | 0,538 |
OpenNE(GraRep) | 23,7 с | 0,649 | 0,507 |
OpenNE(GraphFactorization) | 12,5 с | 0,637 | 0,450 |
OpenNE(HOPE) | 3,2 с | 0,601 | 0,438 |
OpenNE(LaplacianEigenmaps) | 4,9 с | 0,277 | 0,073 |
OpenNE(SDNE) | 39,6 с | 0,643 | 0,498 |
Cora:
Алгоритм | Dropout | Weight_decay | Hidden | Dimension | Time | Accuracy |
---|---|---|---|---|---|---|
DeepWalk | - | - | - | 160 | 33,5 с | 0,713 |
TADW | - | - | - | 80*2 | 13,9 с | 0,780 |
GCN | 0,5 | 5e-4 | 16 | - | 4,0 с | 0,790 |
OpenNE(TADW) | - | - | - | 80*2 | 20,8 с | 0,791 |
OpenNE(GCN) | 0,5 | 5e-4 | 16 | - | 5,5 с | 0,789 |
OpenNE(GCN) | 0 | 5e-4 | 16 | - | 6,1 с | 0,779 |
OpenNE(GCN) | 0,5 | 1e-4 | 16 | - | 5,4 с | 0,783 |
OpenNE(GCN) | 0,5 | 5e-4 | 64 | - | 6,5 с | 0,779 |
Использование
Установка
являются командами для установки программного обеспечения.
В тексте запроса далее идёт описание параметров и опций программы OpenNE, которая используется для анализа графов.
Программа OpenNE позволяет работать с различными моделями машинного обучения, такими как DeepWalk, Line, Node2Vec, GraRep, TADW, GCN, Lap, GF, HOPE, SDNE.
Для каждой модели можно задать различные параметры, такие как:
— --input — входной файл сети;
— --graph-format — формат входного графа (список смежности или список рёбер);
— --output — выходной файл представления (для GCN не требуется);
— --representation-size — количество скрытых измерений для изучения для каждого узла (по умолчанию 128);
— --method — модель NE для изучения, включая Deepwalk, Line, Node2vec, Grarep, Tadw, Gcn, Lap, GF, Hope и SDNE;
— --directed — рассматривать граф как направленный (действие);
— --weighted — рассматривать граф как взвешенный (действие);
— --label-file — файл меток узлов; игнорируйте эту опцию, если не тестируете;
— --clf-ratio — соотношение обучающих данных для классификации узлов (по умолчанию 0,5);
— --epochs — эпохи обучения LINE и GCN (по умолчанию 5).
Также в запросе приведены примеры использования программы OpenNE. Для запуска моделей node2vec и gcn на различных графах используются команды, которые включают в себя параметры и опции программы.
Далее в запросе идёт подробное описание параметров для моделей DeepWalk и Node2Vec, LINE, GraRep, TADW, GCN, GraphFactorization и SDNE. В Викиданных содержится 20 982 733 объекта, 594 отношения и 68 904 773 тройки. В частности, Wikidata-5M — это основной подграф Викиданных, содержащий 5 040 986 высокочастотных объектов из Викиданных с соответствующими 927 отношениями и 24 267 796 тройками.
OpenKE-Freebase:
Freebase была большой совместной базой знаний, состоящей из данных, составленных в основном членами сообщества. Это была онлайн-коллекция структурированных данных, собранных из многих источников. Freebase содержит 86 054 151 объект, 14 824 отношения и 338 586 276 троек.
OpenKE-XLORE:
XLORE — один из самых популярных китайских графов знаний, разработанный THUKEG. XLORE содержит 10 572 209 объектов, 138 581 отношение и 35 954 249 троек.
Применение:
Knowledge-Plugin (https://github.com/THUNLP/Knowledge-Plugin):
Эффективный и действенный инструментарий для быстрой интеграции знаний в предварительно обученные языковые модели. Knowledge-Plugin подходит для всех видов вложений графов знаний, упомянутых выше. В наборе инструментов мы подключаем версию TransR Wikidata-5M к BERT в качестве примера применения. С помощью встраивания TransR мы улучшаем способность BERT к знаниям без точной настройки исходной модели, например, до 8% улучшения при ответах на вопросы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )