Cleverbot: chatbot v PHP

PHP Ostatní Cleverbot: chatbot v PHP

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 387x (4 kB)
Aplikace je včetně zdrojových kódů v jazyce php

 

  Aktivity (1)

Program pro vás napsal Filip Pýrek
Avatar
Student at SPŠ Purkyňova Brno (CZE), ENTJ (personality type), SW developer, TechEntrepreneur

Jak se ti líbí článek?
Celkem (6 hlasů) :
55555


 


Miniatura
Všechny články v sekci
Ostatní tutoriály v PHP
Miniatura
Následující článek
Šablonovací systém PHP_JUI - Úvod

 

 

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

Avatar
Mr. Forstak
Člen
Avatar
Mr. Forstak:

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:

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:

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):

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:

A já ho naučím strejdu Googla

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

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:

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:

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:

" 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
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