1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-OpenNE

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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

Использование

Установка

  1. Клонируйте этот репозиторий.
  2. Войдите в каталог, куда вы его клонировали, и запустите: Следующие строки:
  • pip install -r requirements.txt;
  • cd src;
  • python setup.py install

являются командами для установки программного обеспечения.

В тексте запроса далее идёт описание параметров и опций программы 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 )

Вы можете оставить комментарий после Вход в систему

Введение

OpenNE — это открытая разработка NE/NRL от Университета Цинхуа, которая представляет собой структуру для обучения и тестирования, унифицирующую входные и выходные интерфейсы различных моделей NE и предоставляющая расширяемые опции для каждой модели. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-OpenNE.git
git@api.gitlife.ru:oschina-mirror/mirrors-OpenNE.git
oschina-mirror
mirrors-OpenNE
mirrors-OpenNE
master