WO2004095313A1 - Data processing system for user-friendly data base searches - Google Patents

Data processing system for user-friendly data base searches Download PDF

Info

Publication number
WO2004095313A1
WO2004095313A1 PCT/EP2004/004136 EP2004004136W WO2004095313A1 WO 2004095313 A1 WO2004095313 A1 WO 2004095313A1 EP 2004004136 W EP2004004136 W EP 2004004136W WO 2004095313 A1 WO2004095313 A1 WO 2004095313A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processing system
computer
data processing
unit
Prior art date
Application number
PCT/EP2004/004136
Other languages
German (de)
French (fr)
Inventor
Jürgen ANGELE
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 WO2004095313A1 publication Critical patent/WO2004095313A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries

Abstract

The invention relates to a data processing system (1) comprising at least one unit (2) for storing data. The data is structured by an object model. An inference unit, which inter alia uses rules of the object model in order to ascertain concealed information, is used to evaluate data requests. A dialogue system (6), enabling natural-language sentence sequences to be inputted, is provided as an input-output system. The dialogue system (6) comprises a unit for translating the natural-vocal sentence sequences to be translated into a data request format which can be processed by the inference unit, enabling users to formulate requests in natural language which can be evaluated by the system in a highly comprehensive manner

Description

Datenverarbeitungssystem für benutzerfreundliche Datenbank- Recherchen Data processing system for user-friendly database searches
Beschreibungdescription
Gebiet der ErfindungField of the Invention
Das gezielte Abfragen oder Suchen von In ormationen in großen Datenmengen verursacht verschiedene Schwierigkeiten. Z. B. führt eine Eingabe von Suchbegriffen verbunden mit einer Text- suche häufig zu wenig relevanten Sucherergebnissen. Hinzu kommt, dass evtl. relevante Suchergebnisse übersehen werden, wenn sie durch andere als die für die Suche verwendete Begriffe ausgedrückt werden.The specific query or search for information in large amounts of data causes various difficulties. For example, entering search terms combined with a text search often results in search results that are not very relevant. In addition, relevant search results may be overlooked if they are expressed by terms other than those used for the search.
Zur Lösung dieser Schwierigkeiten schlägt die DE 101 03 845 AI ein Datenverarbeitungssystem vor. Dieses Datenverarbeitungssystem umfasst ein Rechnersystem mit Mitteln zur Speicherung von Daten. Ferner hat das Datenverarbeitungssystem eine Abfrageeinheit zur Ermittlung von Ausgangsgrößen bzw. Suchergebnissen 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. Den Klassen sind Attribute zugeordnet, die innerhalb einer Klassenstruktur weitervererbt sind. Attribute sind Merkmale einer Klasse. Die Klasse "Person" kann beispielsweise das Attri- but "Haarfarbe" haben. Diesem Attribut werden für unterschiedliche konkrete Personen (genannt "Instanzen") unterschiedliche Werte (genannt "Attributwerte") zugeordnet, z. B. braun, blond, schwarz, etc.To solve these difficulties, DE 101 03 845 AI proposes a data processing system. This data processing system comprises a computer system with means for storing data. Furthermore, the data processing system has a query unit for determining output variables or search results 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 classes are assigned attributes that are inherited within a class structure. Attributes are characteristics of a class. The class "person" can have the attribute "hair color", for example. This attribute is assigned different values (called "attribute values") for different specific people (called "instances"), e.g. B. brown, blonde, black, etc.
Die Abfrageeinheit enthält eine Inferenzeinheit, mittels derer Regeln auswertbar sind, durch welche vorgegebene Klassen und/oder Attribute verknüpft sind. Dies ermöglicht das Auffinden von Informationen, die nicht 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.The query unit contains an inference unit, by means of which rules can be evaluated, by means of which predetermined classes and / or attributes are linked. This makes it possible to find information that was not described by the search terms. The inference unit even makes it possible to generate new information by linking individual statements that was not explicitly contained in the data, but can only be inferred from the data.
Über die Abfrageeinheit können als Eingabegrößen Abfragebegrif- fe eingegeben werden, welche nicht nur von den abgespeichertenThe query unit can be used to enter query terms as input variables, which are not only those of the stored ones
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 BeziehungData are formed, but can also be formed by the classes or attributes of the class structure. In addition to 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. In such an example, a search term would search not for the specific name of an employee, but for the values of the "hatName" attribute of all instances of the employees who are related to instance X from the class of the company, namely in the relationship
"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:"is employed". Such queries are often formulated in the language F-Logic (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, page 29). The following example, which depicts the relationships between well-known biblical persons, may serve as a rough, intuitive understanding of F-logic:
Zunächst einige Fakten:First some facts:
abraham :man. sarah :woman. isaac :man [fatherls->abraham; motherIs->sarah] . ishmael :man[fatherls->abraham; motherIs->hagar : woman] . jacob:man [fatherls->isaac; motherls->rebekah:woman] . esau:ma [fatherls->isaac; motherls- >rebekah] .abraham: one. sarah: woman. isaac: man [fatherls-> abraham; motherIs-> sarah]. ishmael: man [fatherls-> abraham; motherIs-> hagar: woman]. jacob: man [fatherls-> isaac; motherls-> rebekah: woman]. esau: ma [fatherls-> isaac; motherls-> rebekah].
Man erkennt gewissen 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.One recognizes certain classes: "man" and "woman", ie "man" and "woman". So Abraham is a man. The class "one" has z. B. the attributes "father" and "mother", so the attributes indicate the parents. For example, the man Isaac has the father Abraham and the mother Sarah.
F-Logik ist erkennbar auch als Sprache geeignet, um eine Klas- senstruktur zu formulieren. Neben F-Logik werden vorzugsweise jedoch die Ontologie-Sprachen RDF, DAML+OIL und OWL zur Definition von Klassenstrukturen verwendet.F-logic is recognizably also suitable as a language to formulate a class structure. In addition to F logic, the ontology languages RDF, DAML + OIL and OWL are preferably used to define class structures.
Weiter mit einigen Regeln, die Zusammenhänge wiedergeben;Continue with some rules that show relationships;
FORALL X,Y X[sonIs->>Y] <- Y:man [fatherIs->X] . FORALL X,Y X[sonIs->>Y] <- Y:man [motherls->X] . FORALL X,Y X[daughterls->>Y] <- Y: woma [fatherIs->X] . FORALL X,Y X[daughterls->>Y] <- Y : oman [motherls->X] .FORALL X, YX [sonIs - >> Y] <- Y: man [fatherIs-> X]. FORALL X, YX [sonIs - >> Y] <- Y: man [motherls-> X]. FORALL X, YX [daughterls - >> Y] <- Y: woma [fatherIs-> X]. FORALL X, YX [daughterls - >> Y] <- Y: oman [motherls-> 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.Rules in F logic always have a control head on the left and a control body on the right. The first rule is translated z. E.g .: If Y is a man whose father was X, Y is one of the sons of X. The simple arrow "->" indicates that only one value is possible for a certain attribute, while the double arrow "- >> "indicates that several values are possible.
Schließlich eine Abfrage, die nach allen Frauen fragt, die einen Sohn haben, dessen Vater Abraham ist. Mit anderen Worten: Mit welchen Frauen hat Abraham einen Sohn?Finally, a query that asks about all women who have a son whose father is Abraham. In other words, with which women did Abraham have a son?
FORALL X,Y <- X :woman [sonIs->>Y[fatherIs->abraham] ] .FORALL X, Y <- X: woman [sonIs - >> Y [fatherIs-> abraham]].
Eine Abfrage hat die Form einer Regel, jedoch ohne den links stehenden Regelköpf .A query takes the form of a rule, but without the rule header on the left.
Die Antwort lautet:The answer is:
X = sarah X = hagarX = sarah X = hagar
Auf diese Weise werden die Abfragemöglichkeiten gegenüber her- kö mlichen Datenbanksystemen erheblich erweitert.In this way, the query options compared to conventional database systems are expanded considerably.
Nachteilig hierbei ist jedoch, dass dem Benutzer die abfragbaren Elemente der Klassenstruktur bekannt sein müssen, so dass dieser derartige Elemente über vorgegebene Eingabeformate ein- geben kann, um eine Recherche in einem Datenbestand des Datenverarbeitungssystems durchführen zu können. Als Elemente der Klassenstruktur werden dabei Klassen, Attribute, Synonyme, Relationen, also Beziehungen zwischen Elementen bzw. Zuordnungen, kurz all das bezeichnet, aus dem das Objektmodell bzw. die Klassenstruktur aufgebaut ist.The disadvantage here, however, is that the user must be aware of the elements of the class structure that can be queried, so that the user can enter such elements via predetermined input formats in order to be able to carry out a search in a database of the data processing system. The elements of the class structure are classes, attributes, synonyms, relations, that is, relationships between elements or assignments, in short all that is used to build the object model or class structure.
Aufgabetask
Aufgabe der Erfindung ist es, das Durchführen von umfassenden Recherchen in großen Datenbeständen möglichst zu vereinfachen.The object of the invention is to simplify the carrying out of extensive searches in large databases as much as possible.
Lösungsolution
Diese 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.This object is achieved by the inventions with the features of the independent claims. Advantageous developments of the inventions are characterized in the subclaims.
Es wird ein Datenverarbeitungssystem vorgeschlagen mit einer Informationserzeugungseinheit zur Speicherung oder Generierung von einen Datenbestand bildenden Daten. Die Informationserzeugungseinheit ist insbesondere von einer Speichereinheit zur Speicherung von Daten gebildet. Generell kann sie auch von Informationen generierenden Systemen wie zum Beispiel Sensoren gebildet sein.A data processing system is proposed with an information generation unit for storing or generating data forming a database. The information generation unit is in particular formed by a storage unit for storing data. In general, it can also be formed by information-generating systems such as sensors.
Als DatenverarbeitungsSystem kommen sowohl ein Stand-alone Computer in Betracht, als auch ein Netzwerk von Rechnern, beispielsweise ein hausinternes, geschlossenes Netz, oder auch Rechner, die über das Internet miteinander verbunden sind. Ferner kann das Datenverarbeitungssystem durch eine Client-Server- Konstellation realisiert sein, wobei Teile der Erfindung auf dem Server, andere auf einem Client ablaufen. Das Datenverarbeitungssystem hat eine Rechnereinheit zur Generierung eines Objektmodells, insbesondere einer Ontologie, bestehend aus einer Klassenstruktur, wobei die Daten mittels des Objektmodells strukturierbar sind. Dem Datenbestand ist somit ein Objektmodell mit einer Klassenstruktur zugeordnet.Both a stand-alone computer and a network of computers, for example an in-house, closed network, or computers which are connected to one another via the Internet can be considered as data processing system. Furthermore, the data processing system can be implemented by a client-server constellation, parts of the invention running on the server and others on a client. The data processing system has a computer unit for generating an object model, in particular an ontology, consisting of a class structure, the data being structurable using the object model. An object model with a class structure is thus assigned to the database.
Zu dem Objektmodell gehören Regeln, die Aussagen über Zusammenhänge enthalten. Die Regeln bilden ein deklaratives System. Dies bedeutet, dass die Regeln unabhängig von ihrer Reihenfolge auswertbar sind.The object model includes rules that contain statements about relationships. The rules form a declarative system. This means that the rules can be evaluated regardless of their order.
Ferner gehören zu dem Objektmodell in der Regel Relationen, d. h. Angaben über Beziehungen zwischen unterschiedlichen Elemen- ten der Klassenstruktur. Z. B. kann eine Relation angeben, dass eine Stadt "in" einem Land liegt, oder dass die Person X mit der Person Y verheiratet ist.Furthermore, relations generally belong to the object model, i. H. Information about relationships between different elements of the class structure. For example, a relation can indicate that a city is "in" a country, or that person X is married to person Y.
Die einzelnen Daten des Datenbestands werden in die Datenstruk- tur durch Verknüpfung eingeordnet. Liegen die Daten beispielsweise in Form einer Tabelle vor, so erfolgt die Verknüpfung typischerweise dadurch, dass die Tabelle einer Klasse entspricht. Die Zeilen oder Spaltenüberschriften der Tabelle entsprechen den Attributen der Klasse. Die Werte, die die Attribute für ei- nen konkreten Datensatz annehmen, finden sich dann in den Feldern der Tabelle.The individual data in the database are arranged in the data structure by means of a link. If the data is in the form of a table, for example, the link is typically made by the table corresponding to a class. The rows or column headings of the table correspond to the attributes of the class. The values that the attributes assume for a specific data record can then be found in the fields of the table.
Mit der Klassenstruktur wird der Datenbestand in vorgegebener Weise strukturiert, wobei die Elemente der Klassenstruktur ne- ben den Daten des Datenbestands selbst als Bestandteil von Datenabfragen fungieren können. Ferner hat das Datenverarbeitungssystem eine Ein/Ausgabeeinheit zur Eingabe einer Datenabfrage und zur Ausgabe von Antworten auf die Datenabfrage sowie eine Inferenzeinheit zur Auswertung von Datenabfragen. Die Inferenzeinheit nutzt zur Auswertung der Datenabfrage die zum Objektmodell gehörenden Regeln, um nicht explizit vorhandene Informationen aufzufinden. Da die Regeln ein deklaratives System bilden, ist das Ergebnis der Auswertung der Regeln unabhängig von der Reihenfolge, in der die Regeln angegeben sind.With the class structure, the data stock is structured in a predetermined manner, whereby the elements of the class structure can function as part of data queries in addition to the data of the data stock itself. Furthermore, the data processing system has an input / output unit for entering a data query and for outputting responses to the data query, and an inference unit for evaluating data queries. The inference unit uses the rules belonging to the object model to evaluate the data query in order to find information that is not explicitly available. Since the rules form a declarative system, the result of evaluating the rules is independent of the order in which the rules are specified.
Als Ein-/Ausgabeeinheit ist ein Dialogsystem vorgesehen, über welches natürlich-sprachliche Satzsequenzen als Eingabegrößen eingebbar sind, aus welchen die Datenabfragen selbsttätig abgeleitet werden.A dialog system is provided as an input / output unit, via which natural-language sentence sequences can be entered as input variables from which the data queries are derived automatically.
Vorzugsweise hat das Datenverarbeitungssystem eine Einheit zum Übersetzen der natürlich-sprachlichen Satzsequenzen in ein Datenabfrage-Format, welches von der Inferenzeinheit zur Auswertung der Datenabfrage verarbeitet werden kann. Im Idealfall be- steht diese Übersetzungseinheit aus einem System zum Analysieren bzw. Parsen natürlich-sprachlicher Texte. Im einfachsten Fall enthält die Übersetzungseinheit lediglich ein System zum Identifizieren gewisser Schlüsselbegriffe in den natürlichsprachlichen Eingaben. Aus den Schlüsselbegriffen werden in vorgegebener Weise strukturierte Abfragen für die Inferenzemheit erzeugt .The data processing system preferably has a unit for translating the natural language sentence sequences into a data query format, which can be processed by the inference unit for evaluating the data query. Ideally, this translation unit consists of a system for analyzing or parsing natural language texts. In the simplest case, the translation unit only contains a system for identifying certain key terms in the natural language inputs. Structured queries for the inference unit are generated in a predetermined manner from the key terms.
Möglich ist es auch, dass in der Übersetzungseinheit eine Menge von zulässigen Satztypen abgespeichert ist, mit welcher die Eingabegrößen verglichen werden. Bei Eingabe eines Satzes, der keinem der abgespeicherten Satztypen zugeordnet werden kann, wird über das Dialogsystem eine Fehlermeldung ausgegeben, so dass der Benutzer die Eingabegrδße ändern kann. Vorzugsweise wird mit der Fehlermeldung bereits ein Hinweis auf die Art des Fehlers ausgegeben, welche dem Benutzer einen Hinweis darauf gibt, in welcher Weise er die Eingabegröße abzuändern hat.It is also possible for a set of permissible sentence types to be stored in the translation unit, with which the input variables are compared. If a record is entered that cannot be assigned to any of the saved record types, an error message is output via the dialog system so that the user can change the input size. Preferably the error message already gives an indication of the type of error, which gives the user an indication of how he has to change the input size.
Ein wesentlicher Vorteil des erfindungsgemäßen Datenverarbeitungssystems besteht darin, dass zur Durchführung von Recherchen in einem Datenbestand über das Dialogsystem natürlichsprachliche Satzsequenzen eingegeben werden können. Ein Bediener des Datenverarbeitungssystems kann somit ohne Einhaltung vorgegebener Eingabeformate und ohne Kenntnis von Programmiersprachen mit frei formulierten Eingabegrößen Recherchen im Datenbestand durchführen.A major advantage of the data processing system according to the invention is that natural language sentence sequences can be entered via the dialog system for performing searches in a database. An operator of the data processing system can therefore carry out searches in the data stock with freely formulated input variables without adhering to specified input formats and without knowledge of programming languages.
Die Klassenstruktur ist dabei vorzugsweise derart ausgebildet, dass den einzelnen Elementen der Klassen Attribute und/oderThe class structure is preferably designed such that the individual elements of the classes have attributes and / or
Synonyme zugeordnet sind. Dadurch werden die Recherchemöglichkeiten erheblich erweitert. Auch können zusätzlich den Attributen Synonyme zugeordnet werden. Weiterhin können auch den Daten des Datenbestandes selbst Synonyme zugeordnet werden. Die als Synonym-Strukturen können als sog. Meta-Attribute ausgebildet sind, welche vorgegebenen Klassen der Klassenstruktur zugeordnet sind.Synonyms are assigned. This significantly extends the research options. Synonyms can also be assigned to the attributes. Furthermore, synonyms can also be assigned to the data in the database itself. The synonym structures can be designed as so-called meta attributes, which are assigned to predefined classes of the class structure.
Wird beispielsweise zur Bildung einer Datenabfrage ein bestimm- ter Begriff aus einer eine Eingabegröße bildenden Satzsequenz im Dialogsystem extrahiert, so wird dieser Begriff zunächst nicht nur mit den Daten oder den Elementen der Klassen, sondern auch mit den zugeordneten Synonymen verglichen. Damit wird erreicht, dass auch durch Eingabe von unscharfen Begriffen den- noch auswertbare Datenabfragen von der Übersetzungseinheit erzeugt und Recherchen mit hoher Erfolgsquote durchgeführt werden. Um sich z. B. erweiterten Datenbeständen oder geänderten Anwendungen anpassen zu können, ist das Objektmodell bzw. die Klassenstruktur vorteilhafterweise veränderbar, ebenso wie die zur Klassenstruktur gehörenden Regeln. Außerdem können bei unverän- dertem Datenbestand Klassenstruktur und Regeln erweitert werden, um die Daten detaillierter abzubilden und die Recherchemöglichkeiten zu erweitern oder präziser zu gestalten. Ein geändertes Objektmodell kann zusätzliche recherchierbare Begriffe zur Verfügung stellen, die als Eingabegrößen vom Benutzer ein- gebbar sind. Auf diese Weise wird die Benutzerfreundlichkeit des Datenverarbeitungssystems erheblich erweitert.If, for example, a certain term is extracted from a sentence sequence forming an input variable in the dialog system to form a data query, this term is initially not only compared with the data or the elements of the classes, but also with the assigned synonyms. This means that even by entering fuzzy terms, evaluable data queries are generated by the translation unit and searches are carried out with a high success rate. To z. B. to be able to adapt expanded data sets or changed applications, the object model or the class structure can advantageously be changed, as can the rules belonging to the class structure. In addition, with unchanged data, the class structure and rules can be expanded to map the data in more detail and to expand the research options or to make them more precise. A changed object model can provide additional searchable terms that can be entered by the user as input variables. In this way, the usability of the data processing system is significantly expanded.
Weiterhin können in den die Eingabegrößen bildenden natürlichsprachlichen Sätzen Begriffe oder Relationen enthalten sein, die unscharfe Beziehungen wie zum Beispiel "kostengünstig", "wenig weit entfernt von" enthalten. Derartige Begriffe oder Relationen werden über Regeln abgearbeitet und so in exakt definierte Beziehungen umgesetzt, anhand derer die Daten des Datenbestandes recherchiert werden.Furthermore, the natural language sentences forming the input variables can contain terms or relations which contain fuzzy relationships such as, for example, "inexpensive", "a little far from". Such terms or relations are processed using rules and thus converted into precisely defined relationships, on the basis of which the data in the database are researched.
Bei den genannten Beispielen kann der eingegebene Begriff "kostengünstig" typischerweise in eine Regel "Preis kleiner als X" und die eingegebene Beziehung "wenig weit entfernt" in eine Regel "Distanz kleiner als Y" umgesetzt werden, wobei X und Y vorgegebene Größen sind. Eine zugehörige Regel könnte z. B. lauten:In the examples mentioned, the term “inexpensive” can typically be converted into a rule “price less than X” and the relationship entered “a little far away” into a rule “distance less than Y”, where X and Y are predetermined quantities. An associated rule could e.g. B. read:
FORALL X,Y X :Auto [Preiseinschätzung- kostengünstig] <- X:Auto[Preis->Y] and Y<5.000,00.FORALL X, Y X: Auto [Price Estimation- Low Cost] <- X: Auto [Price-> Y] and Y <5,000.00.
Auch in diesem Fall können trotz unscharf formulierter Begriffe und Beziehungen reproduzierbare Recherchenergebnisse erhalten werden. Dabei ist insbesondere vorteilhaft, dass der Benutzer keinerlei Kenntnisse über die Funktion oder den Aufbau der Regeln haben uss, um die Recherchen durchzuführen.In this case, too, reproducible research results can be obtained despite terms and relationships that are not clearly defined. It is particularly advantageous that the user have no knowledge of the function or structure of the rules to carry out the research.
Gibt ein Benutzer eine Folge von Sätzen oder Fragen als Einga- begrößen zur Durchführung einer Recherche ein, wird die Historie dieser Folge in dem Datenverarbeitungssystem mit verfolgt und erfasst. Dadurch kann sich der Benutzer schrittweise in einem interaktiven Dialog über das Dialogsystem dem gewünschten Recherchenergebnis nähern. So kann er beispielsweise in einer Flugdatenbank zunächst nach einem Flug ans Meer suchen. Sind ihm als Ergebnis ausgegebene Städte zu weit weg, so kann er in einer zweiten Frage mittels eines unscharfen Begriffs eine Einschränkung formulieren, dass ihm die Städte zu weit weg wären.If a user enters a sequence of sentences or questions as input variables for carrying out a search, the history of this sequence is also tracked and recorded in the data processing system. This enables the user to gradually approach the desired search result in an interactive dialog using the dialog system. For example, he can first search for a flight to the sea in a flight database. If, as a result, cities are too far away for him, he can use a vague term to formulate a restriction in a second question that the cities would be too far away for him.
Ein Vorteil des erfindungsgemäßen Datenverarbeitungssystems besteht darin, dass die Implementierung des Objektmodells sowie des Dialogsystems unabhängig von der Speichereinheit ist, auf welcher der Datenbestand gespeichert ist. Damit können unterschiedlichste Informationsquellen wie Datenbanken an verschie- denen Standorten und insbesondere Informationen aus dem Internet als Datenbestand für das erfindungsgemäße Datenverarbeitungssystem genutzt werden.An advantage of the data processing system according to the invention is that the implementation of the object model and of the dialog system is independent of the storage unit on which the database is stored. A wide variety of information sources, such as databases at different locations and in particular information from the Internet, can thus be used as a database for the data processing system according to the invention.
So kann beispielsweise die aktuelle Temperatur einer Stadt ein Attribut der Klasse "Städte" mit dem weiteren Attribut "hatNa- me" sein. Die konkreten Werte dieses Attribute können durch einen Sensor erfasst werden, oder sie können von einen Internetservice eingelesen werden. Eine mögliche Regel wäre dann:For example, the current temperature of a city can be an attribute of the class "Cities" with the further attribute "hatName". The specific values of these attributes can be detected by a sensor or they can be read in by an internet service. A possible rule would then be:
FORALL X,Y,ZFORALL X, Y, Z
X [hatTemperatur->Z] <- X : Stadt [hatName->Y] and internetservice- temp(Y,Z)] . Eine Regel für den unscharfen Begriff "Wann ist eine Stadt warm" könnte lauten:X [hatTemperature-> Z] <- X: Stadt [hatName-> Y] and internetservice- temp (Y, Z)]. A rule for the fuzzy term "when is a city warm" could be:
FORALL X,Y : tadt [hatZustand->warm] <-FORALL X, Y: city [hasCondition-> warm] <-
X: Stadt [hatTemperatur->Y] and y>28.X: city [has temperature-> Y] and y> 28.
Demnach wird eine Stadt als "warm" definiert, wenn ihre aktuelle Temperatur mehr als 28°C beträgt.According to this, a city is defined as "warm" if its current temperature is more than 28 ° C.
Das erfindungsgemäße Datenverarbeitungssystem kann somit in den unterschiedlichsten Applikationen eingesetzt werden. Beispielsweise kann der Datenbestand von den Daten eines Unternehmens, insbesondere deren Produkte, Neuentwicklungen und Marketingda- ten gebildet sein. Insbesondere kann der Datenbestand auch von Daten mehrerer Unternehmen gebildet sein.The data processing system according to the invention can thus be used in a wide variety of applications. For example, the data stock can be formed from the data of a company, in particular its products, new developments and marketing data. In particular, the data stock can also be formed from data from several companies.
Die Erfindung wurde vorstehend anhand eines geeigneten Datenverarbeitungssystems erläutert. Sie kann in gleicher Weise in Form eines Verfahrens realisiert werden, welches auf einem Datenverarbeitungssystem ausgeführt wird.The invention was explained above using a suitable data processing system. It can be implemented in the same way in the form of a method which is carried out on a data processing system.
Ferner gehört zum Umfang der Erfindung ein Computerprogramm, das bei Ablauf auf einem Computer oder Computer-Netzwerk das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführt .Furthermore, the scope of the invention includes a computer program that executes the method according to the invention in one of its configurations when it runs on a computer or computer network.
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 Computer-Netzwerk 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 Com- puter-Netzwerkes das erfindungsgemäße Verfahren in einer seiner Ausgestaltungen ausführen kann.Furthermore, 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 when the program is executed on a computer or computer network. In particular, the program code means can be stored on a computer-readable data carrier. In addition, 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 computer network, can carry out the method according to the invention in one of its configurations.
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 einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf einem Computer oder Computer-Netzwerk ausgeführt wird.The scope of the invention also includes a computer program product with program code means stored on a machine-readable carrier in order to carry out the method according to the invention in one of its configurations when the program is executed on a computer or computer network.
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.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.
Schließlich gehört zum Umfang der Erfindung ein moduliertes Datensignal, welches von einem ComputerSystem oder Computernetzwerk ausführbare Instruktionen zum Ausführen eines Verfahrens nach einem der vorhergehenden Verfahrensansprüche enthält.Finally, the scope of the invention includes a modulated data signal which contains instructions that can be executed by a computer system or computer network for executing a method according to one of the preceding method claims.
Im Folgenden wird die Erfindung anhand von Ausführungsbeispielen näher erläutert, die in den Figuren schematisch dargestellt sind. Die Erfindung ist jedoch nicht auf die Beispiele beschränkt. Gleiche Bezugsziffern in den einzelnen Figuren be- zeichnen dabei gleiche oder funktionsgleiche bzw. hinsichtlich ihrer Funktionen einander entsprechende Elemente. Im Einzelnen zeigt : Fig. 1 Schematische Darstellung eines Ausführungsbeispiels des erfindungsgemäßen DatenverarbeitungsSystems; undThe invention is explained in more detail below on the basis of exemplary embodiments which are illustrated schematically in the figures. However, the invention is not limited to the examples. The same reference numerals in the individual figures denote the same or functionally identical elements or elements which correspond to one another in terms of their functions. In detail shows: 1 shows a schematic representation of an exemplary embodiment of the data processing system according to the invention; and
Fig. 2 Beispiel einer Klassenstruktur für das Datenverarbeitungssystem gemäß Fig. 1.2 shows an example of a class structure for the data processing system according to FIG. 1.
Fig. 1 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Datenverarbeitungssystems 1. Das Datenverarbeitungssystem 1 weist im vorliegenden Fall als Informationserzeugungseinheiten zwei Speichereinheiten 2, 2' auf, auf welchen ein Datenbestand gespeichert ist. Weiterhin können als Informationserzeugungsein- heiten Sensordaten liefernde Sensoren oder sonstige Daten liefernde Einheiten vorgesehen sein. Die Anzahl der Speichereinheiten 2, auf welchen der Datenbestand gespeichert ist, ist be- liebig wählbar. Die Speichereinheiten 2 können von Datenbanksystemen, Filesystemen und dergleichen gebildet sein.1 shows an exemplary embodiment of the data processing system 1 according to the invention. In the present case, the data processing system 1 has two storage units 2, 2 'as information generation units, on which a database is stored. Furthermore, sensors providing data or other data supplying units can be provided as information generation units. The number of storage units 2 on which the database is stored can be selected as desired. The storage units 2 can be formed by database systems, file systems and the like.
Im vorliegenden Fall besteht die erste Speichereinheit 2 aus einem Datenbanksystem eines Reisebüros, auf welchem als Daten- bestand Daten über Reisen, insbesondere Flugreisen, gespeichert sind. Die zweite Speichereinheit 2' wird von über das Internet zugänglichen Datenbanken gebildet, auf welchen weitere Daten des Datenbestands gespeichert sind, z. B. aktuelle Temperaturdaten verschiedener Städte.In the present case, the first storage unit 2 consists of a database system of a travel agency, on which data about travel, in particular air travel, are stored as a database. The second storage unit 2 'is formed by databases accessible via the Internet, on which further data from the database are stored, e.g. B. Current temperature data of different cities.
Den Speichereinheiten 2, 2' ist ein Server 3 zugeordnet, über welchen ein Zugriff auf die in den Speichereinheiten 2, 2' gespeicherten Daten erfolgt.A server 3 is assigned to the storage units 2, 2 ', via which the data stored in the storage units 2, 2' are accessed.
Diesem Server 3 ist eine Rechnereinheit 4 zugeordnet. Die Rechnereinheit 4 weist ein Prozessorsystem auf, auf welchem ein erstes Software-Modul 5 implementiert ist, mittels dessen ein eine Ontologie bildendes Objektmodell generierbar ist. Weiterhin weist die Rechnereinheit 4 ein weiteres Software- Modul 5' auf, welches eine Inferenzeinheit zur Auswertung von Datenabfragen bildet.A computer unit 4 is assigned to this server 3. The computer unit 4 has a processor system on which a first software module 5 is implemented, by means of which an object model forming an ontology can be generated. Furthermore, the computer unit 4 has a further software module 5 ', which forms an inference unit for evaluating data queries.
Schließlich weist die Rechnereinheit 4 ein Dialogsystem 6 auf, welches die Funktion einer Ein-/Ausgabeeinheit aufweist. Hierzu weist das Dialogsystem 6 vorzugsweise ein nicht gesondert dargestelltes Terminal auf, über welches Daten ein- und ausgebbar sind. Weiterhin weist das Dialogsystem 6 ein eigenes Prozessorsystem auf. Alternativ kann das Dialogsystem 6 das Prozessorsystem der Rechnereinheit 4 nutzen. Generell kann damit das Dialogsystem 6 Bestandteil der Rechnereinheit 4 sein oder eine separate Einheit bilden.Finally, the computer unit 4 has a dialog system 6, which has the function of an input / output unit. For this purpose, the dialog system 6 preferably has a terminal, not shown separately, via which data can be input and output. Furthermore, the dialog system 6 has its own processor system. Alternatively, the dialog system 6 can use the processor system of the computing unit 4. In general, the dialog system 6 can thus be part of the computer unit 4 or form a separate unit.
Teil des Dialogsystems 6 ist eine (nicht gezeigte) Übersetzungseinheit, die natürlich-sprachliche Satzsequenzen in ein Datenabfrage-Format , vorzugsweise F-Logik-Anfragen, übersetzen kann, welches von der Inferenzeinheit verarbeitet werden kann.Part of the dialog system 6 is a translation unit (not shown) which can translate natural language sentence sequences into a data query format, preferably F-logic queries, which can be processed by the inference unit.
Mittels des auf der Rechnereinheit 4 installierten Objektmodells erfolgt eine Strukturierung der Daten des Datenbestands. Wesentlich hierbei ist, dass die Strukturierung der Daten allein durch Vorgabe des Objektmodells erfolgt, so dass keine Eingriffe in die Strukturen des Datenbestands auf den Speichereinheiten 2, 2' notwendig sind. Der Datenbestand auf den Speichereinheiten 2 kann beispielsweise eine Datenbank auf einem SQL-Server sein. Dieser bleibt unverändert. Das Objektmodell schafft lediglich eine Klassenstruktur mit Attributen, Synonymen und Regeln und verweist auf die Daten der Datenbank 2. Die in der ersten Speichereinheit 2 gespeicherten Daten sind beispielsweise Reisedaten. Ein Datensatz für eine Flugreise sei durch Angabe des Start- und Zielflughafens, die Reisezeit sowie die Angabe des Preises definiert. Zudem können Angaben über ein eventuell mit der Flugreise gebuchtes Hotel enthalten sein.The data of the database is structured using the object model installed on the computer unit 4. It is essential here that the data is structured solely by specifying the object model, so that no interventions in the structures of the data stock on the storage units 2, 2 'are necessary. The database on the storage units 2 can be, for example, a database on an SQL server. This remains unchanged. The object model merely creates a class structure with attributes, synonyms and rules and refers to the data in database 2. The data stored in the first storage unit 2 are, for example, travel data. A data record for a flight is defined by the start and destination airport, the travel time and the price. It may also include information about a hotel that may have been booked with the flight.
Korrespondierend gibt es im Objektmodell eine Klasse für Flugreisen mit den Attributen: Startflughafen, Zielflughafen, Reisezeit, Preis und Hotel.Correspondingly, there is a class for air travel in the object model with the attributes: departure airport, destination airport, travel time, price and hotel.
Zur Strukturierung der Daten wird weiterhin ein geographisches Modell generiert, welches exemplarisch in Fig. 2 aufgeführt ist .To structure the data, a geographic model is also generated, which is shown as an example in FIG. 2.
Das Objektmodell gemäß Fig. 2 weist eine hierarchische Klassenstruktur zur Bildung des geographischen Modells auf. Die hierarchische Struktur besteht aus Klassen und Unterklassen. Dabei ist der Klasse "Kontinente" die Klasse "Staaten" untergeordnet. Der Klasse "Staaten" ist die Klasse " Regionen" untergeordnet. Der Klasse "Regionen" ist die Klasse "Städte" untergeordnet.2 has a hierarchical class structure for forming the geographic model. The hierarchical structure consists of classes and subclasses. The "States" class is subordinate to the "Continents" class. The "States" class is subordinate to the "Regions" class. The "Cities" class is subordinate to the "Regions" class.
Die Daten des in der ersten Speichereinheit 2 abgespeicherten Datenbestands werden dieser Klassenstruktur als sogenannte Instanzen zugeordnet . Liegen die Daten in der ersten Speicherein- heit 2 in Form einer Tabelle vor, so erfolgt die Verknüpfung dadurch, dass eine Tabelle einer Klasse entspricht, und die Zeilen oder Spaltenüberschriften einer Tabelle entsprechen den Attributen der Klasse.The data of the data stored in the first storage unit 2 are assigned to this class structure as so-called instances. If the data in the first memory unit 2 is in the form of a table, the link is made in that a table corresponds to a class, and the rows or column headings of a table correspond to the attributes of the class.
Beispielsweise wird Las Palmas als Instanz der Klasse "Stadt" zugeordnet. Entsprechend der Klassenstruktur wird' diese Instanz zudem der Region "Kanarische Inseln" als Instanz der übergeordneten Klasse "Regionen" zugeordnet. Weiterhin erfolgt, die Zu- ordnung zur Klasse "Staat", in dem definiert wird, dass Las Palmas in Spanien als Instanz der Klasse "Staat" liegt. Schließlich erfolgt die Zuordnung, dass Spanien in Europa als Instanz der Klasse "Kontinent" liegt.For example, Las Palmas is assigned as an instance of the "City" class. According to the class structure this instance is also associated with the "Canary Islands" region as an instance of the parent class'regions''. Furthermore, the regulation for the class "state", in which it is defined that Las Palmas is located in Spain as an instance of the class "state". Finally, the assignment is made that Spain is located in Europe as an instance of the "continent" class.
Das geographische Modell gemäß Fig. 2 beinhaltet als weitere Komponenten "Meere" und "Gebirge" als Landschaftsformen, die jeweils separate Klassen bilden.The geographical model according to FIG. 2 contains, as further components, "seas" and "mountains" as landscape forms, which each form separate classes.
Den Klassen der Klassenstruktur sind Attribute zugeordnet, die innerhalb einer Klassenstruktur weitervererbt werden. Das einfachste Attribut ist im betrachteten Beispiel jeweils das Attribut "hatName" oder auch "Name". Die diesem Attribut zugeordnete Instanz gibt dann jeweils den Namen des Staats, der Regi- on, usw. an. Allgemein können mit Attributen bestimmten Klassen bestimmte Eigenschaften und Merkmale zugewiesen werden.The classes of the class structure are assigned attributes that are passed on within a class structure. The simplest attribute in the example considered is the attribute "hatName" or "Name". The instance assigned to this attribute then specifies the name of the state, the region, etc. In general, attributes can be used to assign certain properties to certain classes.
Als Spezialfall derartiger Attribute werden Synonyme definiert. Dabei können Synonyme für den Namen von Attributen vergeben werden. Z. B. kann statt des Attributs "liegtln" für einenSynonyms are defined as a special case of such attributes. Here, synonyms for the name of attributes can be assigned. For example, instead of the attribute "lies" for one
Staat, der innerhalb eines angegebenen Kontinents liegt, auch die Bezeichnung "TeilVon" für das Attribut verwendet werden.State that lies within a specified continent, the designation "TeilVon" can also be used for the attribute.
Ebenso können Synonyme für den Name der Klasse selbst definiert werden. Beispielsweise kann der Klasse "Staat" als Synonym das Meta-Attribut "Land" zugeordnet werden oder der Klasse "Meere" als Synonym das Meta-Attribut "Ozeane". Diese Attribute werden als sogenannte Meta-Attribute bezeichnet.Similarly, synonyms for the name of the class itself can be defined. For example, the "State" class can be assigned the meta attribute "Country" as a synonym, or the "Seas" class can be assigned the meta attribute "Oceans" as a synonym. These attributes are referred to as so-called meta attributes.
Weiterhin können Synonyme auch auf der Ebene von Instanzen, das heißt Daten definiert werden. Beispielsweise kann der Instanz "Kanarische Inseln", welche zur Klasse "Regionen" gehört, das Synonym "Kanaren" zugeordnet werden. Als weitere Elemente des geographischen Modells sind in Fig. 2 "Klimaprofile" und "Längen- und Breitengrade" enthalten, die vorzugsweise als Attribute der Klasse "Städte" zugeordnet sind.Furthermore, synonyms can also be defined at the level of instances, i.e. data. For example, the instance "Canary Islands", which belongs to the class "Regions", can be assigned the synonym "Canaries". As further elements of the geographic model, FIG. 2 contains “climate profiles” and “longitude and latitude”, which are preferably assigned as attributes to the “cities” class.
Die diesen Attributen zugeordneten Daten sind im vorliegenden Fall in der zweiten Speichereinheit 2' gespeichert. Vorzugsweise sind diese Daten über das Internet abrufbar.In the present case, the data assigned to these attributes are stored in the second storage unit 2 '. These data are preferably available on the Internet.
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 definiert ist, kann die Klassenstruktur zur Strukturierung der gespeicherten Daten durch geeignete Programmierung auf einfache Weise geändert werden.The class structure defined in this way is not fixed, but can be expanded and supplemented if necessary or even replaced by a new class structure. Since the class structure is defined by a software module, the class structure for structuring the stored data can be changed in a simple manner by suitable programming.
Die Funktionsweise des Datenverarbeitungssystems 1 wird im Folgenden anhand von Beispielen erläutert.The functioning of the data processing system 1 is explained below using examples.
Als erstes Beispiel wird als Eingabegröße von einem Benutzer folgende natürlich-sprachliche Satzsequenz eingegeben: "Ich möchte am 29.03. für eine Woche ans Meer fliegen".As a first example, the following natural language sentence sequence is entered by a user as input variable: "I would like to fly to the sea for a week on March 29th".
Im einfachsten Fall extrahiert die Übersetzungseinheit hieraus die folgenden Schlüsselbegriffe: "29.03.", "eine Woche" und "ans Meer" . Da es sich im betrachteten Beispiel um eine Flugdatenbank handelt, muss das Wort "fliegen" nicht extra erkannt werden. Im Falle einer allgemeineren Reisedatenbank würde der eingegebene Satz auch auf ein solches Schlüsselwort hin durchsucht . Die drei gefundenen Schlüsselwörter lassen sich unschwer durch ihr Format bzw. durch Vergleich mit einigen hinterlegten Beispielen identifizieren als:In the simplest case, the translation unit extracts the following key terms from this: "03/29", "a week" and "to the sea". Since the example in question is a flight database, the word "fly" does not have to be recognized. In the case of a more general travel database, the sentence entered would also be searched for such a keyword. The three keywords found can easily be identified by their format or by comparison with a few examples:
Reisebeginn: 29.03.Start of the trip: 29.03.
Reisedauer: eine WocheTravel time: one week
Es ergibt sich damit das Reiseende: 05.04.This results in the end of the trip: 05.04.
Reiseziel: liegt am Meer.Destination: is by the sea.
Daraus erstellt die Übersetzungseinheit die folgende F-Logik- Anfrage :The translation unit uses this to generate the following F-logic request:
FORALL X <- X:Region [liegtAm->Meer] . FORALL X,Y <- X: Region and X [hatStadt->Y] . FORALL Y,Z <-FORALL X <- X: Region [liesAm-> Sea]. FORALL X, Y <- X: Region and X [hatstadt-> Y]. FORALL Y, Z <-
Z: Flug [Ziel- >Y; Abflugdatum->29.03. ; Rückflugdatum->05.04. ] .Z: Flight [destination-> Y; Abflugdatum-> 3.29. ; Rückflugdatum-> 4.5. ].
In der Klassenstruktur gemäß Fig. 2 ist das Wissen über regionale Zusammenhänge beispielsweise durch Verknüpfung der Klassen "Staaten", "Regionen" und "Städte" einerseits sowie der Klasse "Meere" andererseits definiert, so dass als Ausgabegröße eine Auswahl von Regionen angezeigt wird, die am Meer liegen. Eine Auswahl von Staaten wäre ungeeignet, da in einem großen Land am Meer ein Stadt sehr weit vom Meer entfernt sein kann.In the class structure according to FIG. 2, knowledge of regional relationships is defined, for example, by linking the classes “states”, “regions” and “cities” on the one hand and the class “seas” on the other, so that a selection of regions is displayed as the output variable, that lie by the sea. A choice of states would be unsuitable because in a large country by the sea a city can be very far from the sea.
Die Liste der Regionen wird weiter verarbeitet in der Weise, dass alle Städte der Flugdatenbank ausgegeben werden, die in diesen Regionen liegen. Dies sind - da es sich um eine Flugdatenbank handelt - lediglich Städte mit Flughäfen.The list of regions is further processed in such a way that all cities in the flight database which are located in these regions are output. These are - since it is a flight database - only cities with airports.
Damit sind alle Reiseziele bekannt. Sodann werden alle Flüge zu diesen Reisezielen ausgegeben mit dem Abflugdatum 29.03. und dem Rückflugdatum 05.04. Als regelmäßiger Service werden bei Flügen "ans Meer" zudem ü- ber das Internet die aktuellen Temperaturwerte in den einzelnen Städten abgefragt, da die Eingabegröße impliziert, dass der Benutzer einen Badeurlaub buchen möchte. Dies impliziert, dass die Temperaturen in den Zielorten hinreichend sein sollten. Mit dieser Abfrage werden Informationen von Sensoren, nämlich Temperaturwerte, abgefragt. Dies schränkt die möglichen Reisen weiter ein.This means that all travel destinations are known. Then all flights to these destinations are issued with the departure date 29.03. and the return flight date 05.04. As a regular service for flights "to the sea", the current temperature values in the individual cities are also queried via the Internet, since the input size implies that the user would like to book a beach holiday. This implies that the temperatures in the destinations should be sufficient. With this query, information from sensors, namely temperature values, is queried. This further limits the possible trips.
Gibt darauf der Benutzer als weitere Eingabegröße ein: "Ich möchte aber weiter weg.", so extrahiert die Übersetzungseinheit hieraus die Schlüsselwörter "weiter weg" . Hieraus wird eine F- Logik-Anfrage gebildet, und zwar:If the user then enters the further input variable: "But I want to go further away", the translation unit extracts the keywords "further away" from it. An F logic request is formed from this, namely:
FORALL X,Y,D1,D2FORALL X, Y, D1, D2
<- X: Stadt and Y:aktuelleZiel and Distanz (aktuellerOrt, Y, Dl) and Distanz (aktuellerOrt,X,D2) and D2>D1<- X: City and Y: current destination and distance (current location, Y, Dl) and distance (current location, X, D2) and D2> D1
Ergebnis sind alle Städte, die eine größere Distanz zum aktuellen Ort haben als die aktuellen Flugziele. Diese Datenabfrage quantifiziert den unscharfen Begriff "weiter weg".The result is all cities that have a greater distance to the current location than the current flight destinations. This data query quantifies the fuzzy term "further away".
Zur Berechnung der Distanz können die Attribute "Längen- und Breitengrade" für Städte in den zuvor ausgewählten Regionen zur Bestimmung der Entfernung zu den Reisezielen herangezogen werden.To calculate the distance, the attributes "Longitude and Latitude" for cities in the previously selected regions can be used to determine the distance to the travel destinations.
Dann wird dem Benutzer als Ausgabegröße eine Auswahl von Reise- zielen in die zuvor ausgewählten Regionen angezeigt, deren Distanz oberhalb eines vorgegebenen Grenzwertes liegt. Gibt der Benutzer schließlich als weitere Eingabegröße ein: "Ich möchte auf die Kanaren", so wird anhand der im geographischen Modell definierten Synonymstrukturen erkannt, dass als Reiseziel die Region Kanarische Inseln gewünscht wird.The user is then shown a selection of travel destinations in the previously selected regions as the output variable, the distance of which lies above a predetermined limit value. Finally, if the user enters an additional input variable: "I want to go to the Canary Islands", the synonym structures defined in the geographical model recognize that the region of the Canary Islands is desired as the travel destination.
Anhand der daraufhin ausgegebenen Reiseziele auf den Kanarischen Inseln kann der Benutzer die gewünschte Buchung vornehmen, wobei je nach Ausbildung des Dialogsystems 6 dem Benutzer als Alternative eine Buchung einer Flugreise mit oder ohne Ho- telbuchung angeboten werden kann.The user can then make the desired booking on the basis of the destinations on the Canary Islands which are then output, and depending on the design of the dialog system 6, the user can alternatively be offered a booking of an air travel with or without a hotel booking.
Als zweites Beispiel wird von einem Benutzer als Eingabegröße formuliert: "Ich möchte im Urlaub klettern und baden".As a second example, a user formulates the input variable: "I want to climb and swim on vacation".
Die Schlüsselwörter sind diesmal "klettern" und "baden" .The key words this time are "climbing" and "bathing".
Das System verfügt über eine Datenbank, in der sich Schlüsselwörter und ggf. deren Synonyme finden, auch als Wildcards hinterlegt (z. B. "kletter*"), sowie die jeweilige Übersetzung in eine F-Logik-Abfrage bzw. die zugehörige Zuordnung zu einem E- lement der Klassenstruktur, aus der sich eine geeignete F- Logik-Abfrage erzeugen lässt .The system has a database in which keywords and, if applicable, their synonyms can also be found as wildcards (e.g. "kletter *"), as well as the respective translation into an F-logic query or the associated assignment an element of the class structure from which a suitable F-logic query can be generated.
"Klettern" wird umgesetzt in die F-Logik-Abfrage :"Climbing" is converted into the F logic query:
FORALL X <- X: Region [liegtAm->Gebirge] .FORALL X <- X: Region [liesAm-> Mountains].
"Baden" wird umgesetzt in die F-Logik-Abfrage :"Baden" is implemented in the F-logic query:
FORALL X <- X: Region [liegtAm->Meer] .FORALL X <- X: Region [liesAm-> Sea].
Es wird also eine Region gesucht, die am Meer und ein Gebirge hat: FORALL X <- X: Region [liegtAm->Meer] .We are looking for a region that has a sea and mountains: FORALL X <- X: Region [liesAm-> Sea].
FORALL X <- X: Region and [liegtAm->Gebirge] .FORALL X <- X: Region and [liesAm-> Mountains].
Als Ausgabegröße wird dem Benutzer eine geeignete Urlaubsregion angezeigt, beispielsweise Korsika.The user is shown a suitable holiday region as output variable, for example Corsica.
Gibt der Benutzer als weitere Eingabegröße ein: "Gibt es etwas Ähnliches?", so wird anhand des hinterlegten geographischen Mo- dells nach vergleichbaren Regionen recherchiert.If the user enters an additional input variable: "Is there something similar?", The geographic model is used to search for comparable regions.
Ist beispielsweise die Klassenstruktur gemäß Fig. 2 dahingehend erweitert, dass neben der Klasse "Meere" auch die Klasse "Seen" vorgesehen ist, so kann über Regeln eine Ähnlichkeitsbeziehung zwischen den Klassen "Meere" und "Seen" definiert werden.If, for example, the class structure according to FIG. 2 is expanded in such a way that the class “lakes” is provided in addition to the class “seas”, then a similarity relationship between the classes “seas” and “lakes” can be defined using rules.
Dann kann als Ausgabegröße auf die zweite Anfrage dem Benutzer beispielsweise die Region des Gardasees als zu Korsika ähnliche Reiseregion angezeigt werden.Then, as the output variable for the second request, the region of Lake Garda, for example, can be displayed to the user as a travel region similar to Corsica.
Durch die auf diese Weise aus den Eingabegrößen abgeleiteten Datenabfragen kann der Benutzer auch mit allgemein und unscharf formulierten Anfragen Recherchen durchführen, um beispielsweise eine Reise zu buchen. Vorteilhaft hierbei ist, dass er nicht wie bei bekannten Datenbanksystemen ein bestimmtes Reiseziel exakt angeben muss , sondern die Recherche unabhängig von den Datenformaten der im Reisebüro gespeicherten Daten durchführen kann.As a result of the data queries derived from the input variables in this way, the user can also carry out searches with generally and vaguely formulated queries, for example in order to book a trip. The advantage here is that he does not have to specify a specific travel destination exactly as in known database systems, but can carry out the research independently of the data formats of the data stored in the travel agency.
Als Ergebnis auf eine Datenab ragen wird als Ausgabegröße vorzugsweise eine Teilmenge des Datenbestandes über das Dialogsystem 6 ausgegebe . Dabei kann bei einer durchzuführenden Recherche von dem Benutzer eine Folge mehrerer Eingabegrößen in das Dialogsystem 6 eingegeben werden, wobei vorzugsweise auf jede Eingabegröße die Ausgabe einer entsprechenden Ausgabegröße erfolgt. In dem Dialogsystem 6 wird die Historie der Benutzereingaben dadurch erfasst, dass die Eingabegrößen der Folge mit UND-Verknüpfungen verknüpft werden. Auf diese Weise ist gewährleistet, dass während der Recherche ermittelte Informationen nicht verloren gehen. As a result of a data query, a subset of the data stock is preferably output via the dialog system 6 as the output variable. In the case of a search to be carried out, the user can enter a sequence of several input variables into the dialog system 6, with a corresponding output variable preferably being output for each input variable. In the dialog system 6, the history of the user inputs is recorded in that the input variables of the sequence are linked with AND links. This ensures that information found during research is not lost.
Bezugszeichenreference numeral
Datenverarbeitungssystem Speichereinheit für Daten ' Speichereinheit für Daten Server Rechnereinheit Software-Modul zur Generierung des Obj ektmodells ' Inf erenzeinheit Dialogsystem Data processing system Storage unit for data 'Storage unit for data server computer unit Software module for generating the object model' Inf erence unit dialog system

