/ Модель

Характеристики

Контекст
512 токенов
Лицензия
Apache 2.0
Архитектура
distilbert · dense
Библиотека
sentence-transformers
Опубликована
22 фев 2023

sentence_similarity_semantic_search

ЭмбеддингиТекст → embedding7 профессий

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

81скачиваний за 30 дней32лайкавеса обновлены19 дек 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

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

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Sakil/sentence_similarity_semantic_search — дообученная модель на базе DistilBERT, созданная автором репозитория с использованием библиотеки sentence-transformers. Она предназначена для семантического поиска и оценки сходства предложений; также может применяться для подбора рекомендаций. При дообучении использовались заголовки и тексты новостей, а целевая оценка отражала их косинусное сходство.

Модель принимает текст и формирует эмбеддинги для сравнения текстовых фрагментов; заявленная длина контекста — 512 токенов. Поддерживаемый язык по карточке — английский. Репозиторий содержит веса PyTorch и распространяется по лицензии Apache-2.0. README предлагает дообучать модель для конкретных сценариев.

Сценарии применения

  • поиск новостных статей по смыслу запроса
  • сравнение заголовка новости с её текстом
  • ранжирование текстов по семантическому сходству
  • подбор похожих новостей для рекомендации
  • поиск близких по смыслу предложений

Ограничения

Обучение описано на данных о новостях, поэтому качество в других предметных областях может потребовать проверки или дообучения. Длина контекста ограничена 512 токенами.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Dataset Collection:

  • The news dataset is collected from Kaggledataset
  • The dataset has news title ,news content and the label(the label shows the cosine similarity between news title and news content).
  • Different strategies have been followed during the data gathering phase.

sentence transformer is fine-tuned for semantic search and sentence similarity

  • The model is fine-tuned on the dataset.
  • This model can be used for semantic search,sentence similarity,recommendation system.
  • This model can be used for the inference purpose as well.

Data Fields:

label: cosine similarity between news title and news content news title: The title of the news news content:The content of the news

Application:

  • This model is useful for the semantic search,sentence similarity,recommendation system.
  • You can fine-tune this model for your particular use cases.

Model Implementation

pip install -U sentence-transformers

from sentence_transformers import SentenceTransformer, InputExample, losses
import pandas as pd
from sentence_transformers import SentenceTransformer, InputExample
from torch.utils.data import DataLoader
from sentence_transformers import SentenceTransformer, util

model_name="Sakil/sentence_similarity_semantic_search"
model = SentenceTransformer(model_name)
sentences = ['A man is eating food.',
          'A man is eating a piece of bread.',
          'The girl is carrying a baby.',
          'A man is riding a horse.',
          'A woman is playing violin.',
          'Two men pushed carts through the woods.',
          'A man is riding a white horse on an enclosed ground.',
          'A monkey is playing drums.',
          'Someone in a gorilla costume is playing a set of drums.'
          ]

#Encode all sentences
embeddings = model.encode(sentences)

#Compute cosine similarity between all pairs
cos_sim = util.cos_sim(embeddings, embeddings)

#Add all pairs to a list with their cosine similarity score
all_sentence_combinations = []

for i in range(len(cos_sim)-1):

    for j in range(i+1, len(cos_sim)):
    
        all_sentence_combinations.append([cos_sim[i][j], i, j])

#Sort list by the highest cosine similarity score

all_sentence_combinations = sorted(all_sentence_combinations, key=lambda x: x[0], reverse=True)

print("Top-5 most similar pairs:")

for score, i, j in all_sentence_combinations[0:5]:

    print("{} \t {} \t {:.4f}".format(sentences[i], sentences[j], cos_sim[i][j]))

Github: Sakil Ansari

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
DistilBertModel
Ревизия весов
80eeeb8

0 моделей