NLTK มี API รองรับสำหรับสร้าง Part-of-speech tagging มากมาย ไม่ว่าจะเป็น unigram , NaiveBayes จนไปถึง CRF ซึ่งต้องใช้ CRFSuite ด้วย
ก่อนไปทำ Part-of-speech tagging ให้ท่าน ทำการโหลดไฟล์ data.pos จาก https://github.com/wannaphong/thchid-crf-postag/blob/master/data.pos มาไว้ก่อนครับ แล้วทำการติดตั้ง python-crfsuite ซึ่งเป็นโมดูลสำหรับเรียกใช้ CRFSuite ใน Python ด้วยคำสั่ง
pip install python-crfsuite
ข้อมูล data.pos คือ ข้อมูล Part-of-speech tagging จากข้อมูล orchid เนื่องจากมีปัญหาด้าน LICENSE เรื่องชื่อ จึงเปลี่ยนมาเป็น data.pos แทนครับ แล้วผมกำหนดให้เว้นวรรแต่ละประโยคด้วย TTTT
การ FIXN
ประชุม VACT
ทาง NCMN
วิชาการ NCMN
<space> PUNC
ครั้ง CFQC
ที่1 DONM
TTTT
โครงการวิจัยและพัฒนา NCMN
อิเล็กทรอนิกส์ NCMN
และ JCRG
คอมพิวเตอร์ NCMN
ในการเรียกใช้งาน CRF กับ NLTK ใช้งานผ่าน
from nltk.tag import CRFTaggerอ่านเอกสารได้ที่ http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.crf
แล้วสร้างไฟล์ train.py ขึ้นมาแล้วโค้ดตามนี้
แล้วทำการรันไฟล์ train.py เสร็จแล้ว จะได้ไฟล์ model.crf.tagger ไว้สำหรับนำไปใช้งานขึ้นมา
ต่อมา สร้างไฟล์ test.py ขึ้นมา สำหรับใช้รัน Part-of-speech tagging ที่สร้างขึ้นมา
แล้วลองรันไฟล์ test.py ได้เลยครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)