Claims

Patentansprüche claims
1. Datenverarbeitungssystem a) mit wenigstens einer Informationserzeugungsemheit (2) zur Speicherung oder Generierung von einen Datenbestand bildenden Daten; b) mit wenigstens einer Rechnereinheit (5) zur Generierung eines Objektmodells, bestehend aus einer Klassenstruktur und einem deklarativen System von Regeln, wobei die Daten mittels des Objektmodells strukturierbar sind; c) mit einer Ein/Ausgabeeinheit (6) zur Eingabe einer Datenabfrage und zur Ausgabe von Antworten auf die Datenabfrage; und d) mit einer Inferenzeinheit (5') zur Auswertung der Datenabfrage ; dadurch gekennzeichnet, e) dass als Ein/Ausgabeeinheit ein Dialogsystem (6) vorgesehen ist, über welches natürlich-sprachliche Satzsequenzen als Eingabegrδßen eingebbar sind, aus welchen die Datenabfragen selbsttätig abgeleitet werden.1. Data processing system a) with at least one information generation unit (2) for storing or generating data forming a database; b) with at least one computer unit (5) for generating an object model, consisting of a class structure and a declarative system of rules, the data being structurable by means of the object model; c) with an input / output unit (6) for entering a data query and for outputting responses to the data query; and d) with an inference unit (5 ') for evaluating the data query; characterized in that e) a dialog system (6) is provided as the input / output unit, via which natural-language sentence sequences can be entered as input variables from which the data queries are automatically derived.
2. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, gekennzeichnet durch eine Einheit zum Übersetzen der natürlich-sprachlichen Satzsequenzen in ein Datenabfrage-Format, welches von der Inferenzemheit verarbeitet werden kann.2. Data processing system according to the preceding claim, characterized by a unit for translating the natural-language sentence sequences into a data query format, which can be processed by the inference unit.
3. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche , dadurch gekennzeichnet, dass in dem Dialogsystem (6) eine Menge von zulässigen Satztypen abgespeichert ist, mit welcher die Eingabegrößen verglichen werden.3. Data processing system according to one of the preceding claims, characterized in that that in the dialog system (6) a set of permissible record types is stored, with which the input variables are compared.
. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Klassenstruktur den Klassen zugeordnete Synonymstrukturen aufweist., Data processing system according to one of the preceding claims, characterized in that the class structure has synonym structures assigned to the classes.
5. Datenverarbeitungssystem nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Synonymstrukturen als Meta-Attribute ausgebildet sind, welche vorgegebenen Klassen der Klassenstruktur zugeordnet sind.5. Data processing system according to the preceding claim, characterized in that the synonym structures are designed as meta-attributes, which predefined classes are assigned to the class structure.
6. Datenverarbeitungssystem nach einem der beiden vorhergehenden Ansprüche, dadurch gekennzeichnet, dass den Daten des Datenbestandes Synonyme zugeordnet sind.6. Data processing system according to one of the two preceding claims, characterized in that synonyms are assigned to the data of the database.
7. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Klassenstruktur und/oder die zugehörigen Regeln und /oder zugehörige Synonymstrukturen veränderbar sind.7. Data processing system according to one of the preceding claims, characterized in that the class structure and / or the associated rules and / or associated synonym structures can be changed.
8. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet. dass zur Bildung einer Datenabfrage aus einer Eingabegröße in dieser enthaltene Begriffe Elementen der Klassenstruktur, Attributen oder Synonymstrukturen zugeordnet werden.8. Data processing system according to one of the preceding claims, characterized. that elements of the class structure, attributes or synonym structures are assigned to form a data query from an input variable in terms contained therein.
9. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein unscharfer Begriff in einer Eingabegröße in Form einer natürlich-sprachlichen Satzsequenz durch eine Regel in eine quantitative Größe übersetzt wird.9. Data processing system according to one of the preceding claims, characterized in that a fuzzy term in an input variable in the form of a natural-language sentence sequence is translated by a rule into a quantitative variable.
10. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche , dadurch gekennzeichnet, dass eine Mehrzahl von zeitlich hintereinander eingegebenen Eingabegrößen mittels UND-Verknüpfungen logisch verknüpft sind.10. Data processing system according to one of the preceding claims, characterized in that a plurality of input variables entered one after the other are logically linked by means of AND operations.
11. Verfahren zum Abfragen von Daten aus einem Datenbestand, wobei insbesondere unter Verwendung eines Datenverarbeitungs- Systems folgende Schritte durchgeführt werden: a) der Datenbestand wird gespeichert; b) ein Objektmodell wird erzeugt, bestehend aus einer Klassenstruktur und Regeln, wobei die Daten mit Hilfe des Objektmodells strukturierbar sind; c) eine Datenabfrage wird eingegeben; d) eine Inferenzeinheit (51) wertet die Datenabfrage aus; e) eine Antwort auf die Datenabfrage wird ausgegeben; dadurch gekennzeichnet, f) dass als Ein/Ausgabeeinheit ein Dialogsystem (6) bereit- gestellt wird, über welches natürlich-sprachliche Satzsequenzen als Eingabegrößen eingebbar sind; und g) dass die natürlich-sprachlichen Satzsequenzen in ein Datenabfrage-Format übersetzt werden, welches von der Inferenzemheit verarbeitet werden kann.11. Method for querying data from a database, the following steps being carried out in particular using a data processing system: a) the database is stored; b) an object model is generated, consisting of a class structure and rules, the data being structurable with the aid of the object model; c) a data query is entered; d) an inference unit (5 1 ) evaluates the data query; e) a response to the data query is output; characterized in that f) that a dialog system (6) is provided as an input / output unit, via which natural-language sentence sequences can be input as input variables; and g) that the natural language sentence sequences are translated into a data query format which can be processed by the inference unit.
12. Computerprogramm, dadurch gekennzeichnet, dass es bei Ablauf auf einem Computer oder Computer-Netzwerk das Verfahren nach dem vorhergehenden Verfahrensanspruch ausführt.12. Computer program, characterized in that it executes the method according to the preceding method claim when it runs on a computer or computer network.
13. Computerprogramm mit Programmcode-Mitteln, um ein Ver- fahren gemäß einem der vorhergehenden Verfahrensansprüche durchzuführen, wenn das Computerprogramm auf einem Computer o- der Computer-Netzwerk ausgeführt wird.13. Computer program with program code means to carry out a method according to one of the preceding method claims when the computer program is executed on a computer or the computer network.
14. Computerprogramm mit Programmcode-Mitteln gemäß dem vor- hergehenden Anspruch, die auf einem computerlesbaren Datenträger gespeichert sind.14. Computer program with program code means according to the preceding claim, which are stored on a computer-readable data carrier.
15. Datenträger oder Computersystem, auf dem eine Datenstruktur gespeichert ist, die nach einem Laden in einen Ar- beits- und/oder Hauptspeicher eines Computers oder Computer- Netzwerkes das Verfahren nach einem der vorhergehenden Verfahrensansprüche ausführt.15. Data carrier or computer system on which a data structure is stored, which executes the method according to one of the preceding method claims after loading into a working and / or main memory of a computer or computer network.
16. Computerprogramm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode-Mitteln, um alle Schritte gemäß einem der vorhergehenden Verfahrensansprüche durchzuführen, wenn das Programm auf einem Computer oder Computer-Netzwerk ausgeführt wird.16. Computer program product with program code means stored on a machine-readable carrier in order to carry out all steps according to one of the preceding method claims when the program is executed on a computer or computer network.
17. Moduliertes Datensignal, welches von einem Computersystem oder Computernetzwerk ausführbare Instruktionen zum Ausführen eines Verfahrens nach einem der vorhergehenden Verfahrens- ansprüche enthält . 17. Modulated data signal which contains instructions for executing a method according to one of the preceding method claims which can be executed by a computer system or computer network.
PCT/EP2004/004136 2003-04-19 2004-04-19 Data processing system for user-friendly data base searches WO2004095313A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10318333A DE10318333A1 (en) 2003-04-19 2003-04-19 Data processing system
DE10318333.7 2003-04-19

