Dokumentografické Informační Systémy

download Dokumentografické Informační Systémy

If you can't read please download the document

description

Dokumentografické Informační Systémy. Slidy k přednášce NDBI010 KSI MFF UK http://www.ms.mff.cuni.cz/~kopecky/vyuka/dis/ Verze 12.04.30.12.15. Literatura (skripta). Dokumentografické informační systémy Pokorný J., Snášel V., Kopecký M.: Nakladatelství Karolinum, UK Praha, 2005 - PowerPoint PPT Presentation

Transcript of Dokumentografické Informační Systémy

  • DokumentografickInforman SystmySlidy k pednce NDBI010KSI MFF UKhttp://www.ms.mff.cuni.cz/~kopecky/vyuka/dis/Verze 12.04.30.12.15

  • DBI010 - DIS - MFF UKLiteratura (skripta)Dokumentografick informan systmyPokorn J., Snel V., Kopeck M.:Nakladatelstv Karolinum, UK Praha, 2005Pokorn J., Snel V., Hsek D.:Nakladatelstv Karolinum, UK Praha, 1998Textov informan systmyMelichar B.:Vydavatelstv VUT, Praha, 1997Introduction to Information RetrievalChristopher D. Manning, Prabhakar Raghavan and Hinrich SchtzeCambridge University Press, 2008http://informationretrieval.org/

  • DBI010 - DIS - MFF UKDal odkazyComputer Algorithms - String Pattern Matching Strategies, Jun Ichi Aoe, IEEE Computer Society Press 1994Concept Decomposition for Large Sparse Text Data using ClusteringInderjit S. Dhillon, Dharmendra S. ModhaIBM Almaden Research Center, 1999

  • DBI010 - DIS - MFF UKDal odkazy (lnky)The IGrid Index: Reversing the Dimensionality Curse For Similarity Indexing in High Dimensional Space for Large Sparse Text Data using ClusteringCharu C. Aggrawal, Philip S. YuIBM T. J. Watson Research CenterThe Pyramid Technique: Towards Breaking the Curse of DimensionalityS. Berchtold, C. Bhm, H.-P. Kriegel:ACM SIGMOD Conference Proceedings, 1998

  • DBI010 - DIS - MFF UKDal odkazy (lnky)Affinity Rank: A New Scheme for Efficient Web SearchYi Liu, Benyu Zhang, Zheng Chen, Michael R. Lyu, Wei-Ying Ma2004Improving Web Search Results Using Affinity GraphBenyu Zhang, Hua Li, Yi Liu, Lei Ji, Wensi Xi, Weiguo Fan, Zheng Chen1, Wei-Ying MaEfficient computation of pagerankT.H. HaveliwalaTechnical report, Stanford University, 1999

  • DBI010 - DIS - MFF UKDal odkazy (star)Introduction to Modern Information RetrievalSalton G., McGill M. J.:McGRAW-Hill 1981Vbr informac v textovch bzch datPokorn J.:OVC VUT Praha 1989

  • vod do DISPehled problematiky men informativnosti

  • DBI010 - DIS - MFF UKVznik DIS50. lta 20. stol.Postupn automatizace postup pouvanch v knihovnictvNyn samostatn podst ISFaktografick ISZpracovn informac s definovanou vnitn strukturou (nejastji v podob tabulek)Dokumentografick ISZpracovn informac v podob textu v pirozenm jazyce bez pevn vnitn struktury

  • DBI010 - DIS - MFF UKPrce s DISZadn dotazuPorovnnZskn seznamu odpovdajcch dokumentLadn dotazuVydn dokumentuObdren textu

  • DBI010 - DIS - MFF UKII)Struktura DISI)135624Systm zpstupnn dokumentVrac sekundrn informaceAutorNzev...Systm dodn dokumentNkdy nen een pomoc SW

  • DBI010 - DIS - MFF UKVyhodnocen dotazuPm porovnn nron na as

  • DBI010 - DIS - MFF UKVyhodnocen dotazuNutn vytvoen modelu dokumentuZtrtov proces, obvykle zaloen na identifikaci slov v dokumentechVsledkem strukturovan data vhodn pro porovnvn

  • DBI010 - DIS - MFF UKVyhodnocen dotazuDotaz se uprav do odpovdajc podoby Nsledn se porovn s modelem dokument

  • DBI010 - DIS - MFF UKPedzpracovn textuVyhledvn probh nad vytvoenm modelem efektivnji, ale me pout jen informace obsaen v modelu.Clem je vytvoit model, kter by zachoval co nejvce informac, obsaench v pvodnm modelu.Problmem je ada nejednoznanost.Dosud neeiteln nroky na encyklopedick i asociativn znalosti.

  • DBI010 - DIS - MFF UKPorozumn textu Posloupnost slov v pirozenm jazyce.Kad slovo zastupuje pro autora njakou pedstavu, kterou v nm slovo vyvol - vznam.Tyto pedstavy reprezentuj reln pedmty....

  • DBI010 - DIS - MFF UKPorozumn textu Synonymie slovVce slov me mt pro autora stejn vznamkrychle = kostkabuldozer = naklada...

  • DBI010 - DIS - MFF UKPorozumn textu Homonymie slovJedno slovo me mt pro autora nkolik vznamtaka: sten, nkupnkoruna: platidlo, krlovsk k., k. stromutda: koln, kategorie v teorii mnoinlos: zve, poukzka ke slosovn...

  • DBI010 - DIS - MFF UKPorozumn textuHomonymie slovJedno slovo me pouvat stejn tvar pro rzn pdy a dal gramatick jevy (gramatick homonymie)kontroly: 1. p. m.., 2. p. j.. nen zejm, zda se jedn o jednu, nebo vce kontrolJeden tvar slova me mt rzn vznamplesy: podst. jm. ples, podst. jm. plesoena: podst. jm. ena, sloveso hnthnt: sloveso hnt, podst. jm. hntti: slovka ti, sloveso ttpt: slovka pt, sloveso pt

  • DBI010 - DIS - MFF UKPorozumn textu Vznamy slov se mohou pekrvat.Hierarchickyzve > k > hebecAsociacekalkultor ~ pota ~ procesor...

  • DBI010 - DIS - MFF UKPorozumn textu Jednotliv piazen jsou navc zvisl na subjektu, kter dokument pe nebo te.Dva lid mohou jednomu slovu pikldat zcela nebo jen sten jin vznam.Dva lid si i pod stejnm vznamem mohou pedstavit jin konkrtn pedmt nebo mnoinu pedmt.mma, pokoj, ...Vsledkem je situace, kdy dva rzn teni nemus petenm zskat ani stejnou informaci jako autor, ani stejnou informaci navzjem.

  • DBI010 - DIS - MFF UKPorozumn textuHomonymie a nejednoznanosti narstaj pi pechodu od slov k vtm.Homonymie vlastnch jmen na zatku vtyDohnal zvtzil. (trnct zvtzil.)Plk. Dohnal pedeel gen. Kvapila velmi vrazn. jedna, dv, nebo ti vty?Homonymie spojky a v pedmtu vtyFunkce rezistoru a zesilovae v radiotechnice. (funkce rezistoru v radiotechnice) a (funkce zesilovae v radiotechnice) (funkce rezistoru) a (funkce zesilovae v radiotechnice) (funkce rezistoru) a (zesilovae v radiotechnice)Homonymie podmtu a pedmtuPoplek pikryl snh. co le navrchu?

  • DBI010 - DIS - MFF UKPorozumn textuPklad esk vty s vce gramaticky monmi vznamyviz nap. Podivn fungovn gramatiky, http://www.scienceworld.cz/sw.nsf/lingvistikavta enu hol stroj me - podle volby psudku ve vt - znamenat:Pohnm stroj pomoc hole (hnt)ena pouv depilan pstroj (holit)Nvod k nekonvennmu zpsobu oblkn (strojit) a dal

  • DBI010 - DIS - MFF UKPorozumn textuPklad anglick vty s vce gramaticky monmi vznamyviz nap. Podivn fungovn gramatiky, http://www.scienceworld.cz/sw.nsf/lingvistikavta Time flies like an arrow me - podle volby psudku ve vt - znamenat:as let jako voda (fly)asov mouchy/zipy maj rdy p (like) a dal

  • DBI010 - DIS - MFF UKPedzpracovn textustenm eenm problmu porozumn textu je zahrnut lingvistick analzyDisambiguaceUren sprvnho vznamu slova ve vtNa zklad gramatiky (slovesa vs. podst. jm.)Na zklad kontextu (komplikovanj).Tanila na Hasiskm plese.Tanila na trbskm plese.

  • DBI010 - DIS - MFF UKPedzpracovn textustenm eenm problmu porozumn textu je zahrnut lingvistick analzyLemmatizacePiazen sprvnho lemmatu jednotlivm slovmZkladn tvar slova (1. p. j.., infinitiv, ...)Slovn druh, osoba, slo, as, vid, ...Informace z vtnho rozboru, (podmt, pedmt, ...)

  • DBI010 - DIS - MFF UKLemmatizace a disambiguaceeskho jazyka (FAL)Odpovdnm zstupcem neme bt kad. Zkon by ml zajistit individualizaci odpovdnosti a zajitn odbornosti. Odpovdnm odpovdn_^(kdo_za_nco_odpovd) AAIS7----1A---- zstupcemzstupceNNMS7-----A---- nememoci_^(mt_monost_[nco_dlat])VB-S---3P-NA--- btbtVf--------A---- kadkadAAIS1----1A---- slo odstavceslo vtyLemma vetn vznamuSlovn druh (Adverb), Slovo v dokumentu

  • DBI010 - DIS - MFF UKPedzpracovn textuDalmi monosti, kter lingvistika v rzn me nabz jsouOznaovn vceslovnch spojen - kolokacDruh svtov vlka, ...Zatm velmi problematick nahrazovn zjmen odpovdajcmi podstatnmi jmny

  • DBI010 - DIS - MFF UKPesnost a plnostVsledkem nejednoznanost dn existujc DIS nedv ideln vsledkyPo zobrazen odpovdi na dotaz lze urit nsledujcPoet vrcench dokument NvO nich si DB mysl, e jsou relevantn, odpovdaj dotazuPoet vrcench relevantnch dok. NvrO nich si tazatel mysl, e uspokojuj jeho poadavkyPoet vech relevantnch dok. v DB NrProblematick u velkch DB

  • DBI010 - DIS - MFF UKPesnost a plnostDva DIS mohou vrtit na shodn dotaz rzn odpovdi, kter se nemus pekrvat ani v jedinm vrcenm dokumentuJak porovnat kvalitu odpovd navzjem?

  • DBI010 - DIS - MFF UKPesnost a plnostDva tazatel mohou mt pi poloen shodnho dotazu rzn nzor na relevanci vrcench dokumentJak vyhovt subjektivnmu nzoru tazatel?

  • DBI010 - DIS - MFF UKPesnost a plnostKvalita vsledn mnoiny dokument se m na zklad tchto selPesnost (Precision)P = Nvr / NvPravdpodobnost, e dokument zaazen v odpovdi je skuten relevantnplnost (Recall)R = Nvr / NrPravdpodobnost, e skuten relevantn dokument je zaazen v odpovdi

  • DBI010 - DIS - MFF UKPesnost a plnostKoeficienty jsou opt zvisl na subjektivnm nzoru tazateleDokument vrcen na vstupu me uspokojovat poadavky dvou uivatel, kte poloili stejn dotaz, rznou mrou.

  • DBI010 - DIS - MFF UKPesnost a plnostV idelnm ppadP=R=1V odpovdi jsou zaazeny prv a pouze vechny relevantn dokumentyV bnm ppadOdpov na prvn verzi dotazu nen ani pesn, ani pln0011OptimumPoten odpov

  • DBI010 - DIS - MFF UKPesnost a plnostLadn dotazuPostupn modifikace dotazu s clem zvit kvalitu odpovdiTeoreticky je sice mon doshnout optima, ale 0011OptimumRP

  • DBI010 - DIS - MFF UKPesnost a plnost vlivem vceznanost jsou v praxi oba koeficienty na sob nepmo zvisl, tj. P*R konst. < 1Pi snaze zvit P se na vstup dostane mn relev. dokument.Pi snaze zvit R se na vstup dostane s vce relev. dok. i mnohem vce tch nerelevantnch.0011OptimumRP

  • DBI010 - DIS - MFF UKKritrium predikcePi formulaci dotaz je potebn uhdnout, kter termy (slova) byly v dokumentu autorem pouity pro vyjden dan mylenkyProblmy m.j. zpsobujSynonyma (autor mohl pout synonymum, kter si tazatel pi formulaci dotaz ani nemus neuvdom)Pekrvajc se vznamy slovOpisy jedn situace jinmi slovy

  • DBI010 - DIS - MFF UKKritrium predikcestenm eenm je zaazen tezauru, kter obsahuje Hierarchie slov a jejich vznamSynonyma slovAsociace mezi slovyTazatel me tezaurus vyut pi formulaci svch dotaz

  • DBI010 - DIS - MFF UKKritrium predikcePi ladn dotaz m uivatel tendenci postupovat konzervativnV dotazu zstvaj asto ty jeho sti, kter uivatele napadly na zatku a mn se jen podrun sti, kter nekvalitn vsledek nemus nijak zsadn ovlivnitVhodn je uivateli pomoci s odstrannm nevhodnch st dotazu, kter nepopisuj relevantn dokumenty a naopak s pidvnm formulac, kter relevantn dokumenty popisuj

  • DBI010 - DIS - MFF UKKritrium maximaTazatel obvykle nen schopen (nebo ochoten) prochzet pli mnoho dokument do t mry, aby se rozhodl, zda jsou pro nj relevantn nebo neObvykle 20-50 podle velikosti Poteba nejen dokumenty rozliovat na odpovdajc/neodpovdajc dotazu, ale adit je na vstupu podle mry pedpokldan relevance

  • DBI010 - DIS - MFF UKKritrium maximaV dsledku kritria maxima se pi ladn dotazu uivatel obvykle sna zvit pesnostMal mnostv dokument v odpovdi, obsahujc co nejvt pomr relevantnch dokumentNkter oblasti pouit vyaduj co nejvy pesnost i plnostPrvnictv

  • Pesn vyhledvn vzork

  • DBI010 - DIS - MFF UKPro vyhledvat vzorky textuPi tvorb indexu dokument i dotazuPro zahrnut pouze urit, pedem dan mnoiny slov (lemmat) z dokumentu pi tzv. zen indexaciPro vynechn pedem dan mnoiny slov (lemmat) jako jsou spojky, stice, zjmena a podobnPi zobrazovn sekundrnch a primrnch dokument v odpovdiNalezen a zvraznn slov (lemmat) pouitch v dotazu

  • DBI010 - DIS - MFF UKAlgoritmy dle pedzpracovnI - Triviln algoritmus (Naivn algoritmus) (Algoritmus hrub sly)II - Ostatn (vhodn pro DIS)Dle lenn dlePotu vyhledvanch vzork1, N, Smru hlednSousmrnProtismrn

    Sheet: List1

    Kategorie dle pedzpracovn

    Vzorek

    NE

    ANO

    Text

    NE

    I.

    II.

    ANO

    III.

    IV.

  • DBI010 - DIS - MFF UKAlgoritmy IISousmrn porovnvaj vzorek zleva doprava, tj. souhlasn se smrem prochzen celho dokumentu.Protismrn obrcen

    List1

    Podkategorie skupiny II

    Smr

    SousmrnProtismrn

    Poet1KMPBM

    vzorkNACCW

    nekon.KA2CKAS

    &A

    Strana &P

  • Pesn vyhledvn vzorkHledn jednoho vzorkuv textu

  • DBI010 - DIS - MFF UKTriviln algoritmusDlka textu t ozn. m, dlka vzorku v ozn. nPi neshod i-t pozice textu s j-tou pozic vzorkuPosun vzorku o jednu pozici doprava, prohledvn od zatku vzorkuasov sloitost je v prmrnm ppad o(m*n), nap. pro hledn an-1b v am-1bPro pirozen jazyk prmrn m*konst operac, tedy o(m) konst je mal slo (jednotky), zvisl na jazyku

  • DBI010 - DIS - MFF UKKnuth-Morris-Prattv algoritmusSousmrn vyhledn jednoho vzorkuOproti naivnmu pstupu eliminuje porovnvn ji jednou zkontrolovan sti textuVzorek je posunut co nejmn tak, aby st, kter zstane pod ji zkontrolovanou st, s n byla shodn

  • DBI010 - DIS - MFF UKKMP algoritmus

  • DBI010 - DIS - MFF UKKMP algoritmusPed pozic neshody zstane vlastn prefix ji prohledan sti vzorkuMus bt shodn s postfixem tto stiNejdel takov uruje nejmen posun

  • DBI010 - DIS - MFF UKKMP algoritmus

  • DBI010 - DIS - MFF UKKMP algoritmusPokudVzorek v se na pozici j neshoduje s textem tNejdel vlastn prefix zkontrolovan sti vzorku, rovnajc se postfixu zkontrolovan sti m dlku kPotomPo posunu zstane k znak vzorku ped pozic porovnvnVzorek se zane porovnvat od pozice k+1Opravn pozice pro chyby na jednotlivch pozicch j jsou uloeny v pomocnm poli PV tomto ppad P[j] = k+1

  • DBI010 - DIS - MFF UKbegin {KMP} m := length(t); n := length(v); i := 1; j := 1; while (i n) then {nalezen na pozici i-j+1} else {nenalezen} end; {KMP}KMP algoritmus

  • DBI010 - DIS - MFF UKUren pole P pro KMPP[1] = 0Pokud znme opravy pro pozice 1 .. j-1, je snadn spotat opravu pro pozici jP[j-1] obsahuje opravu pro pozici j-1. Tzn., e P[j-1]-1 znak ze zatku vzorku se shoduje se stejnm potem znak ped j-1 n pozic ve vzorku

  • DBI010 - DIS - MFF UKUren pole P pro KMP

  • DBI010 - DIS - MFF UKUren pole P pro KMPPokud se tak j-1 n pozice vzorku shoduje s P[j-1] n pozic, me se prefix prodlouit a tedy sprvn hodnota pro P[j] je o jedna vy ne pedchoz.

  • DBI010 - DIS - MFF UKUren pole P pro KMP

  • DBI010 - DIS - MFF UKUren pole P pro KMPPokud se j-1 n a P[j-1] n pozice vzorku neshoduj, dolo by po chyb a nslednm posunu vzorku k situaci, e nebude souhlasit znak ped pozic na kter se bude pokraovatPro chybu na tto pedchoz pozici je vak ji znma oprava (sla P[1] .. P[j-1] jsou ji spotena)

  • DBI010 - DIS - MFF UKUren pole P pro KMPJe nutn sledovat opravy ponaje j-1 n pozic tak dlouho, dokud se j-1 n pozice vzorku neshoduje s pozic, na kterou odkaz smuje, nebo dokud nedojdeme na konec odkaz (hodnota 0)

  • DBI010 - DIS - MFF UKUren pole P pro KMP

  • DBI010 - DIS - MFF UKUren pole P pro KMP

  • DBI010 - DIS - MFF UKbegin p[1] := 0; n := length(v); j := 2; while (j
  • DBI010 - DIS - MFF UKKMP algoritmusasov sloitost algoritmu je o(m+n).V textu se nikdy nevrac.Pi posunut vzorku znovu porovnv stejnou pozici, ale posun vzorku neme bt vce ne o(m).Stejn tak asov sloitost pedzpracovn je o(n).

  • DBI010 - DIS - MFF UKOptimalizace KMPPomocn pole P je mon optimalizovatPokud je znak v[j] shodn s v[P[j]], dostal by se pod kolizn pozici v textu posunem znak shodn s tm, kter kolizi zpsobil.Opravu je mon zohlednit ve druhm poli P s hodnotou P[j]=P[P[j]], jinak P[j]=P[j]Pole P[j] nen potom pi vlastnm hledn poteba

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmusProtismrn vyhledn jednoho vzorku s pedzpracovnm vzorkuvzorek pikld k textu postupn zleva dopravaznaky vzorku se porovnvaj zprava doleva

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmusPokud nedojde ke shod na pozici V[n-j] vzorku s textem na pozici T[i-j]=xn je dlka vzorku,i je pozice konce vzorku v textu,j=0..n-1xX, X je abecedaVzorek se posune o SHIFT[n-j,x] znak dopravaZane se znovu od j=0, tedy od konce

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmusExistuje vce definic pro SHIFT[n-j,x]Varianta 1: Pomocn pole SHIFT[0..n-1,X] je pro pozici ve vzorku a znak x abecedy X definovno nsledovn:Co nejmen posun takov, aby se pod prv porovnvanou pozici v textu dostal odpovdajc znak x vzorku.Pokud se znak, kter kolizi zpsobil, ve zbvajc lev sti vzorku nevyskytuje, posune se vzorek tsn za testovanou pozici.

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (1)asov sloitost je v prmrnm ppad o(m*n), nap. pro hledn ban-1 v am-nban-1Pro velk abecedy a vzorky s malm potem rznch znak (nap. pirozen jazyky) je prmrn asov sloitost o(m/n)

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (1)Pklad vyhledvn:

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (1)Definice SHIFT pro slovo ANANASPln ipky znzoruj spn porovnnDvojit znzoruj posun koncovho znaku na msto potenhoNeuveden znamenaj posun za kolizn pozici

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (1)Pro sporu msta x{A,N,S,X}X zastupuje vechny znaky nevyskytujc se ve vzorkuHodnoty s + oznauj velikost posunuHodnoty bez + oznauj novou hodnotu j

    hodnota j

    A

    N

    S

    X

    0

    +1

    +2

    1

    +6

    1

    2

    +1

    +5

    +5

    2

    +1

    3

    +4

    +4

    3

    4

    +1

    +3

    +3

    4

    +1

    5

    +2

    +2

    5

    6

    +1

    +1

    +1

    6

    vzorek

    byl

    spn

    nalezen

  • DBI010 - DIS - MFF UKPorovnn na umlm pkladu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na umlm pkladu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na umlm pkladu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textuPozn:rzn vzorek nalezen poprv a na sv pvodn pozici

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    SlovaDvojslova

    TextAnglickAnglick

    Velikost130KB130KB

    #vzork18,0759,038

    #rznch vzork1,5704,395

    #porovnn - Triv.256,799,832433,721,058

    #porovnn - KMP255,942,03099.7%430,220,02599.2%

    #porovnn - BM50,114,65819.5%52,046,08412.0%

    NrstNrst

    na vzorekna vzorek

    relativn

    ke KMP

    3.37771.0048

    3.36171.0000

    2.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    SlovaDvojslova

    TextAnglickAnglick

    Velikost130KB130KB

    #vzork18,0759,038

    #rznch vzork1,5704,395

    #porovnn - Triv.256,799,832433,721,058

    #porovnn - KMP255,942,03099.7%430,220,02599.2%

    #porovnn - BM50,114,65819.5%52,046,08412.0%

    NrstNrst

    na vzorekna vzorek

    relativn

    ke KMP

    3.37771.0048

    3.36171.0000

    2.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    SlovaDvojslova

    TextAnglickAnglick

    Velikost130KB130KB

    #vzork18,0759,038

    #rznch vzork1,5704,395

    #porovnn - Triv.256,799,832433,721,058

    #porovnn - KMP255,942,03099.7%430,220,02599.2%

    #porovnn - BM50,114,65819.5%52,046,08412.0%

    NrstNrst

    na vzorekna vzorek

    relativn

    ke KMP

    3.37771.0048

    3.36171.0000

    2.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    SlovaDvojslova

    TextAnglickAnglick

    Velikost130KB130KB

    #vzork18,0759,038

    #rznch vzork1,5704,395

    #porovnn - Triv.256,799,832433,721,058

    #porovnn - KMP255,942,03099.7%430,220,02599.2%

    #porovnn - BM50,114,65819.5%52,046,08412.0%

    NrstNrst

    na vzorekna vzorek

    relativn

    ke KMP

    3.37771.0048

    3.36171.0000

    2.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textu

    List1

    Text('a'rnd(200)'b ')1000

    Velikost100KB

    #slov1,000

    #rznch slov200

    #porovnn - Triv.24,128,586

    #porovnn - KMP885,7473.7%

    SlovaDvojslova

    TextAnglickAnglick

    Velikost130KB130KB

    #vzork18,0759,038

    #rznch vzork1,5704,395

    #porovnn - Triv.256,799,832433,721,058

    #porovnn - KMP255,942,03099.7%430,220,02599.2%

    #porovnn - BM50,114,65819.5%52,046,08412.0%

    NrstNrst

    na vzorekna vzorek

    relativn

    ke KMP

    3.37771.0048

    3.36171.0000

    2.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKPorovnn na anglickm textu*)Vzhledem k linearit KMP meme pedpokldat, e kad z dvouslovnch vzork se nael v prmru 3,3617 krt dle od zatku textu ne u vzork jednoslovnchBM i pi 3,3617 krt vt vzdlenosti spoteboval jen 2,0770 krt vt poet operacNa prohledn stejn velkho objemu textu tedy potebuje pi dvojnsobnm prodlouen vzork jen 61,78% operac

    List1

    SlovaDvojslova

    TextAnglickAnglickNrstNrst

    Velikost130130na vzorekna vzorek

    #vzork18,0759,038relativn

    #rznch1,5704,395ke KMP

    Triv.256,799,832433,721,0583.37771.0048

    KMP255,942,030430,220,0253.36171.0000

    BM50,114,65852,046,0842.07700.6178

    List2

    List3

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)Jin efektivnj varianta BM zaloena na dvou jednorozmrnch polch P1 a P2 msto jednoho dvojrozmrnhoP1 obsahujexX posun, kter pod kolizn pozici zarovn posledn vskyt znaku x ve vzorku a nastav pozici porovnn na konec vzorku. Pokud se x ve vzorku nevyskytuje, je tedy P1[x] rovno dlce vzorku.

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)P2 obsahuje pro kadou pozici j ve vzorku dlku nejmenho monho posunu, kter pod ji spn porovnanou pponu vzorku na pozicch j+1 a m zarovn shodn podetzec vzorku.Pokud se nejpravj vskyt podetzce patj+1patm nachz na pozici nvp(j), potom P2[j]=m+1-nvp(j).Pokud se podetzce patj+1patm ve vzorku nenachz, hled se nejdel pedpona vzorku shodn s pponou podetzce patj+1patm

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)Posun shift(j, x) je definovn vrazem max(P1[x],P2[j])Nem cenu zarovnat kolizn znak, pokud se se vzorkem neshoduje zkontrolovan st textu a naopak

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)abccbabcabbcabbacbbabcbbabccbbacbbbTextPed pos.Po posunuBM(2)cabbbbacbbcabbbabccbacbbcabbacbbabcbbabccbbacbbTextPed pos.Po posunuBM(2)cbbababbbacbbcbbab

  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)procedure InitBM(const pat: string; var P1: ShiftArray1; var P2: ShiftArray2) var m, x, k, l: integer; KMP: KmpArray; NVP: NvpArray; begin {nejprve zkonstruujeme pole P1} m := length(pat); for x := 1 to ALPHABET_SIZE do P1[x] := m; for j := 1 to m do P1[pat[j]] := m-j; {oprav posun pro znak pat[j]} {nyn zkonstruujeme postupn pole P2} for j := 1 to m do NVP[j] := j-m+1; KMP[m] := m+1; j := m-1; {analogie KMPInit, zrcadlov pevrcen} while (j > -m) do begin k := j+1; l := k; repeat l := KMP[l]; until (l = m+1) or (l
  • DBI010 - DIS - MFF UKBoyer-Moorv algoritmus (2)function ShiftBM(const j: integer; const x: char): integer begin ShiftBM := max(P1[x],P2[j]); end {ShiftBM};procedure BMSearch(const txt: string; const pat: string); var m, n, i, j: byte; nalezeno: boolean; {2} P1: ShiftArray1; P2: ShiftArray2; begin m := length(pat); n := length(txt); InitBM(pat,P1,P2); i := m; while i 0) and (txt[i] = pat[j]) do begin dec(i); dec(j); {spn porovnn jednoho znaku} end; if j = 0 then begin ReportMatchAtPosition(i+1); i := i+1+m; {posun vzorku o jednu pozici} end else i := i+BMShift(j,x); {posun vzorku + skok na konec vzorku} end {while}; end {BMSearch};

  • DBI010 - DIS - MFF UKFS algoritmus (modifikace BM)Autoi: Jang-Jon Fan a Keh-Zih SuKombinace zptnho prohledvn s KMPPosun delta pi neshod V[j] s T[i], vzorek V[1..n]delta(n,x)= n, pokud x nen ve vzorku = n-max{k | V[k]=x}delta(j,x), j
  • DBI010 - DIS - MFF UKFS algoritmusabccbabcabbcabbacbbabcbbabccbbacbbbTextPed pos.Po posunuFScabbbbacbbcabbbabccbacbbcabbacbbabcbbabccbbacbbTextPed pos.Po posunuFScbbababbbacbbcbbab

  • DBI010 - DIS - MFF UKPorovnn algoritm

  • Pesn vyhledvn vzorkHledn konenho potu vzork v textu

  • DBI010 - DIS - MFF UKAlgoritmus Aho-CorrasickovSousmrn vyhledn vce vzork souasnRozen KMP algoritmuPedzpracovn vzorkLinern prchod textemasov sloitost o(m+ni), kde m je dlka textu ni je dlka i-tho vzorku

  • DBI010 - DIS - MFF UKA-C algoritmusText TMnoina vzork V={V1, V2, , Vk}Vyhledvac stroj S = (Q, X, q0, g, f, F)Q mnoina stavX abecedaq0Q poten stavg: Q x X Q (go) dopedn funkcef: Q Q (fail) zptn funkceF Q mnoina koncovch stav

  • DBI010 - DIS - MFF UKA-C algoritmusStavy mnoiny Q reprezentuj vechny prefixy vech vzorkStav q0 reprezentuje przdn prefix g(q,x) = qx, pokud je qxQJinak g(q0,x)=q0Jinak g(q,x) nedefinovnof(q) pro qq0 je rovna nejdelmu vlastnmu postfixu q v mnoin Q |f(q)|
  • DBI010 - DIS - MFF UKA-C algoritmusPi vyhledvn se vyuv vude definovan pechodov funkce (q,x): QxXX(q,x) = g(q,x), pokud g(q,x) definovna(q,x) = (f(q),x)Korektn definice, protoe |f(q)| - vzdlenost f(q) od potenho stavu - je men ne |q| a g(q0,x) je vdy definovna.

  • DBI010 - DIS - MFF UKA-C algoritmusKonstrukce f dle |q|, tedy dle vzdlenosti stavu od potkuPro q0 nen teba funkci definovatPro |q|=1 je nejdel vlastn postfix przdn, tedy f(q)=q0f(qx)=f(g(q,x)) = (f(q),x)Pi hledn hodnoty zptn funkce ve stavu qx, do kterho se pechz z q znakem x, je nutn se vrtit do q, pejt do f(q) a pot vped pes znak x

  • DBI010 - DIS - MFF UKA-C algoritmusPklad pro V={he,her,she}, funkce g

  • DBI010 - DIS - MFF UKA-C algoritmusPklad pro V={he,her,she}, funkce f

  • DBI010 - DIS - MFF UKA-C algoritmusDetekce vech vzork, vetn tch obsaench uvnit jinch:Buto pro kad stav q pedem sestrojme seznam vech detekovanch vzork prchodem seznamu stav dosaitelnch z q pes zptnou funkci, tedy stav f i(q), i>=0Nebo pi vstupu do q projdeme seznam dosaitelnch stav bhem vyhledvn

  • DBI010 - DIS - MFF UKfunction delta(q:stavy; x: abeceda):stavy; begin {delta} while g[q,x] = fail do q := f[q]; delta := g[q,x]; end; {delta} begin {A-C} q := 0; for i := 1 to length(t) do begin q := delta(q,t[i]); vypis(q); {vpis vzork koncch znakem t[i]} end; {for} end; {A-C}A-C algoritmus funkce delta

  • DBI010 - DIS - MFF UKKMP vs. A-C pro 1 vzorekShodn algoritmy s rozdlnm popisemj (~ porovnvan pozice)P[1]=0P[j]=k

    qj-1 (~ # porovnanch pozic)g(q0,*)=q0f(qj-1)=qk-1

  • DBI010 - DIS - MFF UKAlgoritmusCommentz-WalterovProtismrn vyhledn vce vzork souasnKombinace B-M a A-C algoritmPrmrn asov sloitost (pro pirozen jazyky) o(m/min(ni)), kde m je dlka textu ni je dlka i-tho vzorku

  • DBI010 - DIS - MFF UKC-W algoritmusText TMnoina vzork V={V1, V2, , Vk}Vyhledvac stroj S = (Q, X, q0, g, f, F)Q mnoina stavX abecedaq0Q poten stavg: Q x X Q (go) dopedn funkcef: Q Q (fail) zptn funkceF Q mnoina koncovch stav

  • DBI010 - DIS - MFF UKC-W algoritmusStavy mnoiny Q reprezentuj vechny postfixy vech vzorkStav q0 reprezentuje przdn postfix g(q,x) = xq, pokud je xqQf(q) pro qq0 je rovna nejdelmu vlastnmu prefixu q v mnoin Q |f(q)|
  • DBI010 - DIS - MFF UKC-W algoritmusDopedn funkce

  • DBI010 - DIS - MFF UKC-W algoritmusZptn funkcesheehesheherrerher

  • DBI010 - DIS - MFF UKC-W algoritmusLMIN = min(ni) dlka nejkratho vzorkuh(q) = |q| vzdlenost q od potkuchar(x) nejmen hloubka stavu do kterho se pechz pes xpred(q) pedchoz stav stavu q, tj. ten, kter reprezentuje o jedna krat postfixPokud g(q,x) nedef., posunou se vzorky o shift(q,x) pozic doprava a zane se stavem q0shift(q,x)=min( max( shift1(q,x), shift2(q) ), shift3(q) )

  • DBI010 - DIS - MFF UKC-W algoritmusshift1(q,x) = char(x)-h(q)-1, pokud > 0shift2(q) = min({LMIN}{h(q)-h(q), f(q)=q})shift3(q0) = LMINshift3(q) = min({shift3(pred(q))} {h(q)-h(q), k:fk(q)=q qF})

  • DBI010 - DIS - MFF UKC-W algoritmusshift1(q,x) zarovnn koliznho znaku char(y)-h(kolo)-1=8-4-1=3+3

  • DBI010 - DIS - MFF UKC-W algoritmusshift2(q) zarovnn zkontrolovan sti+1

  • DBI010 - DIS - MFF UKC-W algoritmusshift3(q) zarovnn (obecn postfixu) zkontrolovan sti bez nutnosti pout kolizn znak

  • DBI010 - DIS - MFF UKFS vs. BM vs. CW pro 1 vzorekNe zcela shodn algoritmyFS (+5) nen hor ne BM (+1)FS zarovnv kolizn znak spolu s prozkoumanou st, BM jen kolizn znakFS (+5) nen hor ne CW (+4)FS zarovnv kolizn znak spolu s prozkoumanou st, CW jen jednu z nichCW (+4) nen hor ne BM (+1)V BM je zarovnn dle koliznho znaku lpe definovno (vyuv i pozici kolize), ale tato vhoda se oproti CW pro jeden vzorek neprosad

  • Pesn vyhledvn vzorkHledn nekonenho potu vzork v textu

  • DBI010 - DIS - MFF UKRegulrn vrazy a jazykyRegulrn vraz RAtomick vrazya, a XOperaceU.V zetzenU+V sjednocenVk = V.VVV* = V0+V1+V2+V+ = V1+V2+V3+

    Hodnota vrazu h(R)

    przdn jazyk{} jen przdn slovo a, a X

    {u.v|uh(U) vh(V)}h(U)h(V)

  • DBI010 - DIS - MFF UKVlastnosti regulrnch vraz 1) U+(V+W) = (U+V)+W2) U.(V.W) = (U.V).W3) U+V = V+U4) (U+V).W = (U.W)+(V.W)5) U.(V+W) = (U.V)+(U.W)6) U+U = U7) .U = U8) .U = 9) U+ = U10) U* = +U*.U = (+U)*

  • DBI010 - DIS - MFF UKKonen automatK = ( Q, X, q0, , F ) Q je mnoina stavX je vstupn abecedaq0 Q je poten stav: Q x X Q je pechodov funkceF Q je mnoina koncovch stav.

  • DBI010 - DIS - MFF UKKonen automatKonfigurace KA(q,w) Q x X* Pechod KArelace (Q x X*) x (Q x X*)(q,aw) (q,w) (q,a) = qAutomat pijm slovo w (q0, w) * (q,), qF

  • DBI010 - DIS - MFF UKNedeterministickkonen automata) standardnK = ( Q, X, q0, , F ) b) rozenK = ( Q, X, S, , F )Q je mnoina stavX je vstupn abecedaq0 Q je poten stav S Q je mnoina potench stav: Q x X P(Q) je pechodov funkceF Q je mnoina koncovch stav

  • DBI010 - DIS - MFF UKNedeterministickkonen automatNKA pro{he, her, she}S={1,4,8}F={3,7,11}

    S={1}F={3,4,7}

  • DBI010 - DIS - MFF UKPevod NKADKAK=(Q, X, S, , F)K=(Q, X, q0, , F) Q = P(Q) Xq0 = S( q, x) = (q, x), qqF = {qQqF}

  • DBI010 - DIS - MFF UKPevod NKADKApovolena mnoina po. stav Tabulkou, jen dosaiteln stavy pechody do stavu 1 neuvedeny

    Sheet1

    stavozn.ehrsx

    {1,4,8}1{1,4,8}{1,2,4,5,8}{1,4,8}{1,4,8,9}{1,4,8}

    {1,2,4,5,8}2{1,3,4,6,8}{1,2,4,5,8}{1,4,8}{1,4,8,9}{1,4,8}

    {1,4,8,9}3{1,4,8}{1,2,4,5,8,10}{1,4,8}{1,4,8,9}{1,4,8}

    {1,3,4,6,8}4{1,4,8}{1,2,4,5,8}{1,4,7,8}{1,4,8,9}{1,4,8}

    {1,2,4,5,8,10}5{1,3,4,6,8,11}{1,2,4,5,8}{1,4,8}{1,4,8,9}{1,4,8}

    {1,4,7,8}6{1,4,8}{1,2,4,5,8}{1,4,8}{1,4,8,9}{1,4,8}

    {1,3,4,6,8,11}7{1,4,8}{1,2,4,5,8}{1,4,7,8}{1,4,8,9}{1,4,8}

    Sheet2

    Sheet3

  • DBI010 - DIS - MFF UKPevod NKADKApouze jeden po. stavTabulkou, jen dosaiteln stavy pechody do stavu 1 neuvedeny

    Sheet1

    stavozn.ehrsx

    {1}1{1}{1,2}{1}{1,5}{1}

    {1,2}2{1,3}{1,2}{1}{1,5}{1}

    {1,5}3{1}{1,2,6}{1}{1,5}{1}

    {1,3}4{1}{1,2}{1,4}{1,5}{1}

    {1,2,6}5{1,3,7}{1,2}{1}{1,5}{1}

    {1,4}6{1}{1,2}{1}{1,5}{1}

    {1,3,7}7{1}{1,2}{1,4}{1,5}{1}

  • DBI010 - DIS - MFF UKDerivace regulrnho vrazuPokud, , potom

    Nap., pokud , potom

  • DBI010 - DIS - MFF UKDerivace regulrnho vrazu

  • DBI010 - DIS - MFF UKKonstrukce KA pomoc derivaceDerivace regulrnho vrazu umouje pmou algoritmickou konstrukci DKA pro libovoln regulrn vrazDn regulrn vraz V nad abecedou XKad stav KA definuje mnoinu slov, kter KA pevedou ze stavu q do nkterho koncovho stavu. Tedy stav je mon ztotonit s regulrnm vrazem definujcm tuto mnoinuq0 = V(q,x) = F = {qQ | h(q)}

  • DBI010 - DIS - MFF UKKonstrukce KA pomoc derivaceV= (0+1)*.01 nad abecedou X={0,1}q0 = (0+1)*.01

  • DBI010 - DIS - MFF UKKonstrukce KA pomoc derivaceV= (0+1)*.01 nad abecedou X={0,1}

    q0 = (0+1)*.01F = {(0+1)*.01+}

    Sheet1

    stavozn.01

    (0+1)*.01A(0+1)*.01+1(0+1)*.01

    (0+1)*.01+1B(0+1)*.01+1(0+1)*.01+L

    (0+1)*.01+LC(0+1)*.01+1(0+1)*.01

    Sheet2

    Sheet3

  • DBI010 - DIS - MFF UKDvojcestn KA se skokemZobecnn vech vyhledvacch algoritmK = (Q, X, q0, , k, , F) Q je mnoina stavX je vstupn abecedaq0 Q je poten stav: Q x X Q x {-1,1,2,...,k} je pechodov funkcek N je maximln dlka skoku je znaka skokuF Q je mnoina koncovch stav

  • DBI010 - DIS - MFF UKDvojcestn KA se skokemKonfigurace: etzec x1x2...xi-1qxi...xj-1xj...xn z mnoiny X*QX*X* Pechodrelace (X*QX*X*) x (X*QX*X*)x1x2...xi-1qxi...xj-1xj...xn x1x2...xi-2qxi-1...xj-1xj...xn (q, xi) = (q, -1) x1x2...xi-1qxi...xj-1xj...xn x1x2...xi...xj...xt-1qxt...xn (q, xi) = (q, m), kde t=min(i+m,n+1)Pjem slova wq0w * wf, f F

  • DBI010 - DIS - MFF UKDvojcestn KA se skokemPokud se pouij pouze pechody tvaru (q, xi) = (q,1) bude automat simulovat standardn nedeterministick konen automatPozice skoku se dr neustle u tec hlavyAutomat postupn te znaky zleva doprava

  • DBI010 - DIS - MFF UK2CKAS simulujc B-M algoritmus se vzorkem ANANASVchoz konfigurace q0MEZI TROPICK OVOCE odpovd umstn vzorku ped text Nutno pidat pechod do alternativnho vchozho stavu q se skokem o dlku vzorku(q0,x) = (q,|ANANAS|) = (q,+6) pro xX

  • DBI010 - DIS - MFF UK2CKAS simulujc B-M algoritmus se vzorkem ANANASvodnm skokem automat pejde do konfigurace MEZI TqROPICK OVOCE , kter odpovd startu B-M algoritmu (q,A) = (q,+1) zarovnn znaku A(q,N) = (q,+2) zarovnn znaku N(q,S) = (q1,-1) oven prvnho znaku zprava

  • DBI010 - DIS - MFF UK2CKAS simulujc B-M algoritmus se vzorkem ANANASCelkovk = 6 = |ANANAS|Q = {q0,q,q1,q2,q3,q4,q5,q6}F = {q6}

    Oven posledn znak vzorku zprava. Nutno detekovat vskyt (q6) a zrove posunout vzorek tak, aby se pod prvn znak zprava (tj. S) dostal nejbli dal stejn znak. Zde dal S nen, proto posun o +6Kopie stavu q

    List1

    ANSX

    q0(qL,+6)(qL,+6)(qL,+6)(qL,+6)

    qL(qL,+1)(qL,+2)(q1,-1)(qL,+6)

    q1(q2,-1)(qL,+1)(qL,+5)(qL,+5)

    q2(qL,+1)(q3,-1)(qL,+4)(qL,+4)

    q3(q4,-1)(qL,+1)(qL,+3)(qL,+3)

    q4(qL,+1)(q5,-1)(qL,+2)(qL,+2)

    q5(q6,+6)(qL,+1)(qL,+1)(qL,+1)

    q6(qL,+1)(qL,+2)(q1,-1)(qL,+6)

    List2

    List3

  • DBI010 - DIS - MFF UKModelyrovn modelRozliuj (ne)ptomnost slov v dokumentechRozliuj frekvence vskyt slovRozliuj pozice vskyt slov v dokumentech

  • Modely DISBoolsk model

  • DBI010 - DIS - MFF UKBoolsk model DIS50-t lta 20. stol.Automatizace postup pouvanch v knihovnictv

  • DBI010 - DIS - MFF UKBoolsk model DISDatabze D obsahujc n dokumentD={d1, d2, dn}Dokumenty popisovny pomoc m termT ={t1, t2, tm}term tj = slovo nebo souslovReprezentace dokumentu pomoc mnoiny termObsaench v dokumentuPopisujcch vznam dokumentud1 T

  • DBI010 - DIS - MFF UKIndexace Boolskho DISPiazen mnoiny term, kter jej popisuj ke kadmu dokumentulenn indexanch technik dle zpsobu vytvenRunNekonzistentn. Vce indextor se nemus shodnout na mnoin term. Jeden indextor me po urit dob ohodnotit stejn dokument jinak.AutomatickKonzistentn, ale bez porozumn textu.lenn indexanch technik dle volnosti vbru termzenPedem dan mnoina term. Pouze se vyberou ty, vhodn pro dokument.NezenMnoina term se mn s pibvajcmi dokumenty.

  • DBI010 - DIS - MFF UKIndexaceTezaurusVnitn strukturovan mnoina termSynonyma s preferovanmi termyHierarchie uch/irch termPbuzn termy...Stop-listNevznamov slova

  • DBI010 - DIS - MFF UKIndexacePli obecn slova nejsou pro identifikaci dokument vhodnPli specifick slova tak ne

  • DBI010 - DIS - MFF UKBoolsk model DISDotaz je vyjden logickm vrazemta AND tbv dokumentu se vyskytuj oba termyta OR tbv dokumentu se vyskytuje alespo jeden z termNOT tv dokumentu se dan term nevyskytuje

  • DBI010 - DIS - MFF UKBoolsk model DISDotazem tedy me bt napklad:vyhledvn AND informacekdovn OR dekdovnzpracovn AND (dokument OR text)pota AND NOT osobn

  • DBI010 - DIS - MFF UKBoolsk model DISVceslovn termy v dotazechvyhledvn informacekdovn dat OR dekdovn datzpracovn textupota AND NOT osobn pota

  • DBI010 - DIS - MFF UKBoolsk model DISVyuit faktografickch daj (hodnot atribut)databze AND (autor = Salton)zpracovn textu AND (rok_vydn >= 1990)

  • DBI010 - DIS - MFF UKBoolsk model DISZstupn znaky v termechdatab* AND systm*zastupuje termy databze, databzov, systm, systmy, a pod.penosn? AND pota*zastupuje termy penosn, penosn, pota, potae, potaov a pod.

  • DBI010 - DIS - MFF UKOrganizace indexuInvertovan seznamPro kad term seznam dokument ve kterch se vyskytujet1 =d1,1,d1,2,...,d1,k1t2 =d2,1,d2,2,...,d2,k2tm =dm,1,dm,2,...,dm,km

  • DBI010 - DIS - MFF UKOrganizace indexuZpracovn dokument na vstupuvznikne posloupnost dvojic setdn dle v uvedenm poadSetdn dle term_id,dok_id a odstrann po sob jdoucch duplicit

  • DBI010 - DIS - MFF UKLemmatizace a disambiguaceeskho jazyka (FAL)Odpovdnm zstupcem neme bt kad. Zkon by ml zajistit individualizaci odpovdnosti a zajitn odbornosti. Odpovdnm odpovdn_^(kdo_za_nco_odpovd) AAIS7----1A---- zstupcemzstupceNNMS7-----A---- nememoci_^(mt_monost_[nco_dlat])VB-S---3P-NA--- btbtVf--------A---- kadkadAAIS1----1A---- slo odstavceslo vtyLemma vetn vznamuSlovn druh (Adverb), Slovo v dokumentu

  • DBI010 - DIS - MFF UKProximitn omezent1 (m,n) t2term t2 se vyskytuje v textu nejdle m slov za t1, nebo se t1 vyskytuje nejdle n slov za t2.t1 sentence t2termy se v dokumentu vyskytuj ve stejn vtt1 paragraph t2termy se v dokumentu vyskytuj ve stejnm odstavci

  • DBI010 - DIS - MFF UKProximitn omezenNahrazen opertoru konjunkcVyhodnocen dotazuOven v primrnm textuDel as pro vyhodnocenNutnost uloen primrnch dokumentDoplnn indexu o pozice term v dokumentechVt index

  • DBI010 - DIS - MFF UKOrganizace indexuZpracovn dokument na vstupuvznikne posloupnost ptic setdn dle v uvedenm poadSetdnvznikne posloupnost ptic

  • DBI010 - DIS - MFF UKVyuit tezauruBT(x) - Broader Term - ir term k termu xNT(x) - Narrower Terms - U termnyPT(x) - Preferred Term - Preferovan termnSYN(x) - SYNonyms -Synonyma k termu xRT(x) - Related Terms - Pbuzn termnyTT(x) - Top Term - Nejir termn

  • DBI010 - DIS - MFF UKNevhody Boolskho DISSalton:Formulace dotaz je spe umnm ne vdou.Nemonost ohodnotit vhodnost vystupujcch dokument.Vechny termy v dotazu i v identifikaci dokumentu jsou chpny jako stejn dleit.Nemonost zen velikosti vstupu.Nkter vsledky neodpovdaj intuitivn pedstav.V disjunktivnm dotazu na vstupu dokumenty obsahujc jedin z term vedle dokument obsahujcch vechny.V konjunktivnm dotazu na vstupu nejsou dokumenty neobsahujc dn z term ani dokument neobsahujc jeden z nich.

  • DBI010 - DIS - MFF UKsten setdn vstupuQ = (t1 OR t2) AND (t2 OR t3) AND t4 pevedeme do DKNFQ =(t1 AND t2 AND t3 AND t4)OR(t1 AND t2 AND NOT t3 AND t4)OR(t1 AND NOT t2 AND t3 AND t4)OR(NOT t1 AND t2 AND t3 AND t4)OR(NOT t1 AND t2 AND NOT t3 AND t4)

  • DBI010 - DIS - MFF UKsten setdn vstupuKad elementrn konjunkce (dle EK) je ohodnocena slem rovnm potu term v kladnm smyslu (bez NOT)Vechny EK se navzjem li alespo u jednoho termuKad dokument vyhovuje nejve jedn EKDokument lze ohodnotit slem, piazenm odpovdajc EK.

  • DBI010 - DIS - MFF UKsten setdn vstupuElementrnch konjunkc pro k pouitch term je 2kMonch ohodnocen je jen kProto me mt vce EK stejn ohodnocen(ta OR tb) = =(ta AND tb) ohodnocen 2 OR (ta AND NOT tb) ohodnocen 1 OR (NOT ta AND tb) ohodnocen 1

  • DBI010 - DIS - MFF UKVektorov model DIS70-t lta 20. stol.cca o 20 let mlad ne Boolsk DISSnaha minimalizovat nebo odstranit nevhody Boolskch DIS

  • DBI010 - DIS - MFF UKVektorov model DISDatabze D obsahujc n dokumentD={d1, d2, dn}Dokumenty popisovny pomoc m termT ={t1, t2, tm}term tj = slovo nebo souslovReprezentace dokumentu pomoc vektoru vah term

  • DBI010 - DIS - MFF UKVektorov model DISModel dokumentu wi,j mra dleitosti j-tho termu pro identifikaci i-tho dokumentuDotaz qj mra dleitosti j-tho termu pro tazatele

  • DBI010 - DIS - MFF UKIndex vektorovho DIS

  • DBI010 - DIS - MFF UKVektorov model DISPodobnost mezi vektorem dotazu a vektorem dokumentu je dna funkc0011

  • DBI010 - DIS - MFF UKPodobnostn funkce

    Pspvek mrn me dleitosti termu pro tazatele a pro dokumentKolm vektory maj nulovou podobnostVektory bze (jednotliv termy) navzjem kolm a tedy s nulovou podobnost

  • DBI010 - DIS - MFF UKPodobnostn funkce

    Vslednou podobnost ovlivuje velikost dotazu i velikost vektor jednotlivch dokumentDel vektory (piazen obvykle delm dokumentm) jsou zvhodnnyVhodn provdt normalizaci vektor

  • DBI010 - DIS - MFF UKNormalizace vektorEliminace vlivu dlky vektoru na podobnost

  • DBI010 - DIS - MFF UKNormalizace vektorBhem indexaceNezatuj vyhledvnNkdy nutn dvkov pepotat vektory v ppad, e normalizace zahrnuje faktory zvisl na cel mnoin vektorBhem vyhledvnSoust definice podobnostn funkceZpomaluje odezvu

  • DBI010 - DIS - MFF UKOmezen velikosti vstupuDokumenty na vstupu azeny sestupn dle podobnostiNejpodobnj dokumenty na zatkuMono omezit velikost vstupu a splnit snadno kritrium maximaOmezen max. potu vrcench dokumentPoadavek na minimln nutnou podobnost

  • DBI010 - DIS - MFF UKNegace ve vektorovm DIS

    Je mon uvaovat dotaz Potom me bt pspvek zpornTak lze upednostnit dokumenty, kter dan term neobsahuj

  • DBI010 - DIS - MFF UKSkalrn souin

  • DBI010 - DIS - MFF UKKosinov mra (Salton)

  • DBI010 - DIS - MFF UKJaccardova mra

  • DBI010 - DIS - MFF UKDiceova mra

  • DBI010 - DIS - MFF UKOverlap mra

  • DBI010 - DIS - MFF UKAsymetrick mra

  • DBI010 - DIS - MFF UKPseudo-kosinov mra

  • DBI010 - DIS - MFF UKIndexace ve vektorovm DISZaloena na potu opakovn slova v dokumentum astji se slovo opakuje, tm je dleitjFrekvence termu (Term Frequency) TFi,j = #vskyt_termu / #vech_vskyt

  • DBI010 - DIS - MFF UKIndexace ve vektorovm DISBez stop-listu na zatku seznamu nevznamov slova

    FREKV

    term#TF

    1the2390.0582

    2of960.0234

    3a840.0205

    4to780.0190

    5and700.0171

    6is650.0158

    7for600.0146

    8be530.0129

    9if520.0127

    10in490.0119

    11use490.0119

    12are440.0107

    13it440.0107

    14should380.0093

    15class330.0080

    16not330.0080

    17owl310.0076

    18this280.0068

    19c260.0063

    20line260.0063

    21do250.0061

    22example250.0061

    23aclass240.0058

    24comments230.0056

    25file230.0056

    26or230.0056

    27that230.0056

    28bi220.0054

    29with220.0054

    30as210.0051

    31functions200.0049

    32have190.0046

    33files180.0044

    34at170.0041

    35code170.0041

    36instead170.0041

    37int170.0041

    38data160.0039

    39each160.0039

    40from160.0039

    41public150.0037

    42they150.0037

    43void150.0037

    44by140.0034

    45check140.0034

    46macros140.0034

    47s140.0034

    48statement140.0034

    49using140.0034

    50all130.0032

    51an130.0032

    52any130.0032

    53block130.0032

    54defined130.0032

    55function130.0032

    56j130.0032

    57resource130.0032

    58used130.0032

    59will130.0032

    60windows130.0032

    61can120.0029

    62global120.0029

    63header120.0029

    64operator120.0029

    65pointers120.0029

    66than120.0029

    67variables120.0029

    68but110.0027

    69h110.0027

    70include110.0027

    71level110.0027

    72new110.0027

    73object110.0027

    74case100.0024

    75const100.0024

    76control100.0024

    77copyright100.0024

    78inline100.0024

    79member100.0024

    80must100.0024

    81on100.0024

    82stuff100.0024

    83style100.0024

    84them100.0024

    85which100.0024

    86define90.0022

    87headers90.0022

    88may90.0022

    89message90.0022

    90need90.0022

    91notice90.0022

    92rather90.0022

    93top90.0022

    94variable90.0022

    95also80.0019

    96always80.0019

    97boolexp80.0019

    98first80.0019

    99foo80.0019

    100indentation80.0019

    101local80.0019

    102memory80.0019

    103model80.0019

    104named80.0019

    105provides80.0019

    106some80.0019

    107there80.0019

    108various80.0019

    109when80.0019

    110within80.0019

    111bool70.0017

    112braces70.0017

    113cast70.0017

    114endif70.0017

    115following70.0017

    116group70.0017

    117its70.0017

    118long70.0017

    119number70.0017

    120one70.0017

    121only70.0017

    122plat70.0017

    123platform70.0017

    124pointer70.0017

    125same70.0017

    126source70.0017

    127then70.0017

    128tsomeobject70.0017

    129type70.0017

    130types70.0017

    131break60.0015

    132compiler60.0015

    133condition60.0015

    134declarations60.0015

    135declare60.0015

    136default60.0015

    137delete60.0015

    138examples60.0015

    139exception60.0015

    140general60.0015

    141i60.0015

    142identifiers60.0015

    143like60.0015

    144make60.0015

    145operating60.0015

    146prefix60.0015

    147scope60.0015

    148section60.0015

    149smart60.0015

    150statements60.0015

    151sure60.0015

    152these60.0015

    153too60.0015

    154what60.0015

    155x60.0015

    156b50.0012

    157because50.0012

    158being50.0012

    159bits50.0012

    160comment50.0012

    161constructor50.0012

    162definition50.0012

    163false50.0012

    164followed50.0012

    165identifier50.0012

    166keywords50.0012

    167list50.0012

    168more50.0012

    169multiple50.0012

    170near50.0012

    171objectptr50.0012

    172precompiled50.0012

    173protected50.0012

    174put50.0012

    175single50.0012

    176size50.0012

    177spaces50.0012

    178switch50.0012

    179target50.0012

    180true50.0012

    181up50.0012

    182usage50.0012

    183well50.0012

    184where50.0012

    185while50.0012

    186without50.0012

    187assignment40.0010

    188borland40.0010

    189called40.0010

    190cases40.0010

    191casts40.0010

    192characters40.0010

    193classname40.0010

    194command40.0010

    195dll40.0010

    196does40.0010

    197else40.0010

    198far40.0010

    199filename40.0010

    200flow40.0010

    201frame40.0010

    202get40.0010

    203has40.0010

    204here40.0010

    205indented40.0010

    206library40.0010

    207most40.0010

    208needed40.0010

    209needs40.0010

    210never40.0010

    211objectwindows40.0010

    212order40.0010

    213other40.0010

    214otherinstance40.0010

    215preceded40.0010

    216private40.0010

    217product40.0010

    218readme40.0010

    219rect40.0010

    220references40.0010

    221resources40.0010

    222right40.0010

    223sentry40.0010

    224separated40.0010

    225so40.0010

    226specific40.0010

    227statement140.0010

    228statement240.0010

    229static40.0010

    230supports40.0010

    231system40.0010

    232table40.0010

    233trace40.0010

    234try40.0010

    235unless40.0010

    236user40.0010

    237another30.0007

    238anywhere30.0007

    239array30.0007

    240been30.0007

    241blank30.0007

    242catch30.0007

    243character30.0007

    244child30.0007

    245condition230.0007

    246constructors30.0007

    247contained30.0007

    248copy30.0007

    249correctly30.0007

    250cpp30.0007

    251dashes30.0007

    252declaration30.0007

    253definitions30.0007

    254depending30.0007

    255description30.0007

    256document30.0007

    257double30.0007

    258e30.0007

    259end30.0007

    260enums30.0007

    261error30.0007

    262explain30.0007

    263format30.0007

    264func30.0007

    265guidelines30.0007

    266help30.0007

    267how30.0007

    268international30.0007

    269keep30.0007

    270large30.0007

    271logical30.0007

    272look30.0007

    273messages30.0007

    274models30.0007

    275name30.0007

    276no30.0007

    277open30.0007

    278owlmain30.0007

    279own30.0007

    280parentheses30.0007

    281possible30.0007

    282precondition30.0007

    283preprocessor30.0007

    284prevent30.0007

    285prototypes30.0007

    286redundant30.0007

    287response30.0007

    288return30.0007

    289second30.0007

    290separate30.0007

    291space30.0007

    292string30.0007

    293such30.0007

    294t30.0007

    295tclass130.0007

    296tclass230.0007

    297team30.0007

    298text30.0007

    299tframewindow30.0007

    300those30.0007

    301through30.0007

    302time30.0007

    303tlayoutwindow30.0007

    304twindow30.0007

    305txt30.0007

    306usually30.0007

    307very30.0007

    308virtual30.0007

    309warnings30.0007

    310whenever30.0007

    311whitespace30.0007

    312window30.0007

    313win1630.0007

    314win3230.0007

    315would30.0007

    316about20.0005

    317above20.0005

    318accidentally20.0005

    319add20.0005

    320api20.0005

    321app20.0005

    322apply20.0005

    323arg20.0005

    324argname120.0005

    325argname220.0005

    326arg120.0005

    327arg220.0005

    328around20.0005

    329before20.0005

    330begin20.0005

    331belong20.0005

    332better20.0005

    333bit20.0005

    334blocks20.0005

    335boolean20.0005

    336both20.0005

    337bottom20.0005

    338brace20.0005

    339breaking20.0005

    340bytes20.0005

    341capital20.0005

    342caught20.0005

    343certain20.0005

    344change20.0005

    345checker20.0005

    346choice120.0005

    347classlib20.0005

    348client20.0005

    349closing20.0005

    350coding20.0005

    351comma20.0005

    352common20.0005

    353compact20.0005

    354comparison20.0005

    355compile20.0005

    356compiled20.0005

    357compiles20.0005

    358conditionals20.0005

    359conditions20.0005

    360condition120.0005

    361consider20.0005

    362consistent20.0005

    363constants20.0005

    364contain20.0005

    365continuation20.0005

    366cplusplus20.0005

    367create20.0005

    368date20.0005

    369debugging20.0005

    370defines20.0005

    371derived20.0005

    372describe20.0005

    373describes20.0005

    374descriptive20.0005

    375destructor20.0005

    376diagnostic20.0005

    377dialog20.0005

    378doing20.0005

    379dos20.0005

    380easier20.0005

    381every20.0005

    382exe20.0005

    383explicit20.0005

    384explicitly20.0005

    385extern20.0005

    386find20.0005

    387follows20.0005

    388form20.0005

    389free20.0005

    390friend20.0005

    391funcname20.0005

    392good20.0005

    393groups20.0005

    394guard20.0005

    395guards20.0005

    396handle20.0005

    397huge20.0005

    398indent20.0005

    399initialization20.0005

    400initmainwindow20.0005

    401inside20.0005

    402instance20.0005

    403integer20.0005

    404isclosed20.0005

    405isopened20.0005

    406items20.0005

    407keyword20.0005

    408know20.0005

    409leaks20.0005

    410left20.0005

    411length20.0005

    412letter20.0005

    413lines20.0005

    414lives20.0005

    415loops20.0005

    416m20.0005

    417macro20.0005

    418made20.0005

    419makefile20.0005

    420makelong20.0005

    421medium20.0005

    422members20.0005

    423minimum20.0005

    424mixed20.0005

    425much20.0005

    426n20.0005

    427names20.0005

    428next20.0005

    429normally20.0005

    430notifications20.0005

    431ocf20.0005

    432operators20.0005

    433os20.0005

    434out20.0005

    435outside20.0005

    436over20.0005

    437page20.0005

    438paragraph20.0005

    439pch20.0005

    440platforms20.0005

    441pragma20.0005

    442problem20.0005

    443prove20.0005

    444ptr20.0005

    445published20.0005

    446purpose20.0005

    447read20.0005

    448refer20.0005

    449reference20.0005

    450reinterpret20.0005

    451required20.0005

    452returntype20.0005

    453run20.0005

    454short20.0005

    455since20.0005

    456small20.0005

    457specifically20.0005

    458stack20.0005

    459state20.0005

    460step120.0005

    461step220.0005

    462systems20.0005

    463tab20.0005

    464tapplication20.0005

    465targtype120.0005

    466targtype220.0005

    467technique20.0005

    468test20.0005

    469things20.0005

    470throw20.0005

    471thrown20.0005

    472tiny20.0005

    473title20.0005

    474tmywindow20.0005

    475together20.0005

    476typically20.0005

    477understanding20.0005

    478uppercase20.0005

    479version20.0005

    480vertically20.0005

    481want20.0005

    482warn20.0005

    483whether20.0005

    484why20.0005

    485word20.0005

    486words20.0005

    487works20.0005

    488xalias20.0005

    489y20.0005

    490year20.0005

    491accelerator10.0002

    492acn10.0002

    493actually10.0002

    494addition10.0002

    495additionally10.0002

    496advantageous10.0002

    497after10.0002

    498aid10.0002

    499alias10.0002

    500allocate10.0002

    501allocation10.0002

    502allow10.0002

    503alternatively10.0002

    504am10.0002

    505anachronism10.0002

    506animation10.0002

    507anybody10.0002

    508anyone10.0002

    509appear10.0002

    510applicable10.0002

    511application10.0002

    512applications10.0002

    513areas10.0002

    514argtype110.0002

    515argtype210.0002

    516argument10.0002

    517arguments10.0002

    518arg310.0002

    519assume10.0002

    520assumptions10.0002

    521attribute10.0002

    522attributes10.0002

    523autoclass10.0002

    524automatically10.0002

    525avoid10.0002

    526avoided10.0002

    527away10.0002

    528baseclass10.0002

    529based10.0002

    530beginning10.0002

    531begins10.0002

    532behavior10.0002

    533behaviour10.0002

    534benefit10.0002

    535benefits10.0002

    536between10.0002

    537bids10.0002

    538big10.0002

    539biggest10.0002

    540binary10.0002

    541bitmap10.0002

    542bmp10.0002

    543bn10.0002

    544bounds10.0002

    545breakage10.0002

    546bug10.0002

    547build10.0002

    548built10.0002

    549button10.0002

    550call10.0002

    551callback10.0002

    552cannot10.0002

    553capitalization10.0002

    554capitalized10.0002

    555cbn10.0002

    556cdn10.0002

    557cefileopen10.0002

    558cexxxx10.0002

    559changes10.0002

    560char10.0002

    561checkx10.0002

    562children10.0002

    563choices10.0002

    564choice1statement110.0002

    565choice2statement210.0002

    566chosen10.0002

    567clarify10.0002

    568classes10.0002

    569classmodifier10.0002

    570clearer10.0002

    571clearly10.0002

    572close10.0002

    573closes10.0002

    574cm10.0002

    575cmfileopen10.0002

    576cmxxxx10.0002

    577codeguard10.0002

    578column10.0002

    579combobox10.0002

    580commands10.0002

    581compareisequal10.0002

    582compatability10.0002

    583compatibility10.0002

    584compilers10.0002

    585complete10.0002

    586concept10.0002

    587conditional10.0002

    588condition1statement110.0002

    589condition1statement210.0002

    590condition2statement110.0002

    591condition2statement210.0002

    592confidential10.0002

    593conflicts10.0002

    594considered10.0002

    595constant10.0002

    596constant110.0002

    597constant210.0002

    598construction10.0002

    599consume10.0002

    600contains10.0002

    601continue10.0002

    602continues10.0002

    603controlled10.0002

    604controls10.0002

    605convention10.0002

    606conventions10.0002

    607con3210.0002

    608corresponding10.0002

    609correspondingly10.0002

    610could10.0002

    611cp10.0002

    612cramming10.0002

    613cross10.0002

    614current10.0002

    615cursor10.0002

    616d10.0002

    617datamember110.0002

    618datamember210.0002

    619debug10.0002

    620decide10.0002

    621declared10.0002

    622defaultstatement110.0002

    623defaultstatement210.0002

    624defining10.0002

    625definitely10.0002

    626defs10.0002

    627deletes10.0002

    628deleting10.0002

    629demonstrates10.0002

    630denote10.0002

    631derive10.0002

    632destructors10.0002

    633diagnostics10.0002

    634dib10.0002

    635difference10.0002

    636different10.0002

    637difficulty10.0002

    638directory10.0002

    639discuss10.0002

    640discusses10.0002

    641display10.0002

    642dlls10.0002

    643documents10.0002

    644done10.0002

    645downcast10.0002

    646dynamic10.0002

    647dynamically10.0002

    648edit10.0002

    649editing10.0002

    650efficient10.0002

    651effort10.0002

    652either10.0002

    653emulate10.0002

    654emulated10.0002

    655en10.0002

    656enabled10.0002

    657enabler10.0002

    658enablers10.0002

    659encapsulates10.0002

    660encountered10.0002

    661ends10.0002

    662entry10.0002

    663enum10.0002

    664eof10.0002

    665equally10.0002

    666exceeds10.0002

    667executable10.0002

    668exists10.0002

    669explains10.0002

    670expression10.0002

    671expressions10.0002

    672extract10.0002

    673f10.0002

    674fairly10.0002

    675features10.0002

    676feel10.0002

    677figures10.0002

    678filestate10.0002

    679finally10.0002

    680fine10.0002

    681fit10.0002

    682flat10.0002

    683follow10.0002

    684font10.0002

    685forget10.0002

    686formatted10.0002

    687forms10.0002

    688forward10.0002

    689four10.0002

    690fowarding10.0002

    691frames10.0002

    692framework10.0002

    693friendclass10.0002

    694friends10.0002

    695front10.0002

    696functionality10.0002

    697functionmodifier10.0002

    698gadgets10.0002

    699gen10.0002

    700generated10.0002

    701generating10.0002

    702gets10.0002

    703gobbledee10.0002

    704goes10.0002

    705gone10.0002

    706gook10.0002

    707goto10.0002

    708gotos10.0002

    709gray10.0002

    710grouped10.0002

    711guarantee10.0002

    712guide10.0002

    713had10.0002

    714handling10.0002

    715hardcoded10.0002

    716hdn10.0002

    717heading10.0002

    718helps10.0002

    719hidden10.0002

    720hiuint1610.0002

    721hiuint810.0002

    722hiword10.0002

    723ibm10.0002

    724icon10.0002

    725ida10.0002

    726idb10.0002

    727idc10.0002

    728idd10.0002

    729ide10.0002

    730idea10.0002

    731identation10.0002

    732idf10.0002

    733idg10.0002

    734idh10.0002

    735idi10.0002

    736idm10.0002

    737ids10.0002

    738idu10.0002

    739idv10.0002

    740idw10.0002

    741ifndef10.0002

    742implemenations10.0002

    743important10.0002

    744included10.0002

    745includes10.0002

    746including10.0002

    747ini10.0002

    748initial10.0002

    749inserted10.0002

    750insight10.0002

    751instanceptr10.0002

    752instrinsic10.0002

    753into10.0002

    754int1610.0002

    755int3210.0002

    756int810.0002

    757involving10.0002

    758item10.0002

    759iterate10.0002

    760kept10.0002

    761key10.0002

    762knows10.0002

    763l10.0002

    764language10.0002

    765last10.0002

    766layout10.0002

    767lbn10.0002

    768levels10.0002

    769liberally10.0002

    770linker10.0002

    771listbox10.0002

    772lists10.0002

    773listview10.0002

    774little10.0002

    775loading10.0002

    776locality10.0002

    777location10.0002

    778logically10.0002

    779longer10.0002

    780looking10.0002

    781looks10.0002

    782loop10.0002

    783lot10.0002

    784louint1610.0002

    785louint810.0002

    786lower10.0002

    787loword10.0002

    788lparam10.0002

    789lresult10.0002

    790lstrcpy10.0002

    791lumping10.0002

    792lvn10.0002

    793main10.0002

    794maintain10.0002

    795maintains10.0002

    796mainwindow10.0002

    797makefiles10.0002

    798makelparam10.0002

    799malloc10.0002

    800manages10.0002

    801manners10.0002

    802many10.0002

    803match10.0002

    804meant10.0002

    805memberfunc110.0002

    806mentioned10.0002

    807menu10.0002

    808method10.0002

    809methods10.0002

    810miscellaneous10.0002

    811mkuint1610.0002

    812mkuint3210.0002

    813module10.0002

    814morestuff10.0002

    815moving10.0002

    816msw10.0002

    817multi10.0002

    818multithreaded10.0002

    819mybitmap10.0002

    820naming10.0002

    821necessary10.0002

    822negative10.0002

    823nested10.0002

    824normal10.0002

    825notices10.0002

    826null10.0002

    827objects10.0002

    828obsolete10.0002

    829ole10.0002

    830ones10.0002

    831onto10.0002

    832opened10.0002

    833opening10.0002

    834opposed10.0002

    835optimizing10.0002

    836option10.0002

    837os210.0002

    838others10.0002

    839otherwise10.0002

    840owlclass10.0002

    841pageful10.0002

    842parameters10.0002

    843parent10.0002

    844parts10.0002

    845perhaps10.0002

    846pick10.0002

    847piece10.0002

    848place10.0002

    849placed10.0002

    850places10.0002

    851plays10.0002

    852point10.0002

    853portability10.0002

    854portable10.0002

    855possibly10.0002

    856precede10.0002

    857precedence10.0002

    858precedes10.0002

    859preceding10.0002

    860preconditionx10.0002

    861preferences10.0002

    862pretty10.0002

    863prevents10.0002

    864previous10.0002

    865printf10.0002

    866problems10.0002

    867programming10.0002

    868prone10.0002

    869proper10.0002

    870properly10.0002

    871provide10.0002

    872punctuation10.0002

    873putting10.0002

    874quickly10.0002

    875r10.0002

    876rc10.0002

    877readability10.0002

    878reading10.0002

    879really10.0002

    880recent10.0002

    881regardless10.0002

    882release10.0002

    883remove10.0002

    884removed10.0002

    885replace10.0002

    886requested10.0002

    887requirement10.0002

    888reserved10.0002

    889resolution10.0002

    890returned10.0002

    891rh10.0002

    892rights10.0002

    893role10.0002

    894rtl10.0002

    895rules10.0002

    896safer10.0002

    897save10.0002

    898says10.0002

    899scoping10.0002

    900screenful10.0002

    901sections10.0002

    902segmented10.0002

    903self10.0002

    904semicolon10.0002

    905sentences10.0002

    906sentries10.0002

    907separates10.0002

    908sequence10.0002

    909set10.0002

    910setmainwindow10.0002

    911ship10.0002

    912side10.0002

    913situations10.0002

    914sizes10.0002

    915slash10.0002

    916smaller10.0002

    917somefunction10.0002

    918something10.0002

    919spacing10.0002

    920specified10.0002

    921sprinkled10.0002

    922sqrt10.0002

    923standard10.0002

    924start10.0002

    925startup10.0002

    926statement310.0002

    927statement410.0002

    928statement510.0002

    929statement610.0002

    930still10.0002

    931strcpy10.0002

    932strict10.0002

    933struct10.0002

    934structs10.0002

    935subdirectories10.0002

    936suggestion10.0002

    937support10.0002

    938supporting10.0002

    939symbol10.0002

    940synonymous10.0002

    941tabs10.0002

    942tapointer10.0002

    943targtype310.0002

    944tbn10.0002

    945tcn10.0002

    946tcommandenabler10.0002

    947tdecoratedframe10.0002

    948teventhandler10.0002

    949their10.0002

    950therefore10.0002

    951thread10.0002

    952throughout10.0002

    953tmdiframe10.0002

    954tmsgid10.0002

    955toolbar10.0002

    956tools10.0002

    957tooltip10.0002

    958tparam110.0002

    959tparam210.0002

    960tpointer10.0002

    961tracex10.0002

    962track10.0002

    963treeview10.0002

    964tresult10.0002

    965trinary10.0002

    966truncated10.0002

    967ttn10.0002

    968turned10.0002

    969tvn10.0002

    970twice10.0002

    971two10.0002

    972typemodifier10.0002

    973typesafe10.0002

    974udn10.0002

    975uint10.0002

    976uint1610.0002

    977uint3210.0002

    978uint810.0002

    979undefined10.0002

    980unions10.0002

    981unlike10.0002

    982unsigned10.0002

    983updated10.0002

    984updown10.0002

    985users10.0002

    986uses10.0002

    987validate10.0002

    988validation10.0002

    989values10.0002

    990versioninfo10.0002

    991versions10.0002

    992visibility10.0002

    993warnx10.0002

    994was10.0002

    995whereas10.0002

    996winmain10.0002

    997wonderfulmacro10.0002

    998work10.0002

    999wparam10.0002

    1000wrap10.0002

    1001wrapper10.0002

    1002wrappers10.0002

    1003write10.0002

    1004writing10.0002

    1005written10.0002

    1006xxxx10.0002

    1007xyz10.0002

    1008years10.0002

    1009yo10.0002

    4104

    FREKV STOP

    term#TFNTF

    1use490.01191.00000.0119

    2class330.00800.83670.0161

    3owl310.00760.81630.0227

    4c260.00630.76530.0253

    5line260.00630.76530.0317

    6example250.00610.75510.0365

    7comments230.00560.73470.0392

    8file230.00560.73470.0448

    9bi220.00540.72450.0482

    10functions200.00490.70410.0487

    11files180.00440.68370.0482

    12code170.00410.67350.0497

    13int170.00410.67350.0538

    14data160.00390.66330.0546

    15public150.00370.65310.0548

    16void150.00370.65310.0585

    17check140.00340.64290.0580

    18macros140.00340.64290.0614

    19statement140.00340.64290.0648

    20using140.00340.64290.0682

    21block130.00320.63270.0665

    22defined130.00320.63270.0697

    23function130.00320.63270.0729

    24resource130.00320.63270.0760

    25used130.00320.63270.0792

    26windows130.00320.63270.0824

    27global120.00290.62240.0789

    28header120.00290.62240.0819

    29operator120.00290.62240.0848

    30pointers120.00290.62240.0877

    31than120.00290.62240.0906

    32variables120.00290.62240.0936

    33but110.00270.61220.0885

    34h110.00270.61220.0911

    35include110.00270.61220.0938

    36level110.00270.61220.0965

    37new110.00270.61220.0992

    38object110.00270.61220.1019

    39case100.00240.60200.0950

    40const100.00240.60200.0975

    41control100.00240.60200.0999

    42copyright100.00240.60200.1023

    43inline100.00240.60200.1048

    44member100.00240.60200.1072

    45must100.00240.60200.1096

    46on100.00240.60200.1121

    47stuff100.00240.60200.1145

    48style100.00240.60200.1170

    49them100.00240.60200.1194

    50which100.00240.60200.1218

    51define90.00220.59180.1118

    52headers90.00220.59180.1140

    53may90.00220.59180.1162

    54message90.00220.59180.1184

    55need90.00220.59180.1206

    56notice90.00220.59180.1228

    57rather90.00220.59180.1250

    58top90.00220.59180.1272

    59variable90.00220.59180.1294

    60also80.00190.58160.1170

    61always80.00190.58160.1189

    62boolexp80.00190.58160.1209

    63first80.00190.58160.1228

    64foo80.00190.58160.1248

    65indentation80.00190.58160.1267

    66local80.00190.58160.1287

    67memory80.00190.58160.1306

    68model80.00190.58160.1326

    69named80.00190.58160.1345

    70provides80.00190.58160.1365

    71some80.00190.58160.1384

    72there80.00190.58160.1404

    73various80.00190.58160.1423

    74when80.00190.58160.1442

    75within80.00190.58160.1462

    76bool70.00170.57140.1296

    77braces70.00170.57140.1313

    78cast70.00170.57140.1330

    79endif70.00170.57140.1347

    80following70.00170.57140.1365

    81group70.00170.57140.1382

    82its70.00170.57140.1399

    83long70.00170.57140.1416

    84number70.00170.57140.1433

    85one70.00170.57140.1450

    86only70.00170.57140.1467

    87plat70.00170.57140.1484

    88platform70.00170.57140.1501

    89pointer70.00170.57140.1518

    90same70.00170.57140.1535

    91source70.00170.57140.1552

    92then70.00170.57140.1569

    93tsomeobject70.00170.57140.1586

    94type70.00170.57140.1603

    95types70.00170.57140.1620

    96break60.00150.56120.1404

    97compiler60.00150.56120.1418

    98condition60.00150.56120.1433

    99declarations60.00150.56120.1447

    100declare60.00150.56120.1462

    101default60.00150.56120.1477

    102delete60.00150.56120.1491

    103examples60.00150.56120.1506

    104exception60.00150.56120.1520

    105general60.00150.56120.1535

    106i60.00150.56120.1550

    107identifiers60.00150.56120.1564

    108like60.00150.56120.1579

    109make60.00150.56120.1594

    110operating60.00150.56120.1608

    111prefix60.00150.56120.1623

    112scope60.00150.56120.1637

    113section60.00150.56120.1652

    114smart60.00150.56120.1667

    115statements60.00150.56120.1681

    116sure60.00150.56120.1696

    117these60.00150.56120.1711

    118too60.00150.56120.1725

    119what60.00150.56120.1740

    120x60.00150.56120.1754

    121b50.00120.55100.1474

    122because50.00120.55100.1486

    123being50.00120.55100.1499

    124bits50.00120.55100.1511

    125comment50.00120.55100.1523

    126constructor50.00120.55100.1535

    127definition50.00120.55100.1547

    128false50.00120.55100.1559

    129followed50.00120.55100.1572

    130identifier50.00120.55100.1584

    131keywords50.00120.55100.1596

    132list50.00120.55100.1608

    133more50.00120.55100.1620

    134multiple50.00120.55100.1633

    135near50.00120.55100.1645

    136objectptr50.00120.55100.1657

    137precompiled50.00120.55100.1669

    138protected50.00120.55100.1681

    139put50.00120.55100.1693

    140single50.00120.55100.1706

    141size50.00120.55100.1718

    142spaces50.00120.55100.1730

    143switch50.00120.55100.1742

    144target50.00120.55100.1754

    145true50.00120.55100.1767

    146up50.00120.55100.1779

    147usage50.00120.55100.1791

    148well50.00120.55100.1803

    149where50.00120.55100.1815

    150while50.00120.55100.1827

    151without50.00120.55100.1840

    152assignment40.00100.00000.1481

    153borland40.00100.00000.1491

    154called40.00100.00000.1501

    155cases40.00100.00000.1511

    156casts40.00100.00000.1520

    157characters40.00100.00000.1530

    158classname40.00100.00000.1540

    159command40.00100.00000.1550

    160dll40.00100.00000.1559

    161does40.00100.00000.1569

    162else40.00100.00000.1579

    163far40.00100.00000.1589

    164filename40.00100.00000.1598

    165flow40.00100.00000.1608

    166frame40.00100.00000.1618

    167get40.00100.00000.1628

    168has40.00100.00000.1637

    169here40.00100.00000.1647

    170indented40.00100.00000.1657

    171library40.00100.00000.1667

    172most40.00100.00000.1676

    173needed40.00100.00000.1686

    174needs40.00100.00000.1696

    175never40.00100.00000.1706

    176objectwindows40.00100.00000.1715

    177order40.00100.00000.1725

    178other40.00100.00000.1735

    179otherinstance40.00100.00000.1745

    180preceded40.00100.00000.1754

    181private40.00100.00000.1764

    182product40.00100.00000.1774

    183readme40.00100.00000.1784

    184rect40.00100.00000.1793

    185references40.00100.00000.1803

    186resources40.00100.00000.1813

    187right40.00100.00000.1823

    188sentry40.00100.00000.1832

    189separated40.00100.00000.1842

    190so40.00100.00000.1852

    191specific40.00100.00000.1862

    192statement140.00100.00000.1871

    193statement240.00100.00000.1881

    194static40.00100.00000.1891

    195supports40.00100.00000.1901

    196system40.00100.00000.1910

    197table40.00100.00000.1920

    198trace40.00100.00000.1930

    199try40.00100.00000.1940

    200unless40.00100.00000.1949

    201user40.00100.00000.1959

    202another30.00070.00000.1477

    203anywhere30.00070.00000.1484

    204array30.00070.00000.1491

    205been30.00070.00000.1499

    206blank30.00070.00000.1506

    207catch30.00070.00000.1513

    208character30.00070.00000.1520

    209child30.00070.00000.1528

    210condition230.00070.00000.1535

    211constructors30.00070.00000.1542

    212contained30.00070.00000.1550

    213copy30.00070.00000.1557

    214correctly30.00070.00000.1564

    215cpp30.00070.00000.1572

    216dashes30.00070.00000.1579

    217declaration30.00070.00000.1586

    218definitions30.00070.00000.1594

    219depending30.00070.00000.1601

    220description30.00070.00000.1608

    221document30.00070.00000.1615

    222double30.00070.00000.1623

    223e30.00070.00000.1630

    224end30.00070.00000.1637

    225enums30.00070.00000.1645

    226error30.00070.00000.1652

    227explain30.00070.00000.1659

    228format30.00070.00000.1667

    229func30.00070.00000.1674

    230guidelines30.00070.00000.1681

    231help30.00070.00000.1689

    232how30.00070.00000.1696

    233international30.00070.00000.1703

    234keep30.00070.00000.1711

    235large30.00070.00000.1718

    236logical30.00070.00000.1725

    237look30.00070.00000.1732

    238messages30.00070.00000.1740

    239models30.00070.00000.1747

    240name30.00070.00000.1754

    241no30.00070.00000.1762

    242open30.00070.00000.1769

    243owlmain30.00070.00000.1776

    244own30.00070.00000.1784

    245parentheses30.00070.00000.1791

    246possible30.00070.00000.1798

    247precondition30.00070.00000.1806

    248preprocessor30.00070.00000.1813

    249prevent30.00070.00000.1820

    250prototypes30.00070.00000.1827

    251redundant30.00070.00000.1835

    252response30.00070.00000.1842

    253return30.00070.00000.1849

    254second30.00070.00000.1857

    255separate30.00070.00000.1864

    256space30.00070.00000.1871

    257string30.00070.00000.1879

    258such30.00070.00000.1886

    259t30.00070.00000.1893

    260tclass130.00070.00000.1901

    261tclass230.00070.00000.1908

    262team30.00070.00000.1915

    263text30.00070.00000.1923

    264tframewindow30.00070.00000.1930

    265those30.00070.00000.1937

    266through30.00070.00000.1944

    267time30.00070.00000.1952

    268tlayoutwindow30.00070.00000.1959

    269twindow30.00070.00000.1966

    270txt30.00070.00000.1974

    271usually30.00070.00000.1981

    272very30.00070.00000.1988

    273virtual30.00070.00000.1996

    274warnings30.00070.00000.2003

    275whenever30.00070.00000.2010

    276whitespace30.00070.00000.2018

    277window30.00070.00000.2025

    278win1630.00070.00000.2032

    279win3230.00070.00000.2039

    280would30.00070.00000.2047

    281about20.00050.00000.1369

    282above20.00050.00000.1374

    283accidentally20.00050.00000.1379

    284add20.00050.00000.1384

    285api20.00050.00000.1389

    286app20.00050.00000.1394

    287apply20.00050.00000.1399

    288arg20.00050.00000.1404

    289argname120.00050.00000.1408

    290argname220.00050.00000.1413

    291arg120.00050.00000.1418

    292arg220.00050.00000.1423

    293around20.00050.00000.1428

    294before20.00050.00000.1433

    295begin20.00050.00000.1438

    296belong20.00050.00000.1442

    297better20.00050.00000.1447

    298bit20.00050.00000.1452

    299blocks20.00050.00000.1457

    300boolean20.00050.00000.1462

    301both20.00050.00000.1467

    302bottom20.00050.00000.1472

    303brace20.00050.00000.1477

    304breaking20.00050.00000.1481

    305bytes20.00050.00000.1486

    306capital20.00050.00000.1491

    307caught20.00050.00000.1496

    308certain20.00050.00000.1501

    309change20.00050.00000.1506

    310checker20.00050.00000.1511

    311choice120.00050.00000.1516

    312classlib20.00050.00000.1520

    313client20.00050.00000.1525

    314closing20.00050.00000.1530

    315coding20.00050.00000.1535

    316comma20.00050.00000.1540

    317common20.00050.00000.1545

    318compact20.00050.00000.1550

    319comparison20.00050.00000.1555

    320compile20.00050.00000.1559

    321compiled20.00050.00000.1564

    322compiles20.00050.00000.1569

    323conditionals20.00050.00000.1574

    324conditions20.00050.00000.1579

    325condition120.00050.00000.1584

    326consider20.00050.00000.1589

    327consistent20.00050.00000.1594

    328constants20.00050.00000.1598

    329contain20.00050.00000.1603

    330continuation20.00050.00000.1608

    331cplusplus20.00050.00000.1613

    332create20.00050.00000.1618

    333date20.00050.00000.1623

    334debugging20.00050.00000.1628

    335defines20.00050.00000.1633

    336derived20.00050.00000.1637

    337describe20.00050.00000.1642

    338describes20.00050.00000.1647

    339descriptive20.00050.00000.1652

    340destructor20.00050.00000.1657

    341diagnostic20.00050.00000.1662

    342dialog20.00050.00000.1667

    343doing20.00050.00000.1672

    344dos20.00050.00000.1676

    345easier20.00050.00000.1681

    346every20.00050.00000.1686

    347exe20.00050.00000.1691

    348explicit20.00050.00000.1696

    349explicitly20.00050.00000.1701

    350extern20.00050.00000.1706

    351find20.00050.00000.1711

    352follows20.00050.00000.1715

    353form20.00050.00000.1720

    354free20.00050.00000.1725

    355friend20.00050.00000.1730

    356funcname20.00050.00000.1735

    357good20.00050.00000.1740

    358groups20.00050.00000.1745

    359guard20.00050.00000.1750

    360guards20.00050.00000.1754

    361handle20.00050.00000.1759

    362huge20.00050.00000.1764

    363indent20.00050.00000.1769

    364initialization20.00050.00000.1774

    365initmainwindow20.00050.00000.1779

    366inside20.00050.00000.1784

    367instance20.00050.00000.1788

    368integer20.00050.00000.1793

    369isclosed20.00050.00000.1798

    370isopened20.00050.00000.1803

    371items20.00050.00000.1808

    372keyword20.00050.00000.1813

    373know20.00050.00000.1818

    374leaks20.00050.00000.1823

    375left20.00050.00000.1827

    376length20.00050.00000.1832

    377letter20.00050.00000.1837

    378lines20.00050.00000.1842

    379lives20.00050.00000.1847

    380loops20.00050.00000.1852

    381m20.00050.00000.1857

    382macro20.00050.00000.1862

    383made20.00050.00000.1866

    384makefile20.00050.00000.1871

    385makelong20.00050.00000.1876

    386medium20.00050.00000.1881

    387members20.00050.00000.1886

    388minimum20.00050.00000.1891

    389mixed20.00050.00000.1896

    390much20.00050.00000.1901

    391n20.00050.00000.1905

    392names20.00050.00000.1910

    393next20.00050.00000.1915

    394normally20.00050.00000.1920

    395notifications20.00050.00000.1925

    396ocf20.00050.00000.1930

    397operators20.00050.00000.1935

    398os20.00050.00000.1940

    399out20.00050.00000.1944

    400outside20.00050.00000.1949

    401over20.00050.00000.1954

    402page20.00050.00000.1959

    403paragraph20.00050.00000.1964

    404pch20.00050.00000.1969

    405platforms20.00050.00000.1974

    406pragma20.00050.00000.1979

    407problem20.00050.00000.1983

    408prove20.00050.00000.1988

    409ptr20.00050.00000.1993

    410published20.00050.00000.1998

    411purpose20.00050.00000.2003

    412read20.00050.00000.2008

    413refer20.00050.00000.2013

    414reference20.00050.00000.2018

    415reinterpret20.00050.00000.2022

    416required20.00050.00000.2027

    417returntype20.00050.00000.2032

    418run20.00050.00000.2037

    419short20.00050.00000.2042

    420since20.00050.00000.2047

    421small20.00050.00000.2052

    422specifically20.00050.00000.2057

    423stack20.00050.00000.2061

    424state20.00050.00000.2066

    425step120.00050.00000.2071

    426step220.00050.00000.2076

    427systems20.00050.00000.2081

    428tab20.00050.00000.2086

    429tapplication20.00050.00000.2091

    430targtype120.00050.00000.2096

    431targtype220.00050.00000.2100

    432technique20.00050.00000.2105

    433test20.00050.00000.2110

    434things20.00050.00000.2115

    435throw20.00050.00000.2120

    436thrown20.00050.00000.2125

    437tiny20.00050.00000.2130

    438title20.00050.00000.2135

    439tmywindow20.00050.00000.2139

    440together20.00050.00000.2144

    441typically20.00050.00000.2149

    442understanding20.00050.00000.2154

    443uppercase20.00050.00000.2159

    444version20.00050.00000.2164

    445vertically20.00050.00000.2169

    446want20.00050.00000.2173

    447warn20.00050.00000.2178

    448whether20.00050.00000.2183

    449why20.00050.00000.2188

    450word20.00050.00000.2193

    451words20.00050.00000.2198

    452works20.00050.00000.2203

    453xalias20.00050.00000.2208

    454y20.00050.00000.2212

    455year20.00050.00000.2217

    456accelerator10.00020.00000.1111

    457acn10.00020.00000.1114

    458actually10.00020.00000.1116

    459addition10.00020.00000.1118

    460additionally10.00020.00000.1121

    461advantageous10.00020.00000.1123

    462after10.00020.00000.1126

    463aid10.00020.00000.1128

    464alias10.00020.00000.1131

    465allocate10.00020.00000.1133

    466allocation10.00020.00000.1135

    467allow10.00020.00000.1138

    468alternatively10.00020.00000.1140

    469am10.00020.00000.1143

    470anachronism10.00020.00000.1145

    471animation10.00020.00000.1148

    472anybody10.00020.00000.1150

    473anyone10.00020.00000.1153

    474appear10.00020.00000.1155

    475applicable10.00020.00000.1157

    476application10.00020.00000.1160

    477applications10.00020.00000.1162

    478areas10.00020.00000.1165

    479argtype110.00020.00000.1167

    480argtype210.00020.00000.1170

    481argument10.00020.00000.1172

    482arguments10.00020.00000.1174

    483arg310.00020.00000.1177

    484assume10.00020.00000.1179

    485assumptions10.00020.00000.1182

    486attribute10.00020.00000.1184

    487attributes10.00020.00000.1187

    488autoclass10.00020.00000.1189

    489automatically10.00020.00000.1192

    490avoid10.00020.00000.1194

    491avoided10.00020.00000.1196

    492away10.00020.00000.1199

    493baseclass10.00020.00000.1201

    494based10.00020.00000.1204

    495beginning10.00020.00000.1206

    496begins10.00020.00000.1209

    497behavior10.00020.00000.1211

    498behaviour10.00020.00000.1213

    499benefit10.00020.00000.1216

    500benefits10.00020.00000.1218

    501between10.00020.00000.1221

    502bids10.00020.00000.1223

    503big10.00020.00000.1226

    504biggest10.00020.00000.1228

    505binary10.00020.00000.1231

    506bitmap10.00020.00000.1233

    507bmp10.00020.00000.1235

    508bn10.00020.00000.1238

    509bounds10.00020.00000.1240

    510breakage10.00020.00000.1243

    511bug10.00020.00000.1245

    512build10.00020.00000.1248

    513built10.00020.00000.1250

    514button10.00020.00000.1252

    515call10.00020.00000.1255

    516callback10.00020.00000.1257

    517cannot10.00020.00000.1260

    518capitalization10.00020.00000.1262

    519capitalized10.00020.00000.1265

    520cbn10.00020.00000.1267

    521cdn10.00020.00000.1269

    522cefileopen10.00020.00000.1272

    523cexxxx10.00020.00000.1274

    524changes10.00020.00000.1277

    525char10.00020.00000.1279

    526checkx10.00020.00000.1282

    527children10.00020.00000.1284

    528choices10.00020.00000.1287

    529choice1statement110.00020.00000.1289

    530choice2statement210.00020.00000.1291

    531chosen10.00020.00000.1294

    532clarify10.00020.00000.1296

    533classes10.00020.00000.1299

    534classmodifier10.00020.00000.1301

    535clearer10.00020.00000.1304

    536clearly10.00020.00000.1306

    537close10.00020.00000.1308

    538closes10.00020.00000.1311

    539cm10.00020.00000.1313

    540cmfileopen10.00020.00000.1316

    541cmxxxx10.00020.00000.1318

    542codeguard10.00020.00000.1321

    543column10.00020.00000.1323

    544combobox10.00020.00000.1326

    545commands10.00020.00000.1328

    546compareisequal10.00020.00000.1330

    547compatability10.00020.00000.1333

    548compatibility10.00020.00000.1335

    549compilers10.00020.00000.1338

    550complete10.00020.00000.1340

    551concept10.00020.00000.1343

    552conditional10.00020.00000.1345

    553condition1statement110.00020.00000.1347

    554condition1statement210.00020.00000.1350

    555condition2statement110.00020.00000.1352

    556condition2statement210.00020.00000.1355

    557confidential10.00020.00000.1357

    558conflicts10.00020.00000.1360

    559considered10.00020.00000.1362

    560constant10.00020.00000.1365

    561constant110.00020.00000.1367

    562constant210.00020.00000.1369

    563construction10.00020.00000.1372

    564consume10.00020.00000.1374

    565contains10.00020.00000.1377

    566continue10.00020.00000.1379

    567continues10.00020.00000.1382

    568controlled10.00020.00000.1384

    569controls10.00020.00000.1386

    570convention10.00020.00000.1389

    571conventions10.00020.00000.1391

    572con3210.00020.00000.1394

    573corresponding10.00020.00000.1396

    574correspondingly10.00020.00000.1399

    575could10.00020.00000.1401

    576cp10.00020.00000.1404

    577cramming10.00020.00000.1406

    578cross10.00020.00000.1408

    579current10.00020.00000.1411

    580cursor10.00020.00000.1413

    581d10.00020.00000.1416

    582datamember110.00020.00000.1418

    583datamember210.00020.00000.1421

    584debug10.00020.00000.1423

    585decide10.00020.00000.1425

    586declared10.00020.00000.1428

    587defaultstatement110.00020.00000.1430

    588defaultstatement210.00020.00000.1433

    589defining10.00020.00000.1435

    590definitely10.00020.00000.1438

    591defs10.00020.00000.1440

    592deletes10.00020.00000.1442

    593deleting10.00020.00000.1445

    594demonstrates10.00020.00000.1447

    595denote10.00020.00000.1450

    596derive10.00020.00000.1452

    597destructors10.00020.00000.1455

    598diagnostics10.00020.00000.1457

    599dib10.00020.00000.1460

    600difference10.00020.00000.1462

    601different10.00020.00000.1464

    602difficulty10.00020.00000.1467

    603directory10.00020.00000.1469

    604discuss10.00020.00000.1472

    605discusses10.00020.00000.1474

    606display10.00020.00000.1477

    607dlls10.00020.00000.1479

    608documents10.00020.00000.1481

    609done10.00020.00000.1484

    610downcast10.00020.00000.1486

    611dynamic10.00020.00000.1489

    612dynamically10.00020.00000.1491

    613edit10.00020.00000.1494

    614editing10.00020.00000.1496

    615efficient10.00020.00000.1499

    616effort10.00020.00000.1501

    617either10.00020.00000.1503

    618emulate10.00020.00000.1506

    619emulated10.00020.00000.1508

    620en10.00020.00000.1511

    621enabled10.00020.00000.1513

    622enabler10.00020.00000.1516

    623enablers10.00020.00000.1518

    624encapsulates10.00020.00000.1520

    625encountered10.00020.00000.1523

    626ends10.00020.00000.1525

    627entry10.00020.00000.1528

    628enum10.00020.00000.1530

    629eof10.00020.00000.1533

    630equally10.00020.00000.1535

    631exceeds10.00020.00000.1538

    632executable10