Intelligente Textanalyse. Oracle 9i



Ähnliche Dokumente
Ein Hidden Star am Oracle-Firmament: Oracle Text. Dr. Frank Haney

Fuzzy-Suche in Application Express

Carsten Czarski, Nina Neuwirth Oracle Deutschland. Volltextsuche in XML-Dokumenten mit Oracle

Ulrike Schwinn Dipl.-Math. Oracle Deutschland GmbH. Kultur und Informatik - Datenverwaltung 04.Juli 2007

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Roland Tilgner. Solution Architects & Team Coaching DEVELOPMENT. ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten

Informatik 12 Datenbanken SQL-Einführung

SDK zur CRM-Word-Schnittstelle

SQL (Structured Query Language) Schemata Datentypen

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenmanagement in Android-Apps. 16. Mai 2013

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Anforderungen an die HIS

<Insert Picture Here> Oracle Datenbank Einführung Ulrike Schwinn

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

XML - Extensible Markup Language. Agenda - Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

3. Stored Procedures und PL/SQL

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Mobile-Szenario in der Integrationskomponente einrichten

Allgemeines zu Datenbanken

Prozedurale Datenbank- Anwendungsprogrammierung

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Technische Beschreibung: EPOD Server

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

Datenbanken. Ein DBS besteht aus zwei Teilen:

Bearbeitung und Download von grossen Datenmengen in STAT-TAB

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

SemTalk SemTalk Usermeeting. Agenda. Neue Features mit SemTalk 3.2. Stand SemTalk & Sharepoint. Neue Partner Lösungen

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

U P T I M E products. SAP-Archivierung

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

OPERATIONEN AUF EINER DATENBANK

Performance Tools. für alle Editionen

Secure Network Communications (BC-SEC-SNC)

Gesicherte Prozeduren

FAQ The FAQ/knowledge base. Version 2.1.1

IV. Datenbankmanagement

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

DB2 Codepage Umstellung

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Standard-Kontaktformular

4D Server v12 64-bit Version BETA VERSION

7. Übung - Datenbanken

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Team Collaboration im Web 2.0

Oracle. 1. Software-Download 2. Lifetime-Support

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Kurzanleitung zur Erweiterung der htdig

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Klausur Interoperabilität

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Installation des edu- sharing Plug- Ins für Moodle

PostgreSQL in großen Installationen

Weiterentwicklung digitaler Bibliothekssysteme zu OpenArchives-Systemen

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Kurzanleitung So geht s

Aufgaben zu XPath und XQuery

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008

XML in der Oracle Datenbank "relational and beyond"

Apache HBase. A BigTable Column Store on top of Hadoop

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Interaktive Webseiten mit PHP und MySQL

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Dokumentation zur Anlage eines JDBC Senders

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

f Link Datenbank installieren und einrichten

TYPO3-Suchmaschinenoptimierung für Redakteure

Digitale Lastenhefte - Austausch von Dokumenten

Mehr als einfache Texte Alleskönner ORACLE TEXT

sage HR Zusatzmodul Digitale Personalakte Produktinformationen

DB2 for VM / VSE 7.5. News & Experiences. Torsten Röber. GSE Frühjahrstagung April 2008, Bonn. IBM Software Group

MySQL Installation. AnPr

SharePoint Demonstration

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

Transkript:

Intelligente Textanalyse mit Oracle 9i 24.09.2003 Dr. Frank Haney 1

Übersicht Relationale Datenbanken und Knowledge Management Funktionsweise der Volltextindizierung von Oracle Text Indextypen Textspezifische SQL-Syntax und Abfrageoperatoren Filtern und Markieren von Dokumenten Arbeiten mit Thesaurus und Knowledge Base Administration von Oracle Text Applikationsentwicklung 24.09.2003 Dr. Frank Haney 2

Zum Gegenstand Moderne Informationsverarbeitung im Unternehmen muß neben der Verarbeitung strukturierter auch den Umgang mit unstrukturierten Daten ermöglichen. Stichworte dafür sind: Document Workflow Content Management Knowledge Management Das bedeutet in erster Linie intelligentes Text Retrieval, denn dieses vermittelt einen Zugang zu den Inhalten von Texten in natürlicher Sprache, wobei es sich in der Regel um eine große Anzahl von Dokumenten handelt, die thematisch sehr vielfältig sein können. 24.09.2003 Dr. Frank Haney 3