Publications (1)

Publication Number Publication Date
WO2004095313A1 true WO2004095313A1 (en) 2004-11-04

Family

ID=33154350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/004136 WO2004095313A1 (en) 2003-04-19 2004-04-19 Data processing system for user-friendly data base searches

Country Status (2)

Country Link
DE (1) DE10318333A1 (en)
WO (1) WO2004095313A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006114299A2 (en) * 2005-04-28 2006-11-02 Ontoprise Gmbh Graphic rule editor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569132B1 (en) 2004-02-23 2012-07-04 Sap Ag Computer system and method of performing a database access
DE102007004684A1 (en) 2007-01-25 2008-07-31 Deutsche Telekom Ag Method and data processing system for controlled query structured information stored

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061615A2 (en) * 2001-01-30 2002-08-08 Ontoprise Gmbh Computer system
WO2002073331A2 (en) * 2001-02-20 2002-09-19 Semantic Edge Gmbh Natural language context-sensitive and knowledge-based interaction environment for dynamic and flexible product, service and information search and presentation applications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794050A (en) * 1995-01-04 1998-08-11 Intelligent Text Processing, Inc. Natural language understanding system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061615A2 (en) * 2001-01-30 2002-08-08 Ontoprise Gmbh Computer system
WO2002073331A2 (en) * 2001-02-20 2002-09-19 Semantic Edge Gmbh Natural language context-sensitive and knowledge-based interaction environment for dynamic and flexible product, service and information search and presentation applications

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GATIUS M ET AL: "Natural language guided dialogues for accessing the Web", TEXT, SPEECH AND DIALOGUE. 5TH INTERNATIONAL CONFERENCE, TSD 2002. PROCEEDINGS (LECTURE NOTES IN ARTIFICIAL INTELLIGENCE VOL.2448) SPRINGER-VERLAG BERLIN, GERMANY, 9 September 2002 (2002-09-09) - 12 September 2002 (2002-09-12), pages 373 - 380, XP002295462, ISBN: 3-540-44129-8 *
MCTEAR MICHAEL F: "Spoken dialogue technology: enabling the conversational user interface", ACM COMPUTING SURVEYS, ACM, NEW YORK, US, US, vol. 34, no. 1, March 2002 (2002-03-01), pages 90 - 169, XP002961515, ISSN: 0360-0300 *
SENEFF S: "Response planning and generation in the mercury flight reservation system", COMPUTER SPEECH AND LANGUAGE, ACADEMIC PRESS, LONDON, GB, vol. 16, no. 3-4, July 2002 (2002-07-01), pages 283 - 312, XP004418849, ISSN: 0885-2308 *
STAAB S ET AL: "A system for facilitating and enhancing Web search", ENGINEERING APPLICATIONS OF BIO-INSPIRED ARTIFICIAL NEURAL NETWORKS. INTERNATIONAL WORK-CONFERENCE ON ARTIFICIAL AND NATURAL NEURAL NETWORKS, IWANN'99. PROCEEDINGS, VOL.2 (LECTURE NOTES IN COMPUTER SCIENCE VOL.1607) SPRINGER-VERLAG BERLIN, GERMANY, 2 June 1999 (1999-06-02) - 4 June 1999 (1999-06-04), pages 1 - 10, XP002295461, ISBN: 3-540-66068-2 *
STAAB S ET AL: "Semantic community Web portals", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 33, no. 1-6, June 2000 (2000-06-01), pages 473 - 491, XP004304786, ISSN: 1389-1286 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006114299A2 (en) * 2005-04-28 2006-11-02 Ontoprise Gmbh Graphic rule editor
WO2006114299A3 (en) * 2005-04-28 2007-08-23 Ontoprise Gmbh Graphic rule editor

