abhabongse / pythainlp

Thai Natural Language Processing in Python.

Home Page:https://pythainlp.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyThaiNLP Logo

PyThaiNLP

Python 3.6 pypi Downloads License FOSSA Status Build Status Build status Codacy Badge Coverage Status

Thai Natural Language Processing in Python.

PyThaiNLP is a Python package for text processing and linguistic analysis, similar to nltk but with focus on Thai language.

News

Hello, We are conducting a survey for PyThaiNLP’s users and those who are working in the field of Thai NLP.

We would love to hear your feedback in order to improve the library. Also, we will prioritize for the implementation of new Thai NLP features such as Thai-English Machine Translation, Speech-to-Text, or Text-to-Speech.

You could take part in this survey via the Google Form shown below: https://forms.gle/aLdSHnvkNuK5CFyt9

This is a document for development branch (post 2.0). Things will break.

Google Colab Badge

Capabilities

  • Convenient character and word classes, like Thai consonants (pythainlp.thai_consonants), vowels (pythainlp.thai_vowels), digits (pythainlp.thai_digits), and stop words (pythainlp.corpus.thai_stopwords) -- comparable to constants like string.letters, string.digits, and string.punctuation
  • Thai word segmentation (word_tokenize), including subword segmentation based on Thai Character Cluster (subword_tokenize)
  • Thai transliteration (transliterate)
  • Thai part-of-speech taggers (pos_tag)
  • Read out number to Thai words (bahttext, num_to_thaiword)
  • Thai collation (sort by dictionoary order) (collate)
  • Thai-English keyboard misswitched fix (eng_to_thai, thai_to_eng)
  • Thai spelling suggestion and correction (spell and correct)
  • Thai soundex (soundex) with three engines (lk82, udom83, metasound)
  • Thai WordNet wrapper
  • and much more - see examples in PyThaiNLP Get Started notebook.

Installation

PyThaiNLP uses PyPI as its main distribution channel, see https://pypi.org/project/pythainlp/

Stable release

Standard installation:

$ pip install pythainlp

Development release:

$ pip install https://github.com/PyThaiNLP/pythainlp/archive/dev.zip

For some advanced functionalities, like word vector, extra packages may be needed. Install them with these options during pip install:

$ pip install pythainlp[extra1,extra2,...]

where extras can be

  • artagger (to support artagger part-of-speech tagger)*
  • attacut (to support attacut tokenizer, accurate and x6 faster than deepcut)
  • deepcut (to support deepcut tokenizer, more accurate for BEST standard)
  • icu (for ICU, International Components for Unicode, support in transliteration and tokenization)
  • ipa (for IPA, International Phonetic Alphabet, support in transliteration)
  • ml (to support ULMFiT models for classification)
  • ner (for named-entity recognizer)
  • thai2fit (for Thai word vector)
  • thai2rom (for machine-learnt romanization)
  • full (install everything)

** see extras and extras_require in setup.py for package details.

Documentation

See https://thainlp.org/pythainlp/docs/2.0/

License

FOSSA Status

Contribute to PyThaiNLP

Please do fork and create a pull request :)

For style guide and other information, including references to algorithms we use, please refer to our contributing page.

Made with ❤️

We build Thai NLP.

PyThaiNLP Team.

ภาษาไทย

ประมวลภาษาไทยในภาษา Python

PyThaiNLP เป็นไลบารีภาษาไพทอนเพื่อการประมวลผลภาษาธรรมชาติ โดยเน้นการสนับสนุนภาษาไทย แจกจ่ายฟรี (ตลอดไป) เพื่อคนไทยและชาวโลกทุกคน!

เพราะโลกขับเคลื่อนต่อไปด้วยการแบ่งปัน

ข่าวสาร

สวัสดีค่ะ,

ทางทีมพัฒนา PyThaiNLP อยากขอสอบถามความคิดเห็นของผู้ใช้งาน library PyThaiNLP ปัจจุบัน หรือผู้ที่ทำงานในด้าน NLP ภาษาไทย เพื่อที่เราจะนำไปปรับปรุง library ให้ดียิ่งขึ้น และพัฒนาฟีเจอร์ใหม่ๆ สำหรับ NLP ภาษาไทย เช่น Thai-English Machine Translation, Speech-to-Text หรือ Text-to-Speech

โดยสามารถตอบแบบสอบถาม ผ่านทาง Google Form ด้านล่างนี้

https://forms.gle/aLdSHnvkNuK5CFyt9

เอกสารนี้สำหรับรุ่นพัฒนา อาจมีการเปลี่ยนแปลงได้ตลอด

  • รุ่นเสถียรล่าสุดคือรุ่น 2.0.7
  • PyThaiNLP 2 รองรับ Python 3.6 ขึ้นไป
  • ผู้ใช้ Python 2.7+ ยังสามารถใช้ PyThaiNLP 1.6 ได้

📫 ติดตามข่าวสารได้ที่ Facebook Pythainlp

