Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie. Předmět: PLIN08 Projekty II. Semestr: Jaro 2015



Podobné dokumenty
Manuál pro implementaci aplikace Na poštu

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Obohacování bibliografických záznamů o věcné selekční prvky postup NKČR

Úvod do filtrace, Quick filtr

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

ISI WEB OF SCIENCE - manuál

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

ZADÁVACÍ DOKUMENTACE

EBSCO. Poklikneme na možnost EBSCOhost Web. Vybereme (poklepeme, zaškrtneme) databázi, s kterou chceme pracovat.

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

06/03/15. Exekuce ios. Deliverable 01. Vojtěch Micka mickavoj Naim Ashhab ashhanai

JSON API pro zjišťování cen MtG karet

INSTITUT PRO TESTOVÁNÍ A CERTIFIKACI, a. s. NÁVOD NA PŘÍSTUP K SEZNAMŮM VYSTAVENÝCH DOKUMENTŮ

ALGORITMIZACE A PROGRAMOVÁNÍ

1. Bude na www stránkách zveřejněn logotyp, na který odkazuje Příručka pro žadatele a příjemce v kapitole 20?

7. SEO Nástroje pro analýzu úspěšnosti. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)


JÁ DĚLÁM TO SEO DOBŘE,

Komentář k novele vyhlášky:

ANOTACE vytvořených/inovovaných materiálů

Testování neuronových sítí pro prostorovou interpolaci v softwaru GRASS GIS

DUM 06 téma: Tvorba makra pomocí VBA

Pro vnitřní potřeby KSČM vypracoval Aleš Kejval lekce 3: VYHLEDÁVAČ(E) je:

Základní nastavení. Petr Novák

Tabulkový procesor. Základní rysy

FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Testová ní už ivátelske ho rožhrání Fácebook.com

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Portál územního plánování obcí Kraje Vysočina

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Google Apps. dokumenty 5. verze 2012

Reranking založený na metadatech

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

NÁVOD NA PŘÍSTUP K SEZNAMU VÝPISŮ A DUPLIKÁTŮ

Informační a komunikační technologie

Vyhledávací techniky a editace v klientovi ARL

1.5.1 Číselné soustavy

3 EXKURZ DO KOGNITIVNÍ PSYCHOLOGIE

Experimentální systém pro WEB IR

Ročníkový projekt DYNAMICKÉ HTML. Projektová dokumentace. Jan Ehrlich, Petr Marek, Tomáš Marván, Martin Paľo. Vedoucí projektu: RNDr.

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

CSS. SEO Search Engine Optimization (optimalizace pro vyhledávače)

PSK3-9. Základy skriptování. Hlavička

14 Deník poradny. Popis modulu. Záložka Deník poradny

Nápověda k pokročilému vyhledávání

( ) Jako základ mocnin nemusíme používat jen 10. Pokud není jasné, že číslo je uvedeno v desítkové soustavě, píšeme jej takto: ( ) 10

Analýza klíčových slov

STRUČNÝ POPIS REKLAMNÍCH PRODUKTŮ CHYTRÉHO BYDLENÍ

tipů, jak zlepšit PPC kampaně před Vánoci

úspěšný (získal bod). Jednoduše řečeno, úspěšnost nahrávky je svázaná s úspěšností či neúspěšností útočníka.

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek

24 Uživatelské výběry

Informace o poštovním provozu na serveru mail.ktkadan.cz a stručný návod na použití OpenWebMailu

si.shimano.com Uživatelský návod

Stručný návod pro práci s knihovním katalogem OPAC

Struktury a vazebné energie iontových klastrů helia

Návod k požadavkům ISO 9001:2015 na dokumentované informace

Semestrální práce C1- Test s uživatelem

KOMUNIKAČNÍ PLATFORMA PRO INICIACI STUDENTSKÉ SPOLUPRÁCE COMMUNICATION PLATFORM FOR AN INICIATION OF A STUDENT COLLABORATION

Směrnice pro dietní stravování ve školní jídelně


Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Mgr. Stěpan Stěpanov, 2013

Renáta Bednárová, Petr Sládek. Pedagogická fakulta MU Brno, Univerzita obrany Brno

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

Ročníková práce. Metodika tvorby. Jan Divišek Alena Beňadiková

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole Aplikace booleovské logiky

NOVÁ STROMOVÁ STRUKTURA VE VÝROBĚ

Excel 2007 praktická práce

Případová studie Produktové inzeráty

ZKUŠENOSTI S AUTOMATIZACÍ CITAČNÍ ANALÝZY NA ZAKONECHPROLIDI.CZ. Pavel Gardavský/AION CS, s.r.o

MEDIAKIT. Manželství samo o sobě není ani dobré, ani špatné. Jeho zdar či nezdar je jedině v nás. André Maurois

TROJKAM STUDIO, s. r. o. Uživatelská příručka. E-learningový systém MUZA, příručka pro účastníky kurzů

