Jerteh-355 / README.md
procesaur's picture
Update README.md
84f4534 verified
|
raw
history blame
6.2 kB
---
license: cc-by-sa-4.0
datasets:
- jerteh/cc100-sr-jerteh
- jerteh/SrpWiki
- jerteh/SrpELTeC
- srwac
language:
- sr
tags:
- srpski
- Serbian
- RoBERTa
- BERT
- MaskedLM
widget:
- text: "Kada bi čovek znao gde će pasti on bi<mask>."
---
<h4><i class="highlight-container"><b class="highlight">jerteh-355</b></i>
Najveći BERT model specijalno obučen za srpski jezik.</h4>
<img src="cover.png" class="cover">
<!--div id="zastava">
<div class="grb">
<img src="https://www.ai.gov.rs/img/logo_60x120-2.png" style="position:relative; left:30px; z-index:10; height:85px">
</div>
<table width=100% style="border:0px">
<tr style=
"background-color:#C6363C;width:100%;border:0px;height:30px"><td></td></tr
>
<tr style="background-color:#0C4076;width:100%;border:0px;height:30px"><td></td></tr>
<tr style="background-color:#ffffff;width:100%;border:0px;height:30px"><td></td></tr>
</table>
</div-->
<ul style="font-weight:bold">
<li>Vektorizuje reči, ili dopunjava nedostajuće reči u tekstu</li>
<li>Zasnovan na RoBERTa-large arhitekturi, 355 miliona parametara</li>
<li>Obučavan na korpusu srpskog jezika veličine 4 milijarde tokena</li>
<li>Najbolji rezultati u modelovanju maskiranog jezika za srpski!</li>
<li>Jednaka podrška unosa i na ćirilici i na latinici!</li>
</ul>
</div>
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
>>> unmasker = pipeline('fill-mask', model='jerteh/jerteh-355')
>>> unmasker("Kada bi čovek znao gde će pasti on bi<mask>.")
>>>
```
```
[{'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
```
<h4>U slučaju potrebe za bržim modelom, pogledajte <a href="https://huggingface.co/jerteh/jerteh-81" class="highlight-container">
<b class="highlight">jerteh-81</b></a> — mali BERT model za srpski jezik.</h4>
<h4>U slučaju potrebe za generativnim modelom, pogledajte <a href="https://huggingface.co/jerteh/gpt2-orao" class="highlight-container">
<b class="highlight">gpt2-orao</b></a> i <a href="https://huggingface.co/jerteh/gpt2-vrabac" class="highlight-container">
<b class="highlight">gpt2-vrabac</b></a></h4>
<div class="inline-flex flex-col" style="line-height: 1.5;">
<div style="text-align: center; margin-top: 3px; font-size: 16px; font-weight: 800">Autor</div>
<a href="https://huggingface.co/procesaur">
<div class="flex">
<div
style="display:DISPLAY_1; margin-left: auto; margin-right: auto; width: 92px; height:92px; border-radius: 50%;
background-size: cover; background-image: url(&#39;https://cdn-uploads.huggingface.co/production/uploads/1673534533167-63bc254fb8c61b8aa496a39b.jpeg?w=200&h=200&f=face&#39;)">
</div>
</div>
</a>
<div style="text-align: center; font-size: 16px; font-weight: 800">Mihailo Škorić</div>
<div>
<a href="https://huggingface.co/procesaur">
<div style="text-align: center; font-size: 14px;">@procesaur</div>
</a>
</div>
</div>
</div>
## Citiranje
```bibtex
@article{skoric24modeli,
author = {Mihailo \vSkori\'c},
title = {Novi jezi\vcki modeli za srpski jezik},
journal = {Infoteka},
volume = {24},
issue = {1},
year = {2024},
publisher = {Zajednica biblioteka univerziteta u Srbiji, Beograd}
}
```
<style>
.ffeat: {
color:red
}
.cover {
width: 100%;
margin-bottom: 5pt
}
.highlight-container, .highlight {
position: relative;
text-decoration:none
}
.highlight-container {
display: inline-block;
}
.highlight{
color:white;
text-transform:uppercase;
font-size: 16pt;
}
.highlight-container{
padding:5px 10px
}
.highlight-container:before {
content: " ";
display: block;
height: 100%;
width: 100%;
margin-left: 0px;
margin-right: 0px;
position: absolute;
background: #e80909;
transform: rotate(2deg);
top: -1px;
left: -1px;
border-radius: 20% 25% 20% 24%;
padding: 10px 18px 18px 10px;
}
div.grb, #zastava>table {
position:absolute;
top:0px;
left: 0px;
margin:0px
}
div.grb>img, #zastava>table{
margin:0px
}
#zastava {
position: relative;
margin-bottom:120px
}
</style>