Перевод текста на русский язык:
**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-файл.
После загрузки модели пользователь может напрямую загрузить модель для извлечения сущностей.
Мы провели эксперименты на китайском наборе данных по извлечению сущностей и отношений. Результаты экспериментов следующие.
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 |
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.
Пользователь может сначала загрузить модель на свой компьютер, а затем использовать код из папки example/triple для извлечения тройных элементов. Если в одном предложении более двух сущностей, то в некоторых парах сущностей могут быть неточные прогнозы, потому что эти пары не были включены в обучающий набор данных. В этом случае необходимо провести дополнительную оценку. Вот как это сделать:
Измените файл conf/predict.yaml: текст — на текст, который вы хотите предсказать, nerfp — на адрес папки с моделью NER, refp — на адрес репозитория модели RE.
Проведите предсказание.
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": "小幸运" } }
Если вы хотите использовать собственные данные для обучения, выполните следующие шаги:
Загрузите пользовательский набор данных (https://drive.google.com/drive/folders/1zA8Ichx9nzU3GD92ptdyR_nmARB_7ovg), поместите его в папку с именем data.
Измените train.yaml в папке conf, чтобы указать модель BERT. Пользователи могут выбрать разные модели, изменив yaml-файл. Рекомендуется скачать модель и установить bert_model в качестве пути к модели.
Измените метки в train.yaml на те, которые используются в data/type.txt.
Запустите обучение.
python run.py
Если вам нужно обучить модель с использованием другой модели, выполните следующие действия:
Скачайте пользовательский набор данных (https://drive.google.com/drive/folders/1wb_QIZduKDwrHeri0s5byibsSQrrJTEv), переименуйте его в data.
Установите lm в файле train.yaml в папке conf на нужную предварительно обученную модель. В lm.yaml установите lm_file на путь к предварительно обученной модели. В embedding.yaml установите num_relations на количество отношений. Пользователи могут выбирать разные модели, изменяя yaml-файлы.
Запустите обучение.
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 )