PyThaiNLP/pythainlp

อยากเพิ่มคำใน pythainlp.spell ครับ

dewringmaster opened this issue · 8 comments

สวัสดีครับผม จากที่ได้ทดสอบ โปรแกรมสามารถแก้คำผิดพวกจังหวัดได้ดีมาก แต่ยังไม่สามารถแก้เขต แขวง ได้ ผมสามารถสร้าง dict ลงให้เพิ่มให้ตัวโปรแกรมได้ไหมคครับ

ทำได้โดยการเพิ่มคำลงไฟล์ https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/thaiword.txt ครับ

ในไฟล์ thaiword.txt เราจำเป็นต้องเรียงตามพจนานุกรมไหมครับผม ขอบคุณครับ

ไม่ครับ

hunspell นี้เราจะไม่สามารถ fix คำที่ต้องการแก้ใช้ไหมครับ

ถ้ามี set คำที่เราต้องการแก้จำกัดอยู่แล้ว ใช้แค่ engine pn เพียงพอแล้วใช้ไหมครับ

ใช่ครับ

bact commented

น่าจะได้คำตอบแล้ว
ปิด issue นี้ได้ไหมครับ

bact commented

จากการแก้ไข #137 จะทำให้การแก้ไขไฟล์ thaiword.txt ไม่มีผลต่อการทำงานของ pythainlp.corpus.pn.spell()

TODO: เพิ่ม spell checker class เพื่อให้ผู้ใช้สามารถระบุรายการคำ (พจนานุกรม) ได้เอง

bact commented

ตอนนี้สามารถเขียนโปรแกรมปรับเปลี่ยนพจนานุกรมได้เองแล้วนะครับ
โดย class NorvigSpellChecker ใน pythainlp.spell.pn จะรับพารามิเตอร์ custom_dict เป็น List ของ Tuple (คำ, ความถี่) เช่น [("นก", 35), ("หนู", 20)]

from pythainlp.spell.pn import NorvigSpellChecker

mydict = [("นก", 35), ("หนู", 20)]
checker = NorvigSpellChecker(custom_dict=mydict)

checker.spell("นภ")

ดูตัวอย่างการใช้งานที่
https://github.com/PyThaiNLP/pythainlp/blob/dev/examples/spell.py