Top Banner
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel
19

Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Apr 05, 2015

Download

Documents

Jutte Altheide
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Text-Retrieval mit Oracle

Vortrag vonAndreas Mück & David Diestel

Page 2: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Oracle 8i interMedia

• “... a product designed to manage multimedia Web content within Oracle 8i.”

• Das Programmpacket unterteilt in drei Bereiche.

Page 3: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Gliederung von Oracle 8i interMedia

Oracle 8i interMedia

Oracle 8i interMedia

Text

Oracle 8i interMedia

Audio, Image,

and Video

Oracle 8i interMedia

Locator

Page 4: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Oracle 8i interMedia Text

• versteht sich als Werkzeug zur Erstellung von Applikationen zur Anfrage auf Texte

• bietet Möglichkeiten– zur Suche in – zum Retrieval auf– zur Ansicht von

Textdokumenten

Page 5: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Oracle 8i interMedia Text(2)

• zusätzlich für englischsprachige Dokumente– Begriffssuche– Themenanalyse

• verwendet Standard-SQL und PL/SQL

Page 6: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Erstellung einer Querry Application

4 Schritte• Laden der Dokumente• Indexieren der Dokumente• Suchanfragen stellen• gefundene Dokumente

präsentieren

Page 7: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Laden von Dokumenten

• System erwartet, daß Dokumente in eine Textspalte geladen werden

• Spaltentypen:– VARCHAR2– CLOB– BLOB– CHAR– BFILE

Page 8: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Laden von Dokumenten (2)

• LONG & LONG RAW für DB-Upgrade Oracle7 auf Oracle8

• auch Speichern von Dokumenten im lokalen Dateisystem oder Inter-/Intranet u.a. möglich– Eintrag von Dateipfaden oder URLs in

die Tabelle

Page 9: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Laden von Dokumenten (3)

• Unterstützung fast aller Dokumentformate

• Laden von Dokumenten unter Verwendung des SQL INSERT Statements

Page 10: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Beipiel:

CREATE TABLE docs (id number primary key, text varchar2(80));

– erzeugt Tabelle mit 2 Spalten: id und text

Tabelle füllen mit INSERT:insert into docs values(1, 'this is the text of the first document');

insert into docs values(12, 'this is the text of the second document');

Page 11: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Laden von Dokumenten (4)

• Laden von Dokumenten aus dem Dateisystem mit– SQL*Loader– ctxload executable – DBMS_LOB.LOADFROMFILE() PL/SQL

procedure to load LOBs from BFILEs– Oracle Call Interface

Page 12: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Indexierung

• Indexierung erfolgt auf der Dokumentenspalte

• spezieller Indextyp: ctxsys.context

• Tabelle muß PK besitzen (Doc-ID!?)• Beispiel:

create index myindex on docs(text) indextype is ctxsys.context;

Page 13: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Indexierung (2)

• Erzeugen des Index mit CREATE INDEX, Bearbeiten mit ALTER INDEX

• Definition von Parametern mit– CTX_DDL.CREATE_PREFERENCE– CTX_DDL.SET_ATTRIBUTE – CTX_DDL.CREATE_STOPLIST– CTX_DDL.CREATE_SECTION_GROUP

Page 14: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Indexierung (3)

• Datastore: Wie/Wo sind die Dokumente gespeichert?

• Filter: Welche(s) „Importformat(e)“?• Lexer: Sprachauswahl für

TermextraktionVielsprachigkeit möglich

• Wordlist: Einstellungen für Stemming, Fuzzy & Substring-Index

Page 15: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Indexierung (4)

• Storage: Parameter für die Indexspeicherung z.B. tablespace

• Stop List: Stopwortliste• Section Group: Definition von Sektionen

bzw. wie diese erkannt werden, benötigt für WITHIN Anfragen

Page 16: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Anfragen

• SQL-, PL/SQL-Anfragen• Verwendung des CONTAINS-

Operators z.B.:SELECT SCORE(1), title from newsindex

WHERE CONTAINS(text, 'oracle', 1) > 0;

Page 17: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Anfragen(2)

• Mögliche Operatoren– Word-Querys– Boolsche Verknüpfung– Near-Operator– beliebige Wildcards– WITHIN– ABOUT-Querys (Themensuche)– Thesaurus

Page 18: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Ranking

• „inverse Termfrequenz“: Termfrequenz/Dokumentfrequenz

• Berechnet durch SCORE-Operator

Page 19: Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.

Erzeugung der Ausgabe

• Ausgabe des Dokuments in HTML/Text

• Highlighting möglich