Clustering fuzzy expected value system5414797Abstract A system provides a tool for computing the most typical fuzzy expected value of a membership function in a fuzzy set. The clustering fuzzy expected value system is used in a question answering system. CFEV is computed by the tool is based on grouping of individual responses, that meet certain criteria, to clusters. Each cluster is considered a "super response" and contributes to the result proportionally to its relative size and the difference in opinion from the mean of the entire sample. In so doing, CFEV represents the opinion of the majority of the population, but it also respects the opinion of the minority. A comparison is made with existed tools such as the FEV and the WFEV and the advantages of CFEV are demonstrated by examples for cases where other methods fail to perform. Claims What is claimed is: Description BRIEF DESCRIPTION OF THE DRAWINGS OF THE FUZZY REASONING DATA BASE QUESTION ANSWERING SYSTEM
______________________________________
i .mu.(X.sub.A) n.sub.i
p(x)
______________________________________
1 0.10 10 0.1
2 0.15 25 0.25
3 0.20 15 0.15
4 0.55 55 0.55
______________________________________
(where X/y indicates the pair, a significant word X with confidence value y). Additionally, assume that there are only two words appearing in the modified database and that there are the following five comments: 1. <SYNTAX, ERROR> 2. <COMMENT, SYNTAX> 3. <UPDATE, COMMENT> 4. <FIX, UPDATE> 5. <FIX, BUG> Attributing a degree of confidence to a comment may be interpreted to require the use of an AND operator between the two degrees of confidence of the single words. There are three popular AND operators, namely, the Min operator, the Product operator and the Bounded Sum operator described by M. Smithson in his book Fuzzy Set Analysis for Behavioral and Social Sciences, published by Springer-Verlag Inc, in New York, 1986. FIG. 7 reports the confidence values for all records using the three operators. The Min operator definition implies that when a pair of words is examined, then the confidence associated with the pair needs to be the minimum confidence of the two words. It can be contended that the confidence value 0.1, given by the Min operator to the first comment is close to the mark or is a bit pessimistic because it indicates that the record does not report a substantial change, that is, if it is assumed that the "syntax error" in question is considered to be a "trivial fix". Additionally, under such an assumption, it can stated that any scheme that produces a confidence value that does not exceed 0.5 (0.5 being the "indifference" point), will be close to the mark. In other words, an acceptable confidence value for the first comment can be the Min value, or an increase of the Min value, but not to the point that exceeds 0.5. The confidence value 0.1 given by the Min operator to the second comment may be considered to be overly optimistic because both words indicate that there is a trivial fix. Were it otherwise, the words BUG, FIX or ERROR would have to be present as well, and consequently the confidence attributed to the pair <COMMENT, SYNTAX> should have been decreased. It needs to be noted that while both the first and the second comment may be viewed as non substantial changes, the first comment should have a confidence value greater than the second because of the presence of the word ERROR. The confidence attributed to the third comment may be considered as either correct for the same reasoning as in comment one or a bit overly pessimistic. The confidence attributed to the fourth comment may be considered overly pessimistic because the fourth comment may refer to an update due to a problem, more than to an irrelevant update. Consequently, the confidence value should be closer to 0.8 rather than 0.5. Finally, the confidence value 0.8, attributed to the pair <FIX, BUG> may not be considered as representative of the comment because in this case the confidence of a change should be reinforced rather than associated with the lowest value. In other words, the presence of the words "FIX" and "BUG" provides more confidence that a change has been reported than would be the confidence of any of the two words alone. In such a case, the confidence should be greater than at least 0.8, and even greater than 0.9. The Product operator will produce the confidence value of a pair with the multiplication of the two confidences. The discussion regarding the Min operator also applies to the Product operator with the additional observations that the Product operator performs better than the Min operator for comment 2, and worse for all the other comments. Finally, the Bounded Sum operator will produce the confidence value by max [0,(.mu..sub.x +.mu..sub.y -1)], with .mu..sub.i denoting the confidence value attributed to word i. Such an operator may be considered as overly pessimistic for all comments. Three AND operators may not be appropriate for attributing a confidence value for the given circumstances. This may be attributed to the following observations: 1. If the two words are favorably associated with the subject of interest and appear in the same sentence, they most likely reinforce the confidence that the sentence describes the subject of interest. Thus, the resulting confidence should be "closer" to the maximum, and possibly exceeding the maximum value, when the confidence of a word or both words get "closer" to a certain "association" value. 2. If the two words are both adversely associated with the subject of interest, then the comment in which these two words appear, most likely, does not describe the subject of interest. Thus, the confidence of the two words should be "closed" to the minimum and possibly less than the minimum value as the two confidence values get "closer" to a certain "disassociation" value. 3. If two words have the cutoff value, i.e. if both words are neither associated with the subject of interest nor disassociated, then their combined confidence should be the cutoff value itself. 4. Excluding the cases of certainty of association and disassociation, which will be addressed in the later part of this section, if one word is unfavorable and the other is favorable, then in the case where one word is strongly unfavorable, as in comment 1 in the assumed example, the confidence value of the comment should be "closer" to the minimum value. Otherwise, it should be "closer" to the maximum value. The previous statement may appear to be on the extreme side; however there is an intuitive justification for it. We "know" that a word strongly disassociated from the subject of interest paired with a word associated (even strongly associated) with the subject of interest "reinforces" somehow the disassociation rather than the association and the other way around. For example, the words SYNTAX and COMMENT when paired with the words ERROR, BUG, etc. most likely indicate that there is a trivial fix rather than a substantial fix. The previous discussion indicates that a membership function needs to be provided that can closely reflect the previous four observations. In search of such a membership function, we established that such a function is somehow related to the average of the confidence values attributed to the two words. However, as it can be observed in FIG. 7, while the average represents to a degree the confidence associated with a comment, it can only be used as a first approximation, and it requires an adjustment to produce a more accurate confidence value. The following discussion describes a membership function that produces an adjusted average which better approximates the previous observations: Let .mu..sub.A (w.sub.i,w.sub.j) be the membership function attributing a degree of confidence with regards to a subject of interest A for a comment, where w.sub.i and w.sub.j are the confidence values associated with two individual words i and j appearing in the same comment, then .mu..sub.A (w.sub.i,w.sub.j) can be computed by: ##EQU4## where k is a constant greater than 0, ##EQU5## i.e. the average confidence of the two words i and j, and l, which is 0<l<1, indicates the following: Words r that have confidence value w.sub.r >l are considered to favorably describe the subject of interest, while words with w.sub.r <l are considered to adversely describe the subject of interest, and words with w.sub.r =l are considered to be "neutral". Equation (1) described in FIG. 8, and the values for the comments of the assumed example database in FIG. 7 with l=0.5, k=4.5, is based on the solution of the logistic growth deferential equation. Note that similar functions (2.1), (2.2) have been used in other schemes, i.e. "On the Precision of Adjectives which Denote Fuzzy Sets" by M. Kochen and A. Badre published in the Journal of Cybernetics, Vol. 4, No. 1, January 1974 and "Modelling Membership Functions" by P. Zysno published in Empirical Semantics, Vol. 1, in January 1981. ##EQU6## However, as it can be easily verified, both functions (2.1) and (2.2) are different than (1). Properties Some of the properties of the membership function are the following: Assume, for simplicity of notation, that w.sub.i is equal to x, w.sub.j is equal to y, and .mu..sub.A (w.sub.i, w.sub.j)=.mu.(x,y), then the membership function can be written as: ##EQU7## Properties 2 and 3 reflect observations 1 and 2 because they attribute confidence values always toward the maximum and minimum confidence value of the word pair respectively. Properly 4 closely reflects observation 3. Properties 5 and 6 reflect observation 4 as FIG. 9 suggests. In FIG. 9, it is assumed that the confidence values x and y can take values between 0 and 1 with a 0.1 increment, and it indicates that when a confidence value of a pair of a words is strongly disassociated from the subject of interest (the x values 0.1 and 0.2), then a confidence value attributed to the pair is always closer to the value of x rather than the value of y. When they are disassociated, but not "strongly", then for strongly associated values of y, such as 0.9 when x=0.3, the confidence value of the pair becomes closer to the association rather then the disassociation. Properties 1 and 7 indicate that the boundary conditions are respected; however, we recognize that the membership function, as described by Equation (1), may not be good enough to guarantee "correct" values for all possible boundary conditions. In essence, when one of the confidence values, but not both, are different than either 1 or 0, then the membership function described in Equation (1) will provide an "in between" value, and such a value may not be considered as proper. If it is assumed that certainty for association and disassociation from the subject of interest is described by the values 1 and 0 respectively and that the presence of a word with such confidence values, independent of the confidence value of the other word is prevalent, then Equation (1) will not compute the correct value for a pair of words, and needs to be adjusted to express such a prevalence. It need to be noted that the previous discussion leaves open the question of one word having a value equal to 1 and the other equal to 0. If it is assumed that a comment can not be "contradictory", then each word must represent two different scenarios, one that indicates relevance and another indicating irrelevance, implying that in such a case the resulting confidence value should be equal to 1. In essence, in the assumed example database, if there is a word that indicates that the comment reports a definite change and the other word indicates a definite no-change, then we assume that there are two different actions present in the comment and that definitely a change is reported. The previous discussion can be incorporated in the two following complementary statements: If either w.sub.i, or w.sub.j is equal to 1, then .mu..sub.A (w.sub.i, w.sub.j)=1 If either w.sub.i or w.sub.j is equal to 0 and the other is different than 1, then .mu..sub.A (w.sub.i,w.sub.j)=0 FIG. 10, and FIG. 11 report two examples of pair membership values using k=1 and l=0.5, and k=4.5 and l=0.5 respectively that incorporate the two complementary statements. If the modified database comment contains more than two words, then the confidence value associated with the comment may be computed by the following algorithm, shown in block 506, of FIG. 5. A detailed flow chart is shown in blocks 60 to 67 of FIG. 6. If a comment contains n relevant words, its confidence value can be attributed by applying ##EQU8## to the confidence values of the words present in a comment. The operator .PHI., for any given i, applies Equation (1) with possible inclusion, if considered appropriate, to the two complementary statements presented previously. The inputs to Equation (1) are the confidence values attributed to words i and i+1, and the final output value of .PHI. for all is between 1 and including n-1 is a set of confidence values. Consequently, a confidence value is attributed to the comment by applying the following algorithm. Step 1: If there exists at least one element in the set produced by .PHI. that exceeds a threshold value .rho..sub.0, (decision block 62 of FIG. 5), then the confidence value of the comment is assumed to be the MAX confidence value present in the set (block 65 of FIG. 5). Step 2: If step 1 does not hold true, then if there exists at least one element in the set produced by .PHI. less than a threshold value .rho..sub.1 (decision block 64 of FIG. 5), then the confidence value of the comment is assumed to be the MIN confidence value present in the set (block 66 of FIG. 5). Step 3: If neither step 1 nor step 2 holds true, then the confidence value of a comment is assumed to be equal to the average of confidences (block 67 of FIG. 5). Before proceeding in the detailed explanation of the previously described algorithm the two new variables, .rho..sub.0 and .rho..sub.1 need further explanation because they play an important part in the question answering system. In order to assess the pertinence to a subject of interest of a database, and more importantly to distinguish which records should ultimately be kept for the development of algorithms and further investigations, in our preferred embodiment we establish thresholds. As mentioned previously (in the description of the system), the output of the fuzzy evaluator is the confidence vector which is the input of the confidence analyzer. Given that the confidence vector contains values between 0 and 1, for the confidence analyzer to be able to exclude unacceptable records and answer questions, cut points which group the records into distinct sets are required. If for example, we assume that three regions are needed for the investigation denoting definite relevance, definite irrelevance to the subject of interest, and indecision, then two values are required. The first one, denoted by .rho..sub.0, determines the acceptable degree of relevance and is used as the lower bound of its inclusion, and the second one, .rho..sub.1, is used as the upper bound of inclusion of irrelevance. For example, if we assume .rho..sub.0 =0.66 and .rho..sub.1 =0.33, then records having in the confidence vector a value less than 0.33 are considered as irrelevant to the intended application. Records having values between the bounds, e.g. between 0.33 and 0.66, are considered as uncertain what they are, as they may be either relevant or irrelevant. Records with confidence values greater than 0.66 are considered as relevant to the application. This is only one possible scenario and by no means the only one. It is entirely possible that only one value is required that distinguishes association from disassociation and in such a case .rho..sub.0 =.rho..sub.1. The algorithm presented previously that attributes a confidence value to a comment containing more than two words is based on the following observations. 1. The presence of at least a pair of words with a degree of confidence greater than .rho..sub.0 indicates that in the case such a pair of words is "related", a relevant action to the subject of interest occurred regardless of the other actions. 2. If there is no pair of words that exceed .rho..sub.0, then in case that there exists at least one pair of words with a degree of confidence less than .rho..sub.1, such a pair indicates that if the words constituting the pair are associated in the comment, then an irrelevant action to the subject of interest occurred regardless of the other actions. 3. Finally, if none of the above scenarios holds true, then all of the pairs indicate indecision, and the average may be considered as the most representative value of confidence for the comment. It can be observed that the previously reported algorithm tends to produce confidence values to the extremes rather than taking into account possible association of words and that it has an "optimistic" tendency. It can be argued that because association of words can not be extrapolated, the success of the algorithm for more than two relevant words may not be granted. We recognize that such argumentation to a certain extent is valid. Additionally, we recognize that the proposed system can not always replace a natural language question answering system. Nor it is intended to. Furthermore, even if the algorithm tends to be rather "optimistic", and even if it is assumed to be not very successful for all comments, this should not impact to a great extent the overall performance of the tool in case the frequency of comments that contain more than two relevant words is low. Further discussion and results of the analysis regarding this subject are reported in the evaluation section. In addition to the selection of records presented previously and their use to answer some questions regarding a database under consideration, the result analyzer can be used to produce other useful work, such as how many comments exceed a pre-specified degree of confidence and a confidence value for the entire database which can be computed by Equation (3) (i.e. the average of the confidence values). ##EQU9## (Where X represents the entire database and n is the number of records in the database.) Preferred: Clustering Fuzzy Expected Value System The overall design of the proposed system is shown in its preferred embodiment in the drawings for the system illustrated by FIG. 12. The system comprises: The Cluster Generator, 10, further illustrated by FIG. 13; The computation of the mean, 11; and The computation of the CFEV, 12. Details of the preferred embodiment of our improvement which can be used in the question answering system illustrated by FIG. 1 can be found in the cluster generator 10. The Cluster Generator The Cluster Generator 10, which is described in more detail in blocks 20 through 25 of FIG. 13, analyzes and groups the data into clusters, such that the membership grades in the same cluster are closely associated. The clustering of membership grades is based on two parameters, "s" and "d." Where, "s" is the maximum allowable distance between the first and last elements in a cluster; it serves as a measure of the size of a cluster by controlling the range of the data. The "d" value is the maximum allowable distance between two consecutive elements within a cluster; it is a measure of the closeness of the elements within a cluster. Both, "s" and "d," serve as the cut-point for establishing the gaps between clusters. The elements of the formed clusters are confined to the following two inequalities. .vertline.C.sub.ij-1 -C.sub.ij .vertline.<d (gap) (3) .vertline.C.sub.i,1 -C.sub.i,n .vertline.<s (size) (4) In the Inequalities (3) and (4), C.sub.ij-1 and C.sub.i,j are two consecutive elements in cluster i, and C.sub.i,1 and C.sub.i,n are, respectively, the first and last elements in cluster i. The clusters are formed by applying the steps: Step 1: Select the "s" and "d" values. Step 2: Cluster the elements within the fuzzy set based on the "d" value, i.e. select consecutive elements into a cluster in a manner that satisfies Inequality (3). Step 3: If the first and last elements of the formed cluster satisfy Inequality (4), the cluster qualifies, and the process is completed if there are no more clusters to be formed. Otherwise, if there are more clusters to be formed, go to step 2. If the formed cluster does not qualify, proceed to step 4. Step 4: In the non-qualifying cluster, apply the Group Division Algorithm. Block 20 of FIG. 13 sorts all numbers in ascending order and stores the numbers in a list. Block 21 of FIG. 13 starts searching the list, produced in block 20, for consecutive numbers that differ by more than "d" as described in FIG. 14. For each group of data produced, block 21 transfers control to block 22 which checks the resulting group to determine if it is acceptable. Block 22 uses equation (4) to determine if the group is within the limits set by the user. If length of the group is smaller than "s" block 22 transfers control to block 23 otherwise it transfers control to block 24. Block 23 saves the group of data produced by block 21 in a cluster list and transfers control to block 25. Block 24 is activated by block 22 when the group of data produced by 21 does not meet the criteria set by equation (4). In this case, block 22 invoke the algorithm described in blocks 30 through 36 of FIG. 15. Clustering the data, 21 Block 21 of FIG. 13 is further described in blocks 40 through 44 of FIG. 14. The purpose of this step is to divide the set of data presented to this algorithm into a place where two consecutive elements of the data differ by more than "d". Block 40 of FIG. 14 sets the variable, i, to zero and the variable length to the number of elements in the data set. It then transfers control to block 41. Block 41 determines if the end of the process has been reached by comparing the value of the variable i to the value of the variable length, and transfers control to block 42 or block 44. If the variable i is less than the variable length then block 42 receives control and increments i by 1. It then transfers control to block 43. Block 43 examines two consecutive data elements pointed by the variable i, and denoted as C.sub.i-1 and C.sub.i in FIG. 14, to determine if their difference in value is less than "d". If the difference is less than "d" block 43 transfers control to block 41, otherwise it transfers control to block 44. When block 44 receives control the variable i points to a place where the data set must be divided. Thus, block 44 extracts a group of data consisting from elements C.sub.0 through C.sub.i-1 and returns this group to block 21 of FIG. 13. Group Division Algorithm, 24 A number of techniques may be used to sub-divide a cluster that does not satisfy Inequality (4). Some of these techniques may be the following: 1. Start from the left of the cluster and form smaller clusters that have size equal to s, satisfy Inequality (4) 2. Start from right of the cluster and form smaller clusters that have size equal to s, satisfy Inequality (4) 3. Break the cluster into two cluster at the point of the mean value. Apply the same rule on the sub-clusters until they all satisfy Inequality (4) 4. Choose a new d from the cluster and apply algorithm A again. The above steps, however, do not always give the best answer. FIG. 16 shows a cluster, with elements denoted as {a,b,c,d,e,f,g,h,i,j}, that is bigger than the maximum allowable distance between the smallest and biggest element in the set (j-a>s). Looking into the cluster, it seems that the cluster should be broken into two clusters; {a,b,c,d,e,f} and {g,h,i,j}. These two groups seem to agree among themselves into the matter because there is a big distance between elements f and g. Methods 1, 2, 3 fail to group the data correctly as shown in FIG. 16(a), since they don't consider the "gaps" that may exist in the data. Method 4, gives the correct result in this case, but it fails s when the data is equally distributed in the set. For example the cluster (b) of FIG. 16 contains ten elements with equal distances between consecutive elements. In this case method 4 produces 10 clusters. The optimum solution to subdivide a cluster that does not satisfy Inequality (3) is one that posses the following two properties: 1. Maximize the size of each cluster. Since all elements in the original cluster are closely associated, according to Inequality (3), the resulting clusters should have as many elements as possible. 2. Minimize the number of clusters; it follows from the previous requirement. The following algorithm produces the best solution based on the above requirements. 1. Select a new value d' for the parameter d by taking the greatest distance between two consecutive elements of the set. (d'=max distance in data). 2. Divide the original cluster into subclusters using d' as the criteria. 3. For each sub cluster that does not satisfy Inequality (4) repeat steps 1 and 2. 4. Merge the resulting clusters to find all possible solutions that satisfy Inequality (3). 5. From all possible solutions produced in step 4 select the one that maximizes the following function: ##EQU10## where, s.sub.i is the size of cluster i (distance between the smallest and biggest number), and n is the number of clusters for each solution. A flow chart of the above algorithm is shown in blocks 30 through 36 of FIG. 15. This algorithm works as follows: Block 30 finds the largest distance between any two elements in the group denoted as d' and transfers control to block 31. Block 31 clusters the data based on the new "d", d' by means of the algorithm shown in FIG. 14, and transfers control to block 32. If the size of the cluster produced by block 31 is greater than "s", block 32 sends this cluster to block 30 for further division, otherwise it transfers control to block 33. Block 33 saves the cluster produced by block 31 in the cluster list, and transfers control to block 34. Block 34 determines if there is more data to be clustered and if there is it transfers control back to block 30, otherwise it transfers control to block 35. Block 35 reads all clusters produced by 30 to 33 and and merges them together to form all possible combinations of groups of clusters whose size is less than "s". It then transfer's control to block 36. Block 36 reads the groups of clusters produced by 35 and applies the equation (5) on each group. The group that produced the maximum value for equation (5) is taken as the optimum group. Finally block 36 returns the clusters of the optimum group to block 24 of FIG. 13. The Computation of the Mean, 11 Block 11 of FIG. 13 computes the average of the entire data set and the average of each cluster by applying the following equations: When the clusters are formed, the mean or each cluster, W.sub.Ai, is computed based on Equation (6). ##EQU11## In Equation (6), cluster i consists, respectively, of a.sub.i1, a.sub.i2, . . . , a.sub.in observations, and have the data x.sub.i1, x.sub.i2, . . . , x.sub.in. The mean of the entire fuzzy set is then computed by: ##EQU12## In Equation (7), m is the number of clusters in the fuzzy set, W.sub.Ai is the weighted average of cluster i, N.sub.i is the number of observations in cluster i, and N is the number of observations in the entire set. The Computation of the CFEV, 12 Block 12 of FIG. 13 reads the list of clusters produced by block 10 and the mean for each cluster produced by block 11 and computes the CFEV of the entire data set by applying the result of (8). A detailed explanation of this step follows: Based on the weighted averages and the number of observations of the entire fuzzy set and that of the individual clusters, the CFEV is represented as follows: ##EQU13## In Equation (8), the mean of the entire fuzzy set is adjusted based on the population sizes and the weighted averages of the formed individual clusters. In this process, each cluster shifts the weighted average of the entire fuzzy set by a factor proportional to the distance between the weighted average of the cluster and that of the entire fuzzy set, and the ratio of the population size of the cluster and that of the entire fuzzy set. Thus, a cluster with a weighted average smaller than that of the entire fuzzy set reduces the weighted average of the fuzzy set by a factor proportional to the distance between the averages and the ratio of the population size of the cluster to that of the entire fuzzy set. On the other hand, a cluster with a weighted average larger than that of the entire fuzzy set increases the weighted average of the fuzzy set by a factor which is also based on the distance and ratio of the cluster and the fuzzy set. EXAMPLE 5 Biggest cluster is above the mean
______________________________________
ERROR/0.8
BUG/0.9
FIX/0.8
UPDATE/0.5
COMMENT/0.1
SYNTAX/0.1
______________________________________
EXAMPLE 6 Biggest cluster is below the mean
______________________________________
i .mu.(X.sub.A) n.sub.i
p(x)
______________________________________
1 0.50 5 0.24
2 0.80 10 0.28
3 0.30 6 0.48
______________________________________
FIG. 17 shows the behavior of (8) for example #5, where the mean of the biggest cluster is greater than the mean of the sample. FIG. 18 shows the behavior of (8) for example #6, where the mean of the biggest cluster is smaller than the mean of the sample. Assuming the data to be analyzed with CFEV represents a sample of membership grades, whose values are in the interval [0,1], the CFEV will always produce a result that is in the same interval. This is proven by the following theorem. Theorem 1:0<CFEV.ltoreq.1 Proof: Part A: It follows from Equation (8) that: ##EQU14## therefore, CFEV.gtoreq.0 Part B: From Equation (8), we have: ##EQU15## from Equation (7), E1 ? ? ##STR1## For A.gtoreq.1 and B.gtoreq.1, we need to show that: A+B-AB.gtoreq.1 (10) Inequality (10), can be written as: B(1-A).gtoreq.1-A Which holds true, therefore Inequality (10) is true. Equation (9) can be represented as: A+B-CB. Where, ##EQU16## But, C.gtoreq.A, which implies that CB.gtoreq.AB, therefore, A+B-CB.ltoreq.1, and CFEV.ltoreq.1 From Pads A and B of the proof, it has been shown that: 0.ltoreq.CFEV.ltoreq.1 As shown by the examples in FIG. 17 and FIG. 18 CFEV produces a value that is closest to the biggest cluster in the set for x.perspectiveto.2. Assuming that the above characteristic is desired, Equation (8), may be written as: ##EQU17## For the remaining of this description x=2 will be used when the CFEV is computed. EXAMPLE 7 This example illustrates how the CFEV works. Assuming the following sample data:
______________________________________
i .mu.(X.sub.A) n.sub.i
p(x)
______________________________________
1 0.90 3 0.11
2 0.10 15 0.52
3 0.60 6 0.20
4 0.80 5 0.17
______________________________________
For s=0.2 and d=0.15 the following clusters are formed: C.sub.1 : 0.4, 0.5, 0.5, 0.55, 0.55 C.sub.2 : 0.6, 0.6, 0.65, 0.65, 0.75 C.sub.3 : 0.9, 1.0 The mean of the three formed clusters is as follows: M.sub.C1 =0.50 M.sub.C2 =0.65 M.sub.C3 =0.95 The mean of the entire fuzzy set, m.sub.A, is equal to 0.6375. Based on the weighted averages and the number of observations of the entire fuzzy set and that of the individual clusters, the CFEV is computed as follows: ##EQU18## CFEV=0.6245 SUGGESTED USES The CFEV, presented in this description, was developed during our study of the test process of computer systems. In this application, a number of commented databases for the IBM 4381 and 9370 computer systems, in the form of bookkeeping libraries, were suspected of containing information pertinent to functional testing, i.e. source of number of changes that were made during the development of a system, and evaluated for the assessment of their pertinence to our study. While a full account of this application can be found in the U.S. patent application Ser. No. 07/701,558, filed May 16, 1991, entitled "A FUZZY REASONING DATA BASE QUESTION ANSWERING SYSTEM", a brief description, leading into the development of the CFEV, is presented as follows: First, all the comments from a bookkeeping library are examined, and a list is created containing all the unique words. Second, a list with the most "relevant" words to the subject of interest, i.e. functional testing, is generated. Subsequently, this list is distributed to personnel who are considered to be experts in the subject. Each person was asked to attribute a confidence value between 0 and 100 for every word in the list reflecting his/her perception of the usage of that word with respect to the subject of interest, i.e. functional testing. In other words, the confidence value indicates how a person perceives that a particular word is most likely used in the comment field or the database. The answers were then scaled with a maximum value equal to one. After the interviews, it was necessitated to establish a fuzzy expected value for every word in the list of "relevant" words that is close to the one produced by the majority of the survey participants, but also reflects the opinion of the minority. Consequently, the CFEV was developed, and applied in summarizing the replies of the survey participants. The present invention may also be used in cases where the average of a set of numbers does not give the desired answer. For example, assume a machine whose temperature is measured by ten temperature sensors on various parts of the machine, and assume that the ten readings need to be compined in one number that represents the temperature of the machine. If all ten sensors are working properly then the average of all ten readings may be a typical answer. If however a sensor is faulty and produces a reading that is false by order of magnitude, then the average will not indicate the proper temperature of the machine. In this case, our method will produce a better result because the CFEV will be close to the majority of the readings and will not be affected by the one faulty sensor as much as the average. Experimental Evaluation Results and Suggested Uses In the previous sections we presented a question answering system based on fuzzy logic which employs a Clustering Expected Value System. The tool provides the capability to assess if a database contains information pertinent to a subject of interest and to exclude the irrelevant portion of the database. Each comment of the database is evaluated via a fuzzy evaluator which attributes a fuzzy membership value indicating its relationship to the subject of interest. An assessment is provided for the database as a whole; a decision is given to whether such a database is pertinent to the subject of interest, and comments that are considered as irrelevant to the subject can be discarded. The system has been evaluated by examining the databases created for bookkeeping purposes during the process of normal development of the IBM 4381 computer systems to assess comparatively and experimentally internally to IBM their pertinence to the functional changes that occurred during the development cycle. Our evaluations were performed on four experimental databases derived from the microcode and hardware libraries subsystems indicate the following: Very few comments have been evaluated by the tool during our experiments which resulted in a big disagreement with the manual evaluation which was used for commercial purposes, indicating that the tool closely respected our perception of which comments corresponded to routine accesses and which to functional errors. The tool is very close to the manual evaluation regarding the percentages of the database corresponding to .functional changes and routine accesses. Consequently, it can be used to evaluate the pertinence of a database to prespecified subject of interest. The accuracy of the tool in excluding comments not pertinent to and including comments pertinent to the functional testing is extremely high, suggesting that the tool can be used as a means of exclusion of database entries not pertinent to a prespecified subject of interest. It needs to be noted that the reported tool accuracy possibly constitutes a worse case scenario because of some comments that will always be interpreted correctly, because of their confidence being 0 or 1, have not been included in the accuracy evaluation. In our experiments determining the limits of the proposed system, we established a number of uses of our system: The proposed system is especially useful as an initial estimator when the frequency of more than two relevant words is especially high, and the system may be used to establish the initial evaluation in such instances. In case it is desirable to establish the precise cause of an error also, the tool should be used as an initial estimator and not as substitute to the natural language question answering system. We also suggested that, while there are cases in which the proposed system cannot be used as substitute for a natural language question, in such circumstances the tool can be used to justify the development expense of the more complicated system. Additionally, our experiments with commented databases suggest that the proposed system can be used as a substitute to the natural language question answering system because the fundamental assumptions for its development regarding comments in general hold true and comments with more than two relevant words are not sufficiently frequent to jeopardize its performance. Finally, we establish that its applicability, assuming the same subject of interest, without modifications, is granted for databases comprising similar characteristics to the database for which the system had been previously applied, and we suggest that the system can be applied with minimum additional development effort to a variety of circumstances provided that the fundamental assumptions for the development of the membership functions are respected in the new application. While we have described our preferred embodiment of our invention, it will be understood that those skilled in the ad, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first disclosed.
|
Same subclass Same class Consider this |
||||||||||
