Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Documente similare
Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Curs 6: Clasificarea surselor de informatii - Clasificarea Bayes Naiva. Modelul Bernoulli

Capitole Speciale de Informatica - Curs 5: Extragerea informatiilor prin feedback de relevanta. Metode probabiliste de extragere a informatiilor

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Subiectul 1

Microsoft Word - Curs1.docx

Slide 1

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

E_d_Informatica_sp_SN_2014_bar_10_LRO

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

SUBPROGRAME

METODE NUMERICE ÎN INGINERIE

1

Diapositive 1

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

Microsoft Word - Curs_08.doc

ALGORITHMICS

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

E_d_Informatica_sp_MI_2015_bar_02_LRO

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Spatii vectoriale

Microsoft Word - Curs_09.doc

Programarea şi utilizarea calculatoarelor

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

I

Laborator 3

carteInvataturaEd_2.0_lectia5.pdf

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Microsoft Word - CarteC.doc

Notiuni de algebra booleana

Microsoft Word - Ansamblul software CRONIS

CRIPTOSISTEME SIMETRICE I

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

Microsoft Word - TIC5

Microsoft Word - Curs_10.doc

Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

LABORATOR 2

Slide 1

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

D.Rusu, Teoria măsurii şi integrala Lebesgue 6 MĂSURA LEBESGUE Cursul 5 Teorema 6.26 Există submulţimi ale lui R care nu sunt măsurabile Lebesgue. Dem

Utilizare Internet

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Microsoft Word - Algoritmi genetici.docx

PAS cap. 2: Reprezentări rare p. 1/35 Prelucrarea avansată a semnalelor Capitolul 2: Reprezentări rare Bogdan Dumitrescu Facultatea de Automatică şi C

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

Limbaje de Programare Curs 6 – Functii de intrare-iesire

OPERATII DE PRELUCRAREA IMAGINILOR 1

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Microsoft Word - PCLP2_Curs_4_2019.doc

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

L7

Slide 1

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

LUMINIŢA SCRIPCARIU

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Ministerul Educatiei, Cercetarii si Tineretului Grup Scolar Gh. Asachi Galati Proiect pentru obtinerea certificatului de competente profesionale Speci

Microsoft Word - cap1p4.doc

OLM_2009_barem.pdf

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Declararea variabilelor

Microsoft Word - O problema cu bits.doc

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

Analiză statică Analiza fluxului de date 23 octombrie 2014

ALGORITHMICS

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii


Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

MENȚIUNI LEGALE Acest site stabilește instrucţiunile pentru utilizatorii de internet care vor vizita acest website. Fiecare utilizator îşi asumă răspu

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

SISTEM DE LICENȚIERE A CLUBURILOR DE FOTBAL FMF :SL/ST.11-d.02 Standard de calitate pentru licențiere (ED.2012) Ediția 2 Procedura de păstrare și arhi

Microsoft Word - CarteC.doc

GDPR, un subiect sensibil în retail. Care sunt aspectele mai puțin cunoscute

proiectarea bazelor de date

PowerPoint Presentation

PROGRAMARE ORIENTATA PE OBIECTE

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft Word - CarteC.doc

8.1. Elemente de Aritmetică. 8. Aplicatii (15 aprilie 2019) Lema 8.1. Fie (A, +) un grup abelian şi H, K A. Atunci H K şi H + K = {h + k h H şi k K} s

