monsoon-nlp
commited on
Commit
•
9b5ca3c
1
Parent(s):
8ce6519
Usable example code
Browse files
README.md
CHANGED
@@ -8,15 +8,23 @@ Adapted from https://github.com/ThAIKeras/bert for HuggingFace/Transformers libr
|
|
8 |
|
9 |
## Pre-tokenization
|
10 |
|
11 |
-
You must run the original ThaiTokenizer to have your tokenization match that of the original model.
|
|
|
|
|
12 |
mBERT or random chance!
|
13 |
|
|
|
|
|
|
|
14 |
```bash
|
15 |
-
pip install pythainlp six sentencepiece
|
16 |
git clone https://github.com/ThAIKeras/bert
|
17 |
-
# download .vocab and .model files from ThAIKeras
|
18 |
```
|
19 |
|
|
|
|
|
|
|
20 |
Then set up ThaiTokenizer class - this is modified slightly to
|
21 |
remove a TensorFlow dependency.
|
22 |
|
@@ -116,12 +124,20 @@ Then pre-tokenizing your own text:
|
|
116 |
from pythainlp import sent_tokenize
|
117 |
tokenizer = ThaiTokenizer(vocab_file='th.wiki.bpe.op25000.vocab', spm_file='th.wiki.bpe.op25000.model')
|
118 |
|
119 |
-
|
120 |
-
split_sentences =
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
```
|
126 |
|
127 |
Original README follows:
|
@@ -279,4 +295,4 @@ python run_classifier.py \
|
|
279 |
--spm_file=$BPE_DIR/th.wiki.bpe.op25000.model
|
280 |
```
|
281 |
|
282 |
-
Without additional preprocessing and further fine-tuning, the Thai-only BERT model can achieve 0.56612 and 0.57057 for public and private test-set scores respectively.
|
|
|
8 |
|
9 |
## Pre-tokenization
|
10 |
|
11 |
+
You must run the original ThaiTokenizer to have your tokenization match that of the original model.
|
12 |
+
|
13 |
+
If you skip this step, you will not do much better than
|
14 |
mBERT or random chance!
|
15 |
|
16 |
+
[Refer to this CoLab notebook](https://colab.research.google.com/drive/1Ax9OsbTPwBBP1pJx1DkYwtgKILcj3Ur5?usp=sharing)
|
17 |
+
or follow these steps:
|
18 |
+
|
19 |
```bash
|
20 |
+
pip install pythainlp six sentencepiece python-crfsuite
|
21 |
git clone https://github.com/ThAIKeras/bert
|
22 |
+
# download .vocab and .model files from ThAIKeras/bert > Tokenization section
|
23 |
```
|
24 |
|
25 |
+
Or from [.vocab](https://raw.githubusercontent.com/jitkapat/thaipostagger/master/th.wiki.bpe.op25000.vocab)
|
26 |
+
and [.model](https://raw.githubusercontent.com/jitkapat/thaipostagger/master/th.wiki.bpe.op25000.model) links.
|
27 |
+
|
28 |
Then set up ThaiTokenizer class - this is modified slightly to
|
29 |
remove a TensorFlow dependency.
|
30 |
|
|
|
124 |
from pythainlp import sent_tokenize
|
125 |
tokenizer = ThaiTokenizer(vocab_file='th.wiki.bpe.op25000.vocab', spm_file='th.wiki.bpe.op25000.model')
|
126 |
|
127 |
+
txt = "กรุงเทพมหานครเป็นเขตปกครองพิเศษของประเทศไทย มิได้มีสถานะเป็นจังหวัด คำว่า \"กรุงเทพมหานคร\" นั้นยังใช้เรียกองค์กรปกครองส่วนท้องถิ่นของกรุงเทพมหานครอีกด้วย"
|
128 |
+
split_sentences = sent_tokenize(txt)
|
129 |
+
print(split_sentences)
|
130 |
+
"""
|
131 |
+
['กรุงเทพมหานครเป็นเขตปกครองพิเศษของประเทศไทย ',
|
132 |
+
'มิได้มีสถานะเป็นจังหวัด ',
|
133 |
+
'คำว่า "กรุงเทพมหานคร" นั้นยังใช้เรียกองค์กรปกครองส่วนท้องถิ่นของกรุงเทพมหานครอีกด้วย']
|
134 |
+
"""
|
135 |
+
|
136 |
+
split_words = ' '.join(tokenizer.tokenize(' '.join(split_sentences)))
|
137 |
+
print(split_words)
|
138 |
+
"""
|
139 |
+
'▁กรุงเทพมหานคร เป็นเขต ปกครอง พิเศษ ของประเทศไทย ▁มิ ได้มี สถานะเป็น จังหวัด ▁คําว่า ▁" กรุงเทพมหานคร " ▁นั้น...' # continues
|
140 |
+
"""
|
141 |
```
|
142 |
|
143 |
Original README follows:
|
|
|
295 |
--spm_file=$BPE_DIR/th.wiki.bpe.op25000.model
|
296 |
```
|
297 |
|
298 |
+
Without additional preprocessing and further fine-tuning, the Thai-only BERT model can achieve 0.56612 and 0.57057 for public and private test-set scores respectively.
|