ChatterBot เป็นโมดูลในภาษาไพทอน เป็นโมดูลด้านเครื่องเรียนรู้ (Machine Learning) สำหรับใช้โต้ตอบบทสนทนาในภาษาไพทอน เราสามารถสอนให้ ChatterBot เรียนรู้ภาษาอื่นนอกจากภาษาอังกฤษได้ (ใช้ภาษาไทยได้)
รองรับทั้งไพทอน 2 และไพทอน 3
ใช้ BSD Licens
เนื่องจาก ChatterBot เป็นเครื่องเรียนรู้ (Machine Learning) แบบต้องมีผู้สอน จึงไม่มี knowledge สำหรับใช้โต้ตอบมาให้ เราต้องสอน ChatterBot เอง เมื่อพิมพ์ข้อความลงไประบบจะทำการบันทึก ระบบจะทำการตอบกลับที่คล้ายเคียงที่สุดกับข้อควาามที่ได้รับ
สามารถติดตั้งได้โดยใช้คำสั่ง pip:
pip install chatterbot
โค้ดตัวอย่าง
การสอนให้ Bot รู้จักโต้ตอบ
[python]
__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
[/python]
ตัวอย่างบทสนทนา
user: สวัสดี
bot: ทำอะไรอยู่ค่ะ
user: เล่นเเกม
bot:กินข้าวยัง
user: กินแล้ว
bot:ค่ะ
user: ครับ
bot: กินข้าวยัง
user: กินแล้วครับ
bot: คุณเป็นใคร
user: นั้นสิ
bot: กินข้าวยัง
user: กินแล้วครับ
เอกสารการใช้งาน https://github.com/gunthercox/ChatterBot/wiki/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ขอขอบคุณมากครับที่บอก
ตอบลบทำไมลอง chatterbot ไม่ได้ครับ
ตอบลบ