All streams
Search
Write a publication
Pull to refresh

Comments 7

Вот бы определение термина "понимание" увидеть.

"Напишем функцию, которая извлекает все сущности типа ORG (организации) из нашего текста"

А как извлекать "свои" сущности при помощи spaCy? Напишите пожалуйста - народу это сильно понравиться, а пишите Вы очень доходчиво!

Спасибо за ваш комментарий!

Добавил извлечение других сущностей в статью. Благодарю за помощь в том, чтобы стать лучше.

Спасибо за оперативный ответ! Сразу видно, что Автор ориентируется в теме!

А как извлекать не другие, а именно "свои" сущности , т.е. специфичные для определенного пита документов (нормативная документация, технические или фин отчеты, научные медицинские статьи) при помощи spaCy? Как дообучить spaCy, чтобы было можно находить сущности, отражающие конкретный виде деятельности?

Спасибо за ваш комментарий!

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

  1. Определение новых сущностей (ЗАТРАТЫ, ЛЕКАРСТВО и др.).

  2. Сбор и разметка данных или использование готового датасета .

  3. Подготовка датасета (представим наши данные в формате, который будет совместим со spaCy).

  4. Настройка модели (добавляем новые метки сущностей)

  5. Дообучение модели на наших данных

  6. Тестирование нашей модели и оценка

  7. Использование (проверим, как наша модель извлекает новые сущности из новых текстов)

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

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

Также я поискал уже готовые датасеты, которые могут помочь в обучении модели для дальнейшего извлечения новых меток для "определенного пита документов ".

Мед. сфера (для распознавания мед. статей): The NCBI Disease Corpus

Финансовая сфера: NTCIR-14: FinNum

Тех. сфера: Multi-Task Identification of Entities, Relations, and Coreferencefor Scientific Knowledge Graph Construction

Юридическая сфера:  EUR-Lex Dataset

Общий датасет: Universal Dependencies

Если вы хотите сами попробовать обучить модель, то информация ниже может вам помочь))

Преобразование любого формата датасета в формат spaCy:

   python -m spacy convert /путьдодатасета.форматдатасета ./output -c ner

Настройка конфигурационного файла:

   python -m spacy init config config.cfg --lang ru --pipeline ner --optimize efficiency

После выполнения команды вы получите файл config.cfg с базовыми настройками для обучения модели на русском языке.

Обучение на нашем датасете:

python -m spacy train config.cfg --paths.train ./output/train.spacy --paths.dev ./output/dev.spacy --output ./model
  • config.cfg: Файл конфигурации, созданный на предыдущем шаге.

  • paths.train: Путь к вашему обучающему набору данных (выглядит +- так train.spacy).

  • paths.dev: Путь к вашему валидационному набору данных (выглядит +- так dev.spacy).

  • output ./model: Директория, куда будет сохранена обученная модель.

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

Спасибо за ваш комментарий!

Хорошо, тогда обязательно рассмотрю данную тему в одной из следующих статей.

Sign up to leave a comment.

Articles