Information Retrieval.

Vergelijkbare documenten
Information retrieval

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

Databanken - les 2.

Handleiding configuratie en gebruik tekenmodule

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Databanken - les 2.

Databases - Inleiding

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

Het omzetten van een ER-diagram naar SQL

SQL.

Information Retrieval: introductie 1

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster

automatische zoekverbetering

SQL datadefinitietaal

Les 2 Eenvoudige queries

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: Groep TDI 1

[TOETS SQL INLEIDING]

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

Query SQL Boekje. Fredrik Hamer

Practicum Kwantitatieve Inhoudsanalyse

12. Meer dan één tabel gebruiken en sub-queries

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

herhaling: Oracle Text Tonen van de tekst Index set Tabel met tekstgegevens:

Wie? Advanced Databases blok DB vs IR. Wat? Canonical application (DB) Canonical application (DB)

Ranking database queries. Ranking in IR. Classic ranking in IR. Ranking in IR. Ranking in IR: score. Advanced Databases

6. Het maken van een database

= > >= < <= BETWEEN IS NULL IS NOT NULL

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

Introductie (relationele) databases

20 maart Prof. Dr. Katrien Verleye

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

Informatie & Databases

Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL?... 5

Groepswerk Technieken voor Datamodellering

Op zoek naar wetenschappelijke literatuur?

Starten van de tool De tool wordt opgestart door een web browser te openen (bij voorkeur Google Chrome) en in de adresbalk te typen:

Toets deel 2 Data-analyse en retrieval Vrijdag 1 Juli 2016:

Multimedia Information Retrieval

Hardware Specialisatie. Module 1: Zoeken op het internet

Les 11 : Basis SQL (deel2).

Deel 2: Endnote bibliografische software gebruiken als databasemanager en editor

LIMO zoekt gedrukte EN elektronische publicaties - in de catalogi van de K.U.Leuven bibliotheken en de andere bibliotheken van Libisnet -in LIRIAS =

Secure Application Roles

Op zoek naar wetenschappelijke literatuur?

User Profile Repository Testrapportage kwaliteit

Als je naar ERIC gaat kom je automatisch bij Basic Search (eenvoudig zoeken).

Thinking of development

Koppeling met een database

Databases en SQL Foundation (DBSQLF.NL)

Data Manipulatie. Query Talen. / Informatica

Indexen.

Intelligent zoeken met Oracle Text

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank

SQL & Relationele datamodellen in interactieve media

ZOEKEN IN BUSINESS SOURCE PREMIER

Zorg ervoor dat je een database hebt aangevraagd op Open daarna het volgende adres in je browser:

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

Question Answering. College Natuurlijke Taalinterfaces. Januari 2002

Les 15 : updaten van gegevens in de database (deel2).

ZOEKEN IN SPORTDISCUS

Het toepassen van een gelaagde architectuur

F. TRUYEN - Informatiekunde QBE. MS Access

OLAP.

Van een ER-diagram naar een database specificatie in SQL

8. De invoer van gegevens

Op zoek naar wetenschappelijke literatuur?

Op zoek naar wetenschappelijke literatuur?

Effective EDGE for Professionals Outlook 2010 Steps Guide

SQL Aantekeningen 3. Maarten de Rijke 22 mei 2003

Inleiding Programmeren 2

Hoofdstuk: 1 Principes van databases

Datastructuren en algoritmen voor CKI

Structured Query Language (SQL)

DB architectuur.

Wat is er veranderd in Prezi?

Sparse columns in SQL server 2008

EXIN Databases en SQL Foundation

ZOEKEN IN PROQUEST BUSINESS COLLECTION

ContentSearch. Deep dive

Inhoudsopgave. Theorie Praktijk Gegevens uit Database halen DML commando s... 14

Miniles gegevensbanken bevragen met SQL

Artificial Intelligence in uw dagelijkse praktijk. Hilversum, 22 September 2016

Website beoordeling facebook.com

Wat is er veranderd in Prezi?

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen

Zelftest DB2 for z/os basiscursus

SQL / Systeemanalyse

Inleiding Programmeren 2

Data Definition Language

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 17 maart 2018 Nederlandse Linux Gebruikers Groep

Structured Query Language

ZOEKEN IN PROQUEST SOCIAL SCIENCES

Zo kan je linken maken tussen je verschillende groepen van gegevens.

Zelftest SQL Workshop

Zelftest SQL Workshop

