9. การสร้าง ระบบสนทนา โต้ตอบอัตโนมัติ ด้วย (Python chat bot)


    สำหรับครั้งนี้ ก็จะมานำเสนอการสร้าง ระบบสนทนา โต้ตอบอัตโนมัติ ด้วยโค้ดภาษาไพธอน กันนะครับ โดยแนวคิดในการพัฒนาระบบนี้ มองไปที่หลักการในการโต้ตอบโดยอัตโนมัติ แต่ทั้งนี้ก็ขึ้นอยู่กับฐานข้อมูลที่ผู้พัฒนาได้จัดเตรียมไว้ ว่าจะใช้งานได้กว้างขวาง หลากหลายเพียงใด ในอันดับแรกจะต้องลงมือสร้างแฟ้มฐานข้อมูล ที่เก็บประโยคในการสนทนา ในที่นี้จะจัดเก็บเป็นไฟล์ csv ซึ่งสะดวกในการสร้างและแก้ไขปรับปรุง จากนั้นก็ลงมือเขียนโค้ดภาษาไพธอน แล้วทดลองใช้งาน หาข้อผิดพลาด เพื่อจะได้ปรับปรุงแก้ไขและนำไปใช้งาน

    ขั้นตอนในการทำงาน

1. สร้างแฟ้มฐานข้อมูล โดยพิมพ์ประโยคที่ระบบจะได้รับจากผู้ใช้ และประโยคที่จะใช้ในการโต้ตอบ คั่นด้วยเครื่องหมาย จุลภาค ในตัวอย่างนี้ มีเพียง 40 ประโยค แล้วบันทึกเป็นไฟล์ชื่อ idialog.csv ดังนี้

iquiz,ireply

bye,See you again later

do you think of me,I always think of you

good afternoon,Good afternoon sir

good bye,Boring me don't you

good morning,Good morning sir

good night,Good night

go to travel,You only think about traveling

great,I think you may glad

hello,How are you

hi,Howdy

how about you,I'm fine and you

how are you,I'm good

howdy,Hi

how old are you,Don't ask that

hungry,Have something to eat first

Nice to meet you,It's a pleasure

sing with me,I can't sing any song

sleepy,Why do you complain about being sleepy?

so bore,What you bore?

so boring,Is it very boring?

thanks,You're welcome

think of you,Think of you so

This is a great party,Yes

want to travel,Are you going alone Do not invite friends as well?

what do you do,I'm a teacher

what are you doing,I'm chatting with you

what is your name,My name is plakemphet

What is your fvorite movie,Star wars

What did you do yesterday,that's about me

What's wrong,Nothing

What's your favorite food,Khao Phad Poo

where are you,I'm at home

where are you come from,I'm from Thailand

Where are you from,I'm from Bangkok

where do you work,I work at school

where to go,Go where you like

who are you,I'm Python chat bot

wonderful,I think you may glad

wow,Wow I'm so glad

2. เขียนโค้ดภาษาไพธอน ดังนี้

# plakemphet.net

# Python chat bot

# 24 July 2021


import csv

srch ="*"

while (1):

    srch = input("You: ")

    reply = ":("

    with open("idialog.csv") as f:

        reader = csv.DictReader(f, delimiter=',')  # Read data from csv file

        for row in reader:

            quest1 = row['iquiz']    # Put data from first column to quest1

            reply1 = row['ireply']    # Put data from second column to reply1

            if srch.lower() == quest1.lower():    # Compare input with database

                reply = reply1

    srch = "*"

    print ("machine: ",reply)

3. ผลที่ได้จากการทำงานของโค้ดที่เขียนขึ้น เป็นดังนี้

3.1 เมื่อ run คำสั่งแล้ว ระบบจะรอรับข้อความจากผู้ใช้ โดยส่วนของผู้ใช้ จะปรากฏข้อความ You: รอรับข้อความจากผู้ใช้ และระบบโต้ตอบจะปรากฏข้อความ machine: ตามด้วยประโยคที่โต้ตอบ ดังนี้


You: hi

machine:  Howdy

You: hello

machine:  How are you

You: where are you from

machine:  I'm from Bangkok



รูปที่ 1 แสดงตัวอย่าง โค้ดไพธอน และ ผลที่ได้จากการทำงาน 


โพสต์ยอดนิยมจากบล็อกนี้

14. Wio Terminal EP.01 , เริ่มตันกับ Wio Terminal ด้วย circuitPython

28. Wio Terminal GPS

24. Wio Terminal EP.11, อนาล็อกมิเตอร์ วัดความสว่างของแสง