Mendelova univerzita v Brně Provozně ekonomická fakulta
Analýza podobnosti závěrečných prací a online dokumentů Diplomová práce
Vedoucí práce Mgr. Tomáš Foltýnek, Ph.D.
1 Brno 2013
Bc. Ondřej Veselý
2
V první řadě bych rád poděkoval doktoru Foltýnkovi za možnost podílet se na evropském projektu Impact of Policies for Plagiarism in Higher Education, díky které jsem měl vyjímečnou příležitost průběžné výsledky konzultovat na konferencích s odborníky na dané téma, a díky které jsem získával mnoho motivace pro další práci. V druhé řadě společnosti Seznam.cz s.r.o. za přístup k programovému rozhraní fulltextového vyhledávače. Bez tohoto přístupu by práce nikdy nemohla vzniknout. Moje třetí poděkování patří Ing. Kolomazníkovi za řádové zrychlení mého algoritmu pro indexaci slovníku bigramů a cenné rady k tématu strojového učení.
3
Prohlašuji, že jsem tuto diplomovou práci vyřešil samostatně s použitím uvedené literatury. V Brně dne 4. ledna 2013 …...............................
4
Abstract The aim of this thesis is to improve the system for plagiarism detection at Mendel university in Brno. It is focused on design and developement of component for online plagiarism detection, which is currently missing. The detection itself is realised by a set of requests to czech fulltext search engine Seznam.cz. The most important contribution is developement and implementation of methods for optimalisation the number of necessary requests with no influence to the sensitivity of detection.
Abstrakt Práce se zabývá vylepšením systému pro detekci plagiátů na Mendelově univerzitě v Brně. Důraz je kladen především na návrh a implementaci komponenty pro odhalení plagiátů online dokumentů, která ve stávajícím řešení chybí. Detekce plagiátu je realizována analýzou odpovědí českého fulltextového vyhledávače Seznam.cz na speciálně sestavenou sadu vyhledávacích dotazů. Hlavním přínosem práce je vývoj a implementace metod pro snížení počtu těchto dotazů bez negativního vlivu na citlivost detekce. Jedná se především o optimalizaci velikosti požadavku na vyhledávač a heuristiku pro selekci textových pasáží pro přednostní analýzu.
5
6
Obsah 1 Úvod....................................................................................................................................9 2 Přehled literatury...............................................................................................................11 3 Analýza problému hledání plagiátů...................................................................................12 3.1 Východiska řešení......................................................................................................12 3.1.1 Analýza současného stavu..................................................................................12 3.1.2 Antiplagiátor na Mendelu v Brně.......................................................................15 3.1.3 Projekt Plagiáty z webu.....................................................................................15 3.2 Popis a analýza problému..........................................................................................17 3.2.1 Využití fulltextového vyhledávače.....................................................................18 3.2.2 Rozhraní pro komunikaci s antiplagiátorem......................................................21 3.2.3 Funkce komponenty FragOn..............................................................................22 4 Návrh a implementace.......................................................................................................24 4.1 Naivní implementace.................................................................................................25 4.1.1 Analýza složitosti...............................................................................................28 4.2 Získávání a analýza dat..............................................................................................28 4.2.1 Generování vzorků.............................................................................................30 4.2.2 Analýza úspěšnosti.............................................................................................31 4.2.3 Analýza účinnosti...............................................................................................33 4.2.4 Metody přístupu k vylepšení použitých algoritmů............................................33 4.2.5 Vylepšení funkce pro určování velikosti dotazu................................................34 4.2.6 Vylepšení analýzy oblasti pro sondáž................................................................38 4.2.7 Určení indexu podezření pro jednotlivé fragmenty...........................................40 4.3 Provozní implementace.............................................................................................44 4.3.1 Analýza složitosti...............................................................................................44 4.3.2 Analýza úspěšnosti.............................................................................................46 4.3.3 Analýza účinnosti...............................................................................................46 4.3.4 Závislost úspěšnosti a trvání na velikosti skenované oblasti.............................47 4.4 Diskuze......................................................................................................................48 4.4.1 Analýza oblasti pro sondáž................................................................................48 4.4.2 Určování velikosti fragmentu............................................................................49 5 Závěr..................................................................................................................................51 6 Literatura...........................................................................................................................52 7 Příloha 1............................................................................................................................55 7
8
1 Úvod Stejně jako s nástupem průmyslové revoluce začaly fyzickou práci přebírat stroje, dnes informační systémy podobným způsobem konkurují lidským protějškům v jednoduchých operacích s informacemi; například v administrativě. V nově vzniklé informační společnosti tak činnosti, které zůstávají doménou lidí, získávají na významu. Informatika stále dokonalejšími nástroji tuto doménu postupně zužuje; jednou z posledních oblastí, ve které lidské myšlení stále vyniká, je tvořivost. Proto je, nejen na akademické půdě, kladen stále větší důraz na schopnost odlišit díla, která prezentují autorskou myšlenku, od těch, která pouze myšlenky přebírají. Význam autorů těchto druhů děl je pak diametrálně odlišná – například mechanicky sestavený kompilát cizích myšlenek mohl být sice vytvořen člověkem, jeho práce je však z větší části nahraditelná počítačovým programem. Věřím, že každý nástroj na odhalování převzatých myšlenek pomůže ocenit ty autory, jejichž práce není nahraditelná informačními technologiemi. Vývojem jednoho z takových nástrojů se zabývá tato diplomová práce. Plagiátem je podle České terminologické databáze z oblasti knihovní a informační vědy nedovolená napodobenina (přesná nebo částečná) uměleckého nebo vědeckého díla jiné osoby, která je bez uvedení předlohy vydávána za originál; její původce tak porušuje autorská práva autora původní předlohy (Celbová, 2003). Z výše nastíněných důvodů nemůže být úloha odhalování plagiátů plně automatizována. Lidskou tvořivost, původnost myšlenek nebo originalitu není možné stávajícími programovými prostředky hodnotit; toto zůstává doménou lidí. Na Mendelově univerzitě je již několik let využíván systém pro srovnávání závěrečných prací, který umožňuje upozornit zainteresované osoby na neobvyklou shodu srovnávaných děl (dále nazývám tyto systémy obecně antiplagiátory). Rozhodnutí, zda je podezřelá práce plagiátem, je vždy na určených osobách. Jakkoli je stávající sytém účinný, porovnává pouze již odevzdané závěrečné práce. Mendelova univerzita si je vědoma omezení, která 9
stávající informační systém má; tím spíš, že aktuálním trendem je plagiátorství internetových zdrojů, které stávající řešení nedokáže odhalit. Proto vzniká potřeba tuto funkcionalitu doplnit; zároveň se jedná o téma, které otevírá mnoho možností dalšího mezioborového výzkumu. Cílem práce je návrh a implementace systému určeného ke srovnávání obsahu zadaného dokumentu s dokumenty publikovanými na českém internetu a k vyhledání obsahově podobných fragmentů textu. Jinými slovy – pro zadaný dokument nalezení takových URL adres, na kterých se nacházejí obsahově podobné texty. Návrh integrace do UIS pak spočívá v předání nalezených URL adres stávajícímu antiplagiátoru, který obsah určených webových stránek dočasně zařadí do porovnávací databáze. Výsledkem tak může být faktické rozšíření porovnávacího korpusu o obsah českého internetu.
10
2 Přehled literatury Většina použité literatury se dá rozdělit do několika tematických skupin. Předně vycházím z akademických publikací významnějších českých autorů, kteří se tématu po technické stránce věnovali v minulých několika letech. Jsou to především Brandejs, Kasprzak (2010) a Suchomel (2012) z Masarykovy univerzity a kolegové Foltýnek, Procházka, Rybička (2009) z Mendelovy univerzity. Na ty pak navazují se svými technickými řešeními např Gregorovič (2008) nebo Chladil (2010). Výbornou rešerši zpracoval ve své práci Hauzírek (2011). Úzce zaměřenou monografii na téma latentní sémantické analýzy publikoval Češka (2009). Z té vycházel v dřívějších letech vyhledávač Seznam.cz (2011), v širším kontextu se jí mimo akademickou sféru věnuje Škrob (2007). Zcela zvláštní kategorii si zaslouží odborníci na plagiátorství, kteří jejichž hlavní přínos není v oblasti technického řešení. Například Černohlávková (2004) popisuje příčiny plagiátorství a související politiky jednotlivých vysokých škol. Celbová (2003) se zabývá terminologií. Tito zasazují vyvíjené technologie do širšího společenského kontextu. Největší část seznamu použité literatury obsadily zdroje popisující použité technologie a služby. Nebránil jsem se například využití kvalitně zpracovaných článků z Wikipedie a uvádím také odkazy na specifikace služeb jako vyhledávač Google (2012a, 2012b) či Microsoft Bing (2012). Poslední relevantní skupinou zdrojů jsou významní zahraniční autoři např Sipster (1997) k tématu složitosti nebo samotné detekci plagiátorství jako Harris (2012) a starší Ottenstenin (1976).
11
3 Analýza problému hledání plagiátů 3.1 Východiska řešení 3.1.1 Analýza současného stavu Přestože problémy s plagiátorstvím byly pravděpodobně řešeny již dříve, jeden z prvních publikovaných článků k tomuto problému se objevuje až v sedmdesátých letech (Otttenstein, 1976). Tehdy byl však kladen důraz především na odhalování plagiátů zdrojových kódů. Tento vývoj je pochopitelný. Informatika je oborem, který je ze své podstaty živnou půdou pro automatizaci zpracování informací a není tedy překvapením, že první systémy pro odhalování plagiátů vznikaly pod rukama akademických pracovníků, kteří vyučovali principy, jejichž znalost je pro tvorbu systému na detekci plagiátů nezbytná. Dalším důvodem byla zřejmě také kapacita tehdejších počítačů; zdrojové kódy však nepředstavovaly pro pomalé počítače problém – jsou už z návrhu určeny pro zpracování počítači. O jednom z faktorů, který byl, podle mého názoru, pro rozvoj nástrojů pro automatizovanou detekci plagiátů zásadní, píše Hauzírek (2007): „S masivním rozvojem osobních počítačů v domácnostech i školách nižších stupňů zejména v devadesátých letech a od poloviny devadesátých let také se silným rozvojem Internetu, dochází stále více k digitalizaci psaných dokumentů a zároveň k tomu, že velké množství jich je veřejně a snadno dostupných.“ Dnes je možné zdarma, nebo ze specializovaných serverů za poplatek, stáhnout kompletní práce; především na středních školách se tak doslovné využívání necitovaných pasáží textů stalo běžným jevem. Související poptávka po řešení pak vyvolala boom různých metod a nástrojů pro automatizovanou detekci plagiátů volného textu (viz tabulka 1).
12
Název nástroje/služby
Základní charakteristika
CatchItFirst
komerční extrakorpální služba pro volný text přístupná přes WWW
Glatt Plagiarism Servi- komerční intrinsic nástroj pro volný text na principu doplňování ces slov autorem CopyCatch
komerční intrakorpální a intrinsic nástroj pro volný text
Eve 2
komerční extrakorpální nástroj pro volný text
Plagiarism Finder
komerční extrakorpální nástroj pro volný text
MyDropBox
komerční smíšená služba pro volný text přístupná přes WWW
TurnItIn.com
komerční smíšená služba pro volný text přístupná přes WWW
WCopyFind
volně dostupný (vč. zdrojových kódů) intrakorpální nástroj pro volný text a zdrojové kódy
Pl@giarism
volně dostupný (po registraci) intrakorpální nástroj pro volný text Ferret volně dostupný intrakorpální nástroj pro volný text a zdrojové kódy CISE Tools sada volně dostupných experimentálních intrakorpálních nástrojů pro volný text
JPlag
volně dostupná (po registraci a schválení) intrakorpální služba pro zdrojové kódy a volný text přístupná přes WWW
Sherlock
volně dostupný (vč. zdrojových kódů) intrakorpální nástroj pro zdrojové kódy a volný text
Tabulka 1: Vybrané nástroje a služby a jejich základní charakteristika podle Hauzírka (2007); vysvětlení pojmů viz odstavce pod tabulkou).
Pojmem extrakorpální označuje Hauzírek (2007) takový nástroj, který „dokumenty v rámci korpusu neporovnává mezi sebou, ale hledá jim podobné v nějaké externí databázi. Takovou databází může být elektronické skladiště prací z minulých let nebo třeba prostředí Internetu zpřístupňované pomocí vyhledávače. Výhodou takového řešení je samozřejmě větší množina zdrojů, vůči kterým lze porovnávat, a tím také větší schopnost odhalit (zej13
ména u volných textů zřejmě častější) extrakorpální plagiáty. V čase se navíc databáze může rozrůstat o další dokumenty a úspěšné plagiátorství se tak stává výrazně obtížnějším. Navíc, pokud (nový) dokument v porovnávaném korpusu odpovídá jinému (starému) dokumentu v databázi, lze předpokládat, že novější dokument je plagiátem a jeho autor plagiátorem.“ Korpus je v tomto kontextu databáze dokumentů, se kterými je dokument porovnáván. Intrakorpální nástroj pak analogicky „porovnává pouze dokumenty v rámci korpusu. Takový nástroj není schopen odhalit plagiát vzešlý z jiných dokumentů, než těch, které mu byly v dané dávce poskytnuty (leda by tam bylo několik částí ze stejného externího zdroje). Tento způsob, kdy jsou si dokumenty rovny (tj. jsou při porovnání považovány jak za možný případný zdroj, tak za možný případný plagiát), také v případě nalezení podobné dvojice vylučuje rozlišení autora a plagiátora,“ (Hauzírek, 2007). V tomto případě považuji Hauzírkovo tvrzení za příliš obecné. V kapitole 4.4 zmiňuji techniky techniky obsahové analýzy textu, například v systému Textquest (Jonák, 2000), které umožňují nalezení skutečného autora textu, máme-li od něj dostatečné množství materiálu k analýze. Z výše uvedeného vyplývá, že intrakorpálních nástrojů pro hledání podobností mezi dokumenty, které jsou dostupné na lokálním médiu, jsou v akademické i soukromé sféře desítky (1.,2.,3.). Nabídka extrakorpálních je podstatně skromnější. Podle Hausírka
byly v roce
2007 čtyři ‒ CopyCatc, Eve 2, Plagiarism Finder a OrCheck. Všechny placené, přičemž Eve 2 není vhodný pro český jazyk. Ačkoli tyto služby musí vzhledem ke své rychlosti využívat nějaký systém pro inteligentní minimalizaci dotazů na externí vyhledávače, akademická práce na toto téma chybí. Výjimkou je český projekt Plagiáty z webu (Gregorovič, 2008), který se touto optimalizací zabývá jen velmi okrajově.
14
3.1.2 Antiplagiátor na Mendelu v Brně Aktuální stav antiplagiátoru na Mendelově univerzitě popisuje obecně ve své diplomové práci Chladil (2010). „V Univerzitním informačním systému (dále UIS) Mendelovy Univerzity (dále Mendelu) funguje software pro odhalování plagiátů od jara 2009, jeho funkčnost popisují ve vědeckém článku Foltýnek, Procházka a Rybička (2009). Software kontroluje závěrečné práce, seminární práce a další dokumenty odevzdávané v elektronické podobě. Zdrojové kódy nejsou předmětem zájmu, jedná se pouze o texty. Antiplagiátor využívá tří metod, které určují míru podobnosti dvou dokumentů. Samozřejmostí je předzpracování textu, které převede původní dílo do požadovaného tvaru. Poté jsou na dvojice aplikovány algoritmy. Jedná se o podobnost vektorů, korelační koeficient a nakonec sdiff, který je implementovaný v operačním systému Unix.“ Antiplagiátor na Mendelu tedy můžeme podle Hauzírka zařadit do kategorie intrakorpálních nástrojů. Funkcionalita, která by zajišťovala hledání plagiátů v externí databázi, dosud chybí. V roce 2012 však byla na Mendelově univerzitě v Brně firmou IS4U zahájena implementace nové verze antiplagiátoru s obchodním názvem Anton. Ten neporovnává samotný text, ale otisky jeho fragmentů, tzv. „chunking approach“, viz Kasprzak, 2009. Součástí nové verze by měla být i komponenta navržená v této diplomové práci. 3.1.3 Projekt Plagiáty z webu Plagiáty z webu je aplikace vyvinutá na půdě FI MUNI, která „umožní ověřit, zda některé části zadaného textu nebyly opsány z dokumentů dostupných na Internetu. Pro nalezení odkazů na potenciální zdrojové dokumenty je použita API internetového vyhledávače Yahoo. Dokumenty z nadějných odkazů jsou staženy a podrobeny metodě na prověření podobnosti. Aplikace funguje poloautomaticky – uživatel rozhoduje, jestli se mají vyhledat další odkazy, nebo ověřit další potenciálně podobné dokumenty z nalezených odkazů,“ (Gregorovič, 2008). 15
Tato aplikace je, podle mého názoru, na úrovni funkčního prototypu s kvalitním teoretickým základem. Bohužel není možné ji využít pro produkční nasazení, protože API vyhledávače Yahoo limituje počet vyhledávacích dotazů na 5000 na IP adresu denně (Yahoo, 2012). Navíc prakticky neřeší optimalizaci při práci s delšími texty, např. se závěrečnými pracemi.
Ilustrace 1: Snímek obrazovky aplikace Plagiáty z webu (Gregorovič, 2008) V době psaní diplomové práce je aplikace bohužel mimo provoz, není tedy možné důkladně otestovat její účinnost.
16
3.2 Popis a analýza problému Jak už jsem naznačil v úvodu, problém hledání plagiátů je v principu neřešitelný bez účasti člověka. Pro naše účely se, stejně jako většina autorů podobných systémů, musíme omezit na hledání co nejdelších obsahově podobných vzorků ve zkoumaných dokumentech. Na základě vyhodnocení podobnosti by pak systém měl označit dvojici dokumentů za podezřelou. Obecně nejpoužívanější přístup k tomuto problému představuje zmiňovaný „Chunking approach“, jehož principem je rozdělení dokumentů na jednotlivé překrývající se vzorky tvořené posloupností po sobě jdoucích slov. (Kasprzak, 2009) V těchto vzorcích (resp. v otiscích těchto vzorků) je obvykle hledána shoda. Tento přístup je funkční v případě intrakorpální databáze. Pokud bychom chtěli tímto způsobem prohledávat jen český internet, na kterém třeba Seznam Fulltext indexuje 400 milionů webových stránek (Seznam, 2011) – tedy potenciálních zdrojů plagiátu ‒ při průměrné rychlosti 48 porovnání za minutu (což je přibližná rychlost práce antiplagiátoru v UIS), pohybovalo by se jedno prohledání korpusu v řádech milionů let. To vše za předpokladu, že zanedbáme dobu stahování a udržujeme kopii českého internetu na lokálním úložišti. Z výkonnostních důvodů je tak nutné zvolit rychlejší metodu, která bude schopná nad lokální či vzdálenou databází indexovaného obsahu provádět rychlá hledání, která jen „vytipují“ ty zdroje, jejichž části se výrazně podobají úsekům ve zkoumaném dokumentu. Podrobné prohledávání a stanovení podobnostních korelačních koeficientů např. pomocí „chunking approach“ (Kasprzak, 2009) pak můžeme nechat na jiné komponentě systému, která už bude pracovat s podstatně menší databází. Pro hledání plagiátů na internetu je nutné sestavit systém, který se skládá z následujících komponent: 1. agent na procházení a indexování internetového obsahu 2. takové úložiště stahovaného obsahu, aby jej bylo možné efektivně prohledávat
17
3. komponenta pro nalezení podobných fragmentů v indexovaném obsahu (dále označováno jako FragOn ve významu „fragmenty online“) 4. komponenta pro samotné určování indexu podobnosti vytipovaných dokumentů Protože s běžně dostupným hardware není možné vyvinout komponentu 2 (a s jejím nutným nahrazením tedy odpadá potřeba komponenty 1), je potřeba hledat řešení v již existujících systémech – nabízí se fulltextové vyhledávače. Jak píše Hauzírek, všechny dostupné extrakorpální nástroje jsou placené. Důvodem jsou pravděpodobně limity, které fulltextové vyhledávače nastavují. Vývoj komponenty 4 by byl v prostředí Mendelovy univerzity kontraproduktivní, protože tuto funkcionalitu již pokrývá systém popisovaný v článku Detekce plagiátů na Mendelově univerzitě v Brně (Foltýnek, Rybička, Procházka, 2009) – v případě souběžného provozu obou komponent by tak bylo obtížné srovnávat korelační koeficienty podobnosti obou systémů. Jako výhodné se tak jeví využití stávajícího řešení pro finální výpočet a prezentaci podobnosti. Z popisovaného systému tak zbývá jen navrhnout a vyvinout komponentu pro selekci potenciálně podobných dokumentů z indexovaného obsahu (dále FragOn) a pro předávání tohoto obsahu existujícímu systému na detekci plagiátů. 3.2.1 Využití fulltextového vyhledávače Na internetu existuje celá řada vyhledávačů, které se k deklarovanému účelu dají využít. Provedu stručné srovnání těch nejznámějších, klíčovým kritériem bude počet vyhledávacích dotazů, které je možno za den zadat.
18
Google Search Umožňuje jen 100 dotazů za den přes JSON API (Google, 2011b). SOAP API bylo v roce 2012 deaktivováno (Google, 2011a). Yahoo
Nemá přesně definované limity (Yahoo, 2011), některé starší zdroje však uvádějí obvykle hodnotu 1000 dotazů za den na IP adresu.
Bing
Žádné limity, (Programmableweb, 2011).
Seznam Full- Nemá veřejné API pro vyhledávání. text Tabulka 2: Přehled limitů rozhraní vybraných služeb
Z uvedené tabulky je zřejmé, že připadá v úvahu pouze vyhledávač Bing od společnosti Microsoft. Tento vyhledávač však podle interních informací z vývojového týmu Seznam Fulltextu nedosahuje na českém internetu zdaleka takové kvality, což je dle mého názoru způsobeno především malým množstvím indexovaných stránek. Informace společnosti Seznam jsou založeny na výsledcích tzv. slepého testu, viz například tuto veřejnou službu (Blindsearch, 2011) pro Google, Yahoo a Bing. Poté, co firma Seznam umožnila autorovi této práce v rámci spolupráce na souvisejícím výzkumném záměru neomezený přístup ke svému vyhledávacímu API, zvolil jsem pro tyto účely vyhledávač Seznam Fulltext. Zde jej stručně charakterizuji (Škrob, 2007): •
velikost indexované databáze 120 GB
•
obsah dokumentů 200 GB
•
průměr čistého textu na stránku 4 kB
•
výkon robota 100 stran/s
•
průměrná denní odezva na dotaz vyhledávání 100 ms
19
Rozhraní pro komunikaci se Seznam Fulltextem je realizované GET požadavky na příslušné URL, výsledky může Seznam Fulltext vracet ve formátech: XML a JSON; stručně je charakterizuji: •
XML, neboli Extensible Markup Language (česky rozšiřitelný značkovací jazyk), je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C. Je zjednodušenou podobou staršího jazyka SGML. Umožňuje snadné vytváření konkrétních značkovacích jazyků (tzv. aplikací) pro různé účely a různé typy dat. Používá se pro serializaci dat, v čemž soupeří např. s JSON či YAML. Zpracování XML je podporováno řadou nástrojů a programovacích jazyků. (Wikipedia, 2011a). Je využíván s komunikačním protokolem SOAP; protokolem pro výměnu zpráv.
•
JSON, neboli JavaScript Object Notation (JavaScriptový objektový zápis), je způsob zápisu dat (datový formát) nezávislý na počítačové platformě, určený pro přenos dat, která mohou být organizována v polích nebo agregována v objektech. Vstupem je libovolná datová struktura (číslo, řetězec, boolean, objekt nebo z nich složené pole), výstupem je vždy řetězec. Složitost hierarchie vstupní proměnné není teoreticky nijak neomezena. (Wikipedie, 2011b)
Protože vracená datová struktura je pomocí JSON snadno popsatelná, je vhodnější využít spíš tento odlehčenější zápis. Dalším důvodem ale může být i větší přenositelnost. Některé z API vyhledávačů, např. Bing (Microsoft, 2011), totiž pro strukturalizaci vracených dat využívají velice podobný zápis – JSONP. Ten je možné načítat napříč doménami pomocí JavaScriptu; jak demonstruji na své dřívější aplikaci JSCluster (Veselý, 2010a) , lze tímto způsobem obcházet například limit počtu volání na zdrojovou IP adresu. Princip spočívá v tom, že požadavky na vyhledávač (nebo obecně na jakoukoli službu s rozhraním JSONP) jsou přeposílány přes webové prohlížeče návštěvníků webové stránky s vysokým provozem. Zdrojová IP adresa požadavku se pak pro pro webovou služ-
20
bu jeví jako IP adresa návštěvníka. Ten o procesu, který prochází přes jeho prohlížeč, vůbec nemusí vědět. Postavením služby na protokol JSON tedy zvyšuje potenciál využití zmiňované techniky. 3.2.2 Rozhraní pro komunikaci s antiplagiátorem Protože bylo od začátku vývoje silně pravděpodobné, že systém bude spolupracovat výše popsaným způsobem s antiplagiátorem na Mendelu, zdálo by se nejvýhodnější zaintegrovat komponentu FragOn přímo do stávající implementace. Pro vyšší přenositelnost a robustnost systému jsem se však rozhodl zvýšit modularizaci tím, že komponentu implementuji samostatně tak, aby ji bylo možné snadno propojit pomocí standardního rozhraní s jinými systémy. Protože cílem je vzdálené volání metod, připadají v úvahu dva protokoly: SOAP a XMLRPC. •
XML-RPC je protokol, s jehož pomocí lze velice jednoduše provádět vzdálené volání procedur. XML-RPC nepřineslo do světa vzdáleného volání procedur novou technologii. Jedná se totiž o soubor pravidel, která pouze říkají, jak použít již funkční a dokonce standardizované technologie pro potřeby RPC. Data jsou zapouzdřena pomocí značkovacího jazyka XML (eXtensible Markup Language) a přenášena díky protokolu HTTP. Taková koncepce umožňuje aplikacím, napsaným v různých programovacích jazycích, komunikaci mezi různými počítačovými architekturami a jejich operačními systémy (Wikipedie: 2011d)
•
SOAP (původně Simple Object Access Protocol) je protokolem pro výměnu zpráv založených na XML přes síť, hlavně pomocí HTTP. Formát SOAP tvoří základní vrstvu komunikace mezi webovými službami a poskytuje prostředí pro tvorbu složitější komunikace. Existuje několik různých druhů šablon pro komunikaci na protokolu SOAP. Nejznámější z nich je RPC šablona, kde je jeden z účastníků ko21
munikace klient a na druhé straně je server. Server ihned odpovídá na požadavky klienta. SOAP je nástupce XML-RPC, ačkoliv si zapůjčuje jeho způsob přenosu dat a další vlastnosti. Obálka, hlavička a tělo komunikace je ale pravděpodobně z WDDX. (Wikipedie, 2011c ) Při výběru protokolu jsem vycházel ze svých zkušeností při vývoji funkčního prototypu, jehož účelem bylo vzdálené volání metod pomocí SOAP, což je protokol, který XML využívá. Tehdy pro mě bylo překvapivým zjištěním, že „vyřízení jednoho požadavku na realizovanou webovou službu trvá téměř dvě sekundy,“ (Veselý, 2009c). Ačkoli byl tento problém pravděpodobně jen chybnou implementací (v realizované verzi navrhovaného sytému je SOAP použit bez problémů s výkonem), pro komponentu FragOn bude charakteristická právě intenzivní komunikací s antiplagiátorem, proto se jeví se vhodnější využít odlehčenějšího protokolu XML-RPC. 3.2.3 Funkce komponenty FragOn Původně vágní popis funkcionality komponenty „nalezení podobných fragmentů v indexovaném obsahu“ nyní popíšu podrobněji. Vstupem komponenty je zkoumaný dokument, očekávaným výstupem je pak datová struktura, která obsahuje seznam podezřelých zdrojů ve formátu URL adres. Každá položka seznamu by měla být ohodnocena tak, aby byla znázorněna míra podezření z plagiátorství. Protože jedním z požadavků je minimalizace počtu vyhledávacích dotazů, bude nutné zajistit způsob, kterým bude komponenta určovat, které části dokumentu je vhodné vyhledávat, a které ne – tj., ve kterém fragmentu textu je nejpravděpodobnější výskyt plagiátu. Tato metrika bude určována bez explicitního dotazování vyhledávače; může přitom využít výsledků předchozích dotazů. Funkci budu nazývat analýza oblasti pro sondáž. Zároveň je nutné volit správný fragment (tedy jeho velikost a polohu v dokumentu), který bude odeslán vyhledávači. Tato část komponenty bude mít největší dopad na její výkon. 22
Protože cílem je hledat ty dokumenty, které mají největší společné fragmenty (ne nutně do písmene totožné), logickou volbou je hledat vzorky co největší. Přitom ale musí být velikost vzorku taková, abychom dostali od vyhledávače vůbec nějakou odpověď. Ideální počet vrácených výsledků pak odhaduji řádově v jednotkách. Tuto funkci nazývám určování velikosti dotazu.
23
4 Návrh a implementace Protože nalezené publikace, které se problematikou zabývají, neposkytují detailní podrobnosti o parametrech nutných k analýze oblasti pro sondáž ani k určování velikosti fragmentu, rozhodl jsem se rozdělit práci do tří kroků: 1. rychlý vývoj naivní implementace, 2. analýza získaných kvalitativních i kvantitativních údajů souvisejících s dotazováním fulltextu, 3. zrychlení a rozšíření naivní implementace o funkce vytvořené na základě analýzy v předchozím kroku Pro rychlé prototypování webových aplikací se výborně hodí skriptovací jazyk Python (Diane, 2011), který jsem pro jeho jasnou a stručnou syntaxi (Python, 2011) upřednostnil před jazykem PHP. Myslím, že například jazyk Perl by byl pro tento typ úlohy také vhodný, ale po zkušenostech s vývojem Třídy pro práci s grafy (Veselý, 2010) jsem dospěl k názoru, že Python poskytuje intuitivnější konstrukce pro složitější datové struktury. Pro vývoj popisovaného systému bylo potřeba zvolit vhodnou platformu a zajistit server s kvalitní konektivitou do internetu. Zde mi vyšla vstříc společnost IS4U která mi zpočátku zajistila přístup na virtuální server na Amazon Elastic Computer Cloud; jedná se o webovou službu, která zajišťuje flexibilní výpočetní kapacitu v cloudu. Ta je navržená tak, aby pro vývojáře bylo snadné vyvíjet webové systémy (Amazon, 2011). Služba mi umožnila se bez omezení rozhodnout pro libovolnou technologii od operačního systému, až po vývojové prostředí. Rozhodl jsem se pro linuxovou distribuci Debian 5.0 lenny. Později jsem se systém rozhodl přesunout systém na server AirStorm, který je pod správou ústavu informatiky na PEF Mendelovy univerzity a je k podobným účelům určen. Mírnou komplikací pro mě byla spolupráce s firmami Seznam a IS4U. Protože jsem během vývoje pravidelně konzultoval aktuální situaci s autory antiplagiátoru v současné době využívaného v UIS, a umožnil tak sladění vývoje mé komponenty se zbytkem systému, bylo 24
potřeba, aby měla IS4U přístup k aktuálním verzím zdrojového kódu. Abych skrze své zdrojové kódy zbytečně neposkytoval přístupové údaje k fulltextu Seznamu, vytvořil jsem na nezávislé adrese bránu, která požadavky na Seznam Fulltext přeposílá; přitom si autorizaci komponenty zajišťuje vlastními autorizačními údaji. Toto řešení (viz ilustrace 2) má proti specificky nastavenému nástroji pro správu a verzování zdrojových kódů tu výhodu, že zajišťuje neměnnou IP adresu klienta Seznam Fulltextu. Při případné migraci komponenty na jiný server pak není nutné znovu nastavovat striktně nastavené přístupové filtry na straně serveru Seznamu.
Ilustrace 2: Schéma monitoringu a autorizace komponenty
4.1 Naivní implementace Prvotní řešení zahrnovalo základní funkcionalitu pro ověření principů práce komponenty FragOn. Tyto funkce sjednocuje třída Fulltext, která implementuje následující metody: •
Metoda loadFile(String) slouží pro načtení testovaného dokumentu v textovém formátu a naplnění příslušných atributů (wfile, words). Podporováno je kódování utf-8 a win-1250.
•
Metoda query(String) implementuje položení dotazu na Seznam Fulltex; dotazování zajišťuje modul urlib2, výsledky jsou z formátu JSON zparsovány pomocí modulu simplejson a uloženy do atributu jres.
25
•
Metoda getOptQuery(Integer, Bool) zajišťuje základní implementaci algoritmu pro určování velikosti dotazu. Vstupem je seznam slov vstupního souboru, ukazatel na aktuálně řešený fragment, maximální délka dotazu a volba dotazovacího přístupu. Postupně jsou metodou query pokládány čím dál delší dotazy dotazy na Seznam Fulltex (s každou iterací je k dotazu připojeno následující po sobě jdoucí slovo), přitom je zkoumána návratová hodnota – tedy informace o počtu nalezených výsledků. Dosáhne-li počet slov dotazovaného řetězce určeného limitu (v testované variantě byl tento limit nastaven na dvacet slov), je první nalezená adresa pomocí metody addUrl přidána do seznamu podezřelých adres. Je-li počet nalezených výsledků nulový dříve, než dosáhneme stanoveného limitu, je použita první vyhledaná adresa z posledního dotazu, který vrátil nenulový počet výsledků. Druhý parametr metody určuje volby mezi způsobem pokládání dotazu na Seznam Fulltext. Tyto způsoby nazývám Words a Phrase, viz kapitola Přístupy Words a Phrase. Jediným rozdílem je uzavření kladeného dotazu do uvozovek.
•
Metoda addUrl zajišťuje přidání URL adresy do množiny podezřelých adres. Pokud přidáváme adresu, která už v množině je, metoda pouze inkrementuje index u příslušné adresy.
Zde bych rád zdůraznil zmiňovanou úspornost jazyka Python při práci s datovými strukturami. Demonstruji ji na ukázce implementace této metody: def addUrl(self, url): if not url in self.urls: self.urls[url] = 1 else: self.urls[url] += 1 Setřízený výpis atributu urls nad datovým typem Dictionary je pak podobně úsporný: for key, value in sorted(ft.urls.iteritems(), \ key=lambda (k,v): (v,k), reverse=True): print " %s \t %s" % (value, key) 26
Stručný přehled atributů, metod a použitých datových typů popisuje UML diagram 3:
Ilustrace 3: Class diagram třídy Fulltext Výstup skriptu pak vypadá podobně jako v následující ukázce, kterou jsem pro přehlednost zformátoval do tabulky: 5
psychosomatika.cz/clanek/nektere-moznosti-psychoterapie-v-somatickych-oborech/
4
www.mu.letohrad.cz/zpravodaj/2000/012000/LEDEN.602
4
www.asian-relax.cz/masaze/shiatsu/
4
isbn2book.com/q/80733/
3
www.psychosomatic.cz/cz/ordinace-manualni-mediciny
2
www.viod.cz/cz/jpd3/seminare/zivotopis-nekterych-lekotru.html
2
lenka.tomanova.eu/download/destinacni-management/Tvorba_destinacnih_produktu.pdf
2
lenka.tomanova.eu/download/destinacnimanagement/Metodika_a_odpovednost_v_DS.pdf
1
zulejkytexty.blogspot.com/2008/07/kalhoty-asu-orbis-pictuc-letn-vtvarn.html
1
www.zvedavec.org/komentare/2009/10/3356-jak-to-vidi-nasi-nemecti-sousede.htm
Tabulka 3: Příklad výstupu naivní implementace
27
Index podezření v prvním sloupci je počet, který vyjadřuje, kolikrát byla příslušná adresa nalezena na prvním místě ve výsledcích fulltextu při procházení celého dokumentu. 4.1.1 Analýza složitosti Složitost algoritmů, zjednodušeně „náročnost algoritmu na výpočetní prostředky počítače v závislosti na délce vstupních dat“, dělíme podle Sipsera (1996) na časovou složitost a prostorovou složitost. Časovou složitostí je obvykle míněna náročnost algoritmu na čas procesoru. Protože se však v praxi ukazuje, že hlavním omezením vyvíjeného programu není výkon procesoru, ale počet dotazů na fulltextový vyhledávač, bude v našem případě vhodnější využít metriku y = T(x), kde vstupem x je délka dokumentu (počet slov) a výstupem y je pak počet dotazů na vyhledávač. Množina vstupních dat (N) je pro naše účely počet slov v analyzovaném dokumentu. Protože algoritmus pro určování velikosti dotazu klade dotaz na vyhledávač pro každé nové slovo a dokument je tímto způsobem procházen celý, je počet dotazů na vyhledávač roven počtu slov v dokumentu, tedy T(N) = N. Časová složitost naivní implementace je tedy lineární. Prostorová složitost je dána atributy wfile a words; oba přitom obsahují právě celý načtený dokument a prostorová složitost je v tomto případě také lineární. Počet přidaných adres do množiny urls je závislý na počtu dotazů, musí tedy také zůstat lineární.
4.2 Získávání a analýza dat Naivní implementace pracovala podle očekávání; další logickou fází bylo vyhodnotit její účinnost a také prozkoumat průběh implementovaných algoritmů. Pro oba tyto účely bylo potřeba pracovat s jednotnou databází vzorků, které mají rysy plagiátů vytvořených z online zdrojů.
28
Manuální vytvoření takového množství vzorků, které by bylo statisticky relevantní, by však nebylo efektivní, proto jsem se rozhodl tuto část procesu automatizovat v komponentě Plagiátor. Pro hodnocení výsledků jsem pak vytvořil sadu skriptů Vyhodnocovač a průběh algoritmů sledovala komponenta Logstat.
Ilustrace 4: Schéma prototypu znázorňující všechny komponenty vyvinuté a použité pro analýzu. Šipky znázorňují tok dat od generátoru plagiátů, až po soubory s výsledky účinnosti. 29
4.2.1 Generování vzorků Komponenta pro generování vzorků k dalšímu výzkumu (dále ji označuji jako Plagiátor) zjednodušeně řečeno simuluje práci studenta – plagiátora. Jejím vstupem je sada klíčových slov, která určují téma práce. Výstupem je pak dokument, který je sestavený z textů těch webových stránek, které se zadaného tématu týkají. Součástí dokumentu je přehled zdrojů, URL adres, ze kterých program texty stahoval. Tematicky podobné webové stránky program získává pomocí vyhledávače. Vyhledané stránky prochází, analyzuje jejich obsah a shromažďuje relevantní fragmenty textu do výsledného dokumentu. Hlavním problémem při řešení této úlohy byla selekce a extrakce vhodných fragmentů z HTML kódů. Při vývoji algoritmu jsem však empiricky došel k závěru, že účinnou metodou je vybírat ty nejmenší části dokumentu, které jsou ohraničeny párovými tagy
, , a <SPAN>. Tyto části dokumentu pak vyhodnotit na základě série podmínek a do dokumentu pak po převedení na prostý text zařadit ty, které jim vyhovují. Při extrakci fragmentů jsem použil následující podmínky: •
texty jsou kódované UTF-8 nebo win-1250 (všechny převádím na UTF-8)
•
délka jednotlivých fragmentů je minimálně sto znaků
•
fragment obsahuje maximálně dva řádkové zlomy
Pro vyšší kvalitu textu byl výsledný soubor zařazen do seznamu vzorků jen pokud vyhověl následujícím kvantitativním podmínkám:
30
minimální počet znaků
2000
minimální počet zdrojů
5
minimální počet znaků z jednoho zdroje
250
maximální počet znaků z jednoho zdroje
500
Tabulka 4: Kvantitativní podmínky použité při generování plagiátů
Graficky zformátovaný výsledek pak působí částečně nesouvisle (viz příloha 1), ale pro účely testování Plagiátoru postačí. Poslední funkcí, která může být na vygenerovaný dokument aplikována, je proložení textů stažených z internetu jiným textem, který už se na internetu nenachází. Dokument po této úpravě více odpovídá skutečnému stavu; jen zřídka se stává, že je celý soubor plagiátem – většinou jsou okopírované jen jeho části. Délka fragmentů prokládaného textu je volena náhodně mezi stem a čtyřmi tisíci znaky. Pomocí Plagiátoru jsem získal 450 vzorků s výše uvedenými parametry. Jako vstupní klíčová slova jsem zadával názvy témat závěrečných prací, namátkou vyhledaných na internetu. 4.2.2 Analýza úspěšnosti Úspěšností komponenty FragOn je myšlen procentuálně vyjádřený poměr počtu detekovaných zdrojových adres vůči celkovému počtu adres deklarovaných Plagiátorem. Pro účely naivní implementace byla za detekovanou adresu považována taková adresa, jejíž index podezření je vyšší než jedna. To znamená, že se po zadání fráze generované algoritmem pro určování velikosti dotazu alespoň dvakrát stalo, že byla zdrojová adresa první v pořadí ve výsledcích vyhledávání. I když se zdá, že citlivost je nastavena na poměrně vysokou hodnotu, počet podezřelých adres se pohyboval v řádech desítek.
31
Tabulka znázorňuje celkovou úspěšnost komponenty FragOn na dvaceti vzorcích vygenerovaných Plagiátorem (ukázku jednoho viz příloha 1). Ve zvláštních sloupcích je znázorněna úspěšnost strategií Words a Phrases. Celková úspěšnost je počítána na sjednocení výsledných URL adres obou strategií. vzorek
úspěšnost % Words Phrases počet zdrojů 1
75
3
0
4
2
66
2
0
3
3
25
1
0
4
4
42
3
0
7
5
20
1
0
5
6
60
2
1
5
7
60
3
0
5
8
25
1
1
4
9
33
1
0
3
10
33
1
0
3
11
33
1
0
3
12
66
0
2
3
13
60
3
0
5
14
60
3
0
5
15
80
4
0
5
16
100
4
2
4
17
50
2
1
4
18
0
0
0
2
19
33
2
0
6
20
100
6
3
6
průměr
51,05
2,15
0,5
4,3
Tabulka 5: Úspěšnost naivní implementace na jednotlivých vzorcích
32
4.2.3 Analýza účinnosti Pro potřeby hodnocení komponenty zavádím dvě metriky: Úspěšnost U =
Ut a složitost Uk
D=
Dw , kde Dq
•
Uk
počet deklarovaných zdrojů,
•
Ui
počet detekovaných zdrojů,
•
Dw
počet slov v analyzovaném dokumentu,
•
Dq
počet dotazů na vyhledávač.
Protože naivní implementace pokládá vyhledávači právě tolik dotazů, kolik je v dokumentu slov (ve strategii Words i ve strategii Phrases), je složitost (poměr proměnných D w a Dq) rovna ½. Úspěšnost pak lze vyčíst z tabulky a můžeme ji zaokrouhlit na ½. Pro celkové porovnání různých implementací můžu využít také poměr úspěšnosti a složitosti, který nazývám účinnost. E=
Dw U t . ⋅ Dq U k
Celková účinnost naivní implementace E, naměřená na dvaceti vzorcích z tabulky, je tedy:
1 1 1 E= ⋅ = . 2 2 4 4.2.4 Metody přístupu k vylepšení použitých algoritmů Dotazy na vyhledávač můžeme dělit do dvou kategorií: 1. dotazy sloužící k vyhledávání optimální délky dotazu 2. dotazy vedoucí k samotnému hledání dokumentů obsahujících dotazovaný fragment
33
Omezíme-li počet dotazů druhé kategorie, znamená to, že některé části dokumentu nebudou analyzovány. To v konečném důsledku snižuje pravděpodobnost úspěšné detekce podobností. Pokud by však algoritmus byl schopen odlišit pravděpodobnost výskytu plagiátu v různých částech textu ještě před úplným zpracováním dotazů druhé kategorie, bylo by možné analyzovat tyto části v závislosti na tom, jak jsou podezřelé, a tím odhalit většinu plagiátů statisticky dříve, než v případě prostého sekvenčního přístupu. Tímto vylepšením se zabývá kapitola Vylepšení analýzy oblasti pro sondáž. Výhodnější je však urychlit funkci pro určování velikosti dotazu a redukovat množství dotazů první kategorie. Vycházíme-li z předpokladu, že je možné sestavit heuristický model, který by stávající lineární hledání zrychlil, výsledkem bude zrychlení komponenty bez ztráty účinnosti. Tímto se zabývá následující kapitola. 4.2.5 Vylepšení funkce pro určování velikosti dotazu Nejprve zjednodušším práci vyhledávače na funkci y = s(q), kde: •
q určuje počet slov ve vyhledávaném dotazu; q patří do <1;18> a
•
s je klesající funkce vracející počet výsledků v závislosti na délce dotazu
Jedná se tedy o minimalizační úlohu, kde hledáme takové nejmenší q, kde s(q) > 0. Toto q označuji jako optimální počet slov. Klíčová tedy bude znalost průběhu funkce. Ta se pochopitelně dotaz od dotazu liší; vystačíme si však se statistickým modelem. Pro sestavení statistického modelu jsem využil podrobný provozní záznam činnosti antiplagiátoru (log). Pro lepší pochopení zde prezentuji názornou ukázku, která mj. demonstruje postup alogoritmu. Předpokládejme, že vstupním řetězcem je dokument, jehož vektor délek slov je (8; 10; 9; 15; 2; 8; 8; 2; 7; 10; 4; 10; 13; 6; 8; 2; 14; 10; 9; 2; 4; 1; 12). Každý řádek znázorňuje klíčové parametry a výsledek dotazu na vyhledávač. S každým dotazem je do dalšího dotazu přibráno jedno slovo ze vstupního řetězce (viz čtvrtý sloupec). Aktuální počet výsledků je
34
pak ve třetím sloupci. První a druhý sloupec zaznamenává počet slov a počet znaků v dotazu. 3
29
76414
(8 10 9)
4
45
25228
(8 10 9 15)
5
48
25442
(8 10 9 15 2)
6
57
306
(8 10 9 15 2 8)
7
66
13
(8 10 9 15 2 8 8)
8
69
13
(8 10 9 15 2 8 8 2)
9
77
6
(8 10 9 15 2 8 8 2 7)
10 87
0
(8 10 9 15 2 8 8 2 7 10)
3
26
11866
(10 4 10)
4
40
1992
(10 4 10 13)
5
47
1562
(10 4 10 13 6)
6
56
155
(10 4 10 13 6 8)
7
59
129
(10 4 10 13 6 8 2)
8
74
40
(10 4 10 13 6 8 2 14)
9
84
0
(10 4 10 13 6 8 2 14 10)
3
23
10850
(10 9 2)
4
28
12
(10 9 2 4)
... Zvýrazněné řádky označuji v dalším textu za optimální dotaz. Výsledek tohoto dotazu by pak měl být předán dalším algoritmům k určení podezření na plagiát. Analýzou logů skriptu na náhodně vybraných diplomových pracích jsem získal tabulku 6, která každému počtu slov q přiřazuje počet nalezených optimálních dotazů s tímto počtem
35
slov qo. Jinými slovy, získal jsem rozložení pravděpodobnosti hledaných hodnot v závislosti na počtu slov v dotazu. Hodnoty v tabulce jsou vyneseny pro lepší orientaci také do grafu 1 a 2. Počet slov
Optimálních (words)
dotazů Dílčí součet Optimálních (phrase)
dotazů Dílčí součet
1
223
223
1488
1708
2
194
417
2787
4495
3
139
556
1181
5676
4
165
721
286
5962
5
129
850
50
6012
6
169
1019
13
6025
7
151
1170
11
6036
8
193
1363
7
6043
9
134
1497
6
6049
10
127
1624
14
6063
11
84
1708
-
-
12
67
1775
-
-
13
37
1812
-
-
14
43
1855
-
-
15
33
1888
-
-
16
31
1919
-
-
17
21
1940
-
-
18₊
182
2122
-
-
Tabulka 6: Rozložení optimálních dotazů v závislosti na počtu slov v dotazu
36
3000 2500 2000
qop
1500 1000 500 0 1
2
3
4
5
6
7
8
9
10
11
q
Graf 1: Rozložení četnosti optimálních dotazů v závislosti na počtu slov v dotazu, strategie Phrase
250 200
qo
150 100 50 0 1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
q
Graf 2: Rozložení četnosti optimálních dotazů v závislosti na počtu slov v dotazu, strategie Words
37
Po prozkoumání zpracovaných dat je zřejmé, že zásadní vylepšení algoritmu přinese schopnost nejen počet dotazovaných slov postupně navyšovat, ale také jej snižovat. To by umožnilo začít s takovým počtem slov, který už je s největší pravděpodobností optimální. Tento počet určuji z naměřených dat následovně: Nechť
c=∑ s (q ) (funkce s je popsána na začátku kapitoly) pro daná q. Pak optimální
počet slov w je takové q, pro které nabývá funkce opt minimální hodnoty, přičemž funkce opt je definována jako:
∣
q
∣
opt (q)= ∑ ( s(i)−c) . i=1
Zjednodušeně řečeno, funkce určuje „těžiště“ výše uvedených grafů 1 popř 2; pomyslná hmota je představována výplní sloupců. Pro snadnější výpočet jsem předvyplnil do tabulky 6 dílčí součet s(i). Pro strategii Words tedy c = 2122 a w = 6. Pro strategii Phrase c = 6062; w = 2. Optimální první dotaz ve strategii Words tedy bude mít délku šest slov, v případě strategie Phrase to budou slova dvě. Z grafů 1 a 2 je navíc patrné, že obzvláště u strategie Words je křivka relativně plochá. Proto se jeví vhodnější spíše skokové prohledávání než dosavadní postupné. Vzhledem k charakteristice křivky budu v další verzi algoritmu pro strategii Words používat skoky o velikosti dvě. 4.2.6 Vylepšení analýzy oblasti pro sondáž Z analýzy detailních logů vyplynulo zjištění, že optimální dotazy s vyšším počtem slov vytvářejí v jednorozměrném dokumentu skupiny. Z toho vyplývá tvrzení, že najde-li algoritmus po náhodné sondáži dosud neprozkoumaného dokumentu optimální délku fragmentu s vysokým počtem slov, je pravděpodobné, že v přilehlém okolí budou výsledky sondáže podobné (zde se nabízí paralela se známou hrou Lodě, kde hráč hádá souřadnice soupeřova plavidla). Vyslovím tedy hypotézu, že počet slov v optimálním dotazu je přímo úměrný 38
pravděpodobnosti, že jde o plagiát. Tato hypotéza vysvětluje zmíněné seskupování delších optimálních dotazů; délka převzatých pasáží v testovacím vzorku i v běžné diplomové práci (může jít např. o citaci) bývá obvykle delší, než je průměrné délka optimálního dotazu. Je tedy zřejmé, že převzatá pasáž se projeví jako několik delších po sobě jdoucích optimálních dotazů. Dlouhé dotazy jsou jen nepřesný indikátor pravděpodobnosti, že jde o převzatou pasáž. Z původní funkce pro určování velikosti dotazu se tak stává metoda k odhadu míry podezření na plagiát pro zkoumaný fragment textu. Pro využití této informace je tedy v provozní verzi pro zvýšení efektivity potřeba: 1. vytvořit vztah, který by na základě získané informace lépe vyhodnocoval pravděpodobnost plagiátu u jednotlivých dotazů, 2. na základě této pravděpodobnosti průběžně aktualizovat model dokumentu, který dokáže pro každou ještě neprozkoumanou pasáž určit míru podezření ještě předtím, než je zkoumána; tento model využije fakt, že jsou pozitivní sondáže obvykle ve vzájemné blízkosti, 3. zmíněný index využít pro celkové hodnocení sumárního podezření. Pro návrh modelu z bodu 2 předpokládám, že existuje funkce k = r(q), která pro každý dotaz určí hodnotu k. Ta je přímo úměrná podezření na plagiát a podle výše uvedeného tedy i určuje pravděpodobnost, že výsledky funkce f na okolních pasážích budou mít podobnou hodnotu. Blíže funkci r popisuji v následující kapitole. Podle k je tedy určeno podezření na plagiát. Řekněme, že hodnota podezření lineárně klesá s rostoucí vzdáleností od místa sondáže, ilustrace 5 ukazuje distribuci podezření při optimálním dotazu pokrývajícím slova 200 až 210 tak, jak jej navrhuji implementovat.
39 Ilustrace 5: Navrhovaná distribuce podezření na okolní slova, v závislosti na výsledku sondáže na slovech 200 až 210.
Samotný algoritmus analýzy oblasti pro sondáž pak v mém návrhu pracuje následovně: •
sondáž na začátku dokumentu
•
sondáž na konci dokumentu
•
sondáž každého stého slova
•
dokud není dosaženo zadaného počtu dotazů na vyhledávač: •
výpočet optimálního místa pro další sondáž
•
sondáž
Výpočet optimálního místa pro sondáž t pak pracuje s datovou strukturou, jejíž část je graficky znázorněna ve vizualizaci 4. Nad touto strukturou je definována funkce p, která pro každé i ∈ D (kde D je množina přirozených čísel označujících pořadí slov v dokumentu bez posledních pěti prvků), určuje míru podezření v aktuálním stavu analýzy. Samotný výpočet je pak nalezení maximální plochy pod křivkou na libovolném intervalu o délce šest (což je v kapitole 4.2.5 vypočtená nejpravděpodobnější délka optimálního dotazu). Protože je funkce diskrétní, pro zjednodušení nepoužívám pro výpočet určitý integrál, ale prostou sumu hodnot na příslušném intervalu. i+ 6
t=max ( ∑ p(i)) pro i∈ D i=1
Výsledkem je pořadové číslo slova, od kterého je pravděpodobně nejvhodnější začít hledat optimální dotaz. 4.2.7 Určení indexu podezření pro jednotlivé fragmenty Naivní verze využívala k určování relevance URL adres jediný faktor – pořadí stránek vrácených vyhledávačem. Nevýhody tohoto přístupu jsou dvě: •
relativita – výsledné hodnoty jsou pro každý dotaz stejné
•
ponechání rozhodování o relevanci pouze na vyhledávači 40
Zřejmým vylepšením původního přístupu by bylo například zahrnutí délky dotazu do výpočtu indexu relevance tak, aby delší dotazy byly relevantnější. Tato účinnost může být sporná, ale dle mého názoru se jedná o užitečný koeficient, jehož důležitost by měla být zvážena. Další myšlenka, kterou jsem v obecné rovině převzal z projektu Plagiáty z webu (Gregorovič, 2008), je možnost obsahové analýzy fragmentů textu, které vyhledávač přidává ke každé URL. Viz ilustrační obrázek 6.
Ilustrace 6: Příklad vrácených dat vyhledávačem Seznam Fulltext využívá dvou prvků pro zvýšení přehlednosti zobrazovaných fragmentů. Jsou to tučná slova a symbol trojtečky (znaku výpustky). Tučná slova se objeví, je-li ve vyhledaném dokumentu dané slovo obsaženo (toto se stát nemusí; Seznam Fulltext využívá (Seznam, 2011) tzv. latentní obsahové analýzy,která přikládá váhu i slovům, která s vyhledaným výrazem úzce souvisí, jejich psaná podoba však může být výrazně jiná. Podrobně viz Češka (2009). Spolu s dalšími faktory, jako je například počet zpětných odkazů, se pak stránka, která klíčová slova neobsahuje, může dostat 41
na relativně vysokou pozici. Toto chování však není žádoucí, proto váhy algoritmus přehodnocuje tím, že upřednostňuji výsledky s vyšším počtem tučných slov. Na výše uvedeném obrázku 8 je například už na třetím místě článek z Wikipedie. Protože však ke shodě dochází jen v jednotlivých slovech, nejsou ve výsledku vyhledávání zvýrazněna. Tento výsledek by tedy měl být potlačen. Trojtečka odděluje dva vzdálené fragmenty, ze kterých jsou citována zvýrazněná slova. Počet trojteček je tedy úměrný rozptylu hledaných slov, což je při určování indexu vyhodnocováno jako negativní faktor. Pro další verzi komponenty jsem určil pro jednotlivé faktory expertním odhadem koeficienty relevance; pro výpočet výsledného indexu i je tedy v provozní verzi použit následující vztah: q r (q)= − p+ b−e , 4 kde jednotlivé proměnné mají následující význam: •
q
počet slov v dotazu
•
p
pořadí výsledku vyhledávání
•
b
počet tučných slov v citaci
•
e
počet trojteček v citaci
42
Ilustrace 7: Vizualizace analýzy oblasti pro sondáž na vzorku 1 (viz Příloha 1) V pravém sloupci je část zkoumaného textu, která při vertikální ose koresponduje s naznačeným polem slov ve zbývajících sloupcích. Tmavý text je plagiát. Pět sloupců na levé straně znázorňuje zleva doprava stav datové struktury v prvních krocích algoritmu. V každém kroku je sondáží analyzována další oblast (šedá barva). V závislosti na výsledku sondáže je přilehlá oblast označena za podezřelou (černá barva). Každá další sondáž se zaměřuje na podezřelé oblasti. 43
4.3 Provozní implementace V další verzi byla komponenta FragOn ve třídě Fulltext: •
obohacena o metody umožňující nelineární hledání optimálního dotazu,
•
vylepšena o algoritmus pro určování podezření pro jednotlivá vyhledaná URL i pro jednotlivé dotazy na vyhledávač.
Nově byla vytvořena třída Pmap, která implementuje model pro určování oblasti pro sondáž, jak je popisováno v kapitole 4.3.6. Viz třídní diagram na obrázku 10. Po každém dotazu na vyhledávač v metodě Fulltext::query je v Pmap::addProbe() zaznamenán index podezření. Metoda Pmap::recompute() pak přepočítá datovou strukturu, nad kterou pracuje z Třídy fulltext volaná metoda Pmap::whereProbe(), která stanovuje místo, na kterém bude prováděn další dotaz. Implementace byly provedeny podle návrhu z předchozí kapitoly.
Ilustrace 8: Třídní diagram provozní verze komponenty FragOn
4.3.1 Analýza složitosti Složitost algoritmu se v nové verzi významně snížila, z popisovaných úprav v předchozí kapitole je však zjevné, že zůstává lineární.
44
Protože algoritmy ve funkci pro určování velikosti dotazu využívají statistického modelu k predikci výsledků, složitost v nejhorším případě proti naivní implementaci neroste. Na očekávaných datech (řekněme, že jde o průměrnou složitost) odhaduji pokles lineárního koeficientu na polovinu (dvojnásobné zrychlení). Aby bylo dosaženo minimální časové složitosti, musela by být vstupní data sestavena z pětic slov, po jejichž zadání do vyhledávače je počet výsledků v intervalu jedna až pět stránek. Pak by byla složitost pětinová. V případě strategie Phrase pouze třetinová. Naproti tomu minimální, průměrná i maximální složitost algoritmu analýzy oblasti pro sondáž je totožná; nezáleží na charakteru vstupních dat. Ten se může promítnout do úspěšnosti vyhledávání, časová složitost je však pevně nastavitelná parametrem, který určuje, kolik procent obsahu vstupního dokumentu má být zpracováno. V provozní verzi byla tato hodnota nastavena na 50%. Pokles lineárního koeficientu odhaduji opět na polovinu. Přehled hodnot lineárního koeficientu složitosti shrnuje následující tabulka. V tabulce sčítám koeficienty obou strategií. Velikost dotazu
Analýza Provozní verze oblasti celkem (zaokrouhleno)
Naivní implementace celkem
Minimální časová složitost
1 1 + 3 5
1 2
1 4
2
Odhadované průměrná časová složitost
1 1 + 2 2
1 2
1 2
2
Maximální časová složitost
1+1
1 2
1
2
Skutečná doba zpracování dvaceti vzorků v naivní implementaci byla přibližně padesát pět hodin. V nové verzi trvala analýza vzorků devět hodin a třicet minut. Bylo tedy naměřeno celkové pětinásobné zrychlení, což odpovídá výše uvedené analýze. Prostorová složitost se zvýšila lineárně. Příčinou je nutnost uchovávat v paměti model pro udržování hodnot podezření pro každý nejmenší fragment textu (tedy pro každé slovo). 45
4.3.2 Analýza úspěšnosti Výsledky analýzy na stejném vzorku dat ukázaly průměrné zlepšení úspěšnosti antiplagiátoru o patnáct procent. Především se zvýšila úspěšnost u strategie Phrases. vzorek
Úspěšnost %
Words Phrases počet zdrojů Zlepšení %
1
100
2
2
3
25
2
25
1
1
4
-41
3
57
3
3
7
32
4
20
1
1
5
-22
5
60
2
2
5
40
6
60
3
1
5
0
7
25
1
1
4
-35
8
33
1
1
3
8
9
66
1
2
3
33
10
66
2
2
3
33
11
66
1
2
3
33
12
60
3
2
5
-6
13
40
1
2
5
-20
14
100
3
5
5
40
15
100
3
3
4
20
16
100
3
2
4
0
17
100
2
2
2
50
18
33
2
2
6
33
19
100
6
6
6
67
2,16
2,21
4,32
15,26
průměr 63,73
Tabulka 7: Úspěšnost provozní verze na jednotlivých vzorcích 4.3.3 Analýza účinnosti Do vztahu z kapitoly 4.2.3 dosadím naměřené hodnoty. Procentuální hodnotu 63,73 z tabulky zaokrouhluji na koeficient 2/3.
46
2 2 4 E= ⋅ = 1 3 3 Celková účinnost je tedy 4/3. Ve srovnání s naivní implementací jde tedy o více než pětinásobné zlepšení. 4.3.4 Závislost úspěšnosti a trvání na velikosti skenované oblasti Graf 3 srovnává délku trvání analýzy a úspěšnost, v závislosti nad různými implementacemi a nad různým vstupním nastavením algoritmu. •
varianta naivní znázorňuje hodnoty naměřené na naivní implementaci
•
ostatní varianty se liší přednastavenou hodnotou zajišťující konec programu po analýze poměrně zadaného množství slov
•
hodnota zkoumáno udává, kolik procent slov bylo posláno do vyhledávače
•
hodnota trvání udává poměr délky průběhu spuštění v dané variantě k délce průběhu spuštění ve variantě naivní
•
úspěšnost je míra odhalení vstupních zdrojů, jak je popsáno v kapitole 4.2.3
Graf 3: Srovnání délky trvání analýzy a úspěšnosti různých implementací a nastavení algoritmu 47
4.4 Diskuze Prezentované a implementované přístupy podle mého názoru poskytují vhodný poměr mezi rychlostí, kvalitou detekce a náročností implementace. Přesto je možné dalšími inovacemi některých komponent vylepšit celkovou úspěšnost komponenty FragOn. Následující kapitoly prezentují návrhy na další postup. 4.4.1 Analýza oblasti pro sondáž V odborných pracích jsou často zmiňovány některé metody, kterými je možné vytipovat části dokumentu, u kterých je pravděpodobnější, že se jedná o plagiát. Problematická je však jejich automatizace. Namátkou uvedu některé příklady (Harris, 2011): •
různé styly citování
•
neobvyklé formátování textu
•
pasáže odchýlené od tématu
•
anachronismy
•
použití výrazů v nevhodném kontextu
V této oblasti je nejdále obor, který se zabývá obsahovou analýzou. Jedna z nejznámějších aplikací ukázala úspěch při určování autorství Bible (Mihulka, 2011). Příslušný algoritmus měřil několik druhů metrik u těch částí bible, kde byl autor známý. Hodnoty byly poslány na vstup neuronové síti, která se tak na jejich základě naučila rozpoznávat autora. Pro produkční prostředí se využívá například program Textquest (Jonák, 2000). Využití této funkcionality vidím v první fázi analýzy oblasti pro sondáž. Ta by spočívala v rozdělení dokumentu do několika dílů podle autorského stylu. Viz ilustrace 9.
48
Ilustrace 9: Oblasti s různým autorským stylem a příklad jejich rozložení v dokumentu V dalších fázích pak stačí pracovat s předpokladem, že pasáže s podobným autorským stylem budou mít i podobnou hodnotu pravděpodobnosti, že byly zkopírovány. Několika málo dotazy do různých oblastí pak můžeme odhadnout míru podezření pro každou sekci a v dalším dotazování se pak soustředit pouze na ty části, které mají vysokou míru podezření na plagiát. Tento přístup má dvojí efekt – zrychlení procesu i zkvalitnění podávaných výsledků. Podobným způsobem by bylo možné rozlišovat i ty části, ve kterých je zbytečné hledat plagiát. V závěrečných pracích by to bylo například úvodní poděkování, tabulky s číselnými údaji nebo opakující se řetězce v záhlaví. Jedná se vlastně o rozšíření zobecnění pojmu „stop slova“ na celé pasáže textu. 4.4.2 Určování velikosti fragmentu Popisovaný algoritmus má některé nedostatky. Jeho model byl vytvořen na základě analýzy náhodně vybraných diplomových prací. Lepších výsledků by mohl dosahovat s adaptabilním modelem. Algoritmus dále zohledňuje jen počet slov, ne jejich délku, význam, kontext ani charakteristiku posloupnosti jejich délek. Určení optimální velikosti fragmentu silně závisí na schopnosti systému odhadnout počet výsledků vyhledávače pro obecný vektor slov. Další dílčí výzkum jsme v této v této oblasti publikovali v článku Heuristic and AI approach to optimize plagiarism detection tool using a public search engine (Veselý, Kolomazník, Foltýnek 2012), kde experimentem vyvracíme hypotézu, že je počet výsledků vyhledávače si49
lně závislý na frekvenci výskytu jednotlivých slov v běžném jazyce. Nadějně však vypadá další experiment, který pracuje s frekvencí výskytů dvojic těchto slov a určitým způsobem tak zahrnuje významový vztah mezi těmito slovy. Výsledky popisovaného experimentu představíme v roce 2013 na konferenci International Conference Plagiarism across Europe and Beyond na Mendelově univerzitě v Brně.
50
5 Závěr V úvodu práce shrnuji současný stav řešené problematiky a provádím stručné srovnání funkcí vyvinutého systému s existujícími antiplagiátory. V praktické části diplomové práce jsem navrhl a vyvinul systém pro srovnávání obsahu zadaného dokumentu s dokumenty publikovanými na českém internetu. V současné době je k dispozici funkční prototyp a probíhá implementace do informačního systému Mendelovy univerzity; paralelně je vedena diskuze se společností Seznam.cz o podmínkách provozu. V práci hodnotím použité algoritmy a navrhuji metody na zavedení heuristik, které umožní algoritmu dosáhnout sublineární složitosti dotazování vyhledávače vzhledem k počtu slov v dokumentu pomocí predikce řádu počtu výsledků vyhledávače za použití různě indexovaných slovníků českého jazyka. Některé z těchto metod zahrnuji do provozní implementace, jiné pak dále ověřuji v publikaci Heuristic and AI approach to optimize plagiarism detection tool using a public search engine (Veselý, Foltýnek, Kolomazník 2012) a budou představeny v roce 2013 na konferenci International Conference Plagiarism across Europe and Beyond na Mendelově univerzitě v Brně.
51
6 Literatura AMAZON.COM. Amazon Elastic Compute Cloud. In Amazon Web Services [cit 2012-1218]. Dostupné na BLINDSEARCH.NET, Search engine taste test [online]. Blind Search, 2012 [cit 2012-1218]. Dostupné na CELBOVÁ, Iva. Plagiát. In: KTD: Česká terminologická databáze knihovnictví a informační vědy (TDKIV) [online databáze]. Praha : Národní knihovna ČR, 2003- [cit. 2012-12-18]. Dostupné na: . ČERNOHLÁVKOVÁ, Kateřina. Plagiátorství na vysokých školách. Brno: Masarykova univerzita, Filozofická fakulta, Kabinet knihovnictví, 2004. 108 s. Vedoucí diplomové práce Mgr. Petra Šedinová DIANE Garey, STEVE Lang: Achieving high productivity prototypical development for mathematical and statistical modeling – 2011. [cit 2012-12-18]. Dostupné na FOLTÝNEK, T., PROCHÁZKA, T., RYBIČKA, J. Plagiarism Detection System at Mendel University in Brno, Czech Republic. [DVD-ROM]. In IVKI 2009. Inovácia výskumu katedier informatiky. s. 50-53. ISBN 978-80-8094-579-4. GOOGLE.COM, SOAP Search API [online]. Custom search, 2012a [cit 2012-12-18]. Dostupné na GOOGLE.COM, JSON/Atom Custom Search API [online]. Custom search, 2012b [cit 2012-12-18]. Dostupné na GREGOROVIČ, T. Plagiáty z webu [online]. 2008 Brno: Masarykova univerzita [cit. 18. prosince 2012]. Dostupné na HARRIS R., Anti-Plagiarism Strategies for Research Papers, 2012. [cit 2012-12-18] Dostupné na: HAUZÍREK M. Možnosti automatické detekce plagiátů [online]. 2012 [cit 2012-12-18]. Diplomová práce. Vysoká škola ekonomická v Praze. Dostupné na: CHLADIL, Petr. Metody odhalování plagiátů. Brno. Mendlova univerzita, Provozně 52
ekonomická fakulta, 2010. Vedoucí diplomové práce Mgr. Tomáš Foltýnek, Ph.D. JONÁK, Zdeněk. TEXTQUEST: software pro obsahovou analýzu. Ikaros [online]. 2000, roč. 4, č. 5 [cit. 18.12.2012]. Dostupný na: . URNNBN:cz-ik576. ISSN 1212-5075. KASPRZAK, Jan. Systems for Discovering Similar Documents [online]. 2010 [cit. 201212-18]. Rigorózní práce. Masarykova univerzita, Fakulta informatiky. Vedoucí práce Michal Brandejs. Dostupné na: . MICROSOFT CORPORATION, MSDN: Parsing JSON results [online]. Introducing Bing API [cit 2012-12-18]. Dostupné na OTTENSTEIN, K. J.: An algorithmic approach to the detection and prevention of plagiarism. In ACM SIGCSE Bulletin. 1976. s. 30. Dostupné na: . ISSN 0097-8418. PROGRAMMABLEWEB, Bing API [online]. API Directory, 2012 [cit 2012-12-18] Dostupný na: RUDD, Tavis. Python vs. PHP. In Webware for Python Wiki 2001 [cit 2012-12-18]. Dostupné na: SEZNAM.CZ s.r.o. Sémantická analýza textů (4) [online]. Blog Fulltextového týmu, 2011 [cit 2012-12-18] Dostupný na: SHLOMO, A. a kol.: Automatically Profiling the Author of an Anonymous Text, 2009. Communications of the ACM. [cit. 2012-12-18] Dostupné na: SIPSER, Michael. Introduction to the theory of computation. Boston: PWS Publishing Company, 1997 ISBN 0-534-95097-3 978-0-534-95097-2 SUCHOMEL, Šimon. Systems for online plagiarism detection [online]. 2012 [cit. 2012-1218]. Rigorózní práce. Masarykova univerzita, Fakulta informatiky. Vedoucí práce Michal Brandejs. Dostupné na: . ŠKROB Š., Seznam Fulltext [online]. Brno 2007 [cit 2012-12-18]. Dostupný na: VESELÝ, O. Javascriptový cluster [online]. 2010a. In IT tvorba [cit 2012-12-18]. 53
Dostupné na: VESELÝ, O. Gr, Třída v Pythonu pro práci s grafy [online]. 2010b. In IT tvorba [cit 201212-18]. Dostupné na: VESELÝ, O. Inovace informačního systému organizace Junák, Czech republic. 2009. s. 50. Vedoucí bakalářské práce Mgr. Ondřej Popelka WIKIPEDIE: Otevřená encyklopedie. Extensible Markup Language [online]. 2011a [citováno 3. 12. 2011]. Dostupný na: /cs.wikipedia.org/w/index.php? title=Extensible_Markup_Language&oldid=7546218> WIKIPEDIE: Otevřená encyklopedie. JavaScript Object Notation [online]. 2011b [citováno 3. 12. 2011]. Dostupný na: /cs.wikipedia.org/w/index.php? title=JavaScript_Object_Notation&oldid=7638629> WIKIPEDIE: Otevřená encyklopedie. SOAP [online]. 2011c [citováno 3. 12. 2011]. Dostupný na: /cs.wikipedia.org/w/index.php?title=SOAP&oldid=7307648> WIKIPEDIE: Otevřená encyklopedie. XML-RPC [online]. 2011d [citováno 3. 12. 2011]. Dostupný na: YAHOO! Inc.: Rate Limiting fo Yahoo! Search Web Services [online] 2012 [cit 2012-1218] Dostupný na:
54
7 Příloha 1 Ukázka testovacího vzorku generovaného komponentou Plagiátor Použitá klíčová slova pro vybrání tematicky souvisejících stránek Psychosomatické aspekty rozvoje osobnosti.
Webové stránky jejichž obsah mohl být použit k proložení originálního textu. http://www.damu.cz/katedryakabinety/katedravychovnedramatiky/archiv/alzbetadvorakova http://www.psychosomatic.cz/cz/ordinacemanualnimediciny http://web.fhs.utb.cz/? id=0_2_5_8&iid=17&lang=cs&type=0&PHPSESSID=ac7ec7e068051b0c168cbe60a994925b http://lekarskeknihy.cz/?id=8072544594 http://psychosomatika.cz/clanek/mgrkamilawalterova/ http://ratislavova.wordpress.com/2008/09/30/otazkykezkouscezpsychologiepas2/ http://www.anag.cz/zakladnipsychosomatickapece/d71568/ http://www.psychosom.cz/?page_id=1166 http://www.ikpcr.cz/kurzy/vlivystresuupsychosomatickychauzkostnychporuch/ http://members.upc.cz/petr_zacek/webservis/wiesner/info.html http://www.numerologiesuchardova.eu/kdojsem.php http://pedagogika.ff.cuni.cz/?q=node/20 http://powerfit.cz/psychologicke_aspekty_fitness.htm http://psychosomatika.cz/clanek/nekteremoznostipsychoterapievsomatickychoborech/ http://www.lekarskeknihy.cz/?id=9788073673093&p=3 http://www.asianrelax.cz/masaze/shiatsu/ http://www.ikantor.eu/cze/odborna/psychologieodborna.php http://www.uzs.tul.cz/modose/materialykvyucovanympredmetum/63klinickapsychologie1 http://is.muni.cz/predmet/fsps/podzim2006/nk001 http://www.damu.cz/katedryakabinety/katedravychovnedramatiky/diplomoveazaverecne prace/diplomovemagisterskeabakalarskepraceazaverecnepracerozsirujicihostudia obhajenenakatedrevychovnedramatikydamurazenipodlenametuatemat
Sestavený dokument Jedná se o léčbu přímého kontaktu rukou terapeuta a těla pacienta (léčivé doteky). Existuje velké množství metod, některé pracují přímo s tělem (anatomickými strukturami), jiné s energetickým polem a některé využívají schopnost kůže přenášet podněty do centrálního nervového systému a ovlivńovat tak funkci vnitřních orgánů. Kůže je důležitý smyslový orgán, pomocí kterého lze vyladit celé tělo a přispět tak k pocitu zdraví a pohody. vodem i zdrojem financí pro rozvoj infrastruktury. Vzbudit v občanech hrdost na svou vlast. K tomu přispívají projevy zájmu návštěvníků/turistů o danou oblast.
Získat odůvodnění a financování pro zlepšení místního životního prostředí. Snaha zlepšit politickou přijatelnost destinace pro lidi zvnějšku tím, že uvidí destinaci takovou, jaká skutečně je, nebo takovou, jakou ji vláda (místní správa) chce ukazovat turistům. (Zelenka, 2010) Uvedené obecné cíle mohou být pro cestovní ruch formulovány v kontextu udržitelnosti cestovního ruchu následujícím způsobem: Snížení se Psychoterapie (PT) je metoda ovlivňování nemoci převážně prostřednictvím komunikačních prostředků(1). Je přirozenou součástí vztahu lékař pacient od samého počátku těchto rolí
55
a nelze vyloučit, že je hlavní aplikovat strategie, které povedou nereflektovanou součástí léčebné potence k výraznější diferenciaci destinace a jejich lékaře(2). Zatímco ještě v minulém století produktů. Jedním ze způsobů možné mohla být PT rovnocennou neuvědomovanou diferenciace je propojení brand managementu složkou procesu léčby, integrovanou součástí (řízení systému kvality) osobnosti lékaře, s dalším rozvojem somatické s managementem kvality. Kvalita pro vybrané medicíny s důrazem na rozvoj materiálních a segmenty zákazníků je významným atributem technických součástí diagnostiky a léčby se jejich nákupního rozhodování. Strategii pro ni v procesu léčby dostává stále méně kvality navrhuje management destinace. Jsou místa(3). Rozvoj medicíny na konci minulého a vypracovávány standardy kvality a systémy počátkem tohoto století zaměřil svou certifikací. Tyto standardy kvality musí pozornost nejen somatickým směrem, ale také v plnit každý subjekt, který má zájem nabízet pracích Janeta, Charcota, Freuda, Junga a produkty pod regionální značkou kvality. Pro dalších lékařů směrem mnohem obtížněji udržení vysokého standardu je ne verifikovatelným ke zkoumání lidské psychiky(4). V obou metodologicky odlišných Přehled literatury oblastech výzkumu bylo dosaženo během celého století velkého pokroku. 30 zbytný průběžný monitoring (např. různé formy dotazování hostů, výzkum spokojenosti s se vyskytuje mnoho zajímavých živočichů. V úrovní služeb, kontrola jakosti produktů). lesích to jsou především různé druhy hmyzu (Hesková, 2006) (např. brouci, motýli aj.) či mravenec lesní. Co si lze přestavit pod pojmem kvalita: Ze savců je Kvalita je to, co si klient přeje, plus to, to např. jezevec lesní, kuna lesní, liška co může destinace klientovi nabídnout v rámci obecná, srnec obecný, prase divoké či diferencování a profilace svého produktu ve veverka obecná. Dominantní skupinou srovnání obratlovců jsou ptáci (např. káně lesní, s konkurenty. datel černý či sojka obecná). U stojaté vody Kvalita má v oblasti služeb cestovního ruchu se daří zejména vodnímu hmyzu. značně subjektivní charakter. (Naučné stezky, 2008; Regionální rozvojová Základem kvality je základní nabídka, resp. agent materiálnětechnická základna („hardware“). Faktor, Shiatsu je japonská léčebná technika, jež teoreticky vychází z principů tradiční čínské Aplikovan DV / Dramatickovchovn metody a medicíny. Pracuje s akupunkturními dráhami techniky v jinch pedmtechBOUEK, Martin: (meridiány) a body (tsubo) za účelem obnovení Dramatick vchova v didaktice djepisu vyuit přirozeného toku vitální energie (ki) a her dramatick vchovy ve vuce djepisuBROOV, nastolení energetické rovnováhy v těle. Vra: Vvojov promny przy Jana Nerudy. Vukov Shiatsu v doslovném překladu znamená tlak blok vbrovho literrnhistorickho semine pro 1. prsty – nejen pomocí tohoto tlaku, ale i ronk studia oboru esk jazyk a protahováním a dotykem uvádí Shiatsu do literaturaBUMERLOV, Jindika: Cesty k pohybu energii ki v meridiánech a tím celkově projektov maturitn zkouce z eskho jazyka a harmonizuje. Při ošetření se používá široká literatury (Komplexn pojet vuky humanitnch paleta technik – dynamické uvolňování pedmt s vyuitm prvk dramatick vchovy na VO a napjatých partií i klidné užití tlaku k SZe v Tboe)DVOKOV, Iva: Vyuit metod dramatick tonizaci prázdných míst v těle. Pracuje se vchovy ve vyuovn djepisu na tyletm prsty, dlaněmi, lokty, koleny i chodidly a gymnziuFIDLEROV, Klra: Ti setkn s terapeut využívá váhy celého těla. literaturou. Dramatickovchovn metody pi prci s literrnmi texty s ky niho gymnzia (bakalsk prce)HONSNEJMANOV, Ivana: Prezov tmata v projektech s vyuitm dramatickovchovnch oručení, i když se na první pohled neliší metodHRNEKOV, Anna: Rok 1968. Informace a kvalita nabídky „značkové“ emoce (bakalsk prce)JANSOV, Hana: Etick a „neznačkové“ destinace. vchova na Z CurieovchKAPAROV, Eva: Monosti Klient je ochoten za značkový produkt vyuit tvoiv dramatiky jako vchovn vzdlvacho zaplatit více než za neznačkový. principu na 1. stupni ZKUBECOV, Markta: m Značka znamená daleko účinnější nasazení a pohyb, hudba, literatura a vtvarn umn využití marketingového rozpočtu. (Palatková, obohacuj dramatickou vchovu?LSKOV, Dagmar: 2006) Prce s chlapci v dramatick vchov (zvren prce Na silně konkurenčních trzích je nutné roziujcho studia)LSKOV, Dagmar: Specifika
56
prce s chlapci v dramatick vchovLAANOV, Jednou z marketingových aplikací je i event Michaela: Uplatnn metod dramatick vchovy pi marketing, představující možnosti vuce etiny jako cizho jazykaMARUK, Radek: moderního trendu v cestovním ruchu spojeného Vyuit metod dramatick vchovy pi prci s textem s aktivními formami trávení v hodinch literrn vchovy v 6. ronku zkladn volného času (wellness). Lidské zdroje jsou koly [ukzky z prce publikovny v ploze Denku spojeny s rozvojem informačních Dtsk scny 01, Trutnov 2001]MOLKOV, Kateina: technologií, které využívají rezervační a Drama v rodinn vchovNEASOV, Markta: Metody dopravní informační systémy. dramatick vchovy jako cesta k rozvoji dtskho tenstvNMECK, Eva: Mravn vchova jako soust Přehled literatury obsahu dramatick vchovyOPLATEK, Frantiek: Inscenan proces se skupinou dvek dramatickho 31 krouku (bakalsk prce)OPLATKOV REZKOV, Kateina: Den, kdy se mi zmnil ivot: Vukov Základní znalost na úrovni managementu projekt pro ky devtch td Z zamen na obdob destinace tvoří Protektortu echy a MoravaPOVOLN, Ale: Rozvoj odborné znalosti v oblasti cestovního ruchu, tvoivosti prostednictvm zvukovch plnROSEN, sociální znalosti, které jsou významné pro Josef: Vyuovn djinm divadla technikami vytváření vzájemné spolupráce dramatick vchovy anebo Vyuovn dramatu rozdílných subjektů za účelem rozvoje dramatemSLAVKOV, Dagmar: Vyuit dramatick destinace, vchovy na prvnm stupni malotdn koly k znalosti teorie managementu a marketingu, propojen literatury, vlastivdy a vchovnch znalosti vnitřních a vnějších faktorů pedmtSOBKOV, Ivana: Projekt prce s romnem destinace, situační analýza. Karla apka Vlka s mloky na gymnziu (Vyuit Rozvoj odborných znalostí pro řízení povinn etby k vuce eskho jazyka, literatury, destinace je v současnosti založen na slohu, zklad spoleenskch vd, dramatick vchovy spolupráci s externími zdroji (např. s jakoto samostatnho pedmtu, vtvarn vchovy, různými typy sdružení cestovního ruchu, hudebn vchovy, djepisu, zempisu...)STONOV univerzit, poradenských organizací, PRANLOV, Hana: Dramatick metody ve vyuovn hospodářských komor). Management znalostí mediln vchovy SKOROV, Jaroslava: Vuka musí být spojen s využíváním informačních prezovho tmatu Vchova demokratickho obana technologií. Ke zkvalitnění regionálního, formou dramatick lekceOBOV, Kateina: Pprava národního a mezinárodního přenosu znalostí celoronho vukovho projektu pro 5. ronk Z s přispívají elektronické vyuitm metod a technik dramatick informační zdroje v podobě webových stránek vchovyVEJVODOV, rka: Vyuit literrn pedlohy destinací, elektronických rezervačních Joanne Rowlingov Harry Potter a kmen mudrc systémů, elektronického obchodování apod. pro mlad koln vk v kroskurikulrnm (Hesková, 2006) projektuZEMANOV, Jana: Propojen environmentln a dramatick vchovy na stedn koleKOV, Romana: Metodika práce Vyuit metod dramatick vchovy v tematickm okruhu "Lid a as" na I. stupni Z 32
4. Metodika práce Bakalářské práce je rozdělena na dvě hlavní jekty zapojené části. V první části Literárním do destinačního managementu. V souvislosti s přehledu jsou vymezeny a objasněny základní novými poznatky marketingového řízení se pojmy související s cestovním ruche rozvíjejí nové obory, které se využívají pro oblast rozvoje destinací.
Detekované zdroje 1. http://www.psychosomatic.cz/cz/ordinacemanualnimediciny 2. http://psychosomatika.cz/clanek/nekteremoznostipsychoterapievsomatickychoborech/ 3. http://www.asianrelax.cz/masaze/shiatsu/ 4. http://www.damu.cz/katedryakabinety/katedravychovnedramatiky/diplomoveazaverecne prace/diplomovemagisterskeabakalarskepraceazaverecnepracerozsirujicihostudia obhajenenakatedrevychovnedramatikydamurazenipodlenametuatemat
57