File size: 3,059 Bytes
378fa67
82625f8
e0ccb6e
 
 
 
 
 
 
378fa67
e0ccb6e
 
 
 
 
 
 
 
 
 
 
 
 
 
1b46209
e0ccb6e
1b46209
e0ccb6e
1b46209
 
e0ccb6e
 
 
 
 
277d077
e0ccb6e
e79ca99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20f98ba
 
e0ccb6e
 
 
 
 
 
45e24f5
 
 
 
 
 
e0ccb6e
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: cc-by-sa-4.0
language:
- th
metrics:
- cer
- wer
library_name: espnet
pipeline_tag: automatic-speech-recognition
---
# Model Card for Model ID

<!-- Provide a quick summary of what the model is/does. -->

This is the baseline model of Khummuang in [Thai-dialect corpus](https://github.com/SLSCU/thai-dialect-corpus).

The training recipe was based on wsj recipe in [espnet](https://github.com/espnet/espnet/).



### Model Description

<!-- Provide a longer summary of what this model is. -->

This model is a Hybrid CTC/Attention model with pre-trained HuBERT encoder.

The model was pre-trained on Thai-central, Khummuang, Korat, and Pattani and fine-tuned on Khummuang, Korat, and Pattani. (Experiment 3 in the paper)

We provide some demo code to do inference with this model architecture on colab [here](https://colab.research.google.com/drive/1stltGdpG9OV-sCl9QgkvEXZV7fGB2Ixe?usp=sharing). 
(Code is for Thai-Central. Please select the correct model accordingly.)

## Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

For evaluation, the metrics are CER and WER. before WER evaluation, transcriptions were re-tokenized using newmm tokenizer in [PyThaiNLP](https://github.com/PyThaiNLP/pythainlp)

In this reposirity, we also provide the vocabulary for building the newmm tokenizer using this script:

```python
from pythainlp import Tokenizer

def get_tokenizer(vocab):

    custom_vocab = set(vocab)
    custom_tokenizer = Tokenizer(custom_vocab, engine='newmm')
    return custom_tokenizer

with open(<vocab_path>,'r',encoding='utf-8') as f:
        vocab = []
        for line in f.readlines():
            vocab.append(line.strip())

custom_tokenizer = get_tokenizer(vocab)

tokenized_sentence_list = custom_tokenizer.word_tokenize(<your_sentence>)
```

The CER and WER results on test set are:

|Micro CER|Macro CER|Survival CER|E-commerce WER|Micro WER|Macro WER|Survival WER|E-commerce WER|
|---|---|---|---|---|---|---|---|
|5.35|5.65|6.29|5.02|7.53|8.73|11.38|6.09|
<!-- |8.08|11.51|17.39|5.63|12.18|16.65|25.58|7.72| -->
<!-- |18.17|22.38|31.01|13.75|31.74|37.68|50.54|24.82| -->

## Acknowledgement

We would like to thank the PMU-C grant (Thai Language Automatic Speech Recognition Interface for Community E-Commerce, C10F630122)
for the support of this research. 
We also would like to acknowledge the Apex compute cluster team which provides compute support for this project.

## Paper

[Thai Dialect Corpus and Transfer-based Curriculum Learning Investigation for Dialect Automatic Speech Recognition](https://www.isca-speech.org/archive/pdfs/interspeech_2023/suwanbandit23_interspeech.pdf)
```
@inproceedings{suwanbandit23_interspeech,
  author={Artit Suwanbandit and Burin Naowarat and Orathai Sangpetch and Ekapol Chuangsuwanich},
  title={{Thai Dialect Corpus and Transfer-based Curriculum Learning Investigation for Dialect Automatic Speech Recognition}},
  year=2023,
  booktitle={Proc. INTERSPEECH 2023},
  pages={4069--4073},
  doi={10.21437/Interspeech.2023-1828}
}
```