Основываясь на глубоком обучении: открытый исходный код для извлечения информации из китайских текстов в виде графа знаний
DeepKE — это открытый инструмент для извлечения и построения графов знаний, который поддерживает инструменты извлечения знаний cnSchema, с ограниченными ресурсами, из длинных документов и мультимодальных данных. DeepKE может быть реализован на основе PyTorch для выполнения задач именования сущностей, извлечения отношений и атрибутов. Для начинающих пользователей доступны документация, онлайн-демонстрация, статьи и плакаты.
Важные замечания:
— Если вы хотите использовать большие модели для извлечения, попробуйте DeepKE-LLM и KnowLM! — Хотите самостоятельно обучить модель под полным контролем? Попробуйте быстрое начало работы. Мы предоставляем модели для распознавания сущностей (например, LightNER (COLING'22), W2NER (AAAI'22)), модели для извлечения отношений (например, KnowPrompt (WWW'22)) и модели для совместного извлечения сущностей и отношений (например, ASP (EMNLP'22)).
Если у вас возникнут проблемы при установке DeepKE и DeepKE-LLM (обычно это проблемы совместимости пакетов), не беспокойтесь. Вы можете обратиться к часто задаваемым вопросам или напрямую создать проблему на GitHub. Мы сделаем всё возможное, чтобы помочь вам решить проблему!
Содержание:
Поддержка больших моделей (GPT-3), включая In-context Learning (на основе EasyInstruct) и генерацию данных. Добавлена модель для распознавания сущностей W2NER (AAAI'22).
Старые новости
Ноябрь 2022 года
Добавлены функции для маркировки данных и автоматического создания меток для распознавания сущностей и извлечения отношений (распознавание сущностей, извлечение отношений). Оптимизировано обучение с использованием нескольких GPU (извлечение отношений).
Сентябрь 2022 года
Статья DeepKE: A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population была принята на EMNLP2022 System Demonstration Track.
Август 2022 года
Добавлено расширение данных для извлечения отношений с низким уровнем ресурсов (китайский и английский языки).
Июнь 2022 года
Добавлена поддержка извлечения сущностей и отношений в мультимодальных сценариях.
Май 2022 года
Выпущена версия DeepKE-cnschema, специальная модель, которая поддерживает распознавание китайских сущностей и извлечение отношений на основе cnSchema.
Январь 2022 года
Публикация статьи DeepKE: A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Base Population.
Декабрь 2021 года
Добавлен файл dockerfile для автоматического создания среды.
Ноябрь 2021 года
Создана демонстрационная страница DeepKE, поддерживающая извлечение в реальном времени без необходимости развёртывания и обучения модели. Опубликованы документы DeepKE с подробной информацией о коде и наборе данных.
Октябрь 2021 года
Установка DeepKE через pip. Выпущена версия deepke-v2.0.
Август 2019 года
Установка DeepKE через pip. Выпущена версия deepke-v1.0.
Август 2018 года
Запуск проекта DeepKE. Выпущены исходные коды deepke-v0.1.
Далее представлено использование демо для демонстрации процесса прогнозирования. Анимация создана с помощью Terminalizer и доступна по ссылке.
Архитектура DeepKE представляет собой унифицированный фреймворк для трёх функций извлечения знаний: распознавание именованных сущностей, извлечение отношений и атрибутивное извлечение. Модель может быть адаптирована к различным сценариям, таким как стандартное полное управление, извлечение с низким количеством образцов, извлечение на уровне документов и мультимодальное извлечение. Каждый сценарий состоит из трёх частей: Data (Tokenizer, Preprocessor и Loader), Model (Module, Encoder и Forwarder) и Core (Training, Evaluation и Prediction).
В эпоху больших моделей DeepKE-LLM использует новые зависимости среды.
conda create -n deepke-llm python=3.9
conda activate deepke-llm
cd example/llm
pip install -r requirements.txt
Обратите внимание, что это папка requirements.txt в папке example/llm.
DeepKE можно установить с помощью pip или вручную создать среду и развернуть контейнер.
Шаг 1: Загрузите код с помощью команды git clone --depth 1 https://github.com/zjunlp/DeepKE.git (не забудьте поставить звезду и форк!).
Шаг 2: Создайте виртуальную среду с помощью anaconda и активируйте её. Также можно использовать Dockerfile для создания образа и следовать инструкциям для самостоятельного создания контейнера. Для ускорения процесса можно воспользоваться образом.
conda create -n deepke python=3.8
conda activate deepke
pip install deepke
pip install -r requirements.txt
python setup.py install
python setup.py develop
Шаг 3: Перейдите в папку задач и используйте пример извлечения отношений.
cd DeepKE/example/re/standard
Шаг 4: Загрузите набор данных или создайте его согласно инструкции по маркировке данных.
wget 120.27.214.45/Data/re/standard/data.tar.gz
tar -xzvf data.tar.gz
Поддерживаются различные форматы данных, которые описаны в соответствующих разделах.
Шаг 5: Обучите модель. Параметры, используемые в обучении, можно изменить в файле conf.
DeepKE использует wandb для визуализации настройки параметров.
python run.py
Шаг 6: Выполните прогнозирование модели. Параметры, используемые при прогнозировании, также можно изменить в файле conf.
Измените файл conf/predict.yaml, чтобы сохранить путь к обученной модели. Используйте абсолютный путь к модели, например xxx/checkpoints/2019-12-03_17-35-30/cnn_epoch21.pth.
python predict.py
Step1: Скачайте клиент Docker и запустите службу Docker.
Step2: Извлеките образ и запустите контейнер.
docker pull zjunlp/deepke:latest
docker run -it zjunlp/deepke:latest /bin/bash
Остальные шаги такие же, как и в разделе «Ручная настройка среды».
python == 3.8
Конкретные функции
Распознавание именованных сущностей — это процесс извлечения сущностей и их типов из неструктурированного текста. Данные представлены в виде текстовых файлов, а примеры стилей приведены ниже (пользователь может использовать инструменты Doccano или MarkTool для аннотирования данных или использовать функцию слабого надзора DeepKE для автоматического получения данных):
Sentence | Person | Location | Organization |
---|---|---|---|
本报北京9月4日讯记者杨涌报道:部分省区人民日报宣传发行工作座谈会9月3日在4日在京举行。 | 杨涌 | 北京 | 人民日报 |
《红楼梦》由王扶林导演,周汝昌、王蒙、周岭等多位专家参与制作。 | 王扶林,周汝昌,王蒋,周岭 | ||
秦始皇兵马俑位于陕西省西安市,是世界八大奇迹之一。 | 秦始皇 | 陕西省,西安市 |
Подробный процесс описан в README.
Стандартный режим полного надзора (STANDARD)
Мы также предоставляем поддержку больших моделей и версию DeepKE-cnSchema, которая готова к использованию без обучения и поддерживает извлечение сущностей cnSchema.
Шаг 1: Перейдите в папку DeepKE/example/ner/standard и загрузите набор данных.
```bash
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 и загрузите набор данных.
```bash
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 в файле few_shot.yaml;
Шаг 3: В файле config.yaml добавьте -predict, в файле predict.yaml измените путь load_path на путь модели и путь write_path на путь сохранения результатов прогнозирования. После внесения изменений используйте команду.
```
python predict.py
```
Мультимодальный режим
Шаг 1: Перейдите в папку DeepKE/example/ner/multimodal и загрузите набор данных.
```bash
wget 120.27.214.45/Data/ner/multimodal/data.tar.gz
tar -xzvf data.tar.gz
```
В исходном изображении мы используем faster_rcnn и инструмент визуального заземления для извлечения объектов RCNN и объектов визуального заземления в качестве локальной визуальной информации.
Шаг 2: Обучение модели в мультимодальном режиме.
Вы можете внести изменения в данные и параметры настройки в папках data и conf соответственно.
Если вы хотите продолжить обучение с предыдущей сохранённой модели, установите путь load_path в conf/train.yaml на путь предыдущей сохранённой модели. Каждый раз, когда вы обучаете модель, журнал по умолчанию сохраняется в корневом каталоге. Вы можете использовать log_dir для настройки.
python run.py
Шаг 3: Прогнозирование модели.
```bash
python predict.py
```
Извлечение отношений — это процесс извлечения отношений между сущностями из неструктурированных текстов. Ниже приведены несколько примеров стилей, данные представлены в формате CSV-файла (пользователи могут использовать инструменты Doccano и MarkTool для маркировки данных или использовать функцию слабого надзора DeepKE для автоматической генерации данных):
Sentence | Relation | Head | Head_offset | Tail | Tail_offset |
---|---|---|---|---|---|
《岳父也是爹》是王军执导的电视剧,由马恩然、范明主演。 | 导演 | 岳父也是爹 | 1 | 王军 | 8 |
《九玄珠》是在纵横中文网连载的一部小说,作者是龙马。 | 连载网站 | 九玄珠 | 1 | 纵横中文网 | 7 |
Групповое поведение | забастовка | |
Участники забастовки | сотрудники Лувра |
Финансы/сделки — продажа/покупка
Продажа | Продавец | Покупка | Покупатель | Предмет сделки |
--- | --- | --- | --- | --- |
Китайская международная логистика | миноритарные акционеры | Китайская международная логистика | акции |
Катастрофы/чрезвычайные ситуации — авиакатастрофа
Авиакатастрофа | Дата | Место | |
--- | --- | --- | --- |
да | 13 день | США, Атланта |
Конкретный процесс описан в подробном README.
[Стандартный полный контроль] (./example/ee/standard/README_CN.md)
Шаг 1: перейдите в DeepKE/example/ee/standard и загрузите набор данных.
wget 120.27.214.45/Data/ee/DuEE.zip
unzip DuEE.zip
Шаг 2: обучение модели. Данные и параметры конфигурации можно найти в папках data и conf соответственно.
python run.py
Шаг 3: прогнозирование модели.
python predict.py
При использовании Anaconda рекомендуется добавить внутренний зеркальный сайт, чтобы ускорить загрузку. Например, зеркало.
При использовании pip рекомендуется использовать внутренний зеркальный сайт для ускорения загрузки. Например, зеркальный сайт Alibaba Cloud.
После установки появляется сообщение об ошибке ModuleNotFoundError: No module named 'past', введите команду pip install future, чтобы решить эту проблему.
При использовании предварительно обученной языковой модели установка в режиме онлайн может занять много времени. Рекомендуется заранее загрузить модель и поместить её в папку pretrained. Подробные требования к размещению файлов см. в файле README.md в папке.
Старая версия DeepKE находится в ветке deepke-v1.0 на GitHub. Пользователи могут переключаться на старую версию для использования старых функций. Все старые функции были перенесены в стандартный режим извлечения отношений (example/re/standard).
Если вам нужно внести изменения в исходный код, рекомендуется установить DeepKE с помощью команды python setup.py install. В противном случае изменения не вступят в силу. См. проблему.
Для получения дополнительной информации о низкоресурсных задачах извлечения знаний см. статью Knowledge Extraction in Low-Resource Scenarios: Survey and Perspective.
Убедитесь, что вы используете соответствующие версии зависимостей, указанные в requirements.txt.
Data-Efficient Knowledge Graph Construction, 高效知识图谱构建 (Tutorial on CCKS 2022) [slides]
Efficient and Robust Knowledge Graph Construction (Tutorial on AACL-IJCNLP 2022) [slides]
PromptKG Family: a Gallery of Prompt Learning & KG-related Research Works, Toolkits, and Paper-list [Resources]
Knowledge Extraction in Low-Resource Scenarios: Survey and Perspective [Survey][Paper-list]
基于大模型提示学习的推理工作综述 [论文][列表][ppt]
Doccano、MarkTool、LabelStudio:实体识别关系抽取数据标注工具
LambdaKG: 基于预训练语言模型的知识图谱表示与应用工具
EasyInstruct: 一个基于指令使用大模型的工具
Если вы используете DeepKE, пожалуйста, цитируйте его следующим образом:
@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
В исходном тексте присутствуют фрагменты кода, таблицы и ссылки на внешние ресурсы. Они не были включены в перевод, так как не являются частью основного текста. **Проектный вклад участников (без ранжирования)**
Чжэцзянский университет: Чжан Нинюй, Тао Лянькуань, Сюй Инь, Гуй Хунхао, Ван Сяохань, Си Цзэцюнь, Ли Инжун, Юй Хайян, Е Хунбинь, Цяо Шофэй, Ван Пэн, Чжу Юйци, Се Синь, Чэнь Сян, Ли Цзобо, Ли Лэй, Лян Сяочжуань, Яо Юньчжи, Чэнь Цзин, Чжу Юйци, Дэн Шумин, Чжан Вэнь, Чжэн Гоцзю, Чэнь Хуацзюнь.
Вкладчики сообщества открытого исходного кода: thredreams, eltociear.
Алибаба: Сюн Фэйюй, Чэнь Цзян.
Институт Дамо Алибабы: Чжан Цзиньжу, Тань Чуаньци, Хуан Фэй.
Стажёры: Сюй Цзывэнь, Хуан Жуй, Ун Сяолун.
**Другие инструменты извлечения знаний с открытым исходным кодом**
— CogIE;
— OpenNRE;
— OmniEvent;
— OpenUE;
— OpenIE;
— RESIN;
— ZShot;
— OmniEvent.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )