---
license: cc-by-sa-4.0
datasets:
- jerteh/cc100-sr-jerteh
- jerteh/SrpWiki
- jerteh/SrpELTeC
- srwac
language:
- sr
tags:
- srpski
- Serbian
- RoBERTa
- BERT
- MaskedLM
---
jerteh-355 —
Najveći BERT model specijalno obučen za srpski jezik.
Vektorizuje reči, ili dopunjava nedostajuće reči u tekstu
Zasnovan na RoBERTa-large arhitekturi, 355 miliona parametara
Obučavan na korpusu srpskog jezika veličine 4 milijarde tokena
Najbolji rezultati u modelovanju maskiranog jezika za srpski!
Jednaka podrška unosa i na ćirilici i na latinici!
Pored skupova navedenih u metapodacima, model je obučavan i na ostalim korpusima [Društva za jezičke resurse i tehnologije](https://jerteh.rs),
uključujući korpuse savremenog srpskog jezika: SrpKor2013 i SrpKor2021,
kao i korpus [PDRS 1.0](https://www.clarin.si/repository/xmlui/handle/11356/1752) razvijen od strane Instituta za Srpski jezik SANU.
## Upotreba
```python
>>> from transformers import pipeline
>>> generator = pipeline('fill-mask', model='jerteh/jerteh-355')
>>> unmasker("Kada bi čovek znao gde će pasti on bi.")
```
```
[{'score': 0.2131326049566269, 'token': 11379, 'token_str': ' pao', 'sequence': 'Kada bi čovek znao gde će pasti on bi pao.'},
{'score': 0.18836458027362823, 'token': 20536, 'token_str': ' pobegao', 'sequence': 'Kada bi čovek znao gde će pasti on bi pobegao.'},
{'score': 0.07937008887529373, 'token': 10799, 'token_str': ' umro', 'sequence': 'Kada bi čovek znao gde će pasti on bi umro.'},
{'score': 0.04340635612607002, 'token': 7797, 'token_str': ' otišao', 'sequence': 'Kada bi čovek znao gde će pasti on bi otišao.'},
{'score': 0.038474686443805695, 'token': 25984, 'token_str': ' odustao', 'sequence': 'Kada bi čovek znao gde će pasti on bi odustao.'}]
```
```python
>>> from transformers import AutoTokenizer, AutoModelForMaskedLM
>>> from torch import LongTensor, no_grad
>>> from scipy import spatial
>>> tokenizer = AutoTokenizer.from_pretrained('jerteh/jerteh-355')
>>> model = AutoModelForMaskedLM.from_pretrained('jerteh/jerteh-355', output_hidden_states=True)
>>> x = " pas"
>>> y = " mačka"
>>> z = " svemir"
>>> tensor_x = LongTensor(tokenizer.encode(x, add_special_tokens=False)).unsqueeze(0)
>>> tensor_y = LongTensor(tokenizer.encode(y, add_special_tokens=False)).unsqueeze(0)
>>> tensor_z = LongTensor(tokenizer.encode(z, add_special_tokens=False)).unsqueeze(0)
>>> model.eval()
>>> with no_grad():
>>> vektor_x = model(input_ids=tensor_x).hidden_states[-1].squeeze()
>>> vektor_y = model(input_ids=tensor_y).hidden_states[-1].squeeze()
>>> vektor_z = model(input_ids=tensor_z).hidden_states[-1].squeeze()
>>> print(spatial.distance.cosine(vektor_x, vektor_y))
>>> print(spatial.distance.cosine(vektor_x, vektor_z))
```
```
0.029090166091918945
0.0369451642036438
```
U slučaju potrebe za bržim modelom, pogledajte jerteh-125 — mali BERT model za srpski jezik.