DE10320419A9 - Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank - Google Patents

Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank Download PDF

Info

Publication number
DE10320419A9
DE10320419A9 DE10320419A DE10320419A DE10320419A9 DE 10320419 A9 DE10320419 A9 DE 10320419A9 DE 10320419 A DE10320419 A DE 10320419A DE 10320419 A DE10320419 A DE 10320419A DE 10320419 A9 DE10320419 A9 DE 10320419A9
Authority
DE
Germany
Prior art keywords
database
query
database query
data
compressed image
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE10320419A
Other languages
English (en)
Other versions
DE10320419A1 (de
Inventor
Michael Dr. Haft
Reimar Dr. Hofmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10320419A priority Critical patent/DE10320419A1/de
Priority to US10/555,887 priority patent/US20070168329A1/en
Priority to PCT/DE2003/004175 priority patent/WO2004100017A1/de
Priority to EP03785583A priority patent/EP1620807A1/de
Publication of DE10320419A1 publication Critical patent/DE10320419A1/de
Publication of DE10320419A9 publication Critical patent/DE10320419A9/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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

Abstract

Nach Bilden einer Datenbank-Abfrage wird ein komprimiertes Abbild der abzufragenden Datenbank gemäß der Datenbank-Abfrage abgefragt. Abhängig von dem Ergebnis der Abfrage des komprimierten Abbildes wird überprüft, ob das Ergebnis ausreichend ist und für den Fall, dass das Ergebnis nicht ausreichend ist, wird die Datenbank selbst gemäß der Datengbank-Abfrage abgefragt.

Description

  • Die Erfindung betrifft ein Datenbank-Abfragesystem sowie ein Verfahren zum rechnergestützten Abfragen einer Datenbank.
  • Mit zunehmender Vernetzung von Computern über ein Telekommunikationsnetz, beispielsweise über das Internet, und die dadurch verbesserten Möglichkeiten zur Aufzeichnung und Verbreitung von Informationen führen zu immer größeren verfügbaren Datenmengen, welche häufig in Datenbanken zusammengefasst gespeichert sind.
  • Fast jeder Vorgang in einem Unternehmen, jeder Kontakt mit einem Kunden, jede Bestellung oder Auslieferung eines Produktes oder auch die Herstellung eines Produktes läuft heutzutage üblicherweise mit elektronischer Unterstützung ab. Unter Verwendung von Computern und unterschiedlichen Speichermedien wird es möglich, jeden Vorgang in einem Unternehmen bzw. im Rahmen eines Herstellungsverfahrens eines Produktes oder auch jede Aktion oder Eigenschaft eines Kunden im Detail zu protokollieren und in einer Datenbank zu speichern.
  • Es ist bekannt, solche Daten systematisch beispielsweise im Rahmen so genannter Customer Relationship Management-Systemen (CRM-Systemen) oder Supply Chain Management-Systemen zu erfassen.
  • Der Wert der aufgezeichneten und schriftlich eingegebenen oder akquirierten Daten ist für viele Unternehmen erheblich. Dementsprechend strengen sich viele Unternehmen an, ihre Daten, beispielsweise Daten über Kunden des Unternehmens, in Wissen, beispielsweise in ein "Wissen über Kunden", umzusetzen.
  • Die Analyse und Auswertung großer Datenmengen in einer oder mehreren Datenbanken kann mit unterschiedlichen Software-Werkzeugen erfolgen. Unter der Bezeichnung On-Line Analytical Processing (OLAP) sind verschiedene Technologien bekannt, die zum Ziel haben, Informationen zu analytischen Zwecken aus Datenbanken zu ermitteln.
  • Eine einfache Abfrage-Möglichkeit bietet der Einsatz an sich bekannter Datenbank-Abfragen, beispielsweise formuliert einer Datenbank-Abfragesprache, vorzugsweise in der Standard Query Language (SQL).
  • Im Rahmen des Relationalen On-Line Analytical Processing (ROLAP) ist es bekannt, basierend auf einem relationalen Schema der ursprünglichen Datenbank gemäß dem ODBC (Open Database Connectivity) und unter Verwendung von SQL-Anfragen Daten aus einer Datenbank zu ermitteln.
  • Als Multidimensionales On-Line Analytical Processing (MOLAP) wird eine Technologie bezeichne, bei der viele aggregierte Informationen vorausberechnet werden und in einem multidimensionalen Würfel (auch bezeichnet als "Cube") auf einem Server abgespeichert werden. Bei einer analytischen Anfrage an die Datenbank kann gemäß MOLAP die gewünschte Information entweder direkt aus dem Würfel ausgelesen werden oder aus wenigen dort zu findenden Aggregaten relativ schnell berechnet werden. MOLAP-Würfel haben aufgrund der Fülle an möglichen Aggregaten eine sehr starke Einschränkung hinsichtlich der Anzahl der Dimensionen, die im Rahmen des MOLAP berücksichtigt werden können. Die multidimensionalen Würfel können sehr groß werden, weshalb ein sehr leistungsstarker Computer als Server-Computer zum Durchführen der Datenbank-Abfragen erforderlich ist. Ferner kann oftmals selbst ein sehr leistungsfähiger Server-Computer bei einer Vielzahl gleichzeitig eintreffender Anfragen von mehreren Benutzern nicht ausreichende Rechenleistung zur Verfügung stellen.
  • Viele OLAP-Systeme bieten eine offene Schnittstelle – Microsoft z.B. den ODBO-Standard, im Java-Umfeld ist das. JOLAP-Interface definiert. Im Unterschied zu SQL sind Schnittstellen auf dieser Ebene weniger stark standardisiert.
  • Wird beispielsweise eine Datenbank-Abfrage gemäß ROLAP oder eine einfache Datenbank-Abfrage beispielsweise unter Verwendung von SQL eingesetzt, so kann die Bearbeitung einer Datenbank-Abfrage bei einer großen Datenbank mit einem komplexeren Aufbau sehr lange dauern. Die erhebliche Zeitdauer bis zur Beantwortung bzw. einer Abarbeitung einer Datenbank-Abfrage ist insbesondere dann sehr unangenehm für einen Benutzer, wenn das Ergebnis der Datenbank-Abfrage ergibt, dass die Spezifikation der Datenbank-Abfrage nicht ausreichend sinnvoll oder fehlerbehaftet war oder dass hinsichtlich der Datenbank-Abfrage in der Datenbank keine Treffer ermittelt werden konnten.
  • Anhand des folgenden anschaulichen Beispiels soll die oben dargestellte Problematik näher erläutert werden:
    Ein Telekommunikationsunternehmen will aus seiner gespeicherten elektronischen Kundendatenbank eine geeignete Menge an Kunden für eine Werbekampagne selektieren. An die Kundendatenbank des Telekommunikationsunternehmens wird dazu eine Datenbank-Abfrage übermittelt, die beispielsweise folgendermaßen lautet:
    "Wie viele der Kunden des Telekommunikationsunternehmens unter 18 Jahren in Bayern nutzen einen Prepaid-Vertrag, erzeugen aber dennoch monatlich mehr als 20 Gebühreneinheiten?"
  • Die Kundendatenbank wird gemäß dem oben dargelegten Verfahren nach den entsprechenden Kunden gemäß der Datenbank-Abfrage gefiltert, was abhängig von der Größe der Datenbank einige Zeit, teilweise Minuten bis sogar Stunden, dauern kann. Gemäß diesem Beispiel wird als Ergebnis der Datenbank-Abfrage ange nommen, dass den vorgegebenen Bedingungen in der Datenbank-Abfrage nur 800 Kunden-Datensätze entsprechen. Für diese kleine Menge an Kunden ist jedoch eine eigene Werbekampagne nicht sinnvoll. Somit werden die Filterkriterien bei der Datenbank-Abfrage verändert und es wird eine erneute Datenbank-Abfrage gestartet, welche wiederum einige Minuten bis sogar Stunden dauern kann. Diese Vorgehensweise wird üblicherweise solange iterativ fortgesetzt, bis eine Treffermenge gewünschter Größe ermittelt worden ist.
  • Damit wird ersichtlich, dass die bekannten Technologien häufig zu einer Vielzahl zeitaufwendiger Iterationen führen und sowohl die Datenbank als auch das zugehörige Datenbank-Verwaltungssystem (Database Management System, DBMS) erheblich belasten.
  • Wenn viele Nutzer gleichzeitig an die Datenbank ähnliche Datenbank-Abfragen übermitteln, kann durch die wiederholten Datenbank-Abfragen eine zusätzliche erhebliche Belastung des oder der Server-Computer auftreten, was zu einer zusätzlichen Verlängerung von Antwortzeiten zu den Datenbank-Abfragen führen kann.
  • Somit liegt der Erfindung das Problem zugrunde, ein Datenbank-Abfragesystem sowie ein Verfahren zum rechnergestützten Abfragen einer Datenbank zu schaffen, bei denen im statistischen Sinn die erforderliche Zeit zur Bearbeitung von Datenbank-Abfragen reduziert wird.
  • Das Problem wird durch das Datenbank-Abfragesystem sowie durch das Verfahren zum rechnergestützten Abfragen einer Datenbank mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
  • Ein Datenbank-Abfragesystem weist mindestens eine erste Einrichtung auf. In der ersten Einrichtung ist eine Datenbank gespeichert, wobei die Datenbank eine Vielzahl von Daten ent hält. Ferner ist mindestens eine zweite Einrichtung vorgesehen, in der mindestens ein komprimiertes Abbild zumindest eines Teils der Inhalte der Datenbank gespeichert ist. Weiterhin ist eine Abfrageeinheit vorgesehen, welche mit der ersten Einrichtung und mit der zweiten Einrichtung gekoppelt ist und derart eingerichtet ist, dass sie eine Abfrage der Inhalte des komprimierten Abbildes und eine Abfrage der Inhalte der Datenbank durchführen kann.
  • Das komprimierte Abbild stellt eine inhaltlich komprimierte Repräsentation der in der Datenbank gespeicherten Daten dar. Vorzugsweise wird als komprimiertes Abbild ein statisches Abbild der Inhalte der Datenbank, besonders bevorzugt ein statistisches Modell der Inhalte der Datenbank verwendet, welches in der zweiten Einrichtung gespeichert ist.
  • Mit der erfindungsgemäßen Abfrageeinheit wird die Möglichkeit eröffnet, dass nicht für jede Datenbank-Abfrage die gesamte Datenbank durchsucht werden muss, sondern dass zunächst auf das komprimierte Abbild der Datenbank zugegriffen werden kann und zunächst eine Abfrage des komprimierten Abbildes durchgeführt werden kann. Schon diese erste Abfrage des komprimierten Abbildes kann zu einem approximativen Ergebnis führen, welches für die jeweilige Datenbank-Abfrage schon ausreichend sein kann bzw. ausreichende Hinweise geben kann für eine mögliche Umformulierung der Datenbank-Abfrage, unter deren Verwendung die Datenbank selbst abgefragt wird.
  • Der Begriff Datenbank ist im Rahmen der Erfindung derart zu verstehen, dass sie eine beliebige Anzahl von Datenbanken, welche auf einer beliebigen Anzahl verschiedener Computer mit einer Vielzahl zugehöriger unterschiedlicher Datenbankverwaltungssysteme verteilt sein kann, aufweisen kann sowie eine Datenbank mit einer beliebigen Anzahl von Datenbanksegmenten sein kann.
  • Unter einem statistischen Modell ist in diesem Zusammenhang jedes Modell zu verstehen, dass alle statistischen Zusammenhänge bzw. die gemeinsame Häufigkeitsverteilung der Daten einer Datenbank darstellt (exakt oder approximativ), beispielsweise ein bayesianisches (oder kausales) Netz, ein Markov-Netz oder allgemein ein graphisches probabilistisches Modell, ein "Latent Variable Model", ein statistisches Clustering-Modell oder ein trainiertes künstliches neuronales Netz. Das statistische Modell kann somit als vollständiges, exaktes oder approximatives, jedoch komprimiertes Abbild der Statistik der Datenbank aufgefasst werden.
  • Bei einem Verfahren zum rechnergestützten Abfragen einer Datenbank, welche eine Vielzahl von Daten enthält, wird – vorzugsweise von einem Client-Computer – eine Datenbank-Abfrage gebildet. Nach Übermitteln der Datenbank-Abfrage zu einer Abfrageeinheit wird ein komprimiertes Abbild der Datenbank, welches zuvor unter Verwendung der Datenbank gebildet worden ist, gemäß der Datenbank-Abfrage abgefragt. Abhängig von dem Abfrageergebnis der Abfrage des komprimierten Abbildes wird überprüft, ob das Ergebnis hinsichtlich der Fragestellung, d.h. hinsichtlich der Datenbank-Abfrage oder anderer vorgebbarer Kriterien ausreichend ist.
  • In diesem Zusammenhang ist anzumerken, dass diese Überprüfung auch seitens des Benutzers des Client-Computers erfolgen kann, indem das Ergebnis der Abfrage des komprimierten Abbildes an den Client-Computer übermittelt, dort dem Benutzer dargestellt und von dem Benutzer überprüft wird, ob er die gewünschte Information nunmehr durch das Ergebnis erhalten hat. Für den Fall, dass der Benutzer noch nähere Informationen benötigt, wird eine entsprechende Anweisung an die Abfrageeinheit übermittelt. Diese Anweisung kann darin bestehen, dass der Abfrageeinheit eine Nachricht übermittelt wird, dass konkretere Informationen unter Verwendung der ursprünglichen Datenbank-Abfrage benötigt werden, woraufhin nunmehr die Datenbank gemäß der ursprünglichen Datenbank-Abfrage abgefragt wird. Alternativ kann eine neue Datenbank-Abfrage gebildet werden und der Abfrageeinheit optional gemeinsam mit der Information, unmittelbar auf die Datenbank selbst zuzugreifen, zugeführt werden, woraufhin das komprimierte Abbild und/oder die Datenbank gemäß der neuen Datenbank-Abfrage abgefragt wird.
  • Das Ergebnis der Abfrage des komprimierten Abbildes und/oder das Ergebnis der Abfrage der Datenbank wird zur Weiterverarbeitung bereitgestellt, beispielsweise an den die Datenbank-Abfrage sendenden Client-Computer übermittelt.
  • Anschaulich kann die Erfindung darin gesehen werden, dass ein komprimiertes Abbild, vorzugsweise ein statistisches Modell, über die in einer Datenbank enthaltenen Daten, anders ausgedrückt über die Inhalte der Datenbank, gebildet wird und das komprimierte Abbild als eine Instanz zwischen Datenbank und den Client-Computer (auf dem Business Intelligence Anwendungen wie z.B. die von Business Objects laufen) installiert wird. Bei einer Datenbank-Abfrage wird zunächst das komprimierte Abbild gemäß der Datenbank-Abfrage abgefragt und somit wird sehr schnell ein approximatives Ergebnis ermittelt und einem Benutzer bereitgestellt, was möglicherweise schon für die jeweilige Fragestellung ausreichend ist, um die Datenbank-Abfrage zu beantworten. Häufig enthält das approximative Ergebnis zumindest gute Hinweise auf den Sinn und die Erfolgsaussichten und den Umfang eines exakten Ergebnisses der Datenbank-Abfrage.
  • Damit ist dem Benutzer ein Instrument an die Hand gegeben, um Datenbank-Abfragen auf Datenbanken mit sehr großen Datenmengen effizient zu gestalten, was zu einer erheblichen Einsparung an benötigter Rechenzeit, an benötigter Datenrate zur Übertragung der Suchergebnisse sowie gerade bei kostenpflichtigen Datenbanken zu einer erheblichen Einsparung an Kosten im Rahmen der Datenbank-Abfragen führt. Sind konkretere Ergebnisse gewünscht, so kann auf der Grundlage der approxima tiven Ergebnisse schließlich die Datenbank selbst mit der gleichen oder mit einer veränderten Datenbank-Abfrage abgefragt werden. Insbesondere komplexe Datenbankrecherchen werden somit erheblich kostengünstiger gestaltet.
  • Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
  • Die im Folgenden beschriebenen Ausgestaltungen betreffen sowohl das Datenbank-Abfragesystem als auch das Verfahren zur rechnergestützten Abfrage einer Datenbank.
  • Das Datenbank-Abfragesystem kann mindestens einen mit der Abfrageeinheit gekoppelten Client-Computer aufweisen, welcher derart eingerichtet ist, dass von ihm Datenbank-Anfragen oder Datenbank-Abfragen erzeugt werden können.
  • Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass zusätzlich zu dem statistischen Abbild der Inhalte der Datenbank zumindest ein Teil der in der Datenbank gespeicherten Daten in komprimierter Form in der zweiten Einrichtung gespeichert ist.
  • Der oder die Client-Computer sind üblicherweise über ein Telekommunikationsnetz, beispielsweise ein Telefonnetz, allgemein ein Wide Area Network (WAN) oder ein Local Area Network (LAN) mit dem Server-Computer und darüber mit der Datenbank gekoppelt und die Kommunikation über das Kommunikationsnetz erfolgt vorzugsweise gemäß den Internetprotokollen Transport Control Protocol (TCP) und Internet Protocol (IP).
  • Zur Kommunikation im Rahmen der eigentlichen Datenbank-Abfrage (auf OSI-Schicht 7) kann die Abfrageeinheit gemäß dem Quasistandard Open Database Connectivity (ODBC) oder Java Database Connectivity (JDBC) eingerichtet sein. Weiterhin kann die Kommunikation auch über (proprietäre) OLAP-Interfaces (ODBO, JOLAP) erfolgen.
  • Die Datenbank-Abfragen sind vorzugsweise gemäß der Datenbank-Abfragesprache Standard Query Language (SQL) formuliert, in welchem Fall die Abfrageeinheit zur Verarbeitung der Datenbank-Abfragen gemäß SQL eingerichtet ist.
  • Die Datenbank kann eine beliebige Anzahl von Datenbanken, welche über mehrere Computer verteilt sein können, aufweisen, wobei die Datenbanken mit der Abfrageeinheit gekoppelt sind.
  • Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass die Datenbank oder die Datenbanken eine Mehrzahl von Datenbanksegmenten aufweist bzw. aufweisen. Jedem Datenbanksegment ist in diesem Fall ein komprimiertes Abbild zugeordnet, welches über das jeweilige Datenbanksegment gebildet worden ist.
  • Diese Ausgestaltung der Erfindung weist insbesondere den Vorteil auf, dass für den Fall, dass bei einer Datenbank-Abfrage über ein jeweiliges komprimiertes Abbild eines Datenbanksegments für das jeweilige Datenbanksegment mit großer Wahrscheinlichkeit keine (oder in einem approximativen Vorgehen auch nur sehr wenige) Treffer zu erwarten sind, eine Detail-Datenbank-Abfrage (d.h. eine Vollsuche in dem jeweiligen Datenbanksegment) auf das jeweilige Datenbanksegment ausgeschlossen werden kann. Damit wird für den Fall, dass die Datenbank-Abfrage auch auf die Datenbank selbst durchgeführt wird, die Datenbank-Abfrage nur für die Datenbanksegmente durchgeführt, welche mit ausreichender Wahrscheinlichkeit Ergebnisse liefern, die den Abfragekriterien der Datenbank-Abfrage entsprechen. Ein weiterer Vorteil ist, dass, falls das komprimierte Abbild bereits ausreichend Informationen enthält, um ein vollständiges, exaktes Ergebnis zu generieren, eine Detail-Datenbank-Abfrage (d.h. eine Vollsuche in dem jeweiligen Datenbanksegment) auf das jeweilige Datenbanksegment genauso ausgeschlossen werden kann. In Summe müssen also immer nur noch wenige zusätzliche Detail-Abfragen für wenige Segmente gestartet werden.
  • Diese Ausgestaltung der Erfindung kann in entsprechender Weise auch für die Weiterbildung vorgesehen sein, dass mehrere Datenbanken in dem Datenbank-Abfragesystem enthalten sind. In diesem Fall wird für jede Datenbank jeweils ein komprimiertes Abbild der jeweiligen Datenbank gebildet.
  • Die Abfrageeinheit und die zweite Einrichtung können gemeinsam in einem Computer, vorzugsweise in einem Client-Computer realisiert sein. Durch den erfindungsgemäßen Einsatz eines komprimierten Abbildes einer Datenbank wird es möglich, das Abbild, welches einen wesentlich geringeren Umfang an Daten, vorzugsweise einige Megabyte im Vergleich zu einigen Gigabyte bis Terrabyte einer kompletten Datenbank, aufweist, auf einfache Weise über ein übliches Kommunikationsnetz an den Client-Computer zu übertragen.
  • Ist das komprimierte Abbild an den Client-Computer übertragen, so kann die erste Abfrage an das komprimierte Abbild zur Ermittlung eines approximativen Abfrage-Ergebnisses erfolgen, ohne dass eine Kommunikationsverbindung zu der eigentlichen Datenbank bestehen muss. Damit ist auch ein Off-Line-Betrieb eines Client-Computers ermöglicht, so lange ein approximatives Ergebnis der Datenbank-Abfrage ausreichend ist.
  • Gemäß dieser Ausgestaltung der Erfindung wird ferner eine zusätzliche Reduktion der benötigten Rechenkapazität des Server-Computers erreicht und der Bandbreitenbedarf des Kommunikationsnetzes zur Übertragung von Datenbank-Abfragen und Datenbank-Abfrage-Ergebnissen wird weiter reduziert.
  • Die zweite Einrichtung kann in einer alternativen Ausführungsform in einem eigenen, von dem Client-Computer und dem Server-Computer unabhängigen Computer vorgesehen sein und mit diesem über das Kommunikationsnetz gekoppelt sein.
  • Ferner kann sie, vorzugsweise gemeinsam mit der Abfrageeinheit, in dem Server-Computer integriert sein.
  • Gemäß einer anderen Ausgestaltung der Erfindung ist eine Entscheidungseinheit vorgesehen, die überprüft, ob das approximative Ergebnis gemäß einem vorgebbaren Qualitätskriterium ausreichend ist. Für den Fall, dass das approximative Ergebnis nicht ausreichend ist wird die Datenbank-Abfrage automatisch an das Datenbankverwaltungssystem der Datenbank selbst weitergeleitet und somit wird eine Datenbank-Abfrage der vollständigen Datenbank gestartet.
  • Gemäß dieser Ausgestaltung der Erfindung wird die Existenz eines komprimierten Abbildes für den Benutzer transparent und die Benutzerfreundlichkeit wird weiter erhöht, da der Benutzer nicht mehr in den Entscheidungsprozess eingebunden werden muss, ob die Datenbank selbst abzufragen ist oder nicht.
  • In einer anderen Ausgestaltung der Erfindung ist es vorgesehen, mit der Datenbank-Abfrage Informationen mitzuschicken, mit denen angegeben wird, ob ein exaktes Ergebnis der Datenbank-Abfrage gewünscht wird oder ob auch ein approximatives Ergebnis ausreicht. Falls gemäß der in der Datenbank-Abfrage zusätzlich angegebenen Information ein schnelles, jedoch approximatives Ergebnis akzeptiert wird, kann ferner als Qualitätskriterium angegeben werden, bis zu welchem statistischen Verlässlichkeitsgrad das Ergebnis approximativ sein darf, beispielsweise bis auf welche Dezimalstelle die Approximation Auswirkungen haben darf.
  • Der Server-Computer und der oder die Client-Computer können über ein beliebiges Kommunikationsnetz, beispielsweise über ein Festnetz- oder über ein Mobilfunknetz miteinander zur Übertragung der jeweiligen Daten und zur Übertragung des statistischen Modells gekoppelt sein.
  • Es ist anzumerken, dass die statistischen Modelle von den Server-Computern gebildet werden können, alternativ auch von anderen, möglicherweise speziell dafür eingerichteten Computern, welche mit den Datenbanken gekoppelt sind. In diesem Fall werden die gebildeten statistischen Modelle zu der jeweiligen Abfrageeinheit, welche in einem eigenen Computer angeordnet sein kann, in dem Server-Computer oder in einem oder jedem der Client-Computer, über das Kommunikationsnetzwerk übertragen.
  • Somit können die statistischen Modelle in einem heterogenen Kommunikationsnetz, beispielsweise im Internet, weltweit auf sehr einfache Weise bereitgestellt werden.
  • Mindestens eines der statistischen Modelle kann mittels eines skalierbaren Verfahrens gebildet werden, mit dem der Kompressionsgrad des statistischen Modells verglichen mit den in der jeweiligen Datenbank enthaltenen Datenelementen einstellbar ist.
  • Mindestens eines der statistischen Modelle kann ferner mittels eines EM-Lernverfahrens oder mittels Varianten davon oder mittels eines gradienten-basierten Lernverfahrens gebildet werden. Beispielsweise kann das so genannte APN-Lernverfahren (Adaptive Probabilistic Network-Lernverfahren) als gradienten-basiertes Lernverfahren eingesetzt werden. Allgemein können alle Likelihood-basierten Lernverfahren oder bayesianische Lernverfahren genutzt werden, wie sie beispielsweise in [1] beschrieben sind.
  • Die Struktur der gemeinsamen Wahrscheinlichkeitsmodelle kann dabei in Form eines graphischen probabilistischen Modells (eines bayesisianischen Netzes, eines Markov-Netzes oder einer Kombination davon) spezifiziert werden. Einem Spezialfall dieses allgemeinen Formalismus entsprechen so genannte Latent Variable Models oder statistische Clustering-Modelle. Darüber hinaus kann jedes Verfahren zum Lernen nicht nur der Parame ter, sondern auch der Struktur graphischer probabilistischer Modelle aus verfügbaren Datenelementen genutzt werden, beispielsweise jedes beliebige Strukturlernverfahren, wie es beispielsweise in [2] und [3] beschrieben ist.
  • Zusätzlich zu den statistischen Modellen können Teile der Daten in verschiedener Auflösung (z.B. ein numerischer Wert grob dargestellt durch nur ein Byte) mit den Modellen gespeichert werden. Bevorzugt wird dabei die durch das Modell erfasste Statistik der Daten genutzt, um die Daten komprimiert darzustellen. Je mehr Informationen in das komprimierte Abbild gespeichert werden, desto größer ist der Speicherbedarf und desto aufwendiger ist die Auswertung. Es besteht also die Möglichkeit einen Kompromiss zu wählen, angefangen bei einem sehr kleinen, approximativen statistischen Modell bis hin zu einem bereits sehr detaillierten, exakten Abbild der Statis- tik der Inhalte einer Datenbank.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.
  • Es zeigen
  • 1 ein Blockdiagramm eines Datenbank-Abfragesystems gemäß einem ersten Ausführungsbeispiel der Erfindung;
  • 2 ein Ablaufdiagramm, in dem die einzelnen Schritte einer Verarbeitung einer Datenbank-Abfrage gemäß einem ersten Ausführungsbeispiel der Erfindung dargestellt sind;
  • 3 ein Nachrichtenflussdiagramm, in dem die zwischen einem Client-Computer und einem Server-Computer gemäß dem ersten Ausführungsbeispiel der Erfindung dargestellt sind;
  • 4 ein Ablaufdiagramm, in dem die einzelnen Schritte einer Verarbeitung einer Datenbank-Abfrage gemäß einem zweiten Ausführungsbeispiel der Erfindung dargestellt sind;
  • 5 ein Nachrichtenflussdiagramm, in dem die zwischen einem Client-Computer und einem Server-Computer gemäß dem zweiten Ausführungsbeispiel der Erfindung dargestellt sind;
  • 6 ein Datenbank-Abfragesystem gemäß einem anderen Ausführungsbeispiel der Erfindung; und
  • 7 ein Blockdiagramm des Datenbank-Abfragesystems gemäß einem anderen Ausführungsbeispiel der Erfindung.
  • Ohne Einschränkung der Allgemeingültigkeit werden im Folgenden die erfindungsgemäßen Datenbank-Abfragesysteme mit nur einer Datenbank und einem Client-Computer sowie einem Server-Computer beschrieben. Es ist jedoch darauf hinzuweisen, dass grundsätzlich eine beliebige Anzahl von Datenbanken, eine beliebige Anzahl von Server-Computern sowie eine beliebige Anzahl von Client-Computern vorgesehen sein können.
  • In den Figuren sind gleiche oder ähnliche Elemente oder Verfahrensschritte mit identischen Bezugszeichen versehen.
  • 1 zeigt ein Datenbank-Abfragesystem 100 gemäß einem ersten Ausführungsbeispiel der Erfindung.
  • Das Datenbank-Abfragesystem 100 weist einen Client-Computer 101, einen Server-Computer 102 und eine Datenbank 103 auf.
  • Der Client-Computer 101 und der Server-Computer 102 sind über ein Telekommunikationsnetz 104, gemäß einem Ausführungsbeispiel der Erfindung mittels des Internet, miteinander gekoppelt.
  • Der Client-Computer 101 weist eine Eingangs-/Ausgangsschnittstelle 105, eine Prozessoreinheit 106 sowie eine Speichereinheit 107 auf. Die Eingangs-/Ausgangsschnittstelle 105, die Prozessoreinheit 106 und die Speichereinheit 107 sind über einen Computerbus 108 miteinander gekoppelt.
  • Der Client-Computer 101 ist mittels der Eingangs-/Ausgangsschnittstelle 105 mit dem Telekommunikationsnetzwerk 104 gekoppelt. Ferner ist der Client-Computer 101 über ein erstes Kabel 109 oder eine erste Funkverbindung (beispielsweise gemäß Bluetooth) mit einem Bildschirm 110 zur Anzeige von Daten an einen Benutzer gekoppelt. Ferner ist eine Tastatur 111 über ein zweites Kabel 112 oder eine zweite Funkverbindung mit der Eingangs-/Ausgangsschnittstelle 105 gekoppelt. Weiterhin ist eine Computermaus 113 vorgesehen, welche über ein drittes Kabel 114 oder mittels einer dritten Funkverbindung mit der Eingangs-/Ausgangsschnittstelle 105 des Client-Computers 101 gekoppelt ist.
  • Der Server-Computer 102 weist ebenfalls eine Eingangs-/Ausgangsschnittstelle 115 auf, welche mit dem Telekommunikationsnetzwerk 104 gekoppelt ist.
  • Ferner sind in dem Server-Computer 102 eine Prozessoreinheit 116, eine erste Speichereinheit 117, eine zweite Speichereinheit 118 sowie eine Datenbankschnittstelle 119 vorgesehen, welche miteinander und mit der Eingangs-/Ausgangsschnittstelle 115 mittels eines Computerbus 120 gekoppelt sind.
  • In der ersten Speichereinheit 117 sind die Programme gespeichert, welche von der Prozessoreinheit 116 durchgeführt werden.
  • In der zweiten Speichereinheit 118, welche als erfindungsgemäße zweite Einrichtung dient, ist ein im Folgenden näher erläutertes statistisches Modell 121 der in der Datenbank 103 gespeicherten Daten enthalten.
  • Gemäß diesem Ausführungsbeispiel der Erfindung ist die Abfrageeinheit in Form eines Computerprogramms implementiert, welches in der ersten Speichereinheit 117 gespeichert ist und von der Prozessoreinheit 116 durchgeführt wird.
  • Mittels der Datenbankschnittstelle 119 ist der Server-Computer 102 über eine Datenbankverbindung 122 mit der Datenbank 103 gekoppelt. Zur Verwaltung der Datenbank 103, insbesondere zur Steuerung von Abfragen und Einträgen von Daten aus der bzw. in die Datenbank 103 ist ein Datenbank-Verwaltungssystem (DBMS.) (nicht dargestellt) vorgesehen, welches in der Datenbank 103 oder in dem Server-Computer 102 implementiert sein kann.
  • Der Server-Computer 102 und die Client-Computer 101 sind zur Kommunikation gemäß den Internet-Kommunikationsprotokollen Transport Control Protocol (TCP) und Internet Protocol (IP) eingerichtet.
  • Zur eigentlichen Verarbeitung von Datenbank-Abfragen sind der Server-Computer 102, die Datenbank 103 und die Client-Computer 101 gemäß dem ODBC-Standard zur Kommunikation und im Rahmen der Formulierung der Datenbank-Abfragen selbst, gemäß dem Standard Query Language-Standard (SQL-Standard) eingerichtet.
  • Im Folgenden wird unter Bezugnahme auf 2 und 3 der Ablauf einer Datenbank-Abfrage im Rahmen des Datenbank-Abfragesystems 100 gemäß dem ersten Ausführungsbeispiel der Erfindung beschrieben.
  • Wie in einem Ablaufdiagramm 200 in 2 dargestellt ist, wird in einem ersten Schritt (Schritt 201) von dem Server-Computer 102 ein statistisches Modell 121 der in der Datenbank 103 gespeicherten Daten gebildet.
  • Das statistische Modell 121 wird gemäß diesem Ausführungsbeispiel der Erfindung unter Verwendung des an sich bekannten EM-Lernverfahrens gebildet. Andere alternative Verfahren zum Bilden des statistischen Modells 121, welche bevorzugt eingesetzt werden, werden im Folgenden noch im Detail beschrieben.
  • Gemäß diesem Ausführungsbeispiel der Erfindung wird das statistische Modell 121 automatisch in regelmäßigen, vorgebbaren Zeitintervallen erneut gebildet, jeweils basierend auf den aktuellsten Daten, welche in der Datenbank 103 gespeichert sind.
  • Das statistische Modell 121 wird in der zweiten Speichereinheit 118 gespeichert (Schritt 202).
  • Möchte ein Benutzer des Client-Computers 101 Informationen aus der Datenbank 103 erhalten, so wird eine SQL-Abfrage in den Client-Computer 101 eingegeben (Schritt 203) und von dem Client-Computer 101 zu dem Server-Computer 102 übertragen. Zu diesem Zweck kann in dem Client-Computer 101 ein Browser-Computerprogramm installiert sein, das mit einem serverseitig installierten Web-Server-Programm zusammenwirkt. Auf dem Bildschirm 110 des Client-Computers 101 wird in diesem Fall dem Nutzer eine HTML-Seite dargestellt mit einer Aufforderung zur Eingabe von Datenbank-Suchkriterien, welche der Benutzer zur Abfrage der Datenbank 103 verwenden möchte.
  • Der Benutzer hat die Möglichkeit, die Abfrage direkt in der jeweils zu verwendenden Datenbank-Abfragesprache zu formulieren oder er kann eine Datenbank-Anfrage in normaler Sprache und/oder unter Verwendung von Stichworten formulieren, in welchem Fall die Datenbank-Anfrage von einem vorgesehenen Umwandlungsprogramm in eine SQL-Datenbank-Abfrage umgewandelt wird.
  • Die SQL-Abfrage wird gemäß dem jeweils verwendeten Kommunikationsprotokoll in eine SQL-Datenbank-Abfragenachricht 301 eingebettet (vergleiche Nachrichtenflussdiagramm 300 in 3) und die SQL-Datenbank-Abfragenachricht 301 wird von dem Client-Computer 101 zu dem Server-Computer 102 übertragen.
  • Der Server-Computer 102 fragt das statistische Modell 121 gemäß der SQL-Datenbank-Abfrage 302 ab, d.h, er durchsucht das statistische Modell 121 unter Verwendung der SQL-Datenbank-Abfrage 302. Nachdem für das statistische Modell 121 ein Ergebnis zu der SQL-Datenbank-Abfrage 302 ermittelt worden ist, welches hinsichtlich des Gesamtinhalts der Datenbank 103 ein approximatives Ergebnis darstellt, wird das approximative Ergebnis als SQL-Antwort 303 an den Server-Computer 102 übergeben.
  • Damit ist die Abfrage des statistischen Modells 121 gemäß der SQL-Datenbank-Abfrage 302 vollendet (Schritt 204).
  • Von dem Server-Computer 102 wird anschließend unter Verwendung der SQL-Antwort 303 überprüft, ob hinsichtlich der SQL-Datenbank-Abfrage 302 bei einer "Vollabfrage" der Datenbank 103 überhaupt Treffer zu erwarten sind (Schritt 205).
  • Unter einem Treffer ist in diesem Zusammenhang ein Ergebnis einer Datenbank-Abfrage zu verstehen, bei dem mindestens ein Datenelement der Datenbank 103 ermittelt wird, das den in der SQL-Datenbank-Abfrage 302 angegebenen Abfragekriterien genügt.
  • Ist gemäß der approximativen SQL-Antwort 303 mit ausreichend großer Wahrscheinlichkeit kein Treffer bei einer vollständigen Abfrage der gesamten Datenbank 103 zu erwarten, so sendet der Server-Computer 102 eine entsprechende Ergebnisnachricht an den Client-Computer 101 (nicht dargestellt in 3), in der angegeben ist, dass bei einer Abfrage der gesamten Datenbank 103 aufgrund der Abfrage des statistischen Modells 121 keine Treffer zu erwarten sind (Schritt 206).
  • Wird jedoch in Schritt 205 festgestellt, dass mit ausreichender Wahrscheinlichkeit Treffer bei einer Abfrage der gesamten Datenbank 103 zu erwarten sind (Prüfschritt 207), so wird das approximative, beispielsweise eine Angabe der Anzahl wahrscheinlicher Treffer in der Datenbank 103 in einer anderen Ergebnisnachricht an den Client-Computer 101 übermittelt (Schritt 208).
  • In einer alternativen Ausführungsform ist es vorgesehen, dass für den Fall, dass in dem Prüfschritt 205 ermittelt wird, dass mit ausreichender Wahrscheinlichkeit Treffer in der Datenbank zu erwarten sind, das approximative Ergebnis jedoch nicht ausreichend ist hinsichtlich der Abfragekriterien oder vorgebbarer Qualitätskriterien, so kann der Server-Computer 102 automatisch die SQL-Datenbank-Abfrage 302 der Datenbank 103 übergeben und eine vollständige Suche der gesamten Datenbank 103 initiieren.
  • Das Ergebnis der vollständigen Suche wird als exaktes SQL-Abfrageergebnis 304 an den Server-Computer 102 übergeben, womit die Abfrage der Datenbank 103 gemäß der SQL-Datenbank-Abfrage 302 abgeschlossen ist (Schritt 209).
  • Schließlich wird von dem Server-Computer 102 eine SQL-Ergebnisnachricht 305 gebildet, in der das approximative und/oder das exakte Ergebnis enthalten sind. Die SQL-Ergebnisnachricht 305 wird von dem Server-Computer 102 an den Client-Computer 101 übertragen (Schritt 210).
  • In einem letzten Verfahrensschritt wird das Verfahren beendet (Schritt 211).
  • In 4 und 5 sind die einzelnen Verfahrensschritte (Ablaufdiagramm 400 in 4) und der Nachrichtenfluss (Nachrichtenflussdiagramm 500 in 5) für den Ablauf einer Datenbank-Abfrage gemäß einem zweiten Ausführungsbeispiel der Erfindung dargestellt, wobei dieses Verfahren von dem strukturell gleichen Datenbank-Abfragesystem, wie es in 1 dargestellt ist, durchgeführt wird.
  • Aus Gründen der übersichtlicheren Darstellung werden im Folgenden lediglich die Unterschiede zu dem Vorgehen gemäß den 2 und 3 erläutert.
  • Die Schritte 201, 202, 203 bzw. 204 sind identisch mit dem Vorgehen gemäß dem ersten Ausführungsbeispiel.
  • Im Unterschied zu dem vorangegangen Ausführungsbeispiel wird jedoch nach Erhalt der approximativen SQL-Antwort 303 von dem Server-Computer 102 automatisch eine SQL-Antwortnachricht 501 gebildet, in der das approximative Abfrageergebnis der SQL-Datenbank-Abfrage 302 enthalten ist und an den Client-Computer 101 übermittelt (Schritt 401).
  • Von dem Client-Computer 101 wird nach Erhalt der ersten SQL-Antwortnachricht 501 gemäß den Angaben des Benutzers des Client-Computers 101 eine zweite SQL-Datenbank-Abfragenachricht 502 gebildet, die eine zweite SQL-Datenbank-Abfrage 503 enthält. Die zweite SQL-Datenbank-Abfrage 503 kann identisch mit der ersten SQL-Datenbank-Abfrage 302 sein oder gegenüber der ersten SQL-Datenbank-Abfrage 302 verändert, vorzugsweise konkretisiert sein (Schritt 402).
  • Die zweite SQL-Datenbank-Abfragenachricht 502 wird von dem Client-Computer 101 zu dem Server-Computer 102 übermittelt und dort wird die zweite SQL-Datenbank-Abfrage 503 an die Datenbank 103 übergeben und es wird anhand der in der zweiten SQL-Datenbank-Abfragenachricht 502 enthaltenen zweiten SQL-Datenbank-Abfrage 503 eine vollständige Suche in der gesamten Datenbank 103 durchgeführt (Schritt 403).
  • Das Ergebnis der vollständigen Datenbank-Abfrage wird dem Server-Computer 102 als exaktes SQL-Ergebnis 504 übergeben, woraufhin der Server-Computer 102 eine das exakte SQL-Ergebnis 504 enthaltende SQL-Antwortnachricht 505 bildet und an den Client-Computer 101 übermittelt (Schritt 404).
  • Nach Senden der zweiten SQL-Antwortnachricht 505 wird das Verfahren beendet (Schritt 405).
  • Alle oben beschriebenen Abläufe und Nachrichtenflüsse werden in entsprechender Weise in alternativen Ausführungsbeispielen in den rechnerarchitektonisch veränderten Datenbank-Abfragesystemen 600 (vergleiche 6) und 700 (vergleiche 7) verwendet.
  • Aus diesem Grund wird in Zusammenhang mit den alternativen Datenbank-Abfragesystemen 600 und 700 lediglich deren Struktur und nicht mehr die einzelnen Verfahrensabläufe zum Abfragen der Datenbank erläutert.
  • Es ist in diesem Zusammenhang anzumerken, dass gemäß den Nachrichtenflussdiagrammen 300 und 500 in den 3 und 5 die Instanzen des statistischen Modells 121 und der Datenbank 103 nicht auf ihre tatsächliche örtliche Implementierung, wie sie z.B. in 1 beschrieben ist, beschränkt sind.
  • Das statistische Modell 121 kann gemäß einer alternativen Ausführungsform, wie in dem Datenbank-Abfragesystem 600 in 6 dargestellt ist, in einem eigenen Computer 601 implementiert und gespeichert sein, wobei der Computer 601 eine Eingangs-/Ausgangsschnittstelle 602 aufweist, mittels welcher der Computer 601 mit dem Kommunikationsnetz 104 gekoppelt ist. Der Computer 601 weist ferner eine Prozessoreinheit 603 sowie eine erste Speichereinheit 604 zum Speichern der Programme, die von der Prozessoreinheit 603 durchgeführt werden sowie eine zweite Speichereinheit 605 auf, in welcher zweiten Speichereinheit 605 das statistische Modell 121 gespeichert ist.
  • Die restlichen Elemente des Datenbank-Abfragesystems 600 sind identisch mit denen des Datenbank-Abfragesystems 100 gemäß 1, weshalb auf eine nähere Erläuterung verzichtet wird.
  • Anschaulich kann dieses Ausführungsbeispiel angesehen werden als ein verteiltes Daten-Abfragesystem 600, bei dem die Client-Computer 101 und die Server-Computer 102 und die Computer 601, in denen die statistischen Modelle 121 gespeicherte sind, voneinander unabhängige Computer sind, welche mittels des Kommunikationsnetzes 104 miteinander gekoppelt sind.
  • 7 zeigt ein Datenbank-Abfragesystem 700 gemäß einer weiteren Ausgestaltung der Erfindung.
  • Im Unterschied zu den vorangegangenen Ausführungsbeispielen ist gemäß diesem Ausführungsbeispiel das statistische Modell 121 jeweils in einer zweiten Speichereinheit 701 in dem jeweiligen Client-Computer 101 gespeichert.
  • Dies bedeutet, dass jeweils nach Bilden des statistischen Modells 121 dieses zu den jeweiligen Client-Computern 101 übertragen wird.
  • Gemäß dieser Ausgestaltung der Erfindung, wird es ermöglicht, dass die ersten Datenbank-Anfragen zur Ermittlung eines approximativen Ergebnisses Off-Line erfolgen können, d.h. ohne eine aktivierte Kommunikationsverbindung mit einem Server-Computer 102.
  • Dies wird möglich, da das statistische Modell 121 üblicherweise verglichen mit der gesamten Datenbank 103 einen erheblich geringeren Umfang aufweist und damit leicht mittels elektronischer Post (E-Mail) oder mittels eines entsprechenden Kommunikationsprotokolls, beispielsweise des File Transfer Protocol (FTP) übertragen werden kann, ohne eine zu große Bandbreite zur Datenübertragung zu benötigen.
  • Um das Ziel zu erreichen, möglichst kleine und somit auf elektronischem Wege leicht austauschbare, dennoch sehr genaue Abbilder einer Datenbank zu generieren, sind insbesondere skalierbare Lernverfahren, die hoch komprimierte Abbilder generieren, erwünscht, gleichzeitig sollen sich die Abbilder effizient fusionieren, d.h. zusammenführen lassen, wozu man insbesondere auch sehr effizient mit fehlenden Informationen umgehen können sollte. Bekannte Lernverfahren sind insbesondere dann langsam, wenn in den Daten viele der Belegungen der Felder fehlen.
  • Im Folgenden werden verschiedene skalierbare Verfahren zum Bilden eines statistischen Modells angegeben.
  • Zur besseren Veranschaulichung der bevorzugt eingesetzten Verbesserung eines EM-Lernverfahrens im Falle eines Naiven Bayesianischen Cluster Modells werden im Folgenden einige Grundlagen des EM-Lernverfahrens näher erläutert:
  • Mit X = {Xk, k = 1, ..., K} wird einen Satz von K statistischen Variablen (die z.B. den Feldern einer Datenbank entsprechen können) bezeichnet.
  • Die Zustände der Variablen werden mit kleinen Buchstaben bezeichnet. Die Variable X1 kann die Zustände x1,1, x1,2, ... annehmen, d.h. X1 ∊ {x1,i, i = 1, ..., L1}. L1 ist die Anzahl der Zustände der Variable X1. Ein Eintrag in einem Datensatz (einer Datenbank) besteht nun aus Werten für alle Variablen, wobei xπ ≡ (x π / 1, x π / 2, x π / 3, ...) den π-ten Datensatz bezeichnet. In dem π-ten Datensatz ist die Variable X1 in dem Zustand x π / 1, die Variable X2 in dem Zustand x π / 2, usw. Die Tafel hat M Einträge, d. h. {xπ, π = 1, ..., M}. Zusätzlich gibt es eine versteckte Variable oder eine Cluster-Variable, die im Folgenden mit Ω bezeichnet wird; deren Zustände sind {ωi, i = 1, ..., N}. Es gibt also N Cluster.
  • In einem statistischen Clustering-Modell beschreibt P(Ω) eine a priori Verteilung; P(ωi) ist das a priori Gewicht des i-ten Clusters und P(X|ωi) beschreibt die Struktur des i-ten Clusters oder die bedingte Verteilung der beobachtbaren (in der Datenbank enthaltenen) Größen X = {Xk, k = 1, ..., K} in dem i-ten Cluster. Die a priori Verteilung und die bedingten Verteilungen für jedes Cluster parametrisieren zusammen ein gemeinsames Wahrscheinlichkeitsmodell auf X ∪ Ω bzw. auf X.
  • In einem Naiven Bayesian Network wird vorausgesetzt, dass p(Xi) mit
    Figure 00240001
    p(Xki) faktorisiert werden kann.
  • Im Allgemeinen wird darauf gezielt, die Parameter des Modells, also die a priori Verteilung p(Ω) und die bedingten Wahrscheinlichkeitstafeln p(X|ω) derart zu bestimmen, dass das gemeinsame Modell die eingetragenen Daten möglichst gut widerspiegelt. Ein entsprechendes EM-Lernverfahren besteht aus einer Reihe von Iterationsschritten, wobei in jedem Iterationsschritt eine Verbesserung des Modells (im Sinne einer so genannten Likelihood) erzielt wird. In jedem Iterationsschritt werden neue Parameter pneu(...) basierend auf den aktuellen oder „alten" Parametern palt(...) geschätzt.
  • Jeder EM-Schritt beginnt zunächst mit dem E-Schritt, in dem „Sufficient Statistics" in dafür bereitgehaltenen Tafeln ermittelt werden. Es wird mit Wahrscheinlichkeitstafeln begonnen, deren Einträge mit Null-Werten initialisiert werden.
  • Die Felder der Tafeln werden im Verlauf des E-Schrittes mit den so genannten Sufficient Statistics S(Ω) und S(X, Ω) gefüllt, indem für jeden Datenpunkt die fehlenden Informationen (also insbesondere die Zuordnung jedes Datenpunktes zu den Clustern) durch Erwartungswerte ergänzt werden.
  • Um Erwartungswerte für die Clustervariable Ω zu berechnen ist die a posteriori Verteilung palt(wi|x π) zu ermitteln. Dieser Schritt wird auch als „Inferenzschritt" bezeichnet.
  • Im Falle eines Naive Bayesian Network. ist die a posteriori Verteilung für Ω nach der Vorschrift
    Figure 00250001
    für jeden Datenpunkt x π aus den eingetragenen Informationen zu berechnen, wobei
    Figure 00250002
    eine vorgebbare Normierungskonstante ist.
  • Das Wesentliche dieser Berechnung besteht aus der Bildung des Produkts palt(x π / k|ωi) über alle k = 1, ..., K. Dieses Produkt muss in jedem E-Schritt für alle Cluster i = 1, ..., N und für alle Datenpunkte xπ, π = 1, ..., M gebildet werden.
  • Ähnlich aufwendig oft noch aufwendiger ist der Inferenzschritt für die Annahme anderer Abhängigkeitsstrukturen als einem Naive Bayesian Network, und beinhaltet damit den wesentlichen numerischen Aufwand des EM-Lernens.
  • Die Einträge in den Tafeln S(Ω) und S(X, Ω) ändern sich nach Bildung des obigen Produktes für jeden Datenpunkt xπ, π = 1, ..., M, da S(ωi) um palti|x π) für alle i addiert wird, bzw. eine Summe alle palti|x π) gebildet wird. Auf entsprechende Weise wird S(x, ωi) (bzw. S(xk, ωi) für alle Variabeln k im Falle eines Naive Bayesian Network) jeweils um palti|x π) für alle Cluster i addiert. Dieses schließt zunächst den E (Expectation)-Schritt ab.
  • Anhand dieses Schrittes werden neue Parameter pneu(Ω) und pneu(x|Ω) für das statistische Modell berechnet, wobei p(xi) die Struktur des i-ten Cluster oder die bedingte Verteilung der in der Datenbank enthaltenden Größen X in diesem i-ten Cluster darstellt.
  • Im M (Maximisation)-Schritt werden unter Optimierung einer allgemeinen log Likelihood
    Figure 00260001
    neue Parameter pneu(Ω) und pneu(X|Ω), welche auf den bereits berechneten Sufficient Statistics basieren, gebildet.
  • Der M-Schritt bringt keinen wesentlichen numerischen Aufwand mehr mit sich.
  • Somit ist klar, dass der wesentliche Aufwand des Algorithmus in dem Inferenzschritt bzw. auf die Bildung des Produktes
    Figure 00260002
    palt(x π / k|ωi) und auf die Akkumulierung der Sufficient Statistics ruht.
  • Die Bildung von zahlreichen Null-Elementen in den Wahrscheinlichkeitstafeln palt(Xi) bzw. palt(Xki) lässt sich jedoch durch geschickte Datenstrukturen und Speicherung von Zwischenergebnissen von einem EM-Schritt zum nächsten dazu aus nutzen, die Produkte effizient zu berechen.
  • Zum Beschleunigen des EM-Lernverfahrens wird die Bildung eines Gesamtproduktes in einem obigem Inferenzschritt, welcher aus Faktoren von a posteriori Verteilungen von Zugehörigkeitswahrscheinlichkeiten für alle eingegebene Datenpunkte besteht, wie gewöhnlich durchgeführt wird, sobald die erste Null in den dazu gehörenden Faktoren auftritt, wird die Bildung des Gesamtproduktes jedoch abgebrochen. Es lässt sich zeigen, dass für den Fall, dass in einem EM-Lernprozess ein Cluster für einen bestimmten Datenpunkt das Gewicht Null, zugeordnet bekommt, dieser Cluster auch in allen weiteren EM-Schritten für diesen Datenpunkt das Gewicht Null zugeordnet bekommen wird.
  • Somit wird eine sinnvolle Beseitigung von überflüssigen numerischen Aufwand gewährleistet, indem entsprechende Ergebnisse von einem EM-Schritt zum nächsten zwischengespeichert werden und nur für die Cluster, die nicht das Gewicht Null haben, bearbeitet werden.
  • Es ergeben sich somit die Vorteile, dass aufgrund des Bearbeitungsabbruchs beim Auftreten eines Clusters mit Null Gewichten nicht nur innerhalb eines EM-Schrittes sondern auch für alle weiteren Schritte, besonders bei der Bildung des Produkts im Inferenzschritt, das EM-Lernverfahren insgesamt deutlich beschleunigt wird.
  • Im Verfahren zur Ermittlung einer in vorgegebenen Daten vorhandenen Wahrscheinlichkeitsverteilung werden Zugehörigkeitswahrscheinlichkeiten zu bestimmten Klassen nur bis zu einem Wert nahezu 0 in einem iterativen Verfahren berechnet, und die Klassen mit Zugehörigkeitswahrscheinlichkeiten unterhalb eines auswählbaren Wertes im iterativen Verfahren nicht weiter verwendet.
  • In einer Weiterbildung des Verfahrens wird eine Reihenfolge der zu berechnenden Faktoren derart bestimmt, dass der Faktor, der zu einem selten auftretenden Zustand einer Variabel gehört, als erstes bearbeitet wird. Die selten auftretenden Werte können vor Beginn der Bildung des Produkts derart in einer geordneten Liste gespeichert werden, dass die Variabeln je nach Häufigkeit ihrer Erscheinung einer Null in der Liste geordnet sind.
  • Es ist weiterhin vorteilhaft, eine logarithmische Darstellung von Wahrscheinlichkeitstafeln zu benutzen.
  • Es ist weiterhin vorteilhaft, eine dünne Darstellung (sparse representation) der Wahrscheinlichkeitstafeln zu benutzen, z.B. in Form einer Liste, die nur die von Null verschiedenen Elemente enthält.
  • Ferner werden bei der Berechnung von Sufficient Statistics nur noch die Cluster berücksichtigt, die ein von Null verschiedenes Gewicht haben.
  • Die Cluster, die ein von Null verschiedenes Gewicht haben, können in eine Liste gespeichert werden, wobei die in der Liste gespeicherte Daten Pointer zu den entsprechenden Cluster sein können.
  • Das Verfahren kann weiterhin ein Expectation Maximisation Lernprozess sein, bei dem in dem Fall dass für ein Datenpunkt ein Cluster ein a posteriori Gewicht „Null" zugeordnet bekommt, dieser Cluster in allen weiteren Schritten des EM-Verfahrens für diesen Datenpunkt das Gewicht Null erhält und dass dieser Cluster in allen weiteren Schritten nicht mehr berücksichtigt werden muss.
  • Das Verfahren kann dabei nur noch über Cluster laufen, die ein von Null verschiedenes Gewicht haben.
  • I. Erstes Beispiel in einem Inferenzschritt
  • a) Bildung eines Gesamtproduktes mit Unterbrechung bei Nullwert
  • Für jeden Cluster ωi in einem Inferenzschritt wird die Bildung eines Gesamtproduktes durchgeführt. Sobald die erste Null in den dazu gehörenden Faktoren, welche beispielsweise aus einem Speicher, Array oder einer Pointerliste herausgelesen werden können, auftritt, wird die Bildung des Gesamtproduktes abgebrochen.
  • Im Falle des Auftretens eines Nullwertes wird dann das zu dem Cluster gehörende a posteriori Gewicht auf Null gesetzt. Alternativ kann auch zuerst geprüft werden, ob zumindest einer der Faktoren in dem Produkt Null ist. Dabei werden alle Multiplikationen für die Bildung des Gesamtproduktes nur dann durchgeführt, wenn alle Faktoren von Null verschieden sind.
  • Wenn hingegen bei einem zu dem Gesamtprodukt gehörender Faktor kein Nullwert auftritt, so wird die Bildung des Produktes wie normal fortgeführt und der nächste Faktor aus dem Speicher, Array oder der Pointerliste herausgelesen und zur Bildung des Produktes verwendet.
  • b) Auswahl einer geeigneten Reihenfolge zur Beschleunigung der Datenverarbeitung
  • Eine geschickte Reihenfolge wird derart gewählt, dass, falls ein Faktor in dem Produkt Null ist, dieser Faktor mit hoher Wahrscheinlichkeit sehr bald als einer der ersten Faktoren in dem Produkt auftritt. Somit kann die Bildung des Gesamtproduktes sehr bald abgebrochen werden. Die Festlegung der neuen Reihenfolge kann dabei entsprechend der Häufigkeit, mit der die Zustände der Variablen in den Daten auftreten, erfolgen. Es wird ein Faktor der zu einer sehr selten auftretenden Zustand einer Variable gehört, als erstes bearbeitet. Die Reihenfolge, in der die Faktoren bearbeitet werden, kann somit einmal vor, dem Start des Lernverfahrens festgelegt werden, indem die Werte der Variablen in einer entsprechend geordneten Liste gespeichert werden.
  • c) Logarithmische Darstellung der Tafeln
  • Um den Rechenaufwand des oben genannten Verfahrens möglichst einzuschränken, wird vorzugsweise eine logarithmische Darstellung der Tafeln benutzt, um beispielsweise Underflow-Probleme zu vermeiden. Mit dieser Funktion können ursprünglich Null-Elemente zum Beispiel durch einen positiven Wert ersetzt werden. Somit ist eine aufwendige Verarbeitung bzw. Trennungen von Werten, die nahezu Null sind und sich voneinander durch einen sehr geringen Abstand unterscheiden, nicht weiter notwendig.
  • d) Umgehung von erhöhter Summierung bei der Berechnung von Sufficient Statistics
  • In dem Fall, dass die dem Lernverfahren zugegebenen stochastischen Variablen eine geringe Zugehörigkeitswahrscheinlichkeit zu einem bestimmten Cluster besitzen, werden im Laufe des Lernverfahrens viele Cluster das a posteriori Gewicht Null haben.
  • Um auch das Akkumulieren der Sufficient Statistics in dem darauf folgenden Schritt zu beschleunigen, werden nur noch solche Cluster in diesem Schritt berücksichtigt, die ein von Null verschiedenes Gewicht haben.
  • Dabei ist es vorteilhaft, die von Null verschiedenen Cluster in einer Liste, einem Array oder einer ähnlichen Datenstruktur gespeichert werden, die es erlaubt, nur die von Null verschiedenen Elemente zu speichern.
  • II. Zweites Beispiel in einem EM Lernverfahren
  • a) Nicht-Berücksichtigung von Cluster mit Null-Zuordnungen für einen Datenpunkt
  • Insbesondere wird hier in einem EM-Lernverfahren von einem Schritt des Lernverfahrens zum nächsten Schritt für jeden Datenpunkt gespeichert, welche Cluster durch Auftreten von Nullen in den Tafeln noch erlaubt sind und welche nicht mehr.
  • Wo im ersten Beispiel Cluster, die durch Multiplikation mit Null ein a posteriori Gewicht Null erhalten, aus allen weiteren Berechnungen ausgeschlossen werden, um dadurch numerischen Aufwand zu sparen, werden in gemäß diesem Beispiel auch von einem EM-Schritt zum nächsten Zwischenergebnisse bezüglich Cluster-Zugehörigkeiten einzelner Datenpunkte (welche Cluster bereits ausgeschlossen bzw. noch zulässig sind) in zusätzlich notwendigen Datenstrukturen gespeichert.
  • b) Speichern einer Liste mit Referenzen auf relevante Cluster
  • Für jeden Datenpunkt oder für jede eingegebene stochastische Variable kann zunächst eine Liste oder eine ähnliche Datenstruktur gespeichert werden, die Referenzen auf die relevanten Cluster enthalten, die für diesen Datenpunkt ein von Null verschiedenes Gewicht bekommen haben.
  • Insgesamt werden in diesem Beispiel nur noch die erlaubten Cluster, allerdings für jeden Datenpunkt in einem Datensatz, gespeichert.
  • Die beiden obigen Beispiele können miteinander kombiniert werden, was den Abbruch bei „Null"-Gewichten im Inferenzschritt ermöglicht, wobei in folgenden EM-Schritten nur noch die zulässigen Cluster nach dem zweiten Beispiel berücksichtigt werden.
  • Eine zweite Variante des EM-Lernverfahrens wird im Folgenden näher erläutert. Es ist darauf hinzuweisen, dass dieses Verfahren unabhängig von der Verwendung des auf diese Weise gebildeten statistischen Modells ist.
  • Bezugnehmend auf das oben beschriebene EM-Lernverfahren lässt sich zeigen, dass das Ergänzen fehlender Information nicht für alle Größen erfolgen muss. Erfindungsgemäß wurde erkannt, dass ein Teil der fehlenden Information „ignoriert" werden kann. Anders ausgedrückt bedeutet dies, dass nicht versucht wird, etwas über eine Zufallsvariable Y zu lernen aus Daten, in denen keine Information über die Zufallsvariable Y (einem Knoten Y) enthalten ist oder dass nicht versucht wird, etwas über die Zusammenhänge zwischen zwei Zufallsvariablen Y und X (zwei Knoten Y und X) aus Daten, in denen keine Information über die Zufallsvariablen Y und X enthalten ist.
  • Damit wird nicht nur der numerische Aufwand zur Durchführung des EM-Lernverfahrens wesentlich reduziert, sondern es wird ferner erreicht, dass das EM-Lernverfahren schneller konvergiert. Ein zusätzlicher Vorteil ist darin zu sehen, dass statistische Modelle mittels dieser Vorgehensweise leichter dynamisch aufbauen lassen, d.h. während des Lernprozesses können leichter Variablen (Knoten) in einem Netz, dem gerichteten Graphen, ergänzt werden.
  • Als anschauliches Beispiel für das erfindungsgemäße Verfahren wird angenommen, dass ein statistisches Modell Variablen enthält, die beschreiben, welche Bewertung ein Kinobesucher einem Film gegeben hat. Für jeden Film gibt es eine Variable, wobei jeder Variable eine Mehrzahl von Zuständen zugeordnet ist, wobei jeder Zustand jeweils einen Bewertungswert repräsentiert. Für jeden Kunden gibt es einen Datensatz, in dem gespeichert ist, welcher Film welchen Bewertungswert erhalten hat. Wird ein neuer Film angeboten, so fehlen anfangs die Bewertungswerte für diesen Film. Mittels der neuen Variante des EM-Lernverfahrens ergibt sich nunmehr die Möglichkeit, das EM-Lernverfahren bis zu dem Erscheinen des neuen Films nur mit den bis dorthin bekannten Filmen durchzuführen, d.h. den neuen Film (d.h. allgemein den neuen Knoten in dem gerichteten Graphen) zunächst zu ignorieren. Erst mit Erscheinen des neuen Films wird das statistische Modell um eine neue Variab le (einen neuen Knoten) dynamisch ergänzt und die Bewertungen des neuen Films werden berücksichtigt. Die Konvergenz des Verfahrens im Sinne der log Likelihood ist dabei noch immer gewährleistet; das Verfahren konvergiert sogar schneller.
  • Im Folgenden wird erläutert, unter welchen Bedingungen fehlende Informationen nicht berücksichtigt werden müssen.
  • Zur Erläuterung der Vorgehensweise wird folgende Notation verwendet. Mit H wird ein versteckter Knoten bezeichnet. Mit O= {O1, 02, ..., OM} wird ein Satz von M beobachtbaren Knoten in dem gerichteten Graphen des statistischen Modells bezeichnet.
  • Es wird ohne Einschränkung der Allgemeingültigkeit im Folgenden ein Bayesianisches Wahrscheinlichkeitsmodell angenommen, welches gemäß folgender Vorschrift faktorisiert werden kann:
    Figure 00330001
  • Es ist in diesem Zusammenhang anzumerken, dass die beschriebene Vorgehensweise auf jedes statistische Modell anwendbar ist, und nicht auf ein Bayesianisches Wahrscheinlichkeitsmodell beschränkt ist, wie später noch im Detail dargelegt wird.
  • Mit Großbuchstaben werden im Weiteren Zufallsvariablen bezeichnet, wohingegen mit einem Kleinbuchstaben eine Instanz einer jeweiligen Zufallsvariable bezeichnet wird.
  • Es wird ein Datensatz mit N Datensatzelementen {o i, i = 1, ..., N} angenommen, wobei für jedes Datensatzelement nur ein Teil der beobachtbaren Knoten tatsächlich beobachtet wird. Für das i-te Datensatzelement wird angenommen, dass die Knoten X i beobachtet wird und dass die Beobachtungswerte der Knoten Y i fehlen.
  • Es gilt also: X iY i = O i. (4)
  • Es ist zu bemerken, dass für jedes Datensatzelement ein unterschiedlicher Satz von Knoten X i beobachtet werden kann, d.h. dass gilt: X i X j für i ≠ j. (5)
  • Die Indizes für vorhandene Knoten werden mit k bezeichnet, d.h. X i = {X k / i, k = 1, ..., Ki}, die Indizes, für nicht vorhandene Knoten werden mit λ bezeichnet, d.h. Y i = {Y λ / i, λ = 1, ..., Li}.
  • Im Falle eines Bayesianischen Netzes weist das übliche EM-Lernverfahren die folgenden Schritten auf, wie oben schon kurz dargestellt:
  • 1) E-Schritt
  • sDas Verfahren wird mit „leeren" Tabellen SS(H) und SS(Oπ, H) i = 1, ..., M (initialisiert mit „Nullen" gestartet, um darauf basierend die Schätzungen (Sufficient Statistics-Werte) zu akkumulieren. Für jedes Datensatzelement o i werden die a posteriori Verteilung P(H|x i) für den versteckten Knoten H sowie die a posteriori Verbund-Verteilung P(H, Y π / i|x i) für jeden der nicht vorhandenen Knoten Y i zusammen mit dem versteckten Knoten H berechnet.
  • Für jedes Datensatzelement i werden die Schätzungen für das statistische Modell akkumuliert gemäß folgenden Vorschriften:
    Figure 00340001
    SS(Xki = xki , H) + = P(H|x i), ∀ vorhandenen Knoten Xki , (7) SS(Yλi , H) + = P(H, Yλi |x i) ∀ nicht vorhandenen Knoten Yλi . (8)
  • Mit dem Symbol += wird die Aktualisierung, d.h. die Akkumulation der Tabellen für die Schätzungen gemäß den Werten der jeweiligen „rechten Seite" der Gleichung bezeichnet.
  • 2) M-Schritt
  • In dem M-Schritt werden die Parameter für alle Knoten gemäß folgenden Vorschriften aktualisiert: P(H) ∝ SS(H), (9) P(Oπ|H) ∝ SS(Oπ, H), (10)wobei mit dem Symbol ∝ angegeben wird, dass die Wahrscheinlichkeits-Tabellen beim Übertragen von SS auf P zu normieren sind.
  • Gemäß dem EM-Lernverfahren werden die Erwartungswerte für die nicht vorhandenen Knoten Y i berechnet und entsprechend den. Sufficient Statistics-Werten für diese Knoten gemäß Vorschrift (7) aktualisiert.
  • Andererseits ist das Berechnen und Aktualisieren der Verbund-Verteilung P(H, Y λ / i|x i) für alle Knoten Y λ / i ∊ Y λ / i sehr rechenaufwendig. Ferner ist das Aktualisieren der Verbund-Verteilung P(H, Y λ / i|x i) ein Grund für das langsame Konvergieren des EM-Lernverfahrens, wenn ein großer Teil an Information fehlt.
  • Angenommen, die Tabellen werden mit Zufallszahlen initialisiert, bevor das EM-Lernverfahren gestartet wird.
  • In diesem Fall entspricht die Verbund-Verteilung P(H, Y λ / i|x i) im Wesentlichen diesen Zufallszahlen im ersten Schritt. Dies bedeutet, dass die initialen Zufallszahlen in den Sufficient Statistics-Werten berücksichtigt werden gemäß dem Verhältnis der fehlenden Information bezogen auf die vorhandenen Information. Dies bedeutet, dass die initialen Zufallszahlen in jeder Tabelle nur gemäß dem Verhältnis der fehlenden Information bezogen auf die vorhandenen Information „gelöscht" werden.
  • Im Folgenden wird bewiesen, dass für den Fall eines Bayesianischen Netzes als statistisches Modell der Schritt gemäß Vorschrift (7) nicht notwendig ist und somit weggelassen bzw. übersprungen werden kann.
  • Die Log-Likelihood des Bayesianischen Netzes als statistisches Modell ist gegeben durch:
    Figure 00360001
  • Für frei vorgegebene Tabellen B(H|X i), welche hinsichtlich dem Knoten H normiert sind, ergibt sich für die Log-Likelihood:
    Figure 00360002
  • Die Summe
    Figure 00370001
    bezeichnet die Summe über alle Zustände h des Knotens H.
  • Unter Verwendung der folgenden Definitionen für R[P, B] und H[P, B]:
    Figure 00370002
    Figure 00370003
    ergibt sich für die Log-Likelihood gemäß Vorschrift (12): L[P] = R[P, B] – H[P, B]. (15)
  • Allgemein gilt: H[P, B] ≤ H[P, P], (16)da H[P, P] – H[P, B] die nicht-negative Kreuzentropie zwischen P(h|x i) und B(h|x i) darstellt.
  • In dem t-ten Schritt wird das aktuelle statistische Modell mit P(t) bezeichnet. Ausgehend von dem aktuellen statistischen Modell P(t) des t-ten Schrittes wird ein neues statistisches Modell P(t+1) konstruiert derart, dass gilt: R⌊P(t+1), P(t)⌋ >, R⌊P(t), P(t)⌋. (17)
  • Es gilt:
    Figure 00380001
  • Die erste Zeile gilt allgemein für alle B (vergleiche Vorschrift (15)). Die zweite Zeile der Vorschrift (18) insbesondere für den Fall, dass gilt: B = P(t). (19)
  • Die dritte Zeile gilt aufgrund Vorschrift (16). Die letzte Zeile von Vorschrift (18) entspricht wiederum Vorschrift (15).
  • Somit ergibt sich, dass für den Fall R⌊P(t+1), P(t)⌋ > R⌊P(t), P(t)⌋ sicher gilt: L⌊P(t+1)⌋ > L⌊P(t)⌋. (20)
  • Es ist auf den Unterschied zu dem Standard-EM-Lernverfahren hinzuweisen [2], bei dem der R-Term definiert ist gemäß folgender Vorschrift:
    Figure 00380002
  • Es ist anzumerken, dass in dem Argument von P und B in der obigen Vorschrift (21) im Unterschied zu der Definition entsprechend den Vorschriften (13) und (14) auch die fehlenden Größen y auftreten.
  • Eine Sequenz von EM-Iterationen wird gebildet derart, dass gilt: RS tan dard⌊P(t+1), P(t)⌋ > RS tan dard⌊P(t), P(t). (22)
  • Bei dem erfindungsgemäßen Lernverfahren wird für den Fall eines Bayesianischen Netzes eine Sequenz von EM-Iterationen derart gebildet, dass gilt: R⌊P(t+1), P(t)⌋ > R⌊P(t), P(t). (23)
  • Nun wird gezeigt, dass die auf R, definiert gemäß Vorschrift (13), zu dem oben beschriebenen Lernverfahren führt, bei dem Vorschrift (8) übersprungen wird. Bei einem gegebenen aktuellen statistischen Modell P(t) zu einer Iteration t ist es das Ziel des Verfahrens, ein neues statistisches Modell P(t+1) in der Iteration t+1 zu berechnen, indem R⌊P, P(t)⌋ bezüglich P optimiert wird. Unter Verwendung der Faktorisierung gemäß Vorschrift (3) ergibt sich:
    Figure 00390001
  • Eine Optimierung von R in Bezug auf das Modell P führt zu dem erfindungsgemäßen Verfahren. Der erste Term führt zu der Standard-Aktualisierung der P(H) gemäß den Vorschriften (6) und (8).
  • Mit
    Figure 00390002
    ergibt sich der erste Term von Vorschrift (24) zu
    Figure 00400001
    was im Wesentlichen der Kreuzentropie zwischen SS(H) und P(H) entspricht. Somit ist das optimale P(H) durch SS(H) gegeben. Dies entspricht dem M-Schritt gemäß Vorschrift (9).
  • Der zweite Term von Vorschrift (24) führt zu einer EM-Aktualisierung für die Tabellen der bedingten Wahrscheinlichkeiten P(Oπ|H), wie mittels der Vorschriften (7) und (10) beschrieben. Um dies zu veranschaulichen werden alle die Terme in R gesammelt, welche abhängig sind von P(Oπ|H). Diese Terme sind gegeben gemäß folgender Vorschrift:
    Figure 00400002
  • Die Summe
    Figure 00400003
    bezeichnet die Summe über alle Datenelemente i in dem Datensatz, wobei 0 einer der beobachteten Knoten ist, d.h. bei dem gilt: Oπx i. (28)
  • Zusammenfassend kann der obige Ausdruck (26) als die Kreuzentropie zwischen P(OπH) und den Sufficient Statistics-Werten, welche gemäß Vorschrift (7) akkumuliert werden, interpretiert werden. Es ist somit nicht erforderlich, eine Aktualisierung gemäß Vorschrift (8) vorzusehen. Dies ist auf die Summe
    Figure 00400004
    in Vorschrift (27) bzw. auf die Summe
    Figure 00410001
    in Vorschrift (25) zurückzuführen. Diese Summe berücksichtigt nur die beo-bachteten Knoten, im Gegensatz zu der Definition von RStand dard gemäß Vorschrift (23), in der auch die nicht beobachteten Knoten Y i berücksichtigt werden.
  • Im Folgenden wird in einem allgemeingültigeren Fall die Gültigkeit der Vorgehensweise, nicht beobachtete Knoten im Rahmen der Aktualisierung der Sufficient Statistics Tafeln nicht zu berücksichtigen, dargelegt, womit gezeigt wird, dass die Vorgehensweise nicht auf ein so genanntes Bayesianisches Netz beschränkt ist.
  • Es wird ein Satz von Variablen Z = {Z1, Z2, ..., ZM} angenommen. Es wird ferner angenommen, dass das statistische Modell auf folgende Weise faktorisierbar ist:
    Figure 00410002
    wobei mit ∏ ⌊Zσ⌋ die „Eltern"-Knoten des Knoten Zσ in dem Bayesianischen Netz bezeichnet werden. Ferner wird für jeden Knoten Z ein Datensatz {z i, i = 1, ..., N} mit N Datensatzelementen angenommen. Wie schon oben angenommen, wird auch in diesem Fall in jedem der N Datensatzelemente ein nur ein Teil der Knoten Z beobachtet. Für das i-te Datensatzelement wird angenommen, dass die Knoten X i beobachtet werden; die Knoten X -i werden nicht beobachtet und es gilt: Z = X i ∪ Xi. (30)
  • Für jedes der N Datensatzelemente werden die nicht beobachteten Knoten X -i in zwei Untermengen H i und Y i aufgeteilt derart, dass keiner der Knoten in den Mengen X i und H i ein ab hängiger, d.h. nachfolgender Knoten („Kinder"-Knoten) eines Knotens in der Menge Y i ist. Anschaulich bedeutet das, dass Y i einem Zweig in einem Bayesianischen Netz entspricht, zu dem es keine Informationen in den Daten gibt.
  • Somit ergeben sich die Verbund-Verteilungen für die Knoten X i und Hi gemäß folgender Vorschrift:
    Figure 00420001
  • 1) E-Schritt
  • Für jeden Knoten Z werden mit Null-Werten initialisierte Tabellen SS(Z, ∏ [Z]) gebildet bzw. bereitgestellt. Für jedes Datensatzelement i in dem Datensatz werden die a posteriori Verteilung P(Z, ∏ [Z] X i = x i) berechnet und die Sufficient Statistics-Werte gemäß folgender Vorschrift akkumuliert für jeden Knoten Z ∊ X i und Z ∊ H i SS(Z, ∏ |Z) + = P(Z, ∏ [Z]|X i = xi). (32)
  • Die Sufficient Statistics-Werte der Tabellen, welche den Knoten in X -i zugeordnet sind, werden nicht aktualisiert.
  • 2) M-Schritt
  • Die Parameter (Tabellen) aller Knoten werden gemäß folgender Vorschrift aktualisiert: P(Zσ|∏[Zσ]) ∝ SS(Zσ,∏ [Zσ]). (33)
  • Anschaulich kann die Erfindung darin gesehen werden, dass ein breiter und einfacher (im Allgemeinen jedoch allerdings approximativer) Zugang zu der Statistik einer Datenbank (bevor zugt über das Internet) durch Bildung statistischer Modelle für die Inhalte der Datenbank geschaffen wird. Zusätzlich zu den Modellen können Teile der Daten mit den Modellen in komprimierter Form gespeichert werden, um einen genaueren Zugang zu Details der Statistik der Inhalte der Datenbank zu erhalten. Somit werden die statistischen Modelle zur „Remote Diagnose", zur so genannten „Remote Assistance" oder zum „Remote Research" über ein Kommunikationsnetz automatisch versendet. Anders ausgedrückt wird „Wissen" in Form eines statistischen Modells kommuniziert und versendet. Wissen ist häufig Wissen über die Zusammenhänge und wechselseitigen Abhängigkeiten in einer Domäne, beispielsweise über die Abhängigkeiten in einem Prozess. Ein statistisches Modell einer Domäne, welches aus den Daten der Datenbank gebildet wird, ist ein Abbild all dieser Zusammenhänge. Technisch stellen die Modelle eine gemeinsame Wahrscheinlichkeitsverteilung der Dimensionen der Datenbank dar, sind also nicht auf eine spezielle Aufgabenstellung eingeschränkt, sondern stellen beliebige Abhängigkeiten zwischen den Dimensionen dar. Komprimiert zu dem statistischen Modell lässt sich das Wissen über eine Domäne sehr einfach handhaben, versenden, beliebigen Nutzern bereitstellen, etc.
  • Die Auflösung des Abbildes bzw. des statistischen Modells kann entsprechend den Anforderungen des Datenschutzes oder den Bedürfnissen der Partner gewählt werden.
  • In diesem Dokumenten sind folgende Veröffentlichungen zitiert:
    • [1] Radford M. Neal und Geoffrey E. Hinton, A View of the EM Algorithm that Justifies Incremental, Sparse and Other Variants, M.I. Jordan (Editor), Learning in Graphical Models, Kulwer, 1998, Seiten 355 – 371
    • [2] D. Heckermann, Bayesian Networks for Data Mining, Data Mining and Knowledge Discovery, Seiten 79 – 119, 1997
    • [3] Reimar Hofmann, Lernen der Struktur nichtlinearer Abhängigkeiten mit graphischen Modellen, Dissertation an der Technischen Universität München, Verlag: dissertation.de, ISBN:3-89825-131-4

