spaCy-Thai
spaCy-Thai copied to clipboard
Add Thai Discourse Treebank
Chulalongkorn University just released Thai Discourse Treebank to public access! Can you train new model for new treebank?
Github: https://github.com/nlp-chula/thai-discourse-treebank/tree/main/data/th-tdtb
Paper:
Ponrawee Prasertsom, Apiwat Jaroonpol, Attapol T. Rutherford; The Thai Discourse Treebank: Annotating and Classifying Thai Discourse Connectives. Transactions of the Association for Computational Linguistics 2024; 12 613–629. doi: https://doi.org/10.1162/tacl_a_00650
Thank you @wannaphong for the information. Now I've just been checking the treebank, and I've found that several sentences have multiple "root"s:
# sent_id = T00178.tsv-5
# text = โดยคำถามที่น่าสนใจในสถานการณ์ช่วงนี้มีดังนี้
1 โดย _ SCONJ JSBR _ 11 mark 11:mark Seg=B-Conn
2 คำ _ NOUN NCMN _ 11 nsubj 11:nsubj _
3 ถาม _ VERB VACT _ 2 acl 2:acl _
4 ที่ _ SCONJ PREL _ 6 mark 6:mark _
5 น่า _ AUX XVAM _ 6 aux 6:aux _
6 สนใจ _ VERB VACT _ 2 advcl 2:advcl _
7 ใน _ ADP RPRE _ 8 case 8:case _
8 สถานการณ์ _ NOUN NCMN _ 6 obl 6:obl _
9 ช่วง _ NOUN NCMN _ 8 obl:tmod 8:obl:tmod _
10 นี้ _ DET DDAC _ 9 det 9:det _
11 มี _ VERB VSTA _ 0 root 0:root _
12 ดัง _ ADP RPRE _ 0 ROOT 0:ROOT _
13 นี้ _ DET DDAC _ 12 det 12:det _
Umm... I need to fix them since my modules (such as spaCy-Thai
or esupar
) accept single "root" for every sentence. But how do I fix them?
I will help check and see if I can help correct them. For this case ดัง → มี , ดัง shouldn't be ROOT.
Thank you @korakot for your help. And now I find almost all sentences have some kind of mis-annotations. I fixed first five sentences of test.conllu as shown below:
# newdoc_id = T00178.tsv
# sent_id = T00178.tsv-1
# text = "มีชัย"แจงเหตุไม่เลือก"นาม-แก้วสรร"นั่ง
1 " _ PUNCT PUNC _ 2 punct _ SpaceAfter=No
2 มีชัย _ PROPN NPRP _ 4 nsubj _ SpaceAfter=No
3 " _ PUNCT PUNC _ 2 punct _ SpaceAfter=No
4 แจง _ VERB VACT _ 0 root _ SpaceAfter=No
5 เหตุ _ NOUN NCMN _ 4 obj _ SpaceAfter=No
6 ไม่ _ PART NEG _ 7 advmod _ SpaceAfter=No
7 เลือก _ VERB VACT _ 5 acl _ SpaceAfter=No
8 " _ PUNCT PUNC _ 9 punct _ SpaceAfter=No
9 นาม _ PROPN NPRP _ 7 obj _ SpaceAfter=No
10 - _ PUNCT PUNC _ 9 punct _ SpaceAfter=No
11 แก้วสรร _ PROPN NPRP _ 9 flat:name _ SpaceAfter=No
12 " _ PUNCT PUNC _ 9 punct _ SpaceAfter=No
13 นั่ง _ VERB VACT _ 9 acl _ SpaceAfter=No
# sent_id = T00178.tsv-2
# text = "มีชัย"แจงเลือกบุคคลนั่ง ป.ป.ช. ไม่มี"นาม-แก้วสรร"ยอมรับ"แก้วสรร"เป็นคนดีแต่ขาดคุณสมบัติในการเป็น ป.ป.ช. ส่วน"นาม"อายุ 70 ปีต้องพ้นตำแหน่งตาม
1 " _ PUNCT PUNC _ 2 punct _ SpaceAfter=No
2 มีชัย _ PROPN NPRP _ 4 nsubj _ SpaceAfter=No
3 " _ PUNCT PUNC _ 2 punct _ SpaceAfter=No
4 แจง _ VERB VACT _ 0 root _ SpaceAfter=No
5 เลือก _ VERB VACT _ 4 xcomp _ SpaceAfter=No
6 บุคคล _ NOUN NCMN _ 5 obj _ SpaceAfter=No
7 นั่ง _ VERB VACT _ 6 acl _ _
8 ป.ป.ช. _ PROPN NPRP _ 7 obj _ _
9 ไม่ _ PART NEG _ 10 advmod _ SpaceAfter=No
10 มี _ VERB VSTA _ 8 acl _ SpaceAfter=No
11 " _ PUNCT PUNC _ 12 punct _ SpaceAfter=No
12 นาม _ PROPN NPRP _ 10 obj _ SpaceAfter=No
13 - _ PUNCT PUNC _ 12 punct _ SpaceAfter=No
14 แก้วสรร _ PROPN NPRP _ 12 flat:name _ SpaceAfter=No
15 " _ PUNCT PUNC _ 12 punct _ SpaceAfter=No
16 ยอมรับ _ VERB VACT _ 12 acl _ SpaceAfter=No
17 " _ PUNCT PUNC _ 18 punct _ SpaceAfter=No
18 แก้วสรร _ PROPN NPRP _ 21 nsubj _ SpaceAfter=No
19 " _ PUNCT PUNC _ 18 punct _ SpaceAfter=No
20 เป็น _ AUX VSTA _ 21 cop _ SpaceAfter=No
21 คน _ NOUN NCMN _ 4 parataxis _ SpaceAfter=No
22 ดี _ VERB VATT _ 21 acl _ SpaceAfter=No
23 แต่ _ CCONJ JCRG _ 24 cc _ SpaceAfter=No
24 ขาด _ VERB VSTA _ 21 conj _ SpaceAfter=No
25 คุณสมบัติ _ NOUN NCMN _ 24 obj _ SpaceAfter=No
26 ใน _ ADP RPRE _ 27 case _ SpaceAfter=No
27 การ _ PART FIXN _ 24 obl _ SpaceAfter=No
28 เป็น _ AUX VSTA _ 29 cop _ _
29 ป.ป.ช. _ PROPN NPRP _ 27 acl _ _
30 ส่วน _ CCONJ JCRG _ 38 cc _ SpaceAfter=No
31 " _ PUNCT PUNC _ 32 punct _ SpaceAfter=No
32 นาม _ PROPN NPRP _ 38 nsubj _ SpaceAfter=No
33 " _ PUNCT PUNC _ 32 punct _ SpaceAfter=No
34 อายุ _ NOUN NCMN _ 32 nmod _ _
35 70 _ NUM DCNM _ 36 nummod _ _
36 ปี _ NOUN CMTR _ 34 clf _ SpaceAfter=No
37 ต้อง _ AUX XVMM _ 38 aux _ SpaceAfter=No
38 พ้น _ VERB VACT _ 21 conj _ SpaceAfter=No
39 ตำแหน่ง _ NOUN NCMN _ 38 obj _ SpaceAfter=No
40 ตาม _ ADV RPRE _ 38 advmod _ SpaceAfter=No
# sent_id = T00178.tsv-3
# text = (26 ก.ย.) ผู้สื่อข่าวรายงานว่านายมีชัย ฤชุพันธ์ อดีตประธานและประธานฝ่ายยกร่างกฎหมายของคณะปฏิรูปการปกครองในระบอบประชาธิปไตยอันมีพระมหากษัตริย์ทรงเป็นประมุข (คปค.)
1 ( _ PUNCT PUNC _ 2 punct _ SpaceAfter=No
2 26 _ NUM DCNM _ 6 obl _ _
3 ก.ย. _ NOUN NCMN _ 2 obl:tmod _ SpaceAfter=No
4 ) _ PUNCT PUNC _ 2 punct _ _
5 ผู้สื่อข่าว _ NOUN NCMN _ 6 nsubj _ SpaceAfter=No
6 รายงาน _ VERB VACT _ 0 root _ SpaceAfter=No
7 ว่า _ ADP JSBR _ 16 mark _ SpaceAfter=No
8 นาย _ NOUN NCMN _ 16 nsubj _ SpaceAfter=No
9 มีชัย _ PROPN NPRP _ 8 flat:name _ _
10 ฤชุพันธ์ _ PROPN NPRP _ 8 flat:name _ _
11 อดีต _ NOUN NCMN _ 8 appos _ SpaceAfter=No
12 ประธาน _ NOUN NCMN _ 11 nmod _ SpaceAfter=No
13 และ _ CCONJ JCRG _ 14 cc _ SpaceAfter=No
14 ประธาน _ NOUN NCMN _ 11 conj _ SpaceAfter=No
15 ฝ่าย _ NOUN NCMN _ 14 nmod _ SpaceAfter=No
16 ยก _ VERB VACT _ 6 ccomp _ SpaceAfter=No
17 ร่าง _ NOUN NCMN _ 16 obj _ SpaceAfter=No
18 กฎหมาย _ NOUN NCMN _ 17 nmod _ SpaceAfter=No
19 ของ _ ADP RPRE _ 20 case _ SpaceAfter=No
20 คณะ _ NOUN NCMN _ 16 obl _ SpaceAfter=No
21 ปฏิรูป _ VERB VACT _ 20 acl _ SpaceAfter=No
22 การ _ PART FIXN _ 21 obj _ SpaceAfter=No
23 ปกครอง _ VERB VACT _ 22 acl _ SpaceAfter=No
24 ใน _ ADP RPRE _ 25 case _ SpaceAfter=No
25 ระบอบ _ NOUN NCMN _ 23 obl _ SpaceAfter=No
26 ประชาธิปไตย _ NOUN NCMN _ 25 compound _ SpaceAfter=No
27 อัน _ SCONJ PREL _ 28 mark _ SpaceAfter=No
28 มี _ VERB VSTA _ 25 acl:relcl _ SpaceAfter=No
29 พระมหากษัตริย์ _ NOUN NCMN _ 28 obj _ SpaceAfter=No
30 ทรง _ VERB VACT _ 29 acl _ SpaceAfter=No
31 เป็น _ AUX VSTA _ 32 cop _ SpaceAfter=No
32 ประมุข _ NOUN NCMN _ 30 ccomp _ _
33 ( _ PUNCT PUNC _ 34 punct _ SpaceAfter=No
34 คปค. _ PROPN NPRP _ 20 appos _ SpaceAfter=No
35 ) _ PUNCT PUNC _ 34 punct _ SpaceAfter=No
# sent_id = T00178.tsv-4
# text = ตอบคำถามในเว็บไซต์ www.meechaithailand.com เกี่ยวกับการเข้ามาทำหน้าที่ยกร่างธรรมนูญปกครองฉบับชั่วคราวรวมถึงประกาศและคำสั่งต่างๆ ของ คปค.ด้วย
1 ตอบ _ VERB VACT _ 0 root _ SpaceAfter=No
2 คำ _ NOUN NCMN _ 1 obj _ SpaceAfter=No
3 ถาม _ VERB VACT _ 2 acl _ SpaceAfter=No
4 ใน _ ADP RPRE _ 5 case _ SpaceAfter=No
5 เว็บไซต์ _ NOUN NCMN _ 3 obl _ _
6 www.meechaithailand.com _ NOUN NCMN _ 5 nmod _ _
7 เกี่ยวกับ _ ADP RPRE _ 8 case _ SpaceAfter=No
8 การ _ PART FIXN _ 3 obl _ SpaceAfter=No
9 เข้า _ VERB VACT _ 8 acl _ SpaceAfter=No
10 มา _ AUX XVAE _ 11 aux _ SpaceAfter=No
11 ทำ _ VERB VACT _ 9 xcomp _ SpaceAfter=No
12 หน้าที่ _ NOUN NCMN _ 11 obj _ SpaceAfter=No
13 ยก _ VERB VACT _ 12 acl _ SpaceAfter=No
14 ร่าง _ NOUN NCMN _ 13 obj _ SpaceAfter=No
15 ธรรมนูญ _ NOUN NCMN _ 14 nmod _ SpaceAfter=No
16 ปกครอง _ VERB VACT _ 15 acl _ SpaceAfter=No
17 ฉบับ _ NOUN CNIT _ 16 obj _ SpaceAfter=No
18 ชั่วคราว _ VERB VATT _ 17 acl _ SpaceAfter=No
19 รวม _ VERB VSTA _ 1 parataxis _ SpaceAfter=No
20 ถึง _ ADP RPRE _ 19 fixed _ SpaceAfter=No
21 ประกาศ _ NOUN NCMN _ 19 obj _ SpaceAfter=No
22 และ _ CCONJ JCRG _ 23 cc _ SpaceAfter=No
23 คำสั่ง _ NOUN NCMN _ 21 conj _ SpaceAfter=No
24 ต่าง _ VERB VSTA _ 23 acl _ SpaceAfter=No
25 ๆ _ PUNCT PUNC _ 24 punct _ _
26 ของ _ ADP RPRE _ 27 case _ _
27 คปค. _ PROPN NPRP _ 21 nmod:poss _ SpaceAfter=No
28 ด้วย _ ADV RPRE _ 19 advmod _ SpaceAfter=No
# sent_id = T00178.tsv-5
# text = โดยคำถามที่น่าสนใจในสถานการณ์ช่วงนี้มีดังนี้
1 โดย _ SCONJ JSBR _ 11 mark _ SpaceAfter=No
2 คำ _ NOUN NCMN _ 11 nsubj _ SpaceAfter=No
3 ถาม _ VERB VACT _ 2 acl _ SpaceAfter=No
4 ที่ _ SCONJ PREL _ 6 mark _ SpaceAfter=No
5 น่า _ AUX XVAM _ 6 aux _ SpaceAfter=No
6 สนใจ _ VERB VACT _ 2 acl:relcl _ SpaceAfter=No
7 ใน _ ADP RPRE _ 8 case _ SpaceAfter=No
8 สถานการณ์ _ NOUN NCMN _ 6 obl _ SpaceAfter=No
9 ช่วง _ NOUN NCMN _ 8 nmod _ SpaceAfter=No
10 นี้ _ DET DDAC _ 9 det _ SpaceAfter=No
11 มี _ VERB VSTA _ 0 root _ SpaceAfter=No
12 ดัง _ ADP RPRE _ 13 case _ SpaceAfter=No
13 นี้ _ PRON DDAC _ 11 obl _ SpaceAfter=No
You can find that original test.conllu
includes so many wrong UPOS-tags, that cause mis-annotation of links...
Here's how I try to filter out sentences with multple roots/ROOTs. From 5076 total, only 3411 are left.
https://colab.research.google.com/drive/1IMhJOKqpZvrxfje73WgOk9P6vO7_eGiy