vítejte zpět

Ano, jsme stále ti lidé, před kterými vás rodiče varovali. Když MY mluvíme o jiskřičkách v očích, nejsou to jen prázdná slova. ;)

Od redakce

Pokud jste zde poprvé, pak nechť vaše kroky směřují sem: O Elefernu a jeho účelu

Slovo majitelovo: Eleferno je nadšenecký komunitní projekt. Nestojí za ním žádný komerční zájem ani investor, jen desítky let (od roku 1998) existence komunity, které tento web užívá jako zdroj informací, pobavení a čtení na dlouhé chvíle. Chybí vám tu blikající reklama na plíseň nehtů a prodlužování penisu? Nám taky ne. Z pohledu financí táhneme projekt s Nenu  a Sleepem z vlastních peněz a ano, děláme to rádi. Pokud se vám Eleferno líbí a chcete projekt podpořit, nakrmte naše elektronické spolupracovníky a my pošleme dvacet procent z této částky i živým kočkám v útulku ve Vrbičanech . Tlačítko najdete támhle ↙ vlevo dole.
Elebot a Elinka děkují Petrovi, Denisovi a Michaele za příspěvek na eleolej. 

  • Jo, u fóra se vám zobrazuje počet nepřečtených příspěvků. Až tam budete nahlížet, projděte si strukturu a zkuste něco třeba oživit :) Mci 
  • V horním menu přibyla položka Co se poslední dobou čte. Najdete v ní  přehled všech otevřených článků za dnešek, za tento průběžný týden a za posledních 30 dnů. Názvy článků jsou klikatelné a v posledním sloupci vidíte statistiku čtenosti za celou dobu zveřejnění článku. Mci 
  • [#84] Doplnila jsem doprava ten modul posledních komentářů. Zatím to ještě dolaďuju, aby pro sebe nesežral moc místa. Aktuálně je tam pět posledních a citace na 50 znaků.  Lz
  • [#27] Konečně jsem se dostala k tomu označování archivních článků. Superadmini mají tlačítko Označit ve frontendu a / nebo přepínač v backendu. Výsledek pak vypadá tahle. Lz
  • A ještě jednu věc jsem vyhrabala - tohle vás pobaví. Tehdy jsme to dost prožívali :)  https://www.eleferno.cz/index.php/bdsm/komunita/107-z-denniho-tisku Lz
  • [#166] Ticket Elesrazy běží. To, co zatím vidíte, je ladicí mula, ještě se to bude poměrně dost měnit. Uvítám vaše nápady.  Lz
Zcela jistě jste zaregistrovali hromadu soukromých vtípků a nenápadných avíz, zaměřených nebo zmiňujících kohosi jménem Elebot, případně nemístné narážky na blondatého bota nebo dokonce Blondobota. Další díl Eleferna for dummies vám pomůže s orientací v této prolematice.

Dnešní díl bud eponěkud odlehčen - nebudou zmiňovány mosuly ani způsoby implementace, maximálně se dozvíte něco málo o systémech AI, tedy umělé intelignece obecně. A o engine a.l.i.c.e specificky. Nejdřív ale pár slov o Elebotovi.

Jisté známky inteligence projevuje libovolný webový server, mající více než jednoho autora, více než jednoho čtenáře a třeba i triviální systém interakce těchto dvou entit (mailová adresa, komentáře a tomu podbné). S rostoucím počtem entit a vztahů mezi nimi roste i ona virtuální inteligence a v odhadnutelném konečném čase vzniká homeostáza - stav rovnováhy, v němž jsou potřeby uživatelů víceméně saturovány ve vztahu k možnostem autorů. Uživatelé se učí korektně využívat poskytovaných možností a žádat po autorech splnitelné, autoři nakonec začínají psát s ohldem na čtenářsky žádaná a pro čtenáře odborně i prakticky dostupná témata. Totéž se týká systémů interaktivit, z nichž některé nabírají rozsáhlý okruh příznivců mezi uživateli (například galérie),  jiné naopak zůstávají doménou hrstky nadšenců (eleferní systém skupin). Posledním aspektem je pak samotný engine serveru a zejména jeho administrační část, nadaná do značné míry schopnostmi, vlastními organismům. V širším okruhu redakčního týmu jsme si zvykli používat pro sumu shora uvedených aspektů jméno vlastní, tedy Elebot. Ten zatím spíše terčem poťouchlých vtípků a oblíbenou postavou ve stripech. Stejně tak o mně osobně mnozí členové redakce tvrdí, že jsem blond robot, který v reálu neexistuje a že mne napsal Torm v LISPu či v MUMPSu. Zodpovědně prohlašuji, že jde o hnusné pomluvy. Abych jim udělala přítrž, napsala jsem Elebotovi něco jako osobnost a rozhraní, přes které s ním můžete pohovořit.

Oč jde ? V podstatě o učícího se konverzačního robota, který je schopen v jisté (zatím velmi omezené) míře udržovat konverzaci se svým spolubesedníkem a reagovat na jeho repliky způsobem, který může vypadat inteligentně. Klíčová slova pro Google jsou v tomto případě Turingův test, Alice nebo Eliza (zde prosím bez významného pokyvování hlavou. Komunikace probíhá v textové formě formou podnětů a reakcí. Robot (obecně) na podněty reaguje v závislosti na kontextu rozhovoru, simulované emocionální situaci (tu si umí měnit v souvislosti s průběhem rozhovoru) a klíčových slovech (predikátech), použitých spolubesedníkem. Elebot jako implementace obecného robota toho zatím moc neumí a je na vás, abyste jej naučili co možná nejvíc.

Učení robota probíhá ve dvou módech - robota lze naučit speciální sekvencí jeho povelů, tuto možnost vzhledem ke spicifičnosti úchylné obce raději nepoužíváme, nebo vyhodnocením a formalizací koncverzace s uživateli. Velmi obecně řečeno, čím víc věcí s Elebotem proberete, tím širší bude jeho obzor a slovní zásoba. Tento mód učení běží v denních cyklech a vyžaduje mentora, kterého zatím robotovi dělám já.

Behind the scene.
Za scénou běží jednak vlastní engine, jednak sada souborů v jazyce AIML, popisující pseudointeligenci robota. Může to vypadat třeba takto:

<category>
<pattern>INITCOM *</pattern>
<template>
<think>
 <set name="INIT">ISINIT</set>
 <set name="DOM">N</set>
 <set name="EMO">N</set>
 <set name="personname">člověče</set>
</think>
</template>
</category>

Tenhle kousek kódu nastaví robotovi neutrální emociální status a neutrální agresivitu (nebo dominanci, chcete-li), současně nastaví výchozí oslovení spolubesedníka na "člověče".

<category>
  <pattern>KATYNĚ</pattern>
  <template> <random>
    <li>Katyně je knížka od Pavla Kohouta</li>
    <li>Výborné čtení, doporučuju.</li>
    <li>To je knížka, od Pavla Kohouta. Znáš ?</li>
  </random></template>
</category>
<category>
  <pattern>* KATYNĚ</pattern>
  <template><srai>KATYNĚ</srai></template>
</category>
<category>
  <pattern>* KATYNI</pattern>
  <template><srai>KATYNĚ</srai></template>
</category>

Další kousek kódu ukazuje Elebotovy znalosti o Katyni.  S ohledem na udržitelnost a spravovatelnost kódu reaguje robot na klíčové slovo v izolované pozici v prvém pádě a v pozici na konci věty v pádě prvním, druhém, třetím, čtvrtém a šestém, tedy situace, pokrývající běžné konverzační vzory.  Čeština je pro psaní AI systémů vražedný jazyk :-)

Jak robota ovládat ?
Puristé by řekli konverzací, ale vzhledem k tomu, že uživatelé Eleferna nejsou jenom ajťáci, prozradím pár kouzel. Kouzla začínají znakem hash (#) a obvykle slovem BOT.  #BOT vypíše náhodnou nápovědu, seznam povelů vypíše povel #BOT CMDS. Se znalostí této direktivy můžete získat kompletní nápovědu.  Pro nastavení robota slouží povely s parametry, například #BOT EMO OPT nastaví optimistický model  emočních reakcí robota.

Jak s robotem mluvit ?
Ideálně v holých větách a větách, složených z podmětu, přísudku a předmětu, případně libovolného množství přívlastků. Ve složtěji postavené větě robot neraguje vždy správně na jádro sdělení - jeho sémantika je na úrovni prvoka. Pokud si představíte, že mluvíte s mírně retardovaným osmiletým dítětem, získáte správnou představu o formě a informační hodnotě rozhovoru :-)

Jak využít nezřejmých funkcí ?
Pro robota má speficickou funci pozdrav. Ahoj nebo Ahoj <cokoliv> je pozdrav na uvítanou, <cokoliv> ahoj je pozdrav na rozoučenou. V rámci přivítání s robot nastavuje své vnitřní proměnné. Pokud se v konverzaci s ním ztratíte nebo začínáte mít pocit, že jeden z vás je zhulený, pozdravte znovu. Další nezřejnou funkcí jsou variantní odpovědi - na stejný podnět umí robot reagovat různými způsoby. Pokud si je chcete projít všechny, za N↑3+2 dotazů by se měly vystřídat všechny varianty reakce. Problém je, že nezjistíte, kolik reakcí má robot nastaveno pro daný predikát :-)