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

OSCHINA-MIRROR/openkg-deepke

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CNSCHEMA_CN.md 26 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 11:36 5964b57

Перевод текста на русский язык:

Documentation PyPI GitHub Documentation Open In Colab

**English** | 简体中文

Открытое китайское знание: извлечение схемы знаний в коробке — DeepKE-cnSchema

DeepKE — это открытый инструмент для извлечения и построения схем знаний, который поддерживает инструменты извлечения знаний с низкими ресурсами, длинными главами и мультимодальными данными. Он может реализовывать функции именования сущностей, извлечения отношений и извлечения атрибутов на основе PyTorch. Эта версия DeepKE-cnSchema представляет собой версию «из коробки», которая позволяет пользователям загружать модели для поддержки извлечения сущностей и отношений cnSchema.


Содержание руководства

Раздел Описание
Введение Введение в основные принципы DeepKE-cnSchema
[Загрузка китайской модели](#Загрузка китайской модели) Предоставление адреса загрузки DeepKE-cnSchema
[Набор данных и эффект китайской базовой системы](#Набор данных и эффект китайской базовой системы) Предоставление китайского набора данных и эффекта модели
[Быстрая загрузка](#Быстрая загрузка) Введение в использование DeepKE-cnSchema для идентификации сущностей, извлечения отношений
[Пользовательская модель](#Пользовательская модель) Предоставление инструкций по использованию пользовательских данных для обучения моделей
FAQ Ответы на часто задаваемые вопросы
Ссылки Ссылки на технические отчёты этого каталога

Введение

DeepKE — это открытый инструмент для извлечения и построения схем знаний, который поддерживает инструменты извлечения знаний с низкими ресурсами, длинными главами и мультимодальными данными. Одновременно он предоставляет подробные документы, учебники Google Colab, онлайн-демонстрации и презентации.

Чтобы способствовать построению схем китайских знаний и облегчить их использование, DeepKE предоставляет предварительно обученную версию DeepKE-cnSchema, поддерживающую извлечение сущностей и извлечение отношений в режиме «из коробки». Она может извлекать 50 типов отношений и 28 типов сущностей. Среди них сущности включают общие типы, такие как люди, места, города и организации, а отношения включают распространённые типы, такие как происхождение, место рождения, национальность и династия.

Загрузка китайской модели

Для задач извлечения сущностей и извлечения отношений предоставляются модели, основанные на RoBERTa-wwm-ext, Chinese и BERT-wwm, Chinese.

Модельное сокращение Функция Google загрузка 百度网盘下载
DeepKE(NER), RoBERTa-wwm-ext, Chinese Извлечение сущностей PyTorch Pytorch(密码u022)
DeepKE(NER), BERT-wwm, Chinese Извлечение сущностей PyTorch Pytorch(密码1g0t)
DeepKE(NER), BiLSTM-CRF, Chinese Извлечение сущностей PyTorch Pytorch(密码my4x)
DeepKE(RE), RoBERTa-wwm-ext, Chinese Извлечение отношений PyTorch PyTorch(密码78pq)
DeepKE(RE), BERT-wwm, Chinese Извлечение отношений Использование

Для пользователей из Китая рекомендуется использовать для скачивания папку на Baidu, для зарубежных пользователей — Google.

В модели извлечения сущностей, на примере версии Pytorch DeepKE (RE), RoBERTa-wwm-ext, Chinese, после завершения загрузки получается файл модели:

checkpoints_robert
    |- added_tokens.json          # 额外增加词表
    |- config.json                # 整体参数
    |- eval_results.txt           # 验证结果
    |- model_config.json          # 模型参数
    |- pytorch_model.bin          # 模型
    |- special_tokens_map.json    # 特殊词表映射
    |- tokenizer_config.bin       # 分词器参数
    |- vocab.txt                  # 词表

Файлы config.json и vocab.txt совпадают с оригинальной версией Google RoBERTa-wwm-ext, Chinese. Версия Pytorch содержит файлы pytorch_model.bin, config.json, vocab.txt.

В модели извлечения отношений, на примере Pytorch версии DeepKE (RE), RoBERTa-wwm-ext, Chinese, после загрузки получается pth-файл.

После загрузки модели пользователь может напрямую загрузить модель для извлечения сущностей.

Данные и результаты китайской базовой системы

Данные

Мы провели эксперименты на китайском наборе данных по извлечению сущностей и отношений. Результаты экспериментов следующие.

Извлечение сущностей (NER)

DeepKE использует chinese-bert-wwm и chinese-roberta-wwm-ext в качестве основы для обучения и получает модель DeepKE-cnSchema (NER). Все используемые гиперпараметры являются предопределёнными параметрами. Окончательные результаты после обучения представлены в таблице ниже.

Модель P R F1
DeepKE(NER), RoBERTa-wwm-ext, Chinese 0.8028 0.8612 0.8310
DeepKE(NER), BERT-wwm, Chinese 0.7841 0.8587 0.8197

Извлечение отношений (RE)

DeepKE использует chinese-bert-wwm и chinese-roberta-wwm-ext в качестве основы и получает модель DeepKE-cnschema (RE). Все используемые гиперпараметры являются предопределёнными. Окончательные результаты после тренировки представлены в таблице ниже.

Модель P R F1
DeepKE(RE), RoBERTa-wwm-ext, Chinese 0.7890 0.7370 0.7327
DeepKE(RE), BERT-wwm, Chinese 0.7861 0.7506 0.7473

Поддержка типов схем знаний

DeepKE-cnSchema — это специальная версия, предназначенная для поддержки построения китайских схем знаний. CnSchema ориентирована на обработку китайского языка, использование передовых технологий схем знаний, обработки естественного языка и машинного обучения, объединение структурированных и текстовых данных, поддержку быстрого моделирования предметной области, поддержку междоменных и межъязыковых автоматических процессов обработки открытых данных для интеллектуальных роботов, семантического поиска и интеллектуальных вычислений. В настоящее время DeepKE-cnSchema поддерживает следующие типы схем:

Типы сущностей

Номер Тип сущности Номер Тип сущности
1 cns: человек YAS 2 cns: произведение искусства TOJ
3 cns: объект NGS 4 cns: организм QCV
5 cns: число OKB 6 cns: дата BQF
7 cns: страна CAR 8 cns: веб-сайт ZFM
9 cns: интернет-роман EMT 10 cns: литературное произведение UER
11 cns: песня QEE 12 cns: место UFT
13 cns: климат GJS 14 cns: административный район SVA
15 cns: текст ANO 16 cns: историческая личность KEJ
17 cns: школа ZDI 18 cns: компания CAT
19 cns: издательство GCK 20 cns: книга FQK
21 cns: музыкальный альбом BAK 22 cns: город RET
23 cns: достопримечательность QZP 24 cns: телевизионное шоу QAQ
25 cns: организация ZRE 26 cns: работа TDZ
27 cns: язык CVC 28 cns: специальность PMN

Типы отношений

Номер Головная сущность Хвостовая сущность Отношение Номер Головная сущность Хвостовая сущность Отношение
1 cns: местоположение cns: человек cns: родина 2 cns: человек cns: человек cns: отец
3 cns: местоположение cns: предприятие cns: штаб-квартира 4 cns: местоположение cns: человек cns: место рождения
5 cns: объект cns: организм cns: атрибут 6 cns: число cns: административная единица cns: площадь
7 cns: текст cns: организация cns: аббревиатура 8 cns: дата cns: художественное произведение cns: время выхода
9 cns: человек cns: человек cns: супруга 10 cns: музыкальный альбом cns: музыкальная композиция cns: принадлежность к альбому
11 cns: число cns: предприятие cns: уставный капитал 12 cns: город cns: государство cns: столица
13 cns: человек cns: художественное произведение cns: режиссёр 14 cns: текст cns: исторический персонаж cns: ярлык
17 cнс:Number cнс:учебная специальность cнс:срок обучения 18 cнс:дата cнс:человек cнс:дата рождения
19 cнс:человек cнс:фильм cнс:режиссёр 20 cнс:человек cнс:человек cнс:мать
21 cнс:человек cнс:фильм cнс:редактор 22 cнс:страна cнс:человек cнс:гражданство
23 cнс:человек cнс:фильм cнс:сценарист 24 cнс:сайт cнс:роман cнс:публикация в сети
25 cнс:человек cнс:человек cнс:муж 26 cнс:текст cнс:историческая личность cнс:династия
27 cнс:текст cнс:человек cнс:национальность 28 cнс:текст cнс:историческая личность cнс:династия
29 cнс:издательство cнс:книга cнс:издательство 30 cнс:человек cнс:телепередача cнс:ведущий
31 cнс:текст cнс:специальность cнс:код специальности 32 cнс:человек cнс:песня cнс:исполнитель
33 cнс:человек cнс:песня cнс:композитор 34 cнс:человек cнс:онлайн-роман cнс:главный герой
35 cнс:человек cнс:компания cнс:председатель 36 cнс:дата cнс:компания cнс:время основания
37 cнс:школа cнс:человек cнс:выпускная школа 38 cнс:число cнс:организация cнс:площадь занимаемой территории
39 cнс:язык cнс:государство cнс:официальный язык 40 cнс:текст cнс:административный район cнс:население
41 cнс:число cнс:район cнс:численность населения 42 cнс:город cнс:достопримечательность cнс:местонахождение
43 cнс:человек cнс:литературное произведение cнс:автор 44 Нет Нет другое
45 cнс:человек cнс:песня cнс:композитор 46 cнс:человек cнс:административная единица cнс:климат
47 cнс:человек cнс:телепрограмма cнс:гость 48 cнс:человек cнс:кинофильм cнс:актёр
49 cнс:произведение cнс:кинофильм cнс:основан на 50 cнс:человек cнс:компания cнс:учредитель

instance['tail_type'] = tail_type.strip()

return instance

«Мужчина» и «жизнь» в предложении связаны как «альбом», достоверность — 0,99.

Объединение тройных элементов (https://github.com/zjunlp/DeepKE/tree/main/example/triple)

Пользователь может сначала загрузить модель на свой компьютер, а затем использовать код из папки example/triple для извлечения тройных элементов. Если в одном предложении более двух сущностей, то в некоторых парах сущностей могут быть неточные прогнозы, потому что эти пары не были включены в обучающий набор данных. В этом случае необходимо провести дополнительную оценку. Вот как это сделать:

  1. Измените файл conf/predict.yaml: текст — на текст, который вы хотите предсказать, nerfp — на адрес папки с моделью NER, refp — на адрес репозитория модели RE.

  2. Проведите предсказание.

    python predict.py

В процессе работы программа будет выводить промежуточные результаты на примере текста «Кроме того, на платформе NetEase Music также есть ряд песен, включая "Little Lucky" от Tian Jue».

2.1 Вывод после обработки моделью NER: ('田', 'B-YAS'), ('甄', 'I-YAS'), ('小', 'B-QEE'), ('幸', 'I-QEE'), ('运', 'I-QEE').

2.2 Вывод после обработки: { '田馥甄': 'человек', '小幸运': 'песня' }.

2.3 Вывод после обработки моделью RE: "田馥甄" и "小幸运" в предложении связаны как "исполнитель", достоверность — 0,92.

2.4 Вывод в формате JSONLD: bash { "@context": { "исполнитель": "https://cnschema.openkg.cn/item/%E6%AD%8C%E6%89%8B/16693#viewPageContent" }, "@id": "田馥甄", "исполнитель": { "@id": "小幸运" } }

Пользовательская модель

Задача идентификации сущностей (NER)

Если вы хотите использовать собственные данные для обучения, выполните следующие шаги:

  1. Загрузите пользовательский набор данных (https://drive.google.com/drive/folders/1zA8Ichx9nzU3GD92ptdyR_nmARB_7ovg), поместите его в папку с именем data.

  2. Измените train.yaml в папке conf, чтобы указать модель BERT. Пользователи могут выбрать разные модели, изменив yaml-файл. Рекомендуется скачать модель и установить bert_model в качестве пути к модели.

  3. Измените метки в train.yaml на те, которые используются в data/type.txt.

  4. Запустите обучение.

    python run.py

Задача извлечения отношений (RE)

Если вам нужно обучить модель с использованием другой модели, выполните следующие действия:

  1. Скачайте пользовательский набор данных (https://drive.google.com/drive/folders/1wb_QIZduKDwrHeri0s5byibsSQrrJTEv), переименуйте его в data.

  2. Установите lm в файле train.yaml в папке conf на нужную предварительно обученную модель. В lm.yaml установите lm_file на путь к предварительно обученной модели. В embedding.yaml установите num_relations на количество отношений. Пользователи могут выбирать разные модели, изменяя yaml-файлы.

  3. Запустите обучение.

    python run.py

Часто задаваемые вопросы

Вопрос: Как использовать эту модель? Ответ: Модель готова к использованию сразу после загрузки. Для извлечения знаний из cnSchema следуйте инструкциям по использованию. Если вы хотите извлечь знания, отличные от cnSchema, вы можете обучить модель на собственных данных.

Вопрос: Есть ли другие модели для извлечения cnSchema? Ответ: К сожалению, мы можем поддерживать только часть знаний cnSchema. Мы планируем выпустить больше моделей для извлечения знаний в будущем.

Вопрос: Я получил лучшие результаты, чем у вас! Ответ: Поздравляем!

Вопрос: У меня ошибка при вводе собственных данных Ответ: Возможно, ваши китайские входные данные содержат невидимые специальные символы, которые некоторые кодировки не могут обработать, что приводит к ошибкам. Вы можете решить эту проблему, предварительно обработав китайские данные с помощью редактора или другого инструмента.

Ссылки

Если ресурсы или технологии этого проекта помогли вашей исследовательской работе, пожалуйста, включите следующую статью в список литературы вашей диссертации.

@inproceedings{DBLP:conf/emnlp/ZhangXTYYQXCLL22,
  author    = {Ningyu Zhang and
               Xin Xu and
               Liankuan Tao and
               Haiyang Yu and
               Hongbin Ye and
               Shuofei Qiao and
               Xin Xie and
               Xiang Chen and
               Zhoubo Li and
               Lei Li},
  editor    = {Wanxiang Che and
               Ekaterina Shutova},
  title     = {DeepKE: {A} Deep Learning Based Knowledge Extraction Toolkit for Knowledge
               Base Population},
  booktitle = {Proceedings of the The 2022 Conference on Empirical Methods in Natural
               Language Processing, {EMNLP} 2022 - System Demonstrations, Abu Dhabi,
               UAE, December 7-11, 2022},
  pages     = {98--108},
  publisher = {Association for Computational Linguistics},
  year      = {2022},
  url       = {https://aclanthology.org/2022.emnlp-demos.10},
  timestamp = {Thu, 23 Mar 2023 16:56:00 +0100},
  biburl    = {https://dblp.org/rec/conf/emnlp/ZhangXTYYQXCLL22.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Отказ от ответственности

Содержание этого проекта предназначено только для справочных целей в области технических исследований и не должно использоваться в качестве вывода. Пользователи могут использовать модель в пределах лицензии, но мы не несём ответственности за любые прямые или косвенные убытки, вызванные использованием содержимого этого проекта.

Обратная связь

Пожалуйста, отправьте вопросы в GitHub Issue.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/openkg-deepke.git
git@api.gitlife.ru:oschina-mirror/openkg-deepke.git
oschina-mirror
openkg-deepke
openkg-deepke
main