Transcriere:

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiilor (engl. Information Retrieval, IR) constă în găsirea şi extragerea de material (de obicei, documente) nestructurat sau semistructurat (de obicei, care conţine text) care satisface o necesitate de informare din colecţii mari (care, de obicei, sunt stocate pe calculatoare). Datele nestructurate sunt date fără o structură precisă care să poată fi procesată uşor cu un program pe calculator. Exemple de date structurate: o bază de date relaţională cu informaţii despre angajaţii unei companii. Majoritatea datelor textuale au o structură lingvistică latentă: titlu, secţiuni, paragrafe, etc. Astfel de surse de informaţii se numesc documente semistructurate. Necesităţile de informare sunt comunicate unui sistem de extragere a informaţiilor prin intermediul unei cereri (engl. query) formulate de către utilizator. Un document este relevant pentru necesitatea de informare a unui utilizator dacă utilozarorul respecitv consideră că documentul respectiv conţine informaţii valoroase pentru nevoia lui de informare. Exemple tipice de probleme rezolvate de către sistemele de extragere a informaţiilor: Căutare semistructurată, de exemplu, găsirea documentelor al căror titlu conţine Java şi al căror conţinut (corp) conţine threading. Clustering, adică împărţirea unei colecţii mari de documente în grupuri (clustere) care conţin documente cu conţinut asemănător. Clasificare: dacă se dă (1) o mulţime de tematici ce corespund unor necesităţi de informare, sau (2) alte categorii de text (de exemplu, pentru cititori de anumite vârste), să se decidă la ce tematică sau categorie aparţine fiecare document. 1

Adesea se bazează pe algoritmi de învăţare ce pornesc de la o mulţime de documente clasificate manual, şi se speră că algoritmul este suficient de bun încât să înveţe să clasifice corect documentele noi. Căutare al-hoc a documentelor din o colecţie care sunt relevante pentru orice necesitate de informare comunicată sistemului printr-o cerere iniţiată de către utilizator. Documentele de extragere a informaţiilor pot fi clasificate după mărimea colecţiei de documente pe care o analizează: Sistemele de căutare web analizează miliarde de documente stocate pe milioane de calculatoare. Un astfel de sistem este optimizat să analizeze un volum cât mai mare de documente existente pe web (crawling) să proceseze caracteristici specifice documentelor web: hiperlink-uri, tentative de manipulare a scorului de importanţă, etc. Sistemele de căutare pentru un mediu de afaceri, instituţie sau un anumit domeniu. Colecţiile de documente analizate pot fi: documente interne ale unei corporaţii; o bază de date de patente; articole de cercetare despre biochimie; etc. De obicei, aceste colecţii sunt stocate în sisteme centralizate de fişiere, iar căutarea de informaţii în ele de face cu ajutorul câtorva calculatoare dedicate. Sisteme de extragere a informaţiilor personale precum Spotlight (Mac OS X). Instant Search (Windows Vista), sau programe de email cu capabilităţi de clasificare automată a mesajelor, filtrare spam: analizează o gamă largă de tipuri de documente stocate pe un calculator personal sunt rapide, ocupă puţină memorie, şi nu afectează semnificativ experienţa de lucru a utilizatorului cu calculatorul 1 Modelul boolean de extragere a informaţiilor Se presupune dată o colecţie de documente D. Are următoarele caracteristici: 1. Cererea de informare este o expresie booleană B care descrie ce termeni dorim să apară sau nu în documentele pe care le căutăm în colecţia D. Se pot folosi conectorii logici AND, OR şi NOT: B ::= termen NOT B B AND B B OR B 2

