19 กุมภาพันธ์ 2561

Published 2/19/2561 by with 0 comment

สร้าง ChatBot ด้วย Chatterbot : ตอนที่ 2 Train ข้อมูลและจัดเก็บ

หลังจากที่บทความที่ผ่านมา เราได้ทดลองสร้าง ChatBot ง่าย ๆ กันไปแล้ว วันนี้เราจะมา Train ให้กับ ChatBot ของเราที่สร้างโดย Chatterbot กันครับ

ทางโมดูล Chatterbot ได้เตรียมชุดข้อมูลสำหรับใช้ Train บทสนทนาเบื้องต้นให้กับเราแล้ว โดยเราสามารถเรียกใช้งานชุดข้อมูลได้ตามตัวอย่างนี้
from chatterbot.trainers import ChatterBotCorpusTrainer

chatterbot = ChatBot("Training Example") # ชื่อแชทบ็อต
chatterbot.set_trainer(ChatterBotCorpusTrainer) # กำหนดให้ Train จากชุดข้อมูลของ Chatterbot

chatterbot.train(
    "chatterbot.corpus.english"
) # เรียกใช้ชุดข้อมูล chatterbot.corpus.english
และถ้าเราต้องการจัดเก็บข้อมูลที่ Train ให้กำหนด Storage Adapters ใน ChatBot (อ่านเอกสารได้ที่ http://chatterbot.readthedocs.io/en/stable/storage/index.html)
หากต้องการจัดเก็บไว้ใน Sqllite ให้ใช้ chatterbot.storage.SQLStorageAdapter
ตัวอย่างเช่น
chatbot = ChatBot(
    'Charlie', # ชื่อแชตบ็อต
    storage_adapter='chatterbot.storage.SQLStorageAdapter', # กำหนดการจัดเก็บเป็น Sqllite
    database='Charlie.sqlite3' # ที่ตั้งฐานข้อมูล
)
ลองมาโค้ดกัน

เสร็จแล้ว ลองเรียกใช้งานกันดู
ai.yml Training: [####################] 100%
botprofile.yml Training: [####################] 100%
computers.yml Training: [####################] 100%
conversations.yml Training: [####################] 100%
emotion.yml Training: [####################] 100%
food.yml Training: [####################] 100%
gossip.yml Training: [####################] 100%
greetings.yml Training: [####################] 100%
history.yml Training: [####################] 100%
humor.yml Training: [####################] 100%
literature.yml Training: [####################] 100%
money.yml Training: [####################] 100%
movies.yml Training: [####################] 100%
politics.yml Training: [####################] 100%
psychology.yml Training: [####################] 100%
science.yml Training: [####################] 100%
sports.yml Training: [####################] 100%
trivia.yml Training: [####################] 100%
เมื่อรัน ทาง  Chatterbot จะทำการ Train ข้อมูลให้เราก่อนเรียกใช้งาน เมื่อทำก่าร Train เสร็จแล้วลองใช้งาน
Text : Hi
How are you doing?
Text : I play game.
You have to run very fast to be any good at running
Text : Yes,I have.
What is it like?
Text : Are you ok?
Bots like myself are not able to feel boredom.
Text : How are you?
I am doing well.
Text : Do you love me?
I think I could be programmed to love.
จะเห็นได้ว่า การโต้ตอบคล้ายคลึงกับมนุุษย์มากยิ่งขึ้นเนื่องจากจำนวนข้อมูลที่ใช้ในการ Train มาก ทำให้เครื่องเรียนรู้ของ Chatterbot สามารถโต้ตอบด้วยประโยคที่เหมาะสมได้

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

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)