File size: 4,845 Bytes
94ec463
 
9af6c65
 
 
4ea7c1f
 
 
 
94ec463
f998837
117dfb7
 
fd27ae5
f998837
436467d
9b024b5
fd27ae5
47695a5
fd27ae5
436467d
fd27ae5
436467d
 
c7ac43d
436467d
 
c7ac43d
f998837
436467d
 
 
f83554d
f998837
 
fd27ae5
32a723c
436467d
9b024b5
fd27ae5
f998837
8bc12a0
64d072b
8bc12a0
64d072b
8bc12a0
f998837
64d072b
436467d
64d072b
 
f998837
fd27ae5
f998837
59ea314
64d072b
fd27ae5
f998837
7a6fd74
b00d2fd
 
 
436467d
f998837
fd27ae5
f998837
0d51682
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f998837
fd27ae5
f998837
0d51682
 
fd27ae5
f998837
770239d
 
107d8ad
 
 
 
afb5ada
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
license: mit
language:
- gl
metrics:
- bleu (Gold1): 79.6
- bleu (Gold2): 43.3
- bleu (Flores): 21.8
- bleu (Test-suite): 74.3
---

**English text [here](https://huggingface.co/proxectonos/NOS-MT-OpenNMT-es-gl/blob/main/README_English.md)**

**Descrición do Modelo** 

Modelo feito con OpenNMT-py 3.2 para o par español-galego utilizando unha arquitectura transformer. O modelo foi transformado para o formato da ctranslate2.

**Como traducir con este Modelo**

+ Instalar o [Python 3.9](https://www.python.org/downloads/release/python-390/) 
+ Instalar o [ctranslate 3.2](https://github.com/OpenNMT/CTranslate2)
+ Traducir un input_text utilizando o modelo NOS-MT-es-gl co seguinte comando:
```bash
    perl tokenizer.perl < input.txt > input.tok
```
```bash
    subword_nmt.apply_bpe -c ./bpe/es.bpe < input.tok > input.bpe
```
```bash 
    python3 translate.py ./ct2-es-gl_12L input.bpe > output.txt
```
```bash
    sed -i 's/@@ //g' output.txt
```

**Adestramento**

No adestramento, utilizamos córpora auténticos e sintéticos do [ProxectoNós](https://github.com/proxectonos/corpora). Os primeiros son córpora de traducións feitas directamente por tradutores humanos. É importante salientar que a pesar destes textos seren feitos por humanos, non están libres de erros lingüísticos. Os segundos son córpora de traducións español-portugués, que convertemos en español-galego a través da tradución automática portugués-galego con Opentrad/Apertium e transliteración para palabras fóra de vocabulario.

**Procedemento de adestramento**

+ Tokenización dos datasets feita co tokenizador (tokenizer.pl) de [linguakit](https://github.com/citiususc/Linguakit) que foi modificado para evitar o salto de liña por token do ficheiro orixinal. 

+ O vocabulario BPE para os modelos foi xerado a través do script [learn_bpe.py](https://github.com/OpenNMT/OpenNMT-py/blob/master/tools/learn_bpe.py) da OpenNMT

+ Utilizando o .yaml deste repositorio pode replicar o proceso de adestramento. É preciso modificar os paths do ficheiro .yaml para a Open NMT saber onde ir buscar os textos. Após facer isto, pode do seguinte xeito comezar o proceso:

```bash 
onmt_build_vocab -config  bpe-es-gl_emb.yaml -n_sample 40000
onmt_train -config bpe-es-gl_emb.yaml
```

**Hiperparámetros** 

Os parámetros usados para o desenvolvemento do modelo poden ser consultados directamente no mesmo ficheiro .yaml  bpe-es-gl_emb.yaml 

**Avaliación**

A avaliación BLEU dos modelos é feita cunha mistura de tests desenvolvidos internamente (gold1, gold2, test-suite) con outros datasets disponíbeis en galego (Flores).

| GOLD 1        | GOLD 2        | FLORES  | TEST-SUITE|
| ------------- |:-------------:| -------:|----------:| 
| 79.5          | 43.5          | 21.4    | 73.4      |

**Licenzas do Modelo** 

MIT License

Copyright (c) 2023 Proxecto Nós

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

**Financiamento** 

Esta investigación foi financiada polo proxecto "Nós: o galego na sociedade e economía da intelixencia artificial", resultado dun acordo entre a Xunta de Galicia e a Universidade de Santiago de Compostela, o que resultou no subsidio ED431G2019/04 da Consellaría de Educación, Universidade e Formación Profesional da Galiza, e polo Fondo Europeo de Desenvolvemento Rexional (programa ERDF/FEDER), e Grupos de Referencia: ED431C 2020/21.  

**Citar este traballo** 

Se utilizar este modelo no seu traballo, cite por favor así:

Daniel Bardanca Outeirinho, Pablo Gamallo Otero, Iria de-Dios-Flores, and José Ramom Pichel Campos. 2024.
Exploring the effects of vocabulary size in neural machine translation: Galician as a target language.
In Proceedings of the 16th International Conference on Computational Processing of Portuguese, pages 600–604,
Santiago de Compostela, Galiza. Association for Computational Lingustics.