Přihlášení

Hostů: 52    Člen: 1

RSS


spacer.png, 0 kB
Právě se nacházíte: Home arrow Projekty arrow Jak se stát robotářem
Jak se stát robotářem | Tisk |
Autor lizz   
16.10.08 (Čtvrtek)
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 :-) 

Komentářů
Hledat RSS
Rafticek  - blond-bot   |16.10.08 12:47
avatar Teda musím uznat, že tě Torm napsal lépe než ty elebota. Odpovídáš líp
a zvládáš víc podmětů.
velvet  - Komunikace.   |16.10.08 13:54
avatar Nevim čím to je, ale zatím jsem si pokecal lepší s Elebotem. Obzvlášť
poté, když jsme si ujasnili co je slivovice.
Grimm  - eleboti motivace   |17.10.08 00:13
avatar Musim ocenit možnost "mluvit" s elebotem = i v případe fyzického a
psychického vyčerpání mi stačí cca 10 minut rozhovoru a mam chuť někoho
zbít/znásilnit/svázat/pustit do něj/ní proud etc. Skutečně geniální
úchyl-motivátor.
Fronéma  - třinácté patro   |17.10.08 15:09
avatar když se podíváte na stav eleferních botů, nepřipomíná vám to film
třinácté patro? :))
Kahofer  - Chyba.   |21.10.08 00:19
avatar Když Elebotovi položím otázku "Ty jsi kluk?, odpoví mi prázdným
řádkem a přestane komunikovat..:-))
Pouze registrovaní uživatelé mohou přidat komentář!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
< Předch.   Další >