EP1690219A2 - Inferenzmaschine - Google Patents

Inferenzmaschine

Info

Publication number
EP1690219A2
EP1690219A2 EP04803492A EP04803492A EP1690219A2 EP 1690219 A2 EP1690219 A2 EP 1690219A2 EP 04803492 A EP04803492 A EP 04803492A EP 04803492 A EP04803492 A EP 04803492A EP 1690219 A2 EP1690219 A2 EP 1690219A2
Authority
EP
European Patent Office
Prior art keywords
rules
data
inference
processing system
data processing
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.)
Withdrawn
Application number
EP04803492A
Other languages
English (en)
French (fr)
Inventor
Jürgen ANGELE
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.)
SEMEO SERVICES GMBH
Original Assignee
ontoprise GmbH
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 ontoprise GmbH filed Critical ontoprise GmbH
Publication of EP1690219A2 publication Critical patent/EP1690219A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Definitions

  • Inference machines are able to answer questions or find new information by logical closing.
  • BESTATIGUNGSKOPIE The object of the invention is to make working with inference machines more user-friendly.
  • An inference machine is usually based on a data processing system or a computer system with means for storing data.
  • the data processing system has an interrogation unit for determining output variables with access to the stored data.
  • the data are assigned to predefined classes which are part of at least one stored class structure which forms an object model. So-called ontologies are often used as the object model.
  • the object model and is preferably implemented in the form of a hierarchical structure of the classes.
  • the classes of a certain level of the hierarchical structure are assigned to exactly one class of the higher level.
  • the class structure can also be implemented in other ways, for example as an acyclic graph, in which multiple inheritance can also be permitted.
  • the classes are assigned attributes that can be passed on within a class structure. Attributes are characteristics of a class. For example, the Person class can have the Hair Color attribute. This attribute is used for different specific people (called “instances”). Different values (called “attribute values”) assigned, e.g. B. brown, blonde, black, etc.
  • the query unit contains an inference machine or inference unit, by means of which rules can be evaluated.
  • classes, attributes, synonyms, relations, that is, relationships between elements or assignments are briefly referred to as all that makes up the
  • the rules are i. d.
  • An important property of a declarative system of rules is that the results of an evaluation do not depend on the order in which the rules are defined.
  • the rules allow e.g. B. Finding information that was not explicitly described by the search terms.
  • the inference unit even enables - by / linking individual statements to generate new information that was not explicitly included in the data, but can only be inferred from the data.
  • Query terms can be entered as input variables via the query unit, which are not only formed by the stored data, but can also be formed by the classes or attributes of the class structure.
  • Query terms can be entered as input variables via the query unit, which are not only formed by the stored data, but can also be formed by the classes or attributes of the class structure.
  • a question: "What articles did Mr. Mustermann write?" - Mustermann would be a specific name from the data - are also questions of the type: "What are the names of all employees of company X?” possible.
  • a search term would not be based on the specific name of an employee, but on the values of the "hatName" attribute of all instances of the employees who are related to the instance X from the class of the companies, namely in the relationship "is employed".
  • abraham one.
  • sarah oman. isaac: man [fatherls-> abraham; motherIs-> sarah].
  • ishmael man [fatherls-> abraham; motherIs-> hagar: woman].
  • jacob man [£ atherIs -.> isaac; motherIs-> rebekah. :: woman] •. esau: man [fatherls-> isaac; motherIs-> rebekah].
  • F-logic is obviously also suitable as a language to formulate a class structure.
  • the ontology languages RDF, DAML + OIL and OWL are preferably used to define class structures.
  • a query takes the form of a rule, but without the rule header on the left.
  • the answer is:
  • Such systems are e.g. B. from DE 101 03 845 AI known
  • the data processing system comprises at least one information generating unit and / or storage unit for the storage and / or generation of a data file ⁇ forming data.
  • Information such. B. via sensors, the Internet, sensors connected to the Internet or other input options.
  • data come e.g. B. Operating states of machines in question, further
  • the data processing system has at least one computer unit for generating an object model, which consists of a class structure with classes and, as a rule, associated attributes.
  • the data can be structured using the object model. • .
  • the object model includes a declarative system of rules.
  • the data processing system has an input / output unit for entering a query and for outputting answers to the query. Furthermore, an inference unit in which the rules are evaluated in order to generate a response to a query.
  • An evaluation unit is assigned to the inference unit, it being possible to read into these inference protocols via instantiations of rules.
  • explanations about the evaluation of rules are generated in the evaluation unit.
  • a user receives a documentation of a query he has carried out, as to how this query was processed in order to generate a specific output size on it. The logical steps, the derivation to answer the question is shown.
  • the user thus has a possibility of checking whether the answer to a query has come about.
  • the user can use the explanations to check the relevance and credibility, ie generally the quality of an output variable generated in the data processing system.
  • Another advantage for the user is that the user can use the explanations given to formulate subsequent queries more precisely. This creates a data processing system with significantly improved search options.
  • the explanations are generated in an evaluation unit, which preferably has an inference unit.
  • the explanations are generated by evaluating predefined explanation rules.
  • Inference protocols which contain the facts (instances) that were used to process a query in the instantiation of rules in the inference unit of the query unit, serve as input variables for this.
  • an explanation can be generated for each inference step defined by a rule, which is carried out to process a query in the inference unit of the query unit, and output as an output variable.
  • the explanations are generated in each case • ' , ••, by means of explanatory rules, which are in: .tder -Leinferenzunheit der Aus. 0 value unit can be processed.
  • further explanation rules are provided in order to make a choice between different explanation options.
  • the issuance of redundant explanations can be avoided with such explanation rules.
  • external data are included to generate the explanations, as a result of which the meaningfulness of the explanations is considerably increased. This data can be structured particularly advantageously in at least one object model.
  • An example of such external data are user profiles of users, which the data processing system use purposes. By evaluating the user profiles, explanations are generated which are optimally adapted to the respective user, in particular his level of knowledge, training and the like.
  • the object of the invention is further achieved by a method. Individual process steps are described in more detail below. The steps do not necessarily have to be carried out in the order specified, and the method to be described can also have further steps not mentioned.
  • a database is generated and / or saved.
  • an object model is created, consisting of a class structure and a declarative system of rules.
  • the data can be structured using the object model.
  • the rules link elements of the class structure and / or data.
  • a query is entered.
  • An inference unit evaluates the query by evaluating the rules.
  • inference protocols are generated in an evaluation unit assigned to the inference unit about instantiations of the rules that occurred during the evaluation.
  • explanations about the evaluation of the rules are generated in the evaluation unit.
  • the scope of the invention includes a computer program which, when running on a computer or on a plurality of computers in a computer network, executes the method according to the invention in one of its configurations.
  • the scope of the invention includes a computer program with program code means in order to carry out the method according to the invention in one of its configurations if the program is executed on one computer or on a plurality of computers in a computer network.
  • the program code means can be stored on a computer-readable data carrier.
  • the scope of the invention includes a data carrier on which a data structure is stored which, after loading into a working and / or main memory of a computer or a plurality of computers in a computer network, can carry out the method according to the invention in one of its configurations.
  • a computer program product stored on a machine-readable carrier, the program code means for carrying out the inventive method in egg ⁇ - -ner perform its embodiments when> that program on a computer or on a plurality of computers of a Computer network is running.
  • a computer program product is understood to mean the program as a tradable product. In principle, it can be in any form, for example on paper or a computer-readable data carrier, and can in particular be distributed over a data transmission network.
  • the scope of the invention includes a modulated data signal which contains instructions for executing the method according to the invention in one of its configurations, which can be executed by a computer system or by a plurality of computers in a computer network.
  • a modulated data signal which contains instructions for executing the method according to the invention in one of its configurations, which can be executed by a computer system or by a plurality of computers in a computer network.
  • a computer system Both a stand-alone computer and a network of computers, for example an in-house, closed network, or computers that are connected to one another via the Internet.
  • the computer system can be implemented by a client-server constellation, parts of the invention running on the server and others on a client.
  • FIG. 1 is a schematic representation of an embodiment of the data processing system according to the invention.
  • FIG. 2 shows an example of a class structure for the data processing system according to FIG. 1;
  • Fig. 3 is a schematic representation of the process flow.
  • FIG. 1 shows an exemplary embodiment of the data processing system 1 according to the invention.
  • the data processing system 1 has a storage unit 2, on which an inventory of data is stored.
  • the storage unit 2 is formed by a database system, a file system (ie by a quantity of files stored on a computer) or the like.
  • a database system ie by a quantity of files stored on a computer
  • several database systems possibly integrated on different computer systems, can also be provided.
  • a memory 3 is assigned to the storage unit 2, via which the data stored in the storage unit 2 are accessed.
  • a computer unit 4 is assigned to this server 3.
  • the computing unit 4 consists of a processor system or the like. In the simplest case, the computing unit 4 is formed by a personal computer or a workstation.
  • the computer unit 4 has a first software module 5, by means of which an object model forming an ontology can be generated.
  • the data of the storage system can be structured in a class structure using the object model.
  • the software module 5 is connected to an interrogation unit 6, which also consists of a software module.
  • a first interference unit 7 is implemented in the interrogation unit 6.
  • the computer unit 4 according to FIG. 1 further comprises an input / output unit 8 via which information can be input into the computer unit 4 or output from the computer unit 4.
  • the input / output unit 8 essentially consists of a
  • the interrogation unit 6 is connected via an interface module 9 to an evaluation unit 10, in which a second inference unit 11 is implemented. Furthermore, the evaluation unit 10 has a software module 12, by means of which a further object model can be generated. With this object model, external data can be structured. Access to the external Data is sent via server 3 or suitable interface components.
  • the stock of data stored in the storage unit 2 is structured by means of the object model generated with the software module 5.
  • Such an object model generally represents an ontology and has a structure of classes, wherein the structure can be designed as a hierarchical structure. In hierarchical structures, classes of a given level are assigned to exactly one class of a higher level. Only single inheritance is permitted. In general, the class structure can also be designed as an acyclic graph, in which multiple inheritance is permitted.
  • FIG. 2 shows an example of two such hierarchical class structures, each of which forms an object model.
  • the first object model contains a class "publications”, which are assigned as a subclass “lectures” and "documents”.
  • the second object model contains a class "people”, which are assigned as subclasses "self-employed” and “employees”.
  • the subclass "employees” are assigned as further subclasses "technical employees” and "commercial employees”.
  • Certain attributes are assigned to each class in a hierarchical class structure.
  • An attribute that is assigned to a class such as the "People" class is passed on to the subclasses that are subordinate to the class.
  • Such an attribute can, for example, be a Be a company location.
  • This attribute is inherited within the class structure, in this example to the subordinate classes “self-employed” and “employees” as well as the subclasses "commercial employees” and "technical employees” assigned to this class.
  • queries are entered by a user as input variables via the input / output unit 8 of the computer unit 4.
  • the processing of the queries takes place in the query unit 6, in particular in the inference unit 7 implemented there. Suitable rules for processing a query are searched and evaluated there.
  • the rules in the inference unit 7 contain logical links between classes and / or attributes and / or data of the data stock. Since the rules are a declarative system, the order in which the rules are defined is irrelevant. In the inference unit 7, the one
  • the rules are preferably written in the rule languages F-Logic, OWL, TRIPLE, SWRL or RULEML, the class structure of the ontology preferably being designed as an F-Logic, RDF (S) or OWL model.
  • a rule that can be used to answer this query can be formulated as follows: "If a person writes a document and this document is about a given subject, then that person has knowledge of the subject.” F-Logic could express this rule as follows (see.,. ' .Ss ⁇ ⁇ below):,
  • the ontology itself is defined in this first section.
  • the data contains documents with two relevant attributes: the author and the area of knowledge.
  • This variable substitution provides the result of our query.
  • the result is preferably output via the input / output unit 8.
  • the query was processed by an instantiation of the rule, ie the rule are considered as concrete values, so-called instances (facts)., 'Die.
  • an explanation is generated in the evaluation unit 10, which is output as a further output variable via the input / output unit 8.
  • an inference protocol is read into the inference unit 11 of the evaluation unit 10 via the interface module 9.
  • the inference log generally contains an indexing, which indicates which rules were processed during a query.
  • the inference log also contains the instances (facts) of the respective rules for processing the query.
  • the person, document and topic form variables to which the instances of the inference protocol have been assigned to process the explanation rules.
  • explanations can be generated in such a way that for each rule that is processed in the inference unit 7, an explanation is generated in the inference unit 11. This case represents the greatest possible level of detail in the generation of explanations.
  • explanation rules can be used to avoid redundant explanations.
  • the acidity of two substances can be determined by determining the pH values, which are calculated by the amounts of the respective substances dissolved in aqueous solutions.
  • a qualitative determination can be made, for example by determining the number of oxygen atoms in the formulas of these substances.
  • Both calculation methods can be output in the form of explanations from the inner unit 11 as output variables for the description of the substances.
  • only one of the two explanations can be selected on the basis of a relevance check, so that the output variables no longer have redundant explanations. Since the evaluation unit 10 has an interface to external data, these external data can also be included as defined external knowledge in the generation of explanations. In the exemplary embodiment according to FIG.
  • the evaluation unit 10 has, in addition to the inference unit 11, the software module 12, by means of which at least one object model for structuring external data is generated.
  • the mode of operation of the inference unit 11 and the software module 12 is analogous to the inference unit 7 and the associated software module 5.
  • the user profiles are preferably stored as data files in the computer unit 4 and are structured with an object model generated in the software module 12.
  • the explanations generated in the inference unit 11 can be adapted to the level of knowledge of the respective user.
  • the explanations explain chemical processes, the explanations can be made on a qualitative level if the user is a student or a pupil. If, on the other hand, the user is a chemist with a doctorate, the explanations can also include quantitative calculations.
  • Figure 3 shows a schematic representation of the process flow in the data processing system.
  • a database is generated in step 300 and / or the database is stored 302.
  • an object mode is generated which consists of a declarative; System of rules and a class structure.
  • the data is structured using the object model.
  • the rules link elements of the class structure and / or data.
  • a query 306 is entered via an input device.
  • the query 308 is evaluated in an inference unit by evaluating the rules.
  • the output 312 of the results of the evaluation 308 takes place via an output unit.
  • an evaluation unit which is assigned to the inference unit, reads 316 inference protocols via instantiations of the rules that occurred during the evaluation.
  • explanations about the evaluation of the rules are generated in the evaluation unit in step 318. Via an output In step 320, the generated explanations are output.

