Jerteh-81 / README.md
procesaur's picture
Update README.md
ab618db verified
|
raw
history blame
6.18 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>.
pipeline_tag: fill-mask
---
<h4>
<i class="highlight-container"><b class="highlight">jerteh-81</b></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-base arhitekturi, 81 milion parametara</li>
<li>Obučavan na korpusu srpskog jezika veličine 4 milijarde tokena</li>
<li>Među najboljim rezultatima u modelovanju maskiranog jezika za srpski!</li>
<li>Jednaka podrška unosa i na ćirilici i na latinici!</li>
</ul>
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-81')
>>> unmasker("Kada bi čovek znao gde će pasti on bi<mask>.")
```
```
[{'score': 0.16073498129844666, 'token': 11379, 'token_str': ' pao', 'sequence': 'Kada bi čovek znao gde će pasti on bi pao.'},
{'score': 0.14656540751457214, 'token': 10799, 'token_str': ' umro', 'sequence': 'Kada bi čovek znao gde će pasti on bi umro.'},
{'score': 0.11459200084209442, 'token': 7797, 'token_str': ' otišao', 'sequence': 'Kada bi čovek znao gde će pasti on bi otišao.'},
{'score': 0.061787571758031845, 'token': 7103, 'token_str': ' znao', 'sequence': 'Kada bi čovek znao gde će pasti on bi znao.'},
{'score': 0.0532902330160141, 'token': 998, 'token_str': ' rekao', 'sequence': 'Kada bi čovek znao gde će pasti on bi rekao.'}]
```
```python
>>> from transformers import AutoTokenizer, AutoModelForMaskedLM
>>> from torch import LongTensor, no_grad
>>> from scipy import spatial
>>> tokenizer = AutoTokenizer.from_pretrained('jerteh/jerteh-81')
>>> model = AutoModelForMaskedLM.from_pretrained('jerteh/jerteh-81', 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.09954947233200073
0.21845555305480957
```
<h4>U slučaju potrebe za većim modelom, pogledajte <a href="https://huggingface.co/jerteh/jerteh-355" class="highlight-container">
<b class="highlight">jerteh-355</b></a> — najveći 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>