Piros-Toll / README.md
Flashtond22's picture
pipeline_tag javitas
e62e7c9 verified
|
Raw
History Blame Contribute Delete
6.15 kB
---
license: cc-by-nc-nd-4.0
language:
- hu
library_name: transformers
pipeline_tag: text-generation
tags:
- magyar
- hungarian
- helyesiras
- ekezetesites
- nyelvhelyesseg
- grammar-error-correction
- diacritics-restoration
---
<div align="center">
<br>
# ✏️ PIROS TOLL
### **Magyar helyesírás-javító és ékezetesítő**
#### *Nem írja át a szövegedet. Kijavítja.*
<br>
![Méret](https://img.shields.io/badge/88_millió_paraméter-d1362f?style=for-the-badge)
![GGUF](https://img.shields.io/badge/56_MB_GGUF-1e7a45?style=for-the-badge)
![Saját](https://img.shields.io/badge/nulláról_tanítva-1f6feb?style=for-the-badge)
![Licenc](https://img.shields.io/badge/CC_BY--NC--ND_4.0-7c3aed?style=for-the-badge)
<br>
**Készítette: Flashtond**
<br>
**Fut telefonon** · **Elmagyarázza a javításait** · **Békén hagyja a hibátlan szöveget**
<br>
</div>
---
## Két dolgot tud, amit érdemes kipróbálni
### 1. Helyesírás és nyelvhelyesség
```
Tegnap a boltba voltam és vettem egy nagy mértékben olcsó kenyeret.
Tegnap a boltban voltam, és vettem egy nagymértékben olcsó kenyeret.
```
### 2. Ékezetesítés
Telefonon, angol billentyűzeten, sietve senki nem tesz ki ékezetet. Írd le ahogy esik, a Piros Toll helyreteszi:
```
A gyerekek mar reg alszanak, csendben gyere haza es ne kapcsold fel a villanyt.
A gyerekek már rég alszanak, csendben gyere haza és ne kapcsold fel a villanyt.
```
```
Kerlek kuldd el a szamlat meg ma delutan, mert surgos.
Kérlek küldd el a számlát még ma délután, mert sürgős.
```
---
## Eredmények
Két tesztsoron mérve. A **valódi** tesztsor kézzel írt mondatokból áll: olyan hibákkal, amiket magyarul írók tényleg elkövetnek, és **nyolc szándékosan hibátlan mondattal**, amikhez nem szabad hozzányúlni.
<div align="center">
| Mérőszám | Szintetikus teszt | **Valódi teszt** |
|:---|---:|---:|
| Precizitás | 85,3 % | **74,3 %** |
| Fedés | 73,7 % | 55,3 % |
| **F0.5** | **82,7 %** | **69,5 %** |
| Tökéletes javítás | 55,0 % | **58,8 %** |
| **Hibátlant békén hagy** | **90,0 %** | **87,5 %** |
</div>
**Minden második mondat szó szerint tökéletesen jön vissza**, és a hibátlan szövegek 87,5%-át érintetlenül hagyja. Ez utóbbi a legfontosabb szám: egy javítóeszköz akkor használható, ha megbízol benne.
**Az F0.5 a fő mérőszám**, mert egy javítóeszköznél a hamis javítás súlyosabb hiba, mint a kihagyott. Ha a modell elront egy helyes szót, onnantól mindent ellenőrizned kell.
### Erősségek kategóriánként
<div align="center">
| Terület | Találat |
|:---|:---:|
| `j` és `ly` | **2/2** |
| `-val/-vel` hasonulás | **2/2** |
| `a` és `az` névelő | **1/1** |
| Ikes igék | **1/1** |
| `-ba/-be` és `-ban/-ben` | **3/4** |
| **Hibátlan szöveg érintetlenül** | **7/8** |
</div>
---
## Használat
### Ollama
```bash
ollama run hf.co/Flashtond22/Piros-Toll-GGUF:Q8_0
```
### llama.cpp
```bash
llama-cli -m PirosToll-Tiszta-Q8_0.gguf -p "<hiba>Tegnap a boltba voltam.<javit>" -n 200 --temp 0
```
### Transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
MODEL = "Flashtond22/Piros-Toll"
tok = AutoTokenizer.from_pretrained(MODEL)
model = AutoModelForCausalLM.from_pretrained(MODEL, dtype=torch.bfloat16)
szoveg = "Tegnap a boltba voltam es vettem egy nagy mertekben olcso kenyeret."
be = tok("<hiba>" + szoveg + "<javit>", return_tensors="pt")
ki = model.generate(**be, max_new_tokens=300, do_sample=False)
print(tok.decode(ki[0][be.input_ids.shape[1]:], skip_special_tokens=True))
```
A formátum egyszerű: `<hiba>` + a szöveged + `<javit>`, és a modell a javított változatot írja.
---
## Beállítások
| Beállítás | Érték | Miért |
|:---|:---:|:---|
| `do_sample` | **False** | A javítás nem kreatív feladat. Mintavételezéssel a modell átfogalmazhat. |
| `temperature` | **0.0** | Ugyanez az ok. |
| bemenet | **egy bekezdés** | Hosszabb szöveget bontsd bekezdésekre. |
---
## Hol fut el
<div align="center">
| Formátum | Méret | Hardver |
|:---|---:|:---|
| GGUF `Q4_K_M` | **56 MB** | Bármi. Telefon, Raspberry Pi, tíz éves laptop. |
| GGUF `Q8_0` | 94 MB | Processzoron gyors, videokártya nem kell. |
| bf16 | 177 MB | Bármelyik videokártya. |
</div>
Ez a modell szándékosan kicsi. Egy helyesírás-javítónak ott kell futnia, ahol a felhasználó van, nem a felhőben.
---
## Korlátok
**Helyesírást és nyelvhelyességet** javít. Nem stilisztikai szerkesztő, nem fogalmaz újra, és nem ellenőrzi, hogy amit írtál, az igaz-e.
Ritka szavakon, szakszavakon és szokatlan tulajdonneveken **szándékosan óvatos**: ha valamit nem ismer, inkább nem nyúl hozzá. Cserébe nem is ront el neveket.
A teljesen ékezetlen szövegnél a rövid, ritka szavakat néha eltéveszti. Hosszabb, összefüggő mondatokon lényegesen pontosabb, mert a szövegkörnyezet segít.
A javasolt változtatásokat érdemes átnézni. A magyar helyesírásban sok eset van, ahol a szövegkörnyezet dönt.
---
## Eredet
A modell súlyai **véletlen inicializálásból**, kizárólag saját tanítási eljárással készültek. Nem tartalmaznak más modellből átvett paramétert. A tokenizer is saját, magyar szövegre tanítva.
Az architektúra a nyilvánosan dokumentált Llama-típusú felépítést követi, hogy a modell a szabványos futtatókörnyezetekben működjön.
---
## Licenc
**CC BY-NC-ND 4.0**: Nevezd meg, Ne add el, Ne változtasd.
| Amit megtehetsz | Amit nem |
|:---|:---|
| Letöltöd és futtatod bárhol | Kereskedelmi felhasználás |
| Magáncélra, tanuláshoz, kutatáshoz használod | Továbbtanítás és a származék terjesztése |
| Változatlanul megosztod, a szerző megnevezésével | A szerző megnevezésének elhagyása |
Kereskedelmi felhasználáshoz külön engedély szükséges.
Kötelező megnevezés: **„Piros Toll, készítette Flashtond (CC BY-NC-ND 4.0)"**
<div align="center">
<br>
**✏️ PIROS TOLL**
*Készítette: Flashtond*
<br>
</div>