CA2326153C - Feature diffusion across hyperlinks - Google Patents
Feature diffusion across hyperlinks Download PDFInfo
- Publication number
- CA2326153C CA2326153C CA002326153A CA2326153A CA2326153C CA 2326153 C CA2326153 C CA 2326153C CA 002326153 A CA002326153 A CA 002326153A CA 2326153 A CA2326153 A CA 2326153A CA 2326153 C CA2326153 C CA 2326153C
- Authority
- CA
- Canada
- Prior art keywords
- document
- documents
- query
- term
- computer
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
Abstract
A system and method for ranking wide area computer network (e.g., Web) pages by popularity in response to a query. Further, using a query and the response thereto from a search engine, the system and method finds additional key words that might be good extended search terms, essentially generating a local thesaurus on the fly at query time.
Description
Field of the Invention The present invention relates generally to information retrieval, and more particularly to methods and apparatus for efficiently and effectively retrieving hypertext documents on, e.g., the World Wide Web.
Hnckground of th4 Iavontion The wide area computer network known as the Internet, and in particular the portion of the Internet known as the World Wide Web, affords users access to a large amount of information. Not surprisingly, several search engines have been provided into which users can input queries, and the search engines use various schemes to return lists of Web sites in response to the queries, to facilitate the mining of information from the Web. These Web sites generally represent computer-stored documents that a user can access to gain information regarding the subject matter of the particular site.
Typically, like most computer search methods, Web search engines use some form of key word search strategy, in which the term or terms of a user's input query are matched with terms in Web documents in some fashion to return a list of pertinent Web sites to the querying user. It happens, however, that most queries are only one to three words in length and, thus, are usually very broad. This means that a large number of Web sites might contain one or more words of a query, and if the search engine returns all possible candidates, the user might be required to sift through hundreds and perhaps thousands of documents.
Furthermore, it might happen that in response to a query, the Web sites that are most pertinent to the query might not be returned at all.
More specifically, a query might use terms that do not appear in the web sites that are the most pertinent to the query. For example, the term "browses" does not appear at all in the Web sites for two of the currently most copular browsers. Instead, the Web sites use words other than "browses" to refer to the subject matter of the sites. Consequently, these sites would not be returned to a user who inputs the word "browses"
to a search engine that uses a simple key word search strategy.
As recognized by the present invention, hawever, Internet users unconsciously collaborate in searching for, reading through, reviewing, and judging the quality of Web documents. This collaboration is reflected in large part by the compilation of Web pages, in that many if not most 26-06-2000 ~.9?11s ~ New Page: 19 Jv GB 009900752 a a1 ~~ z. :. ~~ ~~
. i ~1 ~ ~ ~ . f ~ i ~ 1 ~ 1 ~~~ i . ~i~
i ~ ~ ~ 1 f ~ ~
1 1 ~ 1 1 . ~ ~ ~ ~ ~
=2 ~ ~~~~ a~ ~ .. :r ~ ~~ s~
Web pages typically describe and point to other pages that are perceived to be high-quality.
More particularly, a Web page points to other Web pages in the form of hyperlinks, which essentially are references in a first document (i.e., a first Web page) to other documents (i.e., other Web pages). A hyperlink affords a user the ability to select immediate access to another Web page by ~clicking" on the hyperlink by means of a computer mouse or other pointing and clicking device. As recognized herein, such referring Web pages can be a rich source of terms that have been popularly associated with referred-to Web pages even if the referred-to Web pages do not themselves use the terms. Consequently, these terms can be used to improve Web search query results. The present invention further recognizes that the present principles of effectively diffusing features (in the form of tezms) across a reference to a document (such as a hyperlink) are applicable not only to the Web but also to any body of linked documents, such as patents, academic papers, articles, books, emailings, etc. ' Accordingly, it is an object of the present invention to provide a method and system for diffusing features across hyperlinks. Another object of the present invention is to provide a method and system for ranking documents in a sct of documents in response to a query. Still another object of the present invention is to provide a method and system for finding key words in a set of documents. Yet another object of the present invention is to provide a method and system for finding associations in computer-stored documents between document terms and query topics represented by one or more query terms. Another object of the present invention is to provide a method and system for Web searching that is easy to use and cost-effective.
W09'7 49048A discloses a hypertext document retrieval system and method Where hypertext documents which are linked from retrieved documents are indexed and ranked using terms specified in the hyperlinks to the hypertext documents within the retrieved documents.
EP 0809197A discloses a hypertext document retrieval system where a parent document and another document are associated within a set of retrieved documents when a hyperlink in the parent document refers to the other document and both documents include the same keyword of the search query. The occurrence frequency of each unified document is calculated and used to rank the set of the retrieved documents.
AMENDED SHEET
' CA 02326153 2000-09-27 26-06-2000 ar~ss7ms - ~ crew Page: 19 Jui Gg 009900752 i sa ~f :. .. ff a~
z: as a ~ a : . ~: s s v ~ a ! iff . v .:~ v v ~ v - r ~ r a . . . . ~ ~ ~
r ~ ~ . . . ~ ~ a a r 'Za ~ ~~~i sf f ii :~ ~ 11 it The invention is a general purpose computer programmed according to the inventive steps herein to rank documents in a set of documents in response to a query. The invention can also be embodied as an article of manufacture - a machine component - that is used by a digital processing apparatus and which tangibly embodies a program of instructions that are executable by the digital processing apparatus to find associations in computer-stored documents between document terms and query topics. This 1o invention is realized in a critical machine component that causes a digital processing apparatus to perform the inventive method steps herein.
In accordance with the present invention, the computer includes computer readable code means for identifying a reference to a second AMENDED SHEET
document in a first document. Computer readable code means receive a lexical distance that defines a number of document terms. Also, the computer includes computer readable code means for receiving a query including one or more query terms, and computer readable code means for determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
In one embodiment, the documents are accessible via a wide area computer network, and the reference includes a uniform resource listing (URL). If desired, the lexical distance is established based on the query.
Preferably, the computer also includes computer readable code means for ranking multiple documents based on respective numbers of times query terms are present within lexical distances of references in the documents.
Additionally, the computer includes computer readable code means for receiving a set "U" of documents. Computer readable code means are provided for defining as neighbour documents "N(u)", for at least one test document "u" in the set "U", documents in the set "U" that include~at least one reference to the test document "u". Moreover, computer readable code means determine, for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance (i.e., within a predetermined number of terms) of a reference in the neighbour document "N(u)" to the test document "u". Per the present invention, computer readable code means then output a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference. The means for outputting increments a counter associated with the at least one document term when the at least one document term is within a predetermined distance of a reference to the test document "u".
In addition to the above-summarized logic, the computer can also include computer readable code means for receiving a set "U" of documents in response to a query including one or more query terms, with each document containing one or more document terms. Computer readable code means are provided for defining a correlation between at least a first document and at least a first document term when both the first document term and a reference to the first document are within a predetermined distance of a query term. If desired, the correlation is associated with a weight, and the weight is based on the number of times the first document term and a reference to the first document are within a predetermined distance of a query term in the set "U" of documents.
26-06-2000 ~xsa~~ls ~ New Page: 19 Jug GB 009900752 ~ i ~i ~~ 3i i~ ~~ ~~
.i ~1 i 1 i i 'i i i 1 ~ ~~ ~~~ ~ .'1i~
i ~ ~ ~ ~ ~ . . ~ ~
~ ~ ~ ~ ~ . ~ '~ ~ 1 :4 v ~~sa ~s a cs .. . w ~~
In another aspect a computer program device comprises a computer program storage device readable by a digital processing apparatus; and a program means on the program storage device and including instructions executable by the digital processing apparatus for performing method steps for finding key words in a set of documents, the method steps comprising:
identifying a reference to a second document in a first document;
receiving a lexical distance, the lexical distance defining a number of document terms; receiving a query including one or more query terms; and determining a number of times at least one of the query terms is present to in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
The invention also provides a method for ranking documents in a set of documents in response to a query, the method comprising the steps of:
identifying a reference to a second document in a first document;
receiving a lexical distance, the lexical distance defining a number of document terms; receiving a query including one or more query terms; and determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
The invention will now be described, by way of example only, with reference to the accompanying drawings, in which: --AMENDED SHEET
Figure 1 is a schematic diagram of the present computer system for diffusing document features across hyperlinks;
Figure 2 is a schematic view of a computer program product;
Figure 3 is a flow chart of the logic for growing a list of Web sites that have been provided in response to a query;
Figure 4 is a flow chart of the logic for returning "high quality"
pages from a list of pages generated in response to a query;
Figure 5 is a flow chart showing the logic for finding descriptive terms (also referred to herein as features) across hyperlinks; and Figure 6 is a flow chart showing the logic for finding associations in computer-stored documents between document terms and query .topics represented by one or more query terms.
DETAILED DESCRIPTION OF THE INVENTION
Referring initially to Figure 1, a system for finding descriptive terms across hyperlinks is shown, generally designated 10. In the particular architecture shown, the system l0 includes a digital processing apparatus, such as a computer 12. In one intended embodiment, the computer l2 may be a personal computer made by International Business Machines Corporation (IBM) of Armonk, N.Y. as shown, or the computer 12 may be any computer, including computers sold under trademarks such as AS/400, with accompanying IBM Network Stations. Or, the computer 12 may be a Unix computer, or OS/2 server, or Windows NT server, or IBM RS/6000 250 workstation with 128 MB of main memory running AIX 3.2.5., or an IBM
laptop computer. (UNIX is a trade mark of the Open Group, AS/400, OS/2, RS/6000 and AIX are trade marks of International Business Machines Corporation and Windows NT is a trade mark of Microsoft Corp.).
The computer 12 accesses an Internet search engine 14. In one embodiment, The search engine 14 is made by Alta Vista, although it is to be understood that other search engines can be used. The search engine 14 accepts queries from the computer 12 and in response thereto returns to the computer 12 a list of computer-stored documents, and more particslarly a list of Web sites 16, with which the computer 12 can communicate via the portion of the Internet known as the World Wide Web 18.
Additionally, the computer 12 includes a feature diffuser module 19 which may be executed by a processor within the computer 12 as a series of computer-executable instructions. These instructions may reside, for example, in RAM of the computer 12. The flow charts herein illustrate the structure of the programmed instructions undertaken by the module 19 of the present invention as embodied in computer program software. Those skilled in the art will appreciate that the flow charts illustrate the structures of logic elements, such as computer program code elements or electronic logic circuits, that function according to this invention.
Manifestly, the invention is practised in its essential embodiment by a machine component that renders the logic elements in a form that instructs a digital processing apparatus (that is, a computer) to perform a sequence of function steps corresponding to those shown.
In other words, the module 19 may be a computer program that is executed by a processor within the computer 12 as a series of computer-executable instructions.
Alternatively, the instructions may be contained on a data storage device with a computer readable medium, such as a computer diskette 20 shown in Figure 2. The diskette 20 can include a computer usable medium 22 that electronically stores computer readable program code elements A-D.
Or, the instructions may be stored on a DASD array, magnetic tape, conventional hard disk drive, electronic read-only memory, optical storage device, or other appropriate data storage. device. In an illustrative embodiment of the invention, the computer-executable instructions may be lines of compiled C++ compatible code or Hypertext Markup Language (HTML) compatible code.
Figure 1 also shows that the system 10 can include peripheral computer equipment known in the art, including an input device such as a computer keyboard 24 and/or computer mouse 25. Input devices other than those shown can be used, e.g., a trackball, keypad, touch screen, and voice recognition device. An output device such as a video monitor 26 is also provided. Other output devices can be used, such as printers, other computers, and so on.
Now referring to Figure 3, the logic of the first procedure (referred to herein as "procedure A") that is undertaken by the module 19 can be seen. Commenting at block 28, a user query as might be input using the keyboard 24 is received. The user query is composed of one or more q~.~ery terms, such as, e.g., "high mountains".
Moving to block 30, a lexical distance "1" is established. In one preferred embodiment, the lexical distance "1" defines a window in terms of an integer number of terms, for purposes to be shortly disclosed. The lexical distance "1" can have a fixed value or, as an alternative, the value of the lexical distance "1" can be established based on the number of terms in the query. For example, the value of the lexical distance "1"
can be inversely proportional to the number of query terms.
At block 32, the query is sent to the search engine 14. In accordance with search engine principles, the search engine 14 returns a list of Web sites 16 that conform to the query. The list is returned in a results set "R°, and the results set "R" is received at block 34.
Typically, the results set is returned as a list of Web site names referred to as uniform resource locators or URLs.
Moving to block 36, the logic then expands the results set "R" as follows. First, all "s" URLs in which exist hyperlinks to one or more of the elements "r" in the results set "R" are added to the results set "R".
Thus, at block 36 a reference to a second document is identified in a first document.
Next, at block 38 all "t" URLs are added to the results set "R", with a "t" URL being characterized as a URL to which hyperlinks exist from any element "r" in the results set "R", with the augmented set being denoted "S". Thus, at blocks 36 and 38 the results set "R" is grown into the augmented set "S" by adding URLs to the results set "R" that are either pointed to by a hyperlink in a URL in "R".or that point to a URL in R by means of a hyperlink.
From block 38, the logic moves to block 40 to enter a "DO" loop for each document in the augmented set "S". At decision diamond 42, it is determined whether any query term appears within the lexical distance of a URL "u" in the document, i.e., whether any query term appears in the document under test within the lexical distance of a hyperlink to the u.th document in the augmented set "S". If so, a counteru that is associated with the uth document in the augmented set "S" is incremented by onP at block 44, and then the next document is retrieved at block 46. Thus, the logic determines a number of times at least one of the query terms is present in a first document within the lexical distance of a reference to the second document, for ranking the documents based thereon as described below.
If the test is negative at decision diamond 42, the logic moves directly to block 46. From block 46, the logic moves to decision diamond 48 to determine whether the "DO" loop has been completed, and if not, the logic loops back to decision diamond 42. On the other hand, upon completion of the "DO" loop, the process moves to block 50 to return an ordered set of URLs in decreasing order of counter values.
Now referring to Figure 4, a "B" procedure can be understood which seeks to reorder the top "N" URLs returned from procedure "A" on the basis of the significance of certain terms therein. Commencing at block 52, a set of documents is received. This set can be, e.g., the top "N" (e. g., 20) URLs output at block 50. For the set, a "DO" loop is entered, and an index variable "v" is set equal to the URL under test at block 54.
Moving to block 56, all (or a subset of) URLs "u" that cite the URL
"v" under test (for example, by containing a hyperlink to the URL "v"
under testy axe determined. Next, moving to block 58 all anchor text in the URLs pertaining to hyperlinks to the URL "v" under test is retrieved.
By "anchor text" is meant the text that is directly associated with a hyperlink or other reference or citation in a document. For example, in the passage "One of the earliest high-energy nuclear accelerators was built at <A HREF="http://www.CERN.ch">CERN, the European Laboratory for Particle Physics</A>", the hyperlink is the phrase "http://www.CERN.ch"
and the anchor text is the material that is enclosed in the "<A>...</A>"
pair. Using this example, for a lexical distance of, e.g., five, terms that are within the lexical distance of the anchor text are "nuclear accelerators was built at", whereas terms that are not within the lexical distance of the anchor text are "One of the earliest high-energy".
A nested "DO~ loop is then entered at block 60 for each query term.
Proceeding to decision diamond 62, it is determined whether the frequency of the query term under test in the document under test is greater than a reference frequency in some reference set of anchor text, as determined by one of a variety of conventional statistical techniques.
When the frequency of the query term under test in the document under test is greater than the reference frequency, the process moves to block 64 to flag the document under test as significant. Otherwise, the document under test is not flagged as significance. In either case, each document can be associated with a counter or other value representative of its significance as tested for above. At the conclusion of the "DO" loops discussed above, the top "N" URLs are ordered by their significance.
Now referring to Figure S, the logic of a "C" procedure for finding descriptive terms acrcss hyperlinks is shown. Commencing at block 68, a set "U" of URLs "u" is received, and for each individual URL "u" in the set "U", a "DO" loop is entered. At block 70, the set of in-neighbours N(u) to the URL "u" under test is determined. By "in-neighbour" is meant a document in the set "U" of URLs that contains a hyperlink to the document "u" under test. Stated differently, the set N(u) of in-neighbours can be thought of as referring documents to the referred-to document "u".
A nested "DO" loop is entered into at block 72 for each element (i.e., document term) in the set N(u) of in-neighbours. Moving to block 74, a counter is associated with each term in the set N(u) of in-neighbours. Then, a double-nested "DO" loop is entered. Proceeding to decision diamond 76, it is determined whether the term under test is within a predetermined distance of a reference (e.g., hyperlink) to the document "u" under test. This predetermined distance can be the lexical distance discussed above. If the term under test is within the predetermined distance of a reference to the document ~u" under test, the counter of the term is incremented by one at block 78. Otherwise, the counter is not incremented. When all terms of all in-neighbours in the set N(u) of in-neighbours to all documents ~u" in the set "U" of documents have been tested as set forth above, the logic moves to block 80 to sort the terms by their respective counter values, and to return the sorted list.
As recognized by the present invention, the output at block 80 is a ranked list of terms in the set "U" of documents. This ranked list can be used to suggest additional query terms to the user. Also, it can be used in an on-the-fly thesaurus of associations. Additionally, the output at block 80 can be used to annotate clusters of hyperlinked documents and clusters of terms as a post-processing step for many search engines.
Figure 6 shows the logic of a procedure "D" for finding associations in computer-stored documents between document terms and query topics as represented by one or more query terms. Commencing at block 82, a query "Q" is received. The query "Q" is composed of one or more query terms "q".
The query is forwarded to a search engine at block 84, and in response a document list is received back from the search engine. Moving to block 86, a bipartite graph G = ((T,U),E) is constructed having as its vertices the terms (T) and documents (tJ) returned at block 84, wherein T
and U respectively represent a document term branch and a URL branch of the bipartite graph, and wherein E represents the edges between the branches.
Proceeding to block 8$, a "DO" loop is entered for each document.
Moving to block 90, the document is scanned for URLs "u" and query terms "q". Next moving to block 92, for each document term "t" and URL "u"
found within a predetermined distance of a query term "q", a "DO" loop is entered in which the weight of the edge (t,u) E is incremented by one at block 94. With this logic, when a document term and a document name or citation (in the form of a hyperlink) are both found in a document within a predetermined distance of a query term, a signal is output that represents an association between the document term and the query topic.
If desired, the "DO" loop can include proceeding to block 96, wherein a single value decomposition (SVD) is determined for a matrix A
that is defined by the edges E:ai,j, wherein ai,j is the weight of the edge from the ith term to the jth URL. As is well known in the art, the 10 SVD determination at block 96 effectively factors A = U SV, where S is a diagonal matrix containing the singular values of A, and U and V are orthogonal matrices for performing orthogonal transformations. A
technique referred to in the art as Latent Semantic Indexing (LSI) such as that disclosed in U.S. Pat. No. 4,839,853, can be used to preprocess the corpus, and specifically to factorize the document-term matrix A as USV, where U gives the linear projection from term space to what might be called LSI or concept space. A few hundred LSI dimensions "k" suffice.
LSI search, however, does not use the U matrix, but the present invention does use the U matrix as follows. Each term is mapped to LSI
space, with each document being represented by a sequence of k-dimensional vectors. The query itself is transformed. into a short sequence of such vectors. Then, the documents are scanned, and the logic attempts to match the query vectors with a small window of vectors in the documents. If a low-cost (i.e., "good") match exists, a large vote goes to nearby citations, i.e., hyperlinks. The cost can be evaluated using a min-cost matching strategy, where the edge cast of matching the vectors corresponding to terms tl and t2 is simply the distance between their projections in U. As an example, the query "auto makers" may be matched at small cost to the sequence of text "companies making cars", voting for citations occurring near such similar phrases.
In contrast to LSI, the present invention maintains a sequence of LSI vectors for each document. In other words, the present invention, unlike LSI, considers matching LSI vector sequences and using the score to vote for neighbouring citations.
If desired, the process can return suggested search terms to the user at block 98. To determine these suggested terms, the logic sorts the terms having projections on the left vector (i.e., first column of "U") of the SVD determined in block 96 in order of decreasing values. The top "k"
terms in the sorted list are then returned at block 98, wherein "k" is a predetermined integer, e.g., five.
Hnckground of th4 Iavontion The wide area computer network known as the Internet, and in particular the portion of the Internet known as the World Wide Web, affords users access to a large amount of information. Not surprisingly, several search engines have been provided into which users can input queries, and the search engines use various schemes to return lists of Web sites in response to the queries, to facilitate the mining of information from the Web. These Web sites generally represent computer-stored documents that a user can access to gain information regarding the subject matter of the particular site.
Typically, like most computer search methods, Web search engines use some form of key word search strategy, in which the term or terms of a user's input query are matched with terms in Web documents in some fashion to return a list of pertinent Web sites to the querying user. It happens, however, that most queries are only one to three words in length and, thus, are usually very broad. This means that a large number of Web sites might contain one or more words of a query, and if the search engine returns all possible candidates, the user might be required to sift through hundreds and perhaps thousands of documents.
Furthermore, it might happen that in response to a query, the Web sites that are most pertinent to the query might not be returned at all.
More specifically, a query might use terms that do not appear in the web sites that are the most pertinent to the query. For example, the term "browses" does not appear at all in the Web sites for two of the currently most copular browsers. Instead, the Web sites use words other than "browses" to refer to the subject matter of the sites. Consequently, these sites would not be returned to a user who inputs the word "browses"
to a search engine that uses a simple key word search strategy.
As recognized by the present invention, hawever, Internet users unconsciously collaborate in searching for, reading through, reviewing, and judging the quality of Web documents. This collaboration is reflected in large part by the compilation of Web pages, in that many if not most 26-06-2000 ~.9?11s ~ New Page: 19 Jv GB 009900752 a a1 ~~ z. :. ~~ ~~
. i ~1 ~ ~ ~ . f ~ i ~ 1 ~ 1 ~~~ i . ~i~
i ~ ~ ~ 1 f ~ ~
1 1 ~ 1 1 . ~ ~ ~ ~ ~
=2 ~ ~~~~ a~ ~ .. :r ~ ~~ s~
Web pages typically describe and point to other pages that are perceived to be high-quality.
More particularly, a Web page points to other Web pages in the form of hyperlinks, which essentially are references in a first document (i.e., a first Web page) to other documents (i.e., other Web pages). A hyperlink affords a user the ability to select immediate access to another Web page by ~clicking" on the hyperlink by means of a computer mouse or other pointing and clicking device. As recognized herein, such referring Web pages can be a rich source of terms that have been popularly associated with referred-to Web pages even if the referred-to Web pages do not themselves use the terms. Consequently, these terms can be used to improve Web search query results. The present invention further recognizes that the present principles of effectively diffusing features (in the form of tezms) across a reference to a document (such as a hyperlink) are applicable not only to the Web but also to any body of linked documents, such as patents, academic papers, articles, books, emailings, etc. ' Accordingly, it is an object of the present invention to provide a method and system for diffusing features across hyperlinks. Another object of the present invention is to provide a method and system for ranking documents in a sct of documents in response to a query. Still another object of the present invention is to provide a method and system for finding key words in a set of documents. Yet another object of the present invention is to provide a method and system for finding associations in computer-stored documents between document terms and query topics represented by one or more query terms. Another object of the present invention is to provide a method and system for Web searching that is easy to use and cost-effective.
W09'7 49048A discloses a hypertext document retrieval system and method Where hypertext documents which are linked from retrieved documents are indexed and ranked using terms specified in the hyperlinks to the hypertext documents within the retrieved documents.
EP 0809197A discloses a hypertext document retrieval system where a parent document and another document are associated within a set of retrieved documents when a hyperlink in the parent document refers to the other document and both documents include the same keyword of the search query. The occurrence frequency of each unified document is calculated and used to rank the set of the retrieved documents.
AMENDED SHEET
' CA 02326153 2000-09-27 26-06-2000 ar~ss7ms - ~ crew Page: 19 Jui Gg 009900752 i sa ~f :. .. ff a~
z: as a ~ a : . ~: s s v ~ a ! iff . v .:~ v v ~ v - r ~ r a . . . . ~ ~ ~
r ~ ~ . . . ~ ~ a a r 'Za ~ ~~~i sf f ii :~ ~ 11 it The invention is a general purpose computer programmed according to the inventive steps herein to rank documents in a set of documents in response to a query. The invention can also be embodied as an article of manufacture - a machine component - that is used by a digital processing apparatus and which tangibly embodies a program of instructions that are executable by the digital processing apparatus to find associations in computer-stored documents between document terms and query topics. This 1o invention is realized in a critical machine component that causes a digital processing apparatus to perform the inventive method steps herein.
In accordance with the present invention, the computer includes computer readable code means for identifying a reference to a second AMENDED SHEET
document in a first document. Computer readable code means receive a lexical distance that defines a number of document terms. Also, the computer includes computer readable code means for receiving a query including one or more query terms, and computer readable code means for determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
In one embodiment, the documents are accessible via a wide area computer network, and the reference includes a uniform resource listing (URL). If desired, the lexical distance is established based on the query.
Preferably, the computer also includes computer readable code means for ranking multiple documents based on respective numbers of times query terms are present within lexical distances of references in the documents.
Additionally, the computer includes computer readable code means for receiving a set "U" of documents. Computer readable code means are provided for defining as neighbour documents "N(u)", for at least one test document "u" in the set "U", documents in the set "U" that include~at least one reference to the test document "u". Moreover, computer readable code means determine, for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance (i.e., within a predetermined number of terms) of a reference in the neighbour document "N(u)" to the test document "u". Per the present invention, computer readable code means then output a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference. The means for outputting increments a counter associated with the at least one document term when the at least one document term is within a predetermined distance of a reference to the test document "u".
In addition to the above-summarized logic, the computer can also include computer readable code means for receiving a set "U" of documents in response to a query including one or more query terms, with each document containing one or more document terms. Computer readable code means are provided for defining a correlation between at least a first document and at least a first document term when both the first document term and a reference to the first document are within a predetermined distance of a query term. If desired, the correlation is associated with a weight, and the weight is based on the number of times the first document term and a reference to the first document are within a predetermined distance of a query term in the set "U" of documents.
26-06-2000 ~xsa~~ls ~ New Page: 19 Jug GB 009900752 ~ i ~i ~~ 3i i~ ~~ ~~
.i ~1 i 1 i i 'i i i 1 ~ ~~ ~~~ ~ .'1i~
i ~ ~ ~ ~ ~ . . ~ ~
~ ~ ~ ~ ~ . ~ '~ ~ 1 :4 v ~~sa ~s a cs .. . w ~~
In another aspect a computer program device comprises a computer program storage device readable by a digital processing apparatus; and a program means on the program storage device and including instructions executable by the digital processing apparatus for performing method steps for finding key words in a set of documents, the method steps comprising:
identifying a reference to a second document in a first document;
receiving a lexical distance, the lexical distance defining a number of document terms; receiving a query including one or more query terms; and determining a number of times at least one of the query terms is present to in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
The invention also provides a method for ranking documents in a set of documents in response to a query, the method comprising the steps of:
identifying a reference to a second document in a first document;
receiving a lexical distance, the lexical distance defining a number of document terms; receiving a query including one or more query terms; and determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
The invention will now be described, by way of example only, with reference to the accompanying drawings, in which: --AMENDED SHEET
Figure 1 is a schematic diagram of the present computer system for diffusing document features across hyperlinks;
Figure 2 is a schematic view of a computer program product;
Figure 3 is a flow chart of the logic for growing a list of Web sites that have been provided in response to a query;
Figure 4 is a flow chart of the logic for returning "high quality"
pages from a list of pages generated in response to a query;
Figure 5 is a flow chart showing the logic for finding descriptive terms (also referred to herein as features) across hyperlinks; and Figure 6 is a flow chart showing the logic for finding associations in computer-stored documents between document terms and query .topics represented by one or more query terms.
DETAILED DESCRIPTION OF THE INVENTION
Referring initially to Figure 1, a system for finding descriptive terms across hyperlinks is shown, generally designated 10. In the particular architecture shown, the system l0 includes a digital processing apparatus, such as a computer 12. In one intended embodiment, the computer l2 may be a personal computer made by International Business Machines Corporation (IBM) of Armonk, N.Y. as shown, or the computer 12 may be any computer, including computers sold under trademarks such as AS/400, with accompanying IBM Network Stations. Or, the computer 12 may be a Unix computer, or OS/2 server, or Windows NT server, or IBM RS/6000 250 workstation with 128 MB of main memory running AIX 3.2.5., or an IBM
laptop computer. (UNIX is a trade mark of the Open Group, AS/400, OS/2, RS/6000 and AIX are trade marks of International Business Machines Corporation and Windows NT is a trade mark of Microsoft Corp.).
The computer 12 accesses an Internet search engine 14. In one embodiment, The search engine 14 is made by Alta Vista, although it is to be understood that other search engines can be used. The search engine 14 accepts queries from the computer 12 and in response thereto returns to the computer 12 a list of computer-stored documents, and more particslarly a list of Web sites 16, with which the computer 12 can communicate via the portion of the Internet known as the World Wide Web 18.
Additionally, the computer 12 includes a feature diffuser module 19 which may be executed by a processor within the computer 12 as a series of computer-executable instructions. These instructions may reside, for example, in RAM of the computer 12. The flow charts herein illustrate the structure of the programmed instructions undertaken by the module 19 of the present invention as embodied in computer program software. Those skilled in the art will appreciate that the flow charts illustrate the structures of logic elements, such as computer program code elements or electronic logic circuits, that function according to this invention.
Manifestly, the invention is practised in its essential embodiment by a machine component that renders the logic elements in a form that instructs a digital processing apparatus (that is, a computer) to perform a sequence of function steps corresponding to those shown.
In other words, the module 19 may be a computer program that is executed by a processor within the computer 12 as a series of computer-executable instructions.
Alternatively, the instructions may be contained on a data storage device with a computer readable medium, such as a computer diskette 20 shown in Figure 2. The diskette 20 can include a computer usable medium 22 that electronically stores computer readable program code elements A-D.
Or, the instructions may be stored on a DASD array, magnetic tape, conventional hard disk drive, electronic read-only memory, optical storage device, or other appropriate data storage. device. In an illustrative embodiment of the invention, the computer-executable instructions may be lines of compiled C++ compatible code or Hypertext Markup Language (HTML) compatible code.
Figure 1 also shows that the system 10 can include peripheral computer equipment known in the art, including an input device such as a computer keyboard 24 and/or computer mouse 25. Input devices other than those shown can be used, e.g., a trackball, keypad, touch screen, and voice recognition device. An output device such as a video monitor 26 is also provided. Other output devices can be used, such as printers, other computers, and so on.
Now referring to Figure 3, the logic of the first procedure (referred to herein as "procedure A") that is undertaken by the module 19 can be seen. Commenting at block 28, a user query as might be input using the keyboard 24 is received. The user query is composed of one or more q~.~ery terms, such as, e.g., "high mountains".
Moving to block 30, a lexical distance "1" is established. In one preferred embodiment, the lexical distance "1" defines a window in terms of an integer number of terms, for purposes to be shortly disclosed. The lexical distance "1" can have a fixed value or, as an alternative, the value of the lexical distance "1" can be established based on the number of terms in the query. For example, the value of the lexical distance "1"
can be inversely proportional to the number of query terms.
At block 32, the query is sent to the search engine 14. In accordance with search engine principles, the search engine 14 returns a list of Web sites 16 that conform to the query. The list is returned in a results set "R°, and the results set "R" is received at block 34.
Typically, the results set is returned as a list of Web site names referred to as uniform resource locators or URLs.
Moving to block 36, the logic then expands the results set "R" as follows. First, all "s" URLs in which exist hyperlinks to one or more of the elements "r" in the results set "R" are added to the results set "R".
Thus, at block 36 a reference to a second document is identified in a first document.
Next, at block 38 all "t" URLs are added to the results set "R", with a "t" URL being characterized as a URL to which hyperlinks exist from any element "r" in the results set "R", with the augmented set being denoted "S". Thus, at blocks 36 and 38 the results set "R" is grown into the augmented set "S" by adding URLs to the results set "R" that are either pointed to by a hyperlink in a URL in "R".or that point to a URL in R by means of a hyperlink.
From block 38, the logic moves to block 40 to enter a "DO" loop for each document in the augmented set "S". At decision diamond 42, it is determined whether any query term appears within the lexical distance of a URL "u" in the document, i.e., whether any query term appears in the document under test within the lexical distance of a hyperlink to the u.th document in the augmented set "S". If so, a counteru that is associated with the uth document in the augmented set "S" is incremented by onP at block 44, and then the next document is retrieved at block 46. Thus, the logic determines a number of times at least one of the query terms is present in a first document within the lexical distance of a reference to the second document, for ranking the documents based thereon as described below.
If the test is negative at decision diamond 42, the logic moves directly to block 46. From block 46, the logic moves to decision diamond 48 to determine whether the "DO" loop has been completed, and if not, the logic loops back to decision diamond 42. On the other hand, upon completion of the "DO" loop, the process moves to block 50 to return an ordered set of URLs in decreasing order of counter values.
Now referring to Figure 4, a "B" procedure can be understood which seeks to reorder the top "N" URLs returned from procedure "A" on the basis of the significance of certain terms therein. Commencing at block 52, a set of documents is received. This set can be, e.g., the top "N" (e. g., 20) URLs output at block 50. For the set, a "DO" loop is entered, and an index variable "v" is set equal to the URL under test at block 54.
Moving to block 56, all (or a subset of) URLs "u" that cite the URL
"v" under test (for example, by containing a hyperlink to the URL "v"
under testy axe determined. Next, moving to block 58 all anchor text in the URLs pertaining to hyperlinks to the URL "v" under test is retrieved.
By "anchor text" is meant the text that is directly associated with a hyperlink or other reference or citation in a document. For example, in the passage "One of the earliest high-energy nuclear accelerators was built at <A HREF="http://www.CERN.ch">CERN, the European Laboratory for Particle Physics</A>", the hyperlink is the phrase "http://www.CERN.ch"
and the anchor text is the material that is enclosed in the "<A>...</A>"
pair. Using this example, for a lexical distance of, e.g., five, terms that are within the lexical distance of the anchor text are "nuclear accelerators was built at", whereas terms that are not within the lexical distance of the anchor text are "One of the earliest high-energy".
A nested "DO~ loop is then entered at block 60 for each query term.
Proceeding to decision diamond 62, it is determined whether the frequency of the query term under test in the document under test is greater than a reference frequency in some reference set of anchor text, as determined by one of a variety of conventional statistical techniques.
When the frequency of the query term under test in the document under test is greater than the reference frequency, the process moves to block 64 to flag the document under test as significant. Otherwise, the document under test is not flagged as significance. In either case, each document can be associated with a counter or other value representative of its significance as tested for above. At the conclusion of the "DO" loops discussed above, the top "N" URLs are ordered by their significance.
Now referring to Figure S, the logic of a "C" procedure for finding descriptive terms acrcss hyperlinks is shown. Commencing at block 68, a set "U" of URLs "u" is received, and for each individual URL "u" in the set "U", a "DO" loop is entered. At block 70, the set of in-neighbours N(u) to the URL "u" under test is determined. By "in-neighbour" is meant a document in the set "U" of URLs that contains a hyperlink to the document "u" under test. Stated differently, the set N(u) of in-neighbours can be thought of as referring documents to the referred-to document "u".
A nested "DO" loop is entered into at block 72 for each element (i.e., document term) in the set N(u) of in-neighbours. Moving to block 74, a counter is associated with each term in the set N(u) of in-neighbours. Then, a double-nested "DO" loop is entered. Proceeding to decision diamond 76, it is determined whether the term under test is within a predetermined distance of a reference (e.g., hyperlink) to the document "u" under test. This predetermined distance can be the lexical distance discussed above. If the term under test is within the predetermined distance of a reference to the document ~u" under test, the counter of the term is incremented by one at block 78. Otherwise, the counter is not incremented. When all terms of all in-neighbours in the set N(u) of in-neighbours to all documents ~u" in the set "U" of documents have been tested as set forth above, the logic moves to block 80 to sort the terms by their respective counter values, and to return the sorted list.
As recognized by the present invention, the output at block 80 is a ranked list of terms in the set "U" of documents. This ranked list can be used to suggest additional query terms to the user. Also, it can be used in an on-the-fly thesaurus of associations. Additionally, the output at block 80 can be used to annotate clusters of hyperlinked documents and clusters of terms as a post-processing step for many search engines.
Figure 6 shows the logic of a procedure "D" for finding associations in computer-stored documents between document terms and query topics as represented by one or more query terms. Commencing at block 82, a query "Q" is received. The query "Q" is composed of one or more query terms "q".
The query is forwarded to a search engine at block 84, and in response a document list is received back from the search engine. Moving to block 86, a bipartite graph G = ((T,U),E) is constructed having as its vertices the terms (T) and documents (tJ) returned at block 84, wherein T
and U respectively represent a document term branch and a URL branch of the bipartite graph, and wherein E represents the edges between the branches.
Proceeding to block 8$, a "DO" loop is entered for each document.
Moving to block 90, the document is scanned for URLs "u" and query terms "q". Next moving to block 92, for each document term "t" and URL "u"
found within a predetermined distance of a query term "q", a "DO" loop is entered in which the weight of the edge (t,u) E is incremented by one at block 94. With this logic, when a document term and a document name or citation (in the form of a hyperlink) are both found in a document within a predetermined distance of a query term, a signal is output that represents an association between the document term and the query topic.
If desired, the "DO" loop can include proceeding to block 96, wherein a single value decomposition (SVD) is determined for a matrix A
that is defined by the edges E:ai,j, wherein ai,j is the weight of the edge from the ith term to the jth URL. As is well known in the art, the 10 SVD determination at block 96 effectively factors A = U SV, where S is a diagonal matrix containing the singular values of A, and U and V are orthogonal matrices for performing orthogonal transformations. A
technique referred to in the art as Latent Semantic Indexing (LSI) such as that disclosed in U.S. Pat. No. 4,839,853, can be used to preprocess the corpus, and specifically to factorize the document-term matrix A as USV, where U gives the linear projection from term space to what might be called LSI or concept space. A few hundred LSI dimensions "k" suffice.
LSI search, however, does not use the U matrix, but the present invention does use the U matrix as follows. Each term is mapped to LSI
space, with each document being represented by a sequence of k-dimensional vectors. The query itself is transformed. into a short sequence of such vectors. Then, the documents are scanned, and the logic attempts to match the query vectors with a small window of vectors in the documents. If a low-cost (i.e., "good") match exists, a large vote goes to nearby citations, i.e., hyperlinks. The cost can be evaluated using a min-cost matching strategy, where the edge cast of matching the vectors corresponding to terms tl and t2 is simply the distance between their projections in U. As an example, the query "auto makers" may be matched at small cost to the sequence of text "companies making cars", voting for citations occurring near such similar phrases.
In contrast to LSI, the present invention maintains a sequence of LSI vectors for each document. In other words, the present invention, unlike LSI, considers matching LSI vector sequences and using the score to vote for neighbouring citations.
If desired, the process can return suggested search terms to the user at block 98. To determine these suggested terms, the logic sorts the terms having projections on the left vector (i.e., first column of "U") of the SVD determined in block 96 in order of decreasing values. The top "k"
terms in the sorted list are then returned at block 98, wherein "k" is a predetermined integer, e.g., five.
Claims (24)
1. A computer (12) including a data storage device including a computer usable medium (19,22) having computer usable code means for ranking documents in a set of documents in response to a query, the computer usable code means having:
computer readable code means for identifying a reference to a second document in a first document;
computer readable code means (30) for receiving a lexical distance, the lexical distance defining a number of document terms;
computer readable code means (28) for receiving a query including one or more query terms; and computer readable code means (40,42,44,46,48) for determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
computer readable code means for identifying a reference to a second document in a first document;
computer readable code means (30) for receiving a lexical distance, the lexical distance defining a number of document terms;
computer readable code means (28) for receiving a query including one or more query terms; and computer readable code means (40,42,44,46,48) for determining a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
2. A computer (12) as claimed in Claim 1, wherein the documents are accessible via a wide area computer network, and the reference includes a uniform resource listing(URL).
3. A computer (12) as claimed in Claim 2, wherein the lexical distance is established based on the query.
4. A computer (12) as claimed in Claim 2, further comprising computer readable code means (50) for ranking multiple documents based on respective numbers of times query terms are present within lexical distances of references in the documents.
5. A computer (12) as claimed in Claim 2, further comprising:
computer readable code means (52) for receiving a set "U" of documents;
computer readable code means (70) for, for at least one test document "u" in the set "U", defining as neighbour documents "N(u)"
documents in the set "U" that include at least one reference to the test document "u";
computer readable code means (76,78) for determining, for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and computer readable code means (80) for outputting a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
computer readable code means (52) for receiving a set "U" of documents;
computer readable code means (70) for, for at least one test document "u" in the set "U", defining as neighbour documents "N(u)"
documents in the set "U" that include at least one reference to the test document "u";
computer readable code means (76,78) for determining, for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and computer readable code means (80) for outputting a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
6. A computer (12) as claimed in Claim 5, wherein the means (80) for outputting increments a counter associated with the at least one document term when the at least one document term is within a predetermined distance of a reference to the test document "u".
7. A computer (12) as claimed in Claim 2, further comprising:
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
8. A computer (12) as claimed in Claim 7, wherein the correlation is associated with a weight, and the weight is based on the number of times the document term and a reference to the first document are within a predetermined distance of a query term in the set "U" of documents.
9. A computer program device comprising:
a computer program storage device (20) readable by a digital processing apparatus (12); and a program means on the program storage device and including instructions executable by the digital processing apparatus for performing method steps for finding key words in a set of documents, the method steps comprising:
identifying a reference to a second document in a first document;
receiving (30) a lexical distance, the lexical distance defining a number of document terms;
receiving (28) a query including one or more query terms; and determining (40,42,44,46,48) a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
a computer program storage device (20) readable by a digital processing apparatus (12); and a program means on the program storage device and including instructions executable by the digital processing apparatus for performing method steps for finding key words in a set of documents, the method steps comprising:
identifying a reference to a second document in a first document;
receiving (30) a lexical distance, the lexical distance defining a number of document terms;
receiving (28) a query including one or more query terms; and determining (40,42,44,46,48) a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
10. A computer program device as claimed in Claim 9, wherein the documents are accessible via a wide area computer network, and the reference includes a uniform resource listing(URL).
11. A computer program device as claimed in Claim 10, wherein the lexical distance is established based on the query.
12. A computer program device as claimed in Claim 10, wherein the method steps further comprise ranking (50) multiple documents based on respective numbers of times query terms are present within lexical distances of references in the documents.
13. A computer program device as claimed in Claim 10, wherein the method steps further comprise:
receiving (52) a set "U" of documents;
defining (70), for at least one test document "u" in the set "U", as neighbour documents "N(u)" documents in the set "U" that include at least one reference to the test document "u";
determining (76,78), for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and outputting (80) a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
receiving (52) a set "U" of documents;
defining (70), for at least one test document "u" in the set "U", as neighbour documents "N(u)" documents in the set "U" that include at least one reference to the test document "u";
determining (76,78), for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and outputting (80) a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
14. A computer program device as claimed in Claim 13, wherein the step of outputting (80) increments a counter associated with the at least one document term when the at least one document term is within a predetermined distance of a reference to the test document "u".
15. A computer program device as claimed in Claim 10, further comprising.
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
16. A computer program device as claimed in Claim 15, wherein the correlation is associated with a weight, and the weight is based on the number of times the document tern and a reference to the first document are within a predetermined distance of a query term in the set "U" of documents.
17. A method for ranking documents in a set of documents in response to a query, the method comprising the steps of:
identifying a reference to a second document in a first document;
receiving (30) a lexical distance, the lexical distance defining a number of document terms;
receiving (28) a query including one or more query terms; and determining (40,42,44,46,48) a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
identifying a reference to a second document in a first document;
receiving (30) a lexical distance, the lexical distance defining a number of document terms;
receiving (28) a query including one or more query terms; and determining (40,42,44,46,48) a number of times at least one of the query terms is present in the first document within the lexical distance of the reference to the second document, for ranking the documents based thereon.
18. A method as claimed in Claim 17, wherein the documents are accessible via a wide area computer network, and the reference includes a uniform resource listing(URL).
19. A method as claimed in Claim 18, wherein the lexical distance is established based on the query.
20. A method as claimed in Claim 18, wherein the method steps further comprise ranking (50) multiple documents based on respective numbers of times query terms are present within lexical distances of references in the documents.
21. A method as claimed in Claim 18, wherein the method steps further comprise:
receiving (52) a set "U" of documents;
defining (70), for at least one test document "u" in the set "U", as neighbour documents "N(u)" documents in the set "U" that include at least one reference to the test document "u";
determining (76,78), for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and outputting (80) a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
receiving (52) a set "U" of documents;
defining (70), for at least one test document "u" in the set "U", as neighbour documents "N(u)" documents in the set "U" that include at least one reference to the test document "u";
determining (76,78), for at least one document term in at least one neighbour document "N(u)", whether the at least one document term is within a predetermined distance of a reference in the neighbour document "N(u)" to the test document "u"; and outputting (80) a signal in response to the means for determining whether the at least one document term is within a predetermined distance of a reference.
22. A method as claimed in Claim 21, wherein the step of outputting (80) increments a counter associated with the at least one document term when the at least one document term is within a predetermined distance of a reference to the test document "u".
23. A method as claimed in Claim 18, further comprising:
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
computer readable code means (52) for receiving a set "U" of documents in response to a query including one or more query terms, each document containing one or more document terms; and computer readable code means (60,62) for defining a correlation between at least a first document and at least one document term when both the document term and a reference to the first document are within a predetermined distance of a query term in the at least one of the documents.
24. A method as claimed in Claim 23, wherein the correlation is associated with a weight, and the weight is based on the number of times the document term and a reference to the first document are within a predetermined distance of a query term in the set "U" of documents.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/058,635 US6125361A (en) | 1998-04-10 | 1998-04-10 | Feature diffusion across hyperlinks |
US09/058,635 | 1998-04-10 | ||
PCT/GB1999/000752 WO1999053418A1 (en) | 1998-04-10 | 1999-03-12 | Feature diffusion across hyperlinks |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2326153A1 CA2326153A1 (en) | 1999-10-21 |
CA2326153C true CA2326153C (en) | 2003-12-09 |
Family
ID=22018010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002326153A Expired - Lifetime CA2326153C (en) | 1998-04-10 | 1999-03-12 | Feature diffusion across hyperlinks |
Country Status (8)
Country | Link |
---|---|
US (1) | US6125361A (en) |
EP (1) | EP1070296B1 (en) |
CN (1) | CN1112647C (en) |
CA (1) | CA2326153C (en) |
DE (1) | DE69917250T2 (en) |
PL (1) | PL343403A1 (en) |
TW (1) | TW526432B (en) |
WO (1) | WO1999053418A1 (en) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760746B1 (en) | 1999-09-01 | 2004-07-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
US6640224B1 (en) * | 1997-12-15 | 2003-10-28 | International Business Machines Corporation | System and method for dynamic index-probe optimizations for high-dimensional similarity search |
FI981355A (en) * | 1998-06-11 | 1999-12-12 | Nokia Mobile Phones Ltd | Electronic file retrieval method and system |
US6338082B1 (en) | 1999-03-22 | 2002-01-08 | Eric Schneider | Method, product, and apparatus for requesting a network resource |
US7188138B1 (en) | 1999-03-22 | 2007-03-06 | Eric Schneider | Method, product, and apparatus for resource identifier registration and aftermarket services |
US9141717B2 (en) | 1999-03-22 | 2015-09-22 | Esdr Network Solutions Llc | Methods, systems, products, and devices for processing DNS friendly identifiers |
USRE43690E1 (en) | 1999-03-22 | 2012-09-25 | Esdr Network Solutions Llc | Search engine request method, product, and apparatus |
US8667051B2 (en) * | 1999-03-22 | 2014-03-04 | Esdr Network Solutions Llc | Real-time communication processing method, product, and apparatus |
US8037168B2 (en) | 1999-07-15 | 2011-10-11 | Esdr Network Solutions Llc | Method, product, and apparatus for enhancing resolution services, registration services, and search services |
US7065500B2 (en) * | 1999-05-28 | 2006-06-20 | Overture Services, Inc. | Automatic advertiser notification for a system for providing place and price protection in a search result list generated by a computer network search engine |
US6269361B1 (en) * | 1999-05-28 | 2001-07-31 | Goto.Com | System and method for influencing a position on a search result list generated by a computer network search engine |
US6430558B1 (en) * | 1999-08-02 | 2002-08-06 | Zen Tech, Inc. | Apparatus and methods for collaboratively searching knowledge databases |
US6321228B1 (en) * | 1999-08-31 | 2001-11-20 | Powercast Media, Inc. | Internet search system for retrieving selected results from a previous search |
USRE44207E1 (en) | 1999-09-01 | 2013-05-07 | Esdr Network Solutions Llc | Network resource access method, product, and apparatus |
US6697799B1 (en) * | 1999-09-10 | 2004-02-24 | Requisite Technology, Inc. | Automated classification of items using cascade searches |
US6324534B1 (en) | 1999-09-10 | 2001-11-27 | Requisite Technology, Inc. | Sequential subset catalog search engine |
US6907424B1 (en) | 1999-09-10 | 2005-06-14 | Requisite Technology, Inc. | Sequential subset catalog search engine |
US6389467B1 (en) | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US6883135B1 (en) | 2000-01-28 | 2005-04-19 | Microsoft Corporation | Proxy server using a statistical model |
US7010537B2 (en) * | 2000-04-27 | 2006-03-07 | Friskit, Inc. | Method and system for visual network searching |
US6912525B1 (en) * | 2000-05-08 | 2005-06-28 | Verizon Laboratories, Inc. | Techniques for web site integration |
US7080073B1 (en) | 2000-08-18 | 2006-07-18 | Firstrain, Inc. | Method and apparatus for focused crawling |
US7103838B1 (en) * | 2000-08-18 | 2006-09-05 | Firstrain, Inc. | Method and apparatus for extracting relevant data |
US6915294B1 (en) | 2000-08-18 | 2005-07-05 | Firstrain, Inc. | Method and apparatus for searching network resources |
US7308439B2 (en) * | 2001-06-06 | 2007-12-11 | Hyperthink Llc | Methods and systems for user activated automated searching |
US7043492B1 (en) | 2001-07-05 | 2006-05-09 | Requisite Technology, Inc. | Automated classification of items using classification mappings |
US7209913B2 (en) * | 2001-12-28 | 2007-04-24 | International Business Machines Corporation | Method and system for searching and retrieving documents |
US6996268B2 (en) * | 2001-12-28 | 2006-02-07 | International Business Machines Corporation | System and method for gathering, indexing, and supplying publicly available data charts |
US7565402B2 (en) * | 2002-01-05 | 2009-07-21 | Eric Schneider | Sitemap access method, product, and apparatus |
US7149697B2 (en) * | 2002-11-04 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Printer-based consumables price searching |
US7917483B2 (en) | 2003-04-24 | 2011-03-29 | Affini, Inc. | Search engine and method with improved relevancy, scope, and timeliness |
US20040220914A1 (en) * | 2003-05-02 | 2004-11-04 | Dominic Cheung | Content performance assessment optimization for search listings in wide area network searches |
US7428700B2 (en) | 2003-07-28 | 2008-09-23 | Microsoft Corporation | Vision-based document segmentation |
US7594011B2 (en) * | 2004-02-10 | 2009-09-22 | Narus, Inc. | Network traffic monitoring for search popularity analysis |
US7584221B2 (en) * | 2004-03-18 | 2009-09-01 | Microsoft Corporation | Field weighting in text searching |
US7487145B1 (en) * | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US7606793B2 (en) | 2004-09-27 | 2009-10-20 | Microsoft Corporation | System and method for scoping searches using index keys |
US7739277B2 (en) * | 2004-09-30 | 2010-06-15 | Microsoft Corporation | System and method for incorporating anchor text into ranking search results |
US7827181B2 (en) | 2004-09-30 | 2010-11-02 | Microsoft Corporation | Click distance determination |
US8595225B1 (en) * | 2004-09-30 | 2013-11-26 | Google Inc. | Systems and methods for correlating document topicality and popularity |
US7761448B2 (en) | 2004-09-30 | 2010-07-20 | Microsoft Corporation | System and method for ranking search results using click distance |
US7499940B1 (en) * | 2004-11-11 | 2009-03-03 | Google Inc. | Method and system for URL autocompletion using ranked results |
US20060106769A1 (en) | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US8195693B2 (en) | 2004-12-16 | 2012-06-05 | International Business Machines Corporation | Automatic composition of services through semantic attribute matching |
US7716198B2 (en) | 2004-12-21 | 2010-05-11 | Microsoft Corporation | Ranking search results using feature extraction |
US7792833B2 (en) | 2005-03-03 | 2010-09-07 | Microsoft Corporation | Ranking search results using language types |
US20060253476A1 (en) * | 2005-05-09 | 2006-11-09 | Roth Mary A | Technique for relationship discovery in schemas using semantic name indexing |
CN100338610C (en) * | 2005-06-22 | 2007-09-19 | 浙江大学 | Individual searching engine method based on linkage analysis |
US20070027751A1 (en) * | 2005-07-29 | 2007-02-01 | Chad Carson | Positioning advertisements on the bases of expected revenue |
US7599917B2 (en) | 2005-08-15 | 2009-10-06 | Microsoft Corporation | Ranking search results using biased click distance |
WO2007041688A1 (en) * | 2005-10-04 | 2007-04-12 | Thomson Global Resources | Systems, methods, and software for identifying relevant legal documents |
US20070124280A1 (en) * | 2005-11-27 | 2007-05-31 | Tony Tateossian | Search Engine which awards Point per Click |
US8095565B2 (en) * | 2005-12-05 | 2012-01-10 | Microsoft Corporation | Metadata driven user interface |
US8010523B2 (en) | 2005-12-30 | 2011-08-30 | Google Inc. | Dynamic search box for web browser |
US8725729B2 (en) | 2006-04-03 | 2014-05-13 | Steven G. Lisa | System, methods and applications for embedded internet searching and result display |
US20090055242A1 (en) * | 2007-08-24 | 2009-02-26 | Gaurav Rewari | Content identification and classification apparatus, systems, and methods |
US20090055368A1 (en) * | 2007-08-24 | 2009-02-26 | Gaurav Rewari | Content classification and extraction apparatus, systems, and methods |
US7716228B2 (en) * | 2007-09-25 | 2010-05-11 | Firstrain, Inc. | Content quality apparatus, systems, and methods |
US9348912B2 (en) | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
US7840569B2 (en) | 2007-10-18 | 2010-11-23 | Microsoft Corporation | Enterprise relevancy ranking using a neural network |
US8099417B2 (en) * | 2007-12-12 | 2012-01-17 | Microsoft Corporation | Semi-supervised part-of-speech tagging |
US8201075B2 (en) * | 2008-02-29 | 2012-06-12 | Research In Motion Limited | Enhanced browser navigation |
US8812493B2 (en) | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US8312032B2 (en) | 2008-07-10 | 2012-11-13 | Google Inc. | Dictionary suggestions for partial user entries |
CN101639857B (en) * | 2009-04-30 | 2012-12-05 | 腾讯科技(深圳)有限公司 | Method, device and system for establishing knowledge questioning and answering sharing platform |
US8996550B2 (en) | 2009-06-03 | 2015-03-31 | Google Inc. | Autocompletion for partially entered query |
US8339094B2 (en) * | 2010-03-11 | 2012-12-25 | GM Global Technology Operations LLC | Methods, systems and apparatus for overmodulation of a five-phase machine |
US11367295B1 (en) | 2010-03-23 | 2022-06-21 | Aurea Software, Inc. | Graphical user interface for presentation of events |
US10546311B1 (en) | 2010-03-23 | 2020-01-28 | Aurea Software, Inc. | Identifying competitors of companies |
US10643227B1 (en) | 2010-03-23 | 2020-05-05 | Aurea Software, Inc. | Business lines |
US8805840B1 (en) | 2010-03-23 | 2014-08-12 | Firstrain, Inc. | Classification of documents |
AU2011258449B2 (en) | 2010-05-25 | 2015-06-11 | Mark F. Mclellan | Active search results page ranking technology |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
US8793706B2 (en) | 2010-12-16 | 2014-07-29 | Microsoft Corporation | Metadata-based eventing supporting operations on data |
US8782042B1 (en) | 2011-10-14 | 2014-07-15 | Firstrain, Inc. | Method and system for identifying entities |
US8433719B1 (en) | 2011-12-29 | 2013-04-30 | Google Inc. | Accelerating find in page queries within a web browser |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US8977613B1 (en) | 2012-06-12 | 2015-03-10 | Firstrain, Inc. | Generation of recurring searches |
US10592480B1 (en) | 2012-12-30 | 2020-03-17 | Aurea Software, Inc. | Affinity scoring |
CN104036045B (en) * | 2014-07-01 | 2018-04-03 | 彩带网络科技(北京)有限公司 | A kind of information analysis method and service platform |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3108015B2 (en) * | 1996-05-22 | 2000-11-13 | 松下電器産業株式会社 | Hypertext search device |
US5802515A (en) * | 1996-06-11 | 1998-09-01 | Massachusetts Institute Of Technology | Randomized query generation and document relevance ranking for robust information retrieval from a database |
US5920859A (en) * | 1997-02-05 | 1999-07-06 | Idd Enterprises, L.P. | Hypertext document retrieval system and method |
AU3484897A (en) * | 1996-06-17 | 1998-01-07 | Idd Enterprises, L.P. | Hypertext document retrieval system and method |
US5920854A (en) * | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US5875446A (en) * | 1997-02-24 | 1999-02-23 | International Business Machines Corporation | System and method for hierarchically grouping and ranking a set of objects in a query context based on one or more relationships |
US5845278A (en) * | 1997-09-12 | 1998-12-01 | Inioseek Corporation | Method for automatically selecting collections to search in full text searches |
US5953718A (en) * | 1997-11-12 | 1999-09-14 | Oracle Corporation | Research mode for a knowledge base search and retrieval system |
-
1998
- 1998-04-10 US US09/058,635 patent/US6125361A/en not_active Expired - Lifetime
-
1999
- 1999-02-09 TW TW088101973A patent/TW526432B/en not_active IP Right Cessation
- 1999-03-12 WO PCT/GB1999/000752 patent/WO1999053418A1/en active IP Right Grant
- 1999-03-12 PL PL99343403A patent/PL343403A1/en unknown
- 1999-03-12 DE DE69917250T patent/DE69917250T2/en not_active Expired - Lifetime
- 1999-03-12 EP EP99907779A patent/EP1070296B1/en not_active Expired - Lifetime
- 1999-03-12 CA CA002326153A patent/CA2326153C/en not_active Expired - Lifetime
- 1999-03-12 CN CN99804913A patent/CN1112647C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69917250D1 (en) | 2004-06-17 |
EP1070296B1 (en) | 2004-05-12 |
CN1296589A (en) | 2001-05-23 |
CN1112647C (en) | 2003-06-25 |
TW526432B (en) | 2003-04-01 |
EP1070296A1 (en) | 2001-01-24 |
US6125361A (en) | 2000-09-26 |
WO1999053418A1 (en) | 1999-10-21 |
DE69917250T2 (en) | 2006-03-23 |
PL343403A1 (en) | 2001-08-13 |
CA2326153A1 (en) | 1999-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2326153C (en) | Feature diffusion across hyperlinks | |
Cutler et al. | Using the Structure of {HTML} Documents to Improve Retrieval | |
Li | Toward a qualitative search engine | |
US8095487B2 (en) | System and method for biasing search results based on topic familiarity | |
Lin et al. | Extracting classification knowledge of Internet documents with mining term associations: a semantic approach | |
US5926808A (en) | Displaying portions of text from multiple documents over multiple databases related to a search query in a computer network | |
Delort et al. | Enhanced web document summarization using hyperlinks | |
AU2005203238B2 (en) | Phrase-based searching in an information retrieval system | |
US7392238B1 (en) | Method and apparatus for concept-based searching across a network | |
US8856145B2 (en) | System and method for determining concepts in a content item using context | |
EP1622055B1 (en) | Phrase-based indexing in an information retrieval system | |
US7716216B1 (en) | Document ranking based on semantic distance between terms in a document | |
US20140156647A1 (en) | Phrase-based detection of duplicate documents in an information retrieval system | |
US20080319971A1 (en) | Phrase-based personalization of searches in an information retrieval system | |
Attardi et al. | Categorisation by Context. | |
US7024405B2 (en) | Method and apparatus for improved internet searching | |
Cutler et al. | A new study on using HTML structures to improve retrieval | |
WO2008127263A1 (en) | Methods and systems for formulating and executing concept-structured queries of unorganized data | |
Cruz et al. | Measuring structural similarity among web documents: preliminary results | |
Koolen et al. | Wikipedia pages as entry points for book search | |
Yamamoto et al. | Rerank-by-example: Efficient browsing of web search results | |
Gurrin et al. | Dublin City University experiments in connectivity analysis for TREC-9. | |
EP1672544A2 (en) | Improving text search quality by exploiting organizational information | |
Zhang et al. | Cala: A web analysis algorithm combined with content correlation analysis method | |
Hyusein et al. | Web document indexing and retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20190312 |