Abstract

Für die Beantwortung von Fragen zu vorgegebenen Daten mit Hilfe einer Ontologie, durch die die Daten strukturiert sind, und einem deklarativen System von Regeln, welche zusätzliches Wissen abbilden, wird eine Inferenzmaschine eingesetzt. Während der Auswertung der Abfrage werden in einer der Inferenzeinheit zugeordneten Auswerteeinheit Inferenzprotokolle über Instantiierungen der Regeln, die während der Auswertung aufgetreten sind, eingelesen. In der Auswerteeinheit werden in Abhängigkeit der Inferenzprotokolle Erklärungen über die Auswertung der Regeln generiert. Dadurch wird die logische Herleitung der Antworten transparent. Das System kann technische Fragen beantworten und technische Überlegungen durchführen und erklären.

Description

Inferenzmaschine
Beschreibung
Gebiet der Erfindung
Inferenzmaschinen sind in der Lage, durch logisches Schließen Fragen zu beantworten oder neue Informationen aufzufinden.
Eine Schwierigkeit im Umgang mit Inferenzmaschinen besteht darin, dass die von einer Inferenzmaschine gegebenen Antworten für denjenigen, der die Frage gestellt hat, u. U. nicht nachvoll- ziehbar sind. Damit ist es oft auch schwierig, unbefriedigende Antworten auf eine Frage dadurch zu verbessern, dass die Frage präziser gestellt wird.
Aufgabe
BESTATIGUNGSKOPIE Aufgabe der Erfindung ist es, das Arbeiten mit Inferenzmaschinen benutzerfreundlicher zu gestalten.
Stand der Technik
Im Folgenden soll zunächst die Arbeitsweise einer Inferenzma- schine kurz erläutert werden.
Eine Inferenzmaschine basiert in der Regel auf einem Datenverarbeitungssystem bzw. einem Rechnersystem mit Mitteln zur Speicherung von Daten. Das Datenverarbeitungssystem hat eine Abfrageeinheit zur Ermittlung von Ausgangsgrößen unter Zugriff auf die abgespeicherten Daten. Die Daten sind vorgegebenen Klassen zugeordnet, die Bestandteil wenigstens einer abgespeicherten, ein Objektmodell bildenden Klassenstruktur, sind. Häufig werden als Objektmodell sog. Ontologien verwendet.
Das Objektmodell und wird vorzugsweise in Form einer hierarchi- sehen Struktur der Klassen realisiert. Innerhalb der hierarchischen Struktur sind die Klassen einer bestimmten Ebene der hierarchischen Struktur genau einer Klasse der übergeordneten Ebene zugeordnet. Im Allgemeinen gibt es in einem solchen Fall nur eine einfache Vererbung von Eigenschaften. Im Allgemeinen kann die Klassenstruktur noch auf andere Arten ausgeführt werden, beispielsweise als azyklischer Graph, in dem auch Mehrfachvererbung zugelassen sein kann.
Den Klassen sind Attribute zugeordnet, die innerhalb einer Klassenstruktur weitervererbbar sind. Attribute sind Merkmale einer Klasse. Die Klasse "Person" kann beispielsweise das Attribut "Haarfarbe" haben. Diesem Attribut werden für unterschiedliche konkrete Personen (genannt "Instanzen") unter- schiedliche Werte (genannt "Attributwerte") zugeordnet, z. B. braun, blond, schwarz, etc.
Die Abfrageeinheit enthält eine Inferenzmaschine bzw. Inferen- zeinheit, mittels derer Regeln auswertbar sind.
Die Regeln verknüpfen Elemente der Klassenstruktur und/oder Daten. Als Elemente der Klassenstruktur werden dabei Klassen, Attribute, Synonyme, Relationen, also Beziehungen zwischen Ele- menten bzw. Zuordnungen, kurz all das bezeichnet, aus dem das
Objektmodell bzw. die Klassenstruktur aufgebaut ist. Die Regeln sind i. d. R. als deklaratives System von Regeln ausgestaltet. Eine wichtige Eigenschaft eines deklarativen Systems von Regeln besteht darin, dass die Ergebnisse einer Auswertung nicht von der Reihenfolge der Definition der Regeln abhängen.
Die Regeln ermöglichen z. B. das Auffinden von Informationen, die nicht explizit durch die Suchbegriffe beschrieben wurden. Die Inferenzeinheit ermöglicht es sogar,- durch/Verknüpfen von einzelnen Aussagen neue Informationen zu erzeugen, die nicht explizit in den Daten enthalten waren, sondern sich nur aus den Daten erschließen lassen.
Über die Abfrageeinheit können als Eingabegrößen Abfragebegrif- fe eingegeben werden, welche nicht nur von den abgespeicherten Daten gebildet sind, sondern auch von den Klassen oder Attributen der Klassenstruktur gebildet sein können. Neben einer Frage: "Welche Artikel hat Herr Mustermann verfasst?" - Mustermann wäre ein konkreter Name aus den Daten - sind auch Fragen vom Typ: "Wie lauten die Namen aller Angestellten des Unternehmens X?" möglich. In einem solchen Beispiel würde mit einem Suchbegriff nicht nach dem konkreten Namen eines Angestellten, sondern nach den Werten des Attributs "hatName" aller Instanzen der Angestellten gesucht, die mit der Instanz X aus der Klasse der Unternehmen in Beziehung stehen, und zwar in der Beziehung "istAngestellt" .
Derartige Abfragen werden häufig in der Sprache F-Logik formuliert (J. Angele, G. Lausen: "Ontologies in F-Logic" in S. Staab, R. Studer (Eds.) : Handbook on Ontologies in Information Systems. International Handbooks on Information Systems, Springer Verlag, 2003, Seite 29) . Zum groben, intuitiven Verständnis von F-Logik mag das folgende Beispiel dienen, welches die Beziehungen zwischen bekannten biblischen Personen abbildet:
Zunächst einige Fakten:
abraham:man. sarah: oman. isaac :man [fatherls->abraham; motherIs->sarah] . ishmael :man [fatherls->abraham; motherIs->hagar : woman] . jacob :man [£atherIs-.>isaac ; motherIs->rebekah.::woman] •. esau:man [fatherls->isaac; motherIs->rebekah] .
Man erkennt gewisse Klassen: "man" und "woman", also "Mann" und "Frau". Abraham ist also ein Mann. Die Klasse "man" hat z. B. die Attribute "father" und "mother" , die Attribute geben also die Eltern an. Z. B. hat der Mann Isaak den Vater Abraham und die Mutter Sarah.
F-Logik ist erkennbar auch als Sprache geeignet, um eine Klassenstruktur zu formulieren. Neben F-Logik werden vorzugsweise jedoch die Ontologie-Sprachen RDF, DAML+OIL und OWL zur Definition von Klassenstrukturen verwendet.
Weiter mit einigen Regeln, die Zusammenhänge wiedergeben: FORALL X,Y X[sonIs->>Y] <- Y:man [fatherIs->X] . FORALL X,Y X[sonIs->>Y] <- Y:man [motherIs->X] . FORALL X,Y X[daughterls->>Y] <- Y: woman [fatherIs->X] . FORALL X,Y X [daughterIs->>Y] <- Y: woman [motherIs->X] .
Regeln in F-Logik weisen stets links einen Regelkopf und rechts einen Regelkörper auf. Die erste Regel lautet übersetzt z. B.: Ist Y ein Mann, dessen Vater X war, so ist Y einer der Söhne von X. Dabei zeigt der einfache Pfeil "->« an, dass für ein bestimmtes Attribut nur ein Wert möglich ist, während der doppelte Pfeil "->>" anzeigt, dass mehrere Werte möglich sind.
Schließlich eine Abfrage, die nach allen Frauen fragt, die ei- nen Sohn haben, dessen Vater Abraham ist. Mit anderen Worten: Mit welchen Frauen hatte Abraham einen Sohn?
FORALL X,Y <- X : woman [sonIs->>Y [fatherls->abraham] ] .
Eine Abfrage hat die Form einer Regel, jedoch ohne den links stehenden Regelkopf. Die Antwort lautet:
X = sarah X = hagar .
Derartige Systeme sind z. B. aus der DE 101 03 845 AI bekannt
Lösung
Die Aufgabe wird durch die Erfindungen mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildungen der Erfindungen sind in den Unteransprüchen gekennzeichnet. Der Wortlaut sämtlicher Ansprüche wird hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht.
Das erfindungsgemäße DatenverarbeitungsSystem weist wenigstens eine Informationserzeugungseinheit und/oder Speichereinheit zur Speicherung und/oder Generierung ~von einen Datenbestand bildenden Daten auf. Dabei können Informationen z. B. über Sensoren, das Internet, über mit dem Internet verbundene Sensoren oder sonstige Eingabemöglichkeiten gewonnen werden. Als Daten kommen z. B. Betriebszustände von Maschinen in Frage, ferner
Temperaturwerte von verschiedenen Städten in der Welt und weitere Daten, wie sie z. B. in den folgenden Beispielen genannt werden.
Ferner hat das Datenverarbeitungssystem wenigstens eine Rechnereinheit zur Generierung eines Objektmodells, welches aus einer Klassenstruktur mit Klassen und i. d. R. diesen zugeordneten Attributen besteht. Die Daten sind mittels des Objektmodells strukturierbar. .
Neben der Klassenstruktur umfasst das Objektmodell ein deklaratives System von Regeln.
Das Datenverarbeitungssystem hat eine Ein/Ausgabeeinheit zur Eingabe einer Abfrage und zur Ausgabe von Antworten auf die Abfrage. Ferner eine Inferenzeinheit , in welcher zur Generierung einer Antwort auf eine Abfrage die Regeln ausgewertet werden.
Der Inferenzeinheit ist eine Auswerteeinheit zugeordnet, wobei in diese Inferenzprotokolle über Instantiierungen von Regeln einlesbar sind. In der Auswerteeinheit werden in Abhängigkeit der Inferenzprotokolle Erklärungen über die Auswertung von Regeln generiert . Durch die Ausgabe von Erklärungen erhält ein Benutzer auf eine von ihm durchgeführte Abfrage eine Dokumentation, wie diese Abfrage abgearbeitet wurde, um darauf eine bestimmte Ausgabegröße zu generieren. Die logischen Schritte, die Herleitung zur Beantwortung der Frage wird aufgezeigt. Anhand der Erklärungen erhält der Benutzer somit eine Kontrollmöglichkeit über das Zustandekommen der Antwort auf eine Abfrage. Insbesondere kann der Benutzer anhand der Erklärungen die Relevanz und Glaubwür- digkeit, d. h. allgemein die Güte einer im Datenverarbeitungs- System generierten Ausgabegröße überprüfen. Ein weiterer Vorteil besteht für den Benutzer darin, dass dieser anhand der angegebenen Erklärungen nachfolgende Abfragen exakter formulieren kann. Damit wird ein Datenverarbeitungssystem mit erheblich verbesserten Recherchenmöglichkeiten geschaffen.
Mit einem solchen System können technische Fragen beantwortet werden. Es kann z. B. ein technisches Expertensystem aufgebaut werden, das in der Lage ist, technisch korrekte Überlegungen anzustellen, technisch korrekte Schlüsse zu ziehen und diese auch zu erklären. Es können technische Vorschläge, basierend auf technischen Überlegungen, unterbreitet werden.
Die Generierung der Erklärungen erfolgt in einer Auswerteein- heit, welche bevorzugt eine Inferenzeinheit aufweist. In dieser Inferenzeinheit werden die Erklärungen durch Auswertung vorgegebener Erklärungsregeln generiert. Als Eingangsgrößen hierfür dienen Inferenzprotokolle, welche die Fakten (Instanzen) enthalten, die bei der Instantiierung von Regeln in der Inferen- zeinheit der Abfrageeinheit zur Bearbeitung einer Abfrage verwendet wurden .
Die Generierung der Erklärungen erfolgt damit analog zur Aus- wertung der Abfragen durch Auswertung von Regeln, die applikationsspezifisch vorgegeben und bei Bedarf geändert werden können.
5 Gemäß einer ersten Variante kann dabei zu jedem durch eine Regel definierten Inferenzschritt , der zur Abarbeitung einer Abfrage in der Inferenzeinheit der Abfrageeinheit durchgeführt wird, eine Erklärung generiert und als Ausgangsgröße ausgegeben werden. Bei dieser Variante wird der größtmögliche Detail- 0 lierungsgrad bei der Generierung der Erklärungen erhalten, da jeder Inferenzschritt einzeln dokumentiert wird.
Gemäß einer zweiten Variante können mehrere Inferenzschritte zur Abarbeitung von Abfragen in einer Erklärung abgehandelt 5 werden. Damit wird ein höherer Abstraktionsgrad der Erklärung erhalten.
Die Generierung der Erklärungen erfolgt dabei in jedem Fall •', •• , mitteis Erklärungs egeln, die in: .tder-LInferenzeinheit der Aus- . 0 werteeinheit abgearbeitet werden. In einer besonders vorteilhaften Ausgestaltung sind weitere Erklärungsregeln vorgesehen, um eine Auswahl zwischen verschiedenen Erklärungsmöglichkeiten zu treffen. Insbesondere kann mit derartigen Erklärungsregeln die Ausgabe von redundanten Erklärungen vermieden werden. 5 In einer besonders vorteilhaften Ausführungsform werden zur Generierung der Erklärungen externe Daten miteinbezogen, wodurch die Aussagefähigkeit der Erklärungen erheblich erhöht wird. Besonders vorteilhaft können diese Daten in wenigstens einem Ob- 0 jektmodell strukturiert sein.
Ein Beispiel für derartige externe Daten sind Benutzerprofile von Benutzern, welche das Datenverarbeitungssystem zu Recher- chenzwecken nutzen. Durch die Auswertung der Benutzerprofile werden Erklärungen generiert, welche an den jeweiligen Benutzer, insbesondere dessen Kenntnisstand, Ausbildung und dergleichen, optimal angepasst sind.
Die Aufgabe der Erfindung wird ferner durch ein Verfahren gelöst. Im Folgenden werden einzelne Verfahrensschritte näher beschrieben. Die Schritte müssen nicht notwendigerweise in der angegebenen Reihenfolge durchgeführt werden, und das zu schil- dernde Verfahren kann auch weitere, nicht genannte Schritte aufweisen.
Verfahrensgemäß werden - insbesondere unter Verwendung eines Datenverarbeitungssystems - die folgenden Schritte durchge- führt. Zunächst wird ein Datenbestand generiert und/oder gespeichert. Ferner wird ein Objektmodell erzeugt, bestehend aus einer Klassenstruktur und einem deklarativen System von Regeln. Die Daten sind mit Hilfe des Objektmodells strukturierbar. Die Regeln verknüpfen Elemente der Klassenstruktur und/oder Daten. Eine Abfrage wird eingegeben. Eine Inferenzeinheit wertet die Abfrage durch Auswerten der Regeln aus . Während der Auswertung der Abfrage werden in einer der Inferenzeinheit zugeordneten Aus- werteeinheit Inferenzprotokolle über Instantiierungen der Regeln, die während der Auswertung aufgetreten sind, generiert. In der Auswerteeinheit werden in Abhängigkeit der Inferenzprotokolle Erklärungen über die Auswertung der Regeln generiert .
Ferner gehört zum Umfang der Erfindung ein Computerprogramm, das bei Ablauf auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführt. Weiterhin gehört zum Umfang der Erfindung ein Computerprogramm mit Programmcode-Mitteln, um das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks ausgeführt wird. Insbesondere können die Programmcode-Mittel auf einem computerlesbaren Datenträger gespeichert sein.
Außerdem gehört zum Umfang der Erfindung ein Datenträger, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder einer Mehrzahl von Computern eines Computer-Netzwerks das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführen kann.
Auch gehört zum Umfang der Erfindung ein Computerprogramm- Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln, um das erfindungsgemäße Verfahren in ei- - -ner seiner Ausgestaltungen durchzuführen, wenn> das, Programm auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks ausgeführt wird.
Dabei wird unter einem Computer-Programmprodukt das Programm als handelbares Produkt verstanden. Es kann grundsätzlich in beliebiger Form vorliegen, so zum Beispiel auf Papier oder einem computerlesbaren Datenträger und kann insbesondere über ein Datenübertragungsnetz verteilt werden.
Schließlich gehört zum Umfang der Erfindung ein moduliertes Da- tensignal, welches von einem Computersystem oder von einer Mehrzahl von Computern eines Computer-Netzwerks ausführbare Instruktionen zum Ausführen des erfindungsgemäßen Verfahrens in einer seiner Ausgestaltungen enthält. Als Computersystem kommen sowohl ein Stand-alone Computer in Betracht, als auch eine Netzwerk von Rechnern, beispielsweise ein hausinternes, geschlossenes Netz, oder auch Rechner, die über das Internet miteinander verbunden sind. Ferner kann das Computersystem durch eine Client-Server-Konstellation realisiert sein, wobei Teile der Erfindung auf dem Server, andere auf einem Client ablaufen.
Weitere Einzelheiten und Merkmale der Erfindung ergeben sich aus der nachfolgenden Beschreibung von bevorzugten Ausführungs- beispielen in Verbindung mit den Unteransprüchen. Hierbei können die jeweiligen Merkmale für sich alleine oder zu mehreren in Kombination miteinander verwirklicht sein. Die Erfindung ist nicht auf die Ausführungsbeispiele beschränkt.
Die Ausführungsbeispiele sind in den Figuren schematisch dargestellt. Gleiche Bezugsziffern in den einzelnen Figuren bezeichnen dabei gleiche oder funktionsgleiche bzw. hinsichtlich ihrer Funktionen einander entsprechende Elemente. Im Einzelnen zeigt:
Fig. 1 eine schematische Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Datenverarbeitungssystems ; Fig. 2 ein Beispiel einer Klassenstruktur für das Datenverarbeitungssystem gemäß Figur 1 ; Fig. 3 eine schematische Darstellung des Verfahrensablauf.
Figur 1 zeigt ein Ausführungsbeispiel des erfindungsgemäß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. Die Rechnereinheit 4 besteht aus einem Prozessorsystem o- der dergleichen. Im einfachsten Fall ist die Rechnereinheit 4 von einem Personalcomputer oder einer Workstation gebildet.
Die Rechnereinheit 4 weist ein erstes Software-Modul 5 auf, mittels dessen ein eine Ontologie bildendes Objektmodell generierbar ist. Mittels des Objektmodells sind die Daten des Spei- chersystems in einer Klassenstruktur strukturierbar.
Das Software-Modul 5 steht in Verbindung mit einer Abfrageein- heit 6, die ebenfalls aus einem Software-Modul besteht. In der Abfrageeinheit 6 ist eine erste In erenzeinheit 7 implemen- tiert.
Die Rechnereinheit 4 gemäß Figur 1 umfasst weiterhin eine Ein- /Ausgabeeinheit 8 über welche Informationen in die Rechnereinheit 4 eingebbar bzw. aus der Rechnereinheit 4 ausgebbar sind. Die Ein- /Ausgabeeinheit 8 besteht im Wesentlichen aus einem
Terminal .
Die Abfrageeinheit 6 ist über ein Schnittstellenmodul 9 mit einer Auswerteeinheit 10 verbunden, in welcher eine zweite Infe- renzeinheit 11 implementiert ist. Weiterhin weist die Auswerteeinheit 10 ein Software-Modul 12 auf, mittels dessen ein weiteres Objektmodell generierbar ist. Mit diesem Objektmodell können externe Daten strukturiert werden. Der Zugang zu den exter- nen Daten erfolgt über den Server 3 oder geeignete Schnittstel- lenkomponenten .
Die Funktion des Datenverarbeitungssystems 1 gemäß Figur 1 wird im Folgenden unter Bezug auf die Figur 2 erläutert .
Der in der Speichereinheit 2 gespeicherte Bestand der Daten wird mittels des mit dem Software-Modul 5 generierten Objektmodells strukturiert. Ein derartiges Objektmodell stellt generell eine Ontologie dar und weist eine Struktur von Klassen auf, wobei die Struktur als hierarchische Struktur ausgebildet sein kann. Bei hierarchischen Strukturen sind Klassen einer vorgegebenen Ebene jeweils genau einer Klasse einer darüber liegenden Ebene zugeordnet. Es sind nur Einfachvererbungen zugelassen. Allgemein kann die Klassenstruktur auch als azyklischer Graph ausgebildet sein, bei welchem Mehrfachvererbungen zugelassen sind.
Figur- 2 zeigt beispielhaft zwei derartige hierarchische Klas- senstrukturen, die jeweils ein Objektmodell bilden. Das erste Objektmodell enthält eine Klasse "Veröffentlichungen", welcher als Unterklasse "Vorträge" und "Dokumente" zugeordnet sind. Das zweite Objektmodell enthält eine Klasse "Personen", welcher als Unterklassen "Selbstständige" und "Angestellte" zugeordnet sind. Der Unterklasse "Angestellte" sind als weitere Unterklassen "technische Angestellte" und "kaufmännische Angestellte" zugeordnet .
Den Klassen jeweils einer hierarchischen Klassenstruktur sind bestimmte Attribute zugeordnet. Dabei wird ein Attribut, welches einer Klasse wie zum Beispiel der Klasse "Personen" zugeordnet ist, an die der Klasse untergeordneten Unterklassen weiter vererbt. Ein derartiges Attribut kann beispielsweise ein Unternehmensstandort sein. Dieses Attribut wird innerhalb der Klassenstruktur, im vorliegenden Beispiel an die untergeordneten Klassen "Selbstständige" und "Angestellte" sowie auch die dieser Klasse zugeordneten Unterklassen "kaufmännische Ange- stellte" und "technische Angestellte" vererbt.
Auf diese Weise entsteht eine besonders effiziente Strukturierung der Daten. Zur Durchführung von Recherchen in dem Datenbestand werden von einem Benutzer Abfragen als Eingabegrößen über die Ein- /Ausgabeeinheit 8 der Rechnereinheit 4 eingegeben. Die Bearbeitung der Abfragen erfolgt in der Abfrageeinheit 6, insbesondere in der dort implementierten Inferenzeinheit 7. Dabei werden dort zur Bearbeitung einer Abfrage passende Regeln gesucht und ausgewertet .
Die Regeln in der Inferenzeinheit 7 beinhalten logische Verknüpfungen zwischen Klassen und/oder Attributen und/oder Daten des Datenbestandes. Da es sich bei den Regeln um ein deklaratives System handelt, spielt die Reihenfolge der Definition der Regeln keine Rolle. In der Inferenzeinheit 7 werden die einer
Abfrage zugeordneten Regeln zur Generierung definierter Ausgabegrößen ausgewertet. Zweckmäßigerweise werden die Ausgabegrδ- ßen dann über die Ein- /Ausgabeeinheit 8 ausgegeben.
Die Regeln sind vorzugsweise in den Regelsprachen F-Logic, OWL, TRIPLE, SWRL oder RULEML abgefasst, wobei die Klassenstruktur der Ontologie vorzugsweise als F-Logic, RDF(S) oder OWL Modell ausgebildet ist.
Durch die Verknüpfung von Attributen und Klassen über eine vorgegebene Anzahl von Regeln können auf einfache Weise Untermengen von Daten im Datenbestand abgefragt werden, ohne dass dabei in den Abfragebefehlen auf bestimmte Daten Bezug genommen wer- den muss.
Beispiel 1
Im Folgenden wird ein Beispiel für eine Abfrage dieses Typs beschrieben. Ein Benutzer möchte sich nach der Expertise einer Person erkundigen, welche dem Benutzer unter dem Namen "Mustermann" bekannt ist. Für eine bestimmte Ontologie könnte eine entsprechende Abfrage in F-Logic wie folgt ausgedrückt werden:
FORALL X,Y <- X: Person [Name- >Mustermann; Kenntnis->>Y] .
Eine Regel, die verwendet werden kann, um diese Abfrage zu be- antworten, kann wie folgt formuliert werden: "Wenn eine Person ein Dokument schreibt, und dieses Dokument handelt von einem gegebenen Thema, dann hat diese Person Wissen über dieses Thema. " In F-Logic könnte diese Regel folgendermaßen ausgedrückt werden (sehen.,.'.ßie unten) : ,
FORALL X,Y,Z Y [Kenntnis->>Z] <- X : Dokument [Autor- >>Y: Person] AND X [Thema- >>Z] .
Die Klassen "Person" und "Dokument" werden auf diese Weise mit- einander verbunden. Bezug wird dabei auf das Thema des Dokuments genommen, welches ein Attribut der Klasse "Dokument" ist. Die Expertise der Person mit dem Namen "Mustermann" erhält man als Ausgangsgrößen für die oben formulierte Abfrage.
Für die Implementierung dieses Beispiels können verschiedene
Logik-Sprachen verwendet werden. Als Beispiel wird eine Implementierung mit der bevorzugten Logic-Sprache "F-Logic" beschrieben. /* Ontologie */ Autor— Person. Thema:: science. biotechnology: Thema. physics: Thema. chemistry: Thema. Dokument [Autor=>>Autor; Thema=>>Thema] . Person [AutorVon=>>Dokument] .
In diesem ersten Abschnitt wird die Ontologie selbst definiert. Die Daten enthalten Dokumente mit zwei relevanten Attributen: dem Autor und dem Wissensgebiet.
/* Fakten */ Paul: Person. Anna,: Person. Mustermann: Person. docl : Dokument [Thema- >>biotechnology; Autor- >>Paul] . ,doc2': „Dokument [Thema->>biotechnology-; Autor- >>Paul] -. doc3 : Dokument [Thema- >>chemistry; Autor->>Paul] . doclOO: Dokument [Thema->>physics ; Autor- >>Anna] . doclOl: Dokument [Thema->>physies; Autor- »Anna] . doc200: Dokument [Thema- >>biotechnology; Autor- >>Mustermann] .
In diesem Abschnitt definierten wir die Fakten der Ontologie.
Das sind sechs Dokumente (bezeichnet mit docl, ..., doc200) mit den genannten Themen und den genannten Autoren. Es folgt eine alternative Formulierung der o. g. Abfrage: /* Abfrage */ FORALL X < - Mustermann [Kenntnis - > >X : Thema] . Dieser Abschnitt ist der eigentliche Abfrage-Abschnitt. Mit der Regel, die im vorhergehenden Abschnitt definiert wurde, leiten wir durch logisches Schließen die Expertise des Autors "Mustermann" ab.
In der Inferenzeinheit 7 wird die o. g. Abfrage mit Hilfe der o. g. Regel ausgewertet. Dies wird an Hand des sog. " forward chaining" Verfahrens erläutert. Dabei werden die Regeln auf die Fakten und die dadurch gewonnenen Fakten so lang angewendet, wie neue Daten abgeleitet werden können.
Mit den o. g. Fakten über die Dokumente und mit der o. g. Regel : FORALL X,Y,Z Y [Kenntnis->>Z] <- X :Dokument [Autor- >>Y: Person] and X [Thema->>Z] .
werden zunächst alle Ersetzungen der Variablen X, Y und Z ge- -sucht,, für. die der Regelkörper-, .(die -reehte .Seite),, logische. wahr ist:
X=docl, Y=Paul, Z=biotechnology X=doc2, Y=Paul, Z=biotechnology X=doc3, Y=Paul, Z=chemistry X=docl00, Y=Anna, Z=physics X=docl01, Y=Anna, Z=physics X=doc200, Y=Mustermann, Z=biotechnology
Nachdem die Variablen im Regelkopf durch diese Werte ersetzt wurden, ergeben sich als Ergebnis folgende abgeleitete Fakten:
Paul [Kenntnis->>biotechnology] . Paul [Kenntnis- >>chemistry] . Anna [Kenntnis- >>physics] . Mustermann [Kenntnis- >>biotechnology] .
Im nächsten Schritt der Beantwortung unserer Abfrage
FORALL X <- Mustermann [Kenntnis->>X: Thema] .
werden diejenigen Werte für X gesucht, für die die Abfrage logisch wahr ist:
X = biotechnology
Diese Variablensubstitution liefert das Ergebnis unserer Abfrage. Das Ergebnis wird vorzugsweise über die Ein- /Ausgabeeinheit 8 ausgegeben.
Die Bearbeitung der Abfrage erfolgte durch eine Instantiierung der Regel, d. h. der Regel werden als konkrete Werte, so genannte Instanzen (Fakten).,' die. Eingangsgrößen JLKenntnis l'; und.... "Mustermann" zugeordnet.
In der Auswerteeinheit 10 wird hierzu eine Erklärung generiert, welche als weitere Ausgabegröße über die Ein- /Ausgabeeinheit 8 ausgegeben wird. Zur Generierung der Erklärung für das Zustan- dekommen des Abfrageergebnisses auf die Abfrage des Benutzers wird über das Schnittstellenmodul 9 ein Inferenzprotokoll in die Inferenzeinheit 11 der Auswerteeinheit 10 eingelesen. Das Inferenzprotokoll beinhaltet generell eine Indizierung, die angibt, welche Regeln bei einer Abfrage abgearbeitet wurden. Wei- terhin enthält das Inferenzprotokoll die Instanzen (Fakten) der jeweiligen Regeln zur Bearbeitung der Abfrage.
Im vorliegenden Beispiel enthält das Inferenzprotokoll neben der Information, dass die eine Regel abgearbeitet wurde als Instanzen: Person = Mustermann Dokument = doc200 Thema = Biotechnologie
In der Inferenzeinheit 11 der Auswerteeinheit 10 erfolgt die Generierung der Erklärung für die Regel durch eine Erklärungs- regel, die im vorliegenden Fall lautet:
Person "hat das Dokument" Dokument "geschrieben. " "Das Dokument handelt von" Thema. "Deshalb hat" Person "Kenntnisse über" Thema.
Dabei bilden Person, Dokument und Thema Variablen, welchen die Instanzen des Inferenzprotokolls zur Abarbeitung der Erklärungsregeln zugewiesen wurden.
Hierbei- bildet Person, die Variable. Personenwer.t,../,.welcher. im. vorliegenden Fall die Instanz "Mustermann" zugewiesen wird. Dokument bildet die Variable Dokumentenwert, welcher die Instanzen "doc200" zugewiesen werden. Schließlich bildet Thema die Variable Themenwert, welcher die Instanz "Biotechnologie" zugewiesen wird.
Auf diese Weise wird mittels des Inferenzprotokolls und der Erklärungsregeln folgende Erklärung generiert und als Ausgabegröße über die Ein/Ausgabeeinheit 8 ausgegeben: "Mustermann hat das Dokument doc200 geschrieben. Das Dokument handelt von Biotechnologie. Deshalb hat Mustermann Kenntnisse über Biotechnologie." In der Inferenzeinheit 7 der Abfrageeinheit 6 sind eine Vielzahl von Regeln implementiert, wobei generell zur Bearbeitung einer Abfrage auch mehrere Regeln abgearbeitet werden können.
Die Generierung von Erklärungen kann prinzipiell derart erfolgen, dass für jede Regel, die in der Inferenzeinheit 7 abgearbeitet wird, eine Erklärung in der Inferenzeinheit 11 generiert wird. Dieser Fall stellt die größtmögliche Detaillierung in der Erzeugung von Erklärungen dar.
Alternativ kann auch für mehrere Regeln, die zur Abarbeitung einer Abfrage benötigt werden, eine einzige Erklärung generiert werden, welche dann einen höheren Abstraktionsgrad aufweist.
Beispiel 2
Ein weiteres Beispiel für die Generierung von Erklärungen ist die Beschreibung eines chemischen Prozesses.'
Für den Fall, dass für jede Regel, d. h. jeden Inferenzschritt , der in der Inferenzeinheit 7 durchgeführt wird, eine separate Erklärung zur Beschreibung des chemischen Prozesses generiert wird, kann für einen dreistufigen chemischen Prozess, der im folgenden Beispiel eine Ausfällungsreaktion ist, folgendes dreistufige Erklärungsschema generiert werden: a) Auflösung der Substanzen AB und CD in Lösung in ihre ionischen Komponenten A+, B- , C- , D+ . b) Bildung einer unlöslichen Substanz AC aus diesen Komponenten. c) Ausfällung der Substanz AC aus der Lösung als Ausfällungsreaktion.
In F-Logic kann dies beispielsweise wie folgt ausgedrückt wer- den :
// die Substanzen ml : lonicMolecule [cation- >A; anion->B] . m2 : lonicMolecule [cation->D; anion->C] . m3 : lonicMolecule [cation- >A; anion->C] . m3 : InsolubleMolecule .
// die Mixtur mx:Mixture [component->>{ml ,m2 }] .
// Rekombination der Ionen // falls Stoff Ml und Soff M2 in der Lösung und falls M3 (kombiniert aus den Ionen von Ml und M2) ein ionischer -Stoff ist, so' ist auch M3" i ' der ösung enthalten FORALL M, Ml , M2 , M3 , MIC, M1A, M2C, M2A Rule recombination: M [component->>{M3} ] <- MrMixture [component->>{Ml, M2 } ] and Ml : lonicMolecule [cation- >M1C; anion->MlA] and M2 : lonicMolecule [cation- >M2C; anion- >M2A] and M3 : lonicMolecule [cation->M1C; anion->M2A] .
// Definition der Ausfallstoffe FORALL M,C,B,D Rule dropout : M [dropoutf aelltaus ->>C] < - M : Mixture [component- >> { C , B , D } ] and C : InsolubleMolecule and C ! =B and B ! =D .
Die Erklärungen werden parallel dazu generiert. Durch den Einsatz zusätzlicher Erklärungsregeln kann die vorgenannte mehrstufige Beschreibung bestehend aus den drei Erklärungen zu einer abstrakten Erklärung zusammengefasst werden, nämlich:
"In einer Lösung mit den Substanzen AB und CD fällt die Substanz AC aus . "
In F-Logic kann diese abstrakte Erklärung beispielsweise wie folgt ausgedrückt werden:
FORALL Out,BV,DV,CV Explanation (Out) <- I : Instantiation [rule->dropout ; va- lue@(B)-> BV; value® (D) ->DV; value® (C) ->CV] and Out is „In einer Lösung mit den Stoffen [BV] und [DV] fällt die Substanz [CV] aus".
In einer weiteren Ausgestaltung können Erklärungsregeln dazu eingesetzt werden, um- redundante- Erklärungen -zu vermeiden.. ■ ■
Beispielsweise kann im Bereich der Chemie der Säuregrad zweier Substanzen durch Bestimmung der pH-Werte bestimmt werden, die durch die Mengen der in wässrigen Lösungen gelösten jeweiligen Substanzen berechnet werden. Alternativ kann eine qualitative Bestimmung erfolgen, beispielsweise durch Bestimmung der Anzahl von Sauerstoff-Atomen in den Formeln dieser Substanzen. Beide Berechnungsmethoden können in Form von Erklärungen von der In- ferenzeinheit 11 als Ausgabegrößen zur Beschreibung der Substanzen ausgegeben werden. Mittels zusätzlicher Erklärungsre- geln kann anhand einer Relevanzprüfung nur eine der beiden Erklärungen ausgewählt werden, so dass die Ausgabegrößen keine redundanten Erklärungen mehr aufweisen. Da die Auswerteeinheit 10 eine Schnittstelle zu externen Daten aufweist, können auch diese externen Daten als definiertes externes Wissen in die Generierung von Erklärungen mit einbezogen werden. Bei dem Ausführungsbeispiel gemäß Figur 1 weist die Auswerteeinheit 10 neben der Inferenzeinheit 11 das Software- Modul 12 auf, mittels dessen wenigstens ein Objektmodell zur Strukturierung von externen Daten generiert wird. Die Funktionsweise der Inferenzeinheit 11 und des Software-Moduls 12 ist dabei analog zur Inferenzeinheit 7 und dem zugeordneten Soft- wäre-Modul 5.
Ein Beispiel für derartige externe Daten sind im Fall der Beschreibung chemischer Prozesse Namen zur Beschreibung von chemischen Substanzen. Falls bei der Durchführung von Abfragen betreffend chemische Prozesse in dem Datenbestand der Speichereinheit 2 chemische Substanzen durch chemische. Formeln gekennzeichnet sind, so könnten ohne Zugriff auf die externen Daten generierte Erklärungen nur diese chemischen Formeln zur Beschreibung :ύnd- Dokumentation -chemischer Prozesseüenthaiten-. < Durch den zusätzlichen Zugriff auf die externen Daten können bei der Formulierung der Erklärungen zur Beschreibung von Substanzen anstelle der chemischen Formeln auch deren Namen verwendet werden. Ein einfaches Beispiel für einen derartigen Namen ist Wasser zur Beschreibung der Substanz H20.
Ein weiteres Beispiel für externe Daten sind Benutzerprofile, welche das Datenverarbeitungssystem 1 nutzt. Die Benutzerprofile sind als Datenfiles vorzugsweise in der Rechnereinheit 4 abgespeichert und werden mit einem in dem Software-Modul 12 gene- rierten Objektmodell strukturiert.
In Abhängigkeit dieser Daten kann mittels Erklärungsregeln in der Inferenzeinheit 11 eine Auswahl von mit weiteren Erklä- rungsregeln generierten Erklärungen erfolgen. Damit wird erreicht, dass die ausgewählten, über die Ein/Ausgabeeinheit 8 ausgegebenen Erklärungen an die jeweiligen Benutzerprofile an- gepasst sind.
Beispielsweise können so die in der Inferenzeinheit 11 generierten Erklärungen an den Kenntnisstand des jeweiligen Benutzers angepasst sein. Für den Fall, dass mit den Erklärungen chemische Prozesse erklärt werden, können die Erklärungen auf qualitativer Ebene erfolgen, falls es sich bei dem Benutzer um einen Studenten oder Schüler handelt. Ist dagegen der Benutzer beispielsweise ein promovierter Chemiker können die Erklärungen auch quantitativen Berechnungen enthalten.
Figur 3 zeigt eine schematische Darstellung des Verfahrensablaufes im Datenverarbeitungssystem. Zunächst wird im Schritt 300 ein Datenbestand generiert und/oder es erfolgt eine Speicherung 302 des Datenbestandes. Ferner wird in Schritt 304 ein Obj ektmodeii -erzeugt , welches aus einem, deklarativen; System .von Regeln und einer Klassenstruktur besteht. Dabei sind die Daten mit Hilfe des Objektmodells strukturiert. Die Regeln verknüpfen Elemente der Klassenstruktur und/oder Daten miteinander. Über eine Eingabeeinrichtung wird eine Abfrage 306 eingegeben. Die Auswertung 308 der Abfrage erfolgt in einer Inferenzeinheit durch Auswerten der Regeln. Die Ausgabe 312 der Resultate der Auswertung 308 erfolgt über eine Ausgabeeinheit. Während der Auswertung 308 erfolgt in einer Auswerteeinheit, die der Infe- renzeinheit zugeordnet ist, ein Einlesen 316 von Inferenzproto- kollen über Instantiierungen der Regeln, die während der Aus- wertung aufgetreten sind. In Abhängigkeit von den Inferenzpro- tokollen werden in der Auswerteeinheit in Schritt 318 Erklärungen über die Auswertung der Regeln generiert. Über eine Ausga- beeinheit erfolgt in Schritt 320 die Ausgabe der generierten Erklärungen.
Bezugszeichen
Datenverarbeitungssystem Speichereinheit Server Rechnereinheit Software-Modul Abfrageeinheit Erste Inferenzeinheit Ein-/Ausgabeeinheit SchnittStellenmodul Auswerteeinheit Zweite Inferenzeinheit Software-Modul Datenbestand Speicherung des Datenbestandes Erzeugung eines Objektmodells Abfrage-Eingabe-'. Auswertung der Abfrage Ausgabe der Resultate Einlesen von Inferenzprotokollen Generierung von Erklärungen Ausgabe von Erklärungen
Liste der zitierten Literatur:
J. Angele, G. Lausen: "Ontologies in F-Logic" in S. Staab, R. Studer (Eds.): Handbook on Ontologies in Information Systems. International Handbooks on Information Systems, Springer Ver¬ lag, 2003, Seite 29.