2. Se consideră că un document este doar o mulţime de termeni. 3. Documentele din colecţie sunt indexate înainte de a efectua cereri de informare. Indexarea se face astfel: se citesc toate documentele, se extrag toţi termenii care apar în ele, şi se indexează, adică se reţin toate documentele în care apare termenul respectiv. Mulţimea tuturor termenilor din colecţia D se numeşte vocabular sau dicţionar şi o notăm V. Rezultatele indexării pot fi reţinute în o matrice de incidenţă V D în care elementul de la poziţia (t, d) este 1 dacă termenul t apare în documentul d, şi 0 în caz contrar. Un exemplu de matrice de incidenţă pentru termenii ce apar în câteva din operele lui Shakespeare este ilustrat mai jos: Anthony Julius The Hamlet Othello Macbeth and Caesar Tempest Cleopatra Anthony 1 1 0 0 0 1 Brutus 1 1 0 1 0 0 Caesar 1 1 0 1 1 1 Calpurnia 0 1 0 0 0 0 Cleopatra 1 0 0 0 0 0 mercy 1 0 1 1 1 1 worser 1 0 1 1 1 0... Rândul din matrice corespunzător unui termen t este un şir de n biţi, unde n este numărul de documente din d. De exemplu, şirul de biţi pentru Brutus este 110100, pentru Caesar este 110111, şi pentru Calpurnia este 010000. 4. Permite căutarea ad-hoc folosind expresii booleene cu termeni ca să comunice necesităţile de informare ale utilizatorilor. Necesitatea de informare pentru documentele care conţin termenii Brutus şi Caesar dar nu conţin Calpurnia, poate fi comunicată cu expresia booleană Brutus AND Caesar AND NOT Calpurnia iar răspunsul se obţine prin operaţii booleene pe vectori de biţi: 110100 AND 110111 AND NOT 010000 = 110100 AND 110111 AND 101111 = 100100 Documentele returnate ca răspuns la cererea utilizatorului sunt primul şi al patrulea, adică Anthony and Cleopatra şi Hamlet, fiindcă rezultatul 100100 are primul şi al patrulea bit cu valoarea 1. 3

1.1 Statistici de estimare a eficacităţii unui sistem de IR Eficacitatea unui sistem de extragere a informaţiior se estimează folosind următoarele măsurători statistice: Precizia: ce procent din rezultatele returnate de sistem sunt documente relevante pentru necesitatea de informare a utilizatorului? Reamintirea (engl. recall): ce procent din documentele relevante din colecţie sunt printre rezultatele returnate de sistem ca răspuns la necesitatea de informare a utilizatorului (adică pozitivi adevăraţi)? Exemplu: Fie S este un sistem de extragere a informaţiilor din o colecţie D de N = 19 documente. Presupunem că un utilizator comunică cererea Q sistemului S şi că: D conţine N r = 10 documente relevante pentru Q Sistemul S returnează N s = 8 documente ca răspunsuri la cerere. N s este numărul documentelor selectate de către S din D ca răspunsuri. 5 din cele 8 răspunsuri sunt documente relevante pentru Q (sau pozitivi adevăraţi). Celelalte 3 răspunsuri sunt documente irelevante pentru Q (sau pozitivi falşi). Situaţia din acest exemplu este ilustrată în diagrama de mai jos. documente relevante negativi falşi pozitivi adevăraţi documente irelevante negativi adevăraţi pozitivi falşi : document relevant : document irelevant pozitivi adevăraţi precizie= = 5 N s 8 = 0.625 pozitivi adevăraţi reamintire= = 5 N r 10 = 0.5 Precizia măsoară exactitatea sau calitatea răspunsurilor. Reamintirea măsoară completitudinea sau sau cantitatea răspunsurilor. mulţimea documentelor selectate 1.2 Liste de indecşi inversaţi Sunt o alternativă de reprezentare a rezultatului indexării termenilor care, de obicei, ocupă mult mai puţin spaţiu de memorie decât matricea de incidenţă. De exemplu, dacă D este o colecţie de N 10 6 documente alcătuite fiecare din 10 3 termeni, iar fiecare termen ocupă în medie 6 octeţi, atunci toată colecţia D are o mărime de 6 GB. Putem estima că D conţine N 5 10 5 termeni distincţi. 4