Lees eerst de algemene handleiding Gebruik Collectie Persdocumentatie!

en DMS koppelvlak Utrecht, 14 april 2011

Bibliotheek Sociale Wetenschappen 2018

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

ZOEKEN MEDLINE COMPLETE

Transcriptie:

Information Retrieval joost.vennekens@kuleuven.be

Zoekterm...

Data retrieval <> IR uit gestructureerde gegevens <-> ongestructureerde documenten Bv. html, doc, txt, jpg,... artificiële vraagtaal <-> natuurlijk taal exacte overeenkomst <-> relevantie monothetische <-> polythetische classificatie

Positie van IR information management information retrieval text retrieval image retrieval presentation of information

Hoe werkt het?

Twee fases Vooraf Alle documenten analyseren Minder relevante info weggooien Compacte, efficiënte voorstelling: index Op het moment zelf Beste matches uit index gaan halen

Indexering Gemakkelijker toegankelijke voorstelling: index Verwijderen markup Tokenizatie Filtering informatie probleem voorstelling zoekvraag tekst documenten voorstelling geïndiceerde documenten Lemmatizatie Weging evaluatie en terugkoppeling vergelijking teruggevonden, gesorteerde documenten

Verwijderen markup <body> <p> Databanken worden gebruikt voor het opslaan van <b>informatie</b>. Dat is wel tof. Databanken worden gebruikt voor het opslaan van informatie. Dat is wel tof. </p> </body>

Tokenizatie Zinnen -> verzameling van woorden (bag of words) Databanken worden gebruikt voor het opslaan van informatie. Dat is wel tof. databanken worden gebruikt voor het opslaan van informatie dat is wel tof

Belangrijke woorden www.wordle.net

Filteren Verwijderen van stopwoorden Woorden die frequent voorkomen in elke Nederlandse/Engelse tekst Voorbeeld: www.wordle.net

Zonder stopwoorden

Lemmatizatie Herleiden van woorden tot stammen Eenvoudig: afkappen computer, computing, compute -> comput Beter: intelligente lemmatizatie zagen -> zien / zaag

Weging (document, lemma) > gewicht Belang van lemma voor document inschatten Des te hoger gewicht, des te beter beschrijft dat lemma het document Veel voorkomen in dit document Weinig voorkomen in de andere documenten

Weging Hoog gewicht aan karakteristieke lemma s Term frequency: tf(w,d) Document frequency: df(w) Totaal aantal documenten: N Inverse document frequency: idf(w) = log(n/df(w)) tf-idf gewicht: tf(w,d) * idf(w)

Bijvoorbeeld inform inform inform inform inform inform idf = log(6/3) = 1 tf = 3 gewicht = 3 * 1

Resultaat Gewicht: tf * idf = tf * log(n / df) Doc1 inform 24 retriev 23 table 12...... voeg 100 documenten toe met inform inform 22 retriev 23 table 12...... zonder inform 26 retriev 23 table 12......

Index inform 24 retriev 23 table 12...... inform 5 retriev 0 table 34...... inform 0 retriev 0 table 52......

inform 1 retriev 1 table 0...... inform 24 retriev 23 table 12...... inform 5 retriev 0 table 34...... inform 0 retriev 0 table 52......

infor 1 retrie 1 table 0...... infor 24 retrie 23 table 12......

infor 1 retrie 1 table 0...... (d, q) = s X (d i q i ) 2? i infor 24 retrie 23 table 12...... Gevoelig voor absolute waarde van query gewichten

d q = X i d i q i infor 1 retrie 1 table 0...... infor 24 retrie 23 table 12...... Gevoelig voor lengte van documenten

infor 1 retrie 1 table 0...... d q d q = P i d iq i pp pp i d2 i i q2 i infor 24 retrie 23 table 12...... Cosinus normalisatie

Google pagerank Kijk niet enkel naar woorden in document Maar ook naar kwaliteit van document Te meten via het aantal links naar pagina Gewogen volgens kwaliteit Iteratief algoritme

IR methodes vergelijken

Performantie van algoritme Confusion matrix 4 categorieen van documenten: relevant TP & in resultaat irrelevant FP & in resultaat in + relevant FN & uit resultaat irrelevant TN & uit resultaat uit = goed + slecht = N

Maatstaven P recision = Recall = TP TP+FN TP TP + FP = P (goed in) trade-off = P (in goed) TP FP FN TN goed + slecht in + uit = = N F allout = FP TN+FP = P (in slecht) Perfect algoritme: Precision = Recall = 1; Fallout = 0 Slechtste algoritme: Precision = Recall = 0; Fallout=1

