spaCy-Thai icon indicating copy to clipboard operation
spaCy-Thai copied to clipboard

Add Thai Discourse Treebank

Open wannaphong opened this issue 9 months ago • 4 comments

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

wannaphong avatar May 06 '24 18:05 wannaphong

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?

KoichiYasuoka avatar May 07 '24 05:05 KoichiYasuoka

I will help check and see if I can help correct them. For this case ดัง → มี , ดัง shouldn't be ROOT.

korakot avatar May 08 '24 16:05 korakot

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...

KoichiYasuoka avatar May 09 '24 14:05 KoichiYasuoka

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

korakot avatar May 09 '24 16:05 korakot