Views
No views yet
| Model | #params | Arch. | Training/Validation data |
|---|---|---|---|
id-g2p-bert | 200K | BERT | Malay/Indonesian Lexicon |

vocab_size: 32
max_len: 32
embed_dim: 128
num_attention_head: 2
feed_forward_dim: 128
num_layers: 2batch_size: 32
optimizer: "adam"
learning_rate: 0.001
epochs: 100id2token = {
0: '',
1: '[UNK]',
2: 'a',
3: 'n',
4: 'ə',
5: 'i',
6: 'r',
7: 'k',
8: 'm',
9: 't',
10: 'u',
11: 'g',
12: 's',
13: 'b',
14: 'p',
15: 'l',
16: 'd',
17: 'o',
18: 'e',
19: 'h',
20: 'c',
21: 'y',
22: 'j',
23: 'w',
24: 'f',
25: 'v',
26: '-',
27: 'z',
28: "'",
29: 'q',
30: '[mask]'
}
token2id = {
'': 0,
"'": 28,
'-': 26,
'[UNK]': 1,
'[mask]': 30,
'a': 2,
'b': 13,
'c': 20,
'd': 16,
'e': 18,
'f': 24,
'g': 11,
'h': 19,
'i': 5,
'j': 22,
'k': 7,
'l': 15,
'm': 8,
'n': 3,
'o': 17,
'p': 14,
'q': 29,
'r': 6,
's': 12,
't': 9,
'u': 10,
'v': 25,
'w': 23,
'y': 21,
'z': 27,
'ə': 4
}1import keras
2import tensorflow as tf
3import numpy as np
4from huggingface_hub import from_pretrained_keras
5
6model = from_pretrained_keras("bookbot/id-g2p-bert")
7
8MAX_LEN = 32
9MASK_TOKEN_ID = 30
10
11def inference(sequence):
12 sequence = " ".join([c if c != "e" else "[mask]" for c in sequence])
13 tokens = [token2id[c] for c in sequence.split()]
14 pad = [token2id[""] for _ in range(MAX_LEN - len(tokens))]
15
16 tokens = tokens + pad
17 input_ids = tf.convert_to_tensor(np.array([tokens]))
18 prediction = model.predict(input_ids)
19
20 # find masked idx token
21 masked_index = np.where(input_ids == MASK_TOKEN_ID)
22 masked_index = masked_index[1]
23
24 # get prediction at those masked index only
25 mask_prediction = prediction[0][masked_index]
26 predicted_ids = np.argmax(mask_prediction, axis=1)
27
28 # replace mask with predicted token
29 for i, idx in enumerate(masked_index):
30 tokens[idx] = predicted_ids[i]
31
32 return "".join([id2token[t] for t in tokens if t != 0])
33
34inference("mengembangkannya")