ข้ามไปที่เนื้อหาหลัก

สร้าง Chat bots อย่างง่ายๆ ด้วย Python

สร้าง Chat bots อย่างง่ายๆ ด้วย Python

      ในที่นี้จะกล่าวถึงไลบรารี่ตัวหนึ่งในภาษา Python ชื่อ Chatterbot ซึ่งมันเป็น machine learning?เอาไว้สร้าง chat bots ซึ่งตอนนี้ (ที่ผมเขียนบล็อก) มันถูกเทรนด้วย Datasets ที่เป็นบทสนทนา 3 ภาษา ได้แก่ อังกฤษ สเปน และโปรตุเกส

ที่มาภาพ https://pixabay.com/th/ปัญญาประดิษฐ์-หุ่นยนต์-ไอ-ki-2167835/

วิธีใช้งาน

  1. ติดตั้ง Anaconda
  2. แล้วติดตั้ง Chatterbot ด้วยคำสั่ง
pip install chatterbot

ตัวอย่างที่ 1

เมื่อป้อนบทสนทนาอย่างง่าย

# -*- coding: utf-8 -*-
from chatterbot import ChatBot

# Create a new chat bot named Charlie
chatbot = ChatBot(
    'Charlie',
    trainer='chatterbot.trainers.ListTrainer'
)

chatbot.train([
    "Hi, can I help you?",
    "Sure, I'd to book a flight to Iceland.",
    "Your flight has been booked."
])

# Get a response to the input text 'How are you?'
response = chatbot.get_response('I would like to book a flight.')

print(response)

ได้ผลลัพธ์
Your flight has been booked.

ตัวอย่างที่ 2

เมื่อป้อนคำถามให้คำนวณทางคณิตศาสตร์ และถามเวลา

# -*- coding: utf-8 -*-
from chatterbot import ChatBot

bot = ChatBot(
    "Math & Time Bot",
    logic_adapters=[
        "chatterbot.logic.MathematicalEvaluation",
        "chatterbot.logic.TimeLogicAdapter"
    ],
    input_adapter="chatterbot.input.VariableInputTypeAdapter",
    output_adapter="chatterbot.output.OutputAdapter"
)

# Print an example of getting one math based response
response = bot.get_response("What is 4 + 9?")
print(response)

# Print an example of getting one time based response
response = bot.get_response("What time is it?")
print(response)

ได้ผลลัพธ์
( 4 + 9 ) = 13
The current time is 10:15 PM


รายละเอียดมากกว่านี้อ่านได้ที่

ขอขอบคุณบทความดีๆๆจาก: https://www.patanasongsivilai.com/blog/chat-bots-easy/

















ความคิดเห็น

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

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify           ขั้นตอนต่อไปนี้จะข้ามส่วนของรายละเอียดบางอย่างไป ซึ่งก่อนจะทำตรงนี้ควรจะรู้แล้วว่า LINE Notify ใช้ทำอะไร และ Access Token จะเอามาจากไหน แต่จะพยายามอธิบายให้ครอบคลุมที่สุดก็แล้วกัน Update: 2019/06/10 ในท้ายบทความได้เพิ่มคำอธิบายเรื่องการส่งข้อมูลหลายกล่องข้อมูล (คอลั่ม) พร้อมกับ code ที่วนลูปข้อมูลทุกกล่อง เพื่อความสะดวกในการส่งข้อมูลในรูปแบบเดิม สร้าง Google Form วิธีสร้างก็ง่ายแสนง่าย เข้าไปที่  https://docs.google.com/forms  จากนั้น คลิกตรงเครื่องหมาย + ตามภาพ จะได้ form หน้าตาแบบนี้มา แก้ไขตามสะดวกเลย ตัวอย่างเอาแบบนี้แล้วกัน จะลองส่งข้อความคลิกที่รูป “ตา” พิมพ์ข้อความอะไรก็ได้ แล้ว กด Submit โลด กลับไปหน้า Form ของเราใน tab แรก มันก็จะมี RESPONSES เข้ามา เมื่อคลิกดูก็จะพบข้อความที่เราเพิ่งพิมพ์ไปเมื่อตะกี้ ใส่ code ใน Script Editor คลิกที่ จุด 3 จุด ด้านขวาบน แล้วเลือก  <> Script Editor จะพบหน้าเปล่าๆ ที่ไม่คุ้นเคย ตรงนี้แหละที่เราจะมาใส่ code ใ...

