Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

41
Oracle Text 11G: Uma Oracle Text 11G: Uma Introdução Introdução Cláudio de Souza Baptista Cláudio de Souza Baptista Agosto/2007 Agosto/2007

Transcript of Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Page 1: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Oracle Text 11G: Uma Oracle Text 11G: Uma IntroduçãoIntrodução

Cláudio de Souza BaptistaCláudio de Souza Baptista

Agosto/2007Agosto/2007

Page 2: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

RoteiroRoteiro

Introdução: Características básicasIntrodução: Características básicas ArquiteturaArquitetura ÍndicesÍndices OperadoresOperadores Serviços de documentosServiços de documentos ClassificaçãoClassificação Exemplo de uma aplicaçãoExemplo de uma aplicação ConclusãoConclusão

Page 3: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Oracle Text - CaracterísticasOracle Text - Características

Integrado ao SGBD:Integrado ao SGBD: usa SQLusa SQL reusa os serviços providos pelo SGBDreusa os serviços providos pelo SGBD

Pode indexar documentos armazenados no SGBD, Pode indexar documentos armazenados no SGBD, file system ou Webfile system ou Web

Pode realizar análise linguística, faz busca por:Pode realizar análise linguística, faz busca por: keywords, keywords, contexto,contexto, operações booleanas, operações booleanas, temáticas,temáticas, casamento de padrões, casamento de padrões, HTML e XMLHTML e XML

Page 4: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Oracle Text - CaracterísticasOracle Text - Características

Usa vários formatos: Word, PDF, Usa vários formatos: Word, PDF, Excel, HTML, XML, etcExcel, HTML, XML, etc

MultilíngueMultilíngue

Page 5: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

ArquiteturaArquitetura

Page 6: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Tipos de ÍndicesTipos de Índices

Há três tipos:Há três tipos: Standard index type (CONTEXT): usado para Standard index type (CONTEXT): usado para

coleção de documentos coesos. Operador: coleção de documentos coesos. Operador: CONTAINSCONTAINS

Catalog index type (CTXCAT): usado para Catalog index type (CTXCAT): usado para indexar pequenos trechos de texto em colunas. indexar pequenos trechos de texto em colunas. Operador: CATSEARCH Operador: CATSEARCH

Classification index type (CTXRULE): permite Classification index type (CTXRULE): permite criar uma aplicação de classificação de criar uma aplicação de classificação de documentos. Operador MATCHESdocumentos. Operador MATCHES

Page 7: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Tipos de ÍndicesTipos de Índices

Page 8: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 9: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 10: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 11: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

ScoreScore

“To calculate a relevance score for a returned document in a word query, Oracle uses an inverse frequency algorithm based on Salton's formula.

Inverse frequency scoring assumes that frequently occurring terms in a document set are noise terms, and so these terms are scored lower. For a document to score high, the query term must occur frequently in the document but infrequently in the document set as a whole.”

Oracle Text Reference, Release 9.0.1

Page 12: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Query OperatorsQuery Operators

ABOUT: aumenta o número de documentos ABOUT: aumenta o número de documentos relevantes à consulta usando temasrelevantes à consulta usando temas

ACCUMulate: procura por documentos que ACCUMulate: procura por documentos que contêm pelo menos um dos termos da contêm pelo menos um dos termos da consultaconsulta

AND, OR e NOTAND, OR e NOT Broader Term, Narrower Term, Preferred Broader Term, Narrower Term, Preferred

Term, Related Term, SYNonym, Top TermTerm, Related Term, SYNonym, Top Term EQUIvalenceEQUIvalence FuzzyFuzzy

Page 13: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Query OperatorsQuery Operators

HasPathHasPath InPathInPath MDATAMDATA MINUSMINUS NEARNEAR SOUNDEXSOUNDEX STEMSTEM WITHINWITHIN

Page 14: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Document servicesDocument services

HighlightingHighlighting MarkupMarkup SnnipetSnnipet Theme extractionTheme extraction GistGist

Page 15: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 16: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Exemplo SnnipetExemplo Snnipet

Page 17: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

TemasTemas

Um tema é um snapshot que Um tema é um snapshot que descreve sobre o que o documento descreve sobre o que o documento trata.trata.

Ao invés de se buscar por palavras Ao invés de se buscar por palavras ou frases, pode-se buscar por um ou frases, pode-se buscar por um certo assunto, mesmo se este não certo assunto, mesmo se este não esteja explicitamente contido no esteja explicitamente contido no documento.documento.

Page 18: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 19: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

GistGist

Gist significa idéia central ou Gist significa idéia central ou essênciaessência

gist é um sumário consistindo de gist é um sumário consistindo de parágrafos do documento que parágrafos do documento que melhor o representam.melhor o representam.

Uma espécie de resumo do texto. Uma espécie de resumo do texto.

Page 20: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Base de ConhecimentoBase de Conhecimento

É uma árvore com conceitos e categoriasÉ uma árvore com conceitos e categorias O Oracle vem com uma base em inglês e O Oracle vem com uma base em inglês e

