Datenverarbeitungssystem
Die Erfindung betrifft ein Datenverarbeitungssystem. Ein derartiges Datenverarbeitungssystem ist aus der WO 99/48027 bekannt. Dieses weist eine Benutzereinheit, eine Speichereinheit und eine Nerbindung zu einem elektronischen Datenbestand auf. Weiterhin ist eine Suchmaschine vorgesehen, mittels derer in dem Datenbestand Datenrecherchen durchgeführt werden können. Hierzu sind eine Vielzahl von Suchformulierungen für die Suchmaschine als Knoten und Kanten eines semantischen Netzes abgespeichert. Diese Suchformulierungen sind zur Durchführung einer Datenrecherche zu einer komplexen Suchanweisung zusammensetzbar.
Dabei bilden Suchanfragen, d.h. recherchierbare Suchbegriffe die Knoten des semantischen Netzes. Die Kanten des semantischen Netzes sind von Nerknüp- fungsanweisungen gebildet, die verschiedene Knoten des semantischen Netzes verbinden.
Die Knotenstruktur des semantischen Netzes ist von einem sogenannten topic map gebildet. Diese Struktur weist eine vorgegebene Anzahl von Hauptknoten auf, welchen jeweils Unterknoten zugeordnet sind. Die Eigenschaften von Hauptknoten werden dabei an die jeweils untergeordneten Unterknoten weitervererbt.
Die Struktur der Knoten und Unterknoten wird dem Benutzer des Datenverar- beitungssystems in tabellarischer Form oder in Form einer Baumstruktur angezeigt. Anhand dieser Anzeige wählt der Benutzer eine vorgegebene Anzahl von Knoten, d.h. Suchbegriffen aus. Durch die festgelegte Knoten- und Kantenstruktur sind die ausgewählten Knoten mit vorgegebenen logischen Verknüp-
fungen in Beziehung gesetzt. Dadurch wird erreicht, dass durch die Auswahl der Knoten diese zur Bildung der jeweiligen Suchformulierung entsprechend der Kantenstruktur logisch verknüpft werden.
Vorteilhaft bei diesem Datenverarbeitungssystem ist, dass auf relativ einfache Weise komplexe Suchformulierungen generiert werden können. Zudem können diese komplexen Suchformulierungen abgespeichert und somit wieder verwendet werden. Schließlich kann das semantische Netz durch Hinzufügen weiterer Knoten und Kanten auch erweitert werden.
Nachteilig bei derartigen Datenverarbeitungssystemen ist jedoch, dass das be- stehende semantische Netz, insbesondere die Kanten dieses Netzes, nicht mehr geändert werden können. Vielmehr sind die einzelnen Suchbausteine des semantischen Netzes abgespeichert und damit fest vorgegeben.
Dies schränkt die Flexibilität der durch--ufuhrenden Datenrecherchen in unerwünschter Weise ein.
Zudem ist nachteilig, dass die Generierung des semantischen Netzes selbst äußerst komplex ist, da die einzelnen Knoten über die Kanten des Netzes einzeln zu verbinden sind. Dies bedingt einen unerwünscht hohen Aufwand bei der Erstellung des semantischen Netzes, wobei insbesondere Fehler in der Knoten- und Kantenstrulctur nur schwer lokalisierbar sind.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenverarbeitungssystem bereitzustellen, mittels dessen eine flexible und effiziente Durcliführung von Datenrecherchen ermöglicht wird.
Zur Lösung dieser Aufgabe sind die Merkmale des Anspruchs 1 vorgesehen. Vorteilhafte Ausfuhrungsformen und zweckmäßige Weiterbildungen der Erfin- düng sind in den Unteransprüchen beschrieben.
Das erfindungsgemäße Datenverarbeitungssystem weist wenigstens eine Speichereinheit zur Speicherung von Daten und wenigstens eine Rechnereinheit zur Generierung eines Objektmodells bestehend aus einer Klassenstruktur von Klassen auf. Diesen zugeordnet sind Attribute und/oder Synonymstrukturen, wobei die Daten mittels des Objektmodells strukturierbar sind. Mittels einer Suchmaschine werden Suchausdrücke mittels Regeln generiert, welche Elemente der öassenstruktur und/oder Daten verknüpfen.
Durch die Strukturierung der Daten innerhalb der Klassenstruktur des Objektmodells werden die Recherchenmöglichkeiten innerhalb des Bestandes der Daten erheblich erweitert.
Dabei ist insbesondere vorteilhaft, dass die Klassenstruktur veränderbar ist, wodurch die Strukturierung der Daten applikationsspezifisch angepasst werden kann.
Die Klassenstruktur bildet eine Ontologie, innerhalb derer vorzugsweise meh- rere Klassen und diesen zugeordneten Unterklassen definiert sind. Diese können hierarchisch oder in Verbänden strukturiert werden. Im Gegensatz zu topic maps können den einzelnen Klassen Attribute zugeordnet sein. Diese Attribute kennzeichnen jeweils eine bestimmte Klasse der Ontologie und werden von einer Klasse zu den zugeordneten Unterklassen weitervererbt.
Durch die Zuordnung des Bestandes der Daten zu einer Ontologie können Suchanfragen nicht nur auf einzelne Daten sondern auf Elemente der Klassenstrukturen bezogen werden, wodurch der Umfang der Suchanfragen erheblich erweitert wird.
Die Suchanfragen können sich dabei auf einzelne Klassen oder Unterklassen beziehen. Weiterhin können die Suchanfragen so definiert werden, dass nicht nur eine Klasse in die Suchanfrage miteinbezogen ist, sondern auch die der
Klasse zugeordneten Unterklassen. Die Suchanfragen können zudem derart
erweitert werden, dass bestimmte Klassen oder Unterklassen ausgeschlossen werden können. Beispielsweise kann eine Suchanfrage derart definiert sein, dass in dieser eine Klasse und eine Teilmenge der dieser zugeordneten Unterklassen miteinbezogen ist. Weiterhin kann die Suchanfrage derart definiert sein, dass in diese Klassen einer bestimmten Ebene der Klassenstruktur miteinbezogen sind. Insbesondere können Suchanfragen derart definiert sein, dass in diese benachbarte Klassen oder Unterklassen miteinbezogen sind.
Weiterhin können die Suchanfragen auch auf Attribute von Klassen gerichtet sein.
Schließlich sind auch Synonyme in die einzelnen Suchanfragen einbeziehbar. Besonders vorteilhaft sind dabei Synonyme in Form von Attributen, sogenannten Meta- Attributen, definierbar. Damit werden bestimmten Klassen Synonyme zugeordnet. Durch die Zuordnung von Synonymen auf Klassenebene wird insbesondere erreicht, dass diese Synonyme nicht einzelnen Daten zugeordnet werden müssen. Vielmehr bezieht sich die Definition des jeweiligen Synonyms auf sämtliche Daten, die in der Klasse eingeordnet sind, auf welche das Synonym als Meta- Attribut bezogen ist.
Erfindungsgemäß sind die Suchausdrücke, mittels derer Elemente der Klassenstruktur und/oder Daten abfragbar sind, über Regeln definiert, welche in der Suchmaschine ausgewertet werden.
Die Regeln sind frei programmierbar und können damit auf einfache Weise je nach Anwendungsfall geändert werden. Durch eine geeignete Definition der Regeln kann beispielsweise vorgegeben werden, ob sich ein Suchausdruck auf eine Klasse allein, auf eine Ebene von Klassen oder auf eine Klasse sowie die Gesamtmenge oder eine Teilmenge der zugeordneten Unterklassen bezieht.
Die Regeln sind vorzugsweise in den Regelsprachen F-LOGIK, OWL, TRIPLE oder RULEML abgefasst, wobei in diesem Fall die Klassenstruktur der Ontologie als F-LOGIK oder OWL-Modell ausgebildet ist.
Das erfindungsgemäße Datenverarbeitungssystem weist zur Eingabe der Such- ausdrücke eine Eingabeeinheit auf. Dabei umfasst diese Anzeigemittel, mittels derer die Elemente der Klassenstruktur anzeigbar ist.
Die Eingabe der Suchausdrücke erfolgt vorzugsweise mit der Auswahl bestimmter Klassenbegriffe, die beispielsweise durch Auswahl von Elementen der Klassenstruktur mittels eines Maus-Zeigers erfolgt.
Werden für eine Datenrecherche zwei Elemente der Öassenstruktur ausgewählt, wird dabei ein Suchausdruck generiert, der eine UND-Verl üpfung dieser Elemente bildet.
Durch mehrmaliges Anklicken eines Elements kann für dieses Element eine Negierung generiert werden, die durch eine grafische Kennzeichnung des Ele- ments sichtbar gemacht wird. Bei Auswahl eines weiteren Elements wird zwischen diesen Elementen eine NAND-Verlmüpfung gebildet.
Generell können somit ohne Kenntnis von Programmiersprachen von einem Benutzer auf einfache Weise auch komplexe Suchausdrücke generiert werden, mittels derer insbesondere unterschiedliche Elemente der Klassensh iktur ver- knüpft werden können.
Die Erfindung wird im nachstehenden anhand der Zeichnungen erläutert. Es zeigen:
Figur 1: Schematische Darstellung eins Ausfuhrungsbeispiels des erfindungsgemäßen Datenverarbeitungssystems.
Figur 2: Beispiel einer Öassenstruktur für das Datenverarbeitungssystem gemäß Figur 1.
Figur 1 zeigt ein Ausführungsbeispiel des erfmdungsgemäßen Datenverarbeitungssystems 1. Das Datenverarbeitungssystem 1 weist eine Speichereinheit 2 auf, auf welcher ein Bestand von Daten gespeichert ist. Die Speichereinheit 2 ist von einem Datenbanksystem, einem Filesystem, d.h. von einer Menge von auf einem Computer gespeicherten Dateien, oder dergleichen gebildet. Prinzipiell können auch mehrere, gegebenenfalls auf unterschiedlichen Rechnersystemen integrierte Datenbanksysteme vorgesehen sein.
Der Speichereinheit 2 ist ein Server 3 zugeordnet, über welchen ein Zugriff auf die in der Speichereinheit 2 gespeicherten Daten erfolgt. Diesem Server 3 ist eine Rechnereinheit 4 zugeordnet. Im vorliegenden Fall ist die Rechnereinheit 4 auf dem Server 3 installiert und besteht aus einem Prozessorsystem oder dergleichen.
Die Rechnereinheit 4 weist ein erstes Software-Modul 5 auf, mittels dessen ein eine Ontologie bildendes Objektmodell generierbar ist.
Weiterhin weist die Rechnereinheit 4 ein weiteres Software-Modul 5' auf, welches eine Suchmaschine zur Durchführung von Datenrecherchen bildet.
An die Rechnereinheit 4 ist eine Eingabeeinheit 6 angeschlossen. Zudem ist an die Rechnereinheit 4 eine Ausgabeeinheit 7 angeschlossen. Vorzugsweise ist die Rechnereinheit 4 an ein Terminal angeschlossen, über welches als Ein- /Ausgabeeinheit Eingabegrößen in die Rechnereinheit 4 eingebbar sind und über welches Ausgabegrößen ausgebbar sind.
Im vorliegenden Ausführungsbeispiel sind in der Speichereinheit 2 als Daten unterschiedliche Dokumente eines Industriebetriebs abgelegt.
Mittels der zugeordneten Rechnereinheit 4 werden diese Daten in einem eine Ontologie bildenden Objektmodell strukturiert. Dieses Objektmodell weist eine Klassenstruktur bestehend aus Klassen und Unterklassen auf. Ein Beispiel für eine derartige Klassenstruktur ist in Figur 2 dargestellt. Die hierarchisch ausge- bildete Klassenstruktur weist eine Klasse „Dokument" auf, welcher die Unterklassen „Präsentation", „Angebot", „Marketingdokument", „Vertrag", „Finanzdokument", „Rechnung" und „Schutzrecht" untergeordnet sind.
Der Klasse „Vertrag" sind die Unterklassen „Mitarbeitervertrag" und „Kooperationsvertrag" zugeordnet. Der Klasse „Schutzrecht" sind als Unterklassen „Patent" und „Gebrauchsmuster" untergeordnet.
Die Strukturierung der in der Speichereinheit 2 abgespeicherten Daten, welche von Schriftstücken unterschiedlicher Ausprägung gebildet sind, erfolgt derart, dass jedes Schriftstück, welches das Wort „Dokument" enthält, der Klasse „Dokument" zugeordnet wird. Ebenso wird ein Schriftstück, welches das Wort „Vertrag" enthält, der Klasse „Vertrag" zugeordnet. Enthält dieses Schriftstück zugleich das Wort „Mitarbeitervertrag", so wird dieses auch der Unterklasse „Mitarbeitervertrag" zugeordnet. Auf diese Weise erfolgt eine Zuordnung der gespeicherten Daten zu sämtlichen Klassen und Unterklassen der Klassenstruktur.
Den Klassen der Klassenstruktur können weiterhin Attribute zugeordnet werden, die innerhalb der Klassenstruktur weitervererbt werden. Beispiele für derartige Attribute sind die Autoren, Titel oder bestimmte Schlagworte, die einem Dokument, d.h. einer Klasse zugeordnet werden können.
Insbesondere können durch derartige Attribute auch Synonyme definiert wer- den. Die auf der Attributebene als sogenannte Meta-Attribute definierten Synonyme beziehen sich dabei auf eine gesamte Klasse und nicht nur auf einzelne, den Klassen zugeordneten Daten.
Für die vorliegende Klassenstruktur sind beispielsweise folgende Synonyme definierbar:
Der Klasse „Dokument" ist als Synonym das Meta-Attribut „Schriftstück" zugeordnet.
Der Klasse „Mitarbeitervertrag" sind als Synonyme die Meta- Attribute „Angestelltenvertrag" und „Arbeitsvertrag" zugeordnet.
Der Klasse „Kooperationsvertrag" ist als Synonym das Meta-Attribut „Partnervertrag" zugeordnet.
Der Klasse „Angebot" ist als Synonym das Meta-Attribut „Offerte" zugeordnet.
Die auf diese Weise definierte Klassenstruktur ist nicht fest vorgegeben, sondern kann bei Bedarf erweitert und ergänzt oder sogar durch eine neue Klassenstruktur ersetzt werden. Da die Klassenstruktur über ein Software-Modul 5 definiert ist, kann die Klassenstruktur zur Strukturierung der gespeicherten Daten durch geeignete Programmierung auf einfache Weise geändert werden.
Die Durchführung von Datenrecherchen erfolgt anhand der beschriebenen Klassenstruktur mittels der Suchmaschine. Mittels der Suchmaschine werden Suchausdrücke generiert. Dabei werden zur Bildung der Suchausdrücke frei programmierbare Regeln verwendet, zu deren Auswertung die Suchmaschine eine Inferenzeinheit aufweist.
Jeder Suchausdruck wird durch eine vorgegebene Zahl von Regeln beschrieben, welche ein deklaratives System bilden. Dies bedeutet, dass die Regeln in der Inferenzeinheit unabhängig von deren Reihenfolge abarbeitbar sind.
Die einzelnen Regeln und damit auch die Suchausdrücke können auf einfache Weise bei Bedarf umprogrammiert und so geändert werden.
In dem Datenbanksystem ist durch einen Indizierer, beispielsweise einen Microsoft-Index-Server ein Index definiert, welcher angibt, welche Worte in den einzelnen den Datenbestand des Datenbanksystems bildenden Schriftstücken enthalten sind. Weiterhin können mit dem Indizierer selbsttätig Recher- chen durchgeführt werden, bei welchen ermittelt wird, ob bestimmte Worte in
Schriftstücken des Datenbestands enthalten sind. Damit können mittels des Indizierers die in der Suchmaschine generierten Suchausdrücke selbsttätig abgearbeitet werden. Hierbei wird mittels des Indizierers abgeprüft, in welchen Schriftstücken die Suchbegriffe des jeweiligen Suchausdruckes enthalten sind.
Die Suchausdrücke werden zur Durchfuhrung von Datenrecherchen über die Eingabeeinheit 6 eingegeben. Vorzugsweise erfolgt die Eingabe mittels einer grafischen Oberfläche derart, dass hierzu keine Programmiersprachenkenntnis- se des Benutzers notwendig sind.
Die Eingabeeinheit 6 weist hierzu eine grafische Oberfläche auf, auf welcher die Elemente der Klassenstruktur des Objektmodells angezeigt werden. Mittels eines Maus-Zeigers werden als Suchbegriffe vorgegebene Elemente der Klassenstruktur ausgewählt.
Wird ein Element der K-lassenstruktur ausgewählt, so wird für dieses ein Suchausdruck generiert, welcher durch eine Anzahl von Regeln definiert ist.
Im vorliegenden Ausführungsbeispiel werden bei Auswahl einer bestimmten Klasse als Suchbegriff sämtliche dieser Klasse zugeordneten Unterklassen in die Datenrecherche miteinbezogen.
Wird beispielsweise der Begriff „Vertrag" durch Anklicken mit dem Maus- Zeiger ausgewählt, werden neben der Klasse „Vertrag" die dieser Klasse zuge- ordneten Unterklassen „Mitarbeitervertrag" und „Angestelltenvertrag" in die
Recherche miteinbezogen. Zudem werden die für die ausgewählten Klassen definierten Synonyme in die Recherche miteinbezogen, im vorliegenden Bei-
spiel „Angestelltenvertrag" und „Arbeitsvertrag" für die Unterklasse „Mitarbeitervertrag" sowie „Partnervertrag" für die Unterklasse „Kooperationsvertrag".
Durch die Auswahl des Suchausdruckes „Vertrag" wird damit durch die für diesen Suchausdruck hinterlegten Regeln folgende ODER- Verknüpfung gebildet:
„Vertrag" OR „Mitarbeitervertrag" OR „Angestelltenvertrag" OR „Arbeitsvertrag" OR „Kooperationsvertrag" OR „Partnervertrag".
Als Ergebnis dieser Recherche werden dem Benutzer über die Ausgabeeinheit 7 sämtliche Dokumente angezeigt, in welchen wenigstens einer der Begriffe der gebildeten ODER- Verknüpfung enthalten ist.
Werden zur Bildung eines Suchausdrucks in der grafischen Oberfläche der Eingabeeinheit 6 zwei Begriffe ausgewählt, so werden diese durch die Regeln, welche für den Suchausdruck hinterlegt sind, mit einer UND-Verknüpfung verknüpft. Dabei werden bei der Auswahl einer Klasse wiederum die jeweiligen Unterklassen und Synonyme in die Recherche miteinbezogen.
Werden beispielsweise die Begriffe „Angebot" und „Vertrag" durch Anklicken auf der grafischen Oberfläche ausgewählt, so wird für den Begriff „Vertrag" mittels der hierfür hinterlegten Regeln eine Abfrage gemäß dem vorherigen Beispiel generiert. Zudem wird für den Begriff „Angebot" die entsprechende Klasse sowie als zugehöriges Synonym der Begriff „Offerte" recherchiert, wobei diese Begriffe mit einer ODER-Verknüpfung zu einer zweiten Abfrage verknüpft werden. Die beiden einzelnen Abfragen werden dann mit einer UND- Verknüpfung zu folgender Gesamtabfrage verknüpft:
(„Angebot" OR „Offerte) AND („Vertrag" OR „Mitarbeitervertrag" OR „Angestelltenvertrag" OR „Arbeitsvertrag" OR „Kooperationsvertrag" OR „Partnervertrag").
Die Suchausdrücke können in einer alternativen Ausführungsform auch derart ausgebildet sein, dass bei der Recherche einzelne Klassen ausgeschlossen werden.
Dies kann durch eine geeignete Benutzereingabe dadurch erreicht werden, dass ein ausgewähltes Element negiert wird. Eine Negierung kann beispielsweise durch mehrfaches Anklicken eines Elements in der Klassenstruktur erreicht werden. Vorzugsweise wird ein negiertes ausgewähltes Element in der grafischen Oberfläche beispielsweise durch einen farbigen Hintergrund oder dergleichen grafisch hervorgehoben und gekennzeichnet.
Möchte ein Benutzer den zuvor erläuterten Suchausdruck, in welchem die Begriffe „Vertrag" und „Angebot" ausgewählt werden, so modifizieren, dass zwar sämtliche Dokumente ausgegeben werden, die den Begriff „Vertrag" (oder die in den zugeordneten Unterklassen und Synonymen definierten Begriffe) enthalten, nicht jedoch den Begriff „Angebot" (oder Synonyme hierzu) enthalten, so wählt der Benutzer durch Anklicken den Begriff „Vertrag" aus und durch mehrfaches Anklicken die Negation des Begriffes „Angebot".
Mittels der diesem Suchausdruck hinterlegten Regeln wird dann folgende Gesamt- Abfrage als NAND-Verknüpfung generiert:
(„Vertrag" OR „Mitarbeitervertrag" OR „Angestelltenvertrag" OR „Arbeitsvertrag" OR „Kooperationsvertrag" OR „Partnervertrag") AND NOT („Angebot" OR „Offerte")
Eine ODER- Verknüpfung von zwei ausgewählten Suchbegriffen wird im vorliegenden Modell zweckmäßigerweise durch zwei aufeinanderfolgende Re-
cherchen realisiert, wobei bei der ersten Recherche nur der erste Suchbegriff ausgewählt wird und bei der zweiten Recherche nur der zweite Suchbegriff ausgewählt wird.
Bei der vorliegenden Definition der Suchausdrücke werden bei Anklicken einer Klasse der Klassenstruktur die dieser Klasse zugeordneten Unterklassen in die Recherche miteinbezogen.
Beispielsweise können die Regeln zur Bildung der Suchausdrücke derart geändert werden, dass bei Auswahl eines Elements der Klassenstruktur jeweils nur dieses Element recherchiert wird, nicht jedoch die zugeordneten Unterklassen.
Erfolgt beispielsweise durch Anklicken in der grafischen Oberfläche der Eingabeeinheit 6 die Auswahl des Begriffs „Vertrag", wird nur die Klasse „Vertrag" in die Recherche miteinbezogen, nicht jedoch die Unterklassen „Mitarbeitervertrag" und „Kooperationsvertrag".
Weiterhin können die Regeln zur Bildung von Suchausdrücken derart pro- grarnmiert werden, dass vorgegebene Ebenen der Klassenstruktur abfragbar sind.
Wird in diesem Fall der Begriff „Vertrag" als Suchbegriff durch Anklicken ausgewählt, so wird ein Suchausdruck generiert, der alle Elemente der Klassenstruktur umfasst, die auf der selben Ebene wie die Klasse „Vertrag" angeordnet sind. Zudem werden wiederum die Synonyme zu den jeweiligen Klassen in die Recherche miteinbezogen. Durch die Regeln, die zu dem Suchausdruck bei Auswahl des Begriffs „Vertrag" hinterlegt sind, wird damit folgende Gesamt- Abfrage generiert:
„Präsentation" OR „Angebot" OR „Offerte" OR „Marketingdokument" OR „Vertrag" OR „Finanzdokument" OR „Rechnung" OR „Schutzrecht".
Durch eine geeignete Modifikation der Regeln kann die Abfrage innerhalb einer Ebene der Klassenstruktur derart eingegrenzt werden, dass nicht sämtliche Klassen einer Ebene in die Recherche miteinbezogen werden, sondern nur benachbarte Klassen. Durch geeignete Definitionen von Nachbarklassen können dadurch besonders effizient Recherchen zu bestimmten Themenkreisen durchgeführt werden.
Im vorliegenden Beispiel werden sinnvollerweise in der der Klasse „Dokument" untergeordneten Ebene die Klassen „Präsentation", „Angebot" und „Marketingdokument" als Nachbarn definiert, da sämtliche Klassen auf Ver- triebstätigkeiten gerichtet sind. Ebenso werden die Klassen „Finanzdokument" und „Rechnung" als Nachbarn definiert, da diese auf Tätigkeiten im Bereich Controlling gerichtet sind.
Wird bei einer derartigen Definition der Regeln als Suchbegriff die Klasse „Angebot" ausgewählt, so wird durch die Regeln folgende Gesamt-Abfrage als Suchausdruck generiert:
"Präsentation" OR „Angebot" OR „Offerte" OR „Marketingdokument".
Wie aus diesen Beispielen ersichtlich ist, kann durch Verändern der Regeln der Inhalt der Suchausdrücke in erheblichem Umfang geändert werden.
Als weitere Modifikationsmöglichkeit ist es ebenso möglich, die Klassen- Struktur selbst zu ändern.
Bezugszeichenliste
(1) Datenverarbeitungssystem
(2) Speichereinheit
(3) Server
(4) Rechnereinheit
(5, 5 ') Software-Modul
(6) Eingabeeinheit
(7) Ausgabeeinheit