Uživatelský manuál. Obsah

Richtext editory. Filip Dvořák

Obchodní příležitosti

41 Konzultace bariéry

Role informační architektury a optimalizace pro vyhledavače v online publikování

Případová studie: Zvýšení přirozené návštěvnosti ivt.cz. Případová studie: Zvýšení přirozené návštěvnosti ivt.


Základní škola a Mateřská škola, Praha 6, náměstí Svobody 2. Pokyn k závěrečným pracím žáků 9. ročníku ve školním roce 2016/17

Několik rad pro psaní článku na Wikipedii

Co jsou otevřená data?

VY_32_INOVACE_IKTO2_0460 PCH

NÁVOD NA PRÁCI S KATALOGEM CKAN. Vzniklo v rámci výzkumného grantu Sémantické propojování dat ve veřejné správě IG407011

Internetový obchod Mironet

Zpracoval Ing. Ladislav Škraňka, Brno, březen 2012

KRY. Projekt č. 2. Kamil Dudka xdudka00

Příručka uživatele systému Museion. Quick filtr

Soukromá střední odborná škola Frýdek-Místek, s.r.o.

Prohlášení ú astníka výb rového ízení k výb rovému ízení ís. SBN/020/2015

aneb Snadné psaní bez pravidel Publikace je chráněna autorským právem Pavel Fara 2013

Cestovní zpráva. Program akce: Průběh akce. O Anopress

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Transkript:

Kdy se narodil... Vypracovali: Mrkývka Vojtěch, Mrázek Ondřej, Novotná Marie Předmět: PLIN08 Projekty II Semestr: Jaro 2015 Vedoucí projektu: Mgr. Marek Grác, Ph.D. Úkolem tohoto projektu bylo vytvořit program/skript umožňující počítači automaticky zodpovídat některé otázky ve hře Česko (jinými slovy: snaha naučit počítač vyhledat v textových souborech jistý typ informací a pracovat s nimi). Česko je stolní (desková) vědomostní hra postavená na týmovém soupeření v zodpovídání otázek vztahujících se nějakým způsobem k České republice. Otázek existuje ve hře velké množství (tedy se dá tvrdit, že otázka není dopředu známá a je náhodná). Ve hře existuje několik okruhů otázek. Náš úkol spočíval ve vytvoření skriptu, který by uměl excerpovat z textového vstupu datum narození známé osobnosti (což je jeden z frekventovaných herních dotazů). 1 Přípravná fáze Základní program, pro který skript vytváříme, pracuje se surovými daty získanými na internetu. Tzn. bylo nutné zjistit, jaký výsledek předá vyhledávač po zadání dotazu na jméno osobnosti. Podle toho bylo později možné navrhnout algoritmus. Po zkoušení velkého počtu dotazů jmen osobností se nám podařilo zjistit, jaké výsledky se zobrazují nejčastěji. U více než 90 % vyhledávaných osobností se jako první ve vyhledávači zobrazují odkazy na portál Wikipedie.org. Zbylých asi 10 % výsledků odkazuje na osobní webové stránky osobností (většinou se jednalo o žijící a mediálně velmi známé osoby). Dotazy jsme zadávali do vyhledávačů Google i Seznam. 1

2 Wikipedie Na stránkách Wikipedie jsme v další fázi opět zadávali jména českých osobností. Pozorovali jsme, že jednotlivé výsledky, respektive informace o datech narození, bývají napsány ve velmi podobné formě. To je způsobeno tím, že dnes již na Wikipedii existují pravidla o podobě jednotlivých uváděných informací. Díky tomu se lze spolehnout na to, že i když se může měnit obsah jednotlivých wiki stránek, formát zůstane téměř nezměněn. V této fázi bylo také potřeba zjistit, zda neexistují osobnosti, u nichž se standardní podoba informace o datu narození diferencuje. (Toto vyhledávání muselo být z podstaty informace intuitivní. Znalost existence těchto potenciálně problémových osobností (z hlediska formy zápisu) je totiž závislá na empirických zkušenostech, tzn. nelze algoritmizovat.) 2.1 Formát informací Z průzkumu vyplynulo, že standardní podoba informace o datu narození na wiki stránkách má tento charakter: celá informace je uzavřena v kulatých závorkách v samotné závorce jsou uvedeny informace o době narození (den, měsíc, rok), místě narození, datu úmrtí (den, měsíc, rok) a místě úmrtí 1 formát těchto jednotlivých oblastí (data, místa), tedy struktura textu v závorce, je téměř shodný Př.: Alois Jirásek (23. srpna 1851 Hronov (1) 12. března 1930 Praha) byl český prozaik, dramatik a politik, autor řady historických románů a představitel realismu. Cílem této fáze bylo sestavení regulárního výrazu, který by akceptoval co nejvíce variant možných forem zápisů (pokud možno všechny). 1 Pokud osoba žije, pak tyto informace pochopitelně nejsou. 2