francês com conceitos de: Ciência e francês com conceitos de: Ciência e Tecnologia, Business e economia, Tecnologia, Business e economia, geografia, governo e militarismo, geografia, governo e militarismo, ambiente social, idéias abstratas e ambiente social, idéias abstratas e conceitosconceitos

É implementado como um thesaurusÉ implementado como um thesaurus Pode-se aumentar a acurácia da extração Pode-se aumentar a acurácia da extração

de temas através da criação de um de temas através da criação de um thesaurus para CHESFthesaurus para CHESF

Page 21: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Alguns ExemplosAlguns Exemplos

Exemplo ACCUMulateExemplo ACCUMulate

Page 22: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 23: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. SDATA (Section Data)Ex. SDATA (Section Data)

Procure por livros da Categoria Fiction que contém a palavra summer

Page 24: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. WITHINEx. WITHIN

Page 25: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 26: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.
Page 27: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. Múltiplos ScoresEx. Múltiplos Scores

SELECT title, body, SCORE(10), SCORE(20)

FROM newsWHERE CONTAINS (news.title, 'Oracle',

10) > 0 ORCONTAINS (news.body, 'java', 20) > 0ORDER BY SCORE(10), SCORE(20);

Page 28: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. ABOUTEx. ABOUT

'about(soccer rules in international competition)‘ returns all documents that have themes of

soccer, rules, or international competition. In terms of scoring, documents which have

all three themes will generally score higher than documents that have only one or two

of the themes.

Page 29: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Exemplo ACCUMExemplo ACCUM

You can assign different weights to different terms. For example, in a query of the form soccer, Brazil*3

the term Brazil is weighted three times as heavily as soccer. Therefore, the document people play soccer because soccer is challenging and

fun will score lower than

Brazil is the largest nation in South America but both documents will rank below

soccer is the national sport of Brazil

Page 30: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. EquivalenceEx. Equivalence

The following example returns all documents that contain either the phrase alsatians are big dogs or labradors are big dogs:

'labradors=alsatians are big dogs'

Page 31: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. FuzzyEx. Fuzzy

Consider the CONTAINS query:...CONTAINS(TEXT, 'fuzzy(government,

70, 6, weight)', 1) > 0; This query expands to the first six

fuzzy variations of government in the index that have a similarity score over 70.

Page 32: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. MDATAEx. MDATA

Suppose you want to query for books written by the writer Nigella Lawson that contain the word summer. Assuming that an MDATA section called AUTHOR has been declared,you can query as follows:

SELECT id FROM idx_docsWHERE CONTAINS(text, 'summer AND

MDATA(author, Nigella Lawson)')>0 This query will only be successful if an AUTHOR

tag has the exact value Nigella Lawson (after simplified tokenization). Nigella or Ms. Nigella Lawson will not work.

Page 33: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. MinusEx. Minus

Suppose a query on the term cars always returned high scoring documents about Ford cars. You can lower the scoring of the Ford documents by using the expression:

'cars - Ford'In essence, this expression returns documents

that contain the term cars and possibly Ford. However, the score for a returned document is the score of cars minus the score of Ford.

Page 34: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. NearEx. Near

to find all documents that contain the terms tiger, lion, and cheetah where the terms lion and tiger are within 10 words of each other, enter the following query:

‘near((lion, tiger), 10) AND cheetah'

Page 35: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Not (~)Not (~)

to obtain the documents that contain the term transportation but not automobiles or trains, use the following expression:

'transportation not (automobiles or trains)'

Page 36: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. STEMEx. STEM

Input Expands To$scream scream screaming screamed$distinguish distinguish distinguished

distinguishes$guitars guitars guitar$commit commit committed$cat cat cats$sing sang sung sing

Page 37: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

ThesaurusThesaurus Example 2 (Hierarchical) animal NT1 mammal

NT2 cat NT3 domestic cat

NT4 Persian cat NT4 Siamese cat

NT3 wild cat NT4 tiger

NT5 Bengal tiger NT2 dog

NT3 domestic dog NT4 German Shepard

NT3 wild dog NT4 Dingo

cat SYN feline Dog SYN canine

Page 38: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

ClassificaçãoClassificação

Classificação pode ser feita de 3 formas:Classificação pode ser feita de 3 formas: Rule-based: escreve-se as regras para formar Rule-based: escreve-se as regras para formar

as categorias dos documentosas categorias dos documentos Supervised: as regras são escritas Supervised: as regras são escritas

automaticamente, mas requer um conjunto automaticamente, mas requer um conjunto treinamento previamente classificado (usa treinamento previamente classificado (usa Decision tree ou SVM (Support Vector Machine)Decision tree ou SVM (Support Vector Machine)

Clustering: é não supervisionada, as regras e Clustering: é não supervisionada, as regras e classificação são feitas automaticamente.classificação são feitas automaticamente.

Page 39: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. Rule-basedEx. Rule-based

Page 40: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Ex. Rule-basedEx. Rule-based

Page 41: Oracle Text 11G: Uma Introdução Cláudio de Souza Baptista Agosto/2007.

Exemplo de AplicaçãoExemplo de Aplicação

Exemplo YAPAExemplo YAPA

http://www.oracle.com/technology/softhttp://www.oracle.com/technology/software/products/text/1.htmlware/products/text/1.html