Постоянно растущий объем информации не позволяет ученым эффективно управлять ей и освободиться от рутинных процессов в своей работе.
Работа с научной литературой требует от ученых способности эффективно обрабатывать большие объемы данных. Важно уметь правильно искать статьи. Полезный совет — обращать внимание на самые свежие и цитируемые работы.
Одна из основных проблем в сфере научных публикаций — это ограниченный доступ. Результаты исследований часто оказываются платными. Также существует проблема большого количества стандартов и требований разных журналов, что затрудняет процесс отбора работ.
Для решения проблемы доступа к большому объему информации среди научных сотрудников необходимо создать модель ИИ, способную делать выжимку и отвечать на вопросы, поставленные пользователем.
Google Scholar | Semantic Scholar | Scite.AI |
---|---|---|
Поисковая система по научным публикациям. Пользователи могут искать нужные работы по авторам, ключевым словам, названию журнала. Углублённый поиск позволяет ранжировать материалы по публикации, дате и предметной области. | Поисковая платформа, поиск научных публикаций в которой производится с помощью искусственного интеллекта. Поисковый сервис комбинирует машинное обучение, обработку естественного языка и машинного зрения. Semantic Scholar выделяет наиболее важные статьи, а также связи между ними. | Платформа для исследований на базе искусственного интеллекта, которая анализирует научные публикации, предоставляет контекст для цитирований и помогает исследователям оценивать достоверность и влияние научных статей. |
В решении задачи суммаризации текста используются как экстрактивные, так и абстрактивные подходы.
Экстрактивные методы извлекают ключевые предложения из текста, используя алгоритмы ранжирования, тогда как абстрактивные генерируют новые предложения, обобщающие исходные данные.
Для задачи суммаризации текста мы провели анализ моделей и сделали выбор в пользу архитектуры BART. По всем параметрам она является лучшей для нашей задачи.
Модель | Метод суммаризации | Многоязычность | Метод работы |
---|---|---|---|
BART | Абстрактивный | Да | Генерация текста |
T5 | Абстрактивный | Да | Предсказывание пропущенного значения |
Pegasus | Абстрактивный | Нет | Предсказывание пропущенного значения |
Ассистент будет представлять из себя сайт, на котором пользователь сможет ввести свой запрос и получить ответ на него.
Уникальность нашего решения заключается в возможности приложить свою статью для создания выжимки из нее, а также в классификации вопросов на логически связные и вопросы, на которые нейросеть не сможет дать ответ. Это расширит возможности модели и поможет оптимизировать ресурсы, не отвечая на странные и глупые вопросы.
На данном этапе мы займемся сбором и анализом данных для дальнейшего обучения модели.
Также возможно создание собственного датасета под задачу классификации релевантности вопроса.
Реализацию нашего проекта мы разделили на 3 этапа:
- Сбор данных
- Создание модели
- Создание сайта
Этот этап представляет из себя создание и оценку качества модели. Также возможно расширение функционала, благодаря созданию дополнительной модели для оценки качества заданного вопроса.
Основной моделью для суммаризации текста и генерации ответа на вопрос мы выбрали BART.
Для разработки модели был выбран PyTorch из-за его большой популярности на сегодняшний день.
Здесь мы займемся созданием прототипа сайта для более комфортного доступа к модели. В качестве языка бэкенда будет взят Python в связи с простотой интеграции модели и фреймворк Flask.
Фронтенд будет сделан на основных веб технологиях.
Проведя анализ данных из датасета PubMed мы выяснили несколько фактов:
-
Практически все статьи из датасета написаны на английском языке, за исключением 1 на французском и 1 на итальянском языке. Исходя из этого мы приняли решения исключить эти 2 статьи из датасета, как выбросы
-
Общая тематика статей связана с медицинскими исследованиями, биологией и химией
-
В статьях присутствует большое количество чисел, сокращений и вставных конструкций. Это значит, что наша модель должна уметь отличать подобные токены от ненужных по типу союзов, предлогов и т.п.
-
В датасете присутствовали записи, где на пустую строку был предоставлен четкий ответ. Такие строки так же были удалены из выборки
- Метрика ROUGE Метрика ROUGE состоит из recall, precision и f1-score для задач суммаризации, которые задаются следующим образом:
Плюсы данной метрики в легкой интерпретируемости и понятности.
- Метрика сходства
Метрика сходства считает косинус угла между сгенерированным и эталонным (abstract) текстом, представляя данные предложения как вектора. Пусть A - вектор abstract, B - вектор сгенерированного текста
Данная метрика может показывать эффективность модели, однако интерпретировать её и понимать где недочеты (в отличие от тех же recall и precision в ROGUE) нельзя.
- Метрика BLEU Метрика BLEU состоит из precision и штрафа за краткость. Precision в случае BLEU рассчитывается следующим образом:
Под словосочетанием в данном случае подразумевается пара рядом стоящих слов. Обозначим длину сгенерированного текста за c,а эталонного за r. Штраф высчитывается следующим образом:
Данная метрика, в отличие от остальных, подсчитывает ещё и словосочетания.
В ходе совместных раздумий мы решили использовать метрику ROUGE, а также при необходимости её модернизации, считающие словосочетания, так как мы считаем, что ROUGE самая понятная и легкоинтерпретируемая метрика. Precision и recall довольно точно могут показать недостатки модели, которые могут появиться при обучении. Для подсчета метрики мы будем использовать библиотеку evaluate.
Вы можете более подробно ознакомиться с результатами нашей работы в файле.
Для обучения и тестирования моделей не был использован весь датасет (117 тыс. записей) из-за ограниченности ресурсов, а лишь ≈ 17%.
После обучения BART показал сходство слов в суммаризированном тексте в 32.3%. В качестве 2 архитектуры для проведения сравнения был выбран T5. Ее результат не превысил 28%, а модель работала в разы медленнее предыдущей.
Также для сравнения мы взяли уже обученную модель от Facebook bart-large-cnn. Совпадение слов составило 35.3%, однако показатель rougeLsum оказался хуже, чем у нашей модели BART.
Так, мы подтвердили нашу гипотезу о том, что BART справляется лучше с задачей суммаризации и приняли решение использовать ее как основную. Но несмотря на чуть лучшие показатели модели от Facebook мы отдали предпочтение нашей разработке, т.к. она была дообучена на данных нужной тематики.
С результатами работы вы так же можете ознакомится в BART и T5.
vid.mp4
Пример работы
Для создания были использованы стандартные технологии: HTML, CSS, JS. Чтобы получить резюме текста пользователь может прикрепить PDF файл или вставить текст в поле ввода. Для этого был создан переключатель режима. Также реализована возможность выбрать процент сжатия текста, который нужен пользователю. Цвета для дизайна нашего сайта были взяты с официального сайта BIOCAD.
В разработке мы использовали Python и веб-фреймворк Flask. Парсинг PDF файлов производится с помощью библиотеки PyPDF2. Более подробно ознакомиться с нашим решением вы можете в файле.
- Скачайте архив со всеми нужными файлами, откройте и перейдите в консоль
- Выполните команду
pip install -r requirements.txt
- Запустите проект с помощью команды
python main.py