Claims

Patentansprüche
1. Datenverarbeitungssystem a) mit wenigstens einer Informationserzeugungseinheit (2) zur Speicherung oder Generierung von einen Datenbestand bildenden Daten; b) mit wenigstens einer Rechnereinheit (4) zur Generierung eines Objektmodells, bestehend aus einer Klassenstruktur und einem deklarativen System von Regeln, bl) wobei die Daten mittels des Objektmodells strukturierbar sind, und b2) wobei die Regeln Elemente der Klassenstruktur und/oder Daten verknüpfen; c) mit einer Ein/Ausgabeeinheit (8) zur Eingabe einer Abfrage und zur Ausgabe von Antworten auf die Abfrage; und d) mit einer Inferenzeinheit (7) , in welcher zur Generierung einer Antwort auf eine Abfrage die Regeln ausgewertet werden; dadurch gekennzeichnet, e) dass der Inferenzeinheit (7) eine Auswerteeinheit (10) zugeordnet ist; f) wobei in die Auswerteeinheit (10) Inferenzprotokolle über Instantiierungen von Regeln einlesbar sind, und g) wobei in der Auswerteeinheit (10) in Abhängigkeit der In- ferenzprotokolle Erklärungen über die Auswertung von Regeln generierbar sind.
2. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Auswerteeinheit (10) eine Inferenzeinheit (11) zur Generierung der Erklärungen aufweist.
3. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Inferenzprotokolle Instanzen für Erklärungsregeln bilden, welche mit der in der Auswerteeinheit (10) integrierten Inferenzeinheit (11) zur Generierung der Erklärungen auswertbar sind.
4. Datenverarbeitungssystem nach dem vorhergehenden An- spruch, dadurch gekennzeichnet, dass die Erklärungsregeln eine vorgegebene Anzahl von Variablen verknüpfen, wobei zur Auswertung dieser Erklärungsregeln den Variablen die Instanzen der Inferenzprotokolle zugewiesen werden.
5. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Inferenzprotokoll eine Indizierung aufweist, anhand derer eine Zuordnung von Regeln zu Erklärungsregeln erfolgt.
6. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeweils einer Regel eine Erklärung zugeordnet ist.
7. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die einer Regel zugeordnete Erklärung mittels einer Erklärungsregel generiert wird.
8. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mehreren Regeln eine Erklärung zugeordnet ist.
9. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass zur Generierung einer Erklärung für eine vorgegebene Anzahl von Regeln eine Erklärungsregel oder eine Gruppe von Erklärungsregeln vorgesehen ist, mittels derer die Regeln summarisch beschrieben werden.
10. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mittels Erklärungsregeln eine Auswahl verschiedener Erklärungsmöglichkeiten durchgeführt wird.
11. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Erklärungen abhängig von externen Daten sind.
12. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die externen Daten mittels eines Objektmodells strukturiert sind.
13. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass das Objektmodell in der Auswerteeinheit (10) abgespeichert ist.
14. Datenverarbeitungssystem nach einem der beiden vorherge- henden Ansprüche, dadurch gekennzeichnet, dass die externen Daten von Benutzerprofilen der die Abfragen durchführenden Benutzer gebildet sind.
15. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass in diesem die Benutzerprofile als Datenfiles abgespeichert sind.
16. Datenverarbeitungssystem nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, dass die externen Daten Instanzen für. die Erklärungsregeln. bilden.
17. Verfahren zum Abfragen von Informationen, wobei insbesondere unter Verwendung eines Datenverarbeitungssystems folgende Schritte durchgeführt werden: a) ein Datenbestand wird generiert oder gespeichert; b) ein Objektmodell wird erzeugt, bestehend aus einer Klassenstruktur und einem deklarativen System von Regeln, bl) wobei die Daten mit Hilfe des Objektmodells strukturierbar sind, und b2) wobei die Regeln Elemente der Klassenstruktur und/oder
Daten verknüpfen; c) eine Abfrage wird eingegeben; d) eine Inferenzeinheit (7) wertet die 7Abfrage durch Auswerten der Regeln aus ; e) während der Auswertung der Abfrage werden in einer der Inferenzeinheit (7) zugeordneten Auswerteeinheit (10) Inferenzprotokolle über Instantiierungen der Regeln, die während der Auswertung aufgetreten sind, eingelesen; und f) in der Auswerteeinheit (10) werden in Abhängigkeit der Inferenzprotokolle Erklärungen über die Auswertung der Regeln generiert .
18. Computerprogramm, dadurch gekennzeichnet, dass es bei Ablauf auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks das Verfahren nach dem vorhergehenden Verfahrensanspruch ausführt.
19. Computerprogramm mit Programmcode-Mitteln, um ein Verfahren gemäß dem Verfahrensanspruch durchzuführen, wenn das Computerprogramm auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks ausgeführt wixd.
20. Computerprogramm mit Programmcode-Mitteln gemäß dem vorhergehenden Anspruch, die auf einem computerlesbaren Datenträger gespeichert sind.
21. Datenträger, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Arbeits- und/oder Hauptspeicher eines Computers oder einer Mehrzahl von Computern eines Computer-Netzwerks das Verfahren nach dem Verfahrensanspruch ausführt .
22. Computerprogramm- rodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln, um alle Schritte gemäß dem Verfahrensanspruch durchzuführen, wenn das Programm auf einem Computer oder auf einer Mehrzahl von Computern eines Computer-Netzwerks ausgeführt wird.
23. Moduliertes Datensignal, welches von einem Computersys- tem oder von einer Mehrzahl von Computern eines Computer- Netzwerks ausführbare Instruktionen zum Ausführen eines Verfahrens nach dem Verfahrensanspruch enthält.
EP04803492A 2003-12-03 2004-12-03 Inferenzmaschine Withdrawn EP1690219A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10356399A DE10356399B4 (de) 2003-12-03 2003-12-03 Datenverarbeitungssystem
PCT/EP2004/013769 WO2005055134A2 (de) 2003-12-03 2004-12-03 Inferenzmaschine