Aufgaben von Text Retrieval Systemen Feedback input Frage Dokumente Textprozessor output Typische Aufgaben (nach TREC 2002): Ad hoc queries Known item search Hitliste von Dokumenten Filtering track akkumulierte Menge von relevanten Dokumenten Novelty track Suche nach neuen, nichtredundanten Informationen Query answering Antwort auf Frage, keine Menge von Dokumenten TREC = Text REtrieval Conference, jährlich veranstatet vom NIST 24.09.2003 Dr. Frank Haney 4

Bewertung der Resultate Präzision (precision): Wiederfindung (recall): Verhältnis der zurückgegebenen relevanten Dokumente zur Gesamtzahl der zurückgegebenen Dokumente Verhältnis der zurückgegeben relevanten Dokumente zur Gesamtzahl der relevanten Dokumente Probleme: Beurteilung der Relevanz Wichtung der Fragen Position in der Hitliste 24.09.2003 Dr. Frank Haney 5

Texte in Datenbanken Stufe 1 Datenhaltung Dateisystem Zugriff/Textanalyse Proprietäre externe Applikationen Stufe 2 Stufe 3 Datenbank ohne Strukturinformation (VARCHAR2, LOB) Datenbank mit Strukturinformation (XMLType) SQL Oracle Text SQLX Oracle XML DB 24.09.2003 Dr. Frank Haney 6

Oracle Software im Umfeld des Text Retrieval Oracle 9i Datenbank Server und Repository für strukturierte und unstrukturierte Daten (Text, Multimedia) Oracle Text (Oracle 9i DB) leistet die intelligente Textanalyse Oracle XML DB (Oracle 9i DB) strukturierte Ablage von Dokumenten in der Datenbank Oracle Ultra Search (Oracle 9i DB) portalgestützte Suchfunktion auf der Basis von Oracle Text Oracle Internet File System integriert die verschiedenen Datenhaltungen und Formate in ein einheitliches Repository Oracle Workflow (Oracle 9i AS) Document Management Oracle Portal (Oracle 9i AS) Bereitstellung einer einheitlichen Oberfläche zur Bedienung und Administration. 24.09.2003 Dr. Frank Haney 7

Text Retrieval Architektur (schematisch) Oracle Portal Content Management Workflow Oracle Text Oracle UltraSearch Oracle Workflow Oracle XML DB Internet File System Repository Oracle Datenbank 9i Server 24.09.2003 Dr. Frank Haney 8

URL DB Oracle Text Prozeß der Indizierung OS File Wordlist Stoplist Datastore Filter Sectioner Lexer Indexing Engine Document Text HTML Token Für alle Schritte können separat Präferenzen und Attribute gesetzt werden. Text Indexes 24.09.2003 Dr. Frank Haney 9

Indextypen 1. CONTEXT-Index: Für große kohärente Dokumentensammlungen verschiedener Formate (z. B. extern: Word, HTML, XML, PDF; intern: BLOB, CLOB, VARCHAR2) CONTAINS 2. CTXCAT-Index: Für kurze Texte und gemischte Abfragen (strukturierte und unstrukturierte Daten), ist transaktional, eingeschränkte Abfragesyntax CATSEARCH 3. CTXRULE-Index: Klassifikation und Routing von Dokumenten, der Index wird über eine Tabellenspalte mit Abfragestrings erzeugt MATCHES 4. CTXXPATH-Index: Für XMLType-Spalten, beschleunigt XML-Abfragen ExistsNode 24.09.2003 Dr. Frank Haney 10

CONTEXT-Index Syntax CREATE INDEX text_idx ON schema.table(column) INDEXTYPE IS CTXSYS.CONTEXT [ONLINE] [PARAMETRERS('paramstring')]; Parameter (Beispiele): DATASTORE: DIRECT_DATASTORE, FILE_DATASTORE FILTER: NULL_FILTER, INSO_FILTER LEXER: BASIC_LEXER, MULTI_LEXER 24.09.2003 Dr. Frank Haney 11

