CZ200164A3 - Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji - Google Patents

Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji Download PDF

Info

Publication number
CZ200164A3
CZ200164A3 CZ200164A CZ200164A CZ200164A3 CZ 200164 A3 CZ200164 A3 CZ 200164A3 CZ 200164 A CZ200164 A CZ 200164A CZ 200164 A CZ200164 A CZ 200164A CZ 200164 A3 CZ200164 A3 CZ 200164A3
Authority
CZ
Czechia
Prior art keywords
words
word
text
query
sequences
Prior art date
Application number
CZ200164A
Other languages
English (en)
Inventor
Knut Magne Risvik
Original Assignee
Fast Search & Transfer Asa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fast Search & Transfer Asa filed Critical Fast Search & Transfer Asa
Priority to CZ200164A priority Critical patent/CZ200164A3/cs
Publication of CZ200164A3 publication Critical patent/CZ200164A3/cs

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Vyhledávací systém pro vyhledávání informací zahrnuje datovou strukturu ve formé stromu přípon s nepravidelným rozptylem pro uložení přípon slov a (nebo) symbolů nebo jejich sekvencí v textu T a metriku M obsahující kombinaci metriky ediční vzdálenosti pro přibližnou míru shody mezi slovy a (nebo) mezi symboly nebo jejich sekvencemi v textu T a dotazem Q, přičemž uvedená metrika pro sekvence obsahuje vážené nákladové funkce pro operace editace, které transformují sekvenci S textu na sekvenci P dotazu Q, a vyhledávací algoritmy pro stanovení míry shody mezi slovy a (nebo) symboly nebo mezi jejich sekvencemi v textu T a dotazu Q, takže informace Rje vyhledána se stanovenou mírou shody s dotazem Q. Vyhledávací systém také obsahuje dle volby algoritmy pro stanovení přesné shody, takže informace Rje vyhledána s přesnou shodou s dotazem Q. Postup ve vyhledávacím systému zahrnuje vytvořeni datové struktury, jako je strom přípon s rozptylem po slovech, uložení informace o sekvenci slov v textu T ve vytvořeném stromu přípon, vytvoření kombinované metriky ediční vzdálenosti pro slova nebo jejich sekvence v textu T a slovo dotazu q nebo jeho sekvence v dotazu Q a zahrnuje i nákladové funkce vážení slov pro operace editace transformace sekvence a stanovení stupně shody mezi vyvolanou informací R a dotazem Q. Používá se ve stroji pro vyhledávání přibližné shody

