- PyThaiNLP: Thai Natural Language Processing in Python
- facebook.com/pythainlp/
- Get Started
- Tutorials
- เอกสารล่าสุด docs/2.3/
การติดตั้ง
ติดตั้งปกติได้เวอร์ชัน 2.0.7
python -m pip install pythainlp
ติดตั้งด้วย --upgrade
ได้เวอร์ชันล่าสุด (2.3.2
)
python -m pip install --upgrade pythainlp
ติดตั้ง epitran
python -m pip install epitran
ตรวจสอบการติดตั้ง
import pythainlp print(pythainlp.__version__)
2.3.2
Thai Characters
ตัวอักษร
import pythainlp print(pythainlp.thai_characters) print(len(pythainlp.thai_characters))
กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮฤฦะัาำิีึืุูเแโใไๅํ็่้๊๋ฯฺๆ์ํ๎๏๚๛๐๑๒๓๔๕๖๗๘๙฿ 88
พยัญชนะ
import pythainlp print(pythainlp.thai_consonants) print(len(pythainlp.thai_consonants))
กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ 44
ตัวเลข
import pythainlp print(pythainlp.thai_digits) print(len(pythainlp.thai_digits))
๐๑๒๓๔๕๖๗๘๙ 10
การตรวจสอบ
import pythainlp print("๔" in pythainlp.thai_characters) print("๔" in pythainlp.thai_consonants) print("๔" in pythainlp.thai_digits)
True False True
ตรวจสอบ Thai character ด้วย pythainlp.util
ตรวจสอบว่าใช่ตัวอักษรภาษาไทยหรือไม่
import pythainlp.util print(pythainlp.util.isthai("๔")) print(pythainlp.util.isthai("ก")) print(pythainlp.util.isthai("(ก.พ.)")) print(pythainlp.util.isthai("(ก.พ.)", ignore_chars=".()"))
True True False True
counthai()
returns proportion of Thai characters in the text. It will ignore non-alphabets by default.
import pythainlp.util print(pythainlp.util.countthai("วันอาทิตย์ที่ 24 มีนาคม 2562")) print(pythainlp.util.countthai("วันอาทิตย์ที่ 24 มีนาคม 2562", ignore_chars="")) print(pythainlp.util.countthai("วันอาทิตย์ที่ 24 มีนาคม 2562", ignore_chars=" "))
100.0 67.85714285714286 # ตัวอักษรทั้งหมด/ตัวอักษรไทย (28/19=67.857) 76.0 # ตัวอักษรทั้งหมดยกเว้นช่องว่าง/ตัวอักษรไทย (25/19=76)
import pythainlp.util print(pythainlp.util.countthai("อาทิตย์ 24")) print(pythainlp.util.countthai("อาทิตย์ 24", ignore_chars="")) print(pythainlp.util.countthai("อาทิตย์ 24", ignore_chars=" "))
100.0 70.0 # 10/7=70 77.77777777777779 # 9/7=77.777
การเรียงลำดับ list ภาษาไทย
from pythainlp.util import collate thai_words = ["ค้อน", "กระดาษ", "กรรไกร", "ไข่", "ผ้าไหม"] print(collate(thai_words)) print(collate(thai_words, reverse=True))
['กรรไกร', 'กระดาษ', 'ไข่', 'ค้อน', 'ผ้าไหม'] ['ผ้าไหม', 'ค้อน', 'ไข่', 'กระดาษ', 'กรรไกร']
ถ้ามีภาษาอังกฤษ ภาษาอังกฤษจะมาก่อนภาษาไทย
from pythainlp.util import collate thai_words = ["ค้อน", "กระดาษ", "กรรไกร", "ไข่", "ผ้าไหม", "Dog", "Cat"] print(collate(thai_words)) print(collate(thai_words, reverse=True))
['Cat', 'Dog', 'กรรไกร', 'กระดาษ', 'ไข่', 'ค้อน', 'ผ้าไหม'] ['ผ้าไหม', 'ค้อน', 'ไข่', 'กระดาษ', 'กรรไกร', 'Dog', 'Cat']
Date/Time Format
import datetime from pythainlp.util import thai_strftime fmt = "%Aที่ %-d %B พ.ศ. %Y เวลา %H:%M น. (%a %d-%b-%y)" date = datetime.datetime(1976, 10, 6, 1, 40) print(thai_strftime(date, fmt)) print(thai_strftime(date, "%d %b %y")) print(thai_strftime(date, "%d %b %Y"))
วันพุธที่ 6 ตุลาคม พ.ศ. 2519 เวลา 01:40 น. (พ 06-ต.ค.-19) 06 ต.ค. 19 06 ต.ค. 2519