Diskuze: Machr na PHP - Cleverbot

PHP PHP Machr na PHP - Cleverbot American English version English version

Aktivity (1)
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:29.10.2013 9:46

Ahoj, v minisoutěži o placku a samolepky na tento týden si zkusíme naprogramovat cleverbota v PHP. Jedná se o chat člověka s počítačem. Na webové stránce bude zobrazena textarea s textem, který se odesílá robotovi a dále posledních několik vět v konverzaci.

V základní fázi by měl robot umět odpovídat na základní otázky typu "Jak se máš?", "Kolik je hodin?" nebo "Máš rád něco"? a podobně. Samozřejmě by měl umět odpovědět i v případě, když napíšeme Jak je, Jak se máme atd. Konverzace se může ukládat např. do session.

V pokročilé podobě by program mohl do databáze ukládat otázky, které položil člověk robotovi a ty potom zkoušet občas člověku položit a uložit si lidskou odpověď. Když se následně někdo jiný robota zeptá na stejnou věc, odpoví, což člověka dost možná překvapí :)

Ukažme si příklad. Někdo se zeptá robota kolik stojí prášek do pečiva. Robot to samozřejmě nemůže vědět, tak nejlepší co může udělat je analyzovat větu a když zjistí, že obsahuje slovo kolik a na konci otazník, odpoví třeba "hodně". Otázku si však uloží a potom ji položí jinému člověku, se kterým si píše, ten mu odpoví, že 10 korun. Když se následně někdo jiný zeptá na tu samou otázku, robot již zná odpověď. Představte si, že vašeho robota opravdu umístíte na web a za několik týdnů nebo měsíců se ho lidé zeptají na stovky vět. To už by mohlo být zajímavé.

Samozřejmě je zde háček v tom, jak poznat podobnou otázku od člověka, je třeba z vět odstranit spojky a podobná zbytečná slova a tak najít klíčová slova a podle nich podobné věty.

Určitě si program zkuste, není zde žádná laťka jak to musí fungovat a tak může placku získat i velmi jednoduché řešení. Navíc je to zábavná úloha :)

Čas si dejme do neděle 3.11. do 18:00 hodin. Nápad na zadání pochází od Panda38. Pravidla soutěže jsou zde: http://www.itnetwork.cz/…outezi-machr

Editováno 29.10.2013 9:48
Odpovědět  +2 29.10.2013 9:46
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Panda38
Redaktor
Avatar
Panda38:29.10.2013 10:36

Dobrou inspirací může být program ELIZA, známý a populární už na osmibitech: http://epanel.cz/eliza/eliza.php

 
Nahoru Odpovědět  +2 29.10.2013 10:36
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na David Čápka
Filip Pýrek:29.10.2013 11:03

Super, ale nevím jestli to zvládnu za týden. 8-)

Nahoru Odpovědět 29.10.2013 11:03
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Kit
Redaktor
Avatar
Odpovídá na Filip Pýrek
Kit:29.10.2013 11:11

To není náročné, je to poměrně jednoduchý program.

Nahoru Odpovědět 29.10.2013 11:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Kit
Filip Pýrek:29.10.2013 11:17

Zjistit jestli je ve větě "kolik" a na konci otazník je jednoduché, ale já bych to chtěl udělat trošku složitější.

Nahoru Odpovědět 29.10.2013 11:17
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Old Account
Člen
Avatar
Old Account:29.10.2013 13:19

Paradne zadanie, skusim nieco spravit, mozno sa mi podari osekat moj kod zo starsieho projektu, ktory je ale trosku rozsiahlejsi (v podstate disponuje ciastocnou umelou inteligenciou).

Nahoru Odpovědět 29.10.2013 13:19
"If you keep your eye on the profit, you’re going to skimp on the product. But if you focus on making really gre...
Avatar
Panda38
Redaktor
Avatar
Panda38:29.10.2013 13:53

Ještě jedna motivace - je vypsána Loebnerova cena 100 000 dolarů za program, který bude komunikovat neodlišitelně od člověka (Turingův test). 8|

 
Nahoru Odpovědět 29.10.2013 13:53
Avatar
Josef Kuchař (Pepa489):29.10.2013 14:23

To zní dobře :D

Nahoru Odpovědět 29.10.2013 14:23
2x piš, jednou debuguj
Avatar
Salieri
Člen
Avatar
Salieri:29.10.2013 16:47

Škoda, že mé znalosti nejsou až tak velké abych se zůčastnil.
Teším se na vaše výsledky. Hodně štěstí. :)