Publications (1)

Publication Number Publication Date
EP1690219A2 true EP1690219A2 (de) 2006-08-16

Family

ID=34638273

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04803492A Withdrawn EP1690219A2 (de) 2003-12-03 2004-12-03 Inferenzmaschine

Country Status (5)

Country Link
US (1) US7333970B2 (de)
EP (1) EP1690219A2 (de)
CN (1) CN100565570C (de)
DE (1) DE10356399B4 (de)
WO (1) WO2005055134A2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013308B1 (en) 2000-11-28 2006-03-14 Semscript Ltd. Knowledge storage and retrieval system and method
US8666928B2 (en) * 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US7941433B2 (en) * 2006-01-20 2011-05-10 Glenbrook Associates, Inc. System and method for managing context-rich database
DE102007004684A1 (de) 2007-01-25 2008-07-31 Deutsche Telekom Ag Verfahren und Datenverarbeitungssystem zum gesteuerten Abfragen strukturiert gespeicherter Informationen
US8332209B2 (en) * 2007-04-24 2012-12-11 Zinovy D. Grinblat Method and system for text compression and decompression
DE102007033019B4 (de) 2007-07-16 2010-08-26 Peter Dr. Jaenecke Methoden und Datenverarbeitungssysteme für computerisiertes Schlußfolgern
US8838659B2 (en) 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
DE202008017407U1 (de) 2008-03-12 2009-08-06 T3 Gmbh Datenverarbeitungssystem
US9805089B2 (en) * 2009-02-10 2017-10-31 Amazon Technologies, Inc. Local business and product search system and method
US9672478B2 (en) * 2009-02-26 2017-06-06 Oracle International Corporation Techniques for semantic business policy composition
DE102010008478A1 (de) 2010-02-18 2010-11-11 Harald Weisz EDV-System zum automatischen oder halbautomatischen Konstruieren und Konstruktionsverfahren
US9110882B2 (en) 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US9785744B2 (en) 2010-09-14 2017-10-10 General Electric Company System and method for protocol adherence
US8996439B2 (en) 2010-11-02 2015-03-31 Empire Technology Development Llc Scalable reasoning using a polarity-based module
CN102903008B (zh) 2011-07-29 2016-05-18 国际商业机器公司 用于计算机问答的方法及系统
CN105593879A (zh) * 2013-05-06 2016-05-18 Knowm科技有限责任公司 通用机器学习构造块
US10430712B1 (en) * 2014-02-03 2019-10-01 Goldman Sachs & Co. LLP Cognitive platform for using knowledge to create information from data
EP3404558A1 (de) * 2017-05-18 2018-11-21 Siemens Aktiengesellschaft Verfahren zur rechnergestützten erstellung von digitalen regeln zur überwachung des technischen systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303911A (en) * 1979-07-30 1981-12-01 Hulick Timothy P Remote control digitally encoded electronic switch
EP0468229A3 (en) * 1990-07-27 1994-01-26 Hnc Inc A neural network with expert system functionality
JPH0695879A (ja) * 1992-05-05 1994-04-08 Internatl Business Mach Corp <Ibm> コンピュータシステム
CA2148029A1 (en) * 1994-05-25 1995-11-26 Deborah L. Mcguinness Knowledge base management system with enhanced explanation of derived information and of error objects
JP3560670B2 (ja) * 1995-02-06 2004-09-02 富士通株式会社 適応的認識システム
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6631361B1 (en) * 1998-10-02 2003-10-07 Ncr Corporation Method and apparatus for providing explanations of automated decisions applied to user data
US6421655B1 (en) * 1999-06-04 2002-07-16 Microsoft Corporation Computer-based representations and reasoning methods for engaging users in goal-oriented conversations
US6976210B1 (en) * 1999-08-31 2005-12-13 Lucent Technologies Inc. Method and apparatus for web-site-independent personalization from multiple sites having user-determined extraction functionality
US6963875B2 (en) * 2000-03-23 2005-11-08 General Atomics Persistent archives
DE10103845B4 (de) * 2001-01-30 2006-11-16 Ontoprise Gmbh Rechnersystem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005055134A2 *

