ปัจจุบันนี้สามารถโหลด Orchid Corpus ได้จาก http://www.nectec.or.th/corpus/ อยู่ในคลังข้อความไทย-อังกฤษ ผมเลือกใช้ orchid97.crp.utf ที่อยู่ในไฟล์ orchid_corpus.zip ครับ คลังข้อความไทย-อังกฤษ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน 3.0 ประเทศไทย.
อ่านรายละเอียดได้ที่ https://web.archive.org/web/20080214072154/www.links.nectec.or.th/orchid/corpus/Pos.html
ผมเลยเขียนโค้ด Python ดึงเฉพาะส่วนที่เป็นข้อมูลชนิดของคำในภาษาไทยไปเก็บใน dict แล้วบันทึกลงไฟล์ pickle ของ Python ไว้เรียกใช้งานต่อไป
ภายในไฟล์ orchid97.crp.utf มีรูปแบบข้อมูลชนิดของคำดังนี้
เล่ม/CNIT
หน้า / คือ คำ
และหลัง / คือชนิดของคำ สามารถใช้ split() แยกออกเป็น list และจับลง dict ได้ แต่ในไฟล์มีอย่างอื่นที่ไม่ใช่ข้อมูลชนิดของคำอยู่ด้วย เช่น
สาร// สาร/NCMN
เราต้องการแค่บรรทัดที่มี / อย่างเดียว จึงต้องใช้ re เข้ามาหาจำนวน / หากเกิน 1 ตัว หรือไม่มี ให้ข้ามไปเลย
โค้ดดึงข้อมูลชนิดคำใน orchid corpus แล้วจับลงไฟล์ pickle
เมื่อเราได้ไฟล์ thaipos.pickle เราสามารถนำมาใช้งานกับ NLTK ได้โดยใช้คำสั่งตามโค้ดต่อไปนี้
ผลลัพธ์
[('คุณ', 'PPRS'), ('กำลัง', 'XVBM'), ('ประชุม', 'VACT')]
เข้าไปช่วยกันพัฒนา PyThaiNLP ได้ที่ https://github.com/wannaphong/pythainlp ครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)