6
6
from os import path
7
7
8
8
from pythainlp .tag import (
9
- NER ,
10
- NNER ,
11
9
PerceptronTagger ,
12
- chunk_parse ,
13
10
perceptron ,
14
11
pos_tag ,
15
12
pos_tag_sents ,
16
- pos_tag_transformers ,
17
13
tag_provinces ,
18
- tltk ,
19
14
unigram ,
20
15
)
21
- from pythainlp .tag .thainer import ThaiNameTagger
22
16
23
17
24
18
class TagTestCase (unittest .TestCase ):
25
- # ### pythainlp.tag.PerceptronTagger
26
-
27
- def test_chunk_parse (self ):
28
- tokens = ["ผม" , "รัก" , "คุณ" ]
29
-
30
- w_p = pos_tag (tokens , engine = "perceptron" , corpus = "orchid" )
31
- self .assertIsNotNone (chunk_parse (w_p ))
32
-
33
19
# ### pythainlp.tag.pos_tag
34
20
35
21
def test_pos_tag (self ):
@@ -70,12 +56,8 @@ def test_pos_tag(self):
70
56
self .assertIsNotNone (
71
57
pos_tag (["" ], engine = "unigram" , corpus = "blackboard_ud" )
72
58
)
73
- self .assertIsNotNone (
74
- pos_tag (tokens , engine = "unigram" , corpus = "tdtb" )
75
- )
76
- self .assertIsNotNone (
77
- pos_tag (["" ], engine = "unigram" , corpus = "tdtb" )
78
- )
59
+ self .assertIsNotNone (pos_tag (tokens , engine = "unigram" , corpus = "tdtb" ))
60
+ self .assertIsNotNone (pos_tag (["" ], engine = "unigram" , corpus = "tdtb" ))
79
61
self .assertIsNotNone (pos_tag (tokens , engine = "unigram" , corpus = "tud" ))
80
62
self .assertIsNotNone (pos_tag (["" ], engine = "unigram" , corpus = "tud" ))
81
63
self .assertEqual (
@@ -124,7 +106,6 @@ def test_pos_tag(self):
124
106
self .assertIsNotNone (
125
107
pos_tag (tokens , engine = "perceptron" , corpus = "tud" )
126
108
)
127
- self .assertIsNotNone (pos_tag (tokens , engine = "tltk" ))
128
109
129
110
self .assertEqual (pos_tag_sents (None ), [])
130
111
self .assertEqual (pos_tag_sents ([]), [])
@@ -135,8 +116,6 @@ def test_pos_tag(self):
135
116
[("แมว" , "NCMN" ), ("วิ่ง" , "VACT" )],
136
117
],
137
118
)
138
- with self .assertRaises (ValueError ):
139
- self .assertIsNotNone (tltk .pos_tag (tokens , corpus = "blackboard" ))
140
119
141
120
# ### pythainlp.tag.PerceptronTagger
142
121
@@ -212,206 +191,3 @@ def test_ner_locations(self):
212
191
)
213
192
214
193
# ### pythainlp.tag.named_entity
215
-
216
- def test_ner (self ):
217
- ner = ThaiNameTagger (version = "1.5" )
218
- self .assertEqual (ner .get_ner ("" ), [])
219
- self .assertIsNotNone (ner .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" ))
220
- self .assertIsNotNone (ner .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
221
- self .assertIsNotNone (
222
- ner .get_ner (
223
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
224
- วิทยาเขตหนองคาย 112 หมู่ 7 บ้านหนองเดิ่น ตำบลหนองกอมเกาะ อำเภอเมือง
225
- จังหวัดหนองคาย 43000"""
226
- )
227
- )
228
- self .assertIsNotNone (
229
- ner .get_ner (
230
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
231
- วิทยาเขตหนองคาย 112 หมู่ 7 บ้านหนองเดิ่น ตำบลหนองกอมเกาะ อำเภอเมือง
232
- จังหวัดหนองคาย 43000""" ,
233
- tag = True ,
234
- )
235
- )
236
-
237
- # argument `tag` is True
238
- self .assertIsNotNone (
239
- ner .get_ner ("วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น." , tag = True )
240
- )
241
-
242
- ner = ThaiNameTagger (version = "1.4" )
243
- self .assertEqual (ner .get_ner ("" ), [])
244
- self .assertIsNotNone (ner .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" ))
245
- self .assertIsNotNone (ner .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
246
- self .assertIsNotNone (
247
- ner .get_ner (
248
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
249
- วิทยาเขตหนองคาย 112 หมู่ 7 บ้านหนองเดิ่น
250
- ตำบลหนองกอมเกาะ อำเภอเมือง
251
- จังหวัดหนองคาย 43000"""
252
- )
253
- )
254
- self .assertIsNotNone (
255
- ner .get_ner (
256
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
257
- วิทยาเขตหนองคาย 112 หมู่ 7 บ้านหนองเดิ่น
258
- ตำบลหนองกอมเกาะ อำเภอเมือง
259
- จังหวัดหนองคาย 43000""" ,
260
- tag = True ,
261
- )
262
- )
263
-
264
- # argument `tag` is True
265
- self .assertEqual (
266
- ner .get_ner ("วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น." , tag = True ),
267
- "วันที่ <DATE>15 ก.ย. 61</DATE> "
268
- "ทดสอบระบบเวลา <TIME>14:49 น.</TIME>" ,
269
- )
270
-
271
- self .assertEqual (
272
- ner .get_ner (
273
- "url = https://thainlp.org/pythainlp/docs/2.0/" , tag = True
274
- ),
275
- "url = <URL>https://thainlp.org/pythainlp/docs/2.0/</URL>" ,
276
- )
277
-
278
- self .assertEqual (
279
- ner .
get_ner (
"[email protected] " ,
tag = True ),
280
- "<EMAIL>[email protected] </EMAIL>" ,
281
- )
282
-
283
- self .assertEqual (
284
- ner .get_ner ("รหัสไปรษณีย์ 19130" , tag = True ),
285
- "รหัสไปรษณีย์ <ZIP>19130</ZIP>" ,
286
- )
287
-
288
- self .assertEqual (
289
- ner .get_ner ("อาจารย์เอกพล ประจำคณะวิศวกรรมศาสตร์ " , tag = True ),
290
- "<PERSON>อาจารย์เอกพล</PERSON> ประจำ<ORGANIZATION>"
291
- "คณะวิศวกรรมศาสตร์</ORGANIZATION> " ,
292
- )
293
-
294
- """self.assertEqual(
295
- ner.get_ner(
296
- "มาตรา 80 ปพพ ให้ใช้อัตราภาษีร้อยละ 10.0"
297
- " ในการคำนวณภาษีมูลค่าเพิ่ม",
298
- tag=True,
299
- ),
300
- "<LAW>มาตรา 80 ปพพ</LAW> "
301
- "ให้ใช้อัตราภาษี<PERCENT>ร้อยละ 10.0</PERCENT>"
302
- " ในการคำนวณภาษีมูลค่าเพิ่ม",
303
- )"""
304
-
305
- self .assertEqual (
306
- ner .get_ner ("ยาว 20 เซนติเมตร" , tag = True ),
307
- "ยาว <LEN>20 เซนติเมตร</LEN>" ,
308
- )
309
-
310
- self .assertEqual (
311
- ner .get_ner ("1 บาท" , pos = True , tag = True ), "<MONEY>1 บาท</MONEY>"
312
- )
313
-
314
- self .assertEqual (
315
- ner .get_ner ("ไทย" , pos = False , tag = True ), "<LOCATION>ไทย</LOCATION>"
316
- )
317
-
318
- self .assertIsNotNone (ner .get_ner ("บางแสนกรุงเทพ" , pos = False , tag = True ))
319
-
320
- # argument `tag` is False and `pos` is True
321
- self .assertEqual (
322
- ner .get_ner ("ไทย" , pos = True , tag = False ),
323
- [("ไทย" , "PROPN" , "B-LOCATION" )],
324
- )
325
-
326
- # arguement `tag` is False and `pos` is False
327
- self .assertIsNotNone (
328
- ner .get_ner (
329
- "วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น." ,
330
- pos = False ,
331
- tag = False ,
332
- )
333
- )
334
-
335
- def test_tltk_ner (self ):
336
- self .assertEqual (tltk .get_ner ("" ), [])
337
- self .assertIsNotNone (tltk .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" ))
338
- self .assertIsNotNone (tltk .get_ner ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
339
- self .assertIsNotNone (
340
- tltk .get_ner ("พลเอกประยุกธ์ จันทร์โอชา ประกาศในฐานะหัวหน้า" )
341
- )
342
- self .assertIsNotNone (
343
- tltk .get_ner (
344
- "พลเอกประยุกธ์ จันทร์โอชา ประกาศในฐานะหัวหน้า" ,
345
- tag = True ,
346
- )
347
- )
348
- self .assertIsNotNone (
349
- tltk .get_ner (
350
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
351
- จังหวัดหนองคาย 43000"""
352
- )
353
- )
354
- self .assertIsNotNone (
355
- tltk .get_ner (
356
- """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น
357
- จังหวัดหนองคาย 43000""" ,
358
- tag = True ,
359
- )
360
- )
361
-
362
- def test_NER_class (self ):
363
- ner = NER (engine = "thainer" )
364
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" ))
365
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
366
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , tag = True ))
367
- # ner = NER(engine="wangchanberta")
368
- # self.assertIsNotNone(ner.tag("แมวทำอะไรตอนห้าโมงเช้า"))
369
- # self.assertIsNotNone(ner.tag("แมวทำอะไรตอนห้าโมงเช้า", pos=False))
370
- # self.assertIsNotNone(ner.tag("แมวทำอะไรตอนห้าโมงเช้า", tag=True))
371
- ner = NER (engine = "thainer-v2" )
372
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" ))
373
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
374
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , tag = True ))
375
- ner = NER (engine = "tltk" )
376
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" ))
377
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , pos = False ))
378
- self .assertIsNotNone (ner .tag ("แมวทำอะไรตอนห้าโมงเช้า" , tag = True ))
379
- with self .assertRaises (ValueError ):
380
- NER (engine = "thainer" , corpus = "cat" )
381
-
382
- def test_NNER_class (self ):
383
- nner = NNER ()
384
- self .assertIsNotNone (nner .tag ("แมวทำอะไรตอนห้าโมงเช้า" ))
385
-
386
- def test_pos_tag_transformers (self ):
387
- self .assertIsNotNone (
388
- pos_tag_transformers (
389
- sentence = "แมวทำอะไรตอนห้าโมงเช้า" ,
390
- engine = "bert" ,
391
- corpus = "blackboard" ,
392
- )
393
- )
394
- self .assertIsNotNone (
395
- pos_tag_transformers (
396
- sentence = "แมวทำอะไรตอนห้าโมงเช้า" ,
397
- engine = "mdeberta" ,
398
- corpus = "pud"
399
- )
400
- )
401
- self .assertIsNotNone (
402
- pos_tag_transformers (
403
- sentence = "แมวทำอะไรตอนห้าโมงเช้า" ,
404
- engine = "wangchanberta" ,
405
- corpus = "pud" ,
406
- )
407
- )
408
- with self .assertRaises (ValueError ):
409
- pos_tag_transformers (
410
- sentence = "แมวทำอะไรตอนห้าโมงเช้า" , engine = "non-existing-engine"
411
- )
412
- with self .assertRaises (ValueError ):
413
- pos_tag_transformers (
414
- sentence = "แมวทำอะไรตอนห้าโมงเช้า" ,
415
- engine = "bert" ,
416
- corpus = "non-existing corpus" ,
417
- )
0 commit comments