สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปทำ Dependency Parser ภาษาไทยด้วย spaCy-Thai กันครับ
Dependency Parser คืออะไร
Dependency Parser เป็นการระบุไวยากรณ์โครงสร้างของประโยคและค้นหาความสัมพันธ์ของคำ (1)
สำหรับภาษาไทย หลังจากที่เวลาผ่านมายาวนาน ในที่สุดก็มี Open Source สำหรับทำ Dependency Parser ภาษาไทย ชื่อว่า spaCy-Thai
spaCy-Thai
spaCy-Thai เป็นไลบรารีในภาษา Python สำหรับทำ Dependency Parser ภาษาไทย พัฒนาโดยคุณ Koichi Yasuoka (2)
- รองรับเฉพาะ Python 3
- ใช้ MIT License
สำหรับการติดตั้งทำได้ง่าย ๆ ผ่าน pypi: pip install spacy_thai
การใช้งาน
ทำตามตัวอย่างนี้ได้เลย
>>> import spacy_thai
>>> nlp=spacy_thai.load()
>>> doc=nlp("แผนกนี้กำลังเผชิญกับความท้าทายใหม่")
>>> for t in doc:
... print("\t".join([str(t.i+1),t.orth_,t.lemma_,t.pos_,t.tag_,"_",str(0 if t.head==t else t.head.i+1),t.dep_,"_","_" if t.whitespace_ else "SpaceAfter=No"]))
...
1 แผนก แผนก NOUN NCMN _ 4 nsubj _ SpaceAfter=No
2 นี้ นี้ DET DDAC _ 1 det _ SpaceAfter=No
3 กำลัง กำลัง AUX XVBM _ 4 aux _ SpaceAfter=No
4 เผชิญ เผชิญ VERB VSTA _ 0 ROOT _ SpaceAfter=No
5 กับ กับ ADP RPRE _ 6 case _ SpaceAfter=No
6 ความ ความ PART FIXN _ 4 obl _ SpaceAfter=No
7 ท้าทาย ท้าทาย VERB VACT _ 6 acl _ SpaceAfter=No
8 ใหม่ ใหม่ ADV ADVN _ 7 advmod _ SpaceAfter=No
>>> import deplacy
>>> deplacy.render(doc,WordRight=True)
nsubj ╔════════>╔═ NOUN แผนก
det ║ ╚> DET นี้
aux ║ ╔════════> AUX กำลัง
ROOT ╚═╚═╔═══════ VERB เผชิญ
case ║ ╔════> ADP กับ
obl ╚>╚═╔═══ PART ความ
acl ╚>╔═ VERB ท้าทาย
advmod ╚> ADV ใหม่
โดย spaCy-Thai ใช้ข้อมูล treebank ชื่อ Parallel Universal Dependencies จาก Universal Dependencies มาเทรนโมเดล Dependency Parser ภาษาไทย สำหรับการทำงานเบื้องหลัง คือ ใช้ spaCy กับ udpipe ในการทำงานนั้นเอง
อ้างอิง
1.
Jaiswal S. Natural Language Processing — Dependency Parsing [Internet]. Medium. 2021 [cited 2022 May 19]. Available from: https://towardsdatascience.com/natural-language-processing-dependency-parsing-cf094bbbe3f7
2.
Yasuoka K. spaCy-Thai [Internet]. 2022 [cited 2022 May 19]. Available from: https://github.com/KoichiYasuoka/spaCy-Thai
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)