Relevancy ranking using statistical ranking, semantics, relevancy feedback and small pieces of text5893092Abstract Search system and method for retrieving relevant documents from a text data base collection comprised of patents, medical and legal documents, journals, news stories and the like. Each small piece of text within the documents such as a sentence, phrase and semantic unit in the data base is treated as a document. Natural language queries are used to search for relevant documents from the data base. A first search query creates a selected group of documents. Each word in both the search query and in the documents are given weighted values. Combining the weighted values creates similarity values for each document which are then ranked according to their relevant importance to the search query. A user reading and passing through this ranked list checks off which documents are relevant or not. Then the system automatically causes the original search query to be updated into a second search query which can include the same words, less words or different words than the first search query. Words in the second search query can have the same or different weights compared to the first search query. The system automatically searches the text data base and creates a second group of documents, which as a minimum does not include at least one of the documents found in the first group. The second group can also be comprised of additional documents not found in the first group. The ranking of documents in the second group is different than the first ranking such that the more relevant documents are found closer to the top of the list. Claims I claim: Description BACKGROUND AND PRIOR ART
______________________________________
SIM for a query
A number which measures the relevance of a docu-
and a document
ment to a query.
qword A word in the list of words used in a query.
cat A semantic category code.
qp The probability a qword triggers a cat.
dword A word in the list of words used in a document.
dp The probability a dword triggers a cat.
DocId The identifier for a document, the document number
N Total number of documents.
NDOCS The number of documents a word is in.
for a word
IDF The inverse document frequency which is defined
for a word
here to be log.sub.2 (N/NDOCS for the word).
Document List of words used in a document. FIG. 6 shows
Word List eight of these lists.
Query List of words used in a query.
Word List
Document List
List of DocIds.
Relevancy List
List of DocId, SIM pairs.
______________________________________
Statistical Ranking with Semantics FIG. 2 illustrates the procedure used in U.S. patent application Ser. No. 08/148,688 (filed on Nov. 5, 1993 which issued as U.S. Pat. No. 5,576,954 on Nov. 19, 1996) to determine a number to indicate the relevance or similarity of a document to a query. The procedure is based on the existence of a semantic lexicon. For a given word, the semantic lexicon indicates all the senses (different meanings) of a word. Roget's International Thesaurus (5th Edition), edited by Robert L. Chapman, HarperCollins Publishers, 1992 can be used as a semantic lexicon. The procedure illustrated in FIG. 2 also uses a statistical similarity calculation. To illustrate, FIG. 3 provides an original user query (a question) and a collection of eight documents, where each document is a sentence and has a DocId which is an integer number. Notice that Document 2 explicitly answers the user query. In statistical systems it is common to have a list of words which can be ignored because they are relatively useless as keywords. FIG. 4 provides a list of words not used for this example. Using the list of words not used, the example of FIG. 3 can be transformed into the words used in the original query of FIG. 5 and the words used in each of the eight documents of FIG. 6. FIG. 7 provides a list of statistical data for the words used in all of the eight documents, in alphabetical order. The number of documents that each word is in is shown in the second column of the table. This is called NDOCS for a word. The third column of the table in FIG. 7 indicates a measure of the importance of each word. The formula used for calculating the importance of a word is a statistical formula. A good one to use for this example is the inverse document frequency (IDF) formula: IDF of a word=log.sub.2 (N/NDOCS for the word) where N is the total number of documents (8) and NDOCS is the number of documents a word is in. For example, since "orbit" is in 4 documents, IDF for orbit=log.sub.2 (8/4)=log.sub.2 (2)=1 and since "increase" is in one document, IDF for increase=log.sub.2 (8/1)=log.sub.2 (8)=3. These IDF numbers are recorded in the third column of FIG. 7. It is clear that words which are in many documents are less important (as search words) than words which are in only a few documents. FIG. 8 provides the semantics of the words in the original query. For each word used in the original query (FIG. 5), the second column shows the number of senses (meanings) the word has in Roget's Thesaurus, and the third column lists the numeric codes for those different meanings. FIG. 9 provides the semantics of the words used in the eight documents. For each word used in the eight documents (FIG. 7), the second column shows the number of senses (meanings) the word has in Roget's Thesaurus, and the third column lists the numeric codes for those different meanings. Notice that all but one of the words used in the query are used in the eight documents. The word "fast" does not appear in the eight documents. For this example, a semantic category will be a "large category" in Roget's Thesaurus. There are 1073 large categories. The number of smaller categories will be used to determine a probability for a specific large category. For example, consider the word "fast", which triggers category "174.15" and category "174.17"; each of these is in the large category "174". So, the word "fast" triggers category "174" with a probability of 2/15 since 15 is the number of smaller categories triggered by the word "fast". Also in this example, the weight of a word in a document will be the frequency of the word in the document multiplied by the word's IDF value. In the example, all frequencies turn out to be 1, so the weight of a word in a document becomes the word's IDF value. The calculation of a SIM value for a query and a document can now be explained by reference to the Similarity Procedure in FIG. 2 and a small sample calculation. Consider the words used in the original query of FIG. 5 and the words used in Document 4 of FIG. 6. These two lists are called the Query Word List and the Document Word List, and they are the inputs to the Similarity Procedure. Step 405 sets the SIM value to zero. Step 410 sets qword to "fast". Since "fast" is not in Document 4, Step 420 causes movement to step 430. Since "fast" does trigger semantic categories, Step 430 causes movement to Step 435 and Step 440 causes cat to be "515" and qp to be 1/15. At Step 445, there is no word in Document 4 that triggers "515" so Step 435 is executed again. Steps 435, 440, and 445 re repeatedly executed with no movement to Step 450 until category "174" is used. At Step 440, cat eventually becomes "174" and qp becomes 2/15 since there are two of "174" in the list of categories triggered by "fast". At Step 450, dword becomes "velocity" since "velocity" triggers "174". Also, dp becomes 1/3 since "velocity" triggers three separate categories. At Step 455, notice that since "fast" is not a word in any of the documents, its IDF is not defined in FIG. 7; so, in this case, the IDF of the word "velocity" is substituted. Another possibility in this case is to substitute a very high IDF value for undefined IDF values. At Step 455, SIM is increased by (2/15*1)*(1/3*1)=0.0444 so SIM now equals 0.0444. Eventually, at Step 435, there are no more categories triggered by "fast" and this causes movement to Step 410. At Step 410, "orbit" is the next word in the query and, at Step 415, qword now becomes "orbit". At Step 420, the fact that "orbit" is also in Document 4 causes movement to Step 425. At Step 425, SIM is increase by the weight of "orbit" in the query multiplied by the weight of "orbit" in Document 4, and this amount is (1)*(1)=1.0000 so SIM now equals 1.0444. At Step 430, since "orbit" also triggers semantic categories, there is movement to Step 435. Steps 435, 440, and 445 are repeatedly executed for the semantic categories triggered by "orbit". For category "245" triggered by "orbit", the word "increase" in Document 4 is also a trigger. So, when cat becomes "245" and qp becomes 1/13, Step 450 causes dword to become "increase" and dp to become 1/20. Then, at Step 455, SIM is increased by (1/13*1)*(1/20*3)=0.0154 so SIM now equals 1.0598. Note that the IDF of "increase" is 3, and so the weight of "increase" in Document 4 is 3. Notice that Step 445 does not select the word "orbit" in Document 4, since qword is "orbit" and the semantic contribution of "orbit" in Document 4 was handled earlier by Step 425. Eventually, at Step 435, there are no more categories triggered by "orbit" and this causes movement to Step 410. At Step 410, "orbiter" is the next word in the query and at Step 415, qword now becomes "orbiter". Since "orbiter" is also in Document 4, Step 420 causes movement to Step 425. At Step 425, SIM is increased by the weight of "orbiter" in the query multiplied by the weight of "orbiter" in Document 4, and this amount is (1)*(1)-1.0000 so SIM now equals 2.0598. At Step 430, since "orbiter" does not trigger any semantic categories, there is movement to Step 410. At Step 410, "travel" is the next (and last) word in the query and, at Step 415, qword now becomes "travel". Since "travel" is not in Document 4, Step 420 causes movement to Step 430. Since "travel" does trigger semantic categories, Step 430 causes movement to Step 435 and Step 440 causes cat to be "162" and qp to be 2/9 since "travel" triggers "162.1" and "162.2". At Step 445, there is no word in Document 4 that triggers "162", so Step 435 is executed again. Steps 435, 440, and 445 are repeatedly executed with no movement to Step 450 until category "172" is used, and category "177" is used. When Step 440 causes cat to become "172" and qp to be 2/9, Step 445 causes movement to Step 450. The value of qp is 2/9 because "travel" triggers "172.2" and "172.5". At Step 450, dword becomes "velocity" and dp becomes 1/3 since "velocity" triggers "172" among three triggered separate categories. At Step 455, SIM is increased by (2/9*3)*(1/3*1)=0.2222 so SIM now equals 2.2820. When Step 440 causes cat be become "177" and qp to be 4/9, Step 445 causes movement to Step 450. The value of qp is 4/9 because "travel" triggers "177", "177.1", "177.18", and "177.21". At Step 450, dword becomes "velocity" and dp becomes 1/3. At Step 455, SIM is increased by (4/9*3)*(1/3*1)=0.4444 so SIM now equals 2.7264. Eventually, at Step 435, there are no more categories triggered by "travel" and this causes movement to Step 410. At Step 410, the procedure for calculating SIM stops because there are no more words in the query. The final value of SIM is 2.7264 and this represents a measure of the similarity between the original query in FIG. 3 and Document 4 in FIG. 3. The DocId of 4 and the SIM value of 2.7264 are the outputs of the Similarity Procedure. Relevance Feedback with Small Amounts of Text FIG. 1 illustrates the preferred embodiment of the invention. The Feedback Procedure of FIG. 1 activates the Similarity Procedure of FIG. 2 many times. To illustrate, FIG. 3 provides an original user query (a question) and a collection of eight documents, where each document is a sentence and has a DocId which is an integer. Notice that Document 2 explicitly answers the user query. This is a question/answer environment and the preferred embodiment of the invention is designed for this environment. The invention will help the user retrieve Document 2 (the answer to the user query in FIG. 3). At Step 100, Query Word List is set to the list of four words used in the original user query and shown in FIG. 5. At Step 200, Document Word List is set to the list of eight DocIds shown in FIG. 10. At Step 300, Relevancy List is set to be empty. Eventually, Relevancy List will be a list of DocId, SIM pairs sorted by SIM value to represent a ranking of the documents based on their statistical similarity to the query. At Step 400, DocId is set equal to the first document identifier in Document List. DocId is set to Document 1. At Step 500, the Query Word List of FIG. 5 and the Document Word List for Document 1 in FIG. 6 are input to the Similarity Procedure of FIG. 2. The output of the Similarity Procedure is DocId of 1 and SIM of 2.0338. At Step 600, the pair DocId of 1 and SIM of 2.0338 is added to the Relevancy List. Since there are more DocIds to process in Document List, Step 700 causes movement to Step 800 where DocId becomes Document 2. Then Step 500 activates the Similarity Procedure, again. Steps 500, 600, 700, and 800 cause the Similarity Procedure to be activated for each DocId in Document List, along with addition of the DocIds and their SIM values as pairs in Relevancy List. Eventually, Step 700 causes movement to Step 900 where the Relevancy List is sorted on SIM value. FIG. 11 reveals the result of Step 900 for the original user query and the eight documents of FIG. 3. Statistical keyword and semantic ranking has determined that Document 5 is the most relevant document for the original user query, Document 4 is the next most relevant document for the original query, and so on. At Step 1000, DocId is set to Document 5 and the document "Atlantis will travel more than half a million miles in ocean research." is shown to the user at Step 1100 where the user must decide if the sentence is relevant, not relevant, or answers the original query. The sentence is obviously not relevant, so Step 1100 causes movement to Step 1300. At Step 1300, any word in the Document Word List for Document 5 (as shown in FIG. 6) is removed from the Query Word List of FIG. 5; the result is shown in FIG. 12 where the word "travel" has been removed. The Query Word List now has three words in it, and it becomes the automatically built second query. At Step 1400, DocId of 5 is removed from the Document List since the user has read the document. Since there are still seven documents in Document List, Step 1500 causes movement to Step 300 where the Relevancy List is set to empty, again. At Step 400, DocId is set equal to Document 1 again and Steps 500, 600, 700, and 800 cause the activation of the Similarity Procedure of FIG. 2 for computing the similarity of the second query to each of the remaining seven documents, along with addition of the DocIds and their SIM values in Relevancy List. Eventually, Step 700 causes movement to Step 900 where the Relevancy List is sorted on SIM value. FIG. 13 reveals the result of Step 900 for the second query and the seven documents not read by the user. Statistical keyword and semantic ranking has determined that Document 4 is now the most relevant document. At Step 1000, DocId is set to Document 4 and the document "The engines are used to increase the velocity of the orbiter on orbit." is shown to the user at Step 1100 where the user must decide if the sentence is relevant, not relevant, or answers the original query. Most people would agree that the sentence is relevant, so Step 1100 causes movement to Step 1200. At Step 1200, the words in the Document Word List for Document 4 (as shown in FIG. 6) are added to the Query Word List for the second query of FIG. 12; the result is shown in FIG. 14 where the words "engines", "increase", and "velocity" are added. The Query Word List now has six words in it, and it becomes the automatically built third query. At Step 1400, DocId of 4 is removed from the Document List since the user has read the document. Since there are still six documents in the Document List, Step 1500 causes movement to Step 300 where the Relevancy List is set to empty, again. At Step 400, DocId is set equal to Document 1 again and Steps 500, 600, 700, and 800 cause the activation of the Similarity Procedure of FIG. 2 for computing the similarity of the third query to each of the remaining six documents, along with addition of the DocIds and their SIM values in Relevancy List. Eventually, Step 700 causes movement to Step 900 where the Relevancy List is sorted on SIM value. FIG. 15 reveals the result of Step 900 for the third query and the six documents not yet read by the user. Statistical keyword and semantic ranking has determined that Document 2 is now the most relevant document. At Step 1000, DocId is set to Document 2 and the document "The orbiter's engines maintain a velocity on orbit of approximately 25,405 feet per second." is shown to the user at Step 1100 where the user must decide if the sentence is relevant, not relevant, or answers the original query. Obviously, Document 2 provides the answer to the original query, so the retrieval process stops after three sentences were read. The feedback and sentencer features are quite useful to user in saving time and enhancing the quality of the search. The feedback feature of the subject invention helps to introduce new words and gets rid of bad words, e.g. the word travel is removed from FIG. 5 and "velocity" is added in FIG. 14. The sentencer minimizes reading time and allows the user to make their relevancy decisions very easy by just requiring the user to indicate by a key stroke whether a document is relative or not relative. In addition, the sentencer saves the user time by forcing the user to discover small "units" which are relevant or not relevant and the decision is easy. While the prefered embodiment has been described in reference to one type of document collection, the invention can be equally applicable to all types of documents such as but not limited to patents, legal documents, medical documents, articles, journals and the like. Further, there is no size limit to the number of documents that can be searched. The invention can be incorporated on personal computers to search for internal files and can be applied to modem search systems accessible to DIALOG, ORBIT, and the like. While the invention has been described, disclosed, illustrated and shown in various terms of certain embodiments or modifications which it has presumed in practice, the scope of the invention is not intended to be, nor should it be deemed to be, limited thereby and such other modifications or embodiments as may be suggested by the teachings herein are particularly reserved especially as they fall within the breadth and scope of the claims here appended.
|
Same subclass Same class Consider this |
||||||||||