Maatstaven P recision = Recall = TP TP+FN TP TP + FP = P (goed in) = P (in goed) TP FP FN TN goed + slecht in + uit = = N F allout = FP TN+FP = P (in slecht) Alles in: Precision = goed/n; Recall = 1; Fallout = 1; generality Alles uit: Precision 1; Recall = 0; Fallout=0;

Verband Recall = TP / (TP + FN) Precision = TP / (TP + FP) Fallout = FP / (FP + TN) Generality = Goed / N = (TP + FN) / N P = R G (R G)+F (1 G)

Vergelijking score > grens, voor grens = g1, g2,... 1.0 0.9 0.8 0.7 IR1 0.6 0.5 0.4 precision IR2 F = 2PR / (R + P) 0.3 0.2 0.1 0.0 recall 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Problemen: natuurlijke taal computer machine desktop... woorden vs. concepten

Problemen: natuurlijke taal Door mismatch woorden <> concepten Meerdere woorden voor hetzelfde concept -> lage recall Zelfde woord heeft meerdere betekenissen -> lage precision

Performantie verhogen Gebruiker Recall Synoniemen, spellingsvarianten, Precision Dubbelzinnigheden weghalen, gebruik van classificatiecodes (cfr. UDC) Of systeem

Dus, geavanceerde tekstzoeksystemen: informatie probleem tekst documenten voorstelling voorstelling zoekvraag geïndiceerde documenten evaluatie en terugkoppeling natuurlijke taal verwerking van zowel documenten als zoektermen beide vergelijken en matchen teruggevonden, gesorteerde documenten Time flies like an arrow. Fruit flies like a banana.

IR in Oracle DB

Tekst in DB Verschillende opties Veld met als waarde bestandsnaam varchar2: maximum 4000 tekens clob (character large object): meer dan 4000 tekens (tot 4 GB) blob (binary large object): binaire informatie (beeld, geluid,...)

Voorbeeld create table boek ( bnr integer primary key, titel char(20), auteur char(20), datum date, tekst varchar2(1000) ); insert into boek values (1,'fruit eten', 'mie groen', '24/10/2008', 'Het is zeer belangrijk om veel fruit te eten. Appelen en peren zijn de meest gekende inlandse soorten. Daarnaast is er ook heel wat uitheems fruit, bijvoorbeeld bananen. Ook apen en beren lusten sommige fruitsoorten.');

Indexeren Twee soorten index CTXCAT Voor kleine documenten Update zichzelf CONTEXT Voor grote documenten Manueel updaten

Indexeren CONTEXT create index boek_content on boek(tekst) indextype is ctxsys.context; Voor grote documenten Gebruik contains Syncronizeren: begin ctx_ddl.sync_index('boek_content'); end;

Indexeren CTXCAT Voor kleinere fragmenten (varchar2) create index boek_content on boek(tekst) indextype is ctxsys.ctxcat; Gebruik catsearch Krachtiger zoeken Past zich automatisch aan

Gebruik Voor df = 1, score =100 als: contains/catsearch geven score terug score(d,t) idf(t)*tf(t,d) Getal tussen 0 en 100 N T 1 34 5 20 10 17 50 13 100 12 500 10 1000 9 10000 7 100000 5 1000000 4

Gebruik in queries ctxcat index: select titel from boek where catsearch(tekst, 'bananen') > 0; context index: select titel, score(5) from boek where contains(tekst, 'bananen', 5) > 0; of: score(0)... contains(tekst, bananen ) score kan ook in group by of order by

Meerdere woorden Apart vergelijken, dus min of max select titel, score(5) from boek where contains(tekst, 'bananen and peren', 5) > 0; select titel, score(5) from boek where contains(tekst, 'bananen or peren', 5) > 0; select titel, score(5) from boek where contains(tekst, 'bananen not peren', 5) > 0;

Scoreveranderend select titel, score(5) from boek where contains(tekst, 'bananen accum peren', 5) > 0; select titel, score(5) from boek where contains(tekst, 'bananen minus peren', 5) > 0;

Symbolen Woord and Symbool & or accum + minus - not ~

Einde

Tot slot Leerstof: alles behalve hoofdstuk 1 http://www.cs.kuleuven.be/~joost/dn/ Examen: gesloten boek ± 33% theorie, mondeling ± 66% oefeningen, schriftelijk