Nahoru Odpovědět 29.10.2013 16:47
Hlavní zlo? **Školství a Matematika**!
Avatar
Kit
Redaktor
Avatar
Odpovídá na Salieri
Kit:29.10.2013 16:52

Zúčastnit se můžeš i s jednoduchým skriptem na 30 řádek.

Nahoru Odpovědět 29.10.2013 16:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:29.10.2013 18:15

Může to být v C# ? Že bych ukradl David Jančíkovi Elis (už zase :D)

 
Nahoru Odpovědět  +1 29.10.2013 18:15
Avatar
Michael Olšavský:29.10.2013 21:06

https://drive.google.com/…NWszN1E/edit?…
Tady je mé jednoduché řešení, udělal jsem to zhruba za 10 minut. Moc toho neumí, učí se postupně. Je to napsané v C#, data to nikam neukládá. Čím více mu toho řeknete, tím bude chytřejší. :-)

 
Nahoru Odpovědět  -1 29.10.2013 21:06
Avatar
kredenc uždil
Neregistrovaný
Avatar
kredenc uždil:29.10.2013 21:43

tu mate ukasku jak se to da visfihnoud f javascriptu. http://www.vicko.cz/…kecal-vicko/

 
Nahoru Odpovědět 29.10.2013 21:43
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
Daniel Vítek:29.10.2013 21:50

