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

OSCHINA-MIRROR/openkg-deepke

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

Глубокий инструментарий извлечения знаний для построения графа знаний DeepKE

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

Хотите использовать модели больших языковых моделей с DeepKE? Попробуйте DeepKE-LLM с KnowLM, получайте удовольствие!

Хотите обучить контролируемые модели? Попробуйте Быстрый старт, мы предоставляем модели NER (например, LightNER (COLING'22), W2NER (AAAI'22)), модели извлечения отношений (например, KnowPrompt (WWW'22)) и модели извлечения реляционных троек (например, ASP (EMNLP'22)).

Если у вас возникнут проблемы при установке DeepKE и DeepKE-LLM, пожалуйста, проверьте советы или быстро отправьте вопрос, и мы поможем вам решить проблему!

Содержание

  1. Что нового?
  2. Демо-версия прогноза.
  3. Модельная структура.
  4. Быстрый старт.
  5. Советы.
  6. Задачи.
  7. Материалы для чтения.
  8. Связанный инструментарий.
  9. Цитирование.
  10. Участники (определяется броском костей).
  11. Другие открытые источники извлечения знаний. Проекты

Что нового

  • Сентябрь 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. Обучение в мультимодальных условиях

      • Набор данных и параметры настраиваются в папках data и conf соответственно.
      • Начните с модели, обученной в прошлый раз: измените load_path в conf/train.yaml на путь, где была сохранена модель, обученная в прошлый раз. Путь сохранения журналов, созданных при обучении, можно настроить с помощью log_dir.
      python run.py

      Шаг 3. Прогноз

      python predict.py

2. Извлечение отношений

  • Извлечение отношений — это задача извлечения семантических отношений между сущностями из неструктурированного текста.

  • Данные хранятся в файлах .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
    • FEW-SHOT

      Шаг 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)).
      
  1. Если вы хотите изменить исходный код, рекомендуется установить DeepKE с исходными кодами. В противном случае модификация не будет работать. См. проблему.

  2. Дополнительные работы по извлечению знаний из малоресурсных источников можно найти в статье «Извлечение знаний в сценариях с ограниченными ресурсами: обзор и перспективы» (https://arxiv.org/pdf/2202.08063.pdf).

  3. Убедитесь, что указаны точные версии требований в 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 )

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

Введение

DeepKE — это набор инструментов для извлечения знаний из графа знаний, поддерживаемый командой Университета Чжэцзян. Развернуть Свернуть
Python и 2 других языков
MIT
Отмена

Обновления

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

Участники

все

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

Загрузить больше
Больше нет результатов для загрузки
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