ทางโมดูล Chatterbot ได้เตรียมชุดข้อมูลสำหรับใช้ Train บทสนทนาเบื้องต้นให้กับเราแล้ว โดยเราสามารถเรียกใช้งานชุดข้อมูลได้ตามตัวอย่างนี้
from chatterbot.trainers import ChatterBotCorpusTrainerและถ้าเราต้องการจัดเก็บข้อมูลที่ Train ให้กำหนด Storage Adapters ใน ChatBot (อ่านเอกสารได้ที่ http://chatterbot.readthedocs.io/en/stable/storage/index.html)
chatterbot = ChatBot("Training Example") # ชื่อแชทบ็อต
chatterbot.set_trainer(ChatterBotCorpusTrainer) # กำหนดให้ Train จากชุดข้อมูลของ Chatterbot
chatterbot.train(
"chatterbot.corpus.english"
) # เรียกใช้ชุดข้อมูล chatterbot.corpus.english
หากต้องการจัดเก็บไว้ใน Sqllite ให้ใช้ chatterbot.storage.SQLStorageAdapter
ตัวอย่างเช่น
chatbot = ChatBot(ลองมาโค้ดกัน
'Charlie', # ชื่อแชตบ็อต
storage_adapter='chatterbot.storage.SQLStorageAdapter', # กำหนดการจัดเก็บเป็น Sqllite
database='Charlie.sqlite3' # ที่ตั้งฐานข้อมูล
)
เสร็จแล้ว ลองเรียกใช้งานกันดู
ai.yml Training: [####################] 100%เมื่อรัน ทาง Chatterbot จะทำการ Train ข้อมูลให้เราก่อนเรียกใช้งาน เมื่อทำก่าร Train เสร็จแล้วลองใช้งาน
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%
Text : Hiจะเห็นได้ว่า การโต้ตอบคล้ายคลึงกับมนุุษย์มากยิ่งขึ้นเนื่องจากจำนวนข้อมูลที่ใช้ในการ Train มาก ทำให้เครื่องเรียนรู้ของ Chatterbot สามารถโต้ตอบด้วยประโยคที่เหมาะสมได้
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.
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
มันขึ้นเออเรอแบบนี้เพราะอะไรหรอครับ
ตอบลบ[nltk_data] Downloading package stopwords to C:\Users\User-
[nltk_data] PC\AppData\Roaming\nltk_data...
[nltk_data] Package stopwords is already up-to-date!
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data] C:\Users\User-PC\AppData\Roaming\nltk_data...
[nltk_data] Package averaged_perceptron_tagger is already up-to-
[nltk_data] date!
Traceback (most recent call last):
File "C:\Users\User-PC\Desktop\chatv1.py", line 10, in
chatbot.set_trainer(ChatterBotCorpusTrainer) # กำหนดให้ Train จากชุดข้อมูลของ Chatterbot
AttributeError: 'ChatBot' object has no attribute 'set_trainer'
แก้ไขแล้วครับ เพราะ Chatterbot มีการเปลี่ยนแปลง API ใหม่ครับ
ลบ