Claims (12)

  1. Datenbank-Abfragesystem mit • mindestens einer ersten Einrichtung, welche eine Datenbank gespeichert hat, wobei die Datenbank eine Vielzahl von Daten enthält, • mindestens einer zweiten Einrichtung, welche ein komprimiertes Abbild zumindest eines Teils der Inhalte der Datenbank gespeichert hat, • einer mit der ersten Einrichtung und mit der zweiten Einrichtung gekoppelten Abfrageeinheit, welche derart eingerichtet ist, dass sie eine Abfrage der Inhalte des komprimierten Abbildes und eine Abfrage der Inhalte der Datenbank durchführen kann.
  2. Datenbank-Abfragesystem gemäß Anspruch 1, bei dem als das komprimierte Abbild ein statistisches Abbild in der zweiten Einrichtung gespeichert ist.
  3. Datenbank-Abfragesystem gemäß Anspruch 2, bei dem als das statistische Abbild ein statistisches Modell in der zweiten Einrichtung gespeichert ist.
  4. Datenbank-Abfragesystem gemäß Anspruch 2 oder 3, bei dem zusätzlich zumindest ein Teil der in der Datenbank gespeicherten Daten in komprimierter Form in der zweiten Einrichtung gespeichert ist.
  5. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 4, mit mindestens einem mit der Abfrageeinheit gekoppelten Client-Computer, welcher derart eingerichtet ist, dass von ihm Datenbank-Anfragen oder Datenbank-Abfragen erzeugt werden.
  6. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 5, bei dem die Abfrageeinheit zur Kommunikation gemäß Open Database Connectivity oder Java Database Connectivity eingerichtet ist.
  7. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 6, bei dem die Abfrageeinheit zur Verarbeitung von Datenbank-Abfragen gemäß Standard Query Language oder entsprechend bekannten OLAP-Schnittstellen (ODBO) eingerichtet ist.
  8. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 7, mit einer Mehrzahl von Datenbanken, welche mit der Abfrageeinheit gekoppelt sind.
  9. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 8, bei dem die Datenbank eine Mehrzahl von Datenbanksegmenten aufweist, und bei dem für jedes Datenbanksegment ein komprimiertes Abbild vorgesehen ist.
  10. Datenbank-Abfragesystem gemäß einem der Ansprüche 5 bis 9, bei dem die zweite Einrichtung in dem Client-Computer realisiert sind.
  11. Datenbank-Abfragesystem gemäß einem der Ansprüche 1 bis 9, bei dem die erste Einrichtung und die zweite Einrichtung gemeinsam in einem Computer realisiert sind.
  12. Verfahren zum rechnergestützten Abfragen einer Datenbank, welche eine Vielzahl von Daten enthält, • bei dem eine Datenbank-Abfrage gebildet wird, • bei dem das komprimierte Abbild der Datenbank gemäß der Datenbank-Abfrage abgefragt wird, • bei dem abhängig von dem Ergebnis der Abfrage des komprimierten Abbildes überprüft wird, ob das Ergebnis ausreicht, • bei dem für den Fall, dass das Ergebnis nicht ausreicht, die Datenbank gemäß der Datenbank-Abfrage oder gemäß einer anderen Datenbank-Abfrage abgefragt wird, und • bei dem das Ergebnis der Abfrage des komprimierten Abbildes und/oder das Ergebnis der Abfrage der Datenbank bereitgestellt wird.
