Egy Scratch-alapú chatbot elkészítése izgalmas és egyszerű projekt, amely jól bemutatja az alapvető programozási koncepciókat és a mesterséges intelligencia működését egy egyszerű szinten.
Egy olyan programot készítünk Scratch-ben, amely képes válaszolni az alapvető kérdésekre és egyszerű párbeszédet folytatni a felhasználóval.
A chatbot különböző bemenetekre (pl. kérdések vagy üdvözlések) adott válaszokat jelenít meg. A válaszokat előre beprogramozott feltételes logika segítségével kezeljük.
Scratch fiók: scratch.mit.edu oldalon ingyenesen elérhető.
Előkészített terv: Gondold végig, milyen kérdésekre fog válaszolni a chatbot (pl. "Hogy vagy?", "Mi a neved?", "Mennyi az idő?").
A. Kezdeti beállítások
Hozz létre egy új projektet a Scratch-ben.
Válassz ki egy figurát (sprite), például egy cica vagy robot karaktert, amely a chatbotot képviseli.
B. A program logikája
Indítási esemény:
Hozz létre egy eseményt, amely akkor indul, amikor a felhasználó megnyomja a zászlót.
Amikor a zöld zászló kattintva van:
mond [Szia! Én vagyok a chatbot. Kérdezz valamit!] (2) másodpercig
Felhasználói bemenet rögzítése:
Használj egy „kérdezz” blokkot, amely lehetővé teszi, hogy a felhasználó írjon be egy kérdést.
kérdezd meg [Mit szeretnél kérdezni?] és várj
Válaszok feldolgozása:
Használj „ha... akkor” feltételes blokkokat a bemenetek ellenőrzésére.
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok!] (2) másodpercig
Több kérdés kezelése:
Adj hozzá több feltételt a különböző kérdésekhez.
ha <(válasz) = [Mi a neved?]> akkor
mond [A nevem ScratchBot!] (2) másodpercig
ha <(válasz) = [Mennyi az idő?]> akkor
mond [Nem tudom az időt, de remélem, jól telik a napod!] (2) másodpercig
Alapértelmezett válasz:
Ha a kérdésre nincs előre beállított válasz:
különben
mond [Ezt még nem értem, de tanulok!] (2) másodpercig
C. Visszatérő párbeszéd
A chatbot folyamatosan kérdezhet, amíg a felhasználó nem írja be, hogy „kilép”:
ismételd amíg <(válasz) = [kilép]>
kérdezd meg [Mit szeretnél kérdezni?] és várj
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok!] (2) másodpercig
különben
mond [Ezt még nem értem, de tanulok!] (2) másodpercig
vége
További kérdések és válaszok:
Bővítheted a chatbot tudását újabb kérdésekkel.
Változók hozzáadása:
Hozz létre egy változót, amely rögzíti a felhasználó nevét:
kérdezd meg [Hogy hívnak?] és várj
állítsd [név] változót (válasz)
mond [Szia, (név)! Örülök, hogy itt vagy!] (2) másodpercig
Hangalapú válaszok:
Használhatsz hangblokkot, hogy a chatbot válaszokat beszéljen ki.
Külső kinézetek:
A chatbot száját vagy kifejezéseit animálhatod, hogy barátságosabb legyen.
Amikor a zöld zászló kattintva van:
mond [Szia! Én vagyok a chatbot. Írj be egy kérdést!] (2) másodpercig
ismételd amíg <(válasz) = [kilép]>
kérdezd meg [Mit szeretnél kérdezni?] és várj
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok!] (2) másodpercig
ha <(válasz) = [Mi a neved?]> akkor
mond [A nevem ScratchBot!] (2) másodpercig
különben
mond [Ezt még nem értem, de tanulok!] (2) másodpercig
vége
mond [Viszlát! Jó napot!] (2) másodpercig
Cél: A chatbot köszönti a felhasználót, majd várja a bemeneti kérdéseket.
Scratch kód:
scratch
Kód másolása
Amikor a zöld zászló kattintva van:
mond [Szia! Én vagyok a ScratchBot. Írj be egy kérdést!] (2) másodpercig
ismételd amíg <(válasz) = [kilép]>
kérdezd meg [Mit szeretnél kérdezni? Írj 'kilép', hogy befejezzük!] és várj
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok! És te?] (2) másodpercig
ha <(válasz) = [Mi a neved?]> akkor
mond [A nevem ScratchBot!] (2) másodpercig
különben
mond [Ezt még nem értem, de tanulok!] (2) másodpercig
vége
mond [Viszlát! Remélem, hamarosan újra beszélünk!] (2) másodpercig
Cél: A chatbot megtanulja a felhasználó nevét, és személyesen szólítja meg.
Scratch kód:
scratch
Kód másolása
Amikor a zöld zászló kattintva van:
kérdezd meg [Mi a neved?] és várj
állítsd [név] változót (válasz)
mond [Szia, (név)! Kérdezz valamit tőlem!] (2) másodpercig
ismételd amíg <(válasz) = [kilép]>
kérdezd meg [Mit szeretnél kérdezni? Írj 'kilép', hogy befejezzük!] és várj
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok! És te, (név)?] (2) másodpercig
ha <(válasz) = [Mi a kedvenc színed?]> akkor
mond [A kék! És neked, (név)?] (2) másodpercig
különben
mond [Ezt még nem értem, (név), de tanulok!] (2) másodpercig
vége
mond [Viszlát, (név)!] (2) másodpercig
Cél: Bővítjük a chatbot tudását különböző kérdésekre adott válaszokkal.
Scratch kód:
scratch
Kód másolása
ha <(válasz) = [Hogy vagy?]> akkor
mond [Köszönöm, jól vagyok! És te?] (2) másodpercig
ha <(válasz) = [Mi a kedvenc színed?]> akkor
mond [A kék a kedvenc színem!] (2) másodpercig
ha <(válasz) = [Mi a kedvenc állatod?]> akkor
mond [Imádom a macskákat!] (2) másodpercig
különben
mond [Ezt nem értem, de szívesen tanulok róla többet!] (2) másodpercig
Cél: A chatbot mindig válaszoljon valamit, még ha nem is ismeri a választ.
Scratch kód:
scratch
Kód másolása
különben
mond [Bocsi, nem értem ezt a kérdést. Tanulok még!] (2) másodpercig
Scratch projekt elindítása:
Nyisd meg a Scratch platformot (scratch.mit.edu).
Kövesd a fenti kódot, és írd be a blokkokat.
Képernyőkép mentése:
A projektablak jobb oldalán láthatod az összes blokkot.
Nyomj le egy képernyőmentő billentyűkombinációt (Windows: PrtSc, Mac: Cmd+Shift+4).
Blokkok megörökítése:
Mentés előtt húzd össze az adott blokkokat, hogy a képernyőkép jól látható legyen.
Ábra készítése:
A Scratch saját képernyőjén belül készíthetsz vizuális kimeneteket, amelyeket beilleszthetsz a projektbe.