Skip to content

สร้าง Machine Learning โต้ตอบสนทนาด้วย ChatterBot ในภาษาไพทอน

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะแนะนำการสร้าง Machine Learning โต้ตอบสนทนาด้วย ChatterBot ในภาษาไพทอนกันครับ

ChatterBot เป็นโมดูลในภาษาไพทอน เป็นโมดูลด้านเครื่องเรียนรู้ (Machine Learning) สำหรับใช้โต้ตอบบทสนทนาในภาษาไพทอน เราสามารถสอนให้ ChatterBot เรียนรู้ภาษาอื่นนอกจากภาษาอังกฤษได้ (ใช้ภาษาไทยได้)
รองรับทั้งไพทอน 2 และไพทอน 3
ใช้ BSD Licens

เนื่องจาก ChatterBot เป็นเครื่องเรียนรู้ (Machine Learning) แบบต้องมีผู้สอน จึงไม่มี knowledge สำหรับใช้โต้ตอบมาให้ เราต้องสอน ChatterBot เอง เมื่อพิมพ์ข้อความลงไประบบจะทำการบันทึก ระบบจะทำการตอบกลับที่คล้ายเคียงที่สุดกับข้อควาามที่ได้รับ

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

pip install chatterbot

โค้ดตัวอย่าง
การสอนให้ Bot รู้จักโต้ตอบ

__author__ = 'วรรณพงษ์'
from chatterbot import ChatBot


bot = ChatBot("Training Bot Example",
    storage_adapter="chatterbot.adapters.storage.JsonDatabaseAdapter",
    logic_adapter="chatterbot.adapters.logic.ClosestMatchAdapter",
    io_adapter="chatterbot.adapters.io.TerminalAdapter",
    database="th_database.db") # กำหนดค่า ฐานข้อมูลในนี้คือ th_database.db หากไม่มี ระบบจะทำการสร้างใหม่

'''
ให้ Bot พูดคุยสนทนาง่าย ๆ เพื่อช่วยให้มันได้เรียนรู้วิธีการตอบสนองต่อคำสั่งอื่น
กดปุ่ม ctrl-c หรือ ctrl-d เพื่อออกจากการสนทนา
'''
training_data = [
    "สวัสดีค่ะ",
    "ทำอะไรอยู่ค่ะ",
    "กำลังรอคำสั่งจากท่านค่ะ",
    "คุณเป็นใคร",
    "กินข้าวยัง",
    "ค่ะ"
]

bot.train(training_data)

user_input = ""

while True:
    try:
        user_input = bot.get_input() # รับข้อความผู้ใช้
        bot_input = bot.get_response(user_input) # ดึงข้อมูล
    except (KeyboardInterrupt, EOFError, SystemExit):
        break

ตัวอย่างบทสนทนา

user: สวัสดี
bot: ทำอะไรอยู่ค่ะ
user: เล่นเเกม
bot:กินข้าวยัง
user: กินแล้ว
bot:ค่ะ
user: ครับ
bot: กินข้าวยัง
user: กินแล้วครับ
bot: คุณเป็นใคร
user: นั้นสิ
bot: กินข้าวยัง
user: กินแล้วครับ

เอกสารการใช้งาน https://github.com/gunthercox/ChatterBot/wiki/

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

3 thoughts on “สร้าง Machine Learning โต้ตอบสนทนาด้วย ChatterBot ในภาษาไพทอน

  1. wannaphong

    ขอให้ใช้ความอดทนกับการสอนบทสนทนาให้กับ ChatterBot ด้วยนะครับ

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *