monsoon-nlp commited on
Commit
9b5ca3c
1 Parent(s): 8ce6519

Usable example code

Browse files
Files changed (1) hide show
  1. README.md +26 -10
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. If you skip this step, you will not do much better than
 
 
12
  mBERT or random chance!
13
 
 
 
 
14
  ```bash
15
- pip install pythainlp six sentencepiece==0.0.9
16
  git clone https://github.com/ThAIKeras/bert
17
- # download .vocab and .model files from ThAIKeras readme
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
- og_text = "กรุงเทพมหานคร..."
120
- split_sentences = ' '.join(sent_tokenize(txt))
121
- split_words = ' '.join(tokenizer.tokenize(split_sentences))
122
-
123
- split_words
124
- > "▁ร้าน อาหาร ใหญ่มาก กก กก กก ▁ <unk> เลี้ยว..."
 
 
 
 
 
 
 
 
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.