Využívanie informácií na WWW

Marek Discantiny

Katedra informatiky a výpočtovej techniky,
Fakulta elektrotechniky a informatiky,
Slovenská technická univerzita, Bratislava
Email: discant@decef.elf.stuba.sk

Abstrakt. Tento článok pojednáva o softbotoch - softvérových robotoch, ktoré pomáhajú používateľom web-u nájsť hľadané informácie. Softboty využívajú na dosiahnutie cieľa iné, na Internete všeobecne dostupné, jednoduché nástroje na hľadanie informácii ako sú napr. Yahoo! alebo AltaVista. Najjednoduchším, ale najviac využívaným softbotom je Metacrawler, ktorý vlastne iba tvorí jednotný interfejs medzi používateľom a rozličnými robotmi. Inteligentnejšie roboty, ako napr. AHOY! alebo Shopbot, dokážu vybrať postupnosť akcií, ktoré je potrebné podniknúť a taktiež dokážu čítať a porozumieť obsahu neznámych www-stránok, čo odkrýva obrovské nové možnosti využitia web-u v každodennom živote.

Kľúčové slová: softbot, robot, WWW, vyhľadávanie

Abstract (in english)


Obsah

  1. Úvod
  2. Vývoj softbotov na WWW
  3. Úloha umelej inteligencie
  4. Softboty
  5. Metacrawler
  6. AHOY! - Vyhľadávač domovských stránok
  7. Shopbot
  8. Netbot Jango
  9. Záver

  10. Bibliografia

Úvod

World Wide Web (WWW) skrýva v sebe obrovské množstvo informácií a ich správne využívanie odhaľuje veľký potenciál web-u. Informácie prístupné na web-e rastú exponenciálne a obsah jednotlivých stránok sa neustále mení. Bežný používateľ web-u má preto neraz problém nájsť požadovanú informáciu. K dispozícii je síce celý diapazón kategoricky členených zoznamov web-ovských stránok, tieto však kvôli neustálemu nárastu informácii a meniacej sa povahe Internetu zachytávajú iba veľmi malý zlomok všetkých dostupných informácií. Ďalšou, mnohokrát účinnejšou pomôckou pri hľadaní informácií, sú roboti, ktorí neustále monitorujú stav a obsah dostupných informácií. Výsledky hľadaní z takýchto robotov sú väčšinou oveľa obsažnejšie, obsahujú však aj veľké množstvo pre používateľa irelevantných informácií. Riešením by mohli byť inteligentní roboti, ktorí dokážu pre používateľa vybrať práve tú informáciu, ktorá ho zaujíma. Potenciál takýchto robotov je oveľa väčší ako len schopnosť inteligentného vyhľadávania. Nejde preto len o jednoduché vyhľadávanie a sprístupňovanie informácií, ale najmä o ich využitie. Tento článok sa zaoberá predovšetkým popisom práce niektorých takýchto robotov, rozoberá ich výhody i nedostatky, najmä z pohľadu používateľa.

Vývoj softbotov na WWW

World Wide Web (WWW) predstavuje obrovskú reťaz informácií. Informácie, ktoré sa dajú na WWW stránkach nájsť, sa nachádzajú v bludisku hyperliniek na samotnom spode tohto informačného reťazca. K uľahčeniu hľadania informácií sú na WWW vyvinuté roboty, tzv. information herbivores, ako sú napr. Webcrawler alebo Altavista, ktoré neustále prezerajú všetky zreťazené stránky a vytvárajú indície, ktoré pomáhajú ľuďom pri hľadaní určitej informácie. V súčasnosti väčšina používateľov WWW sa pohybuje pri hľadaní informácií na najnižšom (resp. na veľmi nízkom) stupni tohto informačného reťazca, preto je požadované údaje často ťažko nájsť. Preto od roku 1991 na Univerzite vo Washingtone vyvíjajú systém, tzv. information carnivores nazvaný slovným spojením softbot (software robot), ktorý má za úlohu inteligentne využívať už existujúce nástroje na vyľadávanie informácií v Unixe, na Internete a WWW. Význam takýchto softbotov bude neustále rásť úmerne obsahu informácií na Internete a počtu ľudí vystaveným jeho chaotickému neporiadku.

Úloha umelej inteligencie