CONTEXT-Index Attribute FILE_DATASTORE BASIC_LEXER BASIC_WORDLIST path continuation punctuations whitespace newline skipjoin printjoin base_letter mixed_case composite alternate_spelling index_themes stemmer fuzzy_match substring_index prefix_index wildcard_maxterms string character (z.b. - \) character (.,) character NEWLINE, CARRIAGE_RETURN character (z.b. -) character (z.b. _) YES/NO YES/NO DEFAULT, GERMAN, DUTCH NONE, GERMAN, DANISH, SWEDISH YES/NO AUTO, NULL, ENGLISH, GERMAN GENERIC, AUTO, ENGLISH, GERMAN FALSE/TRUE FALSE/TRUE 5000 24.09.2003 Dr. Frank Haney 12

CONTEXT-Index Abfragesyntax SELECT id, SCORE(1) FROM table WHERE CONTAINS(column, 'query_string',1)>0; SCORE = 3f(1+log(N/n)) Beispiele für Abfragestrings: 'Sachsen ~ Leipzig' 'DB = Datenbank' 'Oracle, Text, Präferenz*3' NOT-Operator EQUIValence-Operator ACCUMulate-Operator f = Häufigkeit des Terms im Text N = Gesamtzahl der Texte n = Gesamtzahl der Texte, die den Term enthalten Ergebnisse: ID SCORE(1) ---------- ---------- 2 70 3 35 1 4 Durchsucht wird nur der Index, nicht die Textspalte! Achtung: Der Wert von SCORE ist keine Anzahl der Fundstellen, sondern ein von 1 bis 100 laufendes, nach Saltons Formel berechnetes Verhältnismaß: Damit ein Dokument hoch bewertet wird, muß es oft im Dokument und selten in der ganzen Sammlung vorkommen. (Inverse frequency scoring) Häufiges Vorkommen in allen Dokumenten wird von der Text Engine als Rauschen gewertet. 24.09.2003 Dr. Frank Haney 13

Ausgewählte Abfrageoperatoren Operator FUZZY NEAR (;) stem ($) WITHIN INPATH SQE Narrower Term (NT) ABOUT Funktion Ähnliche Worte (Meier, Mayer, Meuer) Zwei Begriffe in bestimmtem Abstand Begriffe mit gleichem Wortstamm Suche in einer Abschnittsgruppe Suche in XML-Dokumenten Stored Query Expression Suche nach Begriff und Unterbegriffen * Thematische Suche ** * Setzt einen bei der Text Engine registrierten Thesaurus voraus ** Erfordert die Kompilierung des Thesaurus zur Knowledge Base 24.09.2003 Dr. Frank Haney 14

Wesentliche Funktionalität * Filterung Highlighting Markup Navigation Gist Themes Word Browsing Filterung von über 150 Formaten in HTML oder Text Ausgabe von OFFSET und LENGTH der Fundorte Markierung der gefundenen Stellen Einfügen von Navigation-Tags an den Fundstellen Thematische Zusammenfassung von Texten ** Ausgabe aller Themen eines Dokuments ** Ausgabe benachbarter Einträge im Index * Wird durch die Prozeduren der ctx_doc und ctx_query Packages realisiert ** Setzt die Existenz einer kompilierten Knowledge Base voraus 24.09.2003 Dr. Frank Haney 15

Beispiel Markup und Navigation begin ctx_doc.markup(index_name => 'TEXT_IND_1', textkey => '1', text_query => 'history', restab => 'MARKUP_TEST', query_id => '1', tagset => 'HTML_NAVIGATE'); end; The < history > of text retrieval is almost as long as the < history > of the written word. We know that Pliny the Elder (died 79 A.D.) used a Table of Contents structure to help readers navigate his mammoth "The Natural < History > in 37 Books". In this work, he refers to Valerius Soranus who, in the second century BC, was the first in Latin literature to use a Table of Contents. And in the third century B.C., Kallimachos of Kyrene created the first subject catalog to keep track of the scrolls at the Great Library of Alexandria in Egypt. 24.09.2003 Dr. Frank Haney 16

