/ Модель

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

Контекст
1 024 токена
Параметры
905 млн
Размер весов
6,2 ГБ
Лицензия
MIT
Архитектура
whisper · dense
Опубликована
31 окт 2024

whisper-ner-tag-and-mask-v1

Распознавание речиАудио → текст6 профессий

WhisperNER транскрибирует речь и распознаёт или маскирует сущности в полученном тексте.

13скачиваний за 30 дней6лайковвеса обновлены21 ноя 2024

Бенчмарки

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

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

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

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

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

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

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

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

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

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

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

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

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

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

aiola/whisper-ner-tag-and-mask-v1 — модель на архитектуре Whisper для совместной транскрипции речи и распознавания именованных сущностей. Она предназначена для автоматического распознавания речи с разметкой сущностей открытого типа, включая категории, заданные при использовании модели. Модель также может маскировать распознанные сущности прямо в транскрипте.

Модель содержит около 905,2 млн параметров и принимает аудио, выдавая текст. Карточка указывает английский язык. Модель опубликована под лицензией MIT и подходит как основа для последующего дообучения под конкретные наборы данных и сценарии ASR с распознаванием сущностей.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

Whisper-NER

We introduce WhisperNER, a novel model that allows joint speech transcription and entity recognition. WhisperNER supports open-type NER, enabling recognition of diverse and evolving entities at inference. The WhisperNER model is designed as a strong base model for the downstream task of ASR with NER, and can be fine-tuned on specific datasets for improved performance.

NOTE: This model also support entity masking directly on the output transcript, especially relevant for PII use cases. However, the model was not trained on PII specific datasets, hence can perform general and open type entity masking, but it should be further funetuned in order to be used for PII tasks.


Training Details

aiola/whisper-ner-tag-and-mask-v1 was finetuned from aiola/whisper-ner-v1 using the NuNER dataset to perform joint audio transcription and NER tagging or NER masking. The model was trained and evaluated only on English data. Check out the paper for full details.


Usage

Inference can be done using the following code (for inference code and more details check out the whisper-ner repo).:

import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration

model_path = "aiola/whisper-ner-tag-and-mask-v1"
audio_file_path = "path/to/audio/file"
prompt = "person, company, location"  # comma separated entity tags
apply_entity_mask = False  # change to True for entity masking
mask_token = "<|mask|>"

if apply_entity_mask:
    prompt = f"{mask_token}{prompt}"
    
# load model and processor from pre-trained
processor = WhisperProcessor.from_pretrained(model_path)
model = WhisperForConditionalGeneration.from_pretrained(model_path)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)

# load audio file: user is responsible for loading the audio files themselves
target_sample_rate = 16000
signal, sampling_rate = torchaudio.load(audio_file_path)
resampler = torchaudio.transforms.Resample(sampling_rate, target_sample_rate)
signal = resampler(signal)
# convert to mono or remove first dim if needed
if signal.ndim == 2:
    signal = torch.mean(signal, dim=0)
# pre-process to get the input features
input_features = processor(
    signal, sampling_rate=target_sample_rate, return_tensors="pt"
).input_features
input_features = input_features.to(device)

prompt_ids = processor.get_prompt_ids(prompt.lower(), return_tensors="pt")
prompt_ids = prompt_ids.to(device)

# generate token ids by running model forward sequentially
with torch.no_grad():
    predicted_ids = model.generate(
        input_features,
        prompt_ids=prompt_ids,
        generation_config=model.generation_config,
        language="en",
    )

# post-process token ids to text, remove prompt
transcription = processor.batch_decode(
    predicted_ids, skip_special_tokens=True
)[0]
print(transcription)

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
766a4c3

0 моделей