Update README.md
Browse files
README.md
CHANGED
@@ -4,56 +4,104 @@ language:
|
|
4 |
- pt
|
5 |
- gl
|
6 |
metrics:
|
7 |
-
- bleu (
|
8 |
-
- bleu (
|
9 |
-
- bleu (
|
10 |
---
|
|
|
11 |
|
12 |
-
|
13 |
|
14 |
-
Modelo
|
15 |
|
16 |
-
**Como traducir con este Modelo**
|
17 |
|
18 |
-
|
19 |
-
+ Traducir un input_text utilizando o modelo nos-coda_iacobus-pt-gl cos seguintes comandos:
|
20 |
-
```bash
|
21 |
-
perl tokenizer.perl < input.txt > input.tok
|
22 |
-
```
|
23 |
-
```bash
|
24 |
-
subword_nmt.apply_bpe -c ./bpe/es.bpe < input.tok > input.bpe
|
25 |
-
```
|
26 |
-
```bash
|
27 |
-
python3 translate.py ./ct2-es-gl_12L input.bpe > output.txt
|
28 |
-
```
|
29 |
-
```bash
|
30 |
-
sed -i 's/@@ //g' output.txt
|
31 |
-
```
|
32 |
|
33 |
-
|
|
|
|
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
|
|
|
|
38 |
|
39 |
-
|
40 |
|
41 |
-
|
|
|
|
|
42 |
|
43 |
-
|
44 |
|
45 |
-
|
46 |
-
onmt_build_vocab -config pt-gl.yaml -n_sample 35000
|
47 |
-
onmt_train -config pt-gl.yaml
|
48 |
-
```
|
49 |
|
50 |
-
|
51 |
|
52 |
-
Os parámetros usados para o desenvolvemento do modelo poden ser consultados directamente no mesmo ficheiro .yaml pt-gl.yaml
|
53 |
|
54 |
-
|
|
|
|
|
55 |
|
56 |
-
A avaliación BLEU dos modelos foi feita sobre os testes máis utilizados (Flores_dev, Flores_devtest, Ntrex).
|
57 |
|
58 |
**Licenzas do Modelo**
|
59 |
|
@@ -81,6 +129,7 @@ SOFTWARE.
|
|
81 |
|
82 |
**Financiamento**
|
83 |
|
84 |
-
This model was developed
|
85 |
|
|
|
86 |
|
|
|
4 |
- pt
|
5 |
- gl
|
6 |
metrics:
|
7 |
+
- bleu (Flores_dev): 25.6
|
8 |
+
- bleu (Flores_devtest): 25.8
|
9 |
+
- bleu (Ntrex): 24.1
|
10 |
---
|
11 |
+
**Descrición do Modelo / Descrição do Modelo**
|
12 |
|
13 |
+
Modelo desenvolvido con OpenNMT-py 3.2 para o par portugués-galego, utilizando unha arquitectura transformer. Este modelo foi creado no ámbito dunha colaboración entre o Proxecto Nós (Universidade de Santiago de Compostela) e o CODA (Centre for Digital Culture and Innovation) da Faculdade de Letras na Universidade do Porto
|
14 |
|
15 |
+
Modelo desenvolvido com o OpenNMT-py 3.2 para o par português-galego, utilizando uma arquitetura transformer. Este modelo foi criado no âmbito de uma colaboração entre o Projeto Nós (Universidade de Santiago de Compostela) e o CODA (Centre for Digital Culture and Innovation) da Faculdade de Letras na Universidade do Porto.
|
16 |
|
17 |
+
**Como traducir con este Modelo / Como traduzir com este modelo**
|
18 |
|
19 |
+
### 🔧 Requisitos e Instalación / Requisitos e Instalação
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
1. Instale o [Python 3.9](https://www.python.org/downloads/release/python-390/).
|
22 |
+
2. Instale o OpenNMT-py 3.2 seguindo as instrucións da [documentação oficial](https://opennmt.net/OpenNMT-py/).
|
23 |
+
2. Instale o OpenNMT-py 3.2 seguindo as instruções da [documentação oficial](https://opennmt.net/OpenNMT-py/).
|
24 |
|
25 |
+
---
|
26 |
+
|
27 |
+
### 📄 Como traduzir un ficheiro con este modelo / Como traduzir um ficheiro com este modelo
|
28 |
+
|
29 |
+
Estas instrucións asumen que o ficheiro de entrada se chama `por_Latn.dev` (extraído do dataset FLoRes)
|
30 |
+
|
31 |
+
Estas instruções assumem que o ficheiro de entrada se chama `por_Latn.dev` (extraído do dataset FLoRes).
|
32 |
+
|
33 |
+
1. **Aplicar BPE (Byte Pair Encoding)**:
|
34 |
+
|
35 |
+
```bash
|
36 |
+
subword-nmt apply-bpe -c pt_35k.code < por_Latn.dev > por_Latn.dev.35k.bpe
|
37 |
+
```
|
38 |
+
|
39 |
+
2. **Executar a tradución co modelo / Executar a tradução com o modelo**:
|
40 |
+
|
41 |
+
```bash
|
42 |
+
onmt_translate -model nos-coda_iacobus-pt-gl.pt -src por_Latn.dev.35k.bpe -output translation.txt -gpu 0 -verbose -replace_unk
|
43 |
+
```
|
44 |
+
|
45 |
+
3. **Limpar os marcadores BPE (@)**:
|
46 |
+
|
47 |
+
```bash
|
48 |
+
sed 's/@\s*//g' translation.txt > translation.tok
|
49 |
+
```
|
50 |
+
|
51 |
+
4. **Detokenizar o texto traducido/traduzido**:
|
52 |
+
|
53 |
+
```bash
|
54 |
+
perl detokenizer.perl < translation.tok > translation.translation
|
55 |
+
```
|
56 |
+
|
57 |
+
**Adestramento / Treino**
|
58 |
+
|
59 |
+
No adestramento, utilizamos córpora auténticos e sintéticos obtidos a partir do [OPUS](https://opus.nlpl.eu) e do [ProxectoNós](https://github.com/proxectonos/corpora) para os pares lingüísticos relacionados co galego e o portugués.
|
60 |
+
|
61 |
+
No treino, utilizámos corpora autênticos e sintéticos obtidos a partir do [OPUS](https://opus.nlpl.eu) e do [ProjetoNós](https://github.com/proxectonos/corpora), para os pares linguísticos relacionados com o galego e o português.
|
62 |
+
|
63 |
+
**Procedemento de adestramento / Procedimento de treino**
|
64 |
+
|
65 |
+
### ⚙️ Preparación dos datos / Preparação dos dados
|
66 |
+
|
67 |
+
* A tokenización dos *datasets* foi realizada co tokenizador (`tokenizer.pl`) do [Linguakit](https://github.com/citiususc/Linguakit), modificado para evitar a inserción de quebras de liña após cada *token* no ficheiro orixinal.
|
68 |
+
|
69 |
+
* A tokenização dos *datasets* foi realizada com o tokenizador (`tokenizer.pl`) do [Linguakit](https://github.com/citiususc/Linguakit), modificado para evitar a inserção de quebras de linha após cada *token* no ficheiro original.
|
70 |
+
|
71 |
+
* O vocabulario BPE utilizado nos modelos foi xerado co script [`learn_bpe.py`](https://github.com/OpenNMT/OpenNMT-py/blob/master/tools/learn_bpe.py) da OpenNMT.
|
72 |
+
|
73 |
+
* O vocabulário BPE utilizado nos modelos foi gerado com o script [`learn_bpe.py`](https://github.com/OpenNMT/OpenNMT-py/blob/master/tools/learn_bpe.py) da OpenNMT.
|
74 |
+
|
75 |
+
### 🧪 Reproducir o adestramento / Reproduzir o treino
|
76 |
+
|
77 |
+
Para obter os mesmos resultados, deben ser executadas as seguintes instrucións:
|
78 |
+
|
79 |
+
Para obter os mesmos resultados, devem ser executadas as seguintes instruções:
|
80 |
+
|
81 |
+
|
82 |
+
1. **Construír o vocabulario / Construir o vocabulário**:
|
83 |
|
84 |
+
```bash
|
85 |
+
onmt_build_vocab -config pt-gl.yaml -n_sample 35000
|
86 |
+
```
|
87 |
|
88 |
+
2. **Adestrar o modelo NMT / Treinar o modelo NMT**:
|
89 |
|
90 |
+
```bash
|
91 |
+
onmt_train -config pt-gl.yaml
|
92 |
+
```
|
93 |
|
94 |
+
**Avaliação / Avaliación**
|
95 |
|
96 |
+
A avaliación BLEU dos modelos é realizada nos seguintes datasets: Flores, Floresdevtest, Ntrex.
|
|
|
|
|
|
|
97 |
|
98 |
+
A avaliação BLEU dos modelos é realizada nos seguintes datasets: Flores, Floresdevtest e Ntrex.
|
99 |
|
|
|
100 |
|
101 |
+
| Flores_dev | Flores_devtes | Ntrex |
|
102 |
+
| ------------- |:-------------:| -------:|
|
103 |
+
| 25.6 | 25.8 | 24.1 |
|
104 |
|
|
|
105 |
|
106 |
**Licenzas do Modelo**
|
107 |
|
|
|
129 |
|
130 |
**Financiamento**
|
131 |
|
132 |
+
This model was developed during a research stay at FLUP (Faculdade de Letras da Universidade do Porto) in May and June 2024, as part of the Nós Project, funded by the Ministerio para la Transformación Digital y de la Función Pública and co-financed by the European Union – NextGenerationEU, within the framework of the ILENIA Project (reference: 2022/TL22/00215336).
|
133 |
|
134 |
+
The stay at the University of Porto (CODA-FLUP) was supported by the IACOBUS Programme (2024), a Galician–Portuguese initiative that facilitates, among other activities, research exchanges between Galician scholars and universities or technological centers in Northern Portugal, and vice versa. The programme is managed by the AECT Galicia–North of Portugal.
|
135 |
|