/ Модель

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

Контекст
512 токенов
Параметры
129 млн
Архитектура
bert · dense
Опубликована
31 янв 2023

zh-wiki-punctuation-restore

Разметка токеновТекст → label5 профессий

BERT-модель для восстановления шести видов пунктуации в китайском тексте.

48 935скачиваний за 30 дней12лайковвеса обновлены31 мая 2023

Бенчмарки

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

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

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

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

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

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

zh-wiki-punctuation-restore — модель на базе BERT для восстановления пунктуации в китайском тексте. Она классифицирует токены и поддерживает шесть знаков: запятую ,、перечислительную запятую 、, точку 。, вопросительный знак ?, восклицательный знак ! и точку с запятой ;. Модель предназначена для обработки текста без пунктуации, например после распознавания речи или при подготовке китайских текстов.

Архитектура — BertForTokenClassification, размер — 129,5 млн параметров, максимальный контекст — 512 токенов. Репозиторий содержит веса PyTorch и safetensors. README предлагает установку пакета zhpr. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Поддерживает перечисленные шесть знаков пунктуации; заявленная длина контекста составляет 512 токенов. Данные не описывают качество на других языках или типах текста.

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

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

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

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

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

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

Открыть на Hugging Face

zh-wiki-punctuation-restore

More Detail: https://github.com/p208p2002/ZH-Punctuation-Restore

共計支援6種標點符號: , 、 。 ? ! ;

Install

# pip install torch pytorch-lightning
pip install zhpr

Usage

from zhpr.predict import DocumentDataset,merge_stride,decode_pred
from transformers import AutoModelForTokenClassification,AutoTokenizer
from torch.utils.data import DataLoader

def predict_step(batch,model,tokenizer):
        batch_out = []
        batch_input_ids = batch

        encodings = {'input_ids': batch_input_ids}
        output = model(**encodings)

        predicted_token_class_id_batch = output['logits'].argmax(-1)
        for predicted_token_class_ids, input_ids in zip(predicted_token_class_id_batch, batch_input_ids):
            out=[]
            tokens = tokenizer.convert_ids_to_tokens(input_ids)
            
            # compute the pad start in input_ids
            # and also truncate the predict
            # print(tokenizer.decode(batch_input_ids))
            input_ids = input_ids.tolist()
            try:
                input_id_pad_start = input_ids.index(tokenizer.pad_token_id)
            except:
                input_id_pad_start = len(input_ids)
            input_ids = input_ids[:input_id_pad_start]
            tokens = tokens[:input_id_pad_start]
    
            # predicted_token_class_ids
            predicted_tokens_classes = [model.config.id2label[t.item()] for t in predicted_token_class_ids]
            predicted_tokens_classes = predicted_tokens_classes[:input_id_pad_start]

            for token,ner in zip(tokens,predicted_tokens_classes):
                out.append((token,ner))
            batch_out.append(out)
        return batch_out

if __name__ == "__main__":
    window_size = 256
    step = 200
    text = "維基百科是維基媒體基金會運營的一個多語言的百科全書目前是全球網路上最大且最受大眾歡迎的參考工具書名列全球二十大最受歡迎的網站特點是自由內容自由編輯與自由著作權"
    dataset = DocumentDataset(text,window_size=window_size,step=step)
    dataloader = DataLoader(dataset=dataset,shuffle=False,batch_size=5)

    model_name = 'p208p2002/zh-wiki-punctuation-restore'
    model = AutoModelForTokenClassification.from_pretrained(model_name)
    tokenizer = AutoTokenizer.from_pretrained(model_name)

    model_pred_out = []
    for batch in dataloader:
        batch_out = predict_step(batch,model,tokenizer)
        for out in batch_out:
            model_pred_out.append(out)
        
    merge_pred_result = merge_stride(model_pred_out,step)
    merge_pred_result_deocde = decode_pred(merge_pred_result)
    merge_pred_result_deocde = ''.join(merge_pred_result_deocde)
    print(merge_pred_result_deocde)
維基百科是維基媒體基金會運營的一個多語言的百科全書,目前是全球網路上最大且最受大眾歡迎的參考工具書,名列全球二十大最受歡迎的網站,特點是自由內容、自由編輯與自由著作權。

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForTokenClassification
Ревизия весов
53403e4

0 моделей