Zpráva o zhotoveném plnění Aplikace byla vytvořena v souladu se Smlouvou a na základě průběžných konzultací s pověřenými pracovníky referátu Manuscriptorium. Toto je zpráva o zhotoveném plnění. Autor: Ing. Tomáš Psohlavec, AiP Beroun s.r.o. Obsah Cíle projektu... 1 Dosažená Funkcionalita konvenční hledání... 1 Specifické funkce konvenčního vyhledávání... 3 Výsledky vyhledávání... 3 Dosažená Funkcionalita - porovnávání s uživatelským textem... 4 Technické předpoklady funkčnosti řešení... 4 Interakce s API pro porovnávání plných textů... 4 Požadavky na vstupní data (plné texty)... 5 Dostupnost aplikace... 6 Uživatelské rozhraní... 6 Web Services pro porovnání... 6 Závěr... 6
Cíle projektu Cílem projektu bylo vytvoření samostatné on-line prezentační databáze s uživatelským rozhraním, ve kterém budou zajištěny funkce vyhledávání nad plnými texty, jakož i funkce porovnávání uživatelského textu s plnými texty dostupnými v databázi. Záměrem řešení je zapojit do poloprovozu této databáze API projektu porovnávání plných textů historických dokumentů (dále jen API pro porovnávání), které pro tyto potřeby vytvářela v rámci institucionárního výzkumu Národní knihovna České Republiky. Cílem bylo vytvořit samostatně funkční databázi jako integrovanou součást souboru služeb, které Manuscriptorium nabízí koncovým uživatelům. To znamená, že databáze je vytvořena tak, že obslužné aplikace disponují vlastním uživatelským rozhraním a používají databázi struktury optimalizované pro plné texty a oddělené od ostatních databází systému Manuscriptoria. Zároveň to znamená, že uživatelské rozhraní je vizuálně shodné s prostředím Manuscriptoria a že v uživatelském rozhraní bude možno využívat fragmenty obsahu hlavních databází Manuscriptoria (například obrazy), jak je popsáno níže. Dosažená Funkcionalita konvenční hledání Obrázek 1: volba pro konvenční vyhledávání Aplikace zajišťuje vyhledávání na úrovni na úrovni fragmentů textu. Oproti předběžným analýzám, které uvažovaly vyhledávání na úrovni jednotlivých stran textu, je výsdledné řešení schopno vyhledávat na jemnější úrovni na úrovni jednotlivých odstavců textu. Indexovanými záznamy v databázi plných textů jsou tedy odstavce a vyhledaným elementem je odstavec. Odstavce jsou při indexaci sdružovány podle své délky do jednotlivých záznamů. Jedním záznamem je tedy jeden nebo několik málo odstavců. 1
Obrázek 2: výsledky vyhledávání Vytvořená aplikace však podporuje také zobrazování typu 1 záznam = 1 odstavec (pokud by data měla být v budoucnu indexována tímto způsobem. Testování aplikace však ukazuje, že aktuální způsob je optimální z hlediska výkonu i srozumitelné z hlediska práce uživatele). Analýza dostupného obsahu vyloučila možnost strukturovat databázi způsobem 1 záznam = 1 dokument, neboť součástí databáze mohou být i extrémně dlouhé dokumenty (například přepis bible). Při předání aplikace je k dispozici plnohodnotné fulltextové vyhledávání. Nicméně aplikace je vytvořena tak, že v případě potřeby lze vyhledávání omezit následujícími položkami (lze v případě potřeby konfigurovat i vytvářet další, zde nevyjmenované, vyhledávací položky). Očekáváme, že tato konfiguraci bude upravována dle zkušeností z poloprovozu (předpokládáme do 30. 6. 2012). Místní identifikátor Kód fyzického umístění Datum poslední modifikace Cesta k souboru Zkratka profilu Titul, Signatura, Knihovna Kód jazyka Text 2
Databáze podporuje vyhledávání ve variantních zápisech textů (různočtení) a to nejen v režimu vyhledávání samostatných slov, ale také v režimu slov v udaném pořadí a vzdálenosti. Obrázek 3: výsledek vyhledání s výskytem různočtení Specifické funkce konvenčního vyhledávání V souladu se zaměřením obsahu databáze a s ohledem na možné způsoby vzniku textových dat (ruční přepis, OCR a podobně) vyhledávání využívá specifické technologie: tolerance chybně přepsaných slov a grafemické vyhledávání. Tyto funkce žádoucím způsobem rozšiřují výsledky vyhledávání tím, že tolerují určitou míru chyb (tolerance - jeden chybný znak) nebo definované grafemické varianty zápisu (grafémy). Grafémy jsou konfigurovatelné a způsob jejich nastavení bude laděn za pomoci zkušeností a zpětné vazby od odborných uživatelů během poloprovozu. Výsledky vyhledávání Výsledkem vyhledávání, jak již bylo uvedeno, je seznam relevantních odstavců, ve kterých se hledané výrazy vyskytují. Možnost prolistovat textová data daného dokumentu jako celku po jednotlivých stránkách je zajištěna kontextovými odkazy, které využívají pokročilé zobrazení textových dokumentů v Manuscriptoriu (včetně například edic, poznámek, různočtení) a při zobrazení plného textu jsou kompletně převzata pravidla zobrazení, jak byla dosud využívána při zobrazení plných textů v Manuscriptoriu (návaznost na prototyp z VaV 2007). Prezentační databáze plných textů je vzájemně propojena s ostatními databázemi systému Manuscriptoria. To umožňuje propojit výsledky vyhledávání s ostatními informacemi v systému. Proto je po vyhledávání, kromě možnosti zobrazit plný text, k dispozici také kontextový odkaz vedoucí na existující popis či digitální kopii relevantního dokumentu. Je tak zajištěno simultánní zobrazení obrazových dat, pokud ta jsou pro daný dokument a jeho zobrazovanou stránku v Manuscriptoriu dostupná. Propojení opačným směrem, pokud jsou k popisům či faksimiliím k dispozici plné texty v databázi fulltextů, je také zajištěno. 3
Přestože systém pro dané informace používá oddělené databáze, procesy zpracování i aplikace, podařilo se zachovat podstatnou část vizuální podoby práce s plnými texty, pokud jde o jejich zobrazení a logiku uživatelského interface. Uživatel nepostřehne, že jeho požadavky nad příbuznými informacemi vykonávají dvě nezávislé obslužné aplikace. Dosažená Funkcionalita - porovnávání s uživatelským textem Cílem implementace bylo zprovoznit koncovým uživatelům vybrané základní funkce popsané ve Zprávě ke smlouvě Smlouva o spolupráci ve výzkumu a vývoji Zdokonalení virtuálního badatelského prostředí Manuscriptoria Využití srovnávání fulltextů pro vyhledávání v Manuscriptoriu z roku 2011, konkrétně porovnávání uživatelského textu s fulltexty aktuálně dostupnými v Manuscriptoriu. Aplikace byla vytvořena tak, že využívá API, které je dostupné jako Web Services. Uživatel má k dispozici interface umožňující vložit uživatelský text, který v Manuscriptoriu nemusí být obsažen a může požádat systém o nalezení podobností v plných textech, které v Manuscriptoriu obsaženy jsou. Uživatelským textem může být jak plain-text v UTF-8 vkládaný prostřednictvím formuláře v interface nebo XML validní dle XML schématu TEI P5 ENRICH schema. V souladu s možnostmi API pro porovnání plných textů jsou výsledky porovnání s daným uživatelským textem uživateli přehledně vizualizovány včetně informace o míře vzájemné shody. Pro danou dvojici podobných textů je možno vybrat detailní zobrazení, které srozumitelně vizualizuje podobnou část. Uživatel snadno může posoudit, zda podobný text je hledaným textem a může s ním dále pracovat pomocí obvyklých nástrojů Manuscriptoria. Technické předpoklady funkčnosti řešení Celé řešení předpokládá synchronizaci obsahu databáze plných textů a databáze, se kterou pracuje aplikace pro porovnávání plných textů. Databáze NKCatalog, se kterou pracuje aplikace pro porovnávání plných textů, bude do budoucna vhodnou formou přebírat data z databáze plných textů za účelem předzpracování a to včetně platných identifikátorů. Provoz - přebírání dat a work-flow aktualizace databází obou aplikací, bude dojednán v průběhu poloprovozu. V současnosti jsou připraveny exportní moduly, které fulltextová data připravují k importu do databáze, se kterou pracuje API pro porovnávání plných textů. Synchronizací obou databází je umožněno popsané řešení. Interakce s API pro porovnávání plných textů Mezi oběma aplikacemi jsou během porovnávání předávána nikoliv kompletní XML data, ale pouze identifikátory XML dat obsažených v obou databázích. Komunikace s API pro porovnávání je vedena pomocí Web Services a pro poloprovoz je bezestavová. 4
API podporuje dvě funkce: 1. Funkce, která vrací seznam podobných plných textů. Vrácen je seznam identifikátorů používaných v databázi plných textů, informace o míře shody pro každý identifikátor a dále veškeré další informace potřebné pro vizualizaci. Parametry funkce jsou následující: uživatelský text, jazyk, formát, maximální počet shod. 2. Funkce, která vrací informace o míře shody a podklady pro vizualizaci při porovnání dvou konkrétních textů. Není vraceno kompletní XML, ale podklady potřebné pro vizualizaci. Parametry funkce jsou následující: uživatelský text, identifikátor vybraného textu z databáze plných textů, jazyk uživatelského textu. Obrázek 4: Schéma systému Požadavky na vstupní data (plné texty) Aby byla umožněna základní funkčnost celého systému, musí platit následující: Vstupní data jsou předávána ke zpracování do Manuscriptoria ve formě XML, jednotlivé XML soubory jsou validní podle formátu TEI P5 ENRICH schema. Text ve vstupních datech je strukturován v souladu se schématem na úroveň odstavců textu. Každý plný text je opatřen identifikačními informacemi v souladu s obecně platnými minimálními požadavky systému Manuscriptorium (country, settlement, repository, idno v msdesc/msidentifier). Každý plný text je opatřen informací o jazyce textových dat. Pokud je v plném textu použito více jazyků, bude součástí metadat indikace jazyka dané části textu. 5
Dostupnost aplikace Uživatelské rozhraní Kompletní systém aplikací je v okamžiku předávání veřejně přístupný také jako služba na http://www.dbase.cz/manuscriptorium/apps/ftts/index.php. Na uvedeném URL bude služba přístupná do 31. 12. 2012. K 1. 1. 2013, po zapracování případných připomínek ze strany Zadavatele, přesune Řešitel aplikace i s databázemi na produkční servery systému Manuscriptorium, kde bude systém provozovat v souladu se Smlouvou. Aplikace bude dostupná odkazem z webového rozhraní systému Manuscriptoria. Web Services pro porovnání Web Sservices pro porovnání jsou dostupné pouze na základě domluvy s Národní knihovnou České republiky pro vyprané IP adresy. Závěr Vytvořená aplikace zatím završuje práci předchozích etap vývoje a výzkumu. Během poloprovozu budou sbírány informace, na jejichž základě může dále dojít k další optimalizaci, převedení do plného provozu nebo vývoji, v závislosti na zkušenostech odborných uživatelů aplikace. 6