DE102014116117B4 - Verfahren und System zum Mining von Mustern in einem Datensatz - Google Patents

Verfahren und System zum Mining von Mustern in einem Datensatz Download PDF

Info

Publication number
DE102014116117B4
DE102014116117B4 DE102014116117.3A DE102014116117A DE102014116117B4 DE 102014116117 B4 DE102014116117 B4 DE 102014116117B4 DE 102014116117 A DE102014116117 A DE 102014116117A DE 102014116117 B4 DE102014116117 B4 DE 102014116117B4
Authority
DE
Germany
Prior art keywords
pattern
patterns
marker
marking
counters
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.)
Active
Application number
DE102014116117.3A
Other languages
English (en)
Other versions
DE102014116117A1 (de
Inventor
Michael Wurst
Aris Gkoulalas-Divanis
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014116117A1 publication Critical patent/DE102014116117A1/de
Application granted granted Critical
Publication of DE102014116117B4 publication Critical patent/DE102014116117B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • 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/2465Query processing support for facilitating data mining operations in structured databases
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Durch Computer realisiertes Verfahren zum Zugreifen auf Daten in einem Datenbanksystem (100), wobei das Datenbanksystem (100) ein Empfangsmodul (129), ein Mustermodul (131) und ein Analysemodul (133) aufweist, wobei das Verfahren aufweist:- Empfangen einer ersten Abfrage von einem ersten Benutzer nach einem in dem Datenbanksystem (100) gespeicherten Datensatz mithilfe des Empfangsmoduls (129);- als Reaktion auf die empfangene erste Abfrage, Bereitstellen einer ersten Menge von Mustern (Muster_1 bis Muster_n) in der Datenbank mithilfe des Mustermoduls (131), mit entsprechenden ersten Signifikanzwerten;- Bereitstellen, mithilfe des Mustermoduls (131), einer Menge von Markierungen (Markierung_1 bis Markierung_3) zum Markieren eines ersten Musters aus der ersten Menge von Mustern (Muster_1 bis Muster_n), wobei die Menge von Markierungen (Markierung_1 bis Markierung_3) mindestens zwei das Muster beschreibende Datenkategorien anzeigt;- Empfangen eingegebener Informationen von dem ersten Benutzer mithilfe des Empfangsmoduls (129), die Markierungen von mindestens einer ersten Teilmenge von Mustern (Muster_1 bis Muster_m) der ersten Menge von Mustern (Muster_1 bis Muster_n) anzeigen, wobei die Markierungen aus der Menge von Markierungen (Markierung_1 bis Markierung_3) ausgewählt sind;- Anpassen der ersten Signifikanzwerte der ersten Teilmenge von Mustern (Muster_1 bis Muster_m) auf Grundlage der Markierungen mithilfe des Analysemoduls (133);- Empfangen einer zweiten Abfrage nach dem Datensatz in dem Datenbanksystem (100) von einem zweiten Benutzer;- Bereitstellen einer zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene zweite Abfrage;- Empfangen von eingegebenen Informationen von dem zweiten Benutzer, die Markierungen mindestens einer zweiten Teilmenge (Muster_m - 9 bis Muster_m + 6) von Mustern aus der zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) anzeigen;- Ermitteln einer Anzahl identischer Muster (Muster_m - 5 bis Muster_m), die mit derselben Markierung markiert sind, in der ersten (Muster_1 bis Muster_m) und zweiten (Muster_m - 9 bis Muster_m + 6) Teilmenge;- als Reaktion auf eine Feststellung, dass die Anzahl identischer Muster höher als ein vorgegebener Ähnlichkeits-Schwellenwert ist, Zuweisen, zu jedem Muster aus den identischen Mustern (Muster_m - 5 bis Muster_m) und zu sowohl dem ersten als auch dem zweiten Benutzer, einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen (Markierung_1 bis Markierung_3) entsprechen, wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten und zweiten Benutzer zugewiesen werden; und- Anpassen der Signifikanzwerte der identischen Muster (Muster_m - 5 bis Muster_m) mithilfe der gemeinsamen Markierungszähler.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft allgemein Datenverarbeitungssysteme und insbesondere ein Verfahren zum Mining von Mustern in einem Datensatz.
  • Hintergrund
  • Ein Erkennen relevanter Datenmuster in Datensätzen, z.B. hochdimensionalen Datensätzen, stellt häufig eine Herausforderung dar. Insbesondere ist ein Auffinden von Mustern, die andere übersehen, ein wichtiger Wettbewerbsvorteil für Unternehmen, die Analysen großer Datenmengen (big data analytics) benötigen.
  • R. Agrawal und R. Srikant, Fast Algorithms for Mining Association Rules in Large Databases. In: Proc. of the 20th International Conference on Very Large Data Bases (VLDB '94), S. 487 bis 499, 1994, wird ein Verfahren zum Ermitteln der statistischen Signifikanz von Datenmustern in einer Datenbank offenbart.
  • In der US 2013 / 0 144 813 A1 ist ein kombinierter Computer/Mensch-Ansatz unter Verwendung von automatisierter Computeranalyse zur Identifizierung von Mustern offenbart, um verwertbare Erkenntnisse in großen Datensätzen zu erkennen. Die identifizierten Muster werden Menschen zur Rückmeldung vorgelegt, wobei die Menschen in den statistischen Methoden, die zur Erkennung von verwertbaren Ergebnissen verwendet werden, wenig bis gar nicht geschult sind. Die Rückmeldung der Menschen wird dazu verwendet, die Mustererkennung zu verbessern und die Erkennung von verwertbaren Ergebnissen zu erleichtern.
  • Kurzdarstellung der Erfindung
  • Es ist eine Aufgabe von Ausführungsformen der Erfindung, ein verbessertes Verfahren, ein Computersystem und ein Computerprogrammprodukt bereitzustellen.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden in den abhängigen Ansprüchen beschrieben.
  • Der Begriff „Datenmuster“ oder „Muster“ wird hier so verwendet, dass er eine beliebige Art von Beziehung, Form, Schablone, Modell oder eine Menge von Regeln bezeichnet, die zum Beschreiben von Korrelationen verwendet werden kann, durch die einzelne Elemente des Datensatzes verbunden sind.
  • Bei einem Aspekt ein durch Computer realisiertes Verfahren zum Zugreifen auf Daten in einem Datenbanksystem, wobei das Datenbanksystem ein Empfangsmodul, ein Mustermodul und ein Analysemodul aufweist. Das Verfahren weist auf:
    • - Empfangen einer ersten Abfrage von einem ersten Benutzer nach einem in dem Datenbanksystem gespeicherten Datensatz mithilfe des Empfangsmoduls;
    • - als Reaktion auf die empfangene erste Abfrage, Bereitstellen einer ersten Menge von Mustern in dem Datensatz mithilfe des Mustermoduls, mit entsprechenden ersten Signifikanzwerten;
    • - Bereitstellen, mithilfe des Mustermoduls, einer Menge von Markierungen zum Markieren eines ersten Musters aus der ersten Menge von Mustern, wobei die Menge von Mustern mindestens zwei das Muster beschreibende Datenkategorien anzeigt;
    • - Empfangen eingegebener Informationen von dem ersten Benutzer mithilfe des Empfangsmoduls, die Markierungen von mindestens einer ersten Teilmenge von Mustern aus der ersten Menge von Mustern anzeigen, wobei die Markierungen aus der Menge von Markierungen ausgewählt sind;
    • - Anpassen der ersten Signifikanzwerte der ersten Teilmenge von Mustern auf Grundlage der Markierungen mithilfe des Analysemoduls;
    • - Empfangen einer zweiten Abfrage nach dem Datensatz in dem Datenbanksystem von einem zweiten Benutzer;
    • - Bereitstellen einer zweiten Menge von Mustern mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene zweite Abfrage;
    • - Empfangen von eingegebenen Informationen von dem zweiten Benutzer, die Markierungen mindestens einer zweiten Teilmenge von Mustern aus der zweiten Menge von Mustern anzeigen;
    • - Ermitteln einer Anzahl identischer Muster, die mit derselben Markierung markiert sind, in der ersten und zweiten Teilmenge;
    • - als Reaktion auf eine Feststellung, dass die Anzahl identischer Muster höher als ein vorgegebener Ähnlichkeits-Schwellenwert ist, Zuweisen, zu jedem Muster aus den identischen Mustern und zu sowohl dem ersten als auch dem zweiten Benutzer, einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen entsprechen, wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten und zweiten Benutzer zugewiesen werden; und
    • - Anpassen der Signifikanzwerte der identischen Muster mithilfe der gemeinsamen Markierungszähler..
  • Bei zukünftigen Abfragen können Muster gemäß den angepassten Signifikanzwerten neu eingestuft werden.
  • Die Menge von Mustern kann alle Muster aufweisen, die die erste Abfrage des ersten Benutzers erfüllen. Alternativ kann die Menge von Mustern Muster mit Signifikanzwerten aufweisen, die höher als ein Signifikanz-Schwellenwert sind.
  • Die Signifikanzwerte können beispielsweise mithilfe des Apriori-Algorithmus (oder eines beliebigen geeigneten Algorithmus) bereitgestellt/berechnet werden, der ein Modell zum Mining von Assoziationsregeln aus Datenbanken ist.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Empfangen der ersten Abfrage nach dem Datensatz von einem weiteren Benutzer auf; ein Einstufen von Mustern, die die erste Abfrage erfüllen, mithilfe der aktualisierten/angepassten Signifikanzwerte und ein Bereitstellen einer weiteren Menge von Mustern als Reaktion auf die empfangene erste Abfrage, wobei die weitere Menge von Mustern Muster mit Signifikanzwerten aufweist, die höher als der Signifikanz-Schwellenwert sind.
  • Gemäß einer Ausführungsform weisen die mindestens zwei Datenkategorien eine Datenkategorie „Rauschen“, eine Datenkategorie „Trivial“ und eine Datenkategorie „Gültig“ auf. Das heißt, bei einem Muster kann es sich um ein Rausch-, ein gültiges oder ein triviales Muster handeln.
  • Ein Rauschmuster kann von einem zufälligen Prozess herrühren, der in Verbindung mit einem systematischen Prozess ohne Bedeutung auftritt. Rauschmuster können durch Hardwareausfälle, Programmierfehler, Rechtschreibfehler oder Abkürzungen verursacht werden. Zum Beispiel können Maße einer CPU-Nutzung falsch sein, wenn ein Problem mit der Software vorliegt. Zu den Rauschmustern können auch Muster zählen, die mit fehlerhaften Daten in Zusammenhang stehen, oder jedes Muster, das nicht von einem Programm gelesen oder verwendet werden kann.
  • Ein Muster ist trivial, wenn es einem Anwender in einem Fachgebiet bekannt sein kann. Beispielsweise ist das Muster, nach dem auf einen „Fehler aufgrund abnormaler Speicherbedingungen“ immer ein „Spitzenwert der CPU-Auslastung“ folgt, in dem Fachgebiet der Datenverarbeitung bekannt. Ein derartiges Muster kann daher als trivial markiert werden. Bei einem anderen Beispiel kann die Häufigkeit des Erscheinens eines Musters verwendet werden, um zu ermitteln, ob dieses Muster trivial ist. Wenn zum Beispiel ein Muster nach einem langen Zeitraum, z.B. 1 Jahr, in dem Computersystem erscheint, und die Häufigkeit seines Erscheinens bei den Abfragen des ersten Benutzers höher als eine vorgegebene Schwelle ist, z.B. einmal pro Tag, kann es automatisch oder von dem ersten Benutzer als trivial klassifiziert werden.
  • Ein gültiges Muster ist ein Muster, bei dem es sich weder um ein Rausch- noch um ein triviales Muster handelt, und das für Analysen Gültigkeit besitzt.
  • Die erste Teilmenge von Mustern kann mindestens einen Teil der Menge von Mustern aufweisen.
  • Diese Merkmale können vorteilhaft sein, da durch sie ein genaues Verfahren zum Auswerten von Mustern in einer Datenbank bereitgestellt werden kann, das zum Ausführen einer zuverlässigen Einstufung der Muster für eine zukünftige Verwendung verwendet werden kann. Dadurch kann ermöglicht werden, dass gültige, aber statistisch insignifikante Muster, die leicht hätten übersehen werden können, in dem System begünstigt werden, während hochgradig signifikante, aber triviale Muster, die am Anfang einer Ergebnisliste erscheinen würden, heruntergestuft werden. Eine zuverlässige Einstufung von Mustern sicherzustellen, kann den Vorteil bieten, dass möglicherweise Ressourcen eingespart werden, die andernfalls benötigt würden, wenn mehrere Abfrageversuche ausgeführt werden, um die richtigen (eingestuften) Muster zu erhalten, die möglicherweise die Benutzerbedürfnisse befriedigen.
  • Ein weiterer Vorteil kann darin bestehen, dass diese Merkmale möglicherweise die Kapazität des Datenbanksystems erhöhen, indem mehr Benutzer bedient werden. Möglicherweise werden mit dem vorliegenden Verfahren mehr Benutzer bedient, da eine Benutzeranforderung schnell erfüllt werden kann, z.B. nach dem ersten oder zweiten Anforderungsversuch. Dies steht im Gegensatz zu dem herkömmlichen Verfahren, bei dem ein Benutzer möglicherweise mehrere Versuche unternehmen muss, um seine Bedürfnisse zu befriedigen, und daher möglicherweise das Datenbanksystem länger beschäftigt als bei Verwendung des vorliegenden Verfahrens. Somit kann dies auch dazu beitragen, zusätzliche Dienste bereitzustellen, durch die eine mangelhafte Dienstgüte (quality of service, QoS) überwunden werden kann, die sich aufgrund einer nicht optimalen Auswertung und damit einem nicht optimalen Einstufen von Mustern ergeben kann.
  • Ein weiterer Vorteil kann darin liegen, dass das vorliegende Verfahren sich nahtlos in die vorhandenen Systeme integrieren lässt, da es mit einem geringen Software- und/oder Hardwareaufwand realisiert werden kann.
  • Die Verfahrensschritte dieser Ausführungsform können in unterschiedlichen Zeitintervallen wiederholt werden, z.B. kann der erste Benutzer die erste Abfrage einmal pro Tag senden.
  • Sobald der erste und zweite Benutzer sich in der Weise ähneln, dass sie in Bezug auf die Anzahl markierter Muster übereinstimmen, die höher als der vorgegebene Ähnlichkeits-Schwellenwert ist, können die gemeinsamen/gemeinschaftlichen Markierungszähler der beiden Benutzer verwendet werden.
  • Der Vorteil kann darin bestehen, dass sie es Analytikern ermöglichen kann, dieselben Werkzeuge zu verwenden, die sie benutzen (es besteht keine Notwendigkeit einer ausdrücklichen Zusammenarbeit zwischen ihnen), aber mithilfe der Rückmeldung von einem größeren Benutzerstamm Ergebnisse herauf- oder herunterstufen zu lassen.
  • Gemäß einer Ausführungsform wird ein erstes Muster aus der ersten Teilmenge von Mustern mit einer ersten Markierung aus der Menge von Markierungen markiert, wobei das Anpassen des ersten Signifikanzwerts des ersten Musters aufweist:
    • - Zuweisen einer Menge von Markierungszählern, die jeweils der Menge von Markierungen entsprechen, zu dem ersten Muster und dem ersten Benutzer;
    • - Initialisieren der Werte der Menge von Markierungszählern;
    • - Inkrementieren des Markierungszählers aus der Menge von Markierungszählern, der der ersten Markierung entspricht;
    • - Verwenden der Menge von Markierungszählern einschließlich des inkrementierten Markierungszählers, um den Signifikanzwert des ersten Musters anzupassen.
  • Die Menge von Markierungszählern wird nur einmal initialisiert. Zum Beispiel werden, wenn die erste Abfrage von einem zweiten Benutzer gesendet wird, die Verfahrensschritte mit Ausnahme des Initialisierungsschritts wiederholt. Bei einem weiteren Beispiel werden, wenn die erste Abfrage von dem ersten Benutzer ein weiteres Mal gesendet wird, die Verfahrensschritte mit Ausnahme des Zuweisungs- und des Initialisierungsschritts wiederholt.
  • In Abhängigkeit von der dem ersten Muster und dem ersten Benutzer zugewiesenen Markierung (und dem zugehörigen Zähler), kann der Signifikanzwert des ersten Musters erhöht oder verringert werden.
  • Zum Beispiel kann das erste Muster von dem ersten Benutzer mithilfe einer zweiten Markierung aus der Menge von Markierungen in einem weiteren Zeitintervall markiert werden (die Relevanz eines Musters kann z.B. zeitabhängig sein; es ist heute relevant, aber nicht nächstes Jahr), und von da an wird der Markierungszähler aus der Menge von Markierungszählern inkrementiert, der der zweiten Markierung entspricht. In diesem Fall kann der Signifikanzwert des ersten Musters in Abhängigkeit von der ersten und zweiten Markierung (und den zugehörigen Zählern), die dem ersten Muster und dem ersten Benutzer zugewiesen wurden, erhöht oder verringert werden.
  • Wenn die Menge von Markierungen zum Beispiel zwei Datenkategorie-Markierungen aufweist, z.B. eine Datenkategorie Rauschen und eine Datenkategorie Nichtrauschen: Wenn es sich bei der ersten Markierung um eine Datenkategorie Rauschen handelt, kann der Signifikanzwert des ersten Musters verringert werden, zum Beispiel um 10 % bis 90 % (wenn z.B. das erste Muster von dem ersten Benutzer zweimal mit der ersten Markierung markiert wird, kann der zugehörige Zähler zweimal erhöht werden, und anschließend kann der Signifikanzwert des ersten Musters um beispielsweise 20 % verringert werden, während, wenn das erste Muster von dem ersten Benutzer fünfmal mit der ersten Markierung markiert wird, der Signifikanzwert des ersten Musters um beispielsweise 60 % verringert werden kann). Während, wenn es sich bei der ersten Markierung um eine Markierung der Datenkategorie Nichtrauschen handelt, der Signifikanzwert des ersten Musters um beispielsweise 5 % bis 100 % erhöht werden kann. In dem Fall, dass das erste Muster mit der ersten Markierung und mit der zweiten Markierung markiert ist, kann eine Kombination der zugehörigen Zähler verwendet werden, um den Signifikanzwert des ersten Musters anzupassen. In dem Fall, dass das erste Muster 2-mal mit der ersten Markierung und 20-mal mit der zweiten Markierung markiert wird, kann der Signifikanzwert des ersten Musters erhöht werden, da der der Nichtrauschen-Markierung zugehörige Markierungszähler viel höher ist als der Rauschen-Markierung zugehörige Markierungszähler.
  • Diese Ausführungsform kann vorteilhaft sein, da durch sie ein zuverlässiges Verfahren zum Anpassen von Signifikanzwerten und somit zum Bereitstellen einer optimalen Einstufung von Mustern auf Grundlage der angepassten Signifikanzwerte bereitgestellt werden kann.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Verwenden einer gewichteten Summe der Menge von Markierungszählern zum Anpassen des Signifikanzwerts des ersten Musters auf.
  • Gemäß einer Ausführungsform weisen die mindestens zwei Kategorien Muster der Kategorien Rauschen, Trivial und Gültig auf, wobei das Anpassen des Signifikanzwerts (s(r)) mithilfe der Formel ausgeführt wird:
    • s'(r,u) = s(r) - w*(r(p,u)-0,5), wobei r(p,u) = (nn(p,u) + nt(p,u))/(nv(p,u) + nn(p,u) + nt(p,u)), wobei nv(p,u), nn(p,u), nt(p,u) die Markierungszähler sind, die jeweils den Kategorien Gültig, Rauschen und Trivial entsprechen, wobei w ein vorgegebener Gewichtungswert ist.
  • Beispielsweise kann der vorgegebene Gewichtungswert w verwendet werden, um das Anpassen des Signifikanzwerts ein- und auszuschalten, z.B. bedeutet w = 0, dass das Anpassen ausgeschaltet ist.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem auf
    • Empfangen einer dritten Abfrage nach dem Datensatz in dem Datenbanksystem von einem dritten Benutzer;
    • Bereitstellen einer dritten Menge von Mustern mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene dritte Abfrage;
    • Empfangen eingegebener Informationen von dem dritten Benutzer, die Markierungen mindestens einer dritten Teilmenge von Mustern aus der dritten Menge von Mustern anzeigen;
    • Ermitteln einer zweiten Anzahl identischer Muster, die mit derselben Markierung markiert sind, in der ersten, zweiten und dritten Teilmenge;
    • als Reaktion auf eine Feststellung, dass die zweite Anzahl identischer Muster höher als der vorgegebene Ähnlichkeits-Schwellenwert ist, Zuweisen einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen entsprechen, zu jedem Muster der identischen Muster und zu dem ersten, zweiten und dritten Benutzer; wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten, zweiten und dritten Benutzer zugewiesen werden;
    • Anpassen der Signifikanzwerte der zweiten Anzahl identischer Muster mithilfe der gemeinsamen Markierungszähler.
  • Bei einem weiteren Beispiel kann eine Clusteranalyse verwendet werden, um zwei oder mehr Benutzer auf eine solche Weise zu gruppieren, dass die Benutzer in derselben Gruppe ähnlich sind. Bei der Clusteranalyse kann es sich zum Beispiel um ein Clustering auf Grundlage des Zentroid-Verfahrens oder ein beliebiges geeignetes Clustering-Verfahren handeln. Im Fall eines Clusterings auf Grundlage des Zentroid-Verfahrens kann ein Cluster durch einen zentralen Vektor dargestellt werden. Der zentrale Vektor kann beispielsweise mithilfe identischer Muster in der ersten und zweiten Teilmenge von Mustern definiert werden. Der zentrale Vektor kann zum Beispiel mindestens zum Teil die identischen Muster und zugehörigen Markierungen aufweisen. Um zu prüfen, ob der dritte Benutzer möglicherweise auch zu diesem aus den zwei ähnlichen Benutzern, dem ersten und zweiten Benutzer, gebildeten Cluster gehört, kann ein Vektor der dritten Teilmenge von Mustern erstellt werden. Dieser Vektor weist die dritte Teilmenge von Mustern und zugehörigen Markierungen auf. Mithilfe des Clusterings auf Grundlage des Centroid-Verfahrens kann der Vektor dann mit dem zentralen Vektor verglichen werden, um zu ermitteln, ob der dritte Benutzer zu dem Cluster gehören kann.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Ermitteln identischer Muster in der ersten Teilmenge von Mustern und nichtmarkierten Mustern aus der zweiten Menge von Mustern auf; Zuweisen der Markierung jedes Musters aus der ersten Teilmenge zu seinem identischen nichtmarkierten Muster aus der zweiten Menge von Mustern.
  • Da der erste und zweite Benutzer ähnlich sind, kann ein gemeinschaftliches Markieren von Mustern verwendet werden. Dadurch kann ein zweifaches Markieren desselben Musters durch ähnliche Benutzer vermieden werden, und auf diese Weise können weitere Ressourcen eingespart werden.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Empfangen der ersten Abfrage nach dem Datensatz von dem ersten oder dem zweiten Benutzer auf; Bereitstellen einer aktualisierten Menge von Mustern mit entsprechenden aktualisierten Signifikanzwerten. Mindestens ein Teil der aktualisierten Menge von Mustern (z.B. die erste Teilmenge von Mustern) weist Muster auf, deren Signifikanzwerte angepasst wurden. Die Muster, die zu der aktualisierten Menge von Mustern gehören, können auf Grundlage ihrer Einstufung, d.h. ihres Signifikanzwerts, ausgewählt werden, der mit dem Signifikanz-Schwellenwert verglichen wird.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem eine Feststellung auf, dass ein erstes Muster aus der ersten Teilmenge von Mustern ein übergeordnetes Muster eines nichtmarkierten zweiten Musters aus der ersten Menge von Mustern ist; ein Markieren des zweiten Musters mithilfe der Markierung des ersten Musters; ein Anpassen des Signifikanzwerts des zweiten Musters auf Grundlage der Markierung des ersten Musters. Dadurch kann ein Markieren der Teilmuster vermieden werden, und auf diese Weise können Ressourcen eingespart werden.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Einstufen der ersten Menge von Mustern mithilfe der entsprechenden Signifikanzwerte einschließlich der angepassten Signifikanzwerte auf; Speichern des Datensatzes auf Grundlage der eingestuften Muster.
  • Gemäß einer Ausführungsform weist das Verfahren außerdem ein Speichern von Daten entsprechend den am höchsten eingestuften Mustern in einer Datenbank im Speicher auf. Dadurch kann der Zugriff auf die Daten in dem Datenbanksystem erleichtert werden.
  • Beispielsweise können die den am niedrigsten eingestuften Mustern entsprechenden Daten archiviert werden, da sie möglicherweise von dem ersten Benutzer nicht häufig verwendet werden.
  • Bei einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt mit durch Computer ausführbaren Anweisungen zum Ausführen der Verfahrensschritte des Verfahrens nach einer der vorangehenden Ausführungsformen.
  • Bei einem weiteren Aspekt betrifft die Erfindung ein Datenbanksystem, das aufweist:
    • - ein Empfangsmodul zum Empfangen einer ersten Abfrage von einem ersten Benutzer nach einem in dem Datenbanksystem gespeicherten Datensatz;
    • - ein Mustermodul zum Bereitstellen einer ersten Menge von Mustern in dem Datensatz, und Bereitstellen eines Signifikanzwerts für jedes Muster in der ersten Menge von Mustern als Reaktion auf die empfangene erste Abfrage, und zum Bereitstellen einer Menge von Markierungen zum Markieren eines Musters aus der ersten Menge von Mustern, wobei die Menge von Mustern mindestens zwei Datenkategorien anzeigt, die das Muster beschreiben, wobei das Empfangsmodul dafür geeignet ist, von dem ersten Benutzer eingegebene Informationen zu empfangen, die Markierungen von mindestens einer ersten Teilmenge von Mustern aus der ersten Menge von Mustern anzeigen, wobei jede Markierung aus den Markierungen aus der Menge von Markierungen ausgewählt wird;
    • - ein Analysemodul zum Anpassen der Signifikanzwerte der ersten Teilmenge von Mustern auf Grundlage der Markierungen.
  • Der Begriff „computerlesbares Speichermedium“ umfasst hier jedes physische Speichermedium, auf dem Anweisungen gespeichert werden können, die durch einen Prozessor einer Datenverarbeitungseinheit ausführbar sind. Das computerlesbare Speichermedium kann als ein computerlesbares nichtflüchtiges Speichermedium bezeichnet werden. Das computerlesbare Speichermedium kann auch als ein physisches computerlesbares Medium bezeichnet werden. Bei einigen Ausführungsformen kann ein computerlesbares Speichermedium auch in der Lage sein, Daten zu speichern, auf die der Prozessor der Datenverarbeitungseinheit zugreifen kann. Beispiele für computerlesbare Speichermedien sind unter anderem, aber ohne darauf beschränkt zu sein: eine Diskette, ein magnetisches Festplattenlaufwerk, eine Halbleiterfestplatte, Flashspeicher, ein USB-Thumb-Drive, Direktzugriffsspeicher (random access memory, RAM), Nur-Lese-Speicher (read only memory, ROM), eine optische Platte, eine magneto-optische Platte sowie die Registerdatei des Prozessors. Zu Beispielen für optische Platten zählen Compact Disks (CD) und Digital Versatile Disks (DVD), zum Beispiel CD-ROM, CD-RW, CD-R, DVD-ROM, DVD-RW oder DVD-R. Der Begriff computerlesbares Speichermedium bezieht sich auch auf verschiedene Arten von Aufzeichnungsmedien, auf die die Datenverarbeitungseinheit über eine Netzwerk- oder Datenübertragungsverbindung zugreifen kann. Beispielsweise können Daten über einen Modem, über das Internet oder über ein lokales Netzwerk abgerufen werden. Auf einem computerlesbaren Medium enthaltener durch Computer ausführbarer Code kann mithilfe jedes geeigneten Mediums übermittelt werden, einschließlich, ohne darauf beschränkt zu sein, ein drahtloses oder drahtgebundenes Medium, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination von diesen.
  • Ein computerlesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem durch Computer ausführbaren Code sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige Kombination aus diesen. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm für eine Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.
  • „Computerarbeitsspeicher“ (computer memory) oder „Arbeitsspeicher“ (memory) ist ein Beispiel für ein computerlesbares Speichermedium. Bei Computerarbeitsspeicher handelt es sich um jeden Speicher, auf den ein Prozessor direkt zugreifen kann. „Computermassenspeicher“ oder „Massenspeicher“ ist ein weiteres Beispiel für ein computerlesbares Speichermedium. Computermassenspeicher ist jedes nichtflüchtige computerlesbare Speichermedium. Bei einigen Ausführungsformen kann Computermassenspeicher auch Computerarbeitsspeicher sein oder umgekehrt.
  • Der Begriff „Prozessor“ bezieht sich hier auf eine elektronische Komponente, die in der Lage ist, ein Programm oder eine durch Maschinen ausführbare Anweisung oder durch Computer ausführbaren Code auszuführen. Verweise darauf, dass die Datenverarbeitungseinheit „einen Prozessor“ aufweist, sollten so ausgelegt werden, dass diese möglicherweise mehr als einen Prozessor oder Prozessorkern enthält. Bei dem Prozessor kann es sich beispielsweise um einen Mehrkernprozessor handeln. Ein „Prozessor“ kann sich auch auf eine Gruppe von Prozessoren in einem einzigen Computersystem oder über mehrere Computersysteme verteilt beziehen. Der Begriff Datenverarbeitungseinheit sollte auch so ausgelegt werden, dass er sich möglicherweise auf eine Gruppe oder ein Netzwerk von Datenverarbeitungseinheiten bezieht, die jeweils einen Prozessor oder Prozessoren aufweisen. Der durch Computer ausführbare Code kann von mehreren Prozessoren ausgeführt werden, die sich in derselben Datenverarbeitungseinheit befinden können oder die sogar über mehrere Datenverarbeitungseinheiten verteilt sein können.
  • Durch Computer ausführbarer Code kann durch Maschinen ausführbare Anweisungen oder ein Programm aufweisen, das einen Prozessor dazu veranlasst, einen Aspekt der vorliegenden Erfindung auszuführen. Durch Computer ausführbarer Code zum Ausführen von Operationen von Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen, und kann zu durch Maschinen ausführbare Anweisungen kompiliert sein. In einigen Fällen kann der durch Computer ausführbare Code in der Form einer Hochsprache oder in einer vorkompilierten Form vorliegen und in Verbindung mit einem Interpreter verwendet werden, der die durch Maschinen ausführbaren Anweisungen während der Verarbeitung (on the fly) erzeugt.
  • Der durch Computer ausführbare Code kann vollständig oder teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk, darunter ein lokales Netzwerk (local area network, LAN) oder ein Weitverkehrsnetz (wide area network, WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet).
  • Aspekte der vorliegenden Erfindung werden mit Bezug auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block oder ein Abschnitt der Blöcke des Ablaufplans, der Darstellungen und/oder Blockschaltbilder gegebenenfalls durch Computerprogrammanweisungen in Form von durch Computer ausführbaren Code realisiert werden können. Es versteht sich weiter, dass, wenn sie sich nicht gegenseitig ausschließen, Kombinationen von Blöcken in unterschiedlichen Ablaufplänen, Darstellungen und/oder Blockschaltbildern kombiniert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebene Funktion/Handlung realisiert wird.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Betriebsschritten zu bewirken, um einen durch Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Handlungen bereitstellen.
  • Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als eine Vorrichtung, ein Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer reinen Hardwareausführungsform, einer reinen Softwareausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, bei der Software- und Hardwareaspekte kombiniert werden, die hier alle allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in der Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit in dem Medium enthaltenem durch Computer ausführbaren Programmcode verkörpert ist.
  • Es versteht sich, dass eine oder mehrere der vorstehend erwähnten Ausführungsformen unter der Voraussetzung kombiniert werden können, dass die kombinierten Ausführungsformen einander nicht gegenseitig ausschließen.
  • Figurenliste
  • Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Beispielen detaillierter beschrieben, wobei nur auf die Zeichnungen Bezug genommen wird, in denen:
    • 1 ein System zur Datenmustererkennung veranschaulicht;
    • 2 ein Ablaufplan eines Verfahrens zum Zugreifen auf Daten in dem Datenbanksystem ist;
    • 3 ein Ablaufplan eines beispielhaften Verfahrens zum Anpassen des Signifikanzwerts eines Musters ist und
    • 4 ein Ablaufplan eines weiteren beispielhaften Verfahrens zum Anpassen der Signifikanzwerte von Mustern ist.
  • Ausführliche Beschreibung
  • Im Folgenden bezeichnen gleich nummerierte Elemente in den Figuren entweder ähnliche Elemente oder bezeichnen Elemente, die eine gleichwertige Funktion ausführen. Zuvor erörterte Elemente werden nicht notwendigerweise bei späteren Figuren erörtert, wenn die Funktion gleichwertig ist.
  • 1 zeigt ein beispielhaftes System 100 zur Datenmustererkennung. Beispielsweise kann das System 100 Teil eines zEnterprise-Systems von IBM® mit einem IBM DB2-Datenbanksystem sein.
  • Durch das System 100 werden ein Computersystem 101 und ein oder mehrere Clientsysteme 102 bereitgestellt. Das Computersystem 101 und das Clientsystem 102 können entfernt voneinander angeordnet sein und über ein Netzwerk Daten austauschen. Das Netzwerk kann mithilfe einer beliebigen Anzahl beliebiger geeigneter Datenübertragungsmedien (z.B. Weitverkehrsnetz (WAN), lokales Netz (LAN), Internet, Intranet usw.) realisiert werden. Alternativ können das Computersystem 101 und das Clientsystem 102 in demselben lokalen Bereich angeordnet sein und über ein geeignetes lokales Datenübertragungsmedium (z.B. ein lokales Netzwerk (LAN), eine kabelgebundene oder drahtlose Verbindung, Intranet usw.) Daten austauschen.
  • Zu den Komponenten des Computersystems 101 können, aber ohne darauf beschränkt zu sein, ein(e) oder mehrere Prozessoren oder Verarbeitungseinheiten 103, ein Massenspeichersystem 111, ein Arbeitsspeichersystem 105 sowie ein Bus 107 zählen, der verschiedene Systemkomponenten, darunter das Arbeitsspeichersystem 105, mit dem Prozessor 103 verbindet. Zu dem Arbeitsspeichersystem 105 können durch ein Computersystem lesbare Medien in der Form flüchtigen Speichers, wie beispielsweise Speicher mit wahlfreiem Zugriff (RAM) und/oder Cachespeicher zählen.
  • Zu dem Computersystem 101 zählen üblicherweise verschiedene durch ein Computersystem lesbare Medien. Bei solchen Medien kann es sich um beliebige verfügbare Medien handeln, auf die das Computersystem 101 zugreifen kann, und zu ihnen zählen sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Das Computersystem 101 kann mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN), und/oder einem öffentlichen Netzwerk (z.B. dem Internet) über einen Netzwerkadapter 109 Daten austauschen. Wie gezeigt, tauscht der Netzwerkadapter 109 mit den anderen Komponenten des Computersystems 101 über den Bus 107 Daten aus. Das Computersystem 101 kann mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten austauschen. Ein solcher Datenaustausch kann über (eine) E/A-Schnittstelle(n) 135 erfolgen.
  • Das Computersystem 101 kann als ein Datenbankmanagement-Serversystem dienen. Das Computersystem 101 kann ein Datenbankmanagementsystem wie beispielsweise SQL- und/oder DB2-Datenbankmanagementsysteme enthalten und realisieren, und verwaltet Informationen in einem Datenbanksystem 125. Das Datenbanksystem 125 kann mithilfe jeder herkömmlichen oder anderen Datenbank oder Speichereinheit realisiert werden, kann in Bezug auf das Computersystem 101 lokal oder entfernt angeordnet sein, und kann über jedes geeignete Datenübertragungsmedium (z.B. lokales Netzwerk (LAN), Weitverkehrsnetz (WAN), Internet, kabelgebundene oder drahtlose Verbindung, Intranet usw.) Daten austauschen.
  • Das Datenbanksystem 125 ist dafür geeignet, Daten zu speichern und einen Datenanforderungszugriff auf das Datenbanksystem 125 zu handhaben. Das Datenbanksystem 125 kann eine interne Ressource des Computersystems 101 oder eine externe und/oder eine unabhängige Ressource des Computersystems 101 sein.
  • Das Clientsystem 102 enthält mindestens einen Prozessor 116, einen oder zwei Arbeitsspeicher 117. Das Clientsystem 102 kann auch mit einer oder mehreren externen Einheiten wie beispielsweise einer Tastatur, einer Zeigeeinheit, einem Bildschirm 113 usw. Daten austauschen; mit einer oder mehreren Einheiten, die einen Benutzer in die Lage versetzen, mit dem Clientsystem 102 zu interagieren, und/oder beliebigen Einheiten (z.B. einer Netzwerkkarte, einem Modem usw.), die das Clientsystem 102 in die Lage versetzen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein solcher Datenaustausch kann über (eine) E/A-Schnittstelle(n) 115 erfolgen.
  • Das Clientsystem 102 kann eine grafische Benutzerschnittstelle (z.B. eine graphical user interface, GUI usw.) oder eine andere Art Schnittstelle (z.B. Eingabeaufforderungen, Menübildschirme, Anwendungen, Programmierschnittstellen usw.) darstellen oder nutzen, um Anforderungen von Daten betreffende Informationen zu ermitteln, und kann verschiedene Informationen enthaltende Berichte oder Bildschirme bereitstellen. Das Clientsystem 102 enthält eine oder mehrere Clientanwendungen 137, die Verarbeitung unterschiedlicher Art ausführen, und kann Anforderungen von Daten an das Computersystem 101 bereitstellen.
  • Das Arbeitsspeichersystem 105 ist so konfiguriert, dass es Anwendungen speichert, die auf dem Prozessor 103 ausführbar sind. Beispielsweise kann das Arbeitsspeichersystem 105 ein Betriebssystem und auch Anwendungsprogramme aufweisen. Das Arbeitsspeichersystem 105 weist zum Beispiel ein Empfangsmodul 129, ein Mustermodul 131 und ein Analysemodul 133 auf.
  • Das Empfangsmodul kann Datenanforderungen von in dem Datenbanksystem 125 gespeicherten Daten von einem Benutzer des Clientsystems 102 empfangen. Das Mustermodul 131 kann die Muster in den von dem Benutzer angeforderten Daten definieren und an das Clientsystem 102 eine Liste oder Tabelle 139 mit Mustern und ihren entsprechenden Signifikanzwerten senden. Das Analysemodul 133 ermöglicht ein Berechnen der Signifikanzwerte wie auch der Einstufung der Muster. Bei einem Muster kann es sich um eine beliebige Art von Beziehung, der eine statistische Signifikanz zugewiesen werden kann, in einer Menge von Variablen handeln. Bei einer Einkaufskorbanalyse würde es sich um eine Beziehung zwischen Variablen handeln, die bezeichnet, ob ein gegebenes Produkt gekauft wurde, und aufzeigt, dass, wenn Produkt A gekauft wurde, möglicherweise auch Produkt B gekauft wird. Im technischen Bereich könnte dies so aussehen, dass, wenn ein Fehler des Typs X auftritt und kurz danach ein Fehler des Typs Y, wahrscheinlich ein Fehler des Typs Z folgt.
  • Der Betrieb des Systems 100 wird detailliert mit Bezug auf 2 bis 4 beschrieben.
  • 2 ist ein Ablaufplan eines Verfahrens zum Zugreifen auf Daten in dem Datenbanksystem 125. Bei Schritt 201 empfängt das Empfangsmodul 129 von einem ersten Benutzer, z.B. über das Clientsystem 102, eine erste Abfrage nach einem in dem Datenbanksystem 125 gespeicherten Datensatz. Die erste Abfrage kann beispielsweise die ersten Benutzervorgaben anzeigen und kann Schlüsselwörter, Sätze, Beispielelemente oder Teile von Elementen wie zum Beispiel Bilder, eMails, SMS-Nachrichten oder andere Elementen aufweisen. Bei der ersten Abfrage kann es sich beispielsweise um eine Structured-Query-Language-Abfrage (SQL-Abfrage) oder eine Multidimensional-Expressions-Abfrage (MDX-Abfrage) handeln, oder sie kann alternativ irgendeinem anderen geeigneten Format oder irgendeiner anderen geeigneten Sprache entsprechen. Die erste Abfrage kann von dem ersten Benutzer als Eingabe in das Clientsystem 102 eingegeben werden, z.B. mithilfe der Tastatur. Die erste Abfrage kann von dem Clientsystem 102 an das Computersystem 101 gesendet werden.
  • Als Reaktion auf ein Empfangen der ersten Abfrage kann das Mustermodul 131 bei Schritt 203 eine erste Menge von Mustern zurückgeben. Jedem Muster in der Menge von Mustern ist ein Signifikanzwert zugehörig.
  • Der Begriff „Signifikanz“ oder „statistische Signifikanz“ bezieht sich hier auf ein Wahrscheinlichkeitsmaß, in welchem Ausmaß die Daten ein bestimmtes Ergebnis (für gewöhnlich das eines statistischen Tests) unterstützen.
  • Ein Signifikanzwert für ein Muster kann zum Beispiel mithilfe des Listenmaßes ermittelt werden. Zum Beispiel R. Agrawal und R. Srikant, Fast Algorithms for Mining Association Rules in Large Databases. In: Proc. of the 20th International Conference on Very Large Data Bases (VLDB '94), S. 487 bis 499, 1994, wird angegeben, wie viel häufiger eine Kombination von Literalen im Vergleich zu der erwarteten Häufigkeit auftritt, ausgehend von der Annahme, dass die Literalen statistisch unabhängig waren. Um die Erhöhung zu berechnen, muss die Auftretenshäufigkeit aller Literalen und auch ihrer Konjunktion in einer Datenbank gezählt werden. Dies kann beispielsweise mithilfe des APRIORI-Algorithmus erfolgen.
  • Bei Schritt 205 kann das Mustermodul 131 eine Menge von Markierungen Markierung_1 bis Markierung_3 zum Markieren eines Musters aus der Menge von Mustern Muster_1 bis Muster_n bereit oder zur Verfügung stellen.
  • Dies kann zum Beispiel durch Anzeigen der Menge von Markierungen Markierung_1 bis Markierung_3 auf dem Bildschirm 113 des Clientsystems 102 erfolgen. Alternativ oder zusätzlich kann die Menge von Markierungen Markierung_1 bis Markierung_3 an eine Clientanwendung 135 des Clientsystems 102 gesendet werden.
  • Das System kann historische Daten von Mustern und zugehörigen Markierungen bereitstellen, sodass sie zum Ermitteln der Markierung verwendet werden können, mit der ein Muster markiert werden kann. Das Ermitteln einer einem gegebenen Muster zuzuweisenden Markierung kann mithilfe der historischen Daten vorgenommen werden, die einem Muster zugehörig sind, das dem gegebenen Muster ähnlich ist oder zu diesem in Beziehung steht.
  • Die Menge von Markierungen Markierung_1 bis Markierung_3 zeigt mindestens zwei das Muster beschreibende Datenkategorien an. Zu den mindestens zwei Datenkategorien zählen eine Datenkategorie Rauschen und eine Datenkategorie Nichtrauschen. Die Datenkategorie Nichtrauschen kann ein gültiges und ein triviales Datenmuster aufweisen.
  • Ein Muster ist trivial, wenn es einem Anwender in einem Fachgebiet bekannt sein kann. Beispielsweise ist das Muster, nach dem auf einen „Fehler aufgrund abnormaler Speicherbedingungen“ immer ein „Spitzenwert der CPU-Auslastung“ folgt, in dem Fachgebiet der Datenverarbeitung bekannt. Ein derartiges Muster kann daher als Trivial markiert werden. Bei einem anderen Beispiel kann die Häufigkeit des Erscheinens eines Musters verwendet werden, um zu ermitteln, ob dieses Muster trivial ist. Wenn zum Beispiel ein Muster nach einem langen Zeitraum, z.B. 1 Jahr, in dem Computersystem erscheint, und die Häufigkeit seines Erscheinens bei den Abfragen des ersten Benutzers höher als eine vorgegebene Schwelle ist, z.B. einmal pro Tag, kann es automatisch oder von dem ersten Benutzer als Trivial klassifiziert werden.
  • Ein Rauschmuster kann von einem zufälligen Prozess herrühren, der in Verbindung mit einem systematischen Prozess ohne Bedeutung auftritt. Rauschmuster können durch Hardwareausfälle oder Programmierfehler verursacht werden. Zum Beispiel können Maße einer CPU-Nutzung falsch sein, wenn ein Problem mit der Software vorliegt. Zu den Rauschmustern können auch Muster zählen, die mit fehlerhaften Daten in Zusammenhang stehen, oder jedes Muster, das nicht von einem Programm gelesen oder verwendet werden kann.
  • Zum Beispiel kann ein Datenmuster mithilfe von aus historischen Daten (z.B. den Protokollen) abgeleiteten Informationen erkannt werden.
  • Ein gültiges Muster ist ein Muster, bei dem es sich weder um ein Rausch- noch um ein triviales Muster handelt.
  • Bei Schritt 207 empfängt das Empfangsmodul 129 eingegebene Informationen, die Markierungen von mindestens einer ersten Teilmenge von Mustern Muster_1 bis Muster_m aus der ersten Menge von Mustern Muster_1 bis Muster_n (m <= n) anzeigen. Jede Markierung aus den Markierungen wird aus der Menge von Markierungen Markierung_1 bis Markierung_3 ausgewählt. Die eingegebenen Informationen können von dem ersten Benutzer empfangen werden, der die Markierungen ausgewählt und sie der ersten Teilmenge von Mustern Muster_1 bis Muster_m zugewiesen hat. Alternativ können die Markierungen automatisch der ersten Teilmenge von Mustern Muster_1 bis Muster_m zugewiesen werden, zum Beispiel mithilfe von in dem Clientsystem 102 gespeicherten historischen Daten, die einen Hinweis auf die Datenkategorie der Teilmenge von Mustern Muster_1 bis Muster_m geben können. In diesem Fall können die eingegebenen Informationen von dem Clientsystem 102 empfangen werden, z.B. von der Clientanwendung 137.
  • Bei Schritt 209 passt das Analysemodul 131 die Signifikanzwerte Sig_1 bis Sig_m der ersten Teilmenge von Mustern Muster_1 bis Muster_m auf Grundlage der Markierungen Markierung_1 bis Markierung_3 an, die jedem Muster aus der ersten Teilmenge von Mustern zugewiesen sind. Mit Bezug auf 3 wird ein Verfahren zum Anpassen der Signifikanzwerte beschrieben.
  • 3 ist ein Ablaufplan eines Verfahrens zum Anpassen des Signifikanzwerts s(p1) eines ersten Musters p1 aus der ersten Teilmenge von Mustern Muster_1 bis Muster_m auf Grundlage ihrer jeweiligen Markierungen Markierung_1 bis Markierung_3. Das Muster p1 ist mit einer ersten Markierung markiert, z.B. Markierung_1 aus der Menge von Markierungen Markierung_1 bis Markierung_3.
  • Der Einfachheit der Beschreibung halber wird nur ein Muster verwendet, um die Berechnung des Signifikanzwerts zu beschreiben; allerdings werden Fachleute problemlos verstehen, dass das vorliegende Verfahren gleichermaßen auf jedes Muster aus der ersten Teilmenge von Mustern Muster_1 bis Muster_m angewendet werden kann und für alle Muster aus der ersten Teilmenge von Mustern Muster_1 bis Muster_m verallgemeinert werden kann.
  • Bei Schritt 301 wird eine Menge von Markierungszählern nv(p1,u1), nt(p1,u1), nn(p1,u1), die jeweils der Menge von Markierungen Markierung_1 bis Markierung_3 entsprechen (z.B. weisen Markierung_1, Markierung_2 und Markierung_3 entsprechend die Kategorien Gültig, Trivial und Rauschen auf), dem ersten Muster p1 und dem ersten Benutzer u1 zugewiesen.
  • Bei Schritt 303 werden die Werte der Menge von Markierungszählern nv(p1,u1), nt(p1,u1), nn(p1,u1) initialisiert, z.B. auf Null oder irgendeine andere Zahl. Beispielsweise können Markierungszähler mit unterschiedlichen Werten initialisiert werden, zum Beispiel um eine Kategorie stärker zu gewichten als eine andere.
  • Bei Schritt 305 wird der Markierungszähler nv(p1, u1) aus der Menge von Markierungszählern nv(p1,u1), nt(p1,u1), nn(p1,u1), der der ersten Markierung Markierung_1 entspricht, inkrementiert, zum Beispiel um eins oder eine beliebige andere Zahl. Da das erste Muster p1 durch die Markierung_1 markiert ist, bei der es sich um eine Markierung der Kategorie Gültig handelt, wird der entsprechende Zähler der Markierung der Kategorie Gültig inkrementiert. Dies kann zum Beispiel Werte nv(p1,u1) = 1, nt(p1,u1) = 0, nn(p1,u1) = 0 zur Folge haben.
  • Bei Schritt 307 wird die Menge von Markierungszählern einschließlich des inkrementierten Markierungszählers (d.h. nv(p1,u1) = 1, nt(p1,u1) = 0, nn(p1,u1) = 0) verwendet, um den Signifikanzwert des ersten Musters p1 anzupassen.
  • Das Anpassen kann beispielsweise durch Bereitstellen eines Terms vorgenommen werden, der den Signifikanzwert s(p1) korrigiert. Dieser Term kann eine Funktion sein, z.B. eine Kombination der Zähler nv(p1,u1) = 1, nt(p1,u1) = 0 und nn(p1,u1). Zum Beispiel werden die Zähler nv(p1,u1) = 1, nt(p1,u1) = 0, nn(p1,u1) = 0 zu einem einzigen Maß kombiniert (andere Maßnahmen zum Kombinieren dieser Zähler können stattdessen verwendet werden), durch Berechnen von r(p1,u1) = (nn(p1,u1) + nt(p1,u1))/(nv(p1,u1) + nn(p1,u1) + nt(p1,u1)). Dieser Wert wird nachfolgend verwendet, um die Signifikanz s(p1) des Musters p1 für den ersten Benutzer u1 entweder zu erhöhen oder zu verringern. Die ursprüngliche Signifikanz kann auf den Daten beruhen und von dem ersten Benutzer u1 unabhängig sein. Wenn (nv(p1,u1) + nn(p1,u1) + nt(p1,u1) = 0, bleibt die Signifikanz s(p) unverändert. Andernfalls kann die angepasste Signifikanz berechnet werden wie folgt: s'(r,u1) = s(p1) - w*(r(p1,u1) - 0,5), wobei w ein von dem Benutzer u1 zu wählender Gewichtungsfaktor ist.
  • Beispielsweise können mehrere Analytiker Muster eines gegebenen Datensatzes analysieren. Ein übliches Szenario kann darin bestehen, dass Techniker Fehlerdaten eines technischen Systems analysieren. Dabei könnte es sich um Daten über ein einziges System oder sogar um in zahlreichen verschiedenen Systemen gesammelte Daten handeln. Jedem die Daten bearbeitenden Experten kann auf Grundlage einer Abfrage an das System eine Liste von Ergebnismustern vorgelegt werden. Diese Liste kann nach einer Rangfolge von Signifikanzwerten geordnet sein. Da das Ausmaß an Rückmeldung, das man von einem Benutzer benötigt, hoch sein kann, kombinieren die Systeme möglicherweise Erkenntnisse dieser Experten auf eine unaufdringliche Weise, somit auf eine Weise, die keine ausdrückliche Kommunikation bzw. keine ausdrückliche Koordination zwischen Experten erfordert. Dies kann zum Beispiel durch Erstellen eines Profils davon erfolgen, was ein gegebener Experte auf Grundlage seiner Rückmeldung als Trivial, Rauschen und Gültig ansehen würde. Das Profil wird dann zum Erkennen ähnlicher Benutzer verwendet, wie es zum Beispiel mit Bezug auf 4 gezeigt wird.
  • 4 ist ein Ablaufplan eines weiteren beispielhaften Verfahrens zum Anpassen der Signifikanzwerte von Mustern. Bei Schritt 401 empfängt das Datenbanksystem von einem zweiten Benutzer u2 eine zweite Abfrage nach dem Datensatz. Die zweite Abfrage kann mindestens einen Teil der ersten Abfrage aufweisen.
  • Als Reaktion auf die zweite Abfrage wird bei Schritt 403 eine zweite Menge von Mustern Muster_m - 5 bis Muster_v mit entsprechenden Signifikanzwerten in der Datenbank bereitgestellt.
  • Bei Schritt 405 werden eingegebene Informationen, die Markierungen mindestens einer zweiten Teilmenge von Mustern Muster_m - 9 bis Muster_m + 6 aus der zweiten Menge von Mustern Muster_m - 5 bis Muster_v anzeigen, von dem zweiten Benutzer u2 empfangen;
  • Bei Schritt 407 wird eine Anzahl identischer Muster, die mit derselben Markierung markiert sind, in der ersten und zweiten Teilmenge ermittelt. Dies kann beispielsweise erfolgen, indem zuerst identische Muster ermittelt werden, d.h. Muster_m - 9 bis Muster_m, und anschließend Muster ausgewählt werden, die sowohl in der ersten als auch der zweiten Teilmenge über dieselben Markierungen verfügen, z.B. Muster_m - 5 bis Muster_m.
  • Bei Schritt 409 wird festgestellt, dass die Anzahl identischer Muster Muster_m - 5 bis Muster_m höher als ein vorgegebener Ähnlichkeits-Schwellenwert ist, z.B. 4 Muster. In diesem Fall können der erste und zweite Benutzer als ähnliche Benutzer angesehen werden.
  • Bei einem anderen Beispiel können, in dem Fall, dass die Übereinstimmung (z.B. eine Anzahl identischer Muster mit derselben Markierung) bei dem ersten und zweiten Benutzer höher ist als die Nichtübereinstimmung (z.B. eine Anzahl identischer Muster mit unterschiedlicher Markierung), die beiden Benutzer als ähnlich angesehen und daher ihre Markierungszählwerte kombiniert werden. Komplexe Maßnahmen wie beispielsweise Kosinus oder Jaccard können angewendet werden, um zu ermitteln, dass der erste und zweite Benutzer ähnlich sind. Dafür kann eine Ähnlichkeits-Maßzahl auf Grundlage des Jaccard-Koeffizienten oder des Kosinus-Ähnlichkeitsmaßes berechnet werden. Mithilfe der Ähnlichkeits-Maßzahl kann eine Korrelation zwischen einer ersten und zweiten Teilmenge von Mustern ermittelt werden.
  • Zusätzlich oder alternativ können die Signifikanzwerte der identischen Muster Muster_m - 5 bis Muster_m verwendet werden, um zu ermitteln, ob der erste und zweite Benutzer ähnlich sind. Wenn beispielsweise die mittlere Differenz zwischen entsprechenden Signifikanzwerten der identischen Muster Muster_m - 5 bis Muster_m in der ersten und zweiten Teilmenge kleiner als eine vorgegebene Signifikanzschwelle ist, können beide Benutzer als ähnlich angesehen werden.
  • Nach der Feststellung, dass die zwei Benutzer ähnlich sind (z.B. ist die Anzahl identischer Muster Muster_m - 5 bis Muster_m höher als der vorgegebene Ähnlichkeits-Schwellenwert), wird eine gemeinsame Menge von Markierungszählern, die der Menge von Markierungen Markierung_1 bis Markierung_3 entspricht, jedem Muster aus den identischen Mustern Muster_m - 5 bis Muster_m und sowohl dem ersten als auch dem zweiten Benutzer zugewiesen, nv(px,u1,u2), nt(px,u1,u2), nn(px,u1,u2), wobei m - 4 < x < m + 1. Die gemeinsame Menge von Markierungszählern ist eine Kombination aus entsprechenden Mengen von Markierungszählern, die separat dem ersten und zweiten Benutzer zugewiesen werden. Beispielsweise kann für ein Muster m, das sowohl zu der ersten als auch der zweiten Teilmenge gehört und in beiden Teilmengen über dieselbe Markierung verfügt, die gemeinsame Menge von Zählern nv(pm,u1,u2), nt(pm,u1,u2), nn(pm,u1,u2) durch Kombinieren der Markierungszähler nv(pm,u1), nt(pm,u1), nn(pm,u1), die dem Muster_m und dem ersten Benutzer zugewiesen sind, und der Markierungszähler nv(pm,u2), nt(pm,u2), nn(pm,u2), die dem Muster_m und dem zweiten Benutzer zugewiesen sind, ermittelt werden.
  • Die Kombination kann zum Beispiel eine arithmetische Summe sein, sodass:
    • nv(pm,u1,u2) = nv(pm,u1) + nv(pm,u2)
    • nt(pm,u1,u2) = nt(pm,u1) + nt(pm,u2)
    • nn(pm,u1,u2) = nn(pm,u1) + nn(pm,u2)
  • Bei Schritt 411 werden die Signifikanzwerte der identischen Muster Muster_m - 5 bis Muster_m mithilfe der gemeinsamen Markierungszähler angepasst. Beispielsweise kann für das Muster_m der angepasste Signifikanzwert s'(r,u1,u2) = s(pm) - w*(r(pm,u1 ,u2 - 0,5) betragen, wobei r(pm,u1,u2) = (nn(pm,u1,u2) + nt(pm,u1,u2))/(nv(pm,u1,u2) + nn(pm,u1,u2) + nt(pm, u1,u2)).
  • Daher kann eine erneute Einstufung auf Grundlage dieser kombinierten/gemeinschaftlichen Markierungszähler separat für jeden Benutzer ausgeführt werden, anstatt sie global auszuführen.
  • Folglich werden die zum erneuten Einstufen von Mustern auf Grundlage von Rückmeldung verwendeten Informationen nicht nur der Rückmeldung eines einzigen Benutzers, sondern denen aller ihm ähnlichen Benutzer entnommen.
  • Im Fall von mehr als zwei Benutzern, z.B. drei Benutzern u1, u2 und u3, wird der Schritt 407 ausgeführt eine Anzahl identischer Muster, die mit derselben Markierung markiert sind, wird in der ersten, zweiten und dritten Teilmenge ermittelt. Die dritte Teilmenge wird von dem dritten Benutzer bereitgestellt wie bei Schritt 405. In diesem Fall ist die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern, die separat dem ersten, zweiten und dritten Benutzer zugewiesen werden.
  • Im Folgenden werden vereinfachte Beispiele angeführt, um das Verfahren weiter zu verdeutlichen. In diesem Beispiel werden Muster beschrieben, die Konjunktionen von Literalen sind, von denen angenommen wird, dass sie gemeinsam in einem Kontext auftreten wie beispielsweise einem Zeitfenster. Zum Beispiel kann das Folgende ein mögliches Muster sein:
    • (Maschine1-Ausfall_tn) UND (Feuchtigkeiten > 3,4) UND (Maschine2-Ausfall_tn + 1)
  • Dieses Muster könnte den Experten entweder gut bekannt sein (Maschine2 fällt immer aus, nachdem Maschine1 ausgefallen ist), ungültig (es handelt sich um einen reinen Zufall) oder eine neue Erkenntnis, die tatsächlich dazu beiträgt, Fehler aufzudecken und sie zukünftig zu beheben.
  • Da jedoch die Anzahl möglicher Muster sehr groß ist, gibt es möglicherweise keine großen Überschneidungen zwischen einzelnen Benutzern. Daher kann ein Verfahren verwendet werden, einzelne Muster zu verallgemeinern, um in der Lage zu sein, diesen Wissenstransfer wirkungsvoll zu erleichtern.
  • Die Zählwerte für nv, nn, nt könnten sehr gering sein, wenn alle Muster als vollkommen unterschiedlich und unzusammenhängend betrachtet würden. Daher können die folgenden Regeln verwendet werden, um Zählwerte von einem Muster p zu seinen verwandten Mustern zu verschieben.
  • Die Teilmengenbeziehungen zwischen Mustern können verwendet werden, um dies zu erreichen. Ein Muster p ist ein Teilmuster eines weiteren Musters p', wenn aus p logisch p' folgt. Daher ist ein Teilmuster eine Obermenge von Elementen.
  • X UND Y UND Z wäre ein Teilmuster eines Musters X UND Y.
  • Jede Teilmenge eines als verrauscht markierten Musters wird auch als verrauscht markiert. Wenn daher ein Benutzer Muster p als Rauschen markiert, wird nn(p) um eins erhöht, und außerdem wird nn(p') um eins erhöht, für alle Muster p', die Teilmuster von p sind.
  • Wenn ein Muster als trivial markiert ist, werden auch alle Muster p', von denen dieses Muster eine Teilmenge ist, als trivial markiert, was ihren nt-Zählwert erhöht.
  • Die Zählwerte n(p), nt(p) und nn(p) sind möglicherweise nicht global, könnten aber für jeden Benutzer u unterschiedlich sein.
  • Bei einem anderen Beispiel kann das System dem Benutzer anfänglich die folgenden drei Muster zurückgeben:
    • (Maschine1-Ausfall_tn) UND (Feuchtigkeit_tn > 3,4) UND (Maschine2-Ausfall_tn + 1) - P1
    • (Maschine2-Ausfall_tn) UND (Maschine3_langsam_tn) UND (Maschine7-langsam_tn + 3) - P2
    • (Maschine5-Ausfall_tn) UND (Last_Maschine5_tn > 8) UND (Maschine1-Ausfall_tn) - P3,
    • mit Signifikanzwerten s(P1) = 0,3, s(P2) = 0,29 und s(P3) = 0,27.
  • Der Benutzer u1 würde P1 als Rauschen markieren (auf Grundlage seiner Sachkenntnis kann Feuchtigkeit keinen Einfluss haben) und die zwei anderen Muster als Gültig. nn(P1,u1) = 1 und nv(P2,u1) = nv(P3,u1) = 1, alle anderen Werte sind Null.
  • Beim erneuten Ausführen des Systems würde er eine Schwelle herabsetzen und ein zusätzliches Muster P4 erhalten:
    • (Maschine1-Ausfall_tn) UND (Feuchtigkeit_tn > 3,4) UND (Maschine2-Ausfall_tn + 1) UND (Maschine 4-langsam) - P4,
    wobei s(P4) = 0,31.
  • Das System würde jetzt auf Grundlage der Rückmeldung von P1 auch nn(P4,u1) = 1 setzen, was dazu führen würde, dass die Muster P1 und P4 beide heruntergestuft würden, wobei s'(P1,u1) = 0,3 - 0,1*0,5 = 0,25 und s'(P4,u1) = 0,26, wenn w = 0,1 verwendet wird.
  • Und das u1 präsentierte Muster würde die folgende Reihenfolge aufweisen: P2, P3, P4, P1.
  • Ein weiterer Benutzer könnte nun mit dem Benutzer u1 durch ähnliches Einstufen von Mustern übereinstimmen. Selbst wenn dieser Benutzer Muster P1 oder P4 noch nicht einstufen würde, würde es auf Grundlage der Einstufung des Benutzers u1 automatisch nn(P1,u2) = 1 und nn(P4,u2) = 1 erhalten.
  • Ein dritter Benutzer u3 könnte Muster anders als u1 eingestuft haben, und wird daher nicht als ähnlich angesehen. In diesem Fall würden die Zählwerte für diesen Benutzer nicht von den Einstufungen von u1 berührt werden.
  • Bezugszeichenliste
  • 100
    System
    101
    Computersystem
    102
    Clientsystem
    103
    Prozessor
    105
    Arbeitsspeicher
    107
    Bus
    109
    Netzwerkadapter
    111
    Massenspeichereinheit
    113
    Bildschirm
    115
    E/A-Schnittstelle
    116
    Prozessor
    117
    Arbeitsspeicher
    125
    Datenbanksystem
    129
    Empfangsmodul
    131
    Mustermodul
    133
    Analysemodul
    135
    E/A-Schnittstelle
    137
    Clientanwendung
    139
    Liste.

Claims (12)

  1. Durch Computer realisiertes Verfahren zum Zugreifen auf Daten in einem Datenbanksystem (100), wobei das Datenbanksystem (100) ein Empfangsmodul (129), ein Mustermodul (131) und ein Analysemodul (133) aufweist, wobei das Verfahren aufweist: - Empfangen einer ersten Abfrage von einem ersten Benutzer nach einem in dem Datenbanksystem (100) gespeicherten Datensatz mithilfe des Empfangsmoduls (129); - als Reaktion auf die empfangene erste Abfrage, Bereitstellen einer ersten Menge von Mustern (Muster_1 bis Muster_n) in der Datenbank mithilfe des Mustermoduls (131), mit entsprechenden ersten Signifikanzwerten; - Bereitstellen, mithilfe des Mustermoduls (131), einer Menge von Markierungen (Markierung_1 bis Markierung_3) zum Markieren eines ersten Musters aus der ersten Menge von Mustern (Muster_1 bis Muster_n), wobei die Menge von Markierungen (Markierung_1 bis Markierung_3) mindestens zwei das Muster beschreibende Datenkategorien anzeigt; - Empfangen eingegebener Informationen von dem ersten Benutzer mithilfe des Empfangsmoduls (129), die Markierungen von mindestens einer ersten Teilmenge von Mustern (Muster_1 bis Muster_m) der ersten Menge von Mustern (Muster_1 bis Muster_n) anzeigen, wobei die Markierungen aus der Menge von Markierungen (Markierung_1 bis Markierung_3) ausgewählt sind; - Anpassen der ersten Signifikanzwerte der ersten Teilmenge von Mustern (Muster_1 bis Muster_m) auf Grundlage der Markierungen mithilfe des Analysemoduls (133); - Empfangen einer zweiten Abfrage nach dem Datensatz in dem Datenbanksystem (100) von einem zweiten Benutzer; - Bereitstellen einer zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene zweite Abfrage; - Empfangen von eingegebenen Informationen von dem zweiten Benutzer, die Markierungen mindestens einer zweiten Teilmenge (Muster_m - 9 bis Muster_m + 6) von Mustern aus der zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) anzeigen; - Ermitteln einer Anzahl identischer Muster (Muster_m - 5 bis Muster_m), die mit derselben Markierung markiert sind, in der ersten (Muster_1 bis Muster_m) und zweiten (Muster_m - 9 bis Muster_m + 6) Teilmenge; - als Reaktion auf eine Feststellung, dass die Anzahl identischer Muster höher als ein vorgegebener Ähnlichkeits-Schwellenwert ist, Zuweisen, zu jedem Muster aus den identischen Mustern (Muster_m - 5 bis Muster_m) und zu sowohl dem ersten als auch dem zweiten Benutzer, einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen (Markierung_1 bis Markierung_3) entsprechen, wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten und zweiten Benutzer zugewiesen werden; und - Anpassen der Signifikanzwerte der identischen Muster (Muster_m - 5 bis Muster_m) mithilfe der gemeinsamen Markierungszähler.
  2. Verfahren nach Anspruch 1, wobei das erste Muster aus der ersten Teilmenge von Mustern mit einer ersten Markierung aus der Menge von Markierungen (Markierung_1 bis Markierung_3) markiert ist, wobei das Anpassen des ersten Signifikanzwerts des ersten Musters aufweist: - Zuweisen einer Menge von Markierungszählern, die jeweils der Menge von Markierungen (Markierung_1 bis Markierung_3) entsprechen, zu dem ersten Muster und dem ersten Benutzer; - Initialisieren der Werte der Menge von Markierungszählern; - Inkrementieren des Markierungszählers aus der Menge von Markierungszählern, der der ersten Markierung entspricht; - Verwenden der Menge von Markierungszählern einschließlich des inkrementierten Markierungszählers, um den Signifikanzwert des ersten Musters anzupassen.
  3. Verfahren nach Anspruch 2, das außerdem ein Verwenden einer gewichteten Summe der Menge von Markierungszählern zum Anpassen des Signifikanzwerts des ersten Musters aufweist.
  4. Verfahren nach Anspruch 2, wobei die mindestens zwei Kategorien Muster der Kategorien Rauschen, Trivial und Gültig aufweisen, wobei das Anpassen des Signifikanzwerts (s(r)) mithilfe der Formel ausgeführt wird: s'(r,u) = s(r) - w*(r(p,u) - 0,5), wobei r(p,u) = (nn(p,u) + nt(p,u))/(nv(p,u) + nn(p,u) + nt(p,u)), wobei nv(p,u), nn(p,u), nt(p,u) die Markierungszähler sind, die jeweils den Kategorien Gültig, Rauschen und Trivial entsprechen, wobei w ein vorgegebener Gewichtungswert ist.
  5. Verfahren nach Anspruch 1, das außerdem aufweist: - Empfangen einer dritten Abfrage nach dem Datensatz in dem Datenbanksystem von einem dritten Benutzer; - Bereitstellen einer dritten Menge von Mustern mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene dritte Abfrage; - Empfangen eingegebener Informationen von dem dritten Benutzer, die Markierungen mindestens einer dritten Teilmenge von Mustern aus der dritten Menge von Mustern anzeigen; - Ermitteln einer zweiten Anzahl identischer Muster, die mit derselben Markierung markiert sind, in der ersten, zweiten und dritten Teilmenge; - als Reaktion auf eine Feststellung, dass die zweite Anzahl identischer Muster höher als der vorgegebene Ähnlichkeits-Schwellenwert ist, - Zuweisen, zu jedem Muster aus den identischen Mustern und zu dem ersten, zweiten und dritten Benutzer, einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen entsprechen, wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten, zweiten und dritten Benutzer zugewiesen werden; - Anpassen der Signifikanzwerte der zweiten Anzahl identischer Muster mithilfe der gemeinsamen Markierungszähler.
  6. Verfahren nach Anspruch 5, das außerdem aufweist: - Ermitteln identischer Muster in der ersten Teilmenge von Mustern und nicht markierten Mustern aus der zweiten Menge von Mustern; - Zuweisen der Markierung jedes Musters aus der ersten Teilmenge zu seinem identischen nicht markierten Muster aus der zweiten Teilmenge von Mustern.
  7. Verfahren nach Anspruch 1, das außerdem aufweist: - Empfangen der ersten Abfrage nach dem Datensatz von dem ersten oder dem zweiten Benutzer; - Bereitstellen einer aktualisierten Menge von Mustern mit entsprechenden aktualisierten Signifikanzwerten.
  8. Verfahren nach Anspruch 1, das außerdem aufweist: - Feststellen, dass ein erstes Muster aus der ersten Teilmenge von Mustern (Muster_1 bis Muster_m) ein übergeordnetes Muster eines nicht markierten zweiten Musters aus der ersten Menge von Mustern (Muster_1 bis Muster_n) ist; - Markieren des zweiten Musters mithilfe der Markierung des ersten Musters; - Anpassen des Signifikanzwerts des zweiten Musters auf Grundlage der Markierung des ersten Musters.
  9. Verfahren nach Anspruch 1, das außerdem aufweist: - Einstufen der ersten Menge von Mustern (Muster_1 bis Muster_n) mithilfe der entsprechenden Signifikanzwerte; - Speichern des Datensatzes auf Grundlage der eingestuften Muster.
  10. Verfahren nach Anspruch 10, das außerdem ein Speichern von Daten entsprechend den am höchsten eingestuften Mustern in einer Datenbank im Speicher aufweist.
  11. Computerprogrammprodukt umfassend ein computerlesbares Speichermedium mit durch Computer ausführbaren Anweisungen, durch die ein Verfahren nach einem der vorangehenden Ansprüche ausgeführt wird, wenn sie auf einem Computer ablaufen.
  12. Datenbanksystem (100) mit einem Speicher mit computerlesbaren Instruktionen und einem Prozessor zum Ausführen der computerlesbaren Instruktionen, das aufweist: - ein Empfangsmodul (129) zum Empfangen einer ersten Abfrage von einem ersten Benutzer nach einem in dem Datenbanksystem gespeicherten Datensatz; - ein Mustermodul (131) zum Bereitstellen einer ersten Menge von Mustern (Muster_1 bis Muster_n) in der Datenbank mit entsprechenden ersten Signifikanzwerten als Reaktion auf die empfangene erste Abfrage, und zum Bereitstellen einer Menge von Markierungen (Markierung_1 bis Markierung_3) zum Markieren eines ersten Musters aus der ersten Menge von Mustern (Muster_1 bis Muster_n), wobei die Menge von Mustern mindestens zwei Datenkategorien anzeigt, die das Muster beschreiben, wobei das Empfangsmodul (131) dafür geeignet ist, von dem ersten Benutzer eingegebene Informationen zu empfangen, die Markierungen mindestens einer ersten Teilmenge von Mustern (Muster_1 bis Muster_m) aus der ersten Menge von Mustern (Muster_1 bis Muster_n) anzeigen, wobei die Markierungen aus der Menge von Markierungen (Markierung_1 bis Markierung_m) ausgewählt sind; - Analysemodul (133) zum Anpassen der ersten Signifikanzwerte der ersten Teilmenge von Mustern (Muster_1 bis Muster_m) auf Grundlage der Markierungen; wobei das Datenbanksystem (100) ferner konfiguriert ist zum - Empfangen einer zweiten Abfrage nach dem Datensatz in dem Datenbanksystem (100) von einem zweiten Benutzer durch das Empfangsmodul (129); - Bereitstellen einer zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) mit entsprechenden Signifikanzwerten in der Datenbank als Reaktion auf die empfangene zweite Abfrage durch das Mustermodul (131); - Empfangen von eingegebenen Informationen von dem zweiten Benutzer durch das Empfangsmodul (129), die Markierungen mindestens einer zweiten Teilmenge (Muster_m - 9 bis Muster_m + 6) von Mustern aus der zweiten Menge von Mustern (Muster_m - 5 bis Muster_v) anzeigen; - Ermitteln einer Anzahl identischer Muster (Muster_m - 5 bis Muster_m), die mit derselben Markierung markiert sind, in der ersten (Muster_1 bis Muster_m) und zweiten (Muster_m - 9 bis Muster_m + 6) Teilmenge; - als Reaktion auf eine Feststellung, dass die Anzahl identischer Muster höher als ein vorgegebener Ähnlichkeits-Schwellenwert ist, Zuweisen, zu jedem Muster aus den identischen Mustern (Muster_m - 5 bis Muster_m) und zu sowohl dem ersten als auch dem zweiten Benutzer, einer gemeinsamen Menge von Markierungszählern, die jeweils der Menge von Markierungen (Markierung_1 bis Markierung_3) entsprechen, wobei die gemeinsame Menge von Markierungszählern eine Kombination aus entsprechenden Mengen von Markierungszählern ist, die separat dem ersten und zweiten Benutzer zugewiesen werden; und - Anpassen der Signifikanzwerte der identischen Muster (Muster_m - 5 bis Muster_m) mithilfe der gemeinsamen Markierungszähler durch das Analysemodul (133).
DE102014116117.3A 2013-11-13 2014-11-05 Verfahren und System zum Mining von Mustern in einem Datensatz Active DE102014116117B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1320016.7A GB2525572A (en) 2013-11-13 2013-11-13 Method and system for mining patterns in a dataset
GB1320016.7 2013-11-13

Publications (2)

Publication Number Publication Date
DE102014116117A1 DE102014116117A1 (de) 2015-05-13
DE102014116117B4 true DE102014116117B4 (de) 2020-06-18

Family

ID=49818550

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014116117.3A Active DE102014116117B4 (de) 2013-11-13 2014-11-05 Verfahren und System zum Mining von Mustern in einem Datensatz

Country Status (4)

Country Link
US (1) US9858320B2 (de)
CN (1) CN104636422B (de)
DE (1) DE102014116117B4 (de)
GB (1) GB2525572A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019026151A1 (ja) * 2017-07-31 2019-02-07 楽天株式会社 処理システム、処理装置、処理方法、プログラム、ならびに、情報記録媒体
US11397716B2 (en) 2020-11-19 2022-07-26 Microsoft Technology Licensing, Llc Method and system for automatically tagging data
US11892989B2 (en) * 2022-03-28 2024-02-06 Bank Of America Corporation System and method for predictive structuring of electronic data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130144813A1 (en) 2011-12-04 2013-06-06 Beyondcore, Inc. Analyzing Data Sets with the Help of Inexpert Humans to Find Patterns

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003029A (en) 1997-08-22 1999-12-14 International Business Machines Corporation Automatic subspace clustering of high dimensional data for data mining applications
US6892189B2 (en) 2001-01-26 2005-05-10 Inxight Software, Inc. Method for learning and combining global and local regularities for information extraction and classification
US20020193981A1 (en) 2001-03-16 2002-12-19 Lifewood Interactive Limited Method of incremental and interactive clustering on high-dimensional data
US6772152B2 (en) 2001-03-22 2004-08-03 International Business Machines Corporation System and method for mining patterns from a dataset
US6799175B2 (en) 2001-04-23 2004-09-28 International Business Machines Corporation System and method of determining and searching for patterns in a large database
WO2007104612A1 (en) 2006-03-14 2007-09-20 International Business Machines Corporation Data mining by determining patterns in input data
US20080071656A1 (en) 2006-09-15 2008-03-20 General Electric Company Method for constructing searchable data patterns of interest
WO2008154029A1 (en) 2007-06-11 2008-12-18 The Trustees Of Columbia University In The City Of New York Data classification and hierarchical clustering
US20110320441A1 (en) 2010-06-25 2011-12-29 Microsoft Corporation Adjusting search results based on user social profiles
CN102779136A (zh) 2011-05-13 2012-11-14 北京搜狗科技发展有限公司 一种信息搜索的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130144813A1 (en) 2011-12-04 2013-06-06 Beyondcore, Inc. Analyzing Data Sets with the Help of Inexpert Humans to Find Patterns

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. Agrawal und R. Srikant, Fast Algorithms for Mining Association Rules in Large Databases. In: Proc. of the 20th International Conference on Very Large Data Bases (VLDB '94), S. 487 bis 499, 1994

Also Published As

Publication number Publication date
CN104636422B (zh) 2018-01-30
US9858320B2 (en) 2018-01-02
CN104636422A (zh) 2015-05-20
US20150134650A1 (en) 2015-05-14
GB201320016D0 (en) 2013-12-25
DE102014116117A1 (de) 2015-05-13
GB2525572A (en) 2015-11-04

Similar Documents

Publication Publication Date Title
DE112020002600T5 (de) Entdecken einer semantischen bedeutung von datenfeldern anhand von profildaten der datenfelder
DE102013209868B4 (de) Abfragen und Integrieren strukturierter und unstrukturierter Daten
DE69934102T2 (de) System und verfahren zur model-mining von komplexen informationtechnologiesystemen
DE60121231T2 (de) Datenverarbeitungsverfahren
DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
DE112018001996T5 (de) Systeme und verfahren zur modellgestützten kohortenauswahl
DE112020000227T5 (de) Maschinelles lernen eines computermodells auf grundlage von korrelationenvon trainingsdaten mit leistungstrends
DE202016005239U1 (de) Graph-basierte Abfragen
DE102014204827A1 (de) Auflösen ähnlicher Entitäten aus einer Transaktionsdatenbank
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE102013215661A1 (de) Kontextbezogene Suche nach einer gespeicherten Datei, die einem Graphenknoten zugehörig ist
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE112012004331T5 (de) Verwenden der Stärke von Rückverfolgbarkeitsverknüpfungen zum Überwachen der Software-Entwicklungsintegrität
DE10149693A1 (de) Objekte in einem Computersystem
DE102012214196A1 (de) Erkennen nicht eindeutiger Namen in einer Gruppe von Namen
DE102020110542A1 (de) Verfahren und einrichtungen zum ver walten von tickets
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE102014116117B4 (de) Verfahren und System zum Mining von Mustern in einem Datensatz
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente
DE19534819A1 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
DE112013000751T5 (de) Datenverarbeitung, Datensammlung
DE112021000338B4 (de) Auslagern der statistikerfassung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final