Projekt Honza (AI)

Ostatní jazyky Delphi Projekt Honza (AI)

Chtěl bych představit můj projekt, který spočívá v simulování umělé inteligence pomocí konverzace. Jinak řečeno, cílem je vytvoření "kecacího" programu, který bude schopen písemně komunikovat s běžným uživatelem na takové úrovni, aby bylo co nejméně rozpoznatelné, že se jedná jen o program. Čím se ale liší od svých předchůdců, jako byl Kecal, Pokyd, a ostatní? To je právě to "gró" celého projektu:

Momentálně je projekt ve fázi, kdy lze program učit odpovědi (ale i separátní znalosti) několika možnými způsoby, podle speciálně vytvořeného "programovacího jazyka". Výhodou je, že vše probíhá pomocí základních textových souborů, takže žádný speciální program k tomu není třeba. Jak Honzu "programovat" nebo, chcete-li lidštěji: "učit", uvedu později. Když zkrátka program naučíte, že třeba 24.11. má Narozeniny Pepa Vomáčka, a když jej naučíte, co to Narozeniny jsou a když ho správně naučíte na otázku "kdo má narozeniny 24.11.?" reagovat, dokážete si Honzu sami naprogramovat.

Program ale není jen o konverzaci, ale i o vizualizaci. Nyní je schopen pohybovat končetinami, hlavou a trupem. Vše ale pouze ve 2D prostředí. Lze tedy program naučit i určité pohyby na některé povely.

V plenkách je vývoj zvukové komunikace, přičemž program nyní "umí" vyslovit asi 70 slov nebo slovních spojení.

Program využívá i aktuální "paměťové linie", která zajišťuje, že se při konverzaci drží aktuálního tématu.

Jak probíhá hledání reakce a programování: Nebudu zde podrobně rozepisovat fungování, nicméně reakci hledá podle zadaných slov. A s tím souvisí už to samotné programování:

Reakci může vypsat následujícími způsoby:

  • přímo zadaným slovem (kdy mu napíšete, že na "ahoj" odpoví "čau"
  • vyhledaným slovem ze seznamu (kdy na "ahoj" odpoví výběrem ze seznamu slov a slovních spojení)
  • vyhledat podle proměnné, kterou má někde v datech uloženou a podle ní reagovat (např. "jak se vede?" odpoví podle nálady výběrem ze seznamu)
  • Odpověď může také zahrnovat zápis do historie, díky čemuž pak může na základě přečtení historie správně reagovat (držení se tématu)
  • umí podle zadaného parametru vyhledat příslušnou reakci - ukázkou může být vybrání vtipu.

a další...

Kdo se všemi soubory a složkami prokliká, může snadno zjistit, jak program pracuje. Vše je ale zatím jen v počáteční fázi.

Na tomto projektu s názvem "Honza" (jak se program jmenuje) pracuji sám a pomalu začínám zjišťovat, že vývoj se s postupným nabýváním informací začíná zpomalovat. Proto hledám nadšence, kteří mají o tuto problematiku také zájem a chtěli by se podílet na vývoji. Kdo by měl zájem, může mě kontaktovat a případně rovnou napsat důvod, proč by se chtěl na tomto vývoji podílet. Koho tedy vlastně hledám? Aktivní lidi, ani nemusí umět programovat, ale nové nápady se vždycky hodí. Pokud by tedy někdo měl zájem, mám k dispozici stručný manuál, který fungování programu vysvětlí.

Kdo chce, může sledovat můj youtube kanál, kam nahrávám nové ukázky programu: Youtube kanál - seznam videí s projektem Honza

Ještě sem vložím přímo ukázku jednoho takového videa:


Kdyby chtěl někdo vývoj tohoto programu sledovat, mám vytvořenou stránku na facebooku, kam píšu aktuální novinky: https://www.facebook.com/kentaurteam


Galerie

Program byl vytvořen v roce 2013.

 

Stáhnout

Staženo 221x (6.91 MB)

 

  Aktivity (1)

Program pro vás napsal gamesis
Avatar
Autor se věnuje tvorbou počítačových her a programů

Jak se ti líbí článek?
Celkem (3 hlasů) :
3.666673.666673.666673.66667 3.66667


 


Miniatura
Všechny články v sekci
Delphi

 

 

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

Avatar
gamesis
Redaktor
Avatar
gamesis:

zapomněl jsem zmínit, že vše je citlivé na velikost písmen - v původním záměru bylo, že textový řádek bude automaticky převáděn na malá písmena, ale pak mi došlo, že se pak nebudou dát psát smajlíci (dvojtečka D atd..) takže všechno psát malými písmeny ;) v dalších verzích to pořešim ;)

 
Odpovědět 29.7.2013 19:57
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na gamesis
Filip Pýrek:

Ale šlo by to: převedeš si Ahoj jak se máš? (dvojtečka)D na ahoj jak se mášd a :d replaceneš na (dvojtečka)D. ;)

Odpovědět 29.7.2013 20:59
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na gamesis
David Čápka:

A v čem by vadilo kdybys smajlíky rozeznával jako :d ?

Odpovědět 29.7.2013 21:02
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
gamesis
Redaktor
Avatar
Odpovídá na Filip Pýrek
gamesis:

Ja jako vim, jakým způsobem to pořešit, ale snažím se na projektu praovat postupně :) tohle už je jen formalita ktere předchazeji duležitější prvky :)

 
Odpovědět 29.7.2013 21:25
Avatar
gamesis
Redaktor
Avatar
Odpovídá na David Čápka
gamesis:

Protože uživatel by nemohl napsat dvojtečka D ale :d a to už nevypadá jako smajlík :)

 
Odpovědět 29.7.2013 21:26
Avatar
gamesis
Redaktor
Avatar
gamesis:

Kdybyste někdo chtěl sledovat novinky z vývoje, mám vytvořenou stránku na facebooku: https://www.facebook.com/kentaurteam

 
Odpovědět 29.7.2013 21:36
Avatar
Kit
Redaktor
Avatar
Odpovídá na gamesis
Kit:

To je divné, že k takovému programu nedovedeš napsat lexikální analyzátor. Představ si, že u programovacích jazyků je běžné, že v textu jsou některá slova case sensitive, jiná case insensitive a překladač si s tím poradí. Vstupní řetězec prostě musíš rozebrat na tokeny, označkovat si je a teprve pak s nimi pracovat.

Značka se dělá jako enum, jejím atributem je příslušná část původního řetězce. U čísla je atributem hodnota parsovaného čísla. Zkus se podívat, jak to dělají třeba programy Flex a Bison.

Odpovědět  +1 29.7.2013 23:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
gamesis
Redaktor
Avatar
Odpovídá na Kit
gamesis:

Ale pochop, ze v tuto chvili psat nejaky lexikonalni analyzator je naprosto zbytecne ;) Program zatím není ve fázi, kdy je prave tohle potřeba řešit ;)

 
Odpovědět  -2 30.7.2013 8:50
Avatar
archlin
Člen
Avatar
archlin:

Zrejme to neprejde cez Turingov test :D

Odpovědět  +2 30.7.2013 20:56
sublime text 2
Avatar
gamesis
Redaktor
Avatar
Odpovídá na archlin
gamesis:

To je nápad :) konecne mam stanoveny nejaky cil :) Jenom by me jeste zajimalo, kde se ten test da oficialne provest... Ale to hodne predbiham :)

 
Odpovědět  +1 31.7.2013 12:27
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 19. Zobrazit vše