Dnešný web je plný jednoduchých, ale populárnych informačných servisov ako napr. Altavista. Altavista potrebuje na svoju činnosť obrovské množstvo pamäťových prostriedkov (na uloženie indexácie webu) a veľmi rýchle spojenie s okolitým svetom (na vytvorenie a neustálu aktualizáciu indexácie). Tieto obrovské prostriedky sú denne využívané miliónmi dopytov. Procesor musí osobitne uspokojiť každý dopyt a tak je činnosť procesora silne oklieštená a nezostáva čas pre inteligenciu. Každý dopyt je nezávislý od predošlého, prezentácia výsledkov je štandardizovaná, nie je žiaden pokus o prispôsobovanie odpovedí používateľovi.

Úlohou pre odbor umelej inteligencie je rozvinúť agentov - osobných asistentov ktorí pracujú v mene používateľa. Hoci pojem agenta je známy už vyše desať rokov, stále zostáva vytvoriť agentov ktorí budú zároveň používaní ako aj dostatočne inteligentní. Web predstavuje veľkú príležitosť a výzvu na zostrojenie takéhoto agenta.

Výzva zostrojiť web-agenta pomôže oživiť umelú inteligenciu a vytvoriť užšie vzťahy s ostatnými odvetviami informatiky. Nie je to však jednoduchá úloha, web a ľudia okolo neho sú netrpezliví a skeptickí. Očakávajú robustný, funkčný, rýchly systém, prístupný sedem dní v týždni a 24 hodín denne.

Softboty

Softbot (software robot) je inteligentný agent používajúci softvérové nástroje a služby na splnenie vašej požiadavky. Využívanie rozličných nástrojov je jedným z príznakov inteligencie. V mnohých prípadoch softboty používajú rovnaké nástroje a prostriedky aké sú k dispozícii aj ľudskému používateľovi - aplikácie podporujúce posielanie elektronickej pošty, tlač súborov a podobne.

Príkladom softbota je internetový softbot pomenovaný ako Rodney (1994). Používateľ určí, čo chce dosiahnuť, akú informáciu nájsť. Rodney požiadavku spracuje a dynamicky určí, ako (kde) by sa požiadavka dala splňiť, použijúc pritom množstvo internetových služieb a unix-ových príkazov. Rodney sa splieha na deklaratívnu reprezentáciu vstupov rozličného softvéru a umožňuje zreťaziť viacero nástrojov na zodpovedanie používateľovej požiadavky. Rodney používa technológiu automatického plánovania na dynamické generovanie príslušnej sekvencie akcií.

Bohužial, ešte stále nie je celkom splnená úloha vyvinúť softbota na princípe takéhoto plánovania, ktorý by zodpovedal prísnym požiadavkam web-ovskej komunity. Popri pokračovaní v ambicióznom projekte plánovacieho softbota sa preto osvojila nová stratégia vytvárania inteligentného agenta nazvaná ako "užitočné najskôr". Namiesto uvažovania nad veľkými myšlienkami o inteligencii za účelom navrhnutia inteligentných agentov, ktoré by mohli byť aj užitočné (užitočnosť dôsledkom inteligencie), pri návrhu sa postupuje opačným smerom - začína sa s užitočnými jednoduchými softbotmi umiestnenými na web-e a pritom sa očakáva (resp. dúfa), že sa časom vyvinú na inteligentnejšie agenty (inteligencia dôsledkom užitočnosti). Stále je však cieľom vyvinúť agenta ktorý by bol zároveň inteligentný aj užitočný. Dôraz sa tu však kladie na užitočnosť.

Dva druhy prístupov k vývoju softbotov zodpovedajú aj rôznym definíciam pojmu inteligencie. V prvom prípade sa za inteligentný systém považuje ten, keď systém "uvažuje" inteligentne, zatiaľ čo v druhom prípade softbot vyvíjaný metódou "užitočnosť najskôr" je intelignetný ten, ktorý sa správa a koná inteligentne, pričom nás nezaujíma, ako je výsledok dosiahnutý.

