/ Модель

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

Контекст
512 токенов
Параметры
136 млн
Лицензия
CC BY-NC-SA 4.0
Архитектура
bert · dense
Библиотека
transformers
Опубликована
14 июн 2023

bert-base-japanese_vaporetto-bpe

Заполнение пропусковТекст → текст3 профессии

Японская модель BERT-base для предсказания замаскированных токенов в тексте с токенизатором Vaporetto и BPE.

290скачиваний за 30 дней0лайковвеса обновлены6 мар 2025

Бенчмарки

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

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

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

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

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

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

Японская модель BERT-base от hitachi-nlp для задачи заполнения пропусков в тексте: она предсказывает замаскированные токены по контексту. Модель построена на архитектуре BERT и содержит 136,3 млн параметров; максимальная длина контекста составляет 512 токенов.

Токенизатор использует Vaporetto и BPE. Для его работы требуется отдельно скачать файл словаря из репозитория проекта и указать путь к нему. В карточке показан пример разбиения японского предложения на токены. Модель предназначена для японского языка и обучалась на данных Wikipedia и CC-100. Доступна в форматах PyTorch и safetensors, библиотека для работы — Transformers. Лицензия CC BY-NC-SA 4.0 требует указания авторства и распространяет производные работы на тех же условиях; коммерческое использование не разрешено.

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

  • восстановление пропущенных слов в японском тексте
  • предсказание замаскированных токенов для анализа предложений
  • создание языковых признаков для японского NLP

Ограничения

Для токенизации необходимо отдельно получить словарь Vaporetto+BPE. Лицензия CC BY-NC-SA 4.0 ограничивает коммерческое использование.

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

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

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

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

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

Открыть на Hugging Face

Japanese BERT-base (Vaporetto + BPE)

How to load the tokenizer

Please download the dictionary file for Vaporetto + BPE from our GitHub repository. Then you can load the tokenizer by specifying the path of the dictionary file to dict_path.

from typing import Optional

from tokenizers import Tokenizer, NormalizedString, PreTokenizedString
from tokenizers.processors import BertProcessing
from tokenizers.pre_tokenizers import PreTokenizer
from transformers import PreTrainedTokenizerFast

import vaporetto
import textspan

class VaporettoPreTokenizer:
    def __init__(self, unidic_path: str):
        with open(unidic_path, 'rb') as fp:
            model = fp.read()
        self.tokenizer = vaporetto.Vaporetto(model, predict_tags=False)
    
    def tokenize(self, sequence: str) -> list[str]:
        tokens = self.tokenizer.tokenize(sequence)
        return [token.surface() for token in tokens]
    
    def custom_split(self, i: int, normalized_string: NormalizedString) -> list[NormalizedString]:
        text = str(normalized_string)
        tokens = self.tokenize(text)
        tokens_spans = textspan.get_original_spans(tokens, text)
        return [normalized_string[st:ed] for cahr_spans in tokens_spans for st,ed in cahr_spans]
    
    def pre_tokenize(self, pretok: PreTokenizedString):
        pretok.split(self.custom_split)

# load a pre-tokenizer
pre_tokenizer = VaporettoPreTokenizer("/path/to/bccwj-suw+unidic+tag.model.zst")

# load a tokenizer
dict_path = /path/to/vaporetto_bpe.json
tokenizer = Tokenizer.from_file(dict_path)
tokenizer.post_processor = BertProcessing(
    cls=("[CLS]", tokenizer.token_to_id('[CLS]')),
    sep=("[SEP]", tokenizer.token_to_id('[SEP]'))
)

# convert to PreTrainedTokenizerFast
tokenizer = PreTrainedTokenizerFast(
    tokenizer_object=tokenizer,
    unk_token='[UNK]',
    cls_token='[CLS]',
    sep_token='[SEP]',
    pad_token='[PAD]',
    mask_token='[MASK]'
)

# set a pre-tokenizer
tokenizer._tokenizer.pre_tokenizer = PreTokenizer.custom(pre_tokenizer)
# Test
test_str = "こんにちは。私は形態素解析器について研究をしています。"
tokenizer.convert_ids_to_tokens(tokenizer(test_str).input_ids)
# -> ['[CLS]','こん','にち','は','。','私','は','形態','素','解析','器','に','つい','て','研究','を','し','て','い','ます','。','[SEP]']

How to load the model

from transformers import AutoModelForMaskedLM
model = AutoModelForMaskedLM.from_pretrained("hitachi-nlp/bert-base_vaporetto-bpe")

See our repository for more details!

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForMaskedLM
Ревизия весов
8980f16

0 моделей