Projekt: Honza

5. srpna 2013 v 8:00 | gms |  Programátor
Dnes bych vám chtěl představit svůj projekt, na kterém pracuji od ukončení mé absolventské práce na téma "Počítačová simulace lidského myšlení". Cílem celého projektu je vytvořit počítačový program, který by simuloval umělou inteligenci takovým způsobem, že by se s ním dalo "normálně" komunikovat. V podstatě takový virtuální človíček. A abychom jej nemuseli oslovovat "programe", tak jsem mu dal jméno podle sebe - Honza.


"To už tady ale kdysi bylo", může někdo namítat. Ano, připouštím, že jisté podobné programy už byly vytvořeny, nicméně když jsem si s nima chtěl pokecat, tak s prominutím, ale nestálo to za nic. Chtěl jsem se s nimi bavit o filmech, o počasí, o autech, ale ne. Prostě to nešlo. Jedinou zábavu, kterou poskytovali, bylo, že se jim dalo nadávat... A tehdy se zrodil můj vizionářský plán - vytvořit něco lepšího a dokonalejšího. Už je tomu přes osm let. A nyní jsem začal postupně zpracovávat veškeré informace, které jsem se za tu dobu naučil. Informace z výpočetních systémů, programování, informace o psychologii řeči a konverzace. Program píšu ve svém volném čase a pokud mne vždy neco zajímavého napadne, snažím se to co nejrychleji realizovat.

Co se programové struktury týče, paralelně s vývojem je vytvářen speciální programovací jazyk, který je dostupný běžnému případnému uživateli a díky kterému si bude moci svého "Honzíka" sám naprogramovat. No, přesněji řečeno - bude ho moci naučit další různé konverzační fráze a čím více jich bude znát, tím lépe pak dokáže sestavit relevantní odpověď (Protože nejde říct, jestli je odpověď správná nebo špatná. Program musí umět "pochopit", co mů uživatel píše a jak a proč na to má reagovat). Tento speciální programovací jazyk jsem nazval "IQ-AI" z anglického spojení "IQ" jako inteligence a "AI" jako "artificial Intelligence" tedy "umělá inteligence". Takže v podstatě "inteligence umělé inteligence".

Jak se program Honza rozvíjel a dál rozvíjí, si můžete přečíst dál v článku. Nebo se můžete připojit k odběru kanálu na Youtube - tento seznam videí. Nicméně sem ještě dávám dvě ukázky programu přímo na spuštění:



Vývoj programu můžete sledovat na facebookové stránce facebook.com/kentaurteam

V jednotlivých verzích je potřeba rozlišovat dva důležité pojmy: "Program dokáže" a "Program umí". Když program něco "dokáže", znamená to zvládne, ale že se danou věc musí ještě naučit - tedy může jej učit i uživatel pomocí speciálního programovacího jazyka a už k tomu tedy není potřeba programátora.

Verze 2.5

Program dokáže:
- Program umí uložit uživatelovo jméno a to pak dále v konverzaci využívat, např. Jako v následujícím bodě:
- skloňovat jakékoliv zadané slovo. Pokud ho tedy naučíme, že 5. pád slova "honza" je "honzo", a zadáme mu, aby nás oslovoval 5. pádem, tak když mu napíšeme: "jmenuji se honza", odpoví: "rád tě poznávám honzo".

Verze 2.4

Program dokáže:
- na požádání napsat vtip
- vypsat příslušná data ze zdrojového souboru (například počet vtipů)
- napsat, kdo má aktuální den svátek
- Umí přes 40 reakcí

Verze 2.3

Program dokáže:
- 18 reakcí
- vyslovit 65 slov/frází/slovních spojení
- zná aktuální datum, čas, den v týdnu a měsíc umí slovně pojmenovat
- si pamatovat předchozí podstatu konverzace (když mu napíšete "zvedni", zeptá se, co má zvednout a když napíšete "ruce", tak zvedne ruce)
- sloučit dvě adekvátní reakce - z jednoho podnětu může odpovědět více zadanými reakcemi. Více ve videu.

Verze 2.2

Program dokáže:
- 13 reakcí
- reagovat výběrem z několika možností volby několika synonymních slov či výrazů
- dokáže reagovat pohybem těla, umí zatím jen pohybovat rukama - zamávat, zvednout, připažit.

Verze 2.1

Program dokáže:
- 10 reakcí
- reakci podle akruálního stavu (například nálady) - Jak se máš > mám se skvěle.

Verze 2.0

Program dokáže:
- 8 základních, pevně daných reakcí + nultou (že nerozumí, co uživatel píše)

Verze 1.0

Tato verze byla použita jako úplně první v mé absolventské práci.

Program umí:
- Reagovat na podněty, které jsou zadávány, pomocí zadaných slov. Přesně tak, jak jsou zadány.
 

2 lidé ohodnotili tento článek.

Komentáře

1 Yasminn V. Yasminn V. | E-mail | Web | 5. srpna 2013 v 8:31 | Reagovat

To je skvělý nápad :)
Taky jsem si s takovými programy "povídala", ale nikdy to nestálo za nic. Tohle vypadá dost zajímavě.

2 Werika Werika | Web | 5. srpna 2013 v 12:28 | Reagovat

To je úžasné :)

3 i love bass i love bass | Web | 7. srpna 2013 v 23:33 | Reagovat

To je kryplovsky geniální :-D to se mi moc líbí :-D

4 Míša Míša | E-mail | Web | 7. srpna 2013 v 23:53 | Reagovat

Už mě začínáš děsit :)

Je super, že Ti to tak jde ...

5 zpravar zpravar | Web | 8. srpna 2013 v 14:07 | Reagovat

[1]: Děkuji, uvidíme, kam až se vývoj dostane :)

[2]:[3]: Díky :)

[4]: :) někdy děsí spíš mě, jak rychle se program rozvíjí... resp. jak jde vývoj dopředu :) Tenhle článek není ani týden starý a Honza už umí mnoho dalších věcí :o Každopádně se trochu červenám =')

6 Laman Laman | 12. srpna 2013 v 15:43 | Reagovat

nechci shazovat, co jsem sám neviděl, ale ono už to tady skutečně bylo a pořád je. program, se kterým se dá "normálně" komunikovat, by měl podle mého projít Turingovým testem, jednou z velkých nepokořených výzev umělé inteligence, která nezůstává nepokořená kvůli nedostatku úsilí a energie, ale protože je opravdu těžká.

ovšem jestli to bereš vážně a věříš si, můžeš pak Honzu přeučit na angličtinu a jít si pro Loebnerovu cenu

7 zpravar zpravar | Web | 13. srpna 2013 v 10:25 | Reagovat

[6]: Přeučit na angličtinu? O_O To neee. Už jenom proto, že já ji neznám na takové úrovni, abych v ní mohl učit program... Nicméně do budoucna plánuji Honzu propojit s nějakým translátorem a pak už by jazyková bariéra neměla být problém :)
Projetí Turingovým testem záleží teoreticky na míře znalostí toho programu (alespoň toho mého). Takže v podstatě už je jen zbývá program všechno naučit, což je asi ta největší práce, u které nevím, jestli sám zvládnu...

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.
 
-