Transformers documentation

HerBERT

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model, 2020-05-01 tarihinde HF papers'ta yayımlandı ve 2020-11-16 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

HerBERT

Genel Bakış

HerBERT modeli, Piotr Rybak, Robert Mroczkowski, Janusz Tracz ve Ireneusz Gawlik tarafından KLEJ: Comprehensive Benchmark for Polish Language Understanding makalesinde önerilmiştir. Bu model, yalnızca dinamik tüm kelime maskelenmesi ile MLM hedefi kullanılarak Lehçe korpüslerinde eğitilmiş, BERT tabanlı bir dil modelidir.

Makalenin özeti aşağıdaki gibidir:

Son yıllarda, Transformer tabanlı bir dizi model, genel doğal dil anlama (NLU) görevlerinde önemli iyileştirmeler sağladı. Önerilen yöntemlerin adil bir şekilde karşılaştırılmasına olanak tanıyan genel NLU kıyaslamaları olmasaydı, bu kadar hızlı bir araştırma temposu mümkün olmazdı. Ancak bu tür kıyaslamalar yalnızca birkaç dil için mevcuttur. Bu sorunu hafifletmek amacıyla, çevrimiçi bir liderlik tablosu ile birlikte, Polonya dili anlama için kapsamlı bir çok görevli kıyaslama sunuyoruz. Bu kıyaslama, isimli varlık tanıma, soru-cevap, metinsel çıkarım ve diğer alanlardan uyarlanan çeşitli bir görev setinden oluşmaktadır. Ayrıca, e-ticaret alanına yönelik, Allegro Reviews (AR) adını verdiğimiz yeni bir duygu analizi görevi tanıtıyoruz. Ortak bir değerlendirme şemasını sağlamak ve farklı NLU görevlerine genelleme yapabilen modelleri teşvik etmek için, kıyaslama farklı alanlardan ve uygulamalardan veri setleri içermektedir. Ek olarak, özellikle Polonya dili için eğitilmiş, ortalama performansı en yüksek olan ve dokuz görevden üçünün en iyi sonuçlarını elde eden, Transformer tabanlı HerBERT modelini yayımlıyoruz. Son olarak, çeşitli standart baz çizgileri ve son zamanlarda önerilen, çok dilli Transformer tabanlı modelleri içeren kapsamlı bir değerlendirme sunuyoruz.

Bu model rmroczkowski tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

Kullanım örneği

from transformers import HerbertTokenizer, RobertaModel


tokenizer = HerbertTokenizer.from_pretrained("allegro/herbert-klej-cased-tokenizer-v1")
model = RobertaModel.from_pretrained("allegro/herbert-klej-cased-v1", device_map="auto")

encoded_input = tokenizer.encode("Kto ma lepszą sztukę, ma lepszy rząd – to jasne.", return_tensors="pt").to(model.device)
outputs = model(encoded_input)

# HerBERT can also be loaded using AutoTokenizer and AutoModel:
from transformers import AutoModel, AutoTokenizer


tokenizer = AutoTokenizer.from_pretrained("allegro/herbert-klej-cased-tokenizer-v1")
model = AutoModel.from_pretrained("allegro/herbert-klej-cased-v1", device_map="auto")

Herbert uygulaması, BERT ile aynıdır; tek fark tokenizasyon yöntemidir. API referansı ve örnekler için BERT belgelendirmesine bakın.

HerbertTokenizer

sınıf transformers.HerbertTokenizer

< >

( vocab: str | dict[str, int] | None = Nonemerges: str | list[str] | None = Nonecls_token: str = '<s>'unk_token: str = '<unk>'pad_token: str = '<pad>'mask_token: str = '<mask>'sep_token: str = '</s>'vocab_file: str | None = Nonemerges_file: str | None = None**kwargs )

Parametreler

  • vocab_file (str) — Sözlük dosyasının yolu.
  • merges_file (str) — Merges dosyasının yolu.
  • cls_token (str, isteğe bağlı, varsayılan "<s>") — Sınıflandırıcı belirteci.
  • unk_token (str, isteğe bağlı, varsayılan "<unk>") — Bilinmeyen jeton.
  • pad_token (str, isteğe bağlı, varsayılan "<pad>") — Doldurma belirteci.
  • mask_token (str, isteğe bağlı, varsayılan "<mask>") — Maske sembolü.
  • sep_token (str, isteğe bağlı, varsayılan "</s>") — Ayrıştırıcı belirteci.
  • vocab (str, dict veya list, isteğe bağlı) — Özel sözlük.
  • merges (str veya list[str], isteğe bağlı) — Özel birleştirmeler listesi.

HerBERT için bir BPE tokenizörü oluşturun (HuggingFace'in tokenizers kütüphanesi tarafından desteklenir).

Özellikler:

  • BERT'in ön-ayırıcısını (pre-tokenizer) kullanır: BertPreTokenizer belirteçleri boşluklarda ve ayrıca noktalama işaretlerinde ayırır. Her noktalama işareti karakteri ayrı olarak ele alınır.

Bu tokenizer, çoğu metodu içeren TokenizersBackend sınıfından devralır. Kullanıcıların, metotlarla ilgili daha fazla bilgi için üst sınıfa başvurması gerekir.

Update on GitHub