EP1620807A1 - Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung - Google Patents

Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung

Info

Publication number
EP1620807A1
EP1620807A1 EP03785583A EP03785583A EP1620807A1 EP 1620807 A1 EP1620807 A1 EP 1620807A1 EP 03785583 A EP03785583 A EP 03785583A EP 03785583 A EP03785583 A EP 03785583A EP 1620807 A1 EP1620807 A1 EP 1620807A1
Authority
EP
European Patent Office
Prior art keywords
database
query
data
database query
compressed image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP03785583A
Other languages
English (en)
French (fr)
Inventor
Michael Haft
Reimar Hofmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panoratio Database Images GmbH
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP1620807A1 publication Critical patent/EP1620807A1/de
Withdrawn legal-status Critical Current

Links

Classifications

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

Definitions

  • the invention relates to a database query system and a method for computer-aided query of a database.
  • CRM systems customer relationship management systems
  • supply chain management systems supply chain management systems
  • OLAP On-Line Analytical Processing
  • a simple query option is provided by the use of database queries which are known per se, for example in the form of a database query language, preferably in the standard query language (SQL).
  • SQL standard query language
  • ROLAP relational on-line analytical processing
  • Multidimensional On-Line Analytical Processing is a technology in which many aggregate
  • a multidimensional cube also referred to as a "cube"
  • the required information can either be read directly from the cube or calculated relatively quickly from a few aggregates found there according to MOLAP. Due to the abundance of possible aggregates, MOLAP cubes have a very strong limitation with regard to the number of dimensions that can be taken into account in the MOLAP.
  • the multidimensional cubes can become very large, which is why a very powerful computer as a server computer is required to carry out the database queries. Furthermore, even a very powerful server computer can often not provide sufficient computing power for a large number of requests from several users arriving at the same time.
  • Many OLAP systems offer an open interface - Microsoft, for example, the ODBO standard, the JOLAP interface is defined in the Java environment. In contrast to SQL, interfaces are less strongly standardized at this level.
  • a database query according to ROLAP or a simple database query using SQL for example, is used, the processing of a database query can take a long time for a large database with a more complex structure. The considerable amount of time until a database query is answered or processed is particularly uncomfortable for a user if the result of the database query shows that the specification of the database query was not sufficiently meaningful or error-prone, or that the database - No hits were found in the database.
  • a telecommunications company wants to select a suitable amount of customers for an advertising campaign from its stored electronic customer database. For this purpose, a database query is sent to the customer database of the telecommunications company, which for example reads as follows:
  • the customer database is filtered according to the procedure outlined above for the corresponding customers according to the database query, some depending on the size of the database
  • the result of the database query is assume that the specified conditions in the database query correspond to only 800 customer records. However, an own advertising campaign does not make sense for this small amount of customers. This means that the filter criteria for the database query are changed and a new database query is started, which in turn can take a few minutes to even hours. This procedure is usually continued iteratively until a set of hits of the desired size has been determined.
  • the invention is therefore based on the problem of creating a database query system and a method for computer-aided query of a database, in which the time required for processing database queries is reduced in the statistical sense.
  • a database query system has at least one first device.
  • a database is stored in the first device, the database containing a large amount of data. holds.
  • at least one second device is provided, in which at least one compressed image of at least part of the contents of the database is stored.
  • a query unit is provided which is coupled to the first device and to the second device and is set up in such a way that it can query the contents of the compressed image and query the contents of the database.
  • the compressed image represents a content-compressed representation of the data stored in the database.
  • a static image of the contents of the database particularly preferably a statistical model of the contents of the database, which is stored in the second device, is preferably used as the compressed image.
  • the query unit according to the invention opens up the possibility that the entire database does not have to be searched for each database query, but rather that the compressed image of the database can be accessed first and the compressed image can first be queried.
  • This first query of the compressed image can lead to an approximate result, which may be sufficient for the respective database query or may provide sufficient information for a possible U formulation of the database query, using which the database itself is queried.
  • a statistical model is to be understood as any model that represents all statistical relationships or the common frequency distribution of the data in a database (exact or approximate), for example a Bayesian (or causal) network, a Markov network or generally a graphical probabilistic model, a "latent variable model", a statistical clustering model or a trained artificial neural network.
  • the statistical model can thus be understood as a complete, exact or approximate, but compressed image of the statistics of the database.
  • a database query is formed, preferably by a client computer.
  • a compressed image of the database which was previously formed using the database, is queried in accordance with the database query.
  • the query result of the query of the compressed image it is checked whether the result with regard to the question, i.e. with regard to the database query or other specifiable criteria is sufficient.
  • this check can also be carried out by the user of the client computer by transmitting the result of the query of the compressed image to the client computer, presenting it to the user, and checking by the user whether he wants the desired one Has now received information through the result.
  • a corresponding instruction is transmitted to the query unit.
  • This instruction can consist in that a message is sent to the query unit that more specific information is required using the original database query, whereupon the database is then queried in accordance with the original database query becomes.
  • a new database query can be formed and optionally sent to the query unit together with the information to directly access the database itself, whereupon the compressed image and / or the database is queried in accordance with the new database query.
  • the result of the query of the compressed image and / or the result of the query of the database is made available for further processing, for example transmitted to the client computer sending the database query.
  • a compressed image preferably a statistical model
  • the compressed image is first queried in accordance with the database query and thus an approximate result is determined very quickly and made available to a user, which may already be sufficient for the particular question in order to answer the database query.
  • the approximate result often contains at least good indications of the meaning and the prospects of success and the scope of an exact result of the database query.
  • the configurations described below relate both to the database query system and to the method for computer-aided query of a database.
  • the database query system can have at least one client computer coupled to the query unit, which is set up in such a way that it can generate database queries or database queries.
  • At least some of the data stored in the database is stored in compressed form in the second device.
  • the client computer or computers are usually coupled to the server computer and, moreover, to the database via a telecommunications network, for example a telephone network, generally a wide area network (WAN) or a local area network (LAN), and communication is via the Communication network is preferably carried out according to the Internet protocols Transport Control Protocol (TCP) and Internet Protocol (IP).
  • a telecommunications network for example a telephone network, generally a wide area network (WAN) or a local area network (LAN), and communication is via the Communication network is preferably carried out according to the Internet protocols Transport Control Protocol (TCP) and Internet Protocol (IP).
  • TCP Transport Control Protocol
  • IP Internet Protocol
  • the query unit can be set up in accordance with the quasi-standard Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC). Communication can also take place via (proprietary) OLAP interfaces (ODBO, JOLAP).
  • ODBC Open Database Connectivity
  • JDBC Java Database Connectivity
  • Communication can also take place via (proprietary) OLAP interfaces (ODBO, JOLAP).
  • SQL standard query language
  • the database queries are preferably formulated in accordance with the standard query language (SQL) database query language, in which case the query unit is set up to process the database queries in accordance with SQL.
  • the database can have any number of databases, which can be distributed over several computers, the databases being coupled to the query unit.
  • the database or the databases has or have a plurality of database segments.
  • each database segment is assigned a compressed image, which has been formed via the respective database segment.
  • This embodiment of the invention has the particular advantage that in the event that a database query using a respective compressed image of a database segment for the respective database segment with a high probability has no hits (or even only a very few in an approximate procedure) it can be expected that a detailed database query (ie a full search in the respective database segment) for the respective database segment can be excluded.
  • the database query is also carried out on the database itself, the database query is only carried out for the database segments which, with sufficient probability, provide results which correspond to the query criteria of the database query.
  • Another advantage is that if the compressed image already contains enough information to generate a complete, exact result, a detailed database query (ie a full search in the respective database segment) for the respective database segment can be excluded as well. In total, must So only a few additional detailed queries for a few segments are still started.
  • This embodiment of the invention can also be provided in a corresponding manner for the further development that several databases are contained in the database query system.
  • a compressed image of the respective database is formed for each database.
  • the interrogation unit and the second device can be implemented together in one computer, preferably in a client computer.
  • the use of a compressed image of a database according to the invention makes it possible for the image, which has a significantly smaller amount of data, preferably a few megabytes in comparison to a few gigabytes to terrabytes of a complete database, to be sent to the client in a simple manner via a conventional communication network -Transfer computer.
  • the first query can be made to the compressed image to determine an approximate query result, without the need for a communication link to the actual database. This also enables offline operation of a client computer as long as an approximate result of the database query is sufficient.
  • an additional reduction in the required computing capacity of the server computer is achieved and the bandwidth requirement of the communication network for the transmission of database queries and database query results is further reduced.
  • the second device can be provided in a separate computer that is independent of the client computer and the server computer and can be coupled to it via the communication network. Furthermore, it can be integrated in the server computer, preferably together with the query unit.
  • a decision unit which checks whether the approximate result is sufficient according to a predeterminable quality criterion. In the event that the approximate result is not sufficient, the database query is automatically forwarded to the database management system of the database itself and thus a database query of the complete database is started.
  • the existence of a compressed image is transparent to the user and the user-friendliness is further increased, since the user no longer has to be involved in the decision-making process as to whether the database itself is to be queried or not.
  • information is provided with the database query that indicates whether an exact result of the database query is desired or whether an approximate result is sufficient. If, according to the information additionally given in the database query, a fast but approximate result is accepted, a quality criterion can also be specified up to which degree of statistical reliability the result may be approximate, for example up to which decimal place the approximation may have an impact.
  • the server computer and the client computer can be coupled to one another via any communication network, for example via a fixed network or via a mobile radio network, for the transmission of the respective data and for the transmission of the statistical model.
  • the statistical models can be formed by the server computers, alternatively also by other, possibly specially designed computers which are coupled to the databases.
  • the statistical models formed are transmitted to the respective query unit, which can be arranged in a separate computer, in the server computer or in one or each of the client computers, via the communication network.
  • the statistical models can thus be made available in a very simple manner worldwide in a heterogeneous communication network, for example on the Internet.
  • At least one of the statistical models can be formed by means of a scalable method with which the degree of compression of the statistical model can be set compared to the data elements contained in the respective database.
  • At least one of the statistical models can furthermore be formed by means of an EM learning method or by means of variants thereof or by means of a gradient-based learning method.
  • the so-called APN learning method adaptive probabilistic network learning method
  • all likelihood-based learning methods or Bayesian learning methods can be used, as described for example in [1].
  • the structure of the common probability models can be specified in the form of a graphical probabilistic model (a Bayesian network, a Markov network or a combination thereof).
  • a graphical probabilistic model a Bayesian network, a Markov network or a combination thereof.
  • a special case of this general formalism corresponds to so-called latent variable models or statistical clustering models.
  • any method of learning can not only ter, but also the structure of graphical probabilistic models from available data elements can be used, for example any structure learning method, as described for example in [2] and [3].
  • parts of the data can be saved with the models in various resolutions (e.g. a numerical value roughly represented by just one byte).
  • the statistics of the data recorded by the model are preferably used to present the data in compressed form. The more information is stored in the compressed image, the greater the storage requirement and the more complex the evaluation. It is therefore possible to choose a compromise, starting with a very small, approximate statistical model up to an already very detailed, exact representation of the statistics of the contents of a database.
  • FIG. 1 shows a block diagram of a database query system in accordance with a first exemplary embodiment of the invention
  • Figure 2 is a flowchart showing the individual steps of processing a database query according to a first embodiment of the invention
  • FIG. 3 shows a message flow diagram in which those between a client computer and a server computer according to the first exemplary embodiment of the invention are shown;
  • FIG. 4 is a flowchart showing the individual steps of processing a database query according to a second embodiment of the invention
  • FIG. 5 shows a message flow diagram in which those between a client computer and a server computer according to the second exemplary embodiment of the invention are shown;
  • FIG. 6 shows a database query system according to another exemplary embodiment of the invention.
  • Figure 7 is a block diagram of the database query system according to another embodiment of the invention.
  • FIG. 1 shows a database query system 100 according to a first exemplary embodiment of the invention.
  • the database query system 100 has a client computer 101, a server computer 102 and a database 103.
  • the client computer 101 and the server computer 102 are coupled to one another via a telecommunication network 104, according to an exemplary embodiment of the invention by means of the Internet.
  • the client computer 101 has an input / output interface 105, a processor unit 106 and a memory unit 107.
  • the input / output interface 105, the processor unit 106 and the memory unit 107 are coupled to one another via a computer bus 108.
  • the client computer 101 is coupled to the telecommunication network 104 by means of the input / output interface 105. Furthermore, the client computer 101 is coupled to a screen 110 for displaying data to a user via a first cable 109 or a first radio connection (for example according to Bluetooth). Furthermore, a keyboard 111 is coupled to the input / output interface 105 via a second cable 112 or a second radio connection. Furthermore, a computer mouse 113 is provided, which is coupled to the input / output interface 105 of the client computer 101 via a third cable 114 or by means of a third radio connection.
  • the server computer 102 also has an input / output interface 115, which is coupled to the telecommunications network 104.
  • a processor unit 116 a first storage unit 117, a second storage unit 118 and a database interface 119 are provided in the server computer 102, which are coupled to one another and to the input / output interface 115 by means of a computer bus 120.
  • the programs which are executed by the processor unit 116 are stored in the first memory unit 117.
  • the second storage unit 118 which serves as the second device according to the invention, contains a statistical model 121, explained in more detail below, of the data stored in the database 103.
  • the query unit is implemented in the form of a computer program which is stored in the first memory unit 117 and is carried out by the processor unit 116.
  • the server computer 102 is coupled to the database 103 via a database connection 122 by means of the database interface 119.
  • a database management system (DBMS) (not shown), which implements in the database 103 or in the server computer 102, is provided for managing the database 103, in particular for controlling queries and entries of data from or into the database 103 can be.
  • DBMS database management system
  • the server computer 102 and the client computer 101 are set up for communication in accordance with the Internet communication protocols Transport Control Protocol (TCP) and Internet Protocol (IP).
  • TCP Transport Control Protocol
  • IP Internet Protocol
  • the server computer 102, the database 103 and the client computer 101 are in accordance with the ODBC standard for communication and in the context of the formulation of the database queries themselves, in accordance with the standard query language standard (SQL Standard).
  • SQL Standard standard query language standard
  • a first step the server computer 102 forms a statistical model 121 of the data stored in the database 103.
  • the statistical model 121 is formed in accordance with this exemplary embodiment of the invention using the EM learning method known per se. Other alternative methods for forming the statistical model 121, which are preferably used, are described in detail below.
  • the statistical model 121 is automatically formed again at regular, predefinable time intervals, in each case based on the most current data which are stored in the database 103.
  • the statistical model 121 is stored in the second storage unit 118 (step 202).
  • an SQL query is entered into the client computer 101 (step 203) and transmitted from the client computer 101 to the server computer 102.
  • a browser computer program can be installed in the client computer 101, which interacts with a web server program installed on the server side.
  • the user is shown an HTML page on the screen 110 of the client computer 101 with a prompt for entering database search criteria, which the user would like to use to query the database 103.
  • the user has the option of formulating the query directly in the database query language to be used in each case, or he can formulate a database query in normal language and / or using keywords, in which case the database query is from an intended one Conversion program is converted into an SQL database query.
  • the SQL query is converted into an SQL database query message 301 in accordance with the communication protocol used in each case embedded (compare message flow diagram 300 in FIG. 3) and the SQL database query message 301 is transmitted from the client computer 101 to the server computer 102.
  • the server computer 102 queries the statistical model 121 according to the SQL database query 302, i.e. he searches the statistical model 121 using the SQL database query 302. After a result for the SQL database query 302 has been determined for the statistical model 121, which represents an approximate result with regard to the overall content of the database 103, the approximate result is passed to the server computer 102 as an SQL response 303.
  • the query of the statistical model 121 according to the SQL database query 302 is thus completed (step 204).
  • the server computer 102 uses the SQL response 303 to check whether hits are to be expected at all with regard to the SQL database query 302 when the database 103 is “fully queried” (step 205).
  • a hit is to be understood as a result of a database query in which at least one data element of the database 103 is ascertained which meets the query criteria specified in the SQL database query 302.
  • the server computer 102 sends a corresponding result message to the client computer 101 (not shown in FIG. 3). in which it is stated that no hits are to be expected when the entire database 103 is queried due to the query of the statistical model 121 (step 206). However, if it is determined in step 205 that hits are to be expected with a query of the entire database 103 with sufficient probability (check step 207), the approximate, for example an indication of the number of likely hits in the database 103 in another result message to the client Computer 101 communicates (step 208).
  • the result of the complete search is transferred to the server computer 102 as an exact SQL query result 304, with which the query of the database 103 according to the SQL database query 302 is completed (step 209).
  • the server computer 102 forms an SQL result message 305, which contains the approximate and / or the exact result.
  • the SQL result message 305 is transmitted from the server computer 102 to the client computer 101 (step 210).
  • the method is ended in a last method step (step 211).
  • FIG. 4 and 5 show the individual method steps (flow diagram 400 in FIG. 4) and the message flow (message flow diagram 500 in FIG. 5) for the execution of a database query according to a second exemplary embodiment of the Invention shown, this method is carried out by the structurally the same database query system as shown in Fig.l.
  • Steps 201, 202, 203 and 204 are identical to the procedure according to the first exemplary embodiment.
  • an SQL response message 501 is automatically generated, which contains the approximate query result of the SQL database query 302 and is sent to the client computer 101 transmitted (step 401).
  • the client computer 101 After receiving the first SQL response message 501 according to the information provided by the user of the client computer 101, the client computer 101 forms a second SQL database query message 502 which contains a second SQL database query 503.
  • the second SQL database query 503 can be identical to the first SQL database query 302 or modified, preferably specified, in relation to the first SQL database query 302 (step 402).
  • the second SQL database query message 502 is transmitted from the client computer 101 to the server computer 102 and there the second SQL database query 503 is transferred to the database 103 and it is based on the data in the second SQL database Query message 502 contained second SQL database query 503 performed a full search in the entire database 103 (step 403).
  • the result of the complete database query is passed to the server computer 102 as an exact SQL result 504, whereupon the server computer 102 forms an SQL response message 505 containing the exact SQL result 504 and transmits it to the client computer 101 (step 404).
  • the statistical model 121 can be implemented and stored in a separate computer 601, the computer 601 having an input / output interface 602, by means of which the computer 601 is coupled to the communication network 104.
  • the computer 601 also has a processor unit 603 and a first memory unit 604 for storing the programs that are executed by the processor unit 603 and a second memory unit 605 in which the second statistical unit 121 stores the statistical model 121.
  • the remaining elements of the database query system 600 are identical to those of the database query system 100 according to FIG. 1, which is why no further explanation is given.
  • This exemplary embodiment can clearly be viewed as a distributed data query system 600, in which the client computers 101 and the server computers 102 and the computers 601 in which the statistical models 121 are stored are independent computers, which are by means of of the communication network 104 are coupled to one another.
  • FIG. 7 shows a database query system 700 according to a further embodiment of the invention.
  • the statistical model 121 is in each case stored in a second storage unit 701 in the respective client computer 101.
  • the first database queries for determining an approximate result can take place off-line, i.e. without an activated communication link with a server computer 102.
  • the statistical model 121 usually has a considerably smaller scope compared to the entire database 103 and is therefore easily transmitted by means of electronic mail (e-mail) or by means of a corresponding communication protocol, for example the File Transfer Protocol (FTP) can without using too much bandwidth for data transmission.
  • FTP File Transfer Protocol
  • scalable learning methods that generate highly compressed images are desired, at the same time the images should fuse efficiently, that is, have them merged, for which one should be able to deal with missing information very efficiently.
  • Known learning methods are particularly slow when many of the field assignments are missing from the data.
  • X ⁇ X]
  • the states of the variables are identified with small letters.
  • Li is the number of states of the variable X_.
  • there is a hidden variable or a cluster variable, which is referred to below as ⁇ ; whose states are ⁇ j_, i 1, ..., N ⁇ . So there are N clusters.
  • P ( ⁇ ) describes an a priori distribution
  • P ( ⁇ i) is the a priori weight of the i-th cluster
  • ⁇ _) describes the structure of the i-th
  • the a priori distribution and the conditional distributions for each cluster parameterize a common probability model on X ⁇ and on X, respectively.
  • model's parameters ie the a priori distribution - ⁇ 'and the conditional ones, are aimed at
  • a corresponding EM learning process consists of a series of iteration steps, with an improvement of the model (in the sense of a so-called likelihood) being achieved in each iteration step.
  • new parameters are based on the current or “old” parameters estimated.
  • Each EM step begins with the E step, in which "Sufficient Statistics * are determined in the tables provided for this purpose. It starts with probability tables, the entries of which are initialized with zero values. The fields of the tables are filled with the so-called sufficient statistics s ( ⁇ ) and s (X, ⁇ ) in the course of the E-step, in that for each data point the missing information (in particular the assignment of each data point to the clusters) is filled with expected values be supplemented. In order to calculate expected values for the cluster variable ⁇ , the a posteriori distribution p a (wjx ⁇ j must be determined. This step is also referred to as the “inference step *.
  • the inference step for adopting dependency structures other than a Naive Bayesian Network is similarly complex and often more complex, and thus includes the essential numerical effort of EM learning.
  • membership probabilities for certain classes are only calculated up to a value close to 0 in an iterative process, and the classes with membership probabilities below a selectable value are no longer used in the iterative process.
  • a sequence of the factors to be calculated is determined in such a way that the factor that belongs to a rarely occurring state of a variable is processed first.
  • the rarely occurring values can be stored in an orderly list before the formation of the product begins, so that the variables are are ranked in the list according to the frequency of their appearance.
  • the clusters which have a weight other than zero, can be stored in a list, the data stored in the list being pointers to the corresponding clusters.
  • the method can also be an expectation maximization learning process in which, in the event that a cluster is assigned an a posteriori weight “zero” for a data point, this cluster receives zero weight for this data point in all further steps of the EM method and that this cluster no longer has to be considered in all further steps.
  • the method can only run over clusters that have a non-zero weight.
  • the a posteriori weight belonging to the cluster is then set to zero.
  • it can first be checked whether at least one of the factors in the product is zero. All multiplications for the formation of the overall product are only carried out if all factors are different from zero.
  • a logarithmic representation of the tables is preferably used in order, for example, to avoid underflow problems.
  • This function can be used to replace zero elements with a positive value, for example. This means that complex processing or separations of values that are almost zero and differ from one another by a very small distance are no longer necessary.
  • non-zero clusters in a list, an array or a similar data structure which allows only the non-zero elements to be stored.
  • clusters which are given an a posteriori weight of zero by multiplication by zero, are excluded from all further calculations in order to save numerical effort, in this example, from one EM step to the next, intermediate results regarding cluster affiliations are also obtained individual data points (which clusters are already excluded or still permissible) are stored in additionally necessary data structures.
  • a list or a similar data structure can first be saved that contains references to the relevant clusters that have been given a weight that is different from zero for this data point.
  • a statistical model contains variables that describe what rating a cinema-goer has given to a film.
  • There is a variable for each film with each variable being assigned a plurality of states, each state representing an evaluation value.
  • the new variant of the EM learning process it is now possible to carry out the EM learning process only with the films known up to then until the new film appears, ie the new film (ie generally the new node in the directed graph) initially to ignore. Only when the new film is released will the statistical model be given a new variable. le (a new node) is dynamically added and the ratings of the new film are taken into account. The convergence of the process in terms of log likelihood is still guaranteed; the process converges even faster.
  • H is a hidden node.
  • 0 , 0, ..., 0 J denotes a set of M observable nodes in the directed graph of the statistical model.
  • the statistical model estimates are accumulated according to the following rules:
  • the parameters for all nodes are updated according to the following rules:
  • the expected values for the non-existent nodes Y are calculated and updated according to the sufficient statistics values for these nodes in accordance with regulation (7).
  • the composite distribution corresponds essentially these random numbers in the first step.
  • the initial random numbers are taken into account in the sufficient statistics values according to the ratio of the missing information to the available information.
  • the initial random numbers in each table are only "deleted" according to the ratio of the missing information to the available information.
  • Regulation (7) is not necessary and can therefore be omitted or skipped.
  • N H [P, B] ⁇ ⁇ ß (h
  • xi) (14) i l h
  • H [P, P] - H [P, B] represents the non-negative cross entropy between p (h
  • the current statistical model is designated P ⁇ '.
  • a new statistical model P ⁇ ⁇ is constructed such that:
  • the first line applies generally to all B (see regulation (15)).
  • the second line of regulation (18) in particular in the event that:
  • the third line applies due to regulation (16).
  • the last line of regulation (18) again corresponds to regulation (15).
  • RS tan dard [PB] ⁇ ⁇ ß (y_ i , h
  • x logp (x . I, y_ i , h),: 2 i) i lh, y.
  • ⁇ p (t) ] p (t) ( h
  • the unobserved nodes Xi are divided into two subsets Hi and Y in such a way that none of the nodes in the sets Xi and Hi pending, ie subsequent node (“child * node”) of a node in the set Yi.
  • Yi corresponds to a branch in a Bayesian network for which there is no information in the data.
  • the invention can clearly be seen in the fact that a broad and simple (but generally approximate) access to the statistics of a database (previously via the Internet) by creating statistical models for the content of the database.
  • parts of the data can be stored with the models in a compressed form in order to obtain more precise access to details of the statistics of the contents of the database.
  • the statistical models for "remote diagnosis * ,” so-called “remote assistance * or” remote research * are automatically sent via a communication network.
  • “knowledge * is communicated and sent in the form of a statistical model. Knowledge is often knowledge about the relationships and interdependencies in a domain, for example about the dependencies in a process.
  • a statistical model of a domain which is formed from the data in the database, reflects all of these relationships.
  • the models represent a common probability distribution of the dimensions of the database, so they are not restricted to a specific task, but represent any dependencies between the dimensions. Compressed to the statistical model, knowledge of a domain can be handled and sent very easily , provide to any user, etc.
  • the resolution of the image or the statistical model can be selected according to the requirements of data protection or the needs of the partners.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10320419A DE10320419A1 (de) 2003-05-07 2003-05-07 Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank
PCT/DE2003/004175 WO2004100017A1 (de) 2003-05-07 2003-12-17 Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung

Publications (1)

Publication Number Publication Date
EP1620807A1 true EP1620807A1 (de) 2006-02-01

Family

ID=33426695

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03785583A Withdrawn EP1620807A1 (de) 2003-05-07 2003-12-17 Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung

Country Status (4)

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

Families Citing this family (11)

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

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5946692A (en) * 1997-05-08 1999-08-31 At & T Corp Compressed representation of a data base that permits AD HOC querying
US6263334B1 (en) * 1998-11-11 2001-07-17 Microsoft Corporation Density-based indexing method for efficient execution of high dimensional nearest-neighbor queries on large databases
US6549907B1 (en) * 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US6643648B1 (en) * 1999-06-30 2003-11-04 Raf Technology, Inc. Secure, limited-access database system and method
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6611834B1 (en) * 2000-01-12 2003-08-26 International Business Machines Corporation Customization of information retrieval through user-supplied code
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US20020103793A1 (en) * 2000-08-02 2002-08-01 Daphne Koller Method and apparatus for learning probabilistic relational models having attribute and link uncertainty and for performing selectivity estimation using probabilistic relational models
US6795825B2 (en) * 2000-09-12 2004-09-21 Naphtali David Rishe Database querying system and method
JP2004532488A (ja) * 2001-06-08 2004-10-21 シーメンス アクチエンゲゼルシヤフト データバンク操作の性能を向上させるための統計モデル
US7113936B1 (en) * 2001-12-06 2006-09-26 Emc Corporation Optimizer improved statistics collection
US7266541B2 (en) * 2002-04-12 2007-09-04 International Business Machines Corporation Adaptive edge processing of application data
US7110997B1 (en) * 2003-05-15 2006-09-19 Oracle International Corporation Enhanced ad-hoc query aggregation
US7089266B2 (en) * 2003-06-02 2006-08-08 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for the query and visualization of multidimensional databases

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20070168329A1 (en) 2007-07-19
DE10320419A9 (de) 2005-04-14
DE10320419A1 (de) 2004-12-09
WO2004100017A1 (de) 2004-11-18

Similar Documents

Publication Publication Date Title
DE69938339T2 (de) Ein skalierbares system zum gruppieren von grossen datenbänken
DE60004385T2 (de) Verfahren und systeme um olap hierarchien zusammenfassbar zu machen
EP1783633B1 (de) Suchmaschine für eine ortsbezogene Suche
EP1831804A1 (de) Relationale komprimierte datenbank-abbilder (zur beschleunigten abfrage von datenbanken)
DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
DE102006047499A1 (de) Datenerweiterbarkeit mit Hilfe externer Datenbanktabellen
CH704497B1 (de) Verfahren zum Benachrichtigen, Speichermedium mit Prozessoranweisungen für ein solches Verfahren.
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
EP1620807A1 (de) Datenbank-abfragesystem unter verwendung eines statistischen modells der datenbank zur approximativen abfragebeantwortung
DE60032258T2 (de) Bestimmen ob eine variable numerisch oder nicht numerisch ist
EP1166228B1 (de) Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen
EP1395924A2 (de) Statistische modelle zur performanzsteigerung von datenbankoperationen
WO2004044772A2 (de) Verfahren und computer-anordnung zum bereitstellen von datenbankinformation einer ersten datenbank und verfahren zum rechnergestützten bilden eines statistischen abbildes einer datenbank
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
WO2021104608A1 (de) Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage
EP1264253B1 (de) Verfahren und anordnung zur modellierung eines systems
EP1324218A1 (de) Kategorisierungsystem für Datenobjekte und Verfahren zum Prüfen der Konsistenz von Zuordnungen von Datenobjekten zu Kategorien
EP3507943B1 (de) Verfahren zur kommunikation in einem kommunikationsnetzwerk
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb
EP2423830A1 (de) Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
DE10014757B4 (de) Warehousing-Verfahren und verteiltes Computer-Datenbanksystem für das Warehousing
DE102015008607A1 (de) Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken
EP3076343A1 (de) Verfahren zur zuordnung sprachlicher eingaben
WO2020094175A1 (de) Verfahren und vorrichtung zum speichern von daten und deren beziehungen
EP4123517A1 (de) Integration verteilter machine-learning modelle

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: 20051107

AK Designated contracting states

Kind code of ref document: A1

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

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

Owner name: PANORATIO DATABASE IMAGES GMBH

17Q First examination report despatched

Effective date: 20060216

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

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20080822