sbert_pq / README.md
koziev ilya
mentioning cossim_f1 metrics for rubert-tiny and rubert-base
af5f111
metadata
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - feature-extraction
  - sentence-similarity
  - transformers
language: ru
license: unlicense
widget:
  - source_sentence: Кошка ловит мышку.
    sentences:
      - Кто ловит мышку?
      - Где живет кошка?
      - Как мышку зовут?

SBERT_PQ

Это sentence-transformers модель, предназначенная для определения релевантности короткого текста (преимущественно одно предложение длиной до 10-15 слов) и вопроса.

Модель вычисляет для текста и вопроса векторы размерностью 312. Косинус угла между этими векторами дает оценку того, содержит ли текст ответ на заданный вопрос. В проекте диалоговой системы она используется для семантического поиска записей в базе фактов по заданному собеседником вопросу.

Скорость и точность

Модель основана на cointegrated/rubert-tiny2. Она имеет очень небольшой размер и быстро выполняет инференс даже на CPU.

Максимальное значение метрики cossim_f1 на тестовой выборке (10% датасета) равно 0.986.

При использовании модели sberbank-ai/ruBert-base в качестве базовой, максимум cossim_f1 составляет 0.992.

Использование с библиотекой (Sentence-Transformers)

Необходимо установить sentence-transformers:

pip install -U sentence-transformers

Чтобы определить релевантность в одной паре "текст-вопрос", можно использовать такой код:

import sentence_transformers

sentences = ["Кошка ловит мышку.", "Чем занята кошка?"]

model = sentence_transformers.SentenceTransformer('inkoziev/sbert_pq')
embeddings = model.encode(sentences)

s = sentence_transformers.util.cos_sim(a=embeddings[0], b=embeddings[1])
print('text={} question={} cossim={}'.format(sentences[0], sentences[1], s))

Контакты и цитирование

@MISC{rugpt_chitchat,
    author  = {Ilya Koziev},
    title   = {Texts & Questions Relevancy Model},
    url     = {https://huggingface.co/inkoziev/sbert_pq},
    year    = 2022
}