Thesaurus* (Ausschnitte) Christianity BT world religions NT Mormonism NT Roman Catholicism NT evangelism RT Bible RT Israel RT death and burial DBMS - database management system BT databases Euclidean geometry BT geometry IT&T SYN information technology * Derzeit verfügbar nur für Englisch und Französisch 24.09.2003 Dr. Frank Haney 17

Beispiel ABOUT-Abfrage SELECT id, score(1) FROM test2 WHERE CONTAINS(dokumente, 'ABOUT(history of text retrieval)',1)>0; ID SCORE(1) ---------- ---------- 4 4 2 53 1 54 Vergleiche dagegen: SELECT id, score(1) FROM test2 WHERE CONTAINS(dokumente, 'history of text retrieval',1)>0; ID SCORE(1) ---------- ---------- 2 20 24.09.2003 Dr. Frank Haney 18

Gist (Zusammenfassung) / thematisch begin ctx_doc.gist(index_name => 'TEXT_IND_1', textkey => '2', restab => 'GIST_TEST', pov => 'history', query_id => 1, glevel => 'S'); end; We start by reviewing the history of text retrieval over the last 2,000+ years, focusing on the trends of the last decade "A Short History of Text Retrieval" describes the major milestones in text retrieval, from the first subject catalog in the third century B.C. A Short History of Text Retrieval The history of text retrieval is almost as long as the history of the written word. ) used a Table of Contents structure to help readers navigate his mammoth "The Natural History in 37 Books". All sorts of information - news articles, Christmas presents, historical references, investment advice, business and personal e- mails, technical support bulletins, competitive data - was "out there somewhere", reachable, at least in theory, from a search box. We started by reviewing the history of text retrieval over the last 2,000+ years, focusing on the trends of the last decade How Information Retrieval Started, American Society of Indexers (http://www.asindexing.org/site/history.shtml ) 24.09.2003 Dr. Frank Haney 19

Gist (Zusammenfassung )/ generisch begin ctx_doc.gist(index_name => 'TEXT_IND_1', textkey => '2', restab => 'GIST_TEST', query_id => 3, glevel => 'S'); end; Oracle Text analysiert das Dokument auf die in ihm enthaltenen Themen und legt für jedes gefundene Thema einen Datensatz in der Ergebnistabelle an, in dem unter der query_id das Thema in Spalte pov und die entsprechende Zusammenfassung in Spalte gist zu finden sind, je nach Wahl auf Absatz- (glevel P) oder Satzebene (glevel S). Im Datensatz mit dem Thema (pov) GENERIC wird vom Server eine Zusammenfassung des gesamten Dokumentes versucht. 24.09.2003 Dr. Frank Haney 20

Administration und Applikation Textadministrator CTXSYS (hat DBA-Rolle) Rolle CTXAPP (bestimmte EXECUTE-, INSERT-, UPDATE-Privilegien im Schema CTXSYS) Views z.b. CTX_PENDING, CTX_SQES Packages z.b. CTX_CLS, CTX_DDL, CTX_THES OEM Textmanager Textwizard für JDeveloper (Download im OTN) Ultra Search Out of the box -Applikation (Administrator WKSYS hat auch DBA-Rolle) 24.09.2003 Dr. Frank Haney 21

Vorteile des datenbankgestützten Text Retrieval nur eine Plattform (Oracle DB), keine Schnittstellen zu externen Applikationen Transaktionskonzept relationaler RDBMS wird für die Manipulation von Texten nutzbar (konkurrierender Zugriff) synchrone Speicherung von Text und Metadaten in Spalten einer Tabellenzeile oder als XML-Dokument Texte werden mit Standard-SQL analysiert und mit PL/SQL manipuliert Texte werden für Aggregation und Data Mining nutzbar keine separate Lizenzierung notwendig 24.09.2003 Dr. Frank Haney 22

Literatur Oracle Text Reference Oracle Text Applications Developer Guide http://otn.oracle.com/products/text/ http://otn.oracle.com/forums/ http://trec.nist.gov/ C.J. van Rijsbergen: Information Retrieval, Glasgow 1999 G. Salton, M. McGill: Introduction to Modern Information Retrieval, McGraw-Hill 1983 Dr. Frank Haney Frank.Haney@t-online.de Tel.: 03641-210224 24.09.2003 Dr. Frank Haney 23