jramompichel commited on
Commit
df6552e
·
verified ·
1 Parent(s): ca6abb5

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +84 -35
README.md CHANGED
@@ -4,56 +4,104 @@ language:
4
  - pt
5
  - gl
6
  metrics:
7
- - bleu (floresdev): 25.6
8
- - bleu (floredevtest): 25.4
9
- - bleu (ntrex): 25.1
10
  ---
 
11
 
12
- **Descrición do Modelo**
13
 
14
- Modelo feito con OpenNMT-py 3.2 para o par português-galego utilizando unha arquitectura transformer. O modelo foi transformado para o formato da ctranslate2.
15
 
16
- **Como traducir con este Modelo**
17
 
18
- + Instalar o [Python 3.9](https://www.python.org/downloads/release/python-390/)
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
- **Adestramento**
 
 
34
 
35
- 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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
- **Procedemento de adestramento**
 
 
38
 
39
- + 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.
40
 
41
- + 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
 
 
42
 
43
- + 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:
44
 
45
- ```bash
46
- onmt_build_vocab -config pt-gl.yaml -n_sample 35000
47
- onmt_train -config pt-gl.yaml
48
- ```
49
 
50
- **Hiperparámetros**
51
 
52
- Os parámetros usados para o desenvolvemento do modelo poden ser consultados directamente no mesmo ficheiro .yaml pt-gl.yaml
53
 
54
- **Avaliación**
 
 
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 within the Nós Project, funded by the Ministerio para la Transformación Digital y de la Función Pública - Funded by EU – NextGenerationEU within the framework of the [project ILENIA] (https://proyectoilenia.es/) with reference 2022/TL22/00215336.
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