ITTO981049A1 - Procedimento a tassonomia dinamica per il reperimento di informazioni su grandi banche dati eterogenee. - Google Patents

Procedimento a tassonomia dinamica per il reperimento di informazioni su grandi banche dati eterogenee. Download PDF

Info

Publication number
ITTO981049A1
ITTO981049A1 IT98TO001049A ITTO981049A ITTO981049A1 IT TO981049 A1 ITTO981049 A1 IT TO981049A1 IT 98TO001049 A IT98TO001049 A IT 98TO001049A IT TO981049 A ITTO981049 A IT TO981049A IT TO981049 A1 ITTO981049 A1 IT TO981049A1
Authority
IT
Italy
Prior art keywords
cid
concept
extension
concepts
process according
Prior art date
Application number
IT98TO001049A
Other languages
English (en)
Inventor
Giovanni Sacco
Original Assignee
Giovanni Sacco
Grassi Mantelli Maria Teresa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=11417250&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ITTO981049(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Giovanni Sacco, Grassi Mantelli Maria Teresa filed Critical Giovanni Sacco
Priority to IT1998TO001049A priority Critical patent/IT1303603B1/it
Publication of ITTO981049A1 publication Critical patent/ITTO981049A1/it
Priority to PCT/IT1999/000401 priority patent/WO2000036529A1/en
Priority to US09/868,339 priority patent/US6763349B1/en
Priority to AU17965/00A priority patent/AU1796500A/en
Priority to EP99961274A priority patent/EP1141866A1/en
Publication of IT1303603B1 publication Critical patent/IT1303603B1/it
Application granted granted Critical
Priority to US10/819,946 priority patent/US7340451B2/en
Priority to US12/023,719 priority patent/US7778993B2/en
Priority to US12/829,249 priority patent/US8041699B2/en
Priority to US13/180,196 priority patent/US8650171B2/en
Priority to US14/150,982 priority patent/US20140129547A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Description

DESCRIZIONE
La presente invenzione si riferisce ad un procedimento a tassonomia dinamica per il reperimento di informazioni su grandi banche dati eterogenee .
Il reperimento di informazioni su banche dati di questo tipo (ad esempio quelle disponibili su Internet) è al giorno d'oggi un compito lento, talvolta impossibile da realizzare per l'enorme mole di dati da analizzare, e di difficile implementazione con gli strumenti attualmente disponibili. I presenti Richiedenti hanno sviluppato a tale scopo un procedimento che risolve i suddetti problemi tramite un impiego innovativo delle tassonomie quale strumento di strutturazione e di accesso all'informazione.
Le tassonomie dinamiche sono un modello per descrivere concettualmente ed accedere a grandi banche di informazioni eterogenee composte di testi, dati, immagini ed altri documenti multimediali .
Una tassonomia dinamica è fondamentalmente una gerarchia IS-A di concetti, che vanno dal più generale (superiore) al più specifico. Un concetto può avere più padri. Questo è uno schema concettuale della banca di informazioni, cioè 1' "intensione". I documenti possono essere classificati liberamente sotto concetti diversi a livelli di astrazione diversi (questa è 1' "estensione"). Un documento specifico è classificato in generale sotto più concetti.
Le tassonomie dinamiche realizzano la relazione IS-A per contenimento, cioè i documenti classificati sotto un concetto C sono l'estensione profonda di C, cioè l'unione ricorsiva di tutti i documenti classificati sotto C e sotto ogni figlio C' di C.
In una tassonomia dinamica, i concetti possono essere composti mediante le classiche operazioni booleane. In aggiunta, qualsiasi insieme S di documenti nell'universo del discorso U (definito come l'insieme di tutti i documenti classificati nella tassonomia) può essere rappresentato da una tassonomìa ridotta. S può essere sintetizzato da espressioni booleane su concetti o tramite qualsiasi altro metodo di reperimento (ad esempio "information retrieval"). La tassonomia ridotta deriva dalla tassonomia originale eliminando i concetti (nodi) sotto cui non è classificato alcun documento d in S.
Un nuovo approccio di interrogazioni / esplorazioni visive è supportato dalle tassonomie dinamiche. All'utente viene presentata inizialmente la tassonomia completa. Quindi questi può affinare il risultato selezionando un sottoinsieme che interessa. L'affinamento è effettuato selezionando concetti nella tassonomia e combinandoli tramite operazioni booleane. Gli sarà presentata una tassonomia ridotta per l'insieme selezionato di documenti, che possono essere ulteriormente affinati in modo iterativo.
L'invenzione qui descritta copre i seguenti aspetti delle tassonomie dinamiche:
1. operazioni aggiuntive;
2. strutture astratte di memorizzazione ed operazioni su tali strutture per l'intensione e l'estensione;
3. strutture di memoria fisica, architettura ed implementazione delle operazioni;
4 . definizione, uso ed implementazione dei concetti virtuali;
5. definizione, uso ed implementazione dei concetti variabili nel tempo;
6. legame di una tassonomia dinamica ad un sistema di banca dati;
7. utilizzo delle tassonomie dinamiche per rappresentare profili utente di interesse ed implementazione di un avviso per l'utente relativo a nuovi documenti interessanti basandosi sui profili di interesse .
I suddetti ed altri scopi e vantaggi dell'invenzione, quali risulteranno dal seguito della descrizione, vengono raggiunti con un procedimento a tassonomia dinamica come quello descritto nella rivendicazione 1. Forme di realizzazione preferite e varianti non banali della presente invenzione formano l'oggetto delle rivendicazioni dipendenti.
La presente invenzione verrà meglio descritta da alcune forme preferite di realizzazione, fornite a titolo esemplificativo e non limitativo, con riferimento al disegno allegato, la cui Fig. 1 rappresenta uno schema a blocchi del procedimento della presente invenzione.
Prima di procedere ad una descrizione dettagliata dell'invenzione, saranno opportune alcune precisazioni terminologiche. L'insieme di documenti classificati sotto la tassonomia (corpus) è indicato da U, l'universo del discorso. Ogni documento d in U è identificato in modo unico da un'etichetta astratta chiamata ID di documento d (DID(d)). Ogni concetto c nella tassonomia è identificato in modo unico da un'etichetta astratta chiamata ID di concetto di c (CID(c)). I concetti sono suddivisi in concetti terminali (concetti senza alcun concetto figlio nella tassonomia) e concetti non terminali. T denota l'insieme di concetti utilizzati nella tassonomia.
La tassonomia è di solito un albero, ma sono consentiti reticoli (derivanti da un concetto avente più di un padre). I documenti possono essere classificati sotto qualsiasi concetto (terminale o non terminale) nella tassonomia. ϋη documento specifico d in U può essere classificato sotto uno o più concetti. Il singolo concetto più generale nella tassonomia è chiamato la radice della tassonomia. Non occorre di solito memorizzare questo concetto nell'estensione, dato che esso rappresenta l'intero corpus.
Il termine "estensione profonda" di un concetto c denota tutti i documenti classificati sotto c o sotto qualsiasi discendente di c. Il termine "estensione superficiale" di un concetto c denota tutti i documenti classificati direttamente sotto c.
Se c è un concetto, C<up>(c)denota l'insieme {c unione {c':c' è un antenato di c nella tassonomia, e c' non è la radice della tassonomia }}. C<up >viene calcolato tramite l'applicazione ricorsiva dell'operazione AI03 (descritta più avanti). Se c è un concetto, C<down >(c)denota l'insieme {c unione {c': c' è un discendente di c nella tassonomia }}. C<down>(c) viene calcolato tramite l'applicazione ricorsiva dell'operazione AI02 (descritta più avanti) .
Con riferimento alla Fig. 1, è illustrato un diagramma a blocchi delle principali fasi del procedimento della presente invenzione, da cui traggono origine tutti gli ulteriori sviluppi del procedimento stesso, descritti qui di seguito.
Secondo il diagramma di Fig. 1, il procedimento per il reperimento di informazioni su grandi banche dati eterogenee della presente invenzione comprendere le fasi di:
(Fi) presentazione iniziale di una tassonomia completa per il reperimento;
(F2) affinamento del reperimento tramite selezione di sottoinsiemi che interessano, ove la fase di affinamento è effettuata selezionando concetti nella tassonomia e combinandoli tramite operazioni booleane;
(F3) presentazione di una tassonomia ridotta per 1'insieme selezionato; e
(F4) ulteriore affinamento del reperimento tramite esecuzione iterativa delle fasi di affinamento e presentazione.
In aggiunta alle operazioni descritte in precedenza, si possono supportare le seguenti operazioni:
a. proiezione secondo un dato CID di un insieme S di DID: estrae tutti i figli c di CID in modo che esista almeno un documento in S nell'estensione profonda di b. estrazione dei CID per un documento d specifico in U.
Nella tecnica anteriore non sono mai state specificate le strutture di memorizzazione né 1'implementazione di operazioni, che sono entrambe presenti in questo contesto. Le strutture astratte di memorizzazione sono definite con la seguente notazione. Dati i dominii Al, ..., AN e Bl, ..., BM:
• la relazione R:[Al, ..., AN] -> [Bl, ..., BM] significa che una N-upla di valori estratti dai dominii Al, ..., AN identifica in modo unico una M-upla di valori estratti dai dominii Bl, ..., BM. Se vale [Al, ..., AN] -> [Bl, ..., BM], allora vale qualsiasi [Al, ..., AN] -> [Bi], dove Bi è estratto da qualsiasi dominio nell'insieme [Bl, BM] • la relazione R:[Al, ..., AN] -> {Bl, ..., BM} significa che una N-upla di valori estratti dai dominii Al, AN identifica in modo unico un insieme di M-uple di valori estratti dai dominii Bl, ..., BM. Se vale [Al, ..., AN] -> (Bl, ..., BM}, allora vale qualsiasi [Al, AN] -> {Bi}, dove Bi è estratto da qualsiasi dominio nell'insieme { Bl , ..., BM} .
Le relazioni astratte possono essere mappate in modo banale (a scopo illustrativo, e senza intenzione di limitarne la rappresentazione) su relazioni in uno schema relazionale, nel seguente modo:
R :R:[Al, ..., AN] -> [Bl, ..., BM] si mappa in R(A1, AN, Bl, BM)
R:R:[A1, ..., AN] -> {Bl, BM} si mappa in un insieme di relazioni in 4a forma normale Ri(Al, AN, Bi)
dove i dominii sottolineati sono attributi chiave di R. Si utilizzeranno interrogazioni ("query") SQL su queste relazioni per esprimere le operazioni. Quando risulterà opportuno, si utilizzerà la notazione A.B applicata ad una relazione astratta [A]->[B] oppure [A]->{B} per indicare il valore o l'insieme di valori di B corrispondenti ad un dato valore di A. Il dominio CID contiene le etichette astratte dei concetti, cioè indica l'insieme di valori {CID(c), per tutti i c nella tassonomia}. Il dominio DID contiene le etichette astratte dei documenti, cioè denota l'insieme di valori {DID(d), per tutti i d in U}.
Si descriveranno ora le strutture astratte di memorizzazione per l'intensione.
L'intensione è la tassonomia stessa; può essere vista come schema concettuale per un insieme di corpora . L'intensione è memorizzata come:
AIS1. Una o più relazioni di "dizionario" nella forma
Di: [CID]->[textualLabel]
che memorizzano la definizione di ogni concetto visibile all'utente; il dominio "textualLabel" contiene descrizioni di concetti in linguaggio naturale. Ogni dizionario può essere in un "linguaggio" diverso, consentendo in tal modo corpora multi-lingue e/o una descrizione diversa dei concetti.
AIS2 . Una directory di linguaggi, che identifica la relazione di dizionario appropriata per un "linguaggio" specifico (richiesta soltanto se si utilizza più di un "linguaggio" per la descrizione del concetto) nella forma:
LD: [LANGUAGE_ID] -> D
dove LANGUAGE_ID contiene l'identificazione astratta dei linguaggi e D contiene i dizionari esistenti.
Una rappresentazione alternativa di AIS1, AIS2 è tramite una singola relazione
AISI' : [CID, LANGUAGE_ID] -> textualLabel.
AIS3. Una relazione padre-figlio della forma
FS :[CID] -> {SON_CID}
oppure
FS' :[CID, SEQ] -> {SON_CID}
che memorizza, per ogni concetto c, i suoi figli nella tassonomia. Il dominio SON_CID è identico a CID. Il dominio di SEQ è l'insieme di numeri naturali .
La seconda forma che si utilizza in generale consente di stabilire un ordine di visualizzazione significativo tra i figli di un concetto c.
AIS4. Un rapporto figlio-padre della forma
SF: [CID] -> {FATHER_CID}
che memorizza, per ogni concetto c, i suoi padri nella tassonomia. Il dominio FATHER_CID è identico a CID. Se la tassonomia non è un reticolo (cioè qualsiasi concetto c non può avere più di un padre), questa relazione diventa:
SF: [CID] -> [FATHER_CID] .
In quest'ultimo caso, le informazioni sul padre di uno specifico concetto c possono essere memorizzate in alternativa nei dizionari come:
Di:[CID] -> FATHER_CID, textualLabel
anche se questo produce una ridondanza se si mantiene più di un dizionario.
Si descriveranno ora le strutture astratte di memorizzazione per l'estensione.
L'estensione rappresenta la classificazione di documenti. Come tale, essa dipende dal corpus specifico. L'estensione è rappresentata astrattamente dalle tre relazioni seguenti:
AES1. Estensione profonda, nella forma
DE:[CID] -> {DID)
che memorizza, per ogni concetto c, tutti i documenti nella sua estensione profonda (cioè tutti i documenti classificati sotto c o qualsiasi discendente c' di c) .
AES2 . Estensione superficiale, nella forma
SE: [CID, DID]
che memorizza, per ogni concetto c, tutti i documenti nella sua estensione superficiale (cioè tutti i documenti classificati direttamente sotto c) . L'estensione superficiale e l'estensione profonda sono identiche per i concetti terminali, e pertanto per tali concetti terminali occorre mantenere uno solo tra DE ed SE (tipicamente, si manterrà DE).
AES3. Classificazione, nella forma
CL:[DID] -> {CID}
che memorizza, per ogni documento, i concetti più specifici sotto i quali esso è classificato. Tutti gli antenati di questi concetti possono essere recuperati facilmente tramite la relazione figliopadre (SF) nell'intensione. Questa struttura è richiesta soltanto se la visualizzazione della classificazione per i documenti memorizzati è supportata a livello utente.
AES4. Directory di documenti
Non specificata, dato che dipende dal sistema ospite. Mappa un identificatore di documento nelle informazioni necessarie per accedere al documento specificato (ad esempio, il nome del file).
Si descriverà ora 1'implementazione astratta di operazioni sull'intensione.
AI01. Dato un concetto c identificato da K=CID(c), trovare la sua etichetta in un linguaggio L specifico .
1. Accedere alla directory di linguaggio appropriata
SELECT D FROM LD WHERE LANGUAGE_ID=L
2. Utilizzare K come chiave per accedere all'etichetta testuale
SELECT textualLabel FROM D
WHERE CID=K
AI02. Dato K=CID{c), trovare tutti i suoi figli Accedere alla relazione padre-figlio FS, utilizzando K come chiave parziale
SELECT SON_CID FROM FS
WHERE CID=K
Oppure
Accedere alla relazione figlio-padre FS', utilizzando K come chiave parziale
SELECT SEQ, SON_CID FROM FS'
WHERE CID=K
ORDER BY SEQ, SON_CID
AI03. Dato K=CID(c), trovare tutti i suoi padri Accedere alla relazione figlio-padre SF, utilizzando K come chiave parziale
SELECT FATHER_CID FROM SF
WHERE CID=K
AI04 . Operazioni di inserimento, cancellazione, modifica
Le operazioni di inserimento sono eseguite inserendo il nuovo concetto C:
• nei dizionari (AIS1)
• nella relazione padre-figlio (AIS3)
• nella relazione figlio-padre (AIS4)
Se C è il figlio di un altro concetto C', può essere utile consentire all'utente di riclassificare sotto C alcuni dei documenti attualmente classificati nell'estensione superficiale di C'.
La cancellazione di un concetto C è eseguita cancellando dall'intensione (AIS1, AIS3, AIS4) tutti i concetti c e C<down>(C). In aggiunta (allo scopo di evitare di perdere documenti), i documenti nell'estensione profonda di C devono essere aggiunti all'estensione superficiale di C', dove C' è il padre di C nella tassonomia, a meno che C' sia la radice della tassonomia. Le estensioni superficiale (AES2) e profonda (AES1) per tutti i concetti c ø C<down>(C) devono essere cancellate. I concetti in C<dovm>(C) devono essere cancellati dalla classificazione (AES3) di tutti i documenti nell'estensione profonda di C.
Le variazioni nella tassonomia possono essere di tre tipi:
1. modifica dell'etichettatura di un concetto C:
questo richiede soltanto la modifica del textualLabel in AIS1
2. cambiamento della posizione di un concetto C nella tassonomia
3. aggiunta di un padre C' aggiuntivo a C nella tassonomia.
Nel caso 2, si ipotizzi che C' sia il padre corrente di C e C" sia il nuovo padre di C. In primo luogo, occorre cancellare C dalla tassonomia, e reinserirlo come figlio di C". L'estensione profonda di C deve essere cancellata dall'estensione profonda di tutti i concetti c e C<up>(C') (tramite sottrazione insiemistica). L'estensione profonda di C deve essere aggiunta all'estensione profonda di tutti i concetti c S C<up>(C") (tramite unione insiemistica). Non sono richieste modifiche nelle estensioni superficiali. Nel caso 3, l'estensione profonda di C deve essere aggiunta all'estensione profonda di tutti i concetti c e C<up>(C') (tramite unione di insiemi).
Si descriverà ora 1'implementazione astratta di operazioni sull'estensione.
AEOI. Dato un concetto c tale che CID(c) = K, trovare la sua estensione profonda.
Accedere alla relazione di estensione profonda DE, utilizzando K come chiave parziale
SELECT DID FROM DE WHERE CID=K
AE02. Dato un concetto c tale che CID(c) = K, trovare la sua estensione superficiale.
Accedere alla relazione di estensione superficiale SE, utilizzando K come chiave parziale
SELECT DIO FROM SE WHERE CID=K
AE03. Testare l'appartenenza di un insieme di DID {DID} nell'estensione profonda di un concetto CID 1. Reperire l'estensione profonda di CID
2. Per ciascun d in {DID}, testare se d appartiene all'estensione profonda; se è così, restituire TRUE; se non vi sono d in {DID}, restituire FALSE AE04 . Dato un insieme di DID {DID}, contare il numero di documenti in {DID} che si trovano anche nell'estensione profonda di CID
1. Reperire l'estensione profonda di CID
2. Inizializzare CNT a 0
3. Per ogni d in {DID}, testare se d appartiene all'estensione profonda; se è così, CNT=CNT+1; 4. Restituire CNT
AE05. Testare l'appartenenza di un insieme di DID {DID} nell'estensione superficiale di un concetto CID.
Come in AE03, sostituendo l'estensione profonda con l'estensione superficiale.
AE06. Dato un insieme di DID {DID}, produrre la proiezione sotto un concetto CID
1. Reperire l'insieme {SONI di tutti i figli di CID 2. Inizializzare l'insieme R a vuoto
3. Per ogni concetto s in SON, utilizzare l'operazione AE03, o l'operazione AE04 se si desiderano i contatori, per testare l'appartenenza di {DID} in s. Se l'operazione restituisce TRUE (> 0 se si utilizza AE04), aggiungere s all'insieme R
4. Restituire R.
AE07 . Dato un insieme di DID {DID}, produrre la tassonomia ridotta per {DID}.
Per ragioni prestazionali, la tassonomia ridotta è prodotta a richiesta: la richiesta visualizza soltanto i livelli massimi nell'albero. L'insieme {DID} viene tenuto in memoria, cosicché quando si richiede l'esplosione di un concetto specifico nella tassonomia ridotta, si esegue il filtraggio appropriato.
1. Produrre la proiezione di {DID} per la radice Alla successiva esplosione del concetto c:
Produrre la proiezione di {DID} per c
AE08. Combinazione booleana di concetti.
Le combinazioni booleane di concetti si effettuano mediante le corrispondenti operazioni insiemistiche sull'estensione profonda dei concetti. Siano c e c' due concetti, e DE(c) e DE(c') la loro estensione profonda (rappresentata da AES1):
c AND c' corrisponde a DE(c)nDE(c')
c OR c' corrisponde a DE(c)uDE(c')
c MINUS c' corrisponde a DE(c)-DE(c')
NOT c corrisponde a U-DE(c), dove U è l'universo AE09. Inserimento di un nuovo documento.
L'inserimento di un nuovo documento d (rappresentato da DID(d)) classificato sotto un insieme di concetti {C} richiede le seguenti fasi: per ogni c ø {C}
1. Inserire DID(d) nell'estensione superficiale di c (AES2), se c non è un concetto terminale e l'estensione superficiale deve essere memorizzata .
2. Inserire DID(d) nell'estensione profonda (AES1) di C<up>(c).
3. Inserire un elemento [DID(d)] -> {C} nella struttura di classificazione AES3.
AEOIO. Cancellazione di un documento esistente.
La cancellazione di un documento d (rappresentato da DID(d)) richiede le seguenti fasi:
1. Reperire l'insieme di concetti {C> sotto i quali d è classificato in modo superficiale, accedendo ad AES3 con DID (d) come chiave (operazione AE02)
2. Per ogni c E {C}
a. Cancellare DID(d) dall'estensione superficiale di c
b. Per tutti i c' C C<up>(c): cancellare DID(d) dall'estensione profonda di c'
3. Cancellare l'inserimento corrispondente a DID(d) da AES3.
AE011. Riclassìfreazione di documenti.
Le modifiche della classificazione di un documento d (rappresentato da DID(d)) sono implementate nella seguente maniera. Sia d classificato inizialmente sotto un concetto c (eventualmente nullo) e sia c' il nuovo concetto sotto cui occorre classificare d (eventualmente nullo). Se sia c sia c' sono non nulli, l'operazione significa che d era stato classificato in precedenza sotto c e deve essere ora classificato sotto c'; se c è nullo, l'operazione significa che d è classificato in aggiunta sotto c'; se c' è nullo, l'operazione significa che occorre togliere la classificazione originale sotto c. Almeno uno tra c e c' deve essere non nullo. Se c non è nullo:
1. eliminare DID(d) dall'estensione superficiale (AES2) di c
2. eliminare DID(d) dall'estensione profonda (AES1) di tutti i c" 6 C“<p >(c)
3. eliminare c dalla classificazione di d (AES3) Se c' non è nullo:
1. inserire DID(d) nell'estensione superficiale (AES2) di c' (se l'estensione superficiale di c esiste)
2. inserire DID(d) nell'estensione profonda (AESl) di tutti i c" 6 C<up >(c)
3. inserire c' nella classificazione di d (AES3) AE012. Reperire i documenti sotto cui è classificato immediatamente un documento d.
Reperire {C} da AES3, utilizzando DID(d) come chiave.
Si descriveranno ora le strutture di memoria fisica, l'architettura e 1'implementazione di operazioni.
Per quanto riguarda l'intensione, le strutture dì memorizzazione contribuiscono di solito con costo trascurabile al costo di memoria globale, dato che alcune migliaia di concetti sono di solito adeguati anche per corpi ricchi a livello semantico. La memorizzazione di queste strutture può essere fornita da qualsiasi sistema di gestione di banche dati o qualsiasi metodo di accesso con chiave. La seconda forma di AIS3 (FS') richiede un accesso ordinato, dato che si utilizza SEQ per ordinare i figli di un concetto specifico. Dato il costo trascurabile, tutte le strutture di memoria intensionali (con l'eventuale eccezione di AIS1, i dizionari) possono essere di solito mantenute nella memoria centrale.
Per quanto riguarda l'estensione, la componente più critica è AES1 (l'estensione profonda), per parecchie ragioni. In primo luogo, la semantica dell'estensione profonda è la semantica naturale per le combinazioni booleane di concetti (vedi AE08) . In secondo luogo, la produzione di tassonomie ridotte richiede un numero generalmente elevato di proiezioni (proiezioni che sono eseguite sull'estensione profonda), le cui prestazioni sono critiche per le operazioni visive.
E' critico che l'estensione profonda del concetto c sia memorizzata esplicitamente, e non calcolata come unione delle estensioni superficiali di tutti i discendenti di c.
Anche se si può utilizzare qualsiasi metodo di gestione di banche dati o di accesso con chiave per fornire la memorizzazione dell'estensione profonda, l'insieme di documenti nell'estensione profonda può essere rappresentato in modo più efficiente rispetto alla mappatura diretta della relazione astratta .
Si descrìverà ora l'utilizzo di vettori di bit di dimensioni fisse nel presente contesto. Le banche dati con un numero di documenti da piccolo a moderato possono rappresentare efficacemente l'estensione profonda di un concetto c tramite vettori di bit, ciascuno di dimensione uguale a |u'|, il numero massimo di documenti nell'universo. Nel vettore di bit, il bit i è impostato se e solo se il documento d con DID(d)=i si trova nell'estensione profonda di c.
Le operazioni di. insiemi sull'estensione profonda comportano soltanto l'utilizzo di operazioni logiche su vettori di bit (AND, OR, NOT, ecc.). Queste operazioni operano su uno o più vettori a bit e producono un vettore a bit di risultato della stessa dimensione.
Sia 1'identificativo di documento numerato da 0 a |U'|-1, e sia n il numero di bit nella parola della CPU utilizzata. Per ragioni prestazionali, è meglio stabilire la dimensione fissa dei vettori a bit a |U'|/n -), allo scopo di essere in grado di eseguire operazioni di bit a livello di parola. Le posizioni di bit non utilizzate sono lasciate non impostate.
Il conteggio del numero di documenti nel risultato di qualsiasi operazione può essere eseguito in modo efficiente tramite ricerca di tabella, nel seguente modo.
Sia l'unità di accesso UA (non necessariamente la parola di CPU) di n bit. Si costruisca una volta un vettore V di 2<n >elementi costanti, immagazzinato in memoria, che memorizza in V[i] (elemento all'indice i) il numero di bit impostati ad 1 nel numero binario i (compreso tra 0 e 2<n>-l)
Conteggio :
Inizializzare il contatore C a 0;
accedere al vettore di bit in gruppi di n bit per volta:
per ogni gruppo
memorizzare il gruppo in i
porre C = C V[i]
Per l'accesso a livello di ottetto (n=8), la tabella di traduzione richiede 256 ottetti. Per l'accesso a livello di doppio ottetto (n=16), 64K ottetti. Unità di accesso maggiori non sono consigliate .
L'inserimento, la cancellazione e la riclassificazione sono inoltre eseguiti in modo efficiente localizzando semplicemente l'estensione profonda e/o superficiale appropriata e impostando/azzerando il bit appropriato.
Questa stessa rappresentazione può essere utilizzata banalmente per memorizzare le strutture AES2 e AES3. In AES3 la dimensione del vettore di bit è uguale alla cardinalità dell'insieme di concetti nella tassonomia.
Per quanto riguarda i vettori di bit compressi, per costruzione, l'estensione profonda è molto sparsa a livello terminale, e molto densa a livelli superiori nella tassonomia. L'utilizzo di qualsiasi tipo di compressione di vettore di bit (quali, senza pregiudizio per la generalità, i vettori di bit a Codifica di Lunghezza di Ripetizione ("Run Length Encoding", vedi Capon, J., A probabilistic model for run-length coding of pictures, IEEE Trans, on Inf. Theory, 1959) e/o a lunghezza variabile) è pertanto vantaggiosa per ridurre lo spazio richiesto, anche se introduce un aggravio di tempo dovuto alla compressionedecompressione .
Se è accettabile un tasso di errore controllato nelle operazioni, si possono utilizzare i filtri di Bloom (vedi, Bloom, B. H., Space/time tradeoffs in hash coding with allowable errors, Comm. of thè ACM, 1970) per rappresentare l'estensione profonda in forma compatta, adatta per banche di informazioni più grandi. Con i filtri di Bloom, il conteggio e la negazione di solito non sono supportati.
Per banche di informazioni da grandi a molto grandi, una rappresentazione a vettori di bit (anche se compressa) può richiedere uno spazio eccessivo. Le estensioni profonda e superficiale così come la struttura AES3 possono essere memorizzate come liste invertite ("inverted lists", vedi Wiederhold, G., Files structures, Mc-Graw-Hill, 1987) . Per velocizzare il calcolo delle operazioni insiemistiche, tali liste (e il risultato delle operazioni insiemistiche) sono mantenute ordinate per identificativo di documento. Per le considerazioni prima esposte, è generalmente vantaggioso utilizzare una qualsiasi forma di compressione di liste invertite.
Per quanto riguarda le strategie architetturali generali, 1'implementazione delle tassonomie dinamiche dovrebbe tentare di mantenere tutte le strutture di dati rilevanti nella memoria principale, condivise dai processi che accedono ad esse .
Come notato in precedenza, l'occupazione di memoria per l'intensione è generalmente trascurabile, cosicché le strutture intensionali (con la possibile eccezione dei dizionari) possono essere di solito tenute in memoria principale senza problemi .
L'occupazione di memoria per le strutture estensionali è considerevolmente maggiore. Se l'occupazione di memoria dell'estensione profonda ne impedisce la memorizzazione completa nella memoria principale, occorre utilizzare strategie di bufferizzazione con rimpiazzamento LRU o come quelle descritte nei documenti Johnson, T., Shasha D.: 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm, Int. Coni, on Very Large Databases, 1994; ed O'Neill, et al.: The LRU-K Page Replacement Algorithm For Database Disk Buffering, SIGMOD Coni. 1993. Le estensioni superficiali e le strutture di classificazione sono meno critiche e possono essere tenute su disco (di nuovo con le strategie di bufferizzazione descritte nei due documenti sopra indicati).
Come indicato nell'operazione AE03, il test di appartenenza senza conteggio può restituire TRUE quando si trova il primo DID comune ad entrambi gli elenchi, velocizzando in tal modo il calcolo.
Si descriveranno ora l'impiego e 1'implementazione di concetti virtuali.
Alcuni dominii di dati (quali prezzi, date, grandezze, ecc.) corrispondono di solito ad un concetto (ad esempio PREZZO) che può espandersi in un gran numero di concetti terminali, che rappresentano ciascuno un valore specifico (ad esempio 100 dollari). Tale rappresentazione genera un gran numero di concetti figli, ed aumenta la complessità della tassonomia. In alternativa, i valori possono essere raggruppati definendo intervalli di valori significativi e rappresentando soltanto tali intervalli come concetti specifici. Questa rappresentazione perde i dati effettivi, e presenta all'utente una classificazione fissa. Il raggruppamento può anche combinarsi con una rappresentazione esaustiva, ma eredita la maggior parte dei problemi di entrambi gli schemi.
L'invenzione dei "concetti virtuali" fornisce una terza alternativa più flessibile. Si definisce "concetto virtuale semplice" un concetto per cui non vengono memorizzati né i figli effettivi (valori effettivi del dominio da rappresentare) né l'estensione effettiva, che invece vengono calcolati (di solito da dati aggiuntivi, eventualmente esterni).
Un concetto virtuale è descritto completamente da 4 operazioni astratte:
VI: Dato un concetto virtuale v, reperire tutti i suoi figli.
V2 : Dato un concetto virtuale v, reperire la sua estensione profonda.
V3: Dato il figlio s di un concetto virtuale v, reperire la sua estensione profonda.
V4 : Dato un documento d, trovare tutti i concetti terminali (discendenti di v) sotto cui è memorizzato .
Un modo per implementare queste operazioni astratte è il mantenimento, per ogni concetto virtuale v, di due relazioni astratte:
Sv:[value] -> {DID}
che memorizza l'insieme di documenti con un dato valore nel dominio dei valori del concetto virtuale .
Cv:[DID] -> {value}
che memorizza l'insieme di valori per un documento specifico; se ogni documento ha un singolo valore Cv:[DID] -> [value]. Una singola relazione Cv può memorizzare una molteplicità di dominii e può essere condivisa da molti concetti virtuali: in questo caso Cv:[DID] -> {valueA, valueN}, dove valuel indica l'insieme di valori per il dominio I. E' importante notare che non occorre memorizzare esplicitamente né Sv né Cv, ma essi possono essere sintetizzati da richieste su dati esterni.
Queste due relazioni astratte possono essere rappresentate da una singola relazione in uno schema relazionale (senza perdita di generalità e per fornire semplicemente una chiara descrizione delle operazioni)
Cv (DID, value)
con gli attributi sottolineati che rappresentano la chiave primaria. Sv di fatto memorizza l'inverso di Cv e sarà di solito rappresentato da un indice secondario su Cv, piuttosto che da una relazione di base.
Con questa rappresentazione, le operazioni astratte definite in precedenza possono essere implementate facilmente tramite query SQL:
Vi: Dato un concetto virtuale v, reperire tutti i suoi figli:
SELECT DISTINCT value FROM Cv
V2 : Dato un concetto virtuale v, reperire la sua estensione profonda:
SELECT DISTINCT DID FROM Cv
V3: Dato il figlio di un concetto virtuale v, reperire la sua estensione (s è un concetto terminale, e così le sue estensioni profonda e superficiale sono identiche)
SELECT DISTINCT DID FROM Cv
WHERE value=s
Il conteggio è aggiunto in modo banale.
V4: Dato un documento d, trovare tutti i concetti terminali (discendenti di v) sotto cui è memorizzato
RETRIEVE DISTINCT value FROM Cv
WHERE DID=d
In generale, un concetto virtuale v può essere organizzato in una sub-tassonomia, cioè ogni figlio non terminale di v rappresenta un insieme di valori di domìnio effettivi. Ogni figlio può essere ulteriormente specializzato, e così via. Per esempio, SALARY può essere organizzato nella seguente tassonomia :
SALARY
Basso (ad esempio < 1000)
Medio (ad esempio >= 1000 e < 10000) Alto (ad esempio > 10000)
In questo caso, i discendenti non terminali di v possono essere memorizzati come concetti virtuali derivati, cioè concetti virtuali che fanno riferimento alle stesse relazioni astratte definite per v, ma fornendo restrizioni aggiuntive. Nell'<’>esempio, "Basso" può essere caratterizzato dal valore di restrizione aggiuntivo < 1000, in modo che l'operazione V3 per Basso diventa:
SELECT DISTINCT DID FROM Cv
WHERE value<1000
I concetti virtuali e virtuali derivati sono peculiari per il fatto che i loro discendenti terminali e le loro estensioni non sono memorizzati direttamente ma calcolati. Allo scopo di rappresentarli nel nostro contesto, si aggiungono le seguenti relazioni astratte all'intensione:
AIS5:[CID] -> [conceptType]
dove conceptType designa concetti reali, concetti virtuali semplici e virtuali derivati.
AIS6 : [CID] -> [S CID]
per concetti virtuali semplici, memorizza la relazione astratta Sv (che può essere sintetizzata come una query) per il concetto virtuale CID.
AIS7 : [CID] -> [CCID]
per concetti virtuali semplici, memorizza la relazione astratta Cv (che può essere sintetizzata come una query) per il concetto virtuale CID.
AIS8:[CID] -> [CID', restrizione]
soltanto per concetti virtuali derivati, identifica il concetto virtuale a cui fare riferimento e la restrizione aggiuntiva.
Si descriveranno ora l'impiego e 1'implementazione di concetti variabili nel tempo.
I concetti variabili nel tempo, quali l'età, possono essere rappresentati da una semplice variante dei concetti virtuali. Un istante di tempo t viene rappresentato da una "marca temporale" astratta. La marca temporale contiene il numero di scatti dell'orologio a partire da una origine temporale fissa; la risoluzione dell'orologio dipende dall'applicazione. Tutte le marche temporali usano le stesse coordinate temporali. La differenza tra due marche temporali t e t' definisce l'ampiezza dell'intervallo temporale tra i due tempi. Siano i valori del concetto virtuale v l'insieme delle marche temporali di tutti i documenti nell'estensione di v, e sia T la marca temporale dell'istante attuale:
Dato un concetto virtuale v, reperire tutti i suoi figli :
SELECT DISTINCT T-value
FROM Cv
Dato un concetto virtuale v, reperire la sua estensione profonda:
SELECT DISTINCT DID FROM Cv
Dato il figlio s di un concetto virtuale v, reperire la sua estensione:
SELECT DISTINCT DID FROM Cv
WHERE value=T+s
In alternativa, ed in modo più efficiente, i valori del concetto variabile nel tempo possono essere suddivisi in N intervalli (dal più recente al più vecchio), che sono memorizzati come concetti reali. In aggiunta, per ogni intervallo I, si mantiene:
a. l'elenco L(I) di DID nell'intervallo ordinato per marche temporali decrescenti (cioè dal più recente al più vecchio)
b. {nella memoria centrale, se possibile) il rappresentante dell’intervallo IR(I): l'ultimo DID nell'intervallo insieme alla sua marca temporale
c. un criterio di classificazione (ad esempio T-value minore di 1 settimana e non inferiore a 1 giorno)
Dato che la classificazione dei documenti varia nel tempo, è necessario ricalcolare la classificazione dei documenti ad ogni scatto ("tick") temporale (intervallo di tempo arbitrario scelto dall'amministratore di sistema, tipicamente un multiplo della risoluzione dell'orologio), secondo il seguente algoritmo:
Ad ogni scatto temporale:
Per ogni intervallo I
Fino a che IR(I) necessita di riclassificazione (cioè non rispetta il criterio di classificazione per I)
1
Reclassify (IR(I));
stabilire come IR l'ultimo DID nell'elenco ordinato a)
}
dove Reclassify(IR(I)) è
Cancellare IR(I).DID da I
Per(i=i+1 fino a N)
{
se IR(I) rispetta il criterio di classificazione per l'intervallo i
{
inserire IR(I) nell'intervallo i interrompere;
}
}
Si descriverà ora il legame di una tassonomia dinamica ad un sistema di banca dati.
La presente invenzione consente l'utilizzo di una tassonomia dinamica per esplorare e reperire i dati memorizzati in un sistema di gestione di banche dati convenzionale (relazionale, relazionale ad oggetti, orientato agli oggetti, ecc.). L'invenzione copre soltanto i dati memorizzati come singola relazione (o oggetto) e, più in generale, rappresentati da una singola vista sulla banca dati (vedi Elmasri, Navathe, Fundamentals of database systems, The Benjamin/Cummings Pubi. Co. 1994).
In questo caso i documenti corrispondono a tuple (o righe, record, oggetti) nella vista V.
Allo scopo di identificare un documento si può utilizzare la chiave primaria della vista come identificatore di documento (DID) oppure mantenere due relazioni astratte che mappano i DID generati dal sistema nella e dalla chiave primaria PK della vista :
DK: [DID] -> [PK]
IDK: [PK] -> [DID]
dove PK rappresenta la chiave primaria della relazione. Si utilizza DK per accedere ad una tupla di V, dato un id di documento DID, e si utilizza IDK per reperire 1'identificativo di documento corrispondente ad un valore specifico nella chiave primaria di V. Quest'ultima rappresentazione è vantaggiosa quando la chiave primaria PK è grande (ad esempio, quando e' definita su attributi alfanumerici) .
Data una vista V si può costruire una tassonomia T per V nel seguente modo. Per ogni attributo A in V, si pone un corrispondente concetto C (A) (reale o virtuale) come figlio immediato della radice. I concetti virtuali utilizzano lo stesso V per la sintesi di figli ed estensioni (come visto in precedenza). I concetti reali possono essere ulteriormente specializzati come richiesto dalla semantica di A.
Data una tupla t in V, per ogni attributo A in V, t.A indica il valore dell'attributo A in t. Per ogni concetto reale C in T (C(A) o un discendente di C(A)), il progettista deve prevedere una clausola booleana B(C,t) in modo tale che t (rappresentato da DID(t)) debba essere classificato sotto C se e solo se B(C,t)=TRUE.
La clausola booleana B(C,t) può far riferimento a qualsiasi attributo di t, e di conseguenza, si possono definire concetti virtuali nuovi (chiamati "concetti estesi") su combinazioni di attributi tramite operazioni sulla banca dati (comprese ma non limitate a somme, medie, ecc. dei valori della banca dati).
Un caso speciale ha luogo quando la clausola booleana B(C,t) è vera quando t.A C Sc, dove Sc è un insieme di valori dell'attributo A e Sc Π Sc- = 0 per ogni C≠C'. In questo caso, è più efficiente mantenere una tabella T:[v]->[c], che elenca per ogni valore v nel dominio (A), il corrispondente concetto c. Se Sc Π Sc> ≠ 0 per qualche C≠C', si possono associare una molteplicità di concetti allo stesso valore, cosicché T:[v]->{c).
In aggiunta a questa mappatura tra attributi e concetti, il progettista può definire concetti nuovi come generalizzazioni tassonomiche di attributi o concetti estesi.
• Nuove generalizzazioni tassonomiche. Per i concetti virtuali, questa caratteristica è stata discussa in precedenza. Se i figli di una nuova generalizzazione tassonomica G sono concetti reali {S}, non è richiesta di solito alcuna clausola booleana per G, poiché la classificazione sotto G è eseguita automaticamente dall'operazione AE09.
• Concetti estesi. I nuovi concetti possono essere derivati come concetti reali o virtuali tramite operazioni sulla banca dati (comprese ma non limitate a somme, medie, ecc. dei valori della banca dati). Il legame viene eseguito nel seguente modo. I concetti virtuali non richiedono alcuna elaborazione speciale, dato che sono realizzati tramite operazioni sulla banca dati. I concetti reali richiedono una classificazione per qualsiasi nuova tupla, una cancellazione se si cancella t o una riclassificazione se si modifica t. Allo scopo di classificare t, il sistema localizza l'insieme C di concetti per cui B(c,t), cCC è soddisfatto e classifica t sotto ogni cCC (e di conseguenza sotto tutti gli antenati di c). La cancellazione e la riclassificazione sono eseguite come in precedenza. Esempio :
Data la relazione o vista R:(IDCITTA, NOME, STATO), si possono identificare i documenti nella banca dati tramite i valori di IDCITTA. Occorre decidere quali attributi saranno rappresentati in T e come saranno rappresentati. Sia STATO rappresentato da un concetto reale, e NOME sia rappresentato da un concetto virtuale. In aggiunta si definisca il concetto reale CONTINENTE come il continente in cui si trova lo STATO. CONTINENTE può essere rappresentato in due modi: come concetto di generalizzazione tassonomica o come concetto esteso .
Se si rappresenta CONTINENTE come concetto esteso, la tassonomia T sarà:
NOME
Sv:Select IDCITTA FROM R WHERE NOME = x
Cv:Select DISTINCT NOME FROM R
CONTINENTE EUROPA t.STATO="Italia"ort.STATO="Francia" ... AMERICA t.STATO="USA" or ...
ASIA t.STATO ...
STATO
Italia t .STATO="Italia"
Francia t .STATO="Francia"
USA t .STATO="USA"
Se si rappresenta CONTINENTE come generalizzazione tassonomica di STATO, la tassonomia T' sarà:
NOME
Sv:Select IDCITTA FROM R WHERE NOME = x
Cv:Select DISTINCT NOME FROM R
CONTINENTE EUROPA
Italia t.STATO="Italia"
Francia t.STATO="Francia"
AMERICA
Usa
ASIA
STATO
Italia t.STATO-"Italia"
France t . STATO="Francia"
USA t . STATO="USA"
In entrambi i casi, NOME è rappresentato nello stesso modo: si hanno due relazioni astratte
Sv: [STATO] -> {IDCITTA}
Cv: [IDCITTA] -> [STATO]
Si descriverà infine l'utilizzo di tassonomie dinamiche per rappresentare profili utente di interesse e 1'implementazione di un avviso utente per nuovi documenti interessanti basandosi sui profili di tassonomia dinamica.
L'invenzione consiste nell'impiego di espressioni booleane su concetti (con l'aggiunta opzionale di altre espressioni, quali ad esempio interrogazioni di Information Retrieval) per descrivere l'interesse dell'utente per argomenti specifici. La specifica dei profili di interesse utente è specialmente importante nella vendita o intermediazione di informazioni e nel monitoraggio delle sorgenti di dati dinamiche allo scopo di avvertire gli utenti di informazioni rilevanti nuove o modificate. Si assume che la banca informativa sia classificata mediante le tassonomie dinamiche.
Lo scenario è il seguente. Più utenti esprimono i propri interessi tramite insiemi di espressioni concettuali, chiamate "specifiche di interesse". Un sistema di monitoraggio accetta queste specifiche (con un "indirizzo" astratto di utente a cui inviare gli avvertimenti). Il sistema di monitoraggio controlla inoltre una banca informativa per rilevare le modifiche (inserimento, cancellazione, cambiamento). La banca informativa è descritta dalla stessa tassonomia utilizzata dagli utenti per esprimere i propri interessi.
Quando ha luogo un cambiamento nella banca informativa (il tipo di cambiamento per cui avvertire può essere specificato dagli utenti), il sistema deve trovare l'insieme degli utenti da avvertire sulla base dei loro interessi.
Un approccio di forza bruta controllerà tutte le specifiche di interesse in modo esaustivo, e verificherà per ogni specifica S se questa è soddisfatta dal documento d modificato. Si può verificare se un documento d soddisfa una specifica S applicando la query specificata in S all'insieme {d} e verificando se si reperisce d. Tuttavia, questa strategia richiede l'esecuzione, per ogni cambiamento della banca di informazioni, di tante query quante sono le specifiche utente e può essere in pratica assai costosa. Per questa ragione, si defìniscono strategie alternative che riducono il numero di valutazioni richieste.
Si è interessati principalmente alla soluzione efficiente delle specifiche di tassonomia dinamica. Le espressioni aggiuntive, quali le query di Information Retrieval, saranno di solito composte in AND con espressioni tassonomiche, e possono essere pertanto risolte, se richiesto, dopo che si soddisfa la corrispondente espressione tassonomica.
Si comincerà dal caso più semplice, in cui: a) la specifica è espressa come congiunzione di concetti terminali
b) i documenti sono classificati soltanto sotto concetti terminali.
Per quanto riguarda le specifiche di congiunzione e la classificazione dei documenti soltanto sotto concetti terminali, si utilizzano due strutture astratte di memorizzazione:
1. una directory di specifiche, nella forma: SD:[SID]-> [N,SPEC]
dove SID è un identificatore astratto che identifica in modo unico la specifica, SPEC è la specifica stessa (opzionale), N è il numero di concetti a cui si fa riferimento nella specifica. A scelta, saranno memorizzati in questa struttura altri campi (quali 1' "indirizzo" utente).
2. un' "inversione" di specifica, nella forma: SI: [CID]->{SID}
che elenca per ogni concetto c (rappresentato dal suo identificatore di concetto) tutte le specifiche (rappresentate dal loro id di specifica) che utilizzano tale concetto.
Quando si crea una specifica, si crea il suo identificatore astratto, la si inserisce in SD e si memorizzano nell'inversione SI l'insieme di concetti a cui si fa riferimento nella specifica.
Quando si inserisce, cancella o modifica un documento d, sia C l'insieme di concetti (concetti terminali per ipotesi) sotto cui d è classificato. L'insieme di specifiche che si applicano a d si trova quindi nel seguente modo.
Sia K l'insieme di concetti utilizzati per classificare il documento d. Per ogni concetto k in K, sia SID(k) l'elenco di specifiche per k (accessibile tramite la relazione SI) ordinato per id di specifica crescente. Si definisce MergeCount (K) l'insieme composto da coppie (SID, N) in modo tale che SID sia in MergeCount(K) se SID appartiene a un SID(k), k in K. Se la coppia (SID, N) è in MergeCount(K), N conta il numero di SID(k) che fanno riferimento a SID. Si può produrre MergeCount (K) a costo lineare, fondendo gli elenchi SID {k).
Sia S un insieme inizialmente vuoto, che rappresenta l'insieme di specifiche soddisfatte da d.
Per ogni coppia (SID, N)
Reperire SID.N da SD;
se SID.N=N: S=S unione SID.
Per quanto riguarda le specifiche che utilizzano operazioni di insiemi non limitate, sia S (rappresentato da SID(S)) una specifica. Trasformare S in forma normale disgiuntiva (cioè come disgiunzione di congiunzioni). Sia ogni clausola di congiunzione in S chiamata componente di S. Si indica con SIDi(S) l'i-esimo componente di S.
Memorizzare la directory di specifiche come due relazioni astratte:
SD (come prima, con N omesso)
SCD:[COMPONENTI-> [SDÌ,N], dove COMPONENT memorizza componenti di specifiche, COMPONENT.SDÌ rappresenta 1'identificativo di specifica di cui COMPONENT è un componente, e COMPONENT.N è il numero di concetti a cui si fa riferimento nel componente .
L'inversione di specifica è memorizzata come: SI:[CID]->{COMPONENT}, dove CID è un identificatore di concetto e CID.COMPONENT è l'insieme di componenti che fanno riferimento al concetto identificato da CID.
Sia K l'insieme di concetti utilizzati per classificare il documento d, per ogni concetto k in K sia COMPONENT(k) l'elenco di componenti per k (accessibile tramite la relazione SI) ordinato per identificativo di componente crescente. Definire ComponentMergeCount (K) come l'insieme composto da coppie (COMPONENT,N) in modo tale che COMPONENT sia in ComponentMergeCount(K) se COMPONENT appartiene ad un COMPONENT (k), k in K. Se la coppia (COMPONENT,N) è in ComponentMergeCount(K), N conta il numero di COMPONENT(k) che fanno riferimento a COMPONENT. Si può produrre ComponentMergeCount(K) a costo lineare, fondendo gli elenchi di COMPONENT (k).
Sia S un insieme inizialmente vuoto.
Per ogni coppia (COMPONENT,N)
Reperire COMPONENT.N tramite la relazione SCD; se COMPONENT.N=N: S=S unione COMPONENT.SID (si accede a COMPONENT.SID tramite la relazione SCD).
S rappresenta l'insieme di specifiche soddisfatte da d.
Per quanto riguarda le specifiche e la classificazione di documenti sotto concetti non terminali a cui essi fanno riferimento, occorre modificare l'inversione di specifica SI nel seguente modo.
Se una specifica o componente Z fa riferimento al concetto C, rappresentato da CID(C), allora: C è un concetto terminale:
CID (C).SID=CID(C).SID unione Z, se Z è una specifica
CID(C) .COMPONENT-CID(C).COMPONENT unione Z, se Z è un componente
C è un concetto non terminale:
per ogni k in C<down>(C)
CID(k) .SID=CID(k).SID unione Z, se Z è una specifica
CID(k).COMPONENT=CID (k).COMPONENT unione Z, se Z è un componente.
L'insieme S di specifiche soddisfatte è calcolato come per i casi precedenti.
Le tecniche sopra esposte permettono di calcolare le specifiche soddisfatte da un documento d. Nel caso in cui si vogliano determinare le specifiche soddisfatte da un insieme di documenti D (di cardinalità superiore ad 1), le tecniche sopra esposte possono essere applicate in due modi. Nel primo modo, le tecniche vengono applicate senza modifica ad ogni documento d in D, rimuovendo poi eventuali specifiche duplicate. Nel secondo modo, si definisce come K l'insieme dei concetti utilizzati per classificare D, si applica la tecnica opportuna tra quelle descritte e si determina l'insieme S di specifiche "candidate". Ogni specifica s in S viene poi verificata, eseguendola su D.

Claims (69)

  1. RIVENDICAZIONI 1. Procedimento per il reperimento di informazioni su grandi banche dati eterogenee, caratterizzato dal fatto che il reperimento di informazioni tramite richieste/ricerche visive è supportato da tassonomie dinamiche, e caratterizzato inoltre dal fatto di comprendere le fasi di: - presentazione iniziale (Fi) di una tassonomia completa per detto reperimento; affinamento (F2) di detto reperimento tramite selezione di sottoinsiemi che interessano, detta fase di affinamento essendo effettuata selezionando concetti nella tassonomia e combinandoli tramite operazioni booleane; - presentazione (F3) di una tassonomia ridotta per detto insieme selezionato; e - ulteriore affinamento (F4) di detto reperimento tramite esecuzione iterativa di dette fasi di affinamento e presentazione.
  2. 2. Procedimento secondo la rivendicazione 1, caratterizzato dal fatto di comprendere i seguenti aspetti delle tassonomie dinamiche: a) operazioni aggiuntive; b) strutture ed operazioni di memoria astratta per l'intensione e l'estensione; c) strutture di memoria fisica, architettura ed implementazione delle operazioni; d) definizione, uso ed implementazione dei concetti virtuali; e) definizione, uso ed implementazione dei concetti variabili nel tempo; f) legame di una tassonomia dinamica ad un sistema di banca dati; ed g) utilizzo delle tassonomie dinamiche per rappresentare profili utente di interesse ed implementazione dì un avviso per l'utente relativo a nuovi documenti interessanti basandosi sui profili di tassonomia dinamica.
  3. 3. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto di comprendere inoltre le seguenti operazioni: a)proiezione secondo un dato CID di un insieme S di DID: estrazione di tutti i figli c di CID in modo che esista almeno un documento in S nell'estensione profonda di c; e b)estrazione dei CID per un documento d specifico in LI.
  4. 4. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione è memorizzata come una o più relazioni di "dizionario" (AIS1) nella forma Di: [CID]-> [textualLabel], dette relazioni memorizzando la definizione di ogni concetto visibile all'utente, il dominio "textualLabel" contenendo descrizioni di concetti in linguaggio naturale.
  5. 5. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende una directory di linguaggi (AIS2), detta directory di linguaggi identificando la relazione di dizionario appropriata per un linguaggio specifico nella forma: LD: [LANGUAGE_ID] -> D dove LANGUAGE_ID contiene l'identificazione astratta dei linguaggi e D contiene i dizionari esistenti .
  6. 6. Procedimento secondo la rivendicazione 4 o 5, caratterizzato dal fatto che una rappresentazione alternata di AIS1 e AIS2 è tramite una singola relazione: AIS1': [CID, LANGUAGE^ID] -> textualLabel.
  7. 7. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende una relazione astratta padre-figlio (AIS3) nella forma : FS :[CID] -> {SON_CID} oppure FS' :[CID, SEQ] -> {SON_CID} che memorizza, per ogni concetto c, i suoi figli nella tassonomia, detto dominio SON_CID essendo identico a CID, detto dominio di SEQ essendo l'insieme di numeri naturali.
  8. 8. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende inoltre una relazione astratta figlio-padre (AIS4) nella forma: SF: [CID] -> { FATHER_CID} che memorizza, per ogni concetto c, i suoi padri nella tassonomia, detto dominio FATHER_CID essendo identico a CID.
  9. 9. Procedimento secondo la rivendicazione 8, caratterizzato dal fatto che, se la tassonomia non è un reticolo (cioè qualsiasi concetto c non può avere più di un padre), detta relazione astratta figlio-padre (AIS4) diventa: SF:[CID] -> [FATHER_CID], le informazioni sul padre di uno specifico concetto c potendo essere memorizzate in alternativa nei dizionari come: Di:[CID] -> FATHER_CID, textualLabel.
  10. 10. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'intensione è implementata astrattamente l'operazione di reperimento (AIOl) dell'etichetta di un concetto c, identificato da K=CID(c), in un linguaggio L specifico, detta operazione di reperimento (AIOl) comprendendo le fasi di: accedere alla directory di linguaggio appropriata; ed utilizzare K come chiave per accedere all'etichetta testuale.
  11. 11. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'intensione è implementata astrattamente l'operazione di reperimento (AI02) di tutti i figli di un dato K=CID(c), accedendo alla relazione padre-figlio FS, utilizzando K come chiave parziale, oppure accedendo alla relazione figlio-padre FS', utilizzando K come chiave parziale.
  12. 12. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'intensione è implementata astrattamente l'operazione di reperimento (AI03) di tutti i padri di un dato K=CID (c), accedendo alla relazione figlio-padre SF, utilizzando K come chiave parziale.
  13. 13. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'intensione sono implementate astrattamente le operazioni di inserimento, cancellazione, modifica (AI04).
  14. 14. Procedimento secondo la rivendicazione 13, caratterizzato dal fatto che le operazioni di inserimento (AI04) sono eseguite inserendo il nuovo concetto C nei dizionari (AISl), nella relazione padre-figlio (AIS3) e nella relazione figlio-padre (AIS4).
  15. 15. Procedimento secondo la rivendicazione 13, caratterizzato dal fatto che le operazioni di cancellazione (AI04) sono eseguite cancellando dall'intensione (AISl, AIS3, AIS4) tutti i concetti c £ C<down>(C), i documenti nell'estensione profonda di C essendo aggiunti all'estensione superficiale di C', dove C' è il padre di C nella tassonomia, a meno che C' sia la radice della tassonomia, le estensioni superficiale (AES2) e profonda (AES1) per tutti i concetti c C C<down>(C) essendo tolte, i concetti in C<down>{C) essendo tolti dalla classificazione (AES3) di tutti i documenti nell'estensione profonda di C.
  16. 16. Procedimento secondo la rivendicazione 13, caratterizzato dal fatto che le operazioni di modifica (AI04) sono di tre tipi: modifica dell'etichettatura di un concetto C, detta modifica richiedendo soltanto la modifica del textualLabel in AIS1; cambiamento della posizione di un concetto C nella tassonomia; ed aggiunta di un padre C' aggiuntivo a C nella tassonomia.
  17. 17. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'estensione è rappresentata astrattamente da un'estensione profonda (AES1), nella forma: DE: [CID] -> {DID} che memorizza, per ogni concetto c, tutti i documenti nella sua estensione profonda, cioè tutti i documenti classificati sotto c o qualsiasi discendente c' di c.
  18. 18. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'estensione è rappresentata astrattamente da un'estensione superficiale (AES2), nella forma: SE : [CID, DID] che memorizza, per ogni concetto c, tutti i documenti nella sua estensione superficiale, cioè tutti i documenti classificati direttamente sotto c .
  19. 19. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'estensione è rappresentata astrattamente da una classificazione (AES3), nella forma: CL: [DID] -> {CID} che memorizza, per ogni documento, i concetti più specifici sotto i quali esso è classificato, tutti gli antenati di questi concetti essendo recuperati tramite la relazione figlio-padre (SF) nell'intensione.
  20. 20. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'estensione è rappresentata astrattamente da una directory di documenti (AES4) che mappa id di documenti in informazioni richieste per reperire il documento specificato .
  21. 21. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di reperimento (AEOI) dell'estensione profonda di un concetto c, tale che CID(c) = K, detta operazione di reperimento (AEOI) comprendendo la fase di accedere alla relazione di estensione profonda DE, utilizzando K come chiave parziale.
  22. 22. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di reperimento (AE02) dell'estensione superficiale di un concetto c, tale che CID(c) = K, detta operazione di reperimento (AE02) comprendendo la fase di accedere alla relazione di estensione superficiale SE, utilizzando K come chiave parziale.
  23. 23. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di testare (AE03) l'appartenenza di un insieme di DID {DID} nell'estensione profonda di un concetto CID, detta operazione di test (AE03) comprendendo le fasi di: reperire l'estensione profonda di CID; e, per ciascun d in {DID}, testare se d appartiene all'estensione profonda; se è così, restituire TRUE; se non vi sono d in {DID}, restituire FALSE.
  24. 24. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di conteggio (AE04), dato un insieme di DID {DID}, del numero di documenti in {DID} che si trovano anche nell'estensione profonda di CID, detta operazione di conteggio (AE04) comprendendo le fasi di: reperire l'estensione profonda di CID; inizializzare CNT a 0; per ogni d in {DID}, testare se d appartiene all'estensione profonda; se è così, CNT=CNT+1; restituire CNT.
  25. 25. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di testare (AE05) l'appartenenza di un insieme di DID {DID} nell'estensione superficiale di un concetto CID, detta operazione di test (AE05) comprendendo le fasi di: reperire l'estensione superficiale di CID; e, per ciascun d in {DID}, testare se d appartiene all'estensione superficiale; se è così, restituire TRUE; se non vi sono d in {DID}, restituire FALSE.
  26. 26. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di produzione (AE06), dato un insieme di DID {DID}, della proiezione sotto un concetto CID, detta operazione di produzione (AE06) comprendendo le fasi di: reperire l'insieme {SON} di tutti i figli di CID; per ogni concetto s in SON, utilizzare l'operazione AE03, o l'operazione AE04 se si desiderano i contatori, per testare l'appartenenza di {DID} in s; se l'operazione restituisce TRUE (> 0 se si utilizza AE04), aggiungere s all'elenco r; restituire R.
  27. 27. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di produzione (AE07), dato un insieme di DID {DID}, della tassonomia ridotta per {DID}, detta operazione di produzione (AE07) comprendendo le fasi di: produrre la proiezione di {DID} per la radice; e, alla successiva esplosione del concetto c, produrre la proiezione di {DID} per c.
  28. 28. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che le operazioni booleane su concetti sono implementate mediante le corrispondenti operazioni insiemistiche sull'estensione profonda di detti concetti (AE08}.
  29. 29. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di inserimento (AE09) di un documento nuovo, detta operazione di inserimento (AE09) comprendendo le fasi di: per ogni c e {C}, inserire DID(d) nell'estensione superficiale di c (AES2), se c non è un concetto terminale e l'estensione superficiale deve essere memorizzata; inserire DID(d) nell'estensione profonda (AES1) di C<up>(c); inserire un elemento [DID(d)] -> {C} nella struttura di classificazione AES3.
  30. 30. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di cancellazione (AE010) di un documento esistente, detta fase di cancellazione (AEOIO) comprendendo le fasi di: reperire l'insieme di concetti {C} sotto i quali d è classificato in modo superficiale, accedendo ad AES3 con DID(d) come chiave (operazione AE02); per ogni c e {C}, cancellare DID(d) dall'estensione superficiale di c; per tutti i c' ø C<up>(c), cancellare DID(d) dall'estensione profonda di c'; cancellare l'inserimento corrispondente a DID(d) da AES3.
  31. 31. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di riclassificazione di documenti (AEOll) detta operazione di riclassificazione (AEOll) comprendendo le fasi di: sia d inizialmente classificato sotto un concetto c {eventualmente nullo) essendo c' il nuovo concetto sotto cui occorre classificare d (eventualmente nullo) ; se sia c sia c' sono non nulli, classificare d sotto c'; se c è nullo, d è classificato in aggiunta sotto c'; se c' è nullo, togliere la classificazione originale sotto c; se c non è nullo, eliminare DID(d) dall'estensione superficiale (AES2) di c; eliminare DID(d) dall'estensione profonda (AES1) di tutti i c" e C<up>(c); eliminare c dalla classificazione di d (AES3); se c' non è nullo, inserire DID(d) nell'estensione superficiale (AES2) di c' (se l'estensione superficiale di c esiste); inserire DID(d) nell'estensione profonda (AES1) di tutti i c" G C<up>(c); inserire c' nella classificazione di d (AES3).
  32. 32. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che sull'estensione è implementata l'operazione di reperimento (AE012) dei documenti sotto cui è classificato immediatamente un documento d, detta operazione di reperimento (AE012) comprendendo la fase di reperire {C} da AES3, utilizzando DID(d) come chiave .
  33. 33. Procedimento secondo la rivendicazione 2, caratterizzato dalla rappresentazione dell'estensione profonda (AESl), dell'estensione superficiale (AES2) e della classificazione (AES3) mediante vettori di bit, detti vettori di bit essendo o meno compressi.
  34. 34. Procedimento secondo la rivendicazione 33, caratterizzato dal fatto che il conteggio dei documenti nel risultato di operazioni logiche sui vettori di bit può essere effettuato mediante una tabella costante V di dimensione 2<n >, il cui elemento V[i] contiene il numero di bit ad 1 nel numero binario i, e processando il vettore di bit n bit alla volta, aggiungendo al contatore per ogni gruppo j di n bit, il cui valore binario sia v', la quantità V[ν'].
  35. 35. Procedimento secondo la rivendicazione 2, caratterizzato dalla rappresentazione mediante filtri di Bloom dell'estensione profonda (AES2).
  36. 36. Procedimento secondo la rivendicazione 2, caratterizzato dalla rappresentazione dell'estensione profonda (AESl), dell'estensione superficiale (AES2) e della classificazione (AES3) mediante liste invertite, dette liste invertite essendo o meno compresse.
  37. 37. Procedimento secondo la rivendicazione 2, caratterizzato dall'uso di strategie di bufferizzazione per la gestione dei dati.
  38. 38. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto che un concetto virtuale semplice è descritto completamente da quattro operazioni astratte: VI: dato un concetto virtuale v, reperire tutti i suoi figli; V2 : dato un concetto virtuale v, reperire la sua estensione profonda; V3: dato il figlio s di un concetto virtuale v, reperire la sua estensione profonda; e V4: dato un documento d, trovare tutti i concetti terminali (discendenti di v) sotto cui è memorizzato.
  39. 39. Procedimento secondo la rivendicazione 38, caratterizzato dal fatto che, per implementare dette operazioni astratte (Vi, V2, V3, V4), si mantengono, per ogni concetto virtuale v, due relazioni astratte: Sv:[value] -> {DID} che memorizza l'insieme di documenti con un dato valore nel dominio dei valori del concetto virtuale; e Cv:[DID] -> {value} che memorizza l'insieme di valori per un documento specifico, dove S rappresenta l'inversione di Cv e può pertanto non essere memorizzata esplicitamente .
  40. 40. Procedimento secondo la rivendicazione 39, caratterizzato dall'implementazione delle operazioni VI, V2, V3, V4.
  41. 41. Procedimento secondo la rivendicazione 39, caratterizzato dal fatto che un concetto virtuale derivato è descritto dalle stesse strutture del concetto virtuale semplice, con restrizioni aggiuntive .
  42. 42. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende inoltre la relazione astratta (AIS5): [CID] -> [conceptType] dove conceptType designa concetti virtuali semplici e virtuali derivati.
  43. 43. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende inoltre la relazione astratta (AIS6): [CID] -> [S«D] 1a quale, per concetti virtuali semplici, memorizza la relazione astratta Sv per il concetto virtuale CID.
  44. 44. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che l'intensione comprende inoltre la relazione astratta (AIS7): [CID] -> [CCID] la quale, per concetti virtuali semplici, memorizza la relazione astratta Cv per il concetto virtuale CID.
  45. 45. Procedimento secondo la rivendicazione 2, caratterizzato dal fatto che 1'intensione comprende inoltre la relazione astratta (AIS8): [CID] -> [CID', restrizione] la quale, soltanto per concetti virtuali derivati, identifica il concetto virtuale a cui fare riferimento e la restrizione aggiuntiva.
  46. 46. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto che i concetti che variano nel tempo, il cui valore è rappresentato da marche temporali astratte, possono essere rappresentati da concetti virtuali, rappresentando con T il valore della marca temporale dell'istante attuale.
  47. 47. Procedimento secondo la rivendicazione 46 caratterizzato dal fatto che i figli di un concetto variabile nel tempo v, rappresentato come concetto virtuale, sono reperiti tramite l’interrogazione astratta SELECT DISTINCT T-value FROM Cv dove T è l'istante attuale.
  48. 48. Procedimento secondo la rivendicazione 46, caratterizzato dal fatto che l'estensione profonda di un concetto variabile nel tempo t, rappresentato come concetto virtuale, è reperita tramite l'interrogazione astratta SELECT DISTINCT DID FROM Cv.
  49. 49. Procedimento secondo la rivendicazione 46, caratterizzato dal fatto che l'estensione del figlio s di un concetto variabile nel tempo t, rappresentato come concetto virtuale, è reperita tramite l'interrogazione astratta SELECT DISTINCT DID FROM Cv WHERE value=T+s dove T è l'istante attuale.
  50. 50. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto che i concetti che variano nel tempo sono suddivisi in N intervalli (dal più recente al più vecchio), che sono memorizzati come concetti reali.
  51. 51. Procedimento secondo la rivendicazione 50, caratterizzato dal fatto che, per ogni intervallo I, si mantiene: a. l'elenco L(I) di DID nell'intervallo ordinato per marche temporali decrescenti b. il rappresentante dell'intervallo IR(I): l'ultimo DID nell'intervallo insieme alla sua marca temporale c. un criterio di classificazione per l'intervallo.
  52. 52. Procedimento secondo le rivendicazioni 50 e 51, caratterizzato dal fatto che la classificazione dei documenti è ricalcolata ad ogni "tick" temporale, mediante il seguente algoritmo: Per ogni intervallo I: Fino a che IR(I) necessita di riclassificazione { Reclassify (IR(I)); IR(I)= l'ultimo DID nell'elenco ordinato a) } dove Reclassify(IR(I)) è Cancellare IR(I).DID da I Per (i=i+1 fino a N) { se IR(I) rispetta il criterio di classificazione per l'intervallo i { inserire IR{I) nell'intervallo i interrompere; }
  53. 53. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto di rappresentare mediante una tassonomia dinamica i dati memorizzati come singola relazione (o oggetto) o, più in generale, rappresentati da una vista sulla banca dati.
  54. 54. Procedimento secondo la rivendicazione 53, caratterizzato dal fatto che i documenti corrispondono a tuple (o righe, record, oggetti) nella vista V, ed, allo scopo di identificare un documento, si utilizza la chiave primaria della vista come identificatore di documento (DID) oppure si mantengono due relazioni astratte che mappano DID generati dal sistema nella e dalla chiave primaria PK della vista: DK: [DID] -> [PK] IDK: [PK] -> [DID] dove PK rappresenta la chiave primaria della relazione, utilizzando DK per accedere ad una tupla di V, dato un identificativo di documento, ed utilizzando IDK per reperire 1'identificativo di documento corrispondente ad un valore specifico della chiave primaria di V.
  55. 55. Procedimento secondo la rivendicazione 54, caratterizzato dal fatto che, data una vista V, si costruisce una tassonomia T per V tramite le seguenti fasi: per ogni attributo A in V, impostare un corrispondente concetto C (A) (reale o virtuale) come figlio immediato della radice, i concetti virtuali utilizzando lo stesso V per la sintesi di figli ed estensioni; data una tupla t in V, per ogni attributo A in V, t.A indicando il valore dell'attributo A in t, per ogni concetto reale C in T (C(A) o un discendente di C(A)), prevedere una clausola booleana B(C,t) in modo tale che t (rappresentato da DID(t)) sia classificato sotto C se B(C,t)=TRUE, detta clausola booleana B(C,t) facendo riferimento a qualsiasi attributo di t.
  56. 56. Procedimento secondo la rivendicazione 55, caratterizzato dal fatto che, quando la clausola booleana B(C,t) è vera quando t.A 6 Sc, dove Sc è un insieme di valori dell'attributo A e Sc Π Se' = 0 per ogni C≠C' , si mantiene una tabella T:[v]->[c], che elenca per ogni valore v nel dominio (A), il corrispondente concetto c; se Sc Π SC' ≠ 0 per qualche C≠C', si associano una molteplicità di concetti allo stesso valore, cosicché T:[v]->{c}.
  57. 57. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto di comprendere inoltre le fasi di: creazione di nuove generalizzazioni tassonomiche, detta fase di creazione, se i figli di una nuova generalizzazione tassonomica G sono concetti reali {S}, non richiedendo alcuna clausola booleana per G, la classificazione sotto G essendo eseguita automaticamente dall'operazione di inserimento (AE09) di un nuovo documento; e creazione di concetti estesi.
  58. 58. Procedimento secondo la rivendicazione 57, caratterizzato dal fatto che i nuovi concetti sono derivati come concetti reali o virtuali tramite operazioni sulla banca dati, i legami tra detti concetti virtuali essendo realizzati tramite operazioni sulla banca dati, i legami tra detti concetti reali richiedendo una classificazione per qualsiasi nuova tupla, una cancellazione se si cancella t o una riclassificazione se si modifica t, il sistema, allo scopo di classificare t, localizzando l'insieme C di concetti per cui B(c,t), cGC è soddisfatto e classificando t sotto ogni cGC.
  59. 59. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto di utilizzare dette tassonomie dinamiche per rappresentare profili utente di interesse ed implementare un avviso per un utente relativo a nuovi documenti interessanti basandosi sui profili di tassonomia dinamica.
  60. 60. Procedimento secondo la rivendicazione 59, caratterizzato dal fatto di comprendere le fasi di: fornitura da parte di un utente di una molteplicità di espressioni concettuali, dette espressioni concettuali definendo argomenti di interesse per l'utente; accettazione di dette espressioni concettuali da parte di un sistema di monitoraggio; abbinamento a dette espressione concettuali, da parte di detto sistema di monitoraggio, di un indirizzo di utente astratto a cui inviare avvertimenti; controllo, da parte di detto sistema di monitoraggio, di una banca di informazioni per rilevare le modifiche (inserimento, cancellazione, cambiamento) ad essa apportate, detta banca delle informazioni essendo descritta dalla stessa tassonomia utilizzata dagli utenti per esprimere i propri interessi; quando ha luogo un cambiamento nella banca delle informazioni, reperimento, da parte di detto sistema di monitoraggio, degli utenti da avvertire sulla base dei loro interessi.
  61. 61. Procedimento secondo la rivendicazione 60, caratterizzato dal fatto che, per realizzare detta fase di controllo, si impiegano concetti di tassonomia dinamica per cui le espressioni aggiuntive, quali le interrogazioni ("query") di reperimento di informazioni, sono composte da AND con espressioni tassonomiche, e vengono risolte, se richiesto, dopo che si soddisfa la corrispondente espressione tassonomica.
  62. 62. Procedimento secondo la rivendicazione 61, caratterizzato dal fatto che si può verificare se un documento d soddisfa una specifica utente S applicando l'interrogazione specificata in S all'insieme {d> e verificando se si reperisce d.
  63. 63. Procedimento secondo la rivendicazione 62, in cui, se le specifiche comprendono solo operazioni di congiunzione e la classificazione dei documenti è soltanto sotto concetti terminali, si utilizzano due strutture astratte di memorizzazione: - una directory di specifiche, nella forma: SD: [SID] -> [N, SPEC] dove SID è un identificatore astratto che identifica in modo unico la specifica, SPEC è la specifica stessa (opzionale), N è il numero di concetti a cui si fa riferimento nella specifica; - un' "inversione" di specifica, nella forma: SI:[CID]->{SID} che elenca per ogni concetto c (rappresentato dal suo identificatore di concetto) tutte le specifiche (rappresentate dal loro id di specifica) che utilizzano tale concetto.
  64. 64. Procedimento secondo la rivendicazione 61, in cui, quando si crea una specifica, si crea il suo identificatore astratto, si crea il suo inserimento di directory in SD e si memorizzano nell'inversione SI l'insieme di concetti a cui si fa riferimento nella specifica.
  65. 65. Procedimento secondo la rivendicazione 61, in cui, quando si modifica un documento d, C essendo l'insieme di concetti sotto cui è classificato d, l'insieme di specifiche che si applicano a d si trova nel seguente modo: essendo K l'insieme di concetti utilizzati per classificare il documento d, per ogni concetto k in K, SID{k) rappresenta l'elenco di specifiche per k (accessibile tramite la relazione SI) ordinato per identificativo di specifica crescente; definizione di MergeCount(K) come l'insieme composto da coppie (SID, N) in modo tale che SID sia in MergeCount(K) se SID appartiene a un SID(k), k in K; se la coppia (SID, N) è in MergeCount (K), N conta il numero di SID(k) che fanno riferimento a SID; se S è un insieme inizialmente vuoto, che rappresenta l'insieme di specifiche soddisfatte da d, per ogni coppia (SID, N), reperire SID.N da SD; se SID.N=N: S=S unione SID.
  66. 66. Procedimento secondo la rivendicazione 61, in cui, quando esistono specifiche che utilizzano operazioni di insiemi non limitate, S (rappresentato da SID(S)) indica una specifica, e sono previste le fasi di: trasformare S in forma normale disgiuntiva (cioè come disgiunzione di congiunzioni), ogni clausola di congiunzione in S essendo chiamata componente di S, SIDi(S) indicando l'i-esìmo componente di S; memorizzare la directory di specifiche come due relazioni astratte: SD, omettendo N SCD:[COMPONENTI->[SDI,N], dove COMPONENT memorizza componenti di specifiche, COMPONENT.SDÌ rappresenta 1'identificativo di specifica di cui COMPONENT è un componente, e COMPONENT.N è il numero di concetti a cui si fa riferimento nel componente; - memorizzare l'inversione di specifica come: SI:[CID]->{COMPONENTI, dove CID è un identificatore di concetto e CID.COMPONENT è l'insieme di componenti che fanno riferimento al concetto identificato da CID; con K l'insieme di concetti utilizzati per classificare il documento d, per ogni concetto k in K, COMPONENT(k) è l'elenco di componenti per k (accessibile tramite la relazione SI) ordinato per identificativo di componente crescente; definire ComponentMergeCount (K) come l'insieme composto da coppie (COMPONENT,N) in modo tale che COMPONENT sia in ComponentMergeCount (K) se COMPONENT appartiene ad un COMPONENT(k), k in K; se la coppia (COMPONENT,N) è in ComponentMergeCount (K), N contando il numero di COMPONENT(k) che fanno riferimento a COMPONENT; con S un insieme inizialmente vuoto, per ogni coppia (COMPONENT,N), reperire COMPONENT.N tramite la relazione SCD; se COMPONENT.N=N: S=S unione COMPONENT.SID, S rappresentando l'insieme di specifiche soddisfatte da d.
  67. 67. Procedimento secondo la rivendicazione 61, in cui la modifica dell'inversione di specifica SI comprende le fasi di: se una specifica o componente Z fa riferimento al concetto C, rappresentato da CID(C), allora: se C è un concetto terminale: • CID(C).SID=CID(C).SID unione Z, se Z è una specifica • CID(C).COMPONENT=CID(C).COMPONENT unione Z, se Z è un componente - se C è un concetto non terminale: • per ogni k in C<down>(C) • CID(k).SID=CID(k).SID unione Z, se Z è una specifica • CID(k).COMPONENT=CID(k).COMPONENT unione Z, se Z è un componente.
  68. 68. Procedimento secondo la rivendicazione 61, caratterizzato dal fatto di comprendere inoltre la determinazione delle specifiche soddisfatte da un insieme di documenti D (di cardinalità superiore ad 1) secondo la strategia di applicare le tecniche precedenti senza modifica ad ogni documento d in D, rimuovendo poi eventuali specifiche duplicate.
  69. 69. Procedimento secondo la rivendicazione 61, caratterizzato dal fatto di comprendere inoltre la determinazione delle specifiche soddisfatte da un insieme di documenti D (di cardinalità superiore ad 1) secondo la strategia di: definire come K l'insieme dei concetti utilizzati per classificare D; applicare la tecnica opportuna tra quelle descritte; e determinare l'insieme di specifiche "candidate", ogni specifica s in S essendo poi verificata tramite esecuzione su D.
IT1998TO001049A 1998-12-16 1998-12-16 Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee. IT1303603B1 (it)

Priority Applications (10)

Application Number Priority Date Filing Date Title
IT1998TO001049A IT1303603B1 (it) 1998-12-16 1998-12-16 Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.
EP99961274A EP1141866A1 (en) 1998-12-16 1999-12-03 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
AU17965/00A AU1796500A (en) 1998-12-16 1999-12-03 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
US09/868,339 US6763349B1 (en) 1998-12-16 1999-12-03 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
PCT/IT1999/000401 WO2000036529A1 (en) 1998-12-16 1999-12-03 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
US10/819,946 US7340451B2 (en) 1998-12-16 2004-04-08 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
US12/023,719 US7778993B2 (en) 1998-12-16 2008-01-31 Dynamic Taxonomy process for browsing and retrieving information in large heterogeneous data bases
US12/829,249 US8041699B2 (en) 1998-12-16 2010-07-01 Process of dynamic taxonomy for browsing and retrieving information in large heterogeneous data bases
US13/180,196 US8650171B2 (en) 1998-12-16 2011-07-11 Dynamic taxonomy process for browsing and retrieving information in large heterogeneous data bases
US14/150,982 US20140129547A1 (en) 1998-12-16 2014-01-09 Dynamic Taxonomy for Browsing and Retrieving Information in Large Heterogeneous data bases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT1998TO001049A IT1303603B1 (it) 1998-12-16 1998-12-16 Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.

Publications (2)

Publication Number Publication Date
ITTO981049A1 true ITTO981049A1 (it) 1999-03-16
IT1303603B1 IT1303603B1 (it) 2000-11-14

Family

ID=11417250

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1998TO001049A IT1303603B1 (it) 1998-12-16 1998-12-16 Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.

Country Status (5)

Country Link
US (6) US6763349B1 (it)
EP (1) EP1141866A1 (it)
AU (1) AU1796500A (it)
IT (1) IT1303603B1 (it)
WO (1) WO2000036529A1 (it)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1303603B1 (it) 1998-12-16 2000-11-14 Giovanni Sacco Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.
US8051104B2 (en) 1999-09-22 2011-11-01 Google Inc. Editing a network of interconnected concepts
US8914361B2 (en) 1999-09-22 2014-12-16 Google Inc. Methods and systems for determining a meaning of a document to match the document to content
US7925610B2 (en) 1999-09-22 2011-04-12 Google Inc. Determining a meaning of a knowledge item using document-based information
EP1309927A2 (en) * 2000-03-27 2003-05-14 Documentum, Inc. Method and apparatus for generating metadata for a document
US7526437B1 (en) * 2000-04-06 2009-04-28 Apple Inc. Custom stores
US7424445B1 (en) * 2000-04-06 2008-09-09 Apple Inc. Virtual bundles
US7062483B2 (en) 2000-05-18 2006-06-13 Endeca Technologies, Inc. Hierarchical data-driven search and navigation system and method for information retrieval
US7617184B2 (en) * 2000-05-18 2009-11-10 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
US7035864B1 (en) * 2000-05-18 2006-04-25 Endeca Technologies, Inc. Hierarchical data-driven navigation system and method for information retrieval
US7325201B2 (en) * 2000-05-18 2008-01-29 Endeca Technologies, Inc. System and method for manipulating content in a hierarchical data-driven search and navigation system
US7058516B2 (en) 2000-06-30 2006-06-06 Bioexpertise, Inc. Computer implemented searching using search criteria comprised of ratings prepared by leading practitioners in biomedical specialties
WO2002008946A2 (en) * 2000-07-24 2002-01-31 Protigen, Inc. A method and system for a document search system using search criteria comprised of ratings prepared by experts
US6839699B2 (en) 2000-12-08 2005-01-04 Wayne Chan Natural query interface based on concept selection
WO2002056204A2 (en) * 2000-12-08 2002-07-18 Professorq, Inc. Natural query interface based on concept selection
US7548899B1 (en) 2000-12-08 2009-06-16 Del Favero Jr John P Method and system for information retrieval based on menu selections
US20030120630A1 (en) * 2001-12-20 2003-06-26 Daniel Tunkelang Method and system for similarity search and clustering
US7650327B2 (en) * 2002-03-01 2010-01-19 Marine Biological Laboratory Managing taxonomic information
US20050038781A1 (en) * 2002-12-12 2005-02-17 Endeca Technologies, Inc. Method and system for interpreting multiple-term queries
US20040117366A1 (en) * 2002-12-12 2004-06-17 Ferrari Adam J. Method and system for interpreting multiple-term queries
AU2002953500A0 (en) * 2002-12-20 2003-01-09 Redbank Manor Pty Ltd A system and method of requesting, viewing and acting on search results in a time-saving manner
US7047236B2 (en) * 2002-12-31 2006-05-16 International Business Machines Corporation Method for automatic deduction of rules for matching content to categories
US20040215534A1 (en) 2003-04-25 2004-10-28 Apple Computer, Inc. Method and system for network-based allowance control
EP2357623A1 (en) 2003-04-25 2011-08-17 Apple Inc. Graphical user interface for browsing, searching and presenting media items
EP2270730A1 (en) * 2003-04-25 2011-01-05 Apple Inc. Method and system for network-based purchase and distribution of media
EP1496452A1 (en) * 2003-07-10 2005-01-12 Comptel Corporation Method and computer program product for classification and linking data records, and a classification system
US20050044487A1 (en) * 2003-08-21 2005-02-24 Apple Computer, Inc. Method and apparatus for automatic file clustering into a data-driven, user-specific taxonomy
US7689536B1 (en) * 2003-12-18 2010-03-30 Google Inc. Methods and systems for detecting and extracting information
US20050219929A1 (en) * 2004-03-30 2005-10-06 Navas Julio C Method and apparatus achieving memory and transmission overhead reductions in a content routing network
US7310637B2 (en) * 2004-05-05 2007-12-18 International Business Machines Corporation Dynamic database access via standard query language and abstraction technology
US7606791B2 (en) * 2004-06-03 2009-10-20 International Business Machines Corporation Internal parameters (parameters aging) in an abstract query
EP1776560B1 (en) * 2004-07-23 2011-11-30 DeCarta Inc. Automated prioritization of map objects
US20080215313A1 (en) * 2004-08-13 2008-09-04 Swiss Reinsurance Company Speech and Textual Analysis Device and Corresponding Method
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US8332421B2 (en) 2004-10-06 2012-12-11 Pierre Grossmann Automated user-friendly click-and-search system and method for helping business and industries in foreign countries using preferred taxonomies for formulating queries to search on a computer network and for finding relevant industrial information about products and services in each industrial group, and media for providing qualified industrial sales leads
US7555472B2 (en) * 2005-09-02 2009-06-30 The Board Of Trustees Of The University Of Illinois Identifying conceptual gaps in a knowledge base
US7788582B2 (en) * 2005-09-06 2010-08-31 Apple Inc. Techniques and graphical user interfaces for improved media item searching
US8688673B2 (en) * 2005-09-27 2014-04-01 Sarkar Pte Ltd System for communication and collaboration
US7493317B2 (en) * 2005-10-20 2009-02-17 Omniture, Inc. Result-based triggering for presentation of online content
JP4581962B2 (ja) * 2005-10-27 2010-11-17 株式会社日立製作所 情報検索システムとインデクス管理方法およびプログラム
US8019752B2 (en) 2005-11-10 2011-09-13 Endeca Technologies, Inc. System and method for information retrieval from object collections with complex interrelationships
US20070136335A1 (en) * 2005-12-09 2007-06-14 Robert Dionne Method and system for multiple independent extensions of a concept taxonomy via description logic classification
US7774708B2 (en) * 2006-01-04 2010-08-10 Apple Inc. Graphical user interface with improved media presentation
US20070185860A1 (en) * 2006-01-24 2007-08-09 Michael Lissack System for searching
US20080016093A1 (en) * 2006-07-11 2008-01-17 Clement Lambert Dickey Apparatus, system, and method for subtraction of taxonomic elements
US7788599B2 (en) * 2006-07-28 2010-08-31 Apple Inc. User interface elements for hierarchical selection of items
US8689254B2 (en) * 2006-09-11 2014-04-01 Apple Inc. Techniques and graphical user interfaces for preview of media items
US8533602B2 (en) 2006-10-05 2013-09-10 Adobe Systems Israel Ltd. Actionable reports
US7644068B2 (en) * 2006-10-06 2010-01-05 International Business Machines Corporation Selecting records from a list with privacy protections
US20110307477A1 (en) * 2006-10-30 2011-12-15 Semantifi, Inc. Method and apparatus for dynamic grouping of unstructured content
US7930313B1 (en) * 2006-11-22 2011-04-19 Adobe Systems Incorporated Controlling presentation of refinement options in online searches
US8676802B2 (en) 2006-11-30 2014-03-18 Oracle Otc Subsidiary Llc Method and system for information retrieval with clustering
US7552114B2 (en) 2007-03-07 2009-06-23 International Business Machines Corporation System, and method for interactive browsing
US8117162B2 (en) * 2007-03-21 2012-02-14 International Business Machines Corporation Determining which user files to backup in a backup system
US8126863B2 (en) * 2007-10-25 2012-02-28 Apple Inc. Search control combining classification and text-based searching techniques
US20090119572A1 (en) * 2007-11-02 2009-05-07 Marja-Riitta Koivunen Systems and methods for finding information resources
US7856434B2 (en) 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
US8812366B2 (en) * 2008-09-30 2014-08-19 Bank Of America Corporation Automatic generation of change orders
US8635196B2 (en) 2008-01-04 2014-01-21 Apple Inc. Systems and methods for providing pre-populated media devices
US9037560B2 (en) * 2008-03-05 2015-05-19 Chacha Search, Inc. Method and system for triggering a search request
US8326847B2 (en) * 2008-03-22 2012-12-04 International Business Machines Corporation Graph search system and method for querying loosely integrated data
US8306971B2 (en) * 2008-06-20 2012-11-06 Tableau Software, Inc. Methods and systems of automatically geocoding a dataset for visual analysis
US8788476B2 (en) * 2008-08-15 2014-07-22 Chacha Search, Inc. Method and system of triggering a search request
US8229816B1 (en) 2008-09-25 2012-07-24 Bank Of America Corporation Intelligent cash recycler remote capabilities
US20100082483A1 (en) * 2008-09-30 2010-04-01 Bank Of America Corporation Automatic Generation of Change Orders
US8734872B2 (en) * 2008-09-30 2014-05-27 Apple Inc. Access control to content published by a host
US8805846B2 (en) * 2008-09-30 2014-08-12 Apple Inc. Methods and systems for providing easy access to information and for sharing services
US9703831B2 (en) * 2008-12-22 2017-07-11 Apple Inc. Contextual display of saved search queries
US20100241639A1 (en) * 2009-03-20 2010-09-23 Yahoo! Inc. Apparatus and methods for concept-centric information extraction
US8694535B2 (en) 2009-03-21 2014-04-08 Matthew Oleynik Systems and methods for research database management
US8838628B2 (en) * 2009-04-24 2014-09-16 Bonnie Berger Leighton Intelligent search tool for answering clinical queries
WO2011080775A1 (en) 2009-12-30 2011-07-07 Telecom Italia S.P.A. Method and system for carrying out searches in a database
US20110225550A1 (en) * 2010-03-12 2011-09-15 Creedon Michael S System and method for displaying and navigating library information with a virtual library collections browser
US8548989B2 (en) * 2010-07-30 2013-10-01 International Business Machines Corporation Querying documents using search terms
US8566324B1 (en) * 2010-09-12 2013-10-22 Giovanni M Sacco Inverted index and inverted list process for storing and retrieving information
US8533225B2 (en) * 2010-09-27 2013-09-10 Google Inc. Representing and processing inter-slot constraints on component selection for dynamic ads
US10380269B2 (en) * 2011-06-07 2019-08-13 Entit Software Llc Sideways information passing
EP2724249A4 (en) * 2011-06-22 2015-03-18 Rogers Communications Inc SYSTEMS AND METHODS FOR CREATING AN INTEREST PROFILE FOR A USER
US9201964B2 (en) 2012-01-23 2015-12-01 Microsoft Technology Licensing, Llc Identifying related entities
US9081854B2 (en) * 2012-07-06 2015-07-14 Hewlett-Packard Development Company, L.P. Multilabel classification by a hierarchy
WO2014033724A1 (en) * 2012-08-29 2014-03-06 Hewlett-Packard Development Company L.P. Querying structured and unstructured databases
US8874553B2 (en) 2012-08-30 2014-10-28 Wal-Mart Stores, Inc. Establishing “is a” relationships for a taxonomy
US9460135B2 (en) * 2012-12-18 2016-10-04 Webtrends Inc. Methods and automated systems for testing, optimization, and analysis that use robust statistical processing of non-binomial experimental results
US10540373B1 (en) * 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
US9361407B2 (en) 2013-09-06 2016-06-07 Sap Se SQL extended with transient fields for calculation expressions in enhanced data models
US9430523B2 (en) 2013-09-06 2016-08-30 Sap Se Entity-relationship model extensions using annotations
US9639572B2 (en) 2013-09-06 2017-05-02 Sap Se SQL enhancements simplifying database querying
US9176801B2 (en) 2013-09-06 2015-11-03 Sap Se Advanced data models containing declarative and programmatic constraints
US9354948B2 (en) 2013-09-06 2016-05-31 Sap Se Data models containing host language embedded constraints
US9575819B2 (en) 2013-09-06 2017-02-21 Sap Se Local buffers for event handlers
US9619552B2 (en) 2013-09-06 2017-04-11 Sap Se Core data services extensibility for entity-relationship models
US9442977B2 (en) 2013-09-06 2016-09-13 Sap Se Database language extended to accommodate entity-relationship models
US10096040B2 (en) 2014-01-31 2018-10-09 Walmart Apollo, Llc Management of the display of online ad content consistent with one or more performance objectives for a webpage and/or website
US10878017B1 (en) * 2014-07-29 2020-12-29 Groupon, Inc. System and method for programmatic generation of attribute descriptors
US9613371B2 (en) 2014-09-02 2017-04-04 Wal-Mart Stores, Inc. Dynamic taxonomy generation with demand-based product groups
US9697276B2 (en) 2014-12-29 2017-07-04 International Business Machines Corporation Large taxonomy categorization
US11281639B2 (en) 2015-06-23 2022-03-22 Microsoft Technology Licensing, Llc Match fix-up to remove matching documents
US10467215B2 (en) 2015-06-23 2019-11-05 Microsoft Technology Licensing, Llc Matching documents using a bit vector search index
US10229143B2 (en) 2015-06-23 2019-03-12 Microsoft Technology Licensing, Llc Storage and retrieval of data from a bit vector search index
US10733164B2 (en) 2015-06-23 2020-08-04 Microsoft Technology Licensing, Llc Updating a bit vector search index
US11392568B2 (en) 2015-06-23 2022-07-19 Microsoft Technology Licensing, Llc Reducing matching documents for a search query
US10565198B2 (en) 2015-06-23 2020-02-18 Microsoft Technology Licensing, Llc Bit vector search index using shards
US10242071B2 (en) 2015-06-23 2019-03-26 Microsoft Technology Licensing, Llc Preliminary ranker for scoring matching documents
MX2018007269A (es) * 2015-12-19 2019-05-16 Swvl Inc Metodo y dispositivo para correlacionar multiples tablas en un entorno de base de datos.
US10296913B1 (en) * 2016-03-23 2019-05-21 Emc Corporation Integration of heterogenous data using omni-channel ontologies
FR3051936A1 (fr) * 2016-05-31 2017-12-01 Orange Procede et dispositif de classement de contenus multimedia, terminal et programme d'ordinateur correspondants
CN107038179B (zh) * 2016-08-23 2020-04-10 平安科技(深圳)有限公司 信息项存储方法和系统
EP3785133A4 (en) 2018-04-24 2022-01-19 Von Drakk, Viktor IMPROVED METHOD AND APPARATUS FOR CORRELING MULTIPLE TABLES IN A DATABASE ENVIRONMENT
US11640504B2 (en) 2019-05-17 2023-05-02 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3757037A (en) * 1972-02-02 1973-09-04 N Bialek Video image retrieval catalog system
US4768144A (en) * 1983-10-25 1988-08-30 Keycom Electronic Publishing, Inc. Method and apparatus for retrieving information distributed over nonconsecutive pages
US4879648A (en) 1986-09-19 1989-11-07 Nancy P. Cochran Search system which continuously displays search terms during scrolling and selections of individually displayed data sets
US4992940A (en) * 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
US5283865A (en) * 1989-10-13 1994-02-01 Clear With Computers, Inc. Computer-assisted parts sales system
US5201047A (en) 1989-12-21 1993-04-06 International Business Machines Corporation Attribute-based classification and retrieval system
US5493490A (en) * 1992-05-05 1996-02-20 Clear With Computers, Inc. Electronic proposal preparation system for selling vehicles
US5539870A (en) 1992-10-05 1996-07-23 International Business Machines Corporation Computerized system and process for interactively managing a distributed database system
AU5670394A (en) * 1992-11-23 1994-06-22 Paragon Concepts, Inc. Computer filing system with user selected categories to provide file access
JPH06176081A (ja) 1992-12-02 1994-06-24 Hitachi Ltd 階層構造ブラウジング方法およびその装置
CA2095452C (en) 1993-05-04 1997-03-18 Phillip J. Beaudet Dynamic hierarchical selection menu
US5713020A (en) 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
US5546529A (en) * 1994-07-28 1996-08-13 Xerox Corporation Method and apparatus for visualization of database search results
US5715444A (en) * 1994-10-14 1998-02-03 Danish; Mohamed Sherif Method and system for executing a guided parametric search
US5692177A (en) * 1994-10-26 1997-11-25 Microsoft Corporation Method and system for data set storage by iteratively searching for perfect hashing functions
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5616342A (en) 1995-04-11 1997-04-01 Pdt, Inc. Emulsioin suitable for administering a poorly water-soluble photosensitizing compound and use thereof
US5970471A (en) * 1996-03-22 1999-10-19 Charles E. Hill & Associates, Inc. Virtual catalog and product presentation method and apparatus
US5768581A (en) 1996-05-07 1998-06-16 Cochran; Nancy Pauline Apparatus and method for selecting records from a computer database by repeatedly displaying search terms from multiple list identifiers before either a list identifier or a search term is selected
US5727129A (en) 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US6374275B2 (en) 1997-06-11 2002-04-16 Scientific-Atlanta, Inc. System, method, and media for intelligent selection of searching terms in a keyboardless entry environment
US6128617A (en) 1997-11-24 2000-10-03 Lowry Software, Incorporated Data display software with actions and links integrated with information
US6297824B1 (en) * 1997-11-26 2001-10-02 Xerox Corporation Interactive interface for viewing retrieval results
US6567814B1 (en) * 1998-08-26 2003-05-20 Thinkanalytics Ltd Method and apparatus for knowledge discovery in databases
US6366910B1 (en) * 1998-12-07 2002-04-02 Amazon.Com, Inc. Method and system for generation of hierarchical search results
IT1303603B1 (it) 1998-12-16 2000-11-14 Giovanni Sacco Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.

Also Published As

Publication number Publication date
US20140129547A1 (en) 2014-05-08
IT1303603B1 (it) 2000-11-14
US20040193593A1 (en) 2004-09-30
US20080133490A1 (en) 2008-06-05
AU1796500A (en) 2000-07-03
US8650171B2 (en) 2014-02-11
US20110270878A1 (en) 2011-11-03
US6763349B1 (en) 2004-07-13
US8041699B2 (en) 2011-10-18
US20100274809A1 (en) 2010-10-28
WO2000036529A1 (en) 2000-06-22
US7778993B2 (en) 2010-08-17
US7340451B2 (en) 2008-03-04
EP1141866A1 (en) 2001-10-10

Similar Documents

Publication Publication Date Title
ITTO981049A1 (it) Procedimento a tassonomia dinamica per il reperimento di informazioni su grandi banche dati eterogenee.
US6968338B1 (en) Extensible database framework for management of unstructured and semi-structured documents
US6618727B1 (en) System and method for performing similarity searching
US5752243A (en) Computer method and storage structure for storing and accessing multidimensional data
JP5038939B2 (ja) 情報検索システム、方法及びプログラム
US6738759B1 (en) System and method for performing similarity searching using pointer optimization
US7529726B2 (en) XML sub-document versioning method in XML databases using record storages
Haw et al. Data storage practices and query processing in XML databases: A survey
US20030135495A1 (en) Database indexing method and apparatus
US20060047646A1 (en) Query-based document composition
Bedathur et al. Interesting-phrase mining for ad-hoc text analytics
James et al. Indexing documents for queries on structure, content and attributes
US6282509B1 (en) Thesaurus retrieval and synthesis system
Hsu et al. UCIS-X: an updatable compact indexing scheme for efficient extensible markup language document updating and query evaluation
Klaib et al. Investigation into indexing XML data techniques
Shui et al. Querying and maintaining ordered XML data using relational databases
Carlis et al. A descriptive model of physical database design problems and solutions
Ali Klaib Clustering-based Labelling Scheme-A Hybrid Approach for Efficient Querying and Updating XML Documents
Malki Comprehensive study and comparison of information retrieval indexing techniques
Lam et al. An efficient indexing scheme for objects with roles
Weldon et al. An attribute-based file organization for a relational database
Amur et al. TMS: A free‐form text‐management system
Wang et al. CCSU: Research on the Compression Coding of Supporting Data Update Completely
Pang Performance evaluation of database management systems
Shinde et al. Methods For Extracting Content Blocks From Web Pages

Legal Events

Date Code Title Description
0001 Granted