Pentaho

Pentaho คืออะไร ? Pentaho (Link) เป็น software แบบ Businese Intelligence (BI) ที่นำมาช่วยในการวิเคาะห์ข้อมูลหลายๆฐานข้อมูล ออกมาในรูปแบบต่างๆ เช่น กราฟ , ตาราง หรือใบรายงานผล เป็นต้น ซึ่งจะช่วยให้ธุรกิจที่กำลังที่จะดำเนินงานหรือดำเนินงานไปแล้วสามารถมองเห็นถึงข้อมูลที่ต้องการทราบว่าไปในทิศทางไหน เพื่อให้ผู้ใช้งานหรือธุรกิจนั้นๆ สามารถวางแผนการทำการตลาดได้แม่นยำมากขึ้นและมีข้อมูลที่สามารถใช้เป็นข้ออ้างอิงได้ จากที่ได้ศึกษาผมขอแบ่งส่วนต่างๆ เป็น 3 ส่วน คือ 1.       1.  ส่วนของการทำ ETL (Extract, Transform and Load) เป็นส่วนของการเริ่มกระบวนการทั้งหมด คือการนำข้อมูลที่อยู่ในฐานข้อมูลหรือไฟล์ข้อมูลในรูปแบบต่างๆ ไม่ว่าจะเป็น MySQL, Excel, Text File ฯลฯ มาปรับให้เป็นชุดข้อมูลในรูปแบบเดียวกัน 2.      2.   ส่วนของ Data Warehouse เป็นการนำข้อมูลที่ได้จากกระบวนการ ETL มาทำชุดข้อมูลในลักษณะของ Cube ข้อมูล 3.       3.  ส่วนของ Output ซึ่งจะออกมาได้ทั้งในรูปแบบ OLAP, Reporting หรืออื่นๆ เครื่องม...

ทำความเข้าใจ LM, NTLM, NTLMv2

ทำความเข้าใจ LM, NTLM, NTLMv2  วันนี้เราจะมาทำความเข้าใจเกี่ยวกับรูปแบบการเก็บ password ของ Windows โดยแต่ก่อนจนถึงปัจจุบันก็มีพัฒนาการมาเรื่อยๆครับ ซึ่งจะเริ่มจาก LM (Lan Manager) hash โดย LM นั้นเป็นรูปแบบดั้งเดิมในการเก็บ password ของ Windows ตั้งแต่ยุค 1980 ซึ่งในช่วงนั้นยังมีจำนวน charset ที่ยังจำกัดอยู่(16-bits characters) ซึ่งทำให้การ crack password นั้นทำได้ง่ายมากโดยดึงจาก SAM database บน Windows หรือว่า NTDS บน Domain Controller (Active Directory) ได้เลย โดยขั้นตอนการเปลี่ยน password อยู่ในรูปแบบ LM hash คือ เปลี่ยนอักษรทั้งหมดเป็นตัวใหญ่ หากตัวอักษรไม่ครบ 14 ตัวอักษรก็จะเติมตัวอักษรทั้งหมดให้เต็มด้วย NULL characters แบ่งเป็น 2 กลุ่ม กลุ่มละ 7 ตัวอักษร สร้าง DES key จาก character 7 ตัวทั้ง 2 กลุ่ม ก็จะได้ DES key 2 ชุด (ชุดละ 64 bit) นำ DES key ไปเข้ารหัส static string “KGS!@#$%” ด้วย DES (ECB) นำ encrypted strings ทั้ง 2 อันมาต่อกัน ก็จะได้เป็น LM Hash เช่น สมมติ password เป็น password password => password000000 PASSWORD000000 PASSWOR...