Description

Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji
Oblast techniky
Vynález se týká vyhledávacího systému pro vyhledávání informací, zejména informací uložených ve formé textu T, přičemž text T obsahuje slova a (nebo) symboly a jejich sekvence, přičemž vyhledávání informací se provádí s danou nebo proměnnou mírou shody mezi dotazem Q, kde dotaz Q obsahuje slova a (nebo) symboly a jejich sekvence, a vyhledanou informací R obsahující slova a (nebo) symboly a jejich sekvence z textu T, přičemž vyhledávací systém zahrnuje datovou strukturu pro uložení alespoň Části textu T a metriku M, která měří míru shody mezi dotazem Q a vyhledanou informací R, přičemž vyhledávací systém využívá pro provádění vyhledávání vyhledávacích algoritmů, zejména pro fulltextové vyhledávání na základě klíčových slov kw, postupu ve vyhledávacím systému pro vyhledávání informací, zejména informací uložených ve formě textu, a text T obsahuje slova a symboly a jejich sekvence, přičemž vyhledávání informací se provádí s danou nebo proměnnou mírou shody mezi dotazem Q, kde dotaz Q obsahuje slova a (nebo) symboly a jejich sekvence, a vyhledanou informací R obsahující slova a (nebo) symboly a jejich sekvence z textu T, přičemž vyhledávací systém zahrnuje datovou strukturu pro uložení alespoň Části textu T a metriku M, která měří míru shody mezi dotazem Q a vyhledanou informací R, přičemž vyhledávací systém využívá pro provádění vyhledávání vyhledávacích algoritmů, zejména pro fulltextové vyhledávání na základě klíčových slov kw, přičemž informace v textu jsou rozděleny na slova a sekvence slov, kde slova jsou podřetězce celého textu oddělené členy ohraničeni slov a tvoří sekvenci symbolů a každé slovo je strukturováno jako sekvence symbolů.
Uvedený systém se také zabývá využitím vyhledávacího systému.
• Ί «, ··· ····
Dosavadní stav techniky
V paměti počítačových systémů je nashromážděno nepředstavitelné množství informací z různých oborů lidských znalosti. Protože se počítačové paměťové systémy stále více propojuji s veřejné přístupnými datovými komunikačními sítěmi, projevuje se sílící snaha o vývoj systémů a postupů pro vyhledáváni informací pro veřejné i osobní použití. Současné postupy pro vyhledávání dat však mají svá omezení, která vážně snižují možnost účinného vyhledávání a využívání takto uložených informací.
Informace lze ukládat ve formě různých typů dat, a v závislosti na vyhledávání informací bude proto výhodné rozlišovat dynamická data a statická data. Dynamická data jsou data, která se často a spojitě mění, takže soubor platných dat je v každém okamžiku jiný, zatímco statická data se mění jen velmi zřídka nebo vůbec. Velmi rychlým změnám podléhají např. ekonomická data, © · • · · · ·« »© jako je výše akcii, nebo meteorologické údaje, což jsou tedy dynamická data. Na druhé straně knihy a dokumenty uložené pro archívní účely jsou obvykle stálá, a tedy statická data. Koncepce nestálosti dat souvisí s tím, jak dlouho jsou informace platné. Proměnlivost dat má určitý vtřv na to, jak by informace mohly být vyhledávány. Velké objemy dat vyžadují určitou strukturu, která by podporovala vyhledávání, časové náklady potřebné k vybudování takové struktury však nesmí přesáhnout dobu, po kterou jsou data platná. Náklady na vybudování struktury závisí na objemu dat, a proto by pří budování datové struktury pro vyhledávání informací měl být brán v úvahu jak objem dat, tak jejích časová proměnlivost. Nashromážděné informace se ukládají v databázích, které mohou být strukturované, nebo nestrukturované. Databáze mohou navíc obsahovat několik typu dokumentů včetně složených dokumentů s obrazy, videoanimacemi, zvukem a formátovaným nebo komentovaným text. Konkrétní strukturované databáze jsou obvykle vybaveny indexováním, usnadňujícím vyhledáváni dat. Vývoj celosvětové počítačové sítě (Internetu) nabízí neustále rostoucí soubor složených dokumentů, vzájemně provázaných hypertextovými odkazy. Velká většina z nich není shromážděna ve strukturovaných databázích, a proto nejsou k dispozici indexy podporující vyhledávání. Potřeba prohledávání dokumentů na Internetu je zřejmá, a v jejím důsledku bylo vytvořeno množství tzv. vyhledávacích strojů, umožňujících vyhledávání alespoň části objemu informací na Internetu.
Vyhledávacím strojem obvykle rozumíme jednu nebo více pomůcek pro vyhledávání informací. Kromě řádného vyhledávacího systému obsahuje vyhledávací stroj také index, zahrnující např. text z velkého množství jednotných lokátorů zdroje (URL). Příkladem takových vyhledávacích strojů je Alta Vista, HotBot s technologií Inktomy, Infoseek, Excite a Yahoo. Všechny nabízejí možností pro vyhledáváni informací na Internetu. Jejich rychlost a účinnost však v žádném případě neodpovídá obrovskému množství informací na Internetu, a ani účinnost vyhledávání informaci těchto vyhledávacích strojů tedy v mnohém nenaplňuje očekávání.
Rozsáhlé skupiny textových dokumentů lze obvykle prohledávat pomocí několika typů dotazů. Nejobvyklejším typem dotazu je hledání shody a jeho varianty. Po stanovení klíčového slova nebo skupiny klíčových slov, které mají být přítomny ve vyhledávané informaci, jsou vyhledány všechny dokumenty, splňující tento požadavek. Základní postup vyhledávání vychází z tzv. shody s jediným klíčovým slovem. Vyhledává se klíčové slovo p a budou vyvdány všechny dokumenty obsahující toto slovo. Je též možné hledat předponu slova, • 9 • · ·····*· a·· ·*·· ·· ·« 99 9· p, a pak budou vyvolány všechny dokumenty, která mají tuto předponu v jakémkoli klíčovém slovu v dokumentu. Místo vyhledávání pomocí klíčových slov vychází vyhledávání někdy z tzv. hledání shody přesných frází, kde se pří vyhledáváni používá ndkofik samostatných Míčových slov v konkrétním pořadí. Jak odbornici dobře vědí, přesné srovnáni frází s Míčovými slovy u mnohých vyhledávacích systémů lze vykonávat užitím booleovských operátorů, např. ANO, OR, NOT, které umožňují filtraci informací. Použije-li se např. operátor AND, budou vyhledány všechny dokumenty obsahující obě Míčová slova spojená operátorem AND. Pro vyhledání právě těch dokumentů, u nichž se vyskytují Míčová slova, která jsou navíc umístěna v textu dokumentu v „malé vzdáleností“ od sebe, se používá také operátor NEAR. V mnohých strukturovaných databázích mohou být dokumenty obsažené v databázi komentované, např. vybavené poli označujícími určité částí nebo typy informací v dokumentu. To umožňuje vyhledávání shodných prvků pouze v částech dokumentů a je vhodné tehdy, když je typ vyhledávaných informací znám předem.
Při prohledávání textových dokumentů jsou data strukturována a budou nejčastějí v některém běžném jazyce, např. v angličtině nebo v norštíně. Při pohledáváni dokumentů v určitém kontextu je možné aplikovat metriku přiblížení (metriku proximity) pro hledání shody s klíčovými slovy nebo frázemi, která dotazu vyhovují jen přibližně. Povolení chyb v klíčových slovech a frázích je běžnou metodou přiblížení. Další obvyklou metodu je použití tezauru. Vyhledávání pomoci přiblížení vyžaduje pouze částečnou shodu mezi vyvolanou informací a dotazem. Mezinárodně zveřejněná patentová přihláška W096/00945 s názvem „Variable length data sequence matching method and apparatus“ (Postup a přístroj pro porovnání datových řetězců různých délek], (Doringer & at.) pňdělená společností International Business Machines, Corp., se zabývá výstavbou, údržbou a využíváním databáze se strukturou stromového typu pro ukládání zadávaných dat a vyhledávání alespoň částečné shody, přednostně nejdelší částečné shody nebo všech částečných shod ve vyhledávacím argumentu (vstupním Míči) ze zadávaných vstupů.
• · · • « 4 4 · φ · e « · • · 4 4 · Φ * φ· · Φ·Φ «4 ·· 44
Κ dalšímu vysvětlení dosavadního obecného stavu techniky lze zmínit mezinárodně zveřejněnou patentovou přihlášku WO92/15954 (KimbaH & al., přidělenou Red Brick System, USA) a patent Spojených států £. 5627748 (Baker & al., přidělený Lucent Technologies, Inc., USA), které popisuji datové struktury ve formě stromů přípon pro vyhledávání a hledání shody ve čtvercové matici. Žádná z těchto dvou publikaci se nezabývá ničím, co by překračovalo rozsah běžného stromu přípon, kromě použiti seznamu propojeného odkazy pro hledání shody, ani nevysvětluje a nenavrhuje přístupy k omezení vyhledávacího prostoru při hledáni přibližné shody. Takové postupy by však byty nanejvýš žádoucí při aplikaci datových struktur na základě stromů přípon na vyhledáváni, zejména na hledáni přibližné shody u extrémně velkých objemů dokumentů, jaké se vyskytují na Internetu.
Podstata vynálezu
Hlavním cílem vynálezu je tedy poskytnout vyhledávací systém a postup pro rychlé a účinné vyhledávání informací ve velkých objemech dat. Cílem vynálezu je zejména poskytnout vyhledávací systém vhodný pro využívání • · • · · • · ······· ··· ♦· ·· *· ·· vyhledávacích strojů pro prohledávání informačních systémů s rozloženými uloženými daty velkých objemů, jako je např. Internet. Je třeba mít na paměti, že vyhledávací systém podle vynálezu se v žádném případě neomezuje na vyhledáváni informací uložených ve formě alfanumerických symbolů. Stejně tak jej lze použit pro vyhledávání informací uložených ve formě digitalizovaných obrazů a grafických symbolů, protože pokud jsou zde používané slovní texty plně nebo částečně ve formě symbolů, mohou být též interpretovány jako obrazy. Mělo by být také zřejmé, že vyhledávací systém podle vynálezu lze realizovat jako softwarový systém ve vhodném vyšším programovacím jazyku v komerčně dostupných počítačových systémech, ale lze jej též vytvořit jako výhradní zařízení s procesorem pro vyhledávání informací výše uvedeného typu.
Výše uvedené cíle a výhody se realizují podle vynálezu vyhledávacím systémem, který se vyznačujíce tím, Že datová struktura obsahuje stromovou strukturu ve formě stromu přípon s nepravidelným rozptylem ST(7) pro ukládání přípon slov a (nebo) symbolů a jejich sekvenci v textu T, te metrika M obsahuje • · · ·· ·· kombinaci metriky ediční vzdálenosti pro přibližnou míní shody mezi slovy a (nebo) symboly v textu T a dotazem Q a metriky ediční vzdálenosti pro přibližnou míru mezi sekvencemi S slov a (nebo) nebo symbolů v textu T a sekvenci dotazu P slov a (nebo) symbolů v dotazu Q, přičemž druhá uvedená metrika ediční vzdálenosti obsahuje vážené nákladové funkce pro operace editace, které transformuji sekvenci 5 slov a (nebo) symbolů v textu T na sekvenci P slov a (nebo) symbolů v dotazu Q; přičemž vážení probíhá s hodnotou úměrnou změně délky sekvence při transformaci nebo v závislosti na velikosti slov a (nebo) symbolů v porovnávaných sekvencích, že používaný vyhledávací algoritmus zahrnuje první algoritmus po stanovení míry shody mezi slovy a (nebo) symboly ve stromovém modelu přípon textu T a dotazu Q a druhý algoritmus pro stanoveni míry shody mezi sekvencemi slov a (nebo) symbolů ve znázornění stromu přípon textu T a dotazu Q, přičemž uvedený první a (nebo) druhý algoritmus prohledává datovou strukturu dotazy Q ve formě slov, symbolů, sekvencí slov nebo sekvencí symbolů nebo jejích kombinací, takže informace R je vyhledávána na základě dotazu Q se stanovenou mírou shody mezi informací a dotazem, a že vyhledávací algoritmy také volitelně zahrnují třetí algoritmus pro stanovení přesné shody mezi slovy a (nebo) symboly ve znázornění stromu přípon textu T a dotazu Q a (nebo) čtvrtý algoritmus pro stanoveni přesné shody mezi sekvencemi slov a (nebo) symbolů ve znázornění stromu přípon textu T a dotazu Q, přičemž uvedený třetí a (nebo) čtvrtý algoritmus prohledává datovou strukturu dotazy Q ve formě slov, symbolů, sekvencí slov nebo sekvencí symbolů nebo jejich kombinací, takže informace R je vyhledávána na základě dotazu Q na přesnou shodu mezí informací a dotazem.
Ve výhodném provedení vyhledávacího systému podle vynálezu má strom přípon ST(T) formu stromu přípon s rozptylem po slovech SST^T)1, který obsahuje pouze podmnožinu přípon v textu T.
1 Posti, překí: Jednotlivě druhy stromů př(pon a další pojmy specifické pro popis vynálezu budou definovány dále v textu.
*+συ ' • 99
9999 9 9 9 • 99 9999 99 99 99 999
Strom přípon s rozptylem po slovech SSTw,(7) je pak přednostně stromem přípon s rozptylem po klíčových slovech SST^T).
V dalších výhodných provedeních vyhledávacího systému podle vynálezu se první algoritmus pro stanovení míry shody klíčového slova ve stromu přípon s rozptylem po klíčových slovech SST^/T) realizuje tak, jak popisuje závislý nárok 4, druhý algoritmus pro stanoveni míry shody sekvence ve stromu přípon s rozptylem po Míčových slovech SST^T) se realizuje tak, jak popisuje závislý nárok 5, přičemž subrutina druhého algoritmu se přednostně provádí tak, jak popisuje závislý nárok 6, třetí algoritmus pro zjištění přesné shody klíčového slova ve stromu přípon s rozptylem po klíčových slovech SST^T) se realizuje tak, jak popisuje závislý nárok 7, a konečně čtvrtý algoritmus pro stanovení přesné shody sekvence klíčových slov ve stromu přípon s rozptylem po klíčových slovech SST^T) se realizuje tak, jak popisuje závislý nárok 8.
Výše uvedené cíle a výhody se také podle vynálezu realizují postupem, který se vyznačuje vytvořením datové struktury jako stromu přípon s rozptylem po slovech SSTw,(T) textu T pro znázornění všech přípon začínajících v textu T u symbolu oddělovače slov; uložením sekvence informací o slovech v textu T ve stromu přípon s rozptylem po slovech SSTW(7); vytvořením kombinované metriky ediční vzdálenosti M obsahující metriku ediční vzdálenosti D(s,g) pro slova s v textu T a slovo dotazu q v dotazu Q a metriku ediční vzdálenosti v závislosti na velikosti slova Dw»($,F) pro sekvence S slov v textu T a sekvenci P slova q v dotazu Q, přičemž metrika ediční vzdálenosti D^S.P) je minimální součet nákladů na transformaci sekvence S na sekvenci P a minimální součet nákladů je minimálním součtem nákladových funkcí pro každou operaci editace, váženým parametrem úměrným změně celkové délky sekvence S nebo poměru současné • 9
9 • 9 9 9 9 9 9 » ·
9999 ·· 99 99 999 délky slova a průměrné délky slova v sekvencích S; P; a stanovením míry shody mezi slovy s, q výpočtem ediční vzdálenosti D(s,q) mezi slovy s vyhledané informace R a slovem q dotazu Q nebo, jsou-li slova s,q vzdálena od sebe více než k chyb, stanovením míry shody mezi sekvencemi slov Sr, Pq vyhledané informace R a dotazu Q výpočtem ediční vzdálenosti pro všechny shody.
Je výhodné, že postup podle vynálezu dále zahrnuje vážení operace editace, která mění slovo $ na slovo p s parametrem přiblížení mezi znaky slov s;q, čímž je brána v úvahu podobnost stov s;q, ph určováni nákladů na příslušnou operaci editace.
V dalším výhodném provedení postupu podle vynálezu je ediční vzdálenost D(s,q) mezi slovy $ a slovem q definována rekurzívně, ediční vzdálenost D($,q) je počítána pomocí dynamického programování a ediční vzdálenost Dm(S,P) mezi sekvencemi S a sekvencí P je proto definována rekurzívně a ediční vzdálenost D^S,P) počítána pomocí dynamického programování.
Podle vynálezu lze výše uvedených cílů a výhod také dosáhnout užitím vyhledávacího systému podle vynálezu ve stroji pro přibližné vyhledávání.
Přehled obrázků na výkresech
Vyhledávací systém a postup podle vynálezu bude nyní v dalším textu podrobněji rozebrán s ohledem na doprovodné výkresy.
Obrázek 1 znázorňuje příklad stromu přípon.
Na obrázku 2 je přiklad stromů přípon s rozptylem po slovech, jak se používají u tohoto vynálezu.
Obrázek 3 je příklad tzv. PATRICIA trie, jak je znám podle dosavadního stavu techniky.
Na obrázku 4 je další příklad stromu přípon s rozptylem po slovech, který se používá u tohoto vynálezu.
Na obrázku 5 je příklad explicitně uložené informace o sekvenci slov, která se používá u tohoto vynálezu.
Na obrázku 6 je struktura koncového uzlu používaná u vynálezu a obrázek 7 schematicky znázorňuje strukturu vyhledávacího stroje pro vyhledávací systém podle vynálezu.
-6as « »·« ···· ·· ·* ·*
Příklady provedeni vynálezu
Vyhledávací systém podle vynálezu se skládá ze tří hlavních částí, konkrétně z datové struktury, metriky pro vyhledávání přibližné shody a vyhledávacího algoritmu. Když je cílem fulltextové vyhledáváni, což bude pro vyhledávací systém podle vynálezu v zásadě vždy platit, pak bude celý datový soubor, který bude možno vyhledat, uložen v datové struktuře, podporující vysoký výkon dotazování.
Nejprve budou rozvedeny základní myšlenky, z nichž vynález vychází. Uložené informace ve formě textu T jsou rozděleny na slova a sekvence slov. Slova jsou podřetězce celého textu oddělené členy ohraničení textu. Množina členů ohraničení slov je označena ST^. Společná množina členů ohraničení slov může být množina {' 7, V', Τη', Λ0', 7, 7, ?}, kde \t označuje znak tabelátoru, \n označuje znak nové řádky a \0 označuje konec dokumentu. Ve spojení s následujícím popisem vynálezu se toto bude hodit u některých definic řetězců a sekvencí.
Definice 1: Řetězec
Řetězec je sekvence abecedních symbolů, např. znaků ASCII. Délka řetězce je pak počet výskytu symbolů nebo znaků obsahujících řetézec a označuje seMá-li x délku m, lze řetézec také zapsat jako x1x2..,xi...xni, kde x,představuje ř-tý symbol v řetězci.
Podřetězec x je řetězec daný souvislou skupinou symbolů v rámci x. Podřetězec tak lze získat z x vynecháním jednoho nebo více znaků z počátku nebo konce řetězce.
Definice 2: Podřetězec, přípona a předpona
Podřetězec x je řetězec x/ = x, xi+i.. .x; pro 1 < i <n. Řetézec x, « x« xh. λ, je příponou řetězce x a řetězce xy = x/ = xfx2.. .x7 je předponou řetězce x.
Sude se také používat označení sekvence slov.
Definice 3: Sekvence slov
Sekvence slov je sled samostatných po sobě jdoucích slov. Sekvence slov S = s7, sa..$„ se skládá z n samostatných slov (nebo řetězců) Si,s2 až sn.
Sekvence slov jsou omezeny členy ohraničení sekvence. Množina členů ohraničení sekvence je označena BT^. Společná množina členů ohraničení • ···· · · * · *
7· e · · · φ * · · * ·*♦ ···· ·· ·· φφ · sekvence by mohla být množina {'0)7, kde \0 označuje znak pro konec dokumentu.
Koncepci vyhledáváni přibližná shody slov lze vysvétiít následovně.
Nechť je dán řetězec $ = s,s?...sn a podmínka dotazu qfá. ..qm. Pak bude úkolem nalézt všechny výskyty q v $, která jsou nejvýše k chyb od původního hledaného termínu q. Metrika přiblížení stanovuje, jak počítat chyby mezi q a potenciální shodou s,·.. .$?
Běžná metrika pro hledání přibližné shody slova je Levensteinova vzdálenost či ediční vzdálenost (V. I. Levenstein, Binary codes capable of correcting deletions, insertions and reversals [Binární kódy pro korekce pň odebírání, přidání a reverzi prvků], (Russian) Doklady Akademii nauk SSSR, roč. 163, č. 4, s. 845-8 (1965); též Cybemetícs and Control Theory, roč. 10, č. 8, s, 707-10, (1966)}. Tato metrika je definována jako minimální počet operací editace potřebných k transformaci jednoho řetézce na jiný. Operace editace je definována některým z pravidel pro přepis, např.:
• (a -> ť), odebrání prvku • (¢--+ a), přidávání prvku • (a -+ ó), změna prvku
Nechť pam jsou dvě slova o velikosti / a j. Pak D(i,j) označuje ediční vzdálenost mezi ktou předponou p a }~tou předponou m. Ediční vzdálenost lze pak rekurzívně definovat jako:
D(/,0) = D(0,/)«;
f D(/-1,j) + 1
D{/j) = min| 0(/,/-1) + 1 (1) lD(/-1,/-1) + 8(/,/) kde
8(ý)B 0, je-li pi - ny, v ostatních případech 1
Přibližnou shodu je také možno definovat na úrovni slov v sekvenci slov, což lze popsat následovně.
Nechť je dán text 7, skládající se z n slov Wi,w2...wn, kde každé ze slov je řetězec znaků. Vzor sekvence P se skládá z m slov p7l p2,~,Pm· Vzor sekvence P má tzv. přibližný výskyt v T, pokud se sekvence p1t Pz-Pm liěí maximálně o k chyb od sekvence wit pro určitá ijtak, aby 1 ri <jrn. Způsob výpočtu počtu chyb mezi oběma sekvencemi opět určuje metrika přiblížení.
• * ·
-8Text, který bude vyhledán, musí být ve vyhledávacím systému indexován způsobem, který umožňuje prohledávání dat. V důsledku toho má datová struktura formu datové struktury jádra vyhledávacího systému podle vynálezu a vychází z tzv. stromů přípon, zejména z rozptýleného stromu přípon. Oba tyto typy struktur budou definovány v následujícím textu. Strom přípon S(7) je stromová struktura všech možných přípon v textu T. Všechny unární uzly ve stromu přípon S(7) jsou spojeny se svým následníkem tak, že vzniká kompaktní celek.
Obrázek 1 znázorňuje strom přípon pro text T = „structure“.
V ještě konkrétnějším smyslu vychází vynález z rozptýlených stromů přípon. Ty zavedl J. Karkkainen a E. Ukkonen v práci „Sparse Suffíx Trees* [Rozptýlené stromy přípon], Proceedings of Second Annuaí International Computing and Combinatorics Conference (COCOON '96), Sprínger Verlag, s. 219-230, která je dále založena na koncepci D. R. Morrisona PATRICIA Practical Algorithm To Retrieve Information Coded in Alphanumeric [PATRICIA Praktický algoritmus pro vyhledávání informací kódovaných v alfanumerických znacích], Journal of the ACM, 15, s. 514 - 534 (1968). Rozptýlený strom přípon je definován následovně.
Definice 4: Rozptýlený strom přípon
Rozptýlený strom přípon SST(7) textu T je strom přípon obsahující pouze podmnožinu přípon vyskytujících se ve stromu přípon ST(7) textu.
Použije-li se vyhledávací systém podle vynálezu pro hledání celých slov, lze výhodné vytvořit strom přípon s nepravidelným rozptylem tak, že se uloží přípony, začínající pouze na hranicích slova. Pojem strom přípon s rozptylem po slovech je definován následovně.
Definice 5: Strom přípon s rozptylem po slovech
Strom přípon s rozptylem po slovech SST^T) textu Tje rozptýlený strom přípon SST(7) obsahující pouze přípony začínající na znaku oddělovače slov v textu.
Obrázek 22 znázorňuje dva příklady stromů přípon s rozptylem po slovech. Pro vyšší srozumitelnost byly vynechány části přípon. Strom přípon s rozptylem po slovech pro text T ~ „to be the besť* je na obrázku 2 struktura na 2 Pozn. překl.: Slovní řetězec na obr. 2 ai 4 je nutno ponechat v originálním znění v angličtině, v překladu by výkladpozbyl logického smyslu. Viz odebíráni Jednotlivých písmen ve stavbě stromu podle definice.
-9• 4 · 4444
4 levé straně a T = „to make the onfy major modifícations* je struktura na pravé straně.
Ve vyhledávacím systému podle vynálezu je text přirozeným způsobem rozdělen na slova, která jsou nezávisle uložena ve stromu přípon s rozptylem po slovech. Protože nedělitelným jádrem vyhledávaného pojmu je slovo samo o sobě, je výhodné, aby každá přípona končila na konci slova. Tím se rozptýlený strom přípon zredukuje na tzv. PATRICIA trie (podle Morrisona, viz citace). Slovo .trie“, jak je definováno v literatuře, označuje strom s kořeny, u něhož každý uzel, kromě kořene, obsahuje abecední symbol a žádní dva následníci téhož uzlu neobsahuji stejný symbol. Měli bychom uvést, že slovo „trie“ je odvozeno ze slova „retrieval3 a označuje tedy, že „trie“ je stromová struktura vhodná pro vyhledávání dat. Pojem PATRICIA trie je definován jako strom přípon s rozptylem po klíčových slovech (KWS strom), kde jsou přípony uložené v koncových uzlech omezeny oddělovači klíčových slov. Příklad PATRICIA trie pro množinu klíčových slov f avoíď, “abuse, “be, “become, “breathe*, “say*} je znázorněn na obrázku 3. Struktura používaná ve vyhledávacím systému podle vynálezu se tiší od PATRICIA trie, protože ve vyhledávacím systému se explicitně ukládají informace o sekvenci slov. Ke sníženi délky přípony je třeba změnit zobrazeni koncového uzlu. Ukazatelé na původní text budou nahrazeny přímo řetězcem pňpony. Sníženi délky přípony tohoto druhu je znázorněno na obrázku 4 pro stejné dva řetězce jako na obrázku 2. Řečeno jinými slovy, obrázek 4 znázorňuje strom přípon s rozptylem po slovech s příponami oddělenými na hranicích slov. Strom přípon s rozptylem po slovech pro T = „to be the besr je znázorněn na levé straně obrázku a strom přípon s rozptylem po slovech T = „to make the only major modifícations“ je znázorněn na pravé straně obrázku. Koncový uzel bude obsahovat výčet všech pozic, kde se slovo zobrazené v koncovém uzlu vyskytuje.
Místo používání implicitních sekvencí informací nalezených v původním textu se ve vynálezu ukládají informace o sekvenci explicitně ve stromu přípon s rozptylem po slovech. K tomu slouží ukazatelé mezi koncovými uzly, které zobrazuji následující slova v původním textu. Protože jsou k dispozicí alespoň všechny výskyty slova, zobrazeného v daném koncovém uzlu, musí být připojen ukazatel k následujícímu koncovému uzlu.
Koncový uzel obsahuje pouze příponu slova, které představuje, takže při posuvu po ukazatelích sekvenci se ve výčtu výskytu zobrazují jen přípony každého z po sobě jdoucích slov. To se realizuje ukládáním celého slova v
-10» v * v · » * • · · · · · 4 « · * · · « · φ 4 4 ·· ♦ ♦·· ·· ·» ·♦ ··♦ koncovém uzlu místo pouhé přípony, takže se datové struktura podle vynálezu v tomto ohledu liší od PATRICIA tne. Datová struktura pro explicitně uloženou informaci o sekvenci slov s výčtem výskytů s ukazateli na další následující slovo a jeho výskyt je znázorněna na obrázku 5.
Vyhledávací systém podle vynálezu využívá systému PATRICIA tne pro sestavování výčtu výskytu (Morrtson, citováno výše). Systém PATRICIA tne umožňuje, aby vyhledávací systém přistupoval do výčtu všech po sobě následujících slov shodných s řetězcem ps v čase O(Jpzj), kdefp2Jje délka p2. Užitím systému PATRICIA trie k organizaci výčtu výskytu lze získat kompletně definovanou stromovou strukturu pro ukládáni slov z textu a správu informací o sekvenci. Typický koncový uzel u systému PATRICIA tne pro organizovaný výčet výskytu i netříděný výčet výskytu navic je znázorněn na obrázku 6. Příkladem paměťového požadavku na výčet výskytu, který se používá ve vyhledávacím systému podle vynálezu, je databáze s asi 742358 dokumenty mající celkem 333856744 slov a lexikon 538 244 dalších slov. Celková velikost databáze je 2054,52 MB. Průměrná délka slova je tedy 6,45 bytu. Rozptýlený strom přípon bude využívat 8 bytů pro každý vnitřní uzel s 32-břtovými ukazateli. Předpokládá se, že pro každé slovo se použiji v průměru 3 vnitřní uzly. Koncový uzei by pak potřeboval 6,45 bytu pro uloženi celého slova plus 32 bitů pro ukazatel na výčet výskytu. Při objemu 34,45 bytu/slovo je celková velikost 18,108 MB. Výčet výskytu má kromě toho velikost 4 byty na jeden vstup a 12 bytů, používáni se plná verze. Celkové paměťové požadavky na výčet výskytu se proto různí, od 1273 MB do 3820 MB. Datová struktura používající rozptýlený strom přípon bude mít velikost mezi 60% až 200% původního textu. To je srovnatelná s požadavky invertovaného souboru, avšak rozptýlený strom přípon, který se používá ve vyhledávacím systému podle vynálezu, umožňuje daleko rychlejší vyhledávání, zjištěni přibližné shody a usnadňuje hledáni shodných sekvenci.
Při vyhledávání přibližné shody se používá metrika, která udává velikost chyby možná shody. Ve vyhledávacím systému podle vynálezu se uplatňuje několik metrik, a zejména specifická kombinace metrik. Tyto metriky spolu se složenou metrikou budou podrobněji popsány v následujícím textu.
Metrika ediční vzdálenosti, jak je definována výše, umožňuje operaci odebrání, přidání a změny prvku, a je vhodné pro slova i pro znaky. Mezi běžné chyby při hledání shody frázi patří chybéjicf, nadbytečná nebo změněná slova. Metrika ediční vzdálenosti, jak byla definována dříve, bude muset být (Vy)hledáni (informaci).
-11 • ·« *·©« pňzpúsobena a rozšířena tak, aby jí bylo možno použít pro vyhledávání přibližné shody sekvence slov. Operace editace pro sekvence jsou definovány níže.
Definice 6: Operace editace pro sekvence
Pro transformaci jedné sekvence S slov na jinou sekvenci P slov lze operace editace umožněné na slově v sekvencích zapsat podle následujících pravidel pro přepis:
• (a-+ ε), odebrání slova a ze sekvence • (ε-> a), přidání slova a do sekvence • (a-> b), změna slova a na slovo b • (ab -> ba), transpozice sousedních slov a a b
Místo jednotek znaků, používá vyhledávací systém podle vynálezu operace editace pro slova, která by pak mohla být považována za operační jednotky.
Nákladová funkce (x y) je konstanta, která je definována jako Kapi,y) odebírání přidávání transpozice změna (2) kde d(x,y) je definováno jako (0 x = y (3) v ostatních případech
Užitím operací editace, jak jsou definovány výše, lze nyní definovat ediční vzdálenost pro sekvence.
Definice 7: Ediční vzdálenost pro sekvence
Metrika ediční vzdálenosti pro sekvence definuje vzdálenost Ο„^$,Ρ) mezi sekvencí S » Si,Sg,...s0 a sekvencí P = p1t p2,..., pm jako minimální součet nákladu c (x -> y) na sekvencí operací editace pří transformaci sekvence S na sekvenci P.
Vyhledávací systém podle vynálezu podporuje metriku ediční vzdálenosti pro sekvence s vážením nákladů na operace editace podle velikosti slov, s nimiž se pracuje.
-12·· · ·»··
Definice 8: Ediční vzdálenost pro sekvence závislá na velikosti slova
Ediční vzdálenost pro sekvence závislá na velikosti slova je definována jako minimální suma nákladů na operace editace potřebné k transformaci jedné sekvence na druhou. Nákladové funkce jsou závislé na velikost) slova příslušných operandů.
V systému vyhledávání podle vynálezu je definice nákladových funkcí dána rovnicemi;
V
C/nsert (s-*a) = —~ /
M
Cd«M«(a —> ¢) = ~ (4) /
Ctn^ab ->ba) = 1 max(|aj-j4ř)
Cch«nfl»(e —>b) “ /
kde I označuje průměrnou délku slova ve dvou porovnávaných sekvencích. Náklad na každou operaci editace je vážen velikosti úměrnou změně celkové délky sekvence nebo poměrem délky příslušného slova a průměrné délky slova v daných sekvencích.
Nyní bude metrika vzdálenosti odrážet předpoklad určitého vztahu mezi délkou slova a tím, jak důležité je slovo ve významovém kontextu sekvence slov. Vyhledávací systém podle vynálezu uplatňuje dále při použití editace na základě změny (a b) přiblížení na úrovni znaku. Nahrazení slova a jiným slovem b by mělo mít vztah k podobnosti obou těchto slov. Nová nákladová funkce pro editaci ve formě změny je dána tímto:
max {J/oJ-Jty /)
Cchangtfa b) — dapproxfab) .....*J'........... — (5)
I kde dw»fab)s D(a,b) (6)
Kde D(a,b) je normalizovaná funkce měřeni ediční vzdálenosti pro slova, přičemž 0 znamená plnou podobnost, 1 znamená žádnou podobnost.
• · · * · ·
-13• · • · ····
Vyhledávací systém podle vynálezu zahrnuje kombinaci metriky ediční vzdálenosti pro sekvence s nákladovými funkcemi danou rovnicemi (4), (5) a (6) s metrikou ediční vzdálenosti pro slova danou rovnicí (1). To znamená, že operace ediční vzdálenosti se používal jen tehdy, když porovnávaná slova jsou od sebe vzdálena o vlče než k chyb.
Algoritmy používané ve vyhledávacím systému podle vynálezu provádějí efektivní prohledávání popsaných struktur. Shoda se vyhledává na zákJadé výše popsaných metrik.
Vyhledávání přibližné shody ve stromu přípon s rozptylem po slovech se provádí na základě kombinace výpočtu matice ediční vzdálenosti a průchodu stromem přípon. Příslušný algoritmus je zapsán v pseudokódu a je uveden v tabulce 1.
Tento algoritmus je převzat z algoritmu pro vyhledáváni shody, jak jej navrhují Shang a T. H. Merrettal, „Tries for Approximate String Matching“ [Vyhledávání přibližné shody řetězců], IEE Transactions on Knowledge and Data Engíneering, roč. 5, č. 4, s. 540 až 547 (1996). Očekávaná doba provádění algoritmu bude podle Shanga a Merrettala (jak je citováno výše) v nejhorším případě Ο(Α^Σ|*).
K nalezeni přibližné shody sekvence slov je třeba vypočítat ediční vzdálenost sekvence slov pro všechny možné shody. Počet možných shod lze však omezit tak, že výpočet ediční vzdálenosti bude začínat pouze na možných slovech. Náklady na odebrání slova ze sekvence určují počet možných počátečních slov. Vzrostou4i souhrnné náklady na odebráni i prvních slov v sekvenci dotazu PQ nad danou prahovou hodnotu, nemůže být sekvence, přicházejíc! v úvahu a začínajíc! i-tým slovem dotazu, vhodnou shodou. Pro sekvenci dotazu PQ i slov bude proto vyhledáno nejvýše i možných počátečních slov. Protože ve struktuře sekvence stromu nejsou žádné zpětné ukazatele, není zajištěno, že budou získány všechny možné shody. Tento problém by vyřešilo připojení zpětných ukazatelů. Algoritmus pro přibližnou shodu sekvence slov, který se používá ve vyhledávacím systému podle vynálezu, je uveden v pseudokódu níže v tabulce II. Tento algoritmus vyhledává shodu prvního klíčového slova postupně s p1t p2..., přičemž zkouší všechny možné výchozí pozice.
V algoritmu vyhledáváni přibližné shody ApproxSequenceMatch v tabulce II je tabulkou III definována funkce ApproxMatchRest. Tato funkce hledá užitím hodnoty počáteční chyby shodu pro zbytek sekvence.
-149 9 • 9
Tabulka I
FindApproximate (root,p,k) node zoot ; i i ;
nodes +- Children (node); // Zásobník uzlů for all v e nodes do if IsLeaf (v) then for j +- i to length (Suffix(node)) do Wj <- Suf fix (node)j<;
if w;i = '$' then //' $ 'je stopznak output return;
if EditDist (i) = « then break;
eiee ti Vnitřní uzel i *- i+l;
Wt +- label (v) if EditDist (i) =oo then break;
nodes 4- Children (v) u nodes;
//konec pro
EditDistance (j) // Počítá j-tou řadu for i <- 1 to length (P) do if Pí · Wj then d 0 elae d +- 1;
Cí = D[Í~l,j] + Cins (Ity); c2 - D[i,j-l] + cdel (Pí) ;
Cj — D[l~ 1,J- 1/ + Cchůíige (plr^j) r C4 = D [2 ”2 , J “2 J + (Pl t -l/ A
D[i,j] (j/1) .min (Cí,c2,C3,c4) ;
if D[i,j] > k return « ; // Pod k není žádná vzdálenost return D[i,jJ • #
-15* β » · · · ·
Tabulka II
ApproxSeqvenceMatch_ED (root, P{=Pi,p2,-.,Pa) ,k) m <~IpI matches ťí; startError O startlndex «- O whil· startError T k GR startlndex T m do StartNode <- FindExact (pstAet.indeX) / list 4- i UnorderedOccvrrenceList (StartNode); for all v e lists do if ApproxMatchRest2 (v>P,k,startError} then matches 4- v ví startError startError + cdel (p8tartina^) i startlndex 4- startlndex + 1;
-16• 9 9 9 ·· ·
Tabulka III
ApproxMatcftRest (u,P,K,startError) error startError; lastError 4- startError column i- O ; node u;
for v p2 to pjp|do node NextOccurrence (node); word *- Keyword (node); lastError t- error;
error +- startError + EditDistance (column); if error > k AND lastError > k then retům falše;
retům true;
EditDistance (j) // Počítá j-tou řadu for i <- 1 to length (P) do if Pí = w-j then 3 0 elae 5 «- 1;
Cí - + cins (mj);
c2 - D[i,j-1] + cdsl (pd ;
O3 = D[r—l,j—l] + ochange (pj,mj);
C4 “ D[i-2r j-2] + 0cran3p0Se (Pi^mt-i) ; h[ifjj cfiactiQn(j/l) .min (clf 02,03,04) ;
if D[l,j] > k retům ® ; II Pod k není žádná vzdálenost retům D[i,j]
-17«· * ···* • · · · · · «φ ·· ··
Algoritmy v tabulkách II a III jsou napsány ve stejném pseudokódu jalro algoritmus v tabulce I.
Funkce FindExect používané k hledáni koncového uzlu shodného s prvním slovem v sekvenci provádí jednoduchý průchod stromem a její doba provádění je Ojp7j kde (pf| označuje první slovo v sekvenci dotazu PQ. Výpočet ediční vzdálenosti ize provést za čas |P)2 užitím přímého dynamického programováni nebo v O(k) čase (kde k označuje chybový práh) pomocí zdokonalených verzí výpočetního algoritmu. Viz E. Ukkonen,Finding Approximate Pattems in Strings“ [Hledání přibližných vzorů v řetézcichj, Journal of Algorithms, roč. 6, s. 132-137 (1985).
OznaČuje-li celkový součet počtu výskytů každého slova p, v sekvenci slov, pak je doba provádění v nejhorším případě C^kln^p,)).
Nakonec bude stručně rozebrána realizace vyhledávacího stroje na základě vyhledávacího systému podle vynálezu. Vyhledávací stroj na základě vyhledávacího systému podle vynálezu se konkrétně realizuje jako stroj pro vyhledáváni přibližné shody (A$E) a má sloužit jako vyhledávací stroj pro indexování skupin velkých dokumentů a vytvářeni algoritmů pro přesné a přibližné prohledáváni kolekci těchto dokumentů. Tento ASE bude poskytovat datovou strukturu pro ukládáni velkých textů nebo souborů dokumentů. Je třeba mít na paměti, že datovou strukturu lze vytvořit z dokumentů, které obsahují další informace, jako jsou obrazy, video, zvuk, a text může být formátovaný, případně opatřený komentářem (poli). Datová struktura je stejná jako u stromu přípon s rozptylem po slovech popisovaném výše a samozřejmě platí, Že slova jsou ve vyhledávacím systému klíčovými slovy, a proto lze strom přípon s rozptylem po slovech místo toho označovat jako strom přípon s rozptylem po klíčových slovech (strom KWS). Uvedený ASE bude obsahovat algoritmus pro indexování dokumentů ve stromu KWS. Tyto algoritmy samozřejmě netvoři součást vyhledávacího systému podle vynálezu, ale odbornici v oboru je dobře znají, a jsou popsány v literatuře, viz např. J. Karkkainen a E. Ukkonen (citováno výše) a D. R. Morrison (citováno výše).
Vyhledávací systém podle vynálezu, který se používá v ASE, pracuje s algoritmy pro vyhledáváni přesné a přibližné shody vzoru v KWS stromu. Algoritmy uvedené výše v tabulce I a tabulce II se používají pro přibližnou shodu slova a sekvence slov v metrice nejednotné ediční vzdálenosti. Hledáni přesné shody klíčového slova p s délkou m ve stromu KWS je v oboru známo a snadno se provádí jednoduchým průchodem stromovou strukturou. Vhodný algoritmus pro vyhledáváni přesné shody slov zapsaný v pseudokódu je uveden v tabulce • « a
-18IV. Vyhledávací systém podle vynálezu bude též schopen podporovat algoritmy pro vyhledávání přesné shody sekvence klíčových slov. Algoritmy pro hledání přesné shody sekvence klíčových slov jsou v oboru známy a snadno se realizují, jak je např. znázorněno v pseudokódu v tabulce V níže. Zde zadaný algoritmus vyhledá přesnou shodu s prvním klíčovým slovem, pokud existuje. Pak bude pro všechny výskyty prvního klíčového slova kontrolovat, jestliže se druhé klíčové slovo shoduje $ druhým klíčovým slovem dotazu. Pokud ano, použije se postup MatchRestz tabulky V ke stanovení, hodí-li se výskyt dvou prvních klíčových slov do celé sekvence. Pro přibližnou shodu slov ve stromu KWS provede vyhledávací systém algoritmus z výše uvedené tabulky l. Pro přibližnou shodu sekvence klíčových slov použije vyhledávací systém algoritmus z výše uvedené tabulky II, přičemž bude hledat po řadě shodu prvního klíčového slova s pi,p2... a užitím funkce ApproxMatchRest z tabulky III zkoušet všechny možné počáteční pozice k vyhledání shody sekvence začínající na určité pozici a zpracování hodnoty počáteční chyby.
ASE bude nakonec potřebovat jednoduchý předřazený modul, který umožni uživateli řídit indexování a dotazování týkající se skupiny dokumentů. Předřazený modul by také měl poskytovat statistické údaje o skupině dokumentů a síťové rozhraní pro vzdálený přístup, např. přes Internet, i rozhraní s lokálním uživatelským serverem.
ASE se systémem vyhledáváni podle vynálezu by měl být obecného charakteru v tom smyslu, aby umožňoval snadné připojování algoritmů pro indexování a vyhledávání. Bude také možno jednoduše provádět ukládání dodatkových informaci o každém dokumentu nebo klíčovém slovu. Předřazený modul by zejména měl být nezávislý na datové struktuře a algoritmech vyhledáváni, aby jeho vnitřní zmény neměly vliv na jejich stavbu.
Použiti vyhledávacího systému ASE podle vynálezu by mělo být navrženo tak, aby dodatečné nároky na paměť v datové struktuře byly co možná nejmenší. Vyhledávání by zároveň mělo být co nejrychlejší. Mezi těmito dva faktory však bude obvykle existovat rozpor.
-19*· « * »··
Tabulka tV
FindExact (root,p)
4— 1!
node +- Find Child (root,pi); vbila node MHD i í length (p) do if IsLeaf (node) AMD Suffix (node) - PP..Pm thaa return node;
i 4— 2+1 node <- FindChild (node,pi) retům NIL;
e · e » ♦ ♦ e · · · e e e · ♦ e e · e ··« eeee ee ee ·· ··
-20TabulkaV
MatchSequenceExact (P, root) matches +- &; v f- FindExact (p2/root); if P > 1 then if v Φ NIL then list f- UnorderedOccurrenceList (v); fox all u e list do if NextKeyword (u) = p2 then if MatchRest (pj...pra,u) then matches <- matches u Occurrence (u>;
xetuxn matches;
MatchRest (P,u) node u;
fox v pi to do node +- NextOccurrence (node); word *- Keyword (node); if v * word then xetuxn falše;
• e · · » » • · © · © · © · · • · · · · © · · · ···«·©· ©· ·· ©* ·
Souhrnně řečeno, ASE s vyhledávacím systémem podle vynálezu musí obsahovat Čtyři hlavní moduly.
1. Modul pro indexování dokumentů DIM pro indexaci dokumentů ve struktuře stromu přípon s rozptylem po klíčových slovech (KWS stromu). Tento modul by také měl obsahovat všechny extenze, aby podporoval několik typů dokumentů.
2. Modul pro ukládání dat DSM vycházející ze stromu přípon s rozptylem po klíčových slovech (KWS stromu).
3. Modul pro vyhledávací algoritmus SAM pro prohledávání stromu přípon s rozptylem po klíčových slovech, zahrnující algoritmy pro přesnou a (nebo) přibližnou shodu jednotlivých slov a sekvencí slov.
4. Předřazený modul uživatelského rozhraní FEM, zahrnující uživatelské rozhraní s lokálním serverem i síťové rozhraní pro vzdálené dotazy.
Tyto čtyři moduly ASE navz^em spolupracují a nabízejí tak všechny funkce vyhledávacího stroje. Tok dat mezí různými moduly je znázorněn na obrázku 7. Indexování souboru dokumentů se provádí v modulu pro indexování dokumentů DIM, který obsahuje algoritmy pro indexování. Tento modul samozřejmě není součástí systému vyhledávání podle vynálezu, ale algoritmy indexování, které lze použít, jsou v oboru dobře známy. Text, nacházející se v dokumentech, se převádí na modul pro ukládání dat DSM, kde se ukládá. Modul pro ukládání dat je samozřejmě součásti vyhledávacího systému podle vynálezu, přičemž vychází ze stromové struktury KWS. Modul pro algoritmus vyhledávání SAM obsahuje algoritmy pro vyhledáváni dat umístěných v modulu pro ukládáni dat. Tento modul realizuje vyhledávači systém podle vynálezu a umožňuje, aby byly v procesu vyhledávání kladeny dotazy na datovou strukturu stromu a uzlu při zachováni stavových proměnných. Předřazený modul lze např. realizovat na pracovní stanici nebo osobním počítači atp., kde bude umožňovat všechny výše uvedené funkce.
Jak již bylo řečeno v úvodu, je třeba si uvědomit, že vyhledávací systém podle vynálezu lze realizovat jako software napsaný ve vyšším programovacím jazyku na komerčně dostupných počítačových systémech včetně pracovních stanic. Jak bylo též řečeno, lze jej realizovat ve formě výhradního procesorového zařízení, u něhož je výhodou, když obsahuje velké množství paralelních procesorů schopných zpracovávat současně velké sekvence slov pro přibližnou shodu spolu s velkým množství sekvencí slov dotazu. Stálé provozní parametry procesoru pak lze zadat v kódu nižší úrovně, zatímco sekvence klíčových slov zadávané ze stromové struktury KWS umožňují nesmírně rychlé zpracování
-220 0 0 ♦ 0 • 0 · 0 · · 0 0 0 0 0 0 0 0 0 000 000« 00 00 0· 00 dotazů s obrovským objemem dat, a vyhledávací systém podle vynálezu bude proto velmi vhodný pro vyhledáváni např. na Internetu, dokonce i ve stromové struktuře KWS dostatečně velké k indexaci všech dokumentů, které v současné době Internet nabízí. Navíc bude schopen zpracovat i budoucí očekávaný nárůst objemu dat na Internetu.

Claims (13)

  1. PATENTOVÉ NÁROKY
    1. Vyhledávací systém pro vyhledávání informací, zejména informací uložených ve formě textu T, přičemž text T obsahuje slova a (nebo) symboly a jejich sekvence, přičemž vyhledávání informací se provádí s danou nebo proměnnou mírou shody mezi dotazem Q, kde dotaz Q obsahuje slova a (nebo) symboly a jejích sekvence, a vyhledanou informací R obsahující slova a (nebo) symboly a jejich sekvence z textu T, přičemž vyhledávací systém zahrnuje datovou strukturu pro uložení alespoň částí textu T a metriku M, která máří míru shody mezi dotazem Q a vyhledanou informaci R, přičemž vyhledávací systém využívá pro provádění vyhledávání vyhledávacích algoritmů, zejména pro fulltextové vyhledáváni na základě klíčových slov kw, vyznačující se tím, Že datová struktura obsahuje stromovou strukturu ve formě stromu přípon s nepravidelným rozptylem ST(7) pro ukládání přípon slov a (nebo) symbolů a jejich sekvencí v textu T, že metrika M obsahuje kombinaci metriky ediční vzdálenosti pro přibližnou míru shody mezi slovy a (nebo) symboly v textu T a dotazem Q a metriky ediční vzdálenosti pro přibližnou míru mezi sekvencemi S slov a (nebo) nebo symbolů v textu T a sekvenci dotazu P slov a (nebo) symbolů v dotazu Q, přičemž druhá uvedená metrika ediční vzdáleností obsahuje váženě nákladové funkce pro operace editace, které transformují sekvenci S slov a (nebo) symbolů v textu T na sekvenci P slov a (nebo) symbolů v dotazu Q; přičemž vážení probíhá s hodnotou úměrnou změně délky sekvence při transformaci nebo v závislosti na velikostí slov a (nebo) symbolů v porovnávaných sekvencích, že používaný vyhledávací algoritmus zahrnuje první algoritmus po stanovení míry shody mezi slovy a (nebo) symboly ve stromovém modelu přípon textu T a dotazu Q a druhý algoritmus pro stanovení míry shody mezí sekvencemi slov a (nebo) symbolů ve znázornění stromu přípon textu T a dotazu Q, přičemž uvedený první a (nebo) druhý algoritmus prohledává datovou strukturu dotazy Q ve formě slov, symbolů, sekvencí slov nebo sekvencí symbolů nebo jejich kombinací, takže informace R je vyhledávána na základě dotazu Q se stanovenou mírou shody mezi informací a dotazem, a že vyhledávací algoritmy také volitelně zahrnují třetí algoritmus pro stanovení přesně shody mezí slovy a (nebo) symboly ve znázornění stromu přípon textu T a dotazu Q a (nebo) čtvrtý algoritmus pro stanovení přesné shody mezi sekvencemi slov a (nebo) symbolů ve znázorněni stromu přípon textu T a dotazu Q, přičemž uvedený
    Β« · ···· ·· Μ ·· ·· třetí a (nebo) čtvrtý algoritmus prohledává datovou strukturu dotazy Q ve formě slov, symbolů, sekvencí stov nebo sekvencí symbolů nebo jejich kombinací, takže informace R je vyhledávána na základě dotazu Q na přesnou shodu mezí informaci a dotazem.
  2. 2. Vyhledávací systém podle nároku 1, vyznačující se tím, že strom přípon ST(T) s nepravidelným rozptylem je stromem přípon s rozptylem po slovech SSTw.CT), který obsahuje pouze podmnožinu přípon v textu 7.
  3. 3. Vyhledávací systém podle nároku 2, vyznačující se tím, že strom přípon s rozptylem po slovech 55Τ^(7) je stromem přípon s rozptylem po klíčových slovech SST^T).
  4. 4. Vyhledávací systém podle nároku 3, vyznačující se tím, že první algoritmus pro detekci míry shody klíčového slova ve stromu přípon s rozptylem po klíčových slovech SST^(T) se provádí v pseudokódu následovně:
    FindApproximate (root,p,k) node root / i 1 z nodes Children (node); // Zásobník uzlů for all v e nodes do if IsLeaf (v) then for j +- i to length {Suffix(nocte)) do Wj 4- Suffix (nocte) j-i;
    if Wj = '$' then //' $ 'je stopznak output Wi„j;
    retům;
    if EditDist (i) = oo then break;
    else // Vnitřní uzel i ř- í+1;
    Wj <- label (v) if EditDist (i) - <*> then break;
    nodes «- Children (v) vj nodes;
    //konec pro
    EdítDistance (j) // Počítá j-tou řadu for i <- 1 to length (?) do if Pí = w) then d 4- 0 else 0 4-1;
    Cj = D[l-l,j] + clns (m^;
    9 9
    9 9··*
    9999 99
    C2 “ + cdel (pí);
    c3 - D[i-l,j-l] + cchange (Pi,mi)i
    Cj = D[l~2fj~2] + Ctranapoae (Pif^J-llf
    D[i,j] <- círaction(j/l) .min (clfC2,C3,c4) ;
    if D[i,j] > k retům «o ; // Pod k není žádná vzdálenost retům D[i,j]
  5. 5. Vyhledávací systém podle nároku 3, vyznačující se tím, že druhý algoritmus pro detekci míry shody sekvence klíčových slov ve stromu přípon s rozptylem po klíčových slovech SST^T) se provádí v pseudokódu následovně:
    ApproxSequenceMatch^ED (root, P(~p1,p2,...,Pm) ,k) m *-Jp| matches <- 0; startError f- 0 startlndex *- 0 vfaile startError b k OR startlndex < m do startNode FindExact !
    Jist 4- i UnorderedOccurrenceList (startNode); for all v e lišta do if ApproxMatchRest2 (vfP,k,startError} then matches 4- u v;
    startError startError + cdei (Pstartindex);
    startlndex 4- startlndex + 1;
  6. 6. Vyhledávací systém podle nároku 5, vyznačující se tím, že subrutina ApproxMatchRest druhého algoritmu se provádí v pseudokódu následovně:
    ApproxMatchRest (υ,Ρ,Κ,startError) error +- startError; lastError startError column 4- 0 ; node 4- n;
    for v 4- p- to pjp| do node 4- NextOccurrence {node}; word 4- Keyword (node}; lastError <- error;
    error 4~ startError + EditDistance (column); if error > k AND lastError > k then retům falše;
    ·· · e · e I · · ···*«·· ·· ·· ·· ··« retům true;
    EdítDistance (j) // Počítá j-tou řadu for i <- 1 to length (P) do if pí = w} then d *- 0 elee d <- 1;
    Cí = D[i-l,j] + clns ty); c2 - + cdel (pí);
    Cj D [ 2-1 , J “1 ] 4 Cchange (Pif^lj);
    Cí ~~ D[Í—2.,j—2] 4 Ctrar!Spo3e (Pirty-l) ;
    <- círaCtíon(j/l).ndn(ci,c2,c3,c4); if D[i,j] > k return « ; // Pod k není žádná vzdálenost retům D[i,j]
  7. 7. Vyhledávací systém podle nároku 3, vyznačujte! se tím, že třetí algoritmus pro stanoveni přesné shody klíčového slova ve stromu přípon s rozptylem po klíčových slovech SST^T) se provádí v pseudokódu následovně:
    FindExact (root,p) i í;
    node 4- Find Child £root,pi); while node MfP i T length (p) do if IsLeaf (node) fůXD Suffix (node) = Pí~Pm then retům node;
    i 4- Ϊ+1 node *- FíndChild (node,Pí) retům NIL;
  8. 8. Vyhledávací systém podle nároku 3, vyznačujíc! se tím, že čtvrtý algoritmus pro stanovení přesné shody sekvence klíčových slov ve stromu přípon s rozptylem po klíčových slovech SST^T) se provádí v pseudokódu následovně:
    MatchSequenceExact (P, root) matches e- 0; v 4- FindExact (p^root};
    if P > 1 then if v* NIL then list UnorderedOccurrenceList (v); for all u e list do if NextKeyword £u) - p2 then if MatchRest (p3..pm,u} then matches <- matches u Occurrence £u);
    retům matches;
    MatchRest (P,u) node (- u;
    for v pj to ( do node +~ NextQccurrence (node) ; worč v- Keyword (node); if v * word then retům falše;
  9. 9. Postup ve vyhledávacím systému pro vyhledávání informací, zejména informací uložených ve formě textu 7 přičemž text T obsahuje slova a symboly a jejich sekvence, pňčemž vyhledávání informací se provádí s danou nebo proměnnou mírou shody mezi dotazem Q, kde dotaz Q obsahuje slova a (nebo) symboly a jejich sekvence, a vyhledanou informací R obsahující slova a (nebo) symboly a jejich sekvence z textu T, přičemž vyhledávací systém zahrnuje datovou strukturu pro uložení alespoň Části textu T a metriku M, která měří míru shody mezi dotazem Q a vyhledanou informaci R, přičemž vyhledávací systém využívá pro provádění vyhledávání vyhledávacích algoritmů, zejména pro fulltextové vyhledávání na základě klíčových slov kw, přičemž informace v textu jsou rozděleny na slova a sekvence slov, kde slova jsou podřetězce celého textu oddělené členy ohraničení slov a tvoři sekvenci symbolů a každé slovo je strukturováno jako sekvence symbolů, vyznačující se tím, že vytváří datovou strukturu jako strom přípon s rozptylem po slovech SST^T) textu T pro znázornění všech přípon začínajících v textu T u symbolu oddělovače slov; uložením sekvence informací o slovech v textu T ve stromu přípon s rozptylem po slovech SS7»(7; vytvořením kombinované metriky ediční vzdálenosti M obsahující metriku ediční vzdálenosti D(s,g) pro slova s v textu T a slovo dotazu q v dotazu Q a metriku ediční vzdálenosti v závislosti na velikosti slova DW(S,P) pro sekvence S slov v textu T a sekvenci P slov q v dotazu Q, přičemž metrika edičnf vzdáleností D^S.P) je minimální součet nákladů na transformaci sekvence S na sekvenci P a minimální součet nákladů je minimálnfm součtem nákladových funkcí pro každou operaci editace, váženým parametrem úměrným změně celkově délky sekvence S nebo poměru současné délky slova a průměrné délky slova v sekvencích S; P, a stanovením míry shody mezi slovy $, q výpočtem edičnf vzdálenosti D(s,g) mezi slovy s vyhledané informace R a slovem q dotazu Q nebo, jsou-li slova s,g vzdálena od sebe více než k chyb, stanovením míry shody mezi • · · · » e 0 e ··· ·000 «0 «0 0« sekvencemi slov Sr, Pq vyhledané informace R a dotazu Q výpočtem ediční vzdálenosti D^/S^Pq) pro všechny shody.
  10. 10. Postup podle nároku 9, vyznačující se dalším vážením operace editace, která mění slovo 5 na slovo p s parametrem přiblíženi mezi znaky slov s;q, Čímž je při určování nákladů na příslušnou operaci editace brána v úvahu podobnost slov s;q.
  11. 11. Postup podle nároku 9, vyznačující se omezením počtu shodných výskytů výpočtem ediční vzdálenosti D^fSaPo) Pro omezený počet slov sekvence slov dotazu Po.
  12. 12. Postup podle nároku 9, vyznačující se tím, že ediční vzdálenost D(s,qj mezí slovy s a slovem q je definována rekurzívně a ediční vzdálenost D(s,q) je počítána pomocí dynamického programováni.
    12. Postup podle nároku 9, vyznačující se tím, ie ediční vzdálenost D^/S.P) mezi sekvencemi S a sekvencí P je definována rekurzívně a ediční vzdálenost DW(S,P) je počítána pomoci dynamického programováni.
  13. 14. Využiti vyhledávacího systému podle nároku 1 ve stroji pro přibližné vyhledávání.
