3 เมษายน 2558

Published เมษายน 03, 2558 by with 0 comment

ตรวจสอบภาษาด้วย Python

สวัสดีผู้อ่านทุกท่านครับ จากบทความที่แล้ว ผมได้พาทุกท่านไปทำเว็บแปลคำศัพท์อังกฤษเป็นไทยด้วย Python CGI + Apache กันมาแล้วครับ แล้วเกิดคำถามว่า หากเราต้องการให้ผู้ใช้พิมพ์ข้อความแล้วตรวจสอบว่าใช้ภาษาอะไร ทำการแปลออกมาเลยในครั้งเดียวครับ บทความนี้จะพาผู้อ่านไปตรวจสอบภาษาด้วย Python กันครับ

ในภาษา Python ได้มีการ Port ไลบรารีที่ชื่อว่า language-detection ซึ่งเป็นไลบรารีสำหรับตรวจสอบภาษาในภาษา Java มายังภาษา Python ครับ โดยใช้ชื่อไลบรารีว่า langdetect

ไลบรารี langdetect

  • รองรับทั้ง Python 2 , Python 3

  • ใช้ Apache Software License ครับ


สามารถติดตั้งได้ง่าย ๆ โดยใช้คำสั่ง pip:
pip install langdetect

หรือโหลดโค้ดมาติดตั้งเองจาก PyPI แตกไฟล์แล้วใช้คำสั่ง
python setup.py install

การใช้งาน

ในการใช้งานไลบรารี langdetect ในการตรวจสอบภาษา ทำได้ง่าย ๆ ดังนี้ครับ

[python]
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.") #ตรวจสอบข้อความว่าเป็นภาษาอะไร
'en'
>>> detect("สวัสดีครับ :D")
'th'
[/python]

ผลลัพธ์ออกมาจะเป็นชื่อย่อของภาษาที่ตรวจสอบพบครับ
นอกจากนั้นไลบรารีนี้ยังสามารถวัดความถี่ของภาษาต่าง ๆ หากในประโยคนั้น ๆ มีการใช้ภาษามากกว่า 1 ภาษา ได้ตามนี้ครับ

[python]
>>> from langdetect import detect_langs
>>> detect_langs("Otec matka syn.")
[pl:0.5714284173342413, fi:0.4285704692167082]
>>> detect_langs("แมว กิน ปลา")
[th:0.9999999484920452]
>>> detect_langs("แมว กิน apple")
[th:0.9999996897932656]
>>> detect_langs("แมว eat apple")
[en:0.8571395689001586, th:0.14285621893251102]
[/python]

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

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

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

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