Also Published As

Publication number Publication date
US7333970B2 (en) 2008-02-19
DE10356399B4 (de) 2006-06-14
WO2005055134A3 (de) 2006-06-08
WO2005055134A2 (de) 2005-06-16
CN100565570C (zh) 2009-12-02
CN1902647A (zh) 2007-01-24
US20070011125A1 (en) 2007-01-11
DE10356399A1 (de) 2005-07-14

Similar Documents

Publication Publication Date Title
WO2005055134A2 (de) Inferenzmaschine
WO2000063788A2 (de) Situationsabhängig operierendes semantisches netz n-ter ordnung
EP3973457A1 (de) Kopplung von mehreren künstlich lernenden einheiten mit einer projektionsebene
EP1222625A2 (de) Neuronales netz zum computergestützten wissensmanagement
Hedtstück Complex event processing
Volkema Problem complexity and the formulation process in planning and design
EP0901658B1 (de) Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner
Kokinov A dynamic theory of implicit context
WO2022106645A1 (de) Verfahren und system zum verarbeiten von eingabewerten
Haug Anomalien in der Entscheidungstheorie. Empirische Evidenz und Konsequenzen
DE19908204A1 (de) Fraktales Netz n-ter Ordnung zum Behandeln komplexer Strukturen
DE10123959B4 (de) Rechnersystem
DE19963123B4 (de) Analytisches Informationssystem
EP2712429A1 (de) Ansteuerung eines technischen systems
Schmalhofer et al. Kognitive Modellierung: Menschliche Wissensrepräsentationen und Verarbeitungsstrategien
DE10103845A1 (de) Rechnersystem
WO2006114299A2 (de) Graphischer regeleditor
EP2756361A1 (de) Ansteuerung einer maschine
EP1637945B1 (de) Automatisierungssystem mit affektiver Steuerung
DE102007033019B4 (de) Methoden und Datenverarbeitungssysteme für computerisiertes Schlußfolgern
EP1187001A2 (de) Integriertes Wissens-Technologiesystem
EP0990213B1 (de) Verfahren eines deduktiven kataloges zur allgemeinen constraintsbehandlung im erweiterten relationalen datenbankkonzept
WO2000020964A1 (de) Fraktales netz n-ter ordnung zum behandeln komplexer strukturen
WO2020094415A1 (de) Messverfahren und messvorrichtung zur ermittlung einer technischen eigenschaft eines programmcodes zur ansteuerung eines elektronischen geräts
Fedorov et al. Development of Real‐Time Models for Chemical Absorption/Desorption Loops

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060629

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR LV MK YU

RIN1 Information on inventor provided before grant (corrected)

Inventor name: ANGELE, JUERGEN

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ONTOPRISE GMBH

17Q First examination report despatched

Effective date: 20121106

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ONTOPRISE GMBH

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ONTOPRISE GMBH

PUAJ Public notification under rule 129 epc

Free format text: ORIGINAL CODE: 0009425

32PN Public notification

Free format text: MITTEILUNG IM PRUEFUNGSVERFAHREN (EPA FORM 2001 VOM 06/11/2012)

R17C First examination report despatched (corrected)

Effective date: 20130717

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SEMEO SERVICES GMBH

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20131218