CZ200164A 1999-07-09 1999-07-09 Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji CZ200164A3 (cs)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CZ200164A CZ200164A3 (cs) 1999-07-09 1999-07-09 Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CZ200164A CZ200164A3 (cs) 1999-07-09 1999-07-09 Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji

Publications (1)

Publication Number Publication Date
CZ200164A3 true CZ200164A3 (cs) 2001-07-11

Family

ID=5472972

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ200164A CZ200164A3 (cs) 1999-07-09 1999-07-09 Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji

Country Status (1)

Country Link
CZ (1) CZ200164A3 (cs)

Similar Documents

Publication Publication Date Title
KR100414236B1 (ko) 데이터의 검색을 위한 서치 시스템 및 방법
Zeimpekis et al. TMG: A MATLAB toolbox for generating term-document matrices from text collections
US6665661B1 (en) System and method for use in text analysis of documents and records
JP4944405B2 (ja) 情報検索システムにおけるフレーズに基づくインデックス化方法
Faloutsos Access methods for text
JP4944406B2 (ja) フレーズに基づく文書説明の生成方法
JP4976666B2 (ja) 情報検索システムにおけるフレーズ識別方法
Hakimov et al. Named entity recognition and disambiguation using linked data and graph-based centrality scoring
US7103536B1 (en) Symbol dictionary compiling method and symbol dictionary retrieving method
US20080288442A1 (en) Ontology Based Text Indexing
JP2006048684A (ja) 情報検索システムにおけるフレーズに基づく検索方法
US11977581B2 (en) System and method for searching chains of regions and associated search operators
KR20180129001A (ko) 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템
Rao et al. Sequencing XML data and query twigs for fast pattern matching
Peng et al. Focused crawling enhanced by CBP–SLC
Consoli et al. A quartet method based on variable neighborhood search for biomedical literature extraction and clustering
Iser et al. A problem meta-data library for research in SAT
Fujino et al. Discovering unordered and ordered phrase association patterns for text mining
CZ200164A3 (cs) Vyhledávací systém a postup pro vyhledávání dat a využití tohoto systému a postupu ve vyhledávacím stroji
Chen et al. Fast construction of generalized suffix trees over a very large alphabet
Kanlayanawat et al. Automatic indexing for Thai text with unknown words using trie structure
Niu et al. An execution-based retrieval of object-oriented components
Schwab et al. TetRex: a novel algorithm for index-accelerated search of highly conserved motifs
US9773056B1 (en) Object location and processing
Aoe An efficient implemenatation of string pattern matching machines for a finite number of keywords