อยากเพิ่มคำใน 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 เพียงพอแล้วใช้ไหมครับ
ใช่ครับ
น่าจะได้คำตอบแล้ว
ปิด issue นี้ได้ไหมครับ
จากการแก้ไข #137 จะทำให้การแก้ไขไฟล์ thaiword.txt ไม่มีผลต่อการทำงานของ pythainlp.corpus.pn.spell()
TODO: เพิ่ม spell checker class เพื่อให้ผู้ใช้สามารถระบุรายการคำ (พจนานุกรม) ได้เอง
ตอนนี้สามารถเขียนโปรแกรมปรับเปลี่ยนพจนานุกรมได้เองแล้วนะครับ
โดย 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