Глубокий инструментарий извлечения знаний для построения графа знаний DeepKE
DeepKE — это инструментарий для извлечения знаний, предназначенный для построения графов знаний. Он поддерживает сценарии с низким уровнем ресурсов, на уровне документов и мультимодальные сценарии для извлечения сущностей, отношений и атрибутов. Мы предоставляем документацию, онлайн-демонстрацию, статьи, слайды и плакаты для начинающих.
Хотите использовать модели больших языковых моделей с DeepKE? Попробуйте DeepKE-LLM с KnowLM, получайте удовольствие!
Хотите обучить контролируемые модели? Попробуйте Быстрый старт, мы предоставляем модели NER (например, LightNER (COLING'22), W2NER (AAAI'22)), модели извлечения отношений (например, KnowPrompt (WWW'22)) и модели извлечения реляционных троек (например, ASP (EMNLP'22)).
Если у вас возникнут проблемы при установке DeepKE и DeepKE-LLM, пожалуйста, проверьте советы или быстро отправьте вопрос, и мы поможем вам решить проблему!
Содержание
Что нового
Сентябрь 2023 года: выпущен двуязычный набор данных для обучения на основе инструкций под названием InstructIE для задачи построения графа знаний на основе инструкций (Instruction based KGC), как подробно описано здесь.
Июнь 2023 г.: Мы обновили DeepKE-LLM для поддержки извлечения знаний с помощью KnowLM, ChatGLM, LLaMA-series, GPT-series и т. д.
Апрель 2023 г.: мы добавили новые модели, включая CP-NER(IJCAI'23), ASP(EMNLP'22), PRGC(ACL'21), PURE(NAACL'21). Предоставили возможности извлечения событий (на китайском и английском языках) и обеспечили совместимость с более новыми версиями пакетов Python (например, Transformers).
Февраль 2023 г.: Мы поддержали использование LLM (GPT-3) с обучением в контексте (на основе EasyInstruct) и генерацией данных, добавили модель NER W2NER(AAAI'22).
Ноябрь 2022 г.: добавлены инструкции по аннотации данных для распознавания сущностей и извлечения отношений, автоматическая маркировка слабо контролируемых данных (извлечение сущностей и извлечение отношений), оптимизация многопроцессорного обучения.
Сентябрь 2022 года: статья «DeepKE: инструментарий извлечения знаний на основе глубокого обучения для заполнения базы знаний» была принята на EMNLP 2022 System Demonstration Track.
Август 2022 г.: добавлена поддержка увеличения данных (на китайском языке и на английском языке) для извлечения отношений при ограниченных ресурсах.
Июнь 2022 г.: Добавлена поддержка мультимодального извлечения сущностей и отношений.
Май 2022 г.: Выпущен DeepKE-cnschema с готовыми моделями извлечения знаний.
Январь 2022 г.: Опубликована статья «DeepKE: Инструментарий извлечения знаний на основе глубокого обучения для пополнения базы знаний».
Декабрь 2021 г.: добавлен файл dockerfile для автоматического создания среды.
Ноябрь 2021 года: выпущена демонстрация DeepKE, поддерживающая извлечение в реальном времени без развёртывания и обучения. Выпущена документация DeepKE, содержащая подробную информацию о DeepKE, такую как исходные коды и наборы данных.
Октябрь 2021 г.: pip install deepke. Выпущены коды deepke-v2.0.
Август 2019 г.: выпущены коды deepke-v1.0.
Август 2018 г.: запущен проект DeepKE и выпущены коды deepke-v0.1.
Существует демонстрационная версия прогнозирования. Файл GIF создан Terminalizer. Получите код.
Модельная структура
DeepKE содержит унифицированный фреймворк для именованных объектов. | Предложение | Отношение | Головное слово | :---------------------------------------------------------: | :--------: | :------------: | По сообщению журналиста Ян Чуна, 4 сентября, репортёр сообщил, что в Пекине 3 сентября состоялось собрание по пропаганде и распространению «Жэньминь жибао» в некоторых провинциях и регионах. | | | | Режиссёром фильма «Сон в красном тереме» является Ван Фулин, в создании участвовали многие специалисты, такие как Чжоу Ручан, Ван Мэн и Чжоу Лин. | | | | Терракотовая армия Цинь Шихуанди находится в провинции Шэньси, город Сиань, это одно из восьми чудес света. | | |
Ознакомьтесь с подробным процессом в специальном файле README.
СТАНДАРТ (полностью контролируемый)
Мы поддерживаем LLM и предоставляем готовую модель DeepKE-cnSchema-NER, которая извлекает сущности в cnSchema без обучения.
Шаг 1. Перейдите в папку DeepKE/example/ner/standard. Загрузите набор данных.
wget 120.27.214.45/Data/ner/standard/data.tar.gz
tar -xzvf data.tar.gz
Шаг 2. Обучение
Набор данных и параметры можно настроить в папках data и conf соответственно.
python run.py
Шаг 3. Прогнозирование
python predict.py
FEW-SHOT
Шаг 1. Войдите в папку DeepKE/example/ner/few-shot. Загрузите набор данных.
wget 120.27.214.45/Data/ner/few_shot/data.tar.gz
tar -xzvf data.tar.gz
Шаг 2. Обучение в условиях ограниченных ресурсов
Каталог, где модель загружается и сохраняется, а также параметры конфигурации можно настроить в папке conf.
python run.py +train=few_shot
Пользователи могут изменить load_path
в conf/train/few_shot.yaml
, чтобы использовать существующую загруженную модель.
Шаг 3. Добавьте -predict
к conf/config.yaml
, измените loda_path
на путь модели и write_path
— на путь, куда будут сохранены предсказанные результаты в conf/predict.yaml
, затем запустите python predict.py
.
python predict.py
MULTIMODAL
Шаг 1. Введите DeepKE/example/ner/multimodal
. Загрузите набор данных.
wget 120.27.214.45/Data/ner/multimodal/data.tar.gz
tar -xzvf data.tar.gz
Мы используем объекты, обнаруженные RCNN, и визуальные объекты привязки из исходных изображений в качестве визуальной локальной информации, где RCNN через faster_rcnn и визуальную привязку через onestage_grounding.
Шаг 2. Обучение в мультимодальных условиях
load_path
в conf/train.yaml
на путь, где была сохранена модель, обученная в прошлый раз. Путь сохранения журналов, созданных при обучении, можно настроить с помощью log_dir
.python run.py
Шаг 3. Прогноз
python predict.py
Извлечение отношений — это задача извлечения семантических отношений между сущностями из неструктурированного текста.
Данные хранятся в файлах .csv
. Некоторые экземпляры приведены ниже (пользователи могут маркировать данные с помощью инструментов Doccano, MarkTool или они могут использовать Слабый контроль с DeepKE для автоматического получения данных):
| Предложение | Отношение | Головное слово Атрибутивное извлечение — это процесс извлечения атрибутов сущностей из неструктурированных данных.
| Head_offset | Tail | Tail_offset | | :----------------------------------------------------: | :------: | :--------: | :---------: | :--------: | :---------: | | «Отец тоже папа» — это телесериал, снятый режиссёром Ван Цзюнем, в главных ролях Ма Энран и Фань Мин. | Режиссёр | Отец тоже папа | 1 | Ван Цзюнь | 8 | | «Девять таинственных жемчужин» — это роман, опубликованный на сайте «Горизонтальный китайский веб-сайт», автор — Лунма. | Сайт публикации | Девять таинственных жемчужин | 1 | Горизонтальный китайский веб-сайт | 7 | | Говоря о красивых пейзажах Ханчжоу, озеро Сиху всегда первое, что приходит на ум. | Город | Озеро Сиху | 8 | Ханчжоу | 2 |
!NOTE: Если для одного отношения существует несколько типов сущностей, типы сущностей могут быть снабжены префиксом отношения в качестве входных данных.
Подробное описание процесса см. в специальном файле README.
СТАНДАРТ (полностью контролируемый)
Мы поддерживаем LLM и предоставляем готовую модель DeepKE-cnSchema-RE, которая извлекает отношения в cnSchema без обучения.
Шаг 1 Войдите в папку DeepKE/example/re/standard
. Загрузите набор данных.
wget 120.27.214.45/Data/re/standard/data.tar.gz
tar -xzvf data.tar.gz
Шаг 2 Обучение
Набор данных и параметры можно настроить в папках data
и conf
соответственно.
python run.py
Шаг 3 Прогнозирование
python predict.py
Шаг 1 Перейдите в DeepKE/example/re/few-shot
. Загрузите набор данных.
wget 120.27.214.45/Data/re/few_shot/data.tar.gz
tar -xzvf data.tar.gz
Шаг 2 Обучение
data
и conf
, соответственно.train_from_saved_model
в conf/train.yaml
на путь, где была сохранена модель, обученная в последний раз. Путь сохранения журналов, созданных при обучении, можно настроить с помощью log_dir
.python run.py
Шаг 3 Прогнозирование
python predict.py
Шаг 1 Введите DeepKE/example/re/document
. Загрузите набор данных.
wget 120.27.214.45/Data/re/document/data.tar.gz
tar -xzvf data.tar.gz
Шаг 2 Обучение
data
и conf
, соответственно.train_from_saved_model
в conf/train.yaml
на путь, где была сохранена модель, обученная в последний раз. Путь сохранения журналов, созданных при обучении, можно настроить с помощью log_dir
.python run.py
Шаг 3 Прогнозирование
python predict.py
Шаг 1 Введите DeepKE/example/re/multimodal
. Скачайте набор данных.
wget 120.27.214.45/Data/re/multimodal/data.tar.gz
tar -xzvf data.tar.gz
Мы используем объекты, обнаруженные RCNN, и визуальные объекты привязки из исходных изображений в качестве визуальной локальной информации, где RCNN использует faster_rcnn, а визуальная привязка — onestage_grounding.
Шаг 2 Обучение
data
и conf
, соответственно.load_path
в conf/train.yaml
на путь, где была сохранена модель, обученная в последний раз. Путь сохранения журналов, созданных при обучении, можно настроить с помощью log_dir
.python run.py
Шаг 3 Прогнозирование
python predict.py Извлечение ([example/re/standard](https://github.com/zjunlp/DeepKE/blob/main/example/re/standard/README.md)).
Если вы хотите изменить исходный код, рекомендуется установить DeepKE с исходными кодами. В противном случае модификация не будет работать. См. проблему.
Дополнительные работы по извлечению знаний из малоресурсных источников можно найти в статье «Извлечение знаний в сценариях с ограниченными ресурсами: обзор и перспективы» (https://arxiv.org/pdf/2202.08063.pdf).
Убедитесь, что указаны точные версии требований в requirements.txt
.
В следующей версии мы планируем выпустить более мощную LLM для KE.
Тем временем мы будем предлагать долгосрочное обслуживание для устранения ошибок, решения проблем и удовлетворения новых запросов. Поэтому, если у вас возникнут проблемы, пожалуйста, сообщите нам о них.
Построение эффективного и надёжного графа знаний (Tutorial on AACL-IJCNLP 2022) (https://www.aacl2022.org/Program/tutorials) [слайды].
PromptKG Family: галерея работ, связанных с обучением на основе подсказок и графами знаний, наборы инструментов и список статей (Resources) (https://github.com/zjunlp/PromptKG) [ресурсы].
Извлечение знаний в условиях ограниченных ресурсов: обзор и перспективы (Survey) (https://arxiv.org/abs/2202.08063) [обзор] [список статей].
Doccano (https://github.com/doccano/doccano), MarkTool (https://github.com/FXLP/MarkTool), LabelStudio (https://labelstud.io/) — наборы инструментов для аннотирования данных.
LambdaKG (https://github.com/zjunlp/PromptKG/tree/main/lambdaKG) — библиотека и эталонный тест для встраивания PLM-графов знаний.
EasyInstruct (https://github.com/zjunlp/EasyInstruct) — простая в использовании структура для обучения больших языковых моделей.
Материалы для чтения:
Эффективное построение графа знаний (Tutorial on CCKS 2022) (http://sigkg.cn/ccks2022/?page_id=24) [слайды].
Построение надёжного и эффективного графа знаний (Tutorial on AACL-IJCNLP 2022) (https://www.aacl2022.org/Program/tutorials) [слайды].
PromptKG Family: галерея работ, связанных с обучением на основе подсказок и графами знаний, наборы инструментов и список статей (Resources) (https://github.com/zjunlp/PromptKG) [ресурсы].
Извлечение знаний в условиях ограниченных ресурсов: обзор и перспективы (Survey) (https://arxiv.org/abs/2202.08063) [обзор] [список статей].
Связанные инструменты:
Doccano (https://github.com/doccano/doccano), MarkTool (https://github.com/FXLP/MarkTool), LabelStudio (https://labelstud.io/) — наборы инструментов для аннотирования данных.
LambdaKG (https://github.com/zjunlp/PromptKG/tree/main/lambdaKG) — библиотека и эталонный тест для встраивания PLM-графов знаний.
EasyInstruct (https://github.com/zjunlp/EasyInstruct) — простая в использовании структура для обучения больших языковых моделей.
Пожалуйста, цитируйте нашу статью, если вы используете DeepKE в своей работе.
@inproceedings{EMNLP2022_Demo_DeepKE,
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 = {{EMNLP} (Demos)},
pages = {98--108},
publisher = {Association for Computational Linguistics},
year = {2022},
url = {https://aclanthology.org/2022.emnlp-demos.10}
}
Чжэцзянский университет: Нинюй Чжан, Лянькуань. Тао, Синь Сюй, Хунхао Гуй, Сяохань Ван, Зекунь Си, Синжун Ли, Хайян Ю, Хунбинь Е, Шофей Цяо, Пэн Ван, Юци Чжу, Синь Се, Сян Чэнь, Чжоубо Ли, Лэй Ли, Сяочжуань Лян, Юньчжи Яо, Цзин Чэнь, Юци Чжу, Шуминь Дэн, Вэнь Чжан, Гочжоу Чжэн, Хуацзюнь Чэнь.
Участники сообщества: thredreams, eltociear.
Alibaba Group: Фэйю Сюн, Цян Чэнь.
DAMO Academy: Чжэньжу Чжан, Чуаньци Тань, Фэй Хуан.
Стажёры: Цзывэнь Сюй, Жуй Хуан, Сяолонг Вэн.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )