[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
user:zeman:ukoly:dobyvani-informaci [2008/10/30 10:32]
zeman vytvořeno
user:zeman:ukoly:dobyvani-informaci [2013/10/08 08:13] (current)
zeman quest
Line 1: Line 1:
 ====== Dobývání informací ====== ====== Dobývání informací ======
-//(úloha z počítačového zpracování přirozeného jazyka)//+{{template>spolecne}}
  
 Představte si, že provozujete server, který srovnává dostupnost a ceny určitého zboží v různých obchodech na internetu. Informace na vašem serveru je třeba pravidelně aktualizovat, musíte tedy opakovaně navštěvovat jednotlivé internetové obchody a zjišťovat, co momentálně nabízejí a za kolik. Samozřejmě to nechcete opisovat ručně, potřebujete tedy robota, který stránky obchodu proleze a potřebné informace vám zjistí. Bohužel, různé obchody používají odlišný formát stránek. Stejné zboží navíc mohou vést pod různými názvy a kódy. Představte si, že provozujete server, který srovnává dostupnost a ceny určitého zboží v různých obchodech na internetu. Informace na vašem serveru je třeba pravidelně aktualizovat, musíte tedy opakovaně navštěvovat jednotlivé internetové obchody a zjišťovat, co momentálně nabízejí a za kolik. Samozřejmě to nechcete opisovat ručně, potřebujete tedy robota, který stránky obchodu proleze a potřebné informace vám zjistí. Bohužel, různé obchody používají odlišný formát stránek. Stejné zboží navíc mohou vést pod různými názvy a kódy.
Line 10: Line 10:
 ===== Zadání ===== ===== Zadání =====
  
-Vaším úkolem je napsat robota, který dostane adresu internetového obchodu, projde stránky obchodu, najde na nich potřebné informace a přidá je do databáze. Hledejte následující údaje:+Vaším úkolem je napsat (v Perlu) robota, který dostane adresu internetového obchodu, projde stránky obchodu, najde na nich potřebné informace a přidá je do databáze. Hledejte následující údaje:
  
   * Seznam zboží, které obchod nabízí. Nemusíte zachovat třídění zboží do kategorií. Některé obchody zboží třídí, jiné ne, ale kategorie beztak nebudou u dvou obchodů stejné. Měli byste však poznat, když dva obchody vedou totéž zboží pod lehce odlišnými názvy. Ke každé položce vás dále zajímá:   * Seznam zboží, které obchod nabízí. Nemusíte zachovat třídění zboží do kategorií. Některé obchody zboží třídí, jiné ne, ale kategorie beztak nebudou u dvou obchodů stejné. Měli byste však poznat, když dva obchody vedou totéž zboží pod lehce odlišnými názvy. Ke každé položce vás dále zajímá:
Line 26: Line 26:
       * Jaký je telefon nebo jiný kontakt do každé provozovny?       * Jaký je telefon nebo jiný kontakt do každé provozovny?
  
-Tato úloha pochopitelně je jazykově závislá. Předpokládejte, že stránky obchodu jsou v češtině. Asi můžete i předpokládat, že ceny budou uvedené v českých korunách. Ale pozor! Adresa sídla obchodu už může být v cizině. Existují obchody, které komunikují česky, nechávají si platit kartou nebo dokonce v korunách na český účet, ale sídlí třeba v Paříži, odkud také rozesílají zboží. To je pro zákazníka pochopitelně zajímavá informace.+Tato úloha pochopitelně je jazykově závislá. Předpokládejte, že stránky obchodu jsou v češtině. Samozřejmě vám bude sloužit ke cti, pokud robota dokážete napsat tak, aby přechod na jiný jazyk nebyl těžký, například že jazykově závislá pravidla nezadrátujete přímo do zdrojáku, ale místo toho je načtete ve stanoveném formátu ze souboru. Nicméně to není povinné. 
 + 
 +Asi můžete i předpokládat, že ceny budou uvedené v českých korunách. Ale pozor! Adresa sídla obchodu už může být v cizině. Existují obchody, které komunikují česky, nechávají si platit kartou nebo dokonce v korunách na český účet, ale sídlí třeba v Paříži, odkud také rozesílají zboží. To je pro zákazníka pochopitelně zajímavá informace.
  
 Neměli byste naopak předpokládat žádný konkrétní druh zboží. Pokud budete program testovat třeba na mobilech, nemělo by to znamenat, že nepůjde se srovnatelnou úspěšností pustit i na obchod s cédéčky, hrami, oblečením aj. Ignorujte méně obvyklé druhy zboží, které se běžně neposílají poštou (na jedné straně třeba nemovitosti a auta, na druhé např. skladby a software, který si po zakoupení registračního kódu přímo po síti stáhnete do počítače). Neměli byste naopak předpokládat žádný konkrétní druh zboží. Pokud budete program testovat třeba na mobilech, nemělo by to znamenat, že nepůjde se srovnatelnou úspěšností pustit i na obchod s cédéčky, hrami, oblečením aj. Ignorujte méně obvyklé druhy zboží, které se běžně neposílají poštou (na jedné straně třeba nemovitosti a auta, na druhé např. skladby a software, který si po zakoupení registračního kódu přímo po síti stáhnete do počítače).
Line 36: Line 38:
 Databázi ovšem musíte umět také na začátku načíst, abyste mohli porovnávat názvy zboží, které v obchodě najdete, s názvy zboží, které jste už dříve našli v jiných obchodech. Databázi ovšem musíte umět také na začátku načíst, abyste mohli porovnávat názvy zboží, které v obchodě najdete, s názvy zboží, které jste už dříve našli v jiných obchodech.
  
-Databázi můžete číst a ukládat do souboru (složky), jehož výchozí jméno je uvedené přímo ve zdrojáku. V tom případě to ale nesmí být absolutní cesta (není přenositelná, např. ''C:\Documents and Settings\blablabla'' nefunguje na Linuxu) a v podstatě by vůbec neměla opustit aktuální složku, pokud neumíte zajistit, že případné neexistující složky se vytvoří. V každém případě ale uživatel musí mít možnost dodat cestu k databázi, kterou preferuje on, pomocí nějaké volby na příkazovém řádku, např. ''dobyvatel.pl -db /home/user/obchody-db''.+Databázi můžete číst a ukládat do souboru (složky), jehož výchozí jméno je uvedené přímo ve zdrojáku. V tom případě to ale nesmí být absolutní cesta (není přenositelná, např. ''C:\Documents and Settings\blablabla'' nefunguje na Linuxu) a v podstatě by vůbec neměla opustit aktuální složku, pokud neumíte zajistit, že případné neexistující složky se vytvoří. V každém případě ale uživatel musí mít možnost dodat cestu k databázi, kterou preferuje on, pomocí nějaké volby na příkazovém řádku, např. ''dobyvatel.pl -db /home/user/obchody-db''.
  
 ===== Další informace ===== ===== Další informace =====
  
-Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://ufal.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán).+Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://quest.ms.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán).
  
 Pokud se individuálně nedohodneme jinak, termín odevzdání je konec listopadu. Při některé prosincové přednášce program předvedete ostatním. Pokud se individuálně nedohodneme jinak, termín odevzdání je konec listopadu. Při některé prosincové přednášce program předvedete ostatním.
  

[ Back to the navigation ] [ Back to the content ]