Cleverbot: chatbot v PHP

PHP Ostatní Cleverbot: chatbot v PHP

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

S touto alpha verzí Clverbota jsem vyhrál soutěž machr na PHP. Chtěl bych na tom do budoucna zapracovat.

Soubory

  • index.php - Soubor ve kterém je vytvořeno chatovací prostředí. (HTML, CSS, JS).
  • script.js - Script určený pro odeslání zprávy a načtení odpovědi Cleverbota.
  • cb.php - Soubor ve kterém je vytvořena instance Cleverbota. Tam se data zpracují a vypíše se odpověď.
  • Cleverbot.php - Soubor s třídou Cleverbot. Skoro každý řádek je okomentovaný, ale kdyby se chtěl někdo na něco zeptat tak se ptejte.
  • Fraze.sql - SQL pro MySQL.

Jak se učí?

Cleverbot se učí tak, že když neví jak na to odpovědět, tak se vás zeptá jak by jste na to odpověděli vy. Někdy když ví odpověď, ale má jich méně jak 50, tak se vás stejně zeptá.


Galerie


 

Stáhnout

Staženo 395x (4 kB)
Aplikace je včetně zdrojových kódů v jazyce php

 

 

Program pro vás napsal Filip Pýrek
Avatar
Jak se ti líbí článek?
6 hlasů
Student at SPŠ Purkyňova Brno (CZE), ENTJ (personality type), SW developer
Miniatura
Všechny články v sekci
Ostatní tutoriály v PHP
Miniatura
Následující článek
Šablonovací systém PHP_JUI - Úvod
Aktivity (1)

 

 

Komentáře
Zobrazit starší komentáře (6)

Avatar
Mr. Forstak
Člen
Avatar
Mr. Forstak:9.11.2013 19:21

Ale aspoň vím kam jít, když se budu nudit :D :D :D , prosím neber to jako urážku a nech někde tuhle verzi, ať se lidi můžou zasmát :D

 
Odpovědět  +1 9.11.2013 19:21
Avatar
Mr. Forstak
Člen
Avatar
Mr. Forstak:9.11.2013 19:23

V PHP neudělám ani HELLOWORLD, hodnotím jen to, jak to komunikuje

 
Odpovědět  -2 9.11.2013 19:23
Avatar
Kit
Redaktor
Avatar
Kit:9.11.2013 20:15

Trochu jsem si prošel zdroják a mám pro tebe jeden tip. Místo

$this->mysqlConnect();
$pren = $this->MySQL["conn"]->prepare(...

zkus volat databázi takto:

$pren = $this->mysqlConnect()->prepare(...

Fígl je v tom, že si mysqlConnect() přepíšeš takto:

private function mysqlConnect() {//Připojení k MySQL
    if (!isset($this->MySQL["conn"])) {
        $this->MySQL["conn"] = new PDO(
            "mysql:host=$this->MySQL[host];dbname=$this->MySQL[dbname];charset=utf8",
            $this->MySQL["user"], $this->MySQL["pass"], $atributy);
    }
    return $this->MySQL["conn"];
}

Pokaždé, když budeš potřebovat pracovat s DB, tak jen zavoláš metodu mysqlConnect(), která ti dodá deskriptor k otevřené databázi. Pokud nebude otevřená, tak ji otevře.

Mám to ještě jednodušší o to, že nepoužívám pole a mám volání DB v samostatném objektu, ale na to časem přijdeš také.

Editováno 9.11.2013 20:16
Odpovědět  +1 9.11.2013 20:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek (misaz):9.11.2013 20:24

Strejček Fidla jsem ho naučil já :D

Odpovědět 9.11.2013 20:24
Nesnáším {}, proto se jim vyhýbám.
Avatar
Mr. Forstak
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Mr. Forstak:9.11.2013 20:34

A já ho naučím strejdu Googla

 
Odpovědět 9.11.2013 20:34
Avatar
Mr. Forstak
Člen
Avatar
Mr. Forstak:9.11.2013 20:36

Teď mě napadlo, udělej, že se tě to na začátku zeptá, jestli si chci udělá log (samozřejmě to bude logovat konverzaci samo, a mohla by být nějaká stránka, kam by si to mohl nahrát a ostatní by hodnotili, co ty na to? :)

 
Odpovědět  ±0 9.11.2013 20:36
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Mr. Forstak
Filip Pýrek:9.11.2013 22:07

Překlikl jsem se. Dik za nápad, ale toto ne...

Odpovědět 9.11.2013 22:07
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Mr. Forstak
Člen
Avatar
Odpovídá na Filip Pýrek
Mr. Forstak:9.11.2013 22:19

Co myslíš tím toto ne?

 
Odpovědět 9.11.2013 22:19
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Mr. Forstak
Filip Pýrek:10.11.2013 11:07

" Teď mě napadlo, udělej, že se tě to na začátku zeptá, jestli si chci udělá log (samozřejmě to bude logovat konverzaci samo, a mohla by být nějaká stránka, kam by si to mohl nahrát a ostatní by hodnotili, co ty na to?"
Toto - ne

Odpovědět  +3 10.11.2013 11:07
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Mr. Forstak
Člen
Avatar
 
Odpovědět 10.11.2013 12:25
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 10 zpráv z 16. Zobrazit vše