diff --git a/tests/test_tag.py b/tests/test_tag.py index 80121be1b..faa2ccaab 100644 --- a/tests/test_tag.py +++ b/tests/test_tag.py @@ -5,13 +5,9 @@ from pythainlp.tag import perceptron, pos_tag, pos_tag_sents, unigram from pythainlp.tag.locations import tag_provinces from pythainlp.tag.named_entity import ThaiNameTagger -from pythainlp.tokenize import ( - word_tokenize, -) class TestTagPackage(unittest.TestCase): - def test_pos_tag(self): tokens = ["ผม", "รัก", "คุณ"] @@ -29,7 +25,7 @@ def test_pos_tag(self): self.assertIsNotNone(pos_tag(tokens, engine="unigram", corpus="pud")) self.assertIsNotNone(pos_tag([""], engine="unigram", corpus="pud")) self.assertEqual( - pos_tag(word_tokenize("คุณกำลังประชุม"), engine="unigram"), + pos_tag(["คุณ", "กำลัง", "ประชุม"], engine="unigram"), [("คุณ", "PPRS"), ("กำลัง", "XVBM"), ("ประชุม", "VACT")], ) @@ -43,6 +39,10 @@ def test_pos_tag(self): self.assertEqual(perceptron.tag([], corpus="pud"), []) self.assertEqual(perceptron.tag(None, corpus="orchid"), []) self.assertEqual(perceptron.tag([], corpus="orchid"), []) + self.assertEqual( + pos_tag(["นักเรียน", "ถาม", "ครู"]), + [("นักเรียน", "NCMN"), ("ถาม", "VACT"), ("ครู", "NCMN")], + ) self.assertEqual(pos_tag_sents(None), []) self.assertEqual(pos_tag_sents([]), []) @@ -81,108 +81,102 @@ def test_ner(self): """คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย 112 หมู่ 7 บ้านหนองเดิ่น ตำบลหนองกอมเกาะ อำเภอเมือง จังหวัดหนองคาย 43000""", - tag=True + tag=True, ) ) # arguement `tag` is True self.assertEqual( - ner.get_ner( - "วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น.", - tag=True - ), + ner.get_ner("วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น.", tag=True), "วันที่ 15 ก.ย. 61 " - "ทดสอบระบบเวลา ") + "ทดสอบระบบเวลา ", + ) self.assertEqual( ner.get_ner( - "url = https://thainlp.org/pythainlp/docs/2.0/", - tag=True + "url = https://thainlp.org/pythainlp/docs/2.0/", tag=True ), - "url = https://thainlp.org/pythainlp/docs/2.0/") + "url = https://thainlp.org/pythainlp/docs/2.0/", + ) self.assertEqual( - ner.get_ner( - "example@gmail.com", - tag=True - ), - "example@gmail.com") + ner.get_ner("example@gmail.com", tag=True), + "example@gmail.com", + ) self.assertEqual( - ner.get_ner( - "รหัสไปรษณีย์ 19130", - tag=True - ), - "รหัสไปรษณีย์ 19130") + ner.get_ner("รหัสไปรษณีย์ 19130", tag=True), + "รหัสไปรษณีย์ 19130", + ) self.assertEqual( - ner.get_ner( - "เบอร์โทรศัพท์ 091-123-4567", - tag=True - ), - "เบอร์โทรศัพท์ 091-123-4567") + ner.get_ner("เบอร์โทรศัพท์ 091-123-4567", tag=True), + "เบอร์โทรศัพท์ 091-123-4567", + ) self.assertEqual( - ner.get_ner( - "อาจารย์เอกพล ประจำคณะวิศวกรรมศาสตร์ ", - tag=True - ), + ner.get_ner("อาจารย์เอกพล ประจำคณะวิศวกรรมศาสตร์ ", tag=True), "อาจารย์เอกพล ประจำ" - "คณะวิศวกรรมศาสตร์ ") + "คณะวิศวกรรมศาสตร์ ", + ) self.assertEqual( ner.get_ner( "มาตรา 80 ปพพ ให้ใช้อัตราภาษีร้อยละ 10.0" " ในการคำนวณภาษีมูลค่าเพิ่ม", - tag=True + tag=True, ), "มาตรา 80 ปพพ " "ให้ใช้อัตราภาษีร้อยละ 10.0" - " ในการคำนวณภาษีมูลค่าเพิ่ม") + " ในการคำนวณภาษีมูลค่าเพิ่ม", + ) self.assertEqual( - ner.get_ner( - "ยาว 20 เซนติเมตร", - tag=True - ), - "ยาว 20 เซนติเมตร") + ner.get_ner("ยาว 20 เซนติเมตร", tag=True), + "ยาว 20 เซนติเมตร", + ) self.assertEqual( - ner.get_ner( - "1 บาท", - pos=True, - tag=True), - "1 บาท") + ner.get_ner("1 บาท", pos=True, tag=True), "1 บาท" + ) self.assertEqual( - ner.get_ner( - "ไทย", - pos=False, - tag=True - ), - "ไทย") + ner.get_ner("ไทย", pos=False, tag=True), "ไทย" + ) # arguement `tag` is False and `pos` is True self.assertEqual( - ner.get_ner( - "ไทย", - pos=True, - tag=False - ), - [('ไทย', 'PROPN', 'B-LOCATION')]) + ner.get_ner("ไทย", pos=True, tag=False), + [("ไทย", "PROPN", "B-LOCATION")], + ) # arguement `tag` is False and `pos` is False self.assertEqual( ner.get_ner( "วันที่ 15 ก.ย. 61 ทดสอบระบบเวลา 14:49 น.", pos=False, - tag=False + tag=False, ), - [('วันที่', 'O'), (' ', 'O'), ('15', 'B-DATE'), - (' ', 'I-DATE'), ('ก.ย.', 'I-DATE'), (' ', 'I-DATE'), - ('61', 'I-DATE'), (' ', 'O'), ('ทดสอบ', 'O'), ('ระบบ', 'O'), - ('เวลา', 'O'), (' ', 'O'), ('14', 'B-TIME'), (':', 'I-TIME'), - ('49', 'I-TIME'), (' ', 'I-TIME'), ('น.', 'I-TIME')]) + [ + ("วันที่", "O"), + (" ", "O"), + ("15", "B-DATE"), + (" ", "I-DATE"), + ("ก.ย.", "I-DATE"), + (" ", "I-DATE"), + ("61", "I-DATE"), + (" ", "O"), + ("ทดสอบ", "O"), + ("ระบบ", "O"), + ("เวลา", "O"), + (" ", "O"), + ("14", "B-TIME"), + (":", "I-TIME"), + ("49", "I-TIME"), + (" ", "I-TIME"), + ("น.", "I-TIME"), + ], + ) # self.assertEqual( # ner.get_ner("แมวทำอะไรตอนห้าโมงเช้า"),