ความสามารถ

  • ชุดค่าคงที่ตัวอักษระและคำไทยที่เรียกใช้ได้สะดวก เช่น พยัญชนะ (pythainlp.thai_consonants), สระ (pythainlp.thai_vowels), ตัวเลขไทย (pythainlp.thai_digits), และ stop word (pythainlp.corpus.thai_stopwords) -- เหมือนกับค่าคงที่อย่าง string.letters, string.digits, และ string.punctuation
  • ตัดคำภาษาไทย (word_tokenize) และรองรับการตัดระดับต่ำกว่าคำโดยใช้ Thai Character Clusters (subword_tokenize)
  • ถอดเสียงภาษาไทยเป็นอักษรละตินและสัทอักษร (transliterate)
  • ระบุชนิดคำ (part-of-speech) ภาษาไทย (pos_tag)
  • อ่านตัวเลขเป็นข้อความภาษาไทย (bahttext, num_to_thaiword)
  • เรียงลำดับคำตามพจนานุกรมไทย (collate)
  • แก้ไขปัญหาการพิมพ์ลืมเปลี่ยนภาษา (eng_to_thai, thai_to_eng)
  • ตรวจคำสะกดผิดในภาษาไทย (spell, correct)
  • soundex ภาษาไทย (soundex) 3 วิธีการ (lk82, udom83, metasound)
  • Thai WordNet wrapper
  • และอื่น ๆ ดูตัวอย่างได้ใน PyThaiNLP Get Started notebook

ติดตั้ง

รุ่นเสถียร

$ pip install pythainlp

รุ่นกำลังพัฒนา

$ pip install https://github.com/PyThaiNLP/pythainlp/archive/dev.zip

สำหรับความสามารถเพิ่มเติมบางอย่าง เช่น word vector จำเป็นต้องติดตั้งแพคเกจสนับสนุนเพิ่มเติม ติดตั้งแพคเพจเหล่านั้นได้ ด้วยการระบุออปชันเหล่านี้ตอน pip install:

$ pip install pythainlp[extra1,extra2,...]

โดยที่ extras คือ

  • artagger (สำหรับตัวติดป้ายกำกับชนิดคำ artagger)*
  • attacut ตัวตัดคำแบบ Deep Learning ที่เร็วกว่า deepcut 6 เท่า และประสิทธิภาพการตัดคำแม่นกว่า newmm เมื่อเทียบกับชุดข้อมูล BEST
  • deepcut (สำหรับตัวตัดคำ deepcut)
  • icu (สำหรับการถอดตัวสะกดเป็นสัทอักษรและการตัดคำด้วย ICU)
  • ipa (สำหรับการถอดตัวสะกดเป็นสัทอักษรสากล (IPA))
  • ml (สำหรับการรองรับโมเดล ULMFiT)
  • ner (สำหรับการติดป้ายชื่อเฉพาะ (named-entity))
  • thai2fit (สำหรับ word vector)
  • thai2rom (สำหรับการถอดตัวสะกดเป็นอักษรละติน)
  • full (ติดตั้งทุกอย่าง)
  • หมายเหตุ: แพคเกจ artagger มาตรฐานจาก PyPI อาจมีปัญหาการถอดรหัสข้อความบน Windows กรุณาติดตั้ง artagger รุ่นแก้ไขด้วยคำสั่ง pip install https://github.com/wannaphongcom/artagger/tarball/master#egg=artagger แทน ก่อนจะติดตั้ง PyThaiNLP

** สามารถดู extras และ extras_require ใน setup.py สำหรับรายละเอียดแพคเกจของเสริม

เอกสารการใช้งาน

อ่านที่ https://thainlp.org/pythainlp/docs/2.0/

สัญญาอนุญาต

  • โค้ด PyThaiNLP ใช้สัญญาอนุญาต Apache Software License 2.0
  • คลังคำและข้อมูลที่สร้างโดยโครงการ PyThaiNLP ใช้สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบแสดงที่มา-อนุญาตแบบเดียวกัน 4.0 Creative Commons Attribution-ShareAlike 4.0 International License
  • คลังคำและข้อมูลอื่นๆ ที่อาจแจกจ่ายไปพร้อมกับแพคเกจ PyThaiNLP อาจใช้สัญญาอนุญาตอื่น โปรดดูเอกสาร Corpus License

ตราสัญลักษณ์

ออกแบบโดยคุณ วรุตม์ พสุธาดล จากการประกวดที่ https://www.facebook.com/groups/408004796247683/permalink/475864542795041/ และ https://www.facebook.com/groups/408004796247683/permalink/474262752955220/

สนับสนุนและร่วมพัฒนา

คุณสามารถร่วมพัฒนาโครงการนี้ได้ โดยการ fork และส่ง pull request กลับมา

สร้างด้วย ❤️

พวกเราสร้าง Thai NLP

ทีม PyThaiNLP

About

Thai Natural Language Processing in Python.

https://pythainlp.github.io/

License:Apache License 2.0


Languages

Language:Python 99.3%Language:Makefile 0.6%Language:Batchfile 0.0%