DE10320419A 2003-05-07 2003-05-07 Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank Ceased DE10320419A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10320419A DE10320419A1 (de) 2003-05-07 2003-05-07 Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank
US10/555,887 US20070168329A1 (en) 2003-05-07 2003-12-17 Database query system using a statistical model of the database for an approximate query response
PCT/DE2003/004175 WO2004100017A1 (de) 2003-05-07 2003-12-17 Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung
EP03785583A EP1620807A1 (de) 2003-05-07 2003-12-17 Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10320419A DE10320419A1 (de) 2003-05-07 2003-05-07 Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank

Publications (2)

Publication Number Publication Date
DE10320419A1 DE10320419A1 (de) 2004-12-09
DE10320419A9 true DE10320419A9 (de) 2005-04-14

Family

ID=33426695

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10320419A Ceased DE10320419A1 (de) 2003-05-07 2003-05-07 Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank

Country Status (4)

Country Link
US (1) US20070168329A1 (de)
EP (1) EP1620807A1 (de)
DE (1) DE10320419A1 (de)
WO (1) WO2004100017A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016545A1 (en) * 2005-07-14 2007-01-18 International Business Machines Corporation Detection of missing content in a searchable repository
US7849025B2 (en) * 2008-01-21 2010-12-07 Microsoft Corporation Modification of relational models
US8930344B2 (en) * 2011-02-04 2015-01-06 Hewlett-Packard Development Company, L.P. Systems and methods for holding a query
US20130117257A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Query result estimation
US20130144812A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Probabilistic model approximation for statistical relational learning
US10685062B2 (en) * 2012-12-31 2020-06-16 Microsoft Technology Licensing, Llc Relational database management
US10063445B1 (en) * 2014-06-20 2018-08-28 Amazon Technologies, Inc. Detecting misconfiguration during software deployment
US11216437B2 (en) * 2017-08-14 2022-01-04 Sisense Ltd. System and method for representing query elements in an artificial neural network
WO2019035862A1 (en) * 2017-08-14 2019-02-21 Sisense Ltd. SYSTEM AND METHOD FOR INCREASING THE PRECISION OF APPROXIMATION OF INTERROGATION RESULTS USING NEURAL NETWORKS
US11256985B2 (en) 2017-08-14 2022-02-22 Sisense Ltd. System and method for generating training sets for neural networks
CN116089501B (zh) * 2023-02-24 2023-08-22 萨科(深圳)科技有限公司 一种数字化共享平台订单数据统计查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0877325A1 (de) * 1997-05-08 1998-11-11 AT&T Corp. Komprimierte Datenbankdarstellung, die ad hoc Abfrage ermöglicht
WO2000065479A1 (en) * 1999-04-22 2000-11-02 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US6263334B1 (en) * 1998-11-11 2001-07-17 Microsoft Corporation Density-based indexing method for efficient execution of high dimensional nearest-neighbor queries on large databases
US6643648B1 (en) * 1999-06-30 2003-11-04 Raf Technology, Inc. Secure, limited-access database system and method
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6611834B1 (en) * 2000-01-12 2003-08-26 International Business Machines Corporation Customization of information retrieval through user-supplied code
US20020103793A1 (en) * 2000-08-02 2002-08-01 Daphne Koller Method and apparatus for learning probabilistic relational models having attribute and link uncertainty and for performing selectivity estimation using probabilistic relational models
US6795825B2 (en) * 2000-09-12 2004-09-21 Naphtali David Rishe Database querying system and method
US7149649B2 (en) * 2001-06-08 2006-12-12 Panoratio Database Images Gmbh Statistical models for improving the performance of database operations
US7113936B1 (en) * 2001-12-06 2006-09-26 Emc Corporation Optimizer improved statistics collection
US7266541B2 (en) * 2002-04-12 2007-09-04 International Business Machines Corporation Adaptive edge processing of application data
US7110997B1 (en) * 2003-05-15 2006-09-19 Oracle International Corporation Enhanced ad-hoc query aggregation
US7089266B2 (en) * 2003-06-02 2006-08-08 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for the query and visualization of multidimensional databases

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0877325A1 (de) * 1997-05-08 1998-11-11 AT&T Corp. Komprimierte Datenbankdarstellung, die ad hoc Abfrage ermöglicht
WO2000065479A1 (en) * 1999-04-22 2000-11-02 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein

Also Published As

Publication number Publication date
EP1620807A1 (de) 2006-02-01
WO2004100017A1 (de) 2004-11-18
DE10320419A1 (de) 2004-12-09
US20070168329A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
DE69938339T2 (de) Ein skalierbares system zum gruppieren von grossen datenbänken
DE69910466T2 (de) Verfahren zum Verfeinern von Deskriptoren
EP1783633B1 (de) Suchmaschine für eine ortsbezogene Suche
EP1831804A1 (de) Relationale komprimierte datenbank-abbilder (zur beschleunigten abfrage von datenbanken)
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE102006047499A1 (de) Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen
CH704497B1 (de) Verfahren zum Benachrichtigen, Speichermedium mit Prozessoranweisungen für ein solches Verfahren.
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE60030735T2 (de) Voraussage der realisierbarkeit eines verbindungsweges
DE60032258T2 (de) Bestimmen ob eine variable numerisch oder nicht numerisch ist
DE10320419A9 (de) Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank
DE112020000554T5 (de) Verfahren zum zugreifen auf datensätze eines stammdatenverwaltungssystems
DE60300984T2 (de) Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
DE102017122489A1 (de) Knoten in einem gerichteten azyklischen Graphen
WO2004044772A2 (de) Verfahren und computer-anordnung zum bereitstellen von datenbankinformation einer ersten datenbank und verfahren zum rechnergestützten bilden eines statistischen abbildes einer datenbank
DE19914326A1 (de) Verfahren zur Nutzung von fraktalen semantischen Netzen für alle Arten von Datenbank-Anwendungen
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
WO2021104608A1 (de) Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage
EP3672200A1 (de) Verfahren zur zusammenarbeit von mehreren geräten eines lokalen netzwerks
DE112021005210T5 (de) Indexieren von Metadaten zum Verwalten von Informationen
EP1264253A1 (de) Verfahren und anordnung zur modellierung eines systems
DE102015008607B4 (de) Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken
DE102021203300A1 (de) Computerimplementiertes Verfahren für Schlüsselwortsuche in einem Wissensgraphen
DE10014757B4 (de) Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing
EP2423830A1 (de) Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection