Jarbas commited on
Commit
b59fea6
·
verified ·
1 Parent(s): dd770a7

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -1,35 +1,5 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
 
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.mlpackage filter=lfs diff=lfs merge=lfs -text
2
+ *.mlpackage/** filter=lfs diff=lfs merge=lfs -text
3
+ weights/** filter=lfs diff=lfs merge=lfs -text
4
  *.bin filter=lfs diff=lfs merge=lfs -text
5
+ *.nemo filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ language:
4
+ - en
5
+ tags:
6
+ - asr
7
+ - speech
8
+ - coreml
9
+ - nemo
10
+ - parakeet
11
+ - nvidia
12
+ - int8-per-channel-symmetric
13
+ library_name: coremltools
14
+ pipeline_tag: automatic-speech-recognition
15
+ ---
16
+
17
+ # parakeet-ctc-0.6b-vi-coreml-int8
18
+
19
+ CoreML conversion of [nvidia/parakeet-ctc-0.6b-Vietnamese](https://huggingface.co/nvidia/parakeet-ctc-0.6b-Vietnamese) — INT8 PER CHANNEL SYMMETRIC quantized.
20
+
21
+ | | |
22
+ |---|---|
23
+ | **Architecture** | CTC |
24
+ | **Language** | English |
25
+ | **Sample rate** | 16000 Hz |
26
+ | **Max audio** | 15.0s |
27
+ | **Vocab size** | 1024 |
28
+ | **Framework** | NVIDIA NeMo → CoreML (coremltools) |
29
+
30
+ ## Components
31
+
32
+ | File | Component | Best compute |
33
+ |------|-----------|--------------|
34
+ | `parakeet_mel_encoder.mlpackage` | mel_encoder | ANE / GPU |
35
+ | `parakeet_ctc_decoder.mlpackage` | ctc_decoder | ANE / GPU |
36
+
37
+ ## Usage
38
+
39
+ ```bash
40
+ pip install ovos-stt-plugin-coreml
41
+ ```
42
+
43
+ ```python
44
+ from ovos_stt_plugin_coreml import CoremlSTT
45
+ from ovos_plugin_manager.utils.audio import AudioFile
46
+
47
+ stt = CoremlSTT(config={"metadata": "metadata.json"})
48
+
49
+ with AudioFile("speech.wav") as f:
50
+ audio = f.read()
51
+ print(stt.execute(audio))
52
+ ```
53
+
54
+ ## Source model
55
+
56
+ [nvidia/parakeet-ctc-0.6b-Vietnamese](https://huggingface.co/nvidia/parakeet-ctc-0.6b-Vietnamese)
57
+
infer.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """CTC inference with CoreML parakeet-ctc-0.6b-vi.
3
+
4
+ Usage: python infer.py audio.wav
5
+ """
6
+ import json, sys
7
+ from pathlib import Path
8
+
9
+ import coremltools as ct
10
+ import numpy as np
11
+ import soundfile as sf
12
+
13
+ REPO_DIR = Path(__file__).parent
14
+ SAMPLE_RATE = 16_000
15
+
16
+ def load_models(compute_units="ALL"):
17
+ cu_map = {"ALL": ct.ComputeUnit.ALL, "CPU_ONLY": ct.ComputeUnit.CPU_ONLY,
18
+ "CPU_AND_NE": ct.ComputeUnit.CPU_AND_NE}
19
+ cu = cu_map.get(compute_units.upper(), ct.ComputeUnit.ALL)
20
+ mel_enc = ct.models.MLModel(str(REPO_DIR / "parakeet_mel_encoder.mlpackage"), compute_units=cu)
21
+ ctc_dec = ct.models.MLModel(str(REPO_DIR / "parakeet_ctc_decoder.mlpackage"), compute_units=cu)
22
+ return mel_enc, ctc_dec
23
+
24
+ def load_audio(path, max_samples):
25
+ data, sr = sf.read(path, dtype="float32", always_2d=False)
26
+ if sr != SAMPLE_RATE:
27
+ raise ValueError(f"Expected {SAMPLE_RATE} Hz, got {sr} Hz.")
28
+ if data.ndim > 1: data = data[:, 0]
29
+ actual = min(len(data), max_samples)
30
+ data = np.pad(data, (0, max(0, max_samples - len(data))))[:max_samples]
31
+ return data.reshape(1, -1).astype(np.float32), actual
32
+
33
+ def decode_ctc(log_probs, vocab, blank_id):
34
+ ids = np.argmax(log_probs[0], axis=-1)
35
+ out, prev = [], None
36
+ for t in ids:
37
+ if t != blank_id and t != prev: out.append(int(t))
38
+ prev = t
39
+ return "".join(vocab[i] for i in out).replace("▁", " ").strip()
40
+
41
+ def transcribe(audio_path, compute_units="ALL"):
42
+ meta = json.loads((REPO_DIR / "metadata.json").read_text())
43
+ vocab = json.loads((REPO_DIR / "vocab.json").read_text())
44
+ blank = meta["blank_id"]
45
+ n = meta["max_audio_samples"]
46
+
47
+ mel_enc, ctc_dec = load_models(compute_units)
48
+ audio, actual = load_audio(audio_path, n)
49
+ length = np.array([actual], dtype=np.int32)
50
+
51
+ enc_out = mel_enc.predict({"audio_signal": audio, "audio_length": length})
52
+ encoder = enc_out["encoder"]
53
+ enc_len = int(enc_out["encoder_length"][0])
54
+ ctc_out = ctc_dec.predict({"encoder": encoder[:, :, :enc_len]})
55
+ return decode_ctc(ctc_out["log_probs"], vocab, blank)
56
+
57
+ if __name__ == "__main__":
58
+ args = sys.argv[1:]
59
+ if not args:
60
+ print("Usage: python infer.py <audio.wav> [--compute-units ALL|CPU_ONLY|CPU_AND_NE]")
61
+ sys.exit(1)
62
+ cu = "ALL"
63
+ if "--compute-units" in args:
64
+ cu = args[args.index("--compute-units") + 1]
65
+ print(transcribe(args[0], cu))
metadata.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_id": "nvidia/parakeet-ctc-0.6b-Vietnamese",
3
+ "model_type": "ctc",
4
+ "language": "",
5
+ "sample_rate": 16000,
6
+ "max_audio_seconds": 15.0,
7
+ "max_audio_samples": 240000,
8
+ "vocab_size": 1024,
9
+ "blank_id": 1024,
10
+ "checkpoint": {
11
+ "type": "pretrained",
12
+ "model_id": "nvidia/parakeet-ctc-0.6b-Vietnamese"
13
+ },
14
+ "coreml": {
15
+ "compute_precision": "FLOAT32",
16
+ "quantization": "int8_per_channel_symmetric"
17
+ },
18
+ "components": {
19
+ "mel_encoder": {
20
+ "path": "parakeet_mel_encoder.mlpackage",
21
+ "inputs": {
22
+ "audio_signal": [
23
+ 1,
24
+ 240000
25
+ ],
26
+ "audio_length": [
27
+ 1
28
+ ]
29
+ },
30
+ "outputs": {
31
+ "encoder": [
32
+ 1,
33
+ 1024,
34
+ 188
35
+ ],
36
+ "encoder_length": [
37
+ 1
38
+ ]
39
+ }
40
+ },
41
+ "ctc_decoder": {
42
+ "path": "parakeet_ctc_decoder.mlpackage",
43
+ "inputs": {
44
+ "encoder": [
45
+ 1,
46
+ 1024,
47
+ 188
48
+ ]
49
+ },
50
+ "outputs": {
51
+ "log_probs": [
52
+ 1,
53
+ 188,
54
+ 1025
55
+ ]
56
+ }
57
+ }
58
+ }
59
+ }
parakeet_ctc_decoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f660ae82203e0667e5e43363df6b86d509fd2edeffa2bd3b8a2517ad7141e1b
3
+ size 3344
parakeet_ctc_decoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3eba4ca991c8077fce09ad9c16dc4d4568d48cce5f306ff8d6d42092fbce906b
3
+ size 1055170
parakeet_ctc_decoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "1055B8A7-8FA3-4D81-A808-F816C0A400BD": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "72656408-531A-4090-BBE6-44181920F5E6": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "1055B8A7-8FA3-4D81-A808-F816C0A400BD"
18
+ }
parakeet_mel_encoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8c6f3abdfed0f0e1508d6094cfefefe55d54bce4a0e2a893fa8b6f8545a08f99
3
+ size 781887
parakeet_mel_encoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:030f3649bcb7d6eeddc4f14880d7764fc8005d5a8beb607d0bd6fde7c52bda33
3
+ size 593885312
parakeet_mel_encoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "52C341DA-8AFD-4367-BCC6-7081E3164B13": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "BFFB66AC-0F25-425C-B92D-B57556B8452F": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "52C341DA-8AFD-4367-BCC6-7081E3164B13"
18
+ }
quantization_summary.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "parakeet_ctc_decoder": {
3
+ "original_mb": 2.0,
4
+ "int8_mb": 1.0,
5
+ "compression": 1.99
6
+ },
7
+ "parakeet_mel_encoder": {
8
+ "original_mb": 1130.2,
9
+ "int8_mb": 567.1,
10
+ "compression": 1.99
11
+ }
12
+ }
vocab.json ADDED
@@ -0,0 +1,1026 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "<unk>",
3
+ "ng",
4
+ "▁t",
5
+ "▁c",
6
+ "▁đ",
7
+ "nh",
8
+ "▁.",
9
+ "▁l",
10
+ "▁th",
11
+ "▁m",
12
+ "▁v",
13
+ "▁ch",
14
+ "▁h",
15
+ "▁b",
16
+ "▁k",
17
+ "▁n",
18
+ "▁,",
19
+ "▁nh",
20
+ "▁s",
21
+ "▁tr",
22
+ "▁kh",
23
+ "▁ng",
24
+ "▁g",
25
+ "▁là",
26
+ "ông",
27
+ "▁p",
28
+ "▁ph",
29
+ "▁r",
30
+ "▁d",
31
+ "▁gi",
32
+ "ời",
33
+ "ên",
34
+ "▁cá",
35
+ "▁và",
36
+ "qu",
37
+ "▁qu",
38
+ "▁có",
39
+ "iệ",
40
+ "ột",
41
+ "▁không",
42
+ "ôi",
43
+ "iế",
44
+ "▁một",
45
+ "ới",
46
+ "ủa",
47
+ "▁của",
48
+ "▁T",
49
+ "▁x",
50
+ "ười",
51
+ "ượ",
52
+ "ình",
53
+ "ất",
54
+ "ại",
55
+ "▁C",
56
+ "▁N",
57
+ "uy",
58
+ "ày",
59
+ "ai",
60
+ "▁người",
61
+ "ong",
62
+ "anh",
63
+ "ược",
64
+ "ch",
65
+ "iề",
66
+ "▁được",
67
+ "▁nó",
68
+ "ững",
69
+ "ân",
70
+ "▁cho",
71
+ "ay",
72
+ "ấy",
73
+ "▁như",
74
+ "▁ngh",
75
+ "▁mà",
76
+ "▁tôi",
77
+ "ươ",
78
+ "ải",
79
+ "▁những",
80
+ "▁thì",
81
+ "ây",
82
+ "ao",
83
+ "▁đã",
84
+ "ần",
85
+ "▁cái",
86
+ "▁đó",
87
+ "▁đi",
88
+ "an",
89
+ "on",
90
+ "▁với",
91
+ "ướ",
92
+ "▁trong",
93
+ "▁các",
94
+ "iều",
95
+ "▁này",
96
+ "ũng",
97
+ "em",
98
+ "úng",
99
+ "ăm",
100
+ "ồi",
101
+ "ạn",
102
+ "▁anh",
103
+ "uố",
104
+ "iên",
105
+ "▁?",
106
+ "ác",
107
+ "▁V",
108
+ "▁ra",
109
+ "▁cũng",
110
+ "▁mình",
111
+ "▁để",
112
+ "▁ta",
113
+ "ến",
114
+ "▁con",
115
+ "ành",
116
+ "ước",
117
+ "ết",
118
+ "▁sẽ",
119
+ "ang",
120
+ "▁ở",
121
+ "▁làm",
122
+ "ương",
123
+ "▁lại",
124
+ "▁cả",
125
+ "inh",
126
+ "▁phải",
127
+ "ầu",
128
+ "▁thể",
129
+ "▁M",
130
+ "▁Đ",
131
+ "ườ",
132
+ "âu",
133
+ "iết",
134
+ "ường",
135
+ "▁em",
136
+ "▁họ",
137
+ "ận",
138
+ "▁về",
139
+ "ào",
140
+ "ức",
141
+ "▁H",
142
+ "ực",
143
+ "▁hai",
144
+ "▁đến",
145
+ "iện",
146
+ "au",
147
+ "▁ho",
148
+ "ằng",
149
+ "àn",
150
+ "▁nói",
151
+ "▁độ",
152
+ "ơn",
153
+ "àng",
154
+ "▁rồi",
155
+ "ài",
156
+ "ính",
157
+ "ật",
158
+ "▁gì",
159
+ "▁khi",
160
+ "▁Ch",
161
+ "iể",
162
+ "▁B",
163
+ "▁Nh",
164
+ "▁công",
165
+ "òn",
166
+ "▁bạn",
167
+ "▁từ",
168
+ "ưa",
169
+ "ăn",
170
+ "▁chúng",
171
+ "ống",
172
+ "ung",
173
+ "▁vào",
174
+ "ản",
175
+ "▁sự",
176
+ "ậy",
177
+ "ối",
178
+ "▁Th",
179
+ "ùng",
180
+ "iệc",
181
+ "iến",
182
+ "in",
183
+ "ữa",
184
+ "▁thế",
185
+ "ái",
186
+ "át",
187
+ "▁nhà",
188
+ "▁việc",
189
+ "▁nhiều",
190
+ "▁nào",
191
+ "▁ông",
192
+ "úc",
193
+ "▁biết",
194
+ "▁đầu",
195
+ "▁chỉ",
196
+ "ơi",
197
+ "▁K",
198
+ "▁Ng",
199
+ "▁thấy",
200
+ "ôn",
201
+ "▁năm",
202
+ "áng",
203
+ "▁L",
204
+ "▁còn",
205
+ "▁giờ",
206
+ "▁rất",
207
+ "ội",
208
+ "ăng",
209
+ "▁thành",
210
+ "êu",
211
+ "▁chuy",
212
+ "ồng",
213
+ "án",
214
+ "▁vậy",
215
+ "▁đây",
216
+ "▁Tr",
217
+ "ộc",
218
+ "ắc",
219
+ "eo",
220
+ "ục",
221
+ "▁bị",
222
+ "▁đị",
223
+ "am",
224
+ "ọi",
225
+ "iệt",
226
+ "ẫn",
227
+ "▁ba",
228
+ "ắt",
229
+ "ập",
230
+ "▁hơn",
231
+ "ươi",
232
+ "ện",
233
+ "▁lu",
234
+ "òng",
235
+ "ổi",
236
+ "ếu",
237
+ "▁tiế",
238
+ "▁trên",
239
+ "▁đề",
240
+ "▁đang",
241
+ "áo",
242
+ "uộc",
243
+ "ích",
244
+ "ánh",
245
+ "▁mươi",
246
+ "▁y",
247
+ "▁quan",
248
+ "ặt",
249
+ "▁nghĩ",
250
+ "▁ngày",
251
+ "▁sao",
252
+ "iền",
253
+ "ách",
254
+ "▁nhưng",
255
+ "▁S",
256
+ "âm",
257
+ "▁quy",
258
+ "▁chính",
259
+ "▁lên",
260
+ "▁mới",
261
+ "ìn",
262
+ "ưng",
263
+ "ấn",
264
+ "▁nên",
265
+ "▁Kh",
266
+ "▁nước",
267
+ "uốn",
268
+ "▁số",
269
+ "ỏi",
270
+ "▁điều",
271
+ "▁nhất",
272
+ "▁A",
273
+ "▁vì",
274
+ "▁chị",
275
+ "▁tư",
276
+ "▁cô",
277
+ "▁Tôi",
278
+ "▁nữa",
279
+ "▁rằng",
280
+ "▁học",
281
+ "ặc",
282
+ "▁bả",
283
+ "▁sau",
284
+ "▁nhân",
285
+ "▁khác",
286
+ "ạo",
287
+ "▁tại",
288
+ "▁hay",
289
+ "▁động",
290
+ "ám",
291
+ "ền",
292
+ "iểu",
293
+ "ốc",
294
+ "▁cách",
295
+ "▁hiện",
296
+ "▁theo",
297
+ "ởng",
298
+ "ứng",
299
+ "iệu",
300
+ "▁ấy",
301
+ "▁thời",
302
+ "▁muốn",
303
+ "▁định",
304
+ "▁qua",
305
+ "▁to",
306
+ "▁do",
307
+ "▁trước",
308
+ "▁tới",
309
+ "áp",
310
+ "▁đâu",
311
+ "▁trăm",
312
+ "▁thu",
313
+ "ốt",
314
+ "ượng",
315
+ "ạnh",
316
+ "êm",
317
+ "ấu",
318
+ "▁cùng",
319
+ "ấp",
320
+ "ọng",
321
+ "ốn",
322
+ "ạt",
323
+ "ừng",
324
+ "▁nay",
325
+ "▁gia",
326
+ "▁Nhưng",
327
+ "▁chuyện",
328
+ "▁tự",
329
+ "▁lo",
330
+ "▁hàng",
331
+ "▁thực",
332
+ "▁P",
333
+ "▁đồng",
334
+ "▁chí",
335
+ "▁Và",
336
+ "ỗi",
337
+ "▁cơ",
338
+ "▁nhận",
339
+ "▁lý",
340
+ "▁vẫn",
341
+ "▁kho",
342
+ "▁ý",
343
+ "▁ăn",
344
+ "ắn",
345
+ "▁mười",
346
+ "áu",
347
+ "▁cứ",
348
+ "▁cuộc",
349
+ "▁tin",
350
+ "ừa",
351
+ "▁lớ",
352
+ "ắng",
353
+ "▁quá",
354
+ "uống",
355
+ "▁thứ",
356
+ "▁Anh",
357
+ "▁bộ",
358
+ "▁hội",
359
+ "▁vị",
360
+ "▁cảm",
361
+ "ậu",
362
+ "▁thôi",
363
+ "▁mẹ",
364
+ "ia",
365
+ "▁mọi",
366
+ "ịch",
367
+ "▁cần",
368
+ "▁sống",
369
+ "▁chưa",
370
+ "▁hết",
371
+ "▁ngo",
372
+ "ắm",
373
+ "▁trường",
374
+ "iêu",
375
+ "▁D",
376
+ "▁dụ",
377
+ "▁bà",
378
+ "▁nghiệ",
379
+ "▁chú",
380
+ "ảng",
381
+ "▁tâm",
382
+ "▁mặt",
383
+ "▁tình",
384
+ "▁lúc",
385
+ "▁tiếp",
386
+ "ua",
387
+ "▁đối",
388
+ "▁luôn",
389
+ "▁tiền",
390
+ "ẳng",
391
+ "▁Ph",
392
+ "▁ai",
393
+ "ồn",
394
+ "▁nhau",
395
+ "uyên",
396
+ "ễn",
397
+ "en",
398
+ "▁Q",
399
+ "▁phát",
400
+ "ửa",
401
+ "▁bằng",
402
+ "▁quân",
403
+ "▁hình",
404
+ "▁hành",
405
+ "▁lớn",
406
+ "▁phần",
407
+ "ôm",
408
+ "▁dân",
409
+ "▁thường",
410
+ "ợp",
411
+ "ệnh",
412
+ "▁hỏi",
413
+ "▁sinh",
414
+ "óng",
415
+ "▁!",
416
+ "▁tu",
417
+ "▁điể",
418
+ "▁thông",
419
+ "▁nhiên",
420
+ "▁viên",
421
+ "ầm",
422
+ "▁chủ",
423
+ "ọn",
424
+ "▁hợp",
425
+ "ìm",
426
+ "▁bên",
427
+ "▁nếu",
428
+ "▁trở",
429
+ "▁Có",
430
+ "▁đường",
431
+ "▁bắt",
432
+ "▁bao",
433
+ "ướng",
434
+ "▁nhìn",
435
+ "ởi",
436
+ "▁cao",
437
+ "▁năng",
438
+ "▁lần",
439
+ "▁dự",
440
+ "▁bảo",
441
+ "▁điểm",
442
+ "▁đo",
443
+ "iển",
444
+ "▁câu",
445
+ "▁bản",
446
+ "▁xu",
447
+ "▁gian",
448
+ "▁đại",
449
+ "▁đều",
450
+ "ưởng",
451
+ "▁trình",
452
+ "▁kinh",
453
+ "▁nghe",
454
+ "▁tay",
455
+ "▁tổ",
456
+ "▁khó",
457
+ "▁quốc",
458
+ "▁đúng",
459
+ "ãy",
460
+ "▁tốt",
461
+ "ợi",
462
+ "▁dụng",
463
+ "ạng",
464
+ "▁lời",
465
+ "▁toàn",
466
+ "▁tìm",
467
+ "ển",
468
+ "▁thức",
469
+ "ạc",
470
+ "▁G",
471
+ "▁giá",
472
+ "▁trọng",
473
+ "▁thân",
474
+ "▁giới",
475
+ "▁thật",
476
+ "▁lực",
477
+ "ặp",
478
+ "▁giải",
479
+ "▁tế",
480
+ "▁trung",
481
+ "▁bây",
482
+ "▁vừa",
483
+ "▁chiến",
484
+ "▁chứ",
485
+ "▁Một",
486
+ "▁đội",
487
+ "▁đánh",
488
+ "▁cầu",
489
+ "▁Việt",
490
+ "▁kết",
491
+ "▁yêu",
492
+ "▁tuy",
493
+ "▁thủ",
494
+ "▁Không",
495
+ "▁tháng",
496
+ "ầy",
497
+ "▁Nam",
498
+ "▁phòng",
499
+ "▁bốn",
500
+ "▁hiểu",
501
+ "▁tính",
502
+ "▁tiếng",
503
+ "▁đấy",
504
+ "▁chín",
505
+ "▁nghìn",
506
+ "▁xin",
507
+ "▁quyết",
508
+ "▁má",
509
+ "▁E",
510
+ "▁vụ",
511
+ "▁vô",
512
+ "▁tất",
513
+ "▁sản",
514
+ "▁nghiệp",
515
+ "▁hôm",
516
+ "ảnh",
517
+ "▁thương",
518
+ "úp",
519
+ "▁đưa",
520
+ "ọc",
521
+ "▁phí",
522
+ "uốc",
523
+ "út",
524
+ "im",
525
+ "ạy",
526
+ "▁bệnh",
527
+ "▁ngoài",
528
+ "▁bất",
529
+ "▁giả",
530
+ "▁quả",
531
+ "ét",
532
+ "▁tập",
533
+ "▁gọi",
534
+ "▁thị",
535
+ "ít",
536
+ "▁lấy",
537
+ "ẩn",
538
+ "▁đất",
539
+ "▁tạo",
540
+ "▁trị",
541
+ "▁sáu",
542
+ "▁xem",
543
+ "▁bỏ",
544
+ "▁bu",
545
+ "▁di",
546
+ "▁tiên",
547
+ "iệm",
548
+ "▁gặp",
549
+ "▁phương",
550
+ "▁thích",
551
+ "ộng",
552
+ "▁sử",
553
+ "▁á",
554
+ "uyền",
555
+ "▁vấn",
556
+ "▁xuất",
557
+ "▁lượng",
558
+ "ép",
559
+ "▁Trong",
560
+ "iếu",
561
+ "▁sĩ",
562
+ "▁lắm",
563
+ "▁mấy",
564
+ "ạm",
565
+ "▁bình",
566
+ "▁liên",
567
+ "▁xuống",
568
+ "ạch",
569
+ "▁tác",
570
+ "▁sáng",
571
+ "▁nghĩa",
572
+ "▁tài",
573
+ "ảy",
574
+ "▁giúp",
575
+ "▁Em",
576
+ "ẩm",
577
+ "ảo",
578
+ "▁Nếu",
579
+ "ỉnh",
580
+ "ứa",
581
+ "▁kỳ",
582
+ "▁xe",
583
+ "▁tưởng",
584
+ "▁đời",
585
+ "▁khu",
586
+ "óc",
587
+ "▁cậu",
588
+ "uối",
589
+ "▁đổi",
590
+ "uyện",
591
+ "▁dư",
592
+ "▁đấu",
593
+ "iểm",
594
+ "▁nhỏ",
595
+ "▁hoặc",
596
+ "▁nơi",
597
+ "▁báo",
598
+ "▁cấp",
599
+ "▁mạnh",
600
+ "▁R",
601
+ "▁Chúng",
602
+ "▁hoàn",
603
+ "▁trả",
604
+ "▁biệt",
605
+ "▁tho",
606
+ "▁hệ",
607
+ "▁tiêu",
608
+ "▁chức",
609
+ "▁pháp",
610
+ "▁lòng",
611
+ "▁triển",
612
+ "▁tám",
613
+ "▁Nó",
614
+ "▁bảy",
615
+ "▁tử",
616
+ "▁Những",
617
+ "▁gh",
618
+ "▁tên",
619
+ "▁giáo",
620
+ "▁chết",
621
+ "▁gần",
622
+ "▁thống",
623
+ "▁mất",
624
+ "▁cố",
625
+ "ấm",
626
+ "iếm",
627
+ "▁an",
628
+ "ãi",
629
+ "▁đình",
630
+ "ắp",
631
+ "▁Ô",
632
+ "▁thêm",
633
+ "▁sức",
634
+ "▁tục",
635
+ "▁khách",
636
+ "ẹp",
637
+ "▁cổ",
638
+ "▁ảnh",
639
+ "ằm",
640
+ "▁chơi",
641
+ "▁đạo",
642
+ "▁ngay",
643
+ "▁hoá",
644
+ "▁văn",
645
+ "▁mày",
646
+ "▁thay",
647
+ "▁ơi",
648
+ "▁mắt",
649
+ "▁Ông",
650
+ "▁quyền",
651
+ "▁từng",
652
+ "▁mang",
653
+ "▁chu",
654
+ "▁doanh",
655
+ "ặng",
656
+ "▁chắc",
657
+ "▁Các",
658
+ "▁chẳng",
659
+ "▁vật",
660
+ "▁giữa",
661
+ "▁đủ",
662
+ "▁mua",
663
+ "▁tăng",
664
+ "▁bóng",
665
+ "▁sách",
666
+ "▁bác",
667
+ "▁phía",
668
+ "▁mỗi",
669
+ "▁trí",
670
+ "▁bé",
671
+ "▁bán",
672
+ "▁thần",
673
+ "▁quý",
674
+ "▁trời",
675
+ "▁bàn",
676
+ "▁vi",
677
+ "▁cảnh",
678
+ "▁địa",
679
+ "▁Khi",
680
+ "iếc",
681
+ "▁lã",
682
+ "oi",
683
+ "▁phố",
684
+ "▁Nga",
685
+ "▁xã",
686
+ "▁rõ",
687
+ "▁Cái",
688
+ "▁hiệu",
689
+ "▁trận",
690
+ "▁Mỹ",
691
+ "▁trẻ",
692
+ "ưu",
693
+ "▁lợi",
694
+ "ui",
695
+ "▁hả",
696
+ "▁Qu",
697
+ "▁lập",
698
+ "▁nha",
699
+ "▁hãy",
700
+ "▁nguyên",
701
+ "▁án",
702
+ "▁Con",
703
+ "▁minh",
704
+ "▁chất",
705
+ "▁chân",
706
+ "▁dùng",
707
+ "▁so",
708
+ "▁ban",
709
+ "▁dịch",
710
+ "▁kia",
711
+ "▁chịu",
712
+ "▁chạy",
713
+ "▁ạ",
714
+ "▁Gi",
715
+ "▁tỉnh",
716
+ "▁ty",
717
+ "▁đứng",
718
+ "▁loại",
719
+ "▁sở",
720
+ "▁càng",
721
+ "▁vực",
722
+ "▁tiến",
723
+ "▁dẫn",
724
+ "▁cửa",
725
+ "▁sợ",
726
+ "▁điện",
727
+ "▁chỗ",
728
+ "▁thi",
729
+ "ệt",
730
+ "▁dù",
731
+ "▁ngồi",
732
+ "▁sát",
733
+ "▁tranh",
734
+ "▁giống",
735
+ "▁bởi",
736
+ "▁đồ",
737
+ "▁X",
738
+ "▁diễn",
739
+ "▁nhớ",
740
+ "▁chuyển",
741
+ "▁vui",
742
+ "▁đứa",
743
+ "▁giao",
744
+ "▁đơn",
745
+ "▁xa",
746
+ "▁phụ",
747
+ "▁lâu",
748
+ "▁đặc",
749
+ "▁kiến",
750
+ "ar",
751
+ "er",
752
+ "▁ít",
753
+ "▁khỏi",
754
+ "▁Người",
755
+ "▁tuổi",
756
+ "▁bố",
757
+ "▁sang",
758
+ "êng",
759
+ "▁thằng",
760
+ "▁phẩm",
761
+ "▁chung",
762
+ "▁máy",
763
+ "▁chiếc",
764
+ "▁Là",
765
+ "ĩnh",
766
+ "▁thiết",
767
+ "��chọn",
768
+ "▁đẹp",
769
+ "▁cây",
770
+ "▁dài",
771
+ "▁mục",
772
+ "àu",
773
+ "▁giữ",
774
+ "▁Quốc",
775
+ "▁đông",
776
+ "▁đáng",
777
+ "▁hướng",
778
+ "▁cứu",
779
+ "▁hoạt",
780
+ "▁truyền",
781
+ "▁xác",
782
+ "▁đặt",
783
+ "uyễn",
784
+ "▁bài",
785
+ "▁lẽ",
786
+ "▁dễ",
787
+ "▁biến",
788
+ "▁tham",
789
+ "▁cuối",
790
+ "▁phục",
791
+ "ùa",
792
+ "▁chương",
793
+ "▁xong",
794
+ "ậm",
795
+ "▁dưới",
796
+ "ảm",
797
+ "▁kể",
798
+ "▁khiến",
799
+ "▁U",
800
+ "▁Trung",
801
+ "▁sai",
802
+ "▁chứng",
803
+ "▁vợ",
804
+ "▁đừng",
805
+ "▁Nguyễn",
806
+ "▁triệu",
807
+ "▁gái",
808
+ "▁nè",
809
+ "▁Còn",
810
+ "▁bước",
811
+ "▁coi",
812
+ "▁khả",
813
+ "▁luật",
814
+ "▁tương",
815
+ "▁tối",
816
+ "▁khoảng",
817
+ "iêng",
818
+ "▁chế",
819
+ "▁ngu",
820
+ "▁trưởng",
821
+ "▁tích",
822
+ "▁mở",
823
+ "▁tượng",
824
+ "▁khí",
825
+ "éo",
826
+ "▁quay",
827
+ "▁đá",
828
+ "▁thái",
829
+ "ựa",
830
+ "▁tức",
831
+ "▁à",
832
+ "ẩy",
833
+ "▁Vì",
834
+ "▁nghiệm",
835
+ "▁nổi",
836
+ "▁tao",
837
+ "▁Đây",
838
+ "▁thuộc",
839
+ "▁Mà",
840
+ "▁Tuy",
841
+ "▁mức",
842
+ "âng",
843
+ "▁nhiệm",
844
+ "▁thanh",
845
+ "▁Đó",
846
+ "▁tổng",
847
+ "▁nhanh",
848
+ "▁nữ",
849
+ "óm",
850
+ "▁chia",
851
+ "▁kiểm",
852
+ "▁vệ",
853
+ "▁ứng",
854
+ "▁đàn",
855
+ "▁yếu",
856
+ "▁xảy",
857
+ "▁chi",
858
+ "▁hồi",
859
+ "iềm",
860
+ "▁vài",
861
+ "▁vọng",
862
+ "▁đem",
863
+ "▁duy",
864
+ "▁phủ",
865
+ "▁lịch",
866
+ "ượt",
867
+ "▁chút",
868
+ "▁hạn",
869
+ "▁kế",
870
+ "▁cực",
871
+ "▁chồng",
872
+ "▁",
873
+ "n",
874
+ "h",
875
+ "t",
876
+ "i",
877
+ "c",
878
+ "g",
879
+ "a",
880
+ "m",
881
+ "đ",
882
+ "u",
883
+ "à",
884
+ "o",
885
+ "l",
886
+ ".",
887
+ "ư",
888
+ "r",
889
+ "y",
890
+ "v",
891
+ "á",
892
+ "ô",
893
+ "b",
894
+ "k",
895
+ ",",
896
+ "ó",
897
+ "p",
898
+ "s",
899
+ "ế",
900
+ "ì",
901
+ "ạ",
902
+ "ộ",
903
+ "ờ",
904
+ "ả",
905
+ "ấ",
906
+ "ê",
907
+ "ố",
908
+ "â",
909
+ "ớ",
910
+ "ệ",
911
+ "d",
912
+ "ề",
913
+ "ể",
914
+ "ơ",
915
+ "ủ",
916
+ "ậ",
917
+ "ợ",
918
+ "e",
919
+ "q",
920
+ "ầ",
921
+ "ú",
922
+ "ị",
923
+ "ữ",
924
+ "T",
925
+ "í",
926
+ "ă",
927
+ "x",
928
+ "ứ",
929
+ "ự",
930
+ "ọ",
931
+ "ồ",
932
+ "ã",
933
+ "ở",
934
+ "C",
935
+ "N",
936
+ "ắ",
937
+ "ừ",
938
+ "ò",
939
+ "ụ",
940
+ "ũ",
941
+ "ổ",
942
+ "ặ",
943
+ "ẽ",
944
+ "ù",
945
+ "?",
946
+ "V",
947
+ "ằ",
948
+ "M",
949
+ "Đ",
950
+ "ỉ",
951
+ "ỏ",
952
+ "H",
953
+ "ý",
954
+ "ử",
955
+ "ĩ",
956
+ "B",
957
+ "é",
958
+ "ỗ",
959
+ "ẫ",
960
+ "ẹ",
961
+ "K",
962
+ "L",
963
+ "ẩ",
964
+ "ễ",
965
+ "S",
966
+ "ẻ",
967
+ "A",
968
+ "è",
969
+ "P",
970
+ "ẳ",
971
+ "D",
972
+ "Q",
973
+ "õ",
974
+ "!",
975
+ "ỹ",
976
+ "ỡ",
977
+ "G",
978
+ "ỳ",
979
+ "E",
980
+ "R",
981
+ "ỷ",
982
+ "Ô",
983
+ "X",
984
+ "U",
985
+ "ẵ",
986
+ "f",
987
+ "I",
988
+ "Ở",
989
+ "Â",
990
+ "Á",
991
+ "Y",
992
+ "J",
993
+ "z",
994
+ "ỵ",
995
+ "F",
996
+ "O",
997
+ "w",
998
+ "W",
999
+ "Ấ",
1000
+ "Ý",
1001
+ "Ừ",
1002
+ "j",
1003
+ "Ă",
1004
+ "Ờ",
1005
+ "À",
1006
+ "Z",
1007
+ "Ả",
1008
+ "Í",
1009
+ "Ồ",
1010
+ "Ơ",
1011
+ "Ê",
1012
+ "Ư",
1013
+ "Ứ",
1014
+ "Ú",
1015
+ "Ố",
1016
+ "Ớ",
1017
+ "Ủ",
1018
+ "É",
1019
+ "Ẩ",
1020
+ "Ắ",
1021
+ "Ổ",
1022
+ "Ỷ",
1023
+ "Ù",
1024
+ "Ế",
1025
+ "Ỳ"
1026
+ ]