9 มีนาคม 2558

Published 3/09/2558 by with 0 comment

ตัดคำไทยในภาษา Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปตัดคำไทยในภาษา Python กันครับ ในการตัดคำนั้นมีไลบรารีมากมายในภาษา Python แต่ที่สามารถตัดไทยได้นั้นมีแค่ไม่กี่ไลบรารี

PyThaiNLP

PyThaiNLP เป็นโมดูลด้าน NLP ภาษาไทยในภาษา Python โดยรองรับระบบตัดคำหลากหลายตัว
สามารถดูได้จาก https://github.com/PyThaiNLP/pythainlp

PyICU


PyICU เป็น api สำหรับใช้เชื่อมต่อเข้ากับ ICU C++ API ของ IBM ทำงานเกี่ยวกับ localization & internationalization และรองรับภาษาไทยด้วยครับ รองรับทั้ง Python 2 , Python 3 และ License :: OSI Approved

สามารถโหลดไฟล์บีบอัดมาติดตั้งได้จาก https://pypi.python.org/pypi/PyICU/ แตกไฟล์แล้วใช้คำสั่ง
python setup.py build
python setup.py install

สำหรับผู้อ่านที่ใช้ Windows สามารถโหลดไฟล์ .whl มาติดตั้งได้จาก http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyicu

หรือติดตั้งโดยใช้คำสั่ง pip
pip install pyicu

ผมนำโค้ดเก่าจาก http://programmingishard.com/code/211 โดยท่าน Chad Humphries ได้เขียนโค้ดตัดคำไทยด้วย PyICU ไว้เมื่อปี ค.ศ.2007 ปัจจุบันหน้าเว็บเข้าไม่ได้แล้ว ผมเข้าผ่าน https://web.archive.org/web/20081012212943/http://programmingishard.com/code/211 ครับ

ขอขอบคุณท่าน Chad Humphries  มา ณ ที่นี้ ที่ได้เขียนไว้มีประโยชน์ต่อการเขียนโปรแกรม Python ครับ
โค้ดตัดคำไทย Python 2

เดดิดท่าน Chad Humphries

ตัวโค้ดเป็นโค้ดของ Python 2 ผมนำมา Port เป็น Python 3 ได้โค้ดดังนี้ครับ

โค้ดตัดคำไทย Python 3
เวลาเรียกใช้งาน
>>> word = 'ทดลองระบบตัดคำไทย'
>>> print(warp(word))
ทดลอง|ระบบ|ตัด|คำ|ไทย





pythai


เป็นไลบรารีสำหรับใช้ตัดคำไทย โดยเรียกใช้ไลบรารี libthai เป็นไลบรารีที่อยู่ในระบบปฎิบัติการลินุกซ์เท่านั้นครับ รองรับแค่ Python 2 & Python 3 และใช้ License: LGPL 2.1

สามารถติดตั้งไลบรารี libthai ใน Debian / Ubuntu ได้ด้วยคำสั่ง
sudo apt-get install libthai-dev

สามารถโหลดโค้ดมาติดตั้งได้จาก https://github.com/hermanschaaf/pythai/

หรือจะติดตั้งด้วยคำสั่ง pip :
pip install https://github.com/hermanschaaf/pythai/archive/master.zip

ตัวอย่างการใช้งาน pythai ตัดคำไทยในภาษา Python
>>> import pythai
>>> pythai.split(u"การที่ได้ต้องแสดงว่างานดี")
u"การ ที่ ได้ ต้อง แสดง ว่า งาน ดี"
>>> pythai.word_count(u"การที่ได้ต้องแสดงว่างานดี")
8
>>> pythai.contains_thai(u"hello")
False
>>> pythai.contains_thai(u"helloการที่ไ")
True





libthai


เป็นไลบรารีอีกอันที่นำความสามารถของไลบรารี libthai มาใช้ในการตัดคำไทย รองรับเฉพาะ Python 2 และเฉพาะในระบบปฏิบัติการลินุกซ์ครับ และเป็น GNU GPL v3

โหลดโค้ดมาติดตั้งได้จาก https://basaasa.googlecode.com/files/python-libthai-20090310.tar.gz
ตัวอย่างการใช้งาน
import libthai
print libthai.th_brk(u"การที่ได้ต้องแสดงว่างานดี")

ขอให้สนุกกับการเขียนโปรแกรมครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)