Vítejte u pokusu o popsání chování člověka počítačovými algoritmy!
0.15 |
|
---|---|
0.1 |
První verze programu IQ Pokyd. Ten je pokračováním původního Pokydu
a od poslední verze se liší zejména následujícím:
|
A co bude v příštích verzích? Viz odstavec Co bude následovat v příštích verzích?
IQ Pokyd je program, se kterým si můžete popovídat. Prostě mu píšete cokoliv, co máte na srdci a on na to sám reaguje. Samozřejmě jeho schopnosti se nemůžou rovnat těm opravdovým lidským, nicméně dosti situacím "porozumí". Jak moc, to už doporučuji raději vyzkoušet.
Tento program je freeware. Program je tedy možno libovolně šířit a užívat.
Program je možno šířit se soubory "iqpokyd.exe", "slovnik.iqp",
"iqpokyd.iqp" a "cti_me.htm". Ostatní soubory (včetně 17megového "slovnik.tmp")
nemusí být šířeny, na novém počítači se vytvoří znova.
Program sám nebude šířen za jakékoli poplatky či výhodu poskytovateli.
Výjimkou je distribuce např. na CD nebo DVD, na kterém je IQ Pokyd také
umístěn, za toto CD či DVD je možno požadovat úhradu, ta však musí být
obvyklá - tedy v podstatě stejná jako bez tohoto programu.
Mimo to bych byl rád, kdybyste mi takový krok oznámili, minimálně mě
potěšíte :-)
Poskytovat IQ Pokyd na svých stránkách je samozřejmě možné bez omezení,
pouze je vhodné přidat i adresu zdroje
(iqpokyd.kyblsoft.cz) z důvodu
aktualizací (které v případě takového programu rozhodně nejsou zbytečné).
Minimální nároky programu. V závorce jsou uvedeny optimální hodnoty.
Jak je vidět, nároky jsou myslím velice rozumné.
Operační systém: | Microsoft Windows 95/98/ME/NT/2000/XP |
---|---|
Procesor: | 90 MHz (500 MHz) |
Velikost paměti: | 32 MB (128 MB) |
Velikost místa na disku: | 18 MB |
K distribuci (šíření) IQ Pokydu není třeba kopírovat veškeré soubory, dokonce to někdy není ani žádoucí. Takže které ano a které ne (seřazeno podle abecedy):
Název souboru | Distribuce | Popis souboru |
---|---|---|
cti_me.htm | Ano | Tato nápověda. |
iqpokyd.cfg | Nemusí | Textový soubor s nastavením. Pokud chybí, vytvoří se sám se standardními hodnotami. |
iqpokyd.exe | Ano | Hlavní program; to, co se vlastně spouští. |
iqpokyd.iqp | Ano | Soubor s inteligencí - nutný pro chod programu. |
kydy.txt | Ne | Textový soubor se záznamy proběhlých hovorů. Netřeba šířit. |
noveinfo.iqp | Ne | Soubor s údaji o neznámých tvarech, gramatických stavbách vět atd. Tento soubor je žádoucí odeslat ve formuláři na iqpokyd.kyblsoft.cz, jinak se však šířit vůbec nemusí. |
profil.iqp | Ne | Soubor s údaji, jak se počítač posledně zachoval atd. Pokud je šířen, nevadí, ale prakticky nemá vliv jeho počáteční absence. |
slovnik.iqp | Ano | Soubor s malou databází slov - nutný pro chod programu. |
slovnik.tmp | Nemusí | Soubor s velkou databází slov. Pokud chybí, vytvoří se sám. Protože tento soubor je zdaleka největší (cca 17 MB), je výhodné ho nekopírovat. |
tuknuti.wav | Ano | Zvuk "ťuknutí" klávesy. |
Věty se zadávají v políčku k tomu určeném v dolní části obrazovky.
A jak by se tedy mělo psát:
Zjednodušeně řečeno, existují 3 způsoby, podle čeho má stroj "odpovědět" na větu. Daly by se rozdělit na 1., 2. a 3. generaci. IQ Pokyd má nyní v sobě zabudované 2 tyto způsoby, a sice 1. a 2. generaci. A co to vlastně znamená:
Lidský mozek pracuje na principu vyšší než 3. generace; má totiž v sobě celou řadu možností, o kterých věda ještě zdaleka nic neví. Pokud si tedy pokecáte se sousedem od vedle, bude to hovor na vysoce inteligentní úrovni :-)
V IQ Pokydu platí následující klávesové zkratky:
F1 | "Malá" nápověda |
---|---|
Alt+F1 | "Velká" nápověda, tj. tato nápověda |
F3, Ctrl+E | Napsání předchozí věty (opakovat věty se však nedoporučuje) |
F4 | Nastavení |
F7, F8 | Zlepšení (F7) / zhoršení (F8) nálady počítače |
Ctrl+F7, Ctrl+F8 | "Zlepšení" (Ctrl+F7) / "zhoršení" (Ctrl+F8) charakteru počítače, resp. posunutí charakteru o "stupínek" výš nebo níž |
Esc | Není-li zobrazeno žádné podokno, smazání právě psané věty. Je-li zobrazeno podokno, pak se po této klávese zavře |
Shift+F1 | Informace "o programu" |
Alt+V | Informace o aktuální verzi |
Program používá různé databáze s daty. Dvě z nich obsahují i slovní zásobu
jazyka - malá databáze a velká (nebo základní a úplná) databáze.
"Malá" databáze obsahuje pouze slova v základním tvaru a informace o nich.
Ta by však sama o sobě nestačila, každé slovo lze totiž uvést v mnoha tvarech,
nejen v tom základním. Jedná se o tvary typu nesu/neseš/nese/nést/nesení/nesený/-náší atd.,
každé slovo lze v průměru rozskloňovat do 30 různých tvarů, z nichž některé
vyjadřují i více tvarů zároveň.
A právě všechny tyto tvary jsou uloženy ve "velké" databázi. Ta se však nemusí
šířit, protože se může vytvořit z malé databáze, a protože je veliká 17 MB,
její "nešíření" je výhodné. A proto je třeba tu chvilku při prvním spuštění
počkat.
Co nejspíš bude v dalších verzích:
verze 0.2 |
|
---|---|
verze 1.0 |
|
verze 2.0 |
|
To ovšem za předpokladu, že se bude IQ Pokyd dále vyvíjet. V současné době nemám příliš času, o další rozvoj však budu maximálně usilovat.
Mimo to bude zprovozněn SkypeBot, což bude IQ Pokyd naslouchající na Skypu (instant messengeru) a odpovídat komukoliv na internetu.
Do budoucna předpokládám mluvení počítače, i když člověk nic neříká,
zabudování vtipů a kecání dvou počítačů mezi sebou, možná pak zábavnou
předpověď počasí.
Pluginy se už určitě neobjeví, protože příliš nesouvisí s programem a jejich
opětovné naprogramování by mě stálo spoustu času, který raději vložím
do zlepšování samotné inteligence programu.
IQ Pokyd je na češtinu přímo vázán, slovní zásoba, definice gramatiky
i odpovědí vychází právě z češtiny, takže jiné jazyky mimo češtiny
a slovenštiny by byly přílišným zásahem do programu.
Nicméně v budoucnu (ideálně v příští verzi) počítám s podporou
slovenštiny. Co to znamená? Program bude nadále mluvit česky, ale bude umět
(volitelně) slovenské skloňování, gramatiku, zásobu slov. Je to proto, že
slovenština je velice podobná češtině a byla by škoda ji tedy nezahrnout
(je dokonce o dost pravidelnější a tedy lehčí na naprogramování). Nicméně
bude se jednat pouze o podporu, na kompletní překlad prostě nemám lidi :-)
Porozumění mluvené řeči je jedna z nejnáročnějších disciplín počítačových
systémů a v současné době o tom neuvažuji.
IQ Pokyd však sám bude mluvit a později zde bude i obrazový výstup. Na syntéze
(produkování) mluveného slova pracujeme již nyní, kompletní zpracování bude
však ještě nějakou dobu trvat.
Co dělat v případě nesnází:
Problém | Možné řešení |
---|---|
Políčko pro zadávání textu má žlutý text na bílém pozadí nebo pozadí okna je jen změť barev | Tato chyba se na některých grafických kartách / systémech projevuje, zatím jsem nezjistil přesně, na kterých a co s tím. Řešením je zobrazování pozadí zakázat - v nastavení zaškrtněte volbu "Nezobrazovat pozadí okna", popř. spusťte program s parametrem "-bezpozadi", tedy "IQPokyd.exe -bezpozadi" (z příkazového řádku - ve výsledku to má tentýž efekt). To nastaví černou barvu pozadí okna, bílou barvu a černý text v políčku pro zadávání věty. |
Na disk s IQ Pokydem nelze zapisovat |
Program si zapisuje na disk poměrně dost věcí - záznamy rozhovoru, profil
člověka, nové významy, na začátku seznam slov atd. Pokud nelze zapisovat,
může to být způsobeno:
Počítejte ovšem s tím, že nebudete moci natrvalo měnit nastavení atd. a pokud nebude přítomen soubor "SLOVNIK.TMP", tedy "velký slovník", bude se vytvářet při každém spuštění znova. |
Program hlásí "Bohužel, udělalo se mi zle a nemůžu dál pokračovat..." | V tom případě mi prosím pošlete informace, které hlásí společně s tím (tj. soubor a řádek v souboru, kde nastala chyba), a co jste udělali (nebo napsali) těsně před tím, než chyba nastala. Pokusím se ji co nejdříve opravit. |
Program při skončení hlásí "neuvolněné paměťové bloky..." | Platí totéž co v předchozím případě, pošlete mi prosím o ní zprávu. Tato chyba se sice už hledá hůř, tohle upozornění je spíš "s křížkem po funuse", ale přesto bych byl rád, kdyby jste mě o ní informovali. |
Mám jiný problém... | Napište mi na e-mail (kontakt na konci této stránky) a pokusíme se ho vyřešit. |
Jádro programu je napsáno v čistém C++, uživatelské rozhraní pomocí API a MFC
funkcí a celý program je přeložen v Microsoft Visual C++ 6.0.
Samotný zdrojový kód bez slovníků, pomocných prográmků a "automatického" kódu
má velikost 716 kB, je ve 41 souborech a má 18.040 řádků.
Včetně slovníků a pomocných prográmků potřebných k naprogramování má potom
81 souborů, zabírá 1,17 MB a obsahuje 35.369 řádků.
Název IQ Pokyd:
Původně to měl být program jmenující se něco jako "Pokec". Jenže program
s názvem Pokec už v té době existoval, navíc by se takové jméno pletlo
se spoustou internetových chatů. A jako je "pokec" od slova "kecat",
"pokyd" je od slova "kydat" - tedy tlachat, plácat nesmysly (někdo si pod tím
slovem představí také sedláka v gumákách s vidlemi u hnoje). Opravdu, zpočátku
nebyly s Pokydem žádné velké plány, měl to být hlavně program umožňující
každému zdarma si vyzkoušet pokecat s počítačem. Z toho vzniknul tedy program
s názvem Pokyd.
Ten také dlouho existoval, ale právě proto, že s původním Pokydem nebyly
do budoucna žádné velké plány, bylo jádro programu velice slabé. Proto jsem
se jednoho (krásného) dne rozhodl, že přepracuji Pokyd od základů, aby mohl
být inteligentnější. Přepracování trvalo plné 2 roky a také si vyžádalo mírnou
změnu názvu - proto to vsunutí přívlastku "IQ" před "Pokyd".
Nyní je to tedy IQ Pokyd.
Název KÝBLSoft: Tam je historie trochu starší. Předem bych
však chtěl říct, že KÝBLSoft je pouze označení, pod kterým se prezentuji
(prezentujeme), tedy žádná "oficiální" společnost. Slovo "kýblsoft" jasně
vzniklo ze slov "kýbl" a "soft". "Soft" znamená software a je to běžné tvoření
názvů softwarových vývojářů. A proč "kýbl"? Kdysi dávno nás (jako malé)
zachvátilo šílenství s tímto slovem. Je to prostě na první pohled komické
slovo vyjadřující celkem běžnou věc. A toto šílenství se projevilo (když
nepočítám například náhlé vyprodání veškerých kýblů v obchodě partou kluků)
i pojmenováváním "kýbl" všeho, co právě chtělo pojmenovat. A tak vzniknul
KÝBLSoft. Dnes už samozřejmě žádné šílenství (moc) nepokračuje, nicméně je to
název, který na první pohled zaujme a lidé si ho zkrátka lehce pamatují.
A proč je slovo "kýbl" psáno velkými písmeny? Nebyl to právě šťastný krok, ale
v té době se mi velká písmena líbila. Je to však nestandardní, proto je klidně
přípustné i např. "Kýblsoft" nebo "KýblSoft".
Aleš Janda | |
---|---|
E-mail: | iqpokyd@kyblsoft.cz |
WWW (zdarma aktualizace): | http://iqpokyd.kyblsoft.cz |
Telefon: | 777 641 869 |
Adresa: |
Sídl. U Cukrovaru 1069 Kralupy nad Vltavou 278 01 |
Aleš Janda, autor programu