Also Published As

Publication number Publication date
DE10318333A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
DE69834386T2 (en) TEXT PROCESSING METHOD AND RETENTION SYSTEM AND METHOD
EP1311989B1 (en) Automatic search method
DE60120822T2 (en) Meta-document and method for managing meta-documents
EP1783633B1 (en) Search engine for a location related search
EP1877932B1 (en) System and method for aggregating and monitoring decentrally stored multimedia data
DE112007000053T5 (en) System and method for intelligent information acquisition and processing
DE60030735T2 (en) PREDICTION OF THE REALIZABILITY OF A CONNECTION PATH
DE10231161A1 (en) Domain-specific knowledge-based meta search system and method for using the same
DE19627472A1 (en) Database system
EP0855062A2 (en) Information system and process for storing data therein
WO2009030288A1 (en) Detecting correlations between data representing information
DE102006040208A1 (en) Patent-related search procedure and system
DE102019212421A1 (en) Method and device for identifying similar documents
DE10034694A1 (en) Procedure for comparing search profiles
DE19914326A1 (en) Procedure for using fractal semantic networks for all types of databank applications to enable fuzzy classifications to be used and much more flexible query procedures to be used than conventional databank structures
WO2004095313A1 (en) Data processing system for user-friendly data base searches
EP1064606B1 (en) Data processing system and method for the automatic creation of a summary of text documents
EP2193457A1 (en) Detecting correlations between data representing information
WO2005116867A1 (en) Method and system for the automated generation of computer-based control and analysis devices
DE19842320A1 (en) Method and device for searching contents in WWW electronic documents relies on an index with elementary and intelligible related terms for piecing facts together while categorizing elements linked to the contents of a subject sought
EP3076343A1 (en) Method for allocating linguistic inputs
EP2423830A1 (en) Method for searching through a number of databases and search engine
DE10160920B4 (en) Method and device for producing an extract of documents
Masó-Maresma et al. The integration of folksonomies within a thesaurus in a social science Web portal: SIDBRINT
DE202022104673U1 (en) Social network traceability system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
122 Ep: pct application non-entry in european phase