Medzi modelom agenta umelej inteligencie a reálnym agentom pripraveným na nasadenie na web-e je veľký rozdiel. Tento rozdiel bohužial má vplyv na výskum v umelej inteligencii. Požiadavky používateľov web-u ohraničujú používané techniky umelej inteligencie a to samozrejme vedie k novým problémom. Ukazuje sa, že inteligentní agenti sú založení z 99% na počítačovej vede a len jedno percento je umelá inteligencia. Jadro agenta síce tvorí práve umelá inteligencia, nemôže sa však ignorovať kontext, v ktorom je použitý.

Metacrawler

Softbot pomenovaný ako Metacrawler (nová adresa: http://www.metacrawler.com/) zabezpečuje jedno jednotné rozhranie pre vyhľadávanie dokumentov na web-e. Metacrawler podporuje zvláštny dotazovací jazyk, ktorý umožňuje vyhľadávanie dokumentov obsahujúcich nejaké frázy s vylúčením dokumentov, ktoré zase obsahujú nejaké iné frázy. Metacrawler posiela dotazy paralelne už na sedem ďalších populárnych vyhľadávacích robotov (AltaVista, Excite, Infoseek, Lycos, Thunderstone, Webcrawler, Yahoo!). Takto Metacrawler elimunuje potrebu používateľa skúšať dotazy jednotlivo zaradom na jednotlivých vyhľadávačoch. Ďalej si používateľ nemusí pamätať adresu, rozhranie a možnosti jednotlivých vyhľadávačov. Niektoré vyhľadávače napr. podporujú vyhľadávanie podľa fráz a iné nie (odhliadnuc od odlišného zápisu dotazov na jednotlivých vyhľadávačoch). Používateľ si nemusí pamätať takéto detaily. Metacrawler automaticky použije možnosť vyhľadávania podľa fráz, ak to volaný vyhľadávač podporuje. Ak to nepodporuje, vrátené stránky si nahrá a sám vyhodnotí výskyt fráz v texte. Metacrawler takto môže pracovať na priemernej pracovnej stanici. V súčasnosti už existujú na trhu aplikácie pre PC inšpirované Metacrawlerom ako napr. Webcompass alebo Internet Fastfind.

Metacrawler dokazuje, že web-ovské služby môžu byť späté. Metacrawler je meta-interfejs, ktorý má tú výhodu, že jedno rozhranie je súčasne použité pre viacero služieb. Pretože má skromné nároky na prostriedky, môže pracovať na používateľovom stroji a jednoducho sa prispôsobovať používateľovym požiadavkam a vkusu.

Napriek tomu, že Metacrawler momentálne nepoužíva techniky umelej inteligencie, vyvíja sa veľmi rýchlo a jeho služby používa mnoho ďalších softbotov. Testy, ktoré som na tomto softbotovi vykonal, vykazujú približne o 10% väčšiu úspešnosť nájdenia mnou hľadanej informácie ako som získal pomocou vyhľadávača AltaVista. Úspešnosť nájdenia konkrétnej stránky pomocou Yahoo! bola ešte oveľa nižšia.

AHOY! - Vyhľadávač domovských stránok

Web-ovské zoznamy generované robotom ako je Altavista sú podrobné a vyčerpávajúce, ale nepresné a obsahujú veľa irelevantných informácií. Manuálne vyrobené zoznamy ako Yahoo! sú prehľadné, ale nedajú sa udržiavať kvôli obrovskému obsahu informácií - najmä rýchlo sa rozrastajúce kategórie ako je napr. časť domovských stránok. Preto, ak niekto nenájde hľadanú informáciu v manuálne vyrobených, kategoricky členených zoznamoch, musí hľadať v dlhých prehľadoch indexov vygenerovaných robotom. A navyše ak hľadaná stránka ešte nebola robotom indexovaná, potom stránku nenájde vôbec. Preto na Univerzite Washington vyvinuli softbota AHOY!, ktorý je založený na architektúre nazvanej Dynamic Reference Sifting, ktorá sa pokúša spojiť maximálnu prehľadnosť s presnými odpoveďami v reálnom čase pre konkrétnu špecifickú kategóriu stránok.

AHOY! (http://www.cs.washington.edu/research/ahoy/) má za úlohu nájsť na web-e domovskú stránku určitej osoby. Na vstupe AHOY! dostane meno osoby a prípadne údaje o nej (štát, organizácia, e-mail adresa) a pokúša sa rozličnými spôsobmi nájsť domovskú stránku tejto osoby. AHOY! posiela dotazy na Metacrawler a využíva znalosti o geografii web-u (napr. URL domovských stránok na FEI je ukončený koncovkou "elf.stuba.sk"). Veľký počet odkazov vrátený Metacrawlerom dokáže úspešne zredukovať, vyfiltrovať málo pravdepodobné odpovede, pričom presnosť zostáva stále dosť vysoká.

Zväčšenie pokrytia je dosiahnuté učením sa zo skúseností. AHOY! zbiera množiny domovských stránok, ktoré používa pri neinformovanom prehľadávacom algoritme na odhalenie konvencií umiestnenia domovských stránok na serveroch rozličných inštitúcií alebo organizácií. Napr. AHOY! by mal zistiť a naučiť sa, že na serveri Katedry informatiky a výpočtovej techniky na FEI STU sú domovské stránky obyčajne uložené na adrese http://www.dcs.elf.stuba.sk/~<meno>. Po naučení sa tejto znalosti dokáže AHOY! nájsť aj tie stránky, ktoré nie sú indexované žiadnym z robotov, ktorých používa Metacrawler. Na Univerzite Washington zistili, že až 9% nájdených stránok bolo objavených práve touto metódou.

Túto metódu som sa pokúsil vyskúšať aj na mojej web-stránke, bohužial bez úspechov. Na vyššie spomenutom katedrovom serveri som si vytvoril svoju vlastnú domovskú stránku (http://www.dcs.elf.stuba.sk/~discanti/), ktorá nie je indexovaná v žiadnom vyhľadávacom robotovi. Indexované sú len niektoré súbory v jej podadresároch. Pri zadaní príkazu na hľadanie mojej stránky s vyplnením len mena a priezviska mi AHOY! ako výsledok ponúkol iba indexovanú domovskú stránku istého Marka umiestnenú na jednom americkom serveri. Až po vyplnení kompletných údajov, t.j. aj po určení domény organizácie (dcs.elf.stuba.sk), AHOY! našiel súbory, ktoré sú indexované a obsahujú moje meno, nie však moju domovskú stránku. Domovskú stránku nedokázal nájsť ani vtedy, keď som mu predtým dal hľadať indexované stránky iných ľudí na tomto istom serveri, ktoré nájsť dokázal.

Shopbot

Shopbot je softbot, ktorý zhromažďuje pre používateľa prehľady výrobkov a ich cien. Všetci predošlí web-agenti používali prevne stanovené rozhranie k prístupu na web-stránky. Shopbot sa však vie sám naučiť ako vyčítať z web-stránok predajcov informácie o ich produktoch i o ich kategórii (napr. software). Shopbot sa teda naučí, ako dotazovať katalógy predajcov, v akom formáte sú popisy produktov uložené a taktiež sa naučí ako vyčítať atribúty jednotlivých produktov ako napr. cena.

Stratégia učenia Shopbota je nasledujúca: Shopbot sa najprv snaží na neznámych stránkach dotazovať na známe obejkty a porovnáva vzťah medzi výstupom z dotazu a očakávanou odpoveďou dotazovaného známeho objektu. Konkrétne teda Shopbot zadáva neznámym obchodom dotazy na známe produkty, výsledky analyzuje a naučí sa, v akom formáte daný obchod zapisuje popis produktov.

Napr. v sekcii softvéru má shopbot zadefinovaných 12 stránok on-line dodávateľov softvérových produktov. Po naučení sa formátu a štruktúry ich stránok je Shopbot schopný používateľovi ponúknuť prehľad dostupnosti a cien určitého produktu. Tak môže používateľ nakupovať oveľa rýchlejšie a lepšie - shopbot nájde aj najlepšiu cenu.

Netbot Jango

Netbot Jango (http://www.jango.com/) je softbot, ktorý k svojej činnosti používa a rozširuje možnosti softbotov Metacrawler, AHOY! a Shopbot. Vytvára jednotné rozhranie pre on-line nákup vo viac ako 20 kategóriach. Jango hľadá na web-e informácie, ktoré pomáhajú pri rozhodovaní čo kúpiť a kde kúpiť. V závislosti od dotazu, Jango navštívi stránku výrobcu porduktu (získa popis a parametre produktu), stránky časopisov (recenzie produktu) a dodávateľov (cena produktu). Ako iné softboty, Jango tiež koná za vás a tak pri návšteve stránok dodávateľov produktov môže za vás u dodávateľa vytvoriť konto s heslom, heslo pre vás do budúcna zapamätať a dokonca môže podľa vašich pokynov aj nakupovať.

Používateľ zadá napríklad dotaz „Adobe Phptoshop na CD-ROM„. Jango dokáže vydedukovať, že je to dotaz na počítačový softvér s názvom Photoshop, ktorého výrobca je Adobe a produkt je hľadaný na médiu CD-ROM. Preto Jango navštívi domovskú stránku Adobe, stránky odborných časopisov a množstvo on-line dodávateľov počítačového softvéru. Jango zozbiera všetky informácie, roztriedi medzi cenové prehľady a recenzie, odstráni irelevantné informácie a prezentuje výsledky používateľovi. Používateľ sa podľa výsledkov môže rozhodnúť, či chce produkt kúpiť a cez softbota dať príkaz na nákup produktu u výhodného dodávateľa.

Momentálne vyvíjaná verzia softbota Jango bude pozostávať zo štyroch častí: prekladača prirodzeného jazyka, routera dotazov, zberača informácií a filtra. Prekladač prirodzeného jazyka dostane na vstupe príkaz ako napr. „Nájdi mi film od Ondreja Šulíka s Mariánom Labudom na VHS!„ a preloží ho do logického popisu atribútov hľadaného produktu, ktorý pošle routru dotazov. Router spracuje logický popis produktu a stanoví množinu web-stránok, ktoré by mohli obsahovať relevantné informácie o produkte. Aby router mohol určiť množinu stránok, musí najprv zistiť presný druh produktu. Router má ku každej kategórii a podkategórii priradených množstvo adries web-stránok. Keď router stanoví kategóriu produktu, jednoducho vráti asociovanú množinu.

Časť zbierania informácií je u Janga podobná ako u Metacrawlera. Podľa výstupu routera dotazov prehľadá súbežne relevantné stránky a zozbiera informácie. Zberač informácií musí vedieť komunukovať so stovkami web-stránok, naučiť sa z nich vyčítavať potrebné informácie a správne ich interpretovať. V poslednej časti softbota - vo filtri sa odstránia všetky irelevantné informácie pred zobrazením výsledkov používateľovi.

Moje experimenty dokázali zobraziť prehľady cien a popisov rozličných výrobkov, i tých menej predávaných, všetky prehľady sa však týkali len zahraničných výrobkov a predajcov, takže neviem posúdiť, do akej miery výsledky prezentované týmto softbotom zodpovedajú skutočnosti, t.j. aký počet predajcov sa zobral pri vyhodnocovaní do úvahy, aké vierohodné a v akom rozsahu boli zdroje informácií použité a pod.

Záver

Najväčší prínos na výskume sofbotov je pravdepodobne objavenie nových možností, ktoré ponúka umelá inteligencia v spoluprácii s web-om.
Každý z týchto softbotov používa na dosiahnutie výsledku pre používateľa niekoľko služieb web-ovských nástrojov. Používateľ iba určí cieľ a softbot sám vyberie vhodné web-ovské služby a spôsob ich použitia. Každý z týchto softbotov je umiestnený na web-e a tak spĺňa nároky na robustnosť, rýchlosť a dopĺňanie znalostí. Metacrawler v súčasnosti príjma cez 220.000 dotazov za deň. AHOY! má menšie uplatnenie a preto vybavuje za deň len niekoľko tisíc dotazov.

Nasledujúc stratégiu „užitočné najskôr„ je nasledujúcim cieľom vyvinúť týchto softbotov inteligentnejších, s použitím nových techník umelej inteligencie a rozvinúť použité techniky, pričom by zostali použitelní i užitoční. Ako tvrdí autor: "Ak by sa to podarilo, pomohli by sme vyvrátiť frázu 'Ak to funguje, nie je to UI'."

Vypracované podľa:
Etzioni, O.; 1997. Moving Up the Information Food Chain. AI Magazine September, p.11-18


Katedra informatiky a výpočtovej techniky, Fakulta elektrotechniky a informatiky,
Slovenská technická univerzita, Bratislava
(c) Marek Discantiny, 8.12.98