2.2 Problémové jevy Pokud by byly informace o datu narození na všech stránkách skutečně shodné, nebylo by příliš obtížné sestavit adekvátní regulární výraz. Museli jsme ale zohlednit i to, že některý z údajů v závorce chybí nebo je realizován jinou formou. Pokud hledaná osoba žije, je obsah textu v závorce v podstatě poloviční. Sestavení dotazu může problematizovat např. místo narození nebo úmrtí osoby. Třeba tehdy, je-li jméno města víceslovné, obsahuje-li spojovník aj. (Frýdek-Místek, Borová u Přibyslavi). Příklady problémových jevů: uvedení symbolů * u narození osoby rozdílné pádové formy měsíců (leden, ledna, únor, února,... ) redundatní výrazy asi, nebo (u osob, kdy není daná informace dostatečně doložena) uvedení jiných informací v závorce (např. celé jméno osoby) víceslovné pojmenování místa narození nebo úmrtí... 2.3 Sestavení regulárního výrazu Výše zmíněné problémové jevy nejsou jediné, se kterými jsme se setkali. Pouze ilustrují velkou variantnost možných zápisů v (na první pohled) homonymní podobě obsahu závorky. Samotný regulární výraz pak byl sestaven pro množinu několika standardních zápisů a následně rozšiřován tak, aby vyhovoval i třídám samostatných problémových jevů. I během této fáze jsme se pokoušeli rozšířit okruh osob s nevhodnou podobou zápisu. Jména obsahující přídomky (šlechtický predikát), dvě data narození nebo úmrtí aj. a tyto opět otestovat pro aktuální regulární výraz. 3

3 Skript Když byl sestaven dostatečně silný regulární výraz, bylo potřeba jej efektivně aplikovat v rámci skriptu. Samotný výraz pouze najde konkrétní informace, ale dále s nimi nepracuje. Mohli jsme ale tento výraz využít v rámci skriptu, který by pomocí něj přidal do textu metainformaci o datu narození. Výsledný program pak pouze analyzuje námi obohacený text a výslednou informaci předá na výstup. Jedním z řešení byl unixový program sed, který umožňuje nahrazování textových řetězců jinými řetězci. V praxi by to vypadalo tak, že bychom např. řetězec 23. srpna 1851 uzavřeli do párových tagů s metainformací datum narození. Při testování jsme ale zjistili, že program sed není pro náš účel úplně ideální. Skript v něm zapsaný byl velmi nepřehledný a v průběhu testování se ani zkoušené regulární výrazy nechovaly podle očekávání. Vhodnější variantou pak bylo napsat skript v jazyce Python. Tuto metodu jsme nakonec zvolili. 3.1 Popis algoritmu Skript vyžaduje na vstupu textová data, která analyzuje. Pokud najde hledané informace, vrací je na výstup doplněné o metainformace. Základní soubor, tak zůstane nezměněn. Samotný skript je složen ze dvou hlavních regulárních výrazů. Jeden pokrývá skupinu dat obsahujících datum narození i úmrtí osoby. Druhý výraz zachycuje data u osob majících pouze datum narození. Před tiskem výstupních dat jsou provedeny ještě některé, spíše vizuální, úpravy (např. je nahrazen slovní údaj měsíce narození za jeho číselnou reprezentaci: leden = 1, únor = 2 atd.) Přestože cílem bylo zjistit pouze informaci o narození osoby, rozhodli jsme se zpracovat i některé další informace (místo narození, datum a místo úmrtí). 4

4 Závěr 4.1 Slabiny skriptu Jak již bylo řečeno, asi 10 % dotazů se nenachází na stránkách Wikipedie. Zjistili jsme, že tyto výsledky jsou natolik rozdílné (formou zápisu informace o narození), že je nemožné je zahrnout do našich regulárních výrazů. Zápisy byly dokonce natolik rozdílné, že by bylo nutné sestavit regulárních výrazů velké množství. Navíc není jisté, jestli by i tak bylo vyhledávání úspěšné. Protože pro těchto 10 % existuje i stránka na Wikipedii, bylo by efektivnější přesměrovat program právě tam, kde by bylo možné použít fungující skript. Další slabinou je pak nefunkčnost získání informací u některých osob; např. tehdy, vyskytují-li se u osoby dvě data narození nebo úmrtí. Tyto případy ale nelze predikovat, takže problém bude vhodné řešit operativně až ve chvíli zjištění nefunkčnosti regulárního výrazu. 4.2 Výhody skriptu Zpracování v jazyce Python umožňuje díky přehlednému zápisu (oproti sedu) snadnou manipulaci s obsahem, a tím dovoluje rychle upravit regulární výrazy nebo podobu výstupu. Získání i jiných informací, než je datum narození, zjednodušuje práci výsledného programu, který v jedné iteraci analýzy textu získá více důležitých dat. Oproti sedu je navíc jednodušší práce se zpětnými referencemi v rámci regulárních výrazů. 5