Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Эмбеддинги текстов (они же семантические векторные представления) обычно получают из нейросетевых языковых моделей и затем используют в прикладных задачах: классификации, кластеризации, извлечении именованных сущностей, рекомендательных системах, и т. д. Эмбеддинг текста — это числовой вектор, содержащий в сжатом виде информацию о его смысле.
Для общеязыковых тематик существует множество мультиязычных бенчмарков (наборов тестовых задач) для оценки качества эмбеддингов, полученных с помощью разных моделей. С помощью этих бенчмарков можно сравнивать модели и выбирать подходящую для своей задачи. К сожалению, в области эмбеддингов научных текстов выбор не такой широкий, особенно для русского языка. Для английского языка существует бенчмарк SciDocs
и его расширенная версия SciRepEval
, разработанные Allen Institute for AI. Для русского языка первый бенчмарк ruSciDocs
был опубликован нами около года назад вместе с моделью ruSciBERT
, и состоял из небольшого количества данных на русском языке, которые мы смогли собрать в открытом доступе (на порталах ЕГИСУ НИОКТР и Semantic Scholar).
В этом году, благодаря данным, которые предоставил нам портал eLibrary, мы смогли сделать следующий шаг и подготовили бенчмарк ruSciBench
, который содержит гораздо большее количество данных по большему числу тематик. Кроме того, в ruSciBench
почти для всех статей есть аннотация как на английском, так и на русском языках, что дает возможность тестировать сохранение семантики при смене языка.
В этом посте я расскажу про бенчмарк для научных текстов ruSciBench
и маленькую, но достаточно сильную модель SciRus‑tiny, которые мы разработали в лаборатории Машинного обучения и семантического анализа Института ИИ МГУ при поддержке портала eLibrary.
Состав датасета и задач ruSciBench
ruSciBench состоит из двух типов задач: классификации и поиск перевода, постановка которых более подробно описана ниже. Датасет, на котором проводятся замеры метрик, состоит из 194 071 названия+аннотации научной статьи на русском языке и 182 436 — на английском. Для каждой статьи известна его рубрика OECD и ГРНТИ. В задаче классификации используются 29 рубрик OECD и 28 рубрик ГРНТИ. Рубрики OECD детализированы до 2 уровня (например, 5.03), рубрики ГРНТИ до 1 (например, 76.). Наибольшую долю в датасете занимают гуманитарные науки, наименьшую — сельскохозяйственные (Рисунок 1).
Длины текстов соответствуют принятой длине названия и аннотации научной статьи: 99% названий короче 26 слов, аннотаций — 384 слов, и 99% итоговых текстов (название+аннотация) — 400 слов. Также 90% итоговых текстов короче 250 слов.
Классификация
Задача построена аналогично задачам MAG и MeSH из бенчмарка SciDocs от Allen Institute for AI. Только вместо рубрик Microsoft Academic Graph и Medical Subject Headings используются рубрики OECD и ГРНТИ. Для получения метрик используется следующий пайплайн. На 90% датасета обучается классификатор на базе метода опорных векторов (LinearSVC), использующий оцениваемые эмбеддинги в качестве векторов признаков. Затем на отложенных 10% оцениваются метрики точности этого классификатора. Задача построена на предположении, что чем более информативные эмбеддинги поданы на вход классификатору, тем выше результат он сможет показать.
Поскольку некоторые модели работают только с русским или только с английским языком, задача поделена еще и по этому принципу на три: только на русском (ru), только на английском (en) и объединяющая оба языка (full). Таким образом, возникает 6 задач, в зависимости от рубрикатора и языка: oecd‑ru, oecd‑en, oecd‑full и grnti‑ru, grnti‑en, grnti‑full. Для каждой задачи вычисляются метрики: weighted‑f1, оценивающая то, как модель работает в среднем, и macro‑f1, в большей степени отражающая способность модели работать с равномерным качеством как на малых, так и на больших рубриках.
Рассмотрим для примера сравнение двух моделей на этой задаче: Multilingual‑E5-base с довольно большим количеством параметров и маленькую модель SciRus‑tiny, у которой параметров почти в десять раз меньше. Также Multilingual‑E5-base
имеет размерность эмбеддинга более, чем в два раза превосходящий SciRus‑tiny
. Тем не менее, разрыв в метриках не так велик, в среднем менее 10%. Кроме того, можно заметить, что на weighted‑f1 разрыв уменьшается, судя по всему, большая модель лучше решает задачи, связанные с небольшими рубриками классификаторов.
Название модели | Количество параметров | Размерность эмбеддингов | OECD macro-f1 | ГРНТИ macro-f1 | ||||
ru | en | full | ru | en | full | |||
Multilingual-E5-base | 280M | 768 | 0.56 | 0.56 | 0.55 | 0.68 | 0.68 | 0.69 |
SciRus-tiny | 29M | 312 | 0.48 | 0.49 | 0.49 | 0.62 | 0.61 | 0.6 |
Название модели | Количество параметров | Размерность эмбеддингов | OECD weighted-f1 | ГРНТИ weighted-f1 | ||||
ru | en | full | ru | en | full | |||
Multilingual-E5-base | 280M | 768 | 0.68 | 0.69 | 0.68 | 0.78 | 0.77 | 0.78 |
SciRus-tiny | 29M | 312 | 0.64 | 0.64 | 0.64 | 0.74 | 0.73 | 0.74 |
Поиск перевода
Задача поиска перевода оценивает способность модели отражать в эмбеддингах смысл сказанного, вне зависимости от языка текста. Для этого проверяется, что самым близким из всего датасета к эмбеддингу аннотации статьи на одном языке является эмбеддинг аннотации этой же статьи на другом языке. Например, если взять эмбеддинг русской аннотации статьи А и сравнить его с эмбеддингами всех английских аннотаций в датасете, то самым близким должен оказаться эмбеддинг английской аннотации этой же статьи А. Таким образом, возникает две метрики: поиск русской аннотации по английской и, наоборот, английской по русской. В качестве метрики возвращается доля статей, где поиск был выполнен успешно.
Посмотрим на метрики для тех же двух моделей: Multilingual‑E5-base
и SciRus‑tiny
. Большая модель все так же лидирует, но тоже примерно на 10%, как и в предыдущей задаче.
Название модели | ru-en-search recall@1 | en-ru-search recall@1 |
Multilingual-E5-base | 0.97 | 0.98 |
SciRus-tiny | 0.88 | 0.88 |
Как применять
Чтобы оценить свою модель на ruSciBench
нужно сделать несколько довольно простых шагов. Мы подробно показали этот процесс в инструкции/примере в нашем ноутбуке в Googel‑Colab. Текстовые данные для бенчмарка размещены на huggingface, а код доступен на github. Хороших вам метрик!
SciRus-tiny
Помимо бенчмарка мы также публикуем небольшую, эффективную модель SciRus‑tiny, обученную на датасете 1.5B научных текстов на русском и английском языках. Это модель архитектуры RoBERTa с 29M параметров и размерностью эмбеддинга 312. Размер словаря модели составляет 50 265 токенов, а максимальная длина контекста — 2K токенов.
Мы обучали SciRus‑tiny
в три этапа. На первом этапе модель обучалась «с нуля» решению задачи предсказания маскированных токенов на 12M аннотаций научных статей на русском и английском. На втором этапе модель SciRus‑tiny
дообучалась с использованием контрастной функции потерь, приближая эмбеддинги аннотаций одной и той же статьи. Таким образом модель обучается обращать внимание на смысл текста вне зависимости от языка, на котором он написан. На третьем этапе модель дообучалась также с использованием контрастной функции потерь, но приближая вектора статей, имеющих общие или близкие научные категории согласно классификатору OECD. В результате модель нацеливается на учёт научной тематики текстов при оценке их смысловой близости.
Далее в таблицах представлены результаты SciRus-tiny
в сравнении с различными моделей на всех метриках бенчмарка ruSciBench
. Интересно, что моноязычные и разработанные специально для работы с научными текстами ruSciBERT и SciNCL показывают примерно такое же качество, как и лучшая модель, имея более, чем в 2 раза меньшее количество параметров.
Название модели | Количество параметров | Размерность эмбеддингов | OECD macro-f1 | ГРНТИ macro‑f1 | ||||
ru | en | full | ru | en | full | |||
Multilingual-E5-base | 280M | 768 | 0.56 | 0.56 | 0.55 | 0.68 | 0.68 | 0.69 |
SciRus-tiny | 29M | 312 | 0.48 | 0.49 | 0.49 | 0.62 | 0.61 | 0.6 |
ruBERT‑tiny2 | 29M | 312 | 0.49 | 0.45 | 0.45 | 0.62 | 0.58 | 0.59 |
DeepPavlov ruBERT-base | 180M | 768 | 0.54 | - | - | 0.66 | - | - |
ruSciBERT | 125M | 768 | 0.55 | - | - | 0.68 | - | - |
SciNCL | 110M | 768 | - | 0.56 | - | - | 0.69 | - |
Название модели | OECD weighted-f1 | ГРНТИ weighted‑f1 | ru-en-search recall@1 | en-ru-search recall@1 | ||||
ru | en | full | ru | en | full | |||
Multilingual-E5-base | 0.68 | 0.69 | 0.68 | 0.78 | 0.77 | 0.78 | 0.97 | 0.98 |
SciRus-tiny | 0.64 | 0.64 | 0.64 | 0.74 | 0.73 | 0.74 | 0.88 | 0.88 |
ruBERT‑tiny2 | 0.64 | 0.61 | 0.61 | 0.74 | 0.71 | 0.71 | 0.46 | 0.11 |
DeepPavlov ruBERT-base | 0.66 | - | - | 0.76 | - | - | - | - |
ruSciBERT | 0.68 | - | - | 0.78 | - | - | - | - |
SciNCL | - | 0.69 | - | - | 0.78 | - | - | - |
SciRus‑tiny достигла высоких значений метрик на ruSciBench, сохранив скорость и эффективность. Мы использовали в качестве основной модели для сравнения ruBERT‑tiny2
и превзошли ее по 10 из 14 метрик, получили равный результат еще по 3 и уступили только на 1. Также SciRus‑tiny
показывает очень высокий уровень качества на задаче поиска перевода, близкий к лучшей модели Multilingual‑E5-base
.
SciRus‑tiny
– это первая небольшая модель в линейке наших моделей для получения семантических эмбеддингов научных текстов на разных языках. Но уже она показывает, что выбранные методы дают хороший результат. В будущем мы планируем выпустить ряд моделей с большим количеством параметров и добиться максимальных метрик на ruSciBench
и не только.
Как применять
Мы опубликовали SciRus-tiny
на huggingface, также реализовав возможность удобного инференса с помощью библиотеки sentence-transformers
. Удачного использования!
Acknowledgement
Работа выполнена в рамках проекта 23-Ш05-21 "Разработка математических методов машинного обучения для обработки текстовой научной информации большого объема". Благодарим портал eLibrary за предоставленный датасет.