(pšššt, tohle je machr na PHP... :`)

 
Nahoru Odpovědět  +1 29.10.2013 21:50
Avatar
Odpovídá na kredenc uždil
Michael Olšavský:29.10.2013 21:50

to asi nebude tvoje předpokládám podle té češtiny...

 
Nahoru Odpovědět 29.10.2013 21:50
Avatar
Odpovídá na Daniel Vítek
Michael Olšavský:29.10.2013 21:54

Já neříkám že se s tím účastním. Jen že základ je jednoduchý. Pokud bude potřeba, tak to přepíšu, ale nechce se mi do toho.

 
Nahoru Odpovědět  +1 29.10.2013 21:54
Avatar
Odpovídá na Michael Olšavský
Libor Šimo (libcosenior):30.10.2013 17:56

Máš tam nejakú chybu. Po spustení to blbne.

Nahoru Odpovědět  +1 30.10.2013 17:56
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michael Olšavský:30.10.2013 18:04

Díky za upozornění. Jsem to ještě upravoval a nahrál na stejný odkaz jinou verzi. Hned to bude opravené.

 
Nahoru Odpovědět  +1 30.10.2013 18:04
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michael Olšavský:30.10.2013 18:10

Zkus to teď ;-) Už by to mělo fungovat.

 
Nahoru Odpovědět 30.10.2013 18:10
Avatar
Odpovídá na Michael Olšavský
Libor Šimo (libcosenior):31.10.2013 5:34

Už to funguje, len to ešte ošetri, aby to na prázdny riadok nespadlo.
Teda ak po spustení nenapíšem nič a stlačím Enter, spadne to. ;)

Nahoru Odpovědět 31.10.2013 5:34
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
KlimiCZ
Člen
Avatar
Odpovídá na kredenc uždil
KlimiCZ:31.10.2013 19:23

Tohle téma je zajímavé.
16:22:31LinuxD
držhubu
16:22:32Kecal Víčko
Kolik ti je?
16:22:34LinuxD
15
16:22:35Kecal Víčko
Proč to říkáš?
16:22:41LinuxD
ptal jses :D
16:22:42Kecal Víčko
Bez práce nejsou koláče.
Je to super ! ;)

Nahoru Odpovědět  +1 31.10.2013 19:23
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
Filip Pýrek
Redaktor
Avatar
Filip Pýrek:1.11.2013 22:27

Zatím to vypadá takto. http://cleverbot.filippyrek.cz/ Chtěl bych udělat to že když by se zeptal sám od sebe na nějakou otázku tak by si tu odpověď vložil do db, ale to možná nestihnu do deadline 8-) :D

Nahoru Odpovědět  +2 1.11.2013 22:27
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Filip Pýrek
David Hynek:1.11.2013 22:33

Dobře se učí :)

Zeptej se ho "kdo jsi?"
A pak "Proč?"

:)
Nahoru Odpovědět 1.11.2013 22:33
Čím víc vím, tím víc věcí nevím.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na David Hynek
Jiří Gracík:1.11.2013 22:36

Nečekané :D Zajímavý začátek konverzace :)

Editováno 1.11.2013 22:37
Nahoru Odpovědět  +2 1.11.2013 22:36
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na David Hynek
Michal Žůrek (misaz):1.11.2013 22:44

já jsem dostal toto

Nahoru Odpovědět 1.11.2013 22:44
Nesnáším {}, proto se jim vyhýbám.
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Jiří Gracík
Filip Pýrek:1.11.2013 22:55

Jo, jo to "A teď se ptej ty." mě ještě trošku zlobí :D

Nahoru Odpovědět  +1 1.11.2013 22:55
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Odpovídá na Filip Pýrek
Michal Žůrek (misaz):1.11.2013 23:07

Máš tam překlep:

Cleverbot: Děkuji ti za odpověď. Máě mě rád?

Nahoru Odpovědět 1.11.2013 23:07
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Filip Pýrek
Michal Žůrek (misaz):1.11.2013 23:10

:D tak to mě dostalo:

Cleverbot: Děkuji ti za odpověď. proč jsi banán?

Ještě jsem zkoušel dále:

Ty: kolik stojí mobil?
Cleverbot: Málo
Ty: Kolik stojí raketoplán
Cleverbot: Hodně
Ty: kolik stojí ponorka?
Cleverbot: Hodně
Ty: kolik stojí papír
Cleverbot: Hodně
Ty: kolik stojí pentilka
Cleverbot: Nevím
Ty: kolik stojíš ty?
Cleverbot: Nevím co ti na to mám odpovědět. Prosím odpověz za sebe:

U raketoplánu a ponorky mě dostal.

Editováno 1.11.2013 23:12
Nahoru Odpovědět  +1 1.11.2013 23:10
Nesnáším {}, proto se jim vyhýbám.
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Filip Pýrek:2.11.2013 8:08

Dík už jsem to zpravil. (Někdo tam měl překlep)

Nahoru Odpovědět 2.11.2013 8:08
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Filip Pýrek
Daniel Vítek:3.11.2013 9:39

Zlej ! Jsem mu napsal Hallo world a on mi odpověděl Nic vole :D :D

 
Nahoru Odpovědět 3.11.2013 9:39
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:3.11.2013 10:09

Heh. :D

Nahoru Odpovědět 3.11.2013 10:09
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:3.11.2013 10:19

Ty: Jsi Miloš Zeman?
Cleverbot: No to snad né, proboha!

Nahoru Odpovědět 3.11.2013 10:19
Avatar
petod
Člen
Avatar
petod:3.11.2013 11:07

taky dobrý :)

 
Nahoru Odpovědět 3.11.2013 11:07
Avatar
Josef Kuchař (Pepa489):3.11.2013 11:11

Další blbost:

Ty: kolik stojí mobil?
Cleverbot: Hodně
Ty: Kolik stojí raketoplán
Cleverbot: Málo
Ty: kolik stojí ponorka?
Cleverbot: Nevím
Ty: kolik stojí papír
Cleverbot: Hodně
Ty: kolik stojí pentilka
Cleverbot: Málo
Ty: kolik stojíš ty?
Cleverbot: Snažím se si rozšíři slovní zásobu. Odpověž za sebe prosím:
Nahoru Odpovědět 3.11.2013 11:11
2x piš, jednou debuguj
Avatar
Josef Kuchař (Pepa489):3.11.2013 11:13
Ty: Čus vole.
Cleverbot: Děkuji ti za odpověď. Kdo jsi?
Nahoru Odpovědět 3.11.2013 11:13
2x piš, jednou debuguj
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:3.11.2013 11:34

Ty: Jaký je počasí?

Cleverbot: Slunečno, místy zataženo. -344 stupňů Celsia. Magnetická bouře z jihu působí jižní monzunové větry.

Nahoru Odpovědět 3.11.2013 11:34
Avatar
FastNode
Redaktor
Avatar
FastNode:3.11.2013 11:55
Ty: zdravím
Clever bot: Nevím co ti na to mám odpovědět. Prosím odpověz za sebe:
Ty: jenom jsem pozdravil
Cleverbot: Děkuji ti za odpověď. co?
Ty: proč se mě furt ptáš?
Cleverbot: A teď se ptej ty.
Ty: nebudu se na nic ptát
Cleverbot: Nevím co ti na to mám odpovědět. Prosím odpověz za sebe:
Ty: už neřeknu ani slovo
Cleverbot: Děkuji ti za odpověď. Seš na chlapce?
Editováno 3.11.2013 11:59
 
Nahoru Odpovědět 3.11.2013 11:55
Avatar
Inoue Yūki
Redaktor
Avatar
Nahoru Odpovědět 3.11.2013 12:03
Avatar
FastNode
Redaktor
Avatar
FastNode:3.11.2013 12:03

Jak se učí potvora! :D :P

Cleverbot: A teď se ptej ty.
Ty: co umíš
Cleverbot: Nevím co ti na to mám odpovědět. Prosím odpověz za sebe:
Ty: já umím odpovídat

o pár řádků později

Cleverbot: A teď se ptej ty.
Ty: co umíš
Cleverbot: já umím odpovídat

Schválně, co ho naučím teď... :)

Ty: kdo je tvůj otec?
Cleverbot: Můj otec je programátor z devbooku, FilipPyrek.
Ty: kdo je tvoje matka
Cleverbot: Nevím co ti na to mám odpovědět. Prosím odpověz za sebe:
Editováno 3.11.2013 12:06
 
Nahoru Odpovědět 3.11.2013 12:03
Avatar
ondra
Neregistrovaný
Avatar
ondra:3.11.2013 12:20

zajmavé :D akorát mě udivije že když jsem se zeptal jestli má rád grupáč, tak řekl že jo... Poker face

 
Nahoru Odpovědět 3.11.2013 12:20
Avatar
Kit
Redaktor
Avatar
Odpovídá na ondra
Kit:3.11.2013 12:25

Podle mne je to správná odpověď. Skupina lidí se ho snaží o*ebat a jemu se to líbí :)

Nahoru Odpovědět  +2 3.11.2013 12:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na FastNode
Ondřej Štorc:3.11.2013 12:41

Chudák

Ty: Kdo je tvá matka
Cleverbot: justin bieber
Editováno 3.11.2013 12:41
Nahoru Odpovědět 3.11.2013 12:41
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:3.11.2013 18:29

Zaznamenal jsem zde jen již populárního robota od Filip Pýrek. Placka je tedy tvoje :) Napiš x do zpráv adresu a jakou chceš (algoritmy nebo PHP).

Co se týče funkčnosti aplikace, tak to docela funguje. Mohl by se však ptát méně okatě, ruší to celkový dojem z konverzace. Tedy místo "Odpověz za sebe prosím" by měl odpovědět jen něco z DB nebo něco náhodného. Otázku by potom měl položit znovu ne tobě, ale někomu jinému a bez upozorňování, že neví co znamená, prostě se ho na to normálně ptá. Ideálně třeba do DB ukládat IP adresu, aby ji položil vždy někomu, kdo se na ní neptal.

Kód je objektový, i když metoda tellMe se moc objektově netváří. Pokud chceš aplikaci do budoucna rozšiřovat, určitě by chtělo vymyslet jakým způsobem věty analyzovat. in_array(.., $slova) se tam vyskytuje nějak mockrát.

Kdybys s tím pokračoval, tak dej vědět, líbí se mi to :)

Editováno 3.11.2013 18:30
Nahoru Odpovědět  +1 3.11.2013 18:29
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Rostislav Křídlo:3.11.2013 23:19

nehodil bys sem zdroják prosím? jinak fakt super!!!

Nahoru Odpovědět 3.11.2013 23:19
MiracleSoft! www.miraclesoft.com
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Rostislav Křídlo
Jan Vargovský:3.11.2013 23:42

Je to v pravidlech, že to potom musí publikovat, takže dočkej času než to projde schvalovacím procesem.

 
Nahoru Odpovědět 3.11.2013 23:42
Avatar
Filip Pýrek
Redaktor
Avatar
Filip Pýrek:4.11.2013 19:35

Tak si tak procházím tu databázi a tam: Pěkný zdroják, odkud ho máš? Z Tchibo. , Proč lopata neplave? Protože bagr nepapá meruňky. :D

Nahoru Odpovědět  +1 4.11.2013 19:35
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Odpovídá na Filip Pýrek
Rostislav Křídlo:9.11.2013 18:07

Ahoj uvolníš zdroják a kdy kdyžtak? jinak sory za bump :D

Nahoru Odpovědět 9.11.2013 18:07
MiracleSoft! www.miraclesoft.com
Avatar
Rostislav Křídlo:9.11.2013 18:44

Sorry za spam ale pro někoho jako jsem já : http://www.itnetwork.cz/…t-cleverbot/

Nahoru Odpovědět 9.11.2013 18:44
MiracleSoft! www.miraclesoft.com
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 48 zpráv z 48.