veste rea: matricea de incidenţă pentru colecţia D de documente diin exemplu ocupă 5 10 5 10 6 0.5 10 12 biţi: nu încape în memoria RAM a unui calculator obişnuit veste bună: matricea conţine 10 6 elemente care sunt 1. Rezultă că 99.8% din elementele matricii sunt 0 este mai economic să reţinem în liste poziţiile la care apare 1 în matrice. Aceste liste se numesc liste de indecşi inversaţi sau liste de postări. pentru fiecare termen t V reţinem lista de identificatori de documente (docid) în care apare t. identificatorii de documente sunt reţinuţi în ordine crescătoare în liste. De acum încolo vom presupune că fiecare document are un număr serial unic care este o valoare întreagă pozitivă. Acest număr se numeşte identificator de document. De exemplu, listele de indecşi inversaţi pentru termenii din operele lui Shakespeare pot arăta astfel: Brutus Caesar Calpurnia. dicţionar 1 2 4 11 31 45 173 174 1 2 4 5 6 16 57 132 2 31 54 101 postări Listele de indecşi inversaţi se construiesc în 4 paşi: 1. Se colectează documentele care urmează să fie indexate o colec ie de N documente D cu identificatorii d 1,..., d N. 2. Se transformă textele documentelor în liste de token-uri. Acest pas se numeşte teeknizare. De exemplu, tokenizarea textului Friends, Romans, countrymen. So let it be with Caesar. este Friends Romans countrymen So let it be with Caesar 3. Se face o preprocesare lingvistică a token-urilor o listă de termeni normalizaţi numiţi termeni. Termenii sunt elementele care se indexează. De exemplu, lista de termeni pentru textul ilustrat mai sus este friend roman countryman so... 4. Indexarea propriu-zisă. După pasul 3 se vor cunoaşte 5

mulţimea V a tuturor termenilor care apar în textele din colecţia D. Această mulţime de termeni V se numeşte dicţionar şi se sortează crescător. lista de identificatori de documente în care apare fiecare termen t. Aceste liste se sortează crescător. valori statistice despre textele documentelor. De exemplu, frecvenţa de document a fiecărui termen t, care reprezintă numărul de documente în care apare termenul t. 1.3 Procesarea cererilor booleene Procesarea unei cereri booleene B 1 AND B 2 produce o listă de postări care satisfac cererile B 1 şi B 2. Această listă se determină în felul următor: 1. Se determină listele de postări p 1 pentru B 1, şi p 2 pentru B 2. 2. Se intersectează listele L 1 şi L 2. Intersecţia se poate face rapid, în timp O(m + n) unde m este lungimea lui p 1 şi n este lungimea lui p 2, cu algoritmul următor: Intersect(p 1, p 2 ) 1 raspuns := 2 while p 1 Nil and p 2 Nil do 3 if docid(p 1 ) = docid(p 2 ) 4 adaugă docid(p 1 ) la raspuns 5 p 1 := next(p 1 ) 6 p 2 := next(p 2 ) 7 else if docid(p 1 ) < docid(p 2 ) 8 p 1 := next(p 1 ) 9 else p 2 := next(p 2 ) 10 return raspuns Procesările celorlalte tipuri de cerei booleene se pot defini în mod asemănător. NOT B şi B 1 OR B 2 2 Extensii ale modelului boolean Modelul boolean de extragere a informaţiilor este prea limitat fiindcă (1) fiecare document este interpretat doar ca o mulţime de termeni distinţi, şi (2) nu poate calcula un scor de importanţă al documentelor, care să indice care documente sunt răspunsuri mai importante la o cerere de căutare. Căteva din aceste limitări au fost eliminate de un model boolean extins de extragere a informaţiilor. Acest model are un operator de proximitate cu 6

care putem preciza cât de aproape trebuie să fie 2 termeni în documentele care ne interesează. Westlaw (http://www.westlaw.com/) este un sistem comercial de căutare într-o colecţie de zeci de terabytes de documente despre legi si legislaţie. Westlaw are un model boolean extins de extragere a informaţiilor. Exemple interesante de cereri de căutare mai sofisticate cu Westlaw sunt: "trade secret" /s disclos! /s prevent /s employe! căutarea de informaţii despre legi de prevenire a obţinerii de secrete comerciale de către angajaţi care au lucrat anterior la o companie competitoare. disab! /p access! /s work-site work-place (employment /3 place) Cerinţe pentru persoane cu handicap care îşi caută un loc de muncă. 7