Skip to content

Maksim-Goncharovskiy/extractive-summarization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extractive summarization module - модуль экстрактной суммаризации проекта «Суммаризатор встреч»

Описание

Данный репозиторий - учебный проект в рамках прохождения ml стажировки.

Проект Суммаризатор встреч был разделён на несколько модулей:

  1. Транскрибация аудио.
  2. Абстрактная суммаризация.
  3. Экстрактная суммаризация.

Моя задача: экстрактная суммаризация.

Этапы работы над проектом

  1. Поиск датасетов для валидации моделей/алгоритмов. Перевод текстов через api google translator для последующей оценки работы моделей на русском языке.
  2. Изучение методов экстрактной суммаризации текстов. Ручная реализация простейших из них.
  3. Сравнение моделей из библиотеки sumy и дообученной на задачу суммаризации модели BERT из библиотеки bert-extractive-summarizer.
  4. Дообучение модели BERT на русских текстах.
  5. Выбор наилучшей модели по совокупности метрик.
  6. Написание FastAPI приложения.

Структура репозитория

  • materials - jupyter ноутбуки для решения этапов 2-5:
    • Custom-Algs: реализация двух простейших способов получения экстрактной суммаризации
    • Model-Selection: валидация моделей
    • Fine-Tune-Bert: дообучение модели rubert и окончательный выбор лучшей модели
  • data - переведённые на русский язык части датасета для оценки экстрактной суммаризации текстов. Оригинал: https://huggingface.co/datasets/eReverter/cnn_dailymail_extractive
  • extrarizer - FastAPI приложение

API

Проект предоставляет API, построенный на FastAPI, для получения экстрактной суммаризации текста при помощи библиотеки bert-extractive-summarizer и предобученной модели rubert. Приложение содержит два эндпойнта для генерации суммаризации по тексту и по текстовому файлу. На выходе JSON-файл:

{
  "status": 200,
  "summary": "Суммаризация"
}

Технические подробности

Инструкция по сборке и запуску

Для сборки образа приложения перейдите в папку extrarizer и выполните команду:

$ docker build -t extrarizer .

Запуск контейнера осуществляется следующей командой: $ docker run -p 8000:8000 extrarizer

Использование API

Ознакомиться с методами API можно по адресу: http://localhost:8000/docs

Endpoints:

POST /extract/text/
    
    Параметры:
        - text - Текст, заданный как строка.
        - ratio - Степень сжатия суммаризации(0 <= ratio <= 1)
        - many_speakers - Текст представляет собой разговор нескольких людей(True/False). Если True,
            то в начале каждого предложения будет указан его автор.
            
            
POST /extract/file/
    
    Параметры:
        - file - Текстовый файл в кодировке utf-8.
        - ratio - Степень сжатия суммаризации(0 <= ratio <= 1)
        - many_speakers - Текст представляет собой разговор нескольких людей(True/False). Если True,
            то в начале каждого предложения будет указан его автор.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors