System for ranking the relevance of information objects accessed by computer users
Claim Score by NHIP
Abstract
Information presented to a user via an information access system is ranked according to a prediction of the likely degree of relevance to the user's interests. A profile of interests is stored for each user having access to the system. Items of information to be presented to a user are ranked according to their likely degree of relevance to that user and displayed in order of ranking. The prediction of relevance is carried out by combining data pertaining to the content of each item of information with other data regarding correlations of interests between users. A value indicative of the content of a document can be added to another value which defines user correlation, to produce a ranking score for a document. Alternatively, multiple regression analysis or evolutionary programming can be carried out with respect to various factors pertaining to document content and user correlation, to generate a prediction of relevance. The user correlation data is obtained from feedback information provided by users when they retrieve items of information. Preferably, the user provides an indication of interest in each document which he or she retrieves from the system.

Term
Term ended
Expired 25 April 2014, 12.4 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
104 claims: 17 independent, 87 dependent
- 1In a computerized information access system, a method for presenting items of information to users, comprising the steps of:a) storing user profiles for users having access to the system, where each user profile is based, at least in part, on the attributes of information the user finds to be of interest;b) determining an attribute-based relevance factor for an item of information which is indicative of the degree to which an attribute of that item of information matches the profile for a particular user;c) determining a measure of correlation between the particular user's interests and those of other users who have accessed said item of information;d) combining said relevance factor and said degree of correlation to produce a ranking score for said item of information;e) repeating steps b, c and d for each item of information to be presented to said particular user;and f) displaying the items of information to the user in accordance with their ranking scores.
- 14A computer-based information access system, comprising:a first database containing items of information to be provided to users of said system;means for enabling users to indicate their degree of interest in particular items of information stored in said first database;means for determining the correlation between the indicated interests of respective users and for storing information related thereto;and means for predicting a given user's likely degree of interest in a particular item of information on the basis of said information relating to the determined correlation and at least one attribute of the item of information.
- 28Broadest claimClaim Score 71, broad(NHIP)A method for displaying items of information to users, comprising the steps of:determining a relevance factor for an item of information, based upon an attribute of the item of information;defining a relationship between the interests of a given user and those of other users;determining a correlation factor for the item of information, based upon said defined relationship;combining said relevance factor and said correlation factor to produce a ranking score for the item of information;and displaying the item of information to the given user in accordance with its ranking score.
- 31A method of presenting documents from a document collection to a user, the method comprising:storing a user profile vector for the user, the user profile vector in a vector space derived from terms contained in the document collection and including a plurality of weights, each weight associated with a term in the document collection;selecting a plurality of documents from the document collection, each document associated with a document vector in the term vector space;for each selected document: determining a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;determining a correlation score between the user and other users corresponding to the selected document;and combining the relevance score and the correlation score to determine a final ranking score for the selected document;and presenting the selected documents to the user according to the final ranking scores.
- 37A computer program product for presenting documents from a document collection to a user, the computer program product stored on a computer readable medium and adapted to perform a method comprising:storing a user profile vector for the user, the user profile vector in a vector space derived from terms contained in the document collection and including a plurality of weights, each weight associated with a term in the document collection;selecting a plurality of documents from the document collection, each document associated with a document vector in the term vector space;for each selected document: determining a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;determining a correlation score between the user and other users corresponding to the selected document;and combining the relevance score and the correlation score to determine a final ranking score for the selected document;and presenting the selected documents to the user according to the final ranking scores.
- 43A system for presenting documents to a user, the documents each associated with a document vector in a vector space and stored in a document database coupled to the system, the system comprising:a user database storing a user profile vector for the user, the user profile vector in the vector space derived from terms contained in the document database and including a plurality of weights, each weight associated with a term in the document collection;and a server coupled to the user database and the document database for selecting documents from the document database, wherein the server: determines, for each selected document, a relevance score, the relevance score based on a relationship between the user profile vector and the document vector associated with the selected document;determines, for each selected document, a correlation score between the user and other users corresponding to the selected document;combines, for each selected document, the relevance score and the correlation score to determine a final ranking score for the selected document;and presents the selected documents to the user according to the final ranking scores.
- 49A method of presenting information items from an information item collection to a user, the method comprising:storing a user profile vector for the user, the user profile vector in a vector space derived from attributes in the information item collection and including a plurality of weights, each weight associated with an attribute in the information item collection;selecting a plurality of information items from the information item collection, each information item associated with an information item vector in the attribute vector space;for each selected information item: determining a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;determining a correlation score between the user and other users corresponding to the selected information item;and combining the relevance score and the correlation score to determine a final ranking score for the selected information item;and presenting the selected information items to the user according to the final ranking scores.
- 55A computer program product for presenting information items from an information item collection to a user, the computer program product stored on a computer readable medium and adapted to perform a method comprising:storing a user profile vector for the user, the user profile vector in a vector space derived from attributes contained in the information item collection and including a plurality of weights, each weight associated with an attribute in the information item collection;selecting a plurality of information items from the information item collection, each information item associated with an information item vector in the attribute vector space;for each selected information item: determining a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;determining a correlation score between the user and other users corresponding to the selected information item;and combining the relevance score and the correlation score to determine a final ranking score for the selected information item;and presenting the selected information items to the user according to the final ranking scores.
- 61A system for presenting information items to a user, the information items each associated with an information item vector in the attribute vector space and stored in an information item database coupled to the system, the system comprising:a user database storing a user profile vector for the user, the user profile vector in a vector space derived from attributes contained in the information item database and including a plurality of weights, each weight associated with an attribute in the information item collection;and a server coupled to the user database and the information item database for selecting information items from the information item database, wherein the server: determines, for each selected information item, a relevance score, the relevance score based on a relationship between the user profile vector and the information item vector associated with the selected information item;determines, for each selected information item, a correlation score between the user and other users corresponding to the selected information item;combines, for each selected information item, the relevance score and the correlation score to determine a final ranking score for the selected information item;and presents the selected information items to the user according to the final ranking scores.
- 67A method of presenting documents from a document collection to a user, the method comprising:storing a user profile for the user, the user profile including terms contained in the document collection and weights respectively associated with the terms;selecting a plurality of documents from the document collection, each document associated with a document profile, the document profile including terms contained in its associated document;for each selected document: determining a relevance score, the relevance score based on a relationship between the user profile and the document profile associated with the selected document;determining a correlation score between the user and other users corresponding to the selected document;and combining the relevance score and the correlation score to determine a final ranking score for the selected document;and presenting the selected documents to the user according to the final ranking scores.
- 70A method comprising:storing a user profile for a user, the user profile including terms contained in a document collection and weights respectively associated with the terms;selecting a plurality of documents from the document collection, each document associated with a document profile, the document profile including terms contained in its associated document;for each selected document: determining a relevance score, the relevance score based on a relationship between the user profile and the document profile associated with the selected document;determining a correlation score between the user and other users corresponding to the selected document;and combining the relevance score and the correlation score to determine a final ranking score for the selected document;and presenting one or more recommendations to the user based on the final ranking scores.
- 72A method of presenting documents received from a document collection to a user, the method comprising:retrieving a user profile vector associated with the user, the user profile vector in a vector space derived from terms in the document collection;receiving a plurality of documents from the document collection, each document having a document vector in the vector space;for each received document: determining a relevance score for the document by a vector operation comparing the user profile vector and the document vector;and determining a correlation score between the user and other users corresponding to the document;and ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
- 82A computer program product for presenting documents received from a document collection to a user, the computer program product stored on a computer readable medium and configured to perform a method comprising:retrieving a user profile vector associated with the user, the user profile vector in a vector space derived from terms in the document collection;receiving a plurality of documents from the document collection, each document having a document vector in the vector space;for each received document: determining a relevance score for the document by a vector operation comparing the user profile vector and the document vector;and determining a correlation score between the user and other users corresponding to the document;and ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
- 92A system for presenting documents to a user, the documents each having a document vector in a vector space and stored in a document database coupled to the system, the system comprising:a user database storing a user profile vector associated with the user, the user profile vector in the vector space derived from terms in the document database;a server coupled to the document database and the user database, the server receiving documents from the document database and determining a relevance score for each of the received documents by a vector operation comparing the user profile vector and the document vector and determining a correlation score for each of the received documents between the user and other users corresponding to the document and ranking the received documents based on a combination of each received document's relevance score and correlation score for presentation to the user.
- 102A method of presenting information items from an information item collection to a user, the method comprising:accessing a user profile associated with the user;for each information item in the information item collection: determining a relevance score for the information item based on a relationship between the user profile and the information item;and determining a correlation score between the user and other users corresponding to the information item;and ranking the information items based on a combination of each information item's relevance score and correlation score for presentation to the user.
- 103A computer program product for presenting information items from an information item collection to a user, the computer program product stored on a computer readable medium and configured to perform a method comprising:accessing a user profile associated with the user;for each information item in the information item collection: determining a relevance score for the information item based on a relationship between the user profile and the information item;and determining a correlation score between the user and other users corresponding to the information item;and ranking the information items based on a combination of each information item's relevance score and correlation score for presentation to the user.
- 104A system for presenting information items to a user, the information items stored in an information item database coupled to the system, the system comprising:a user database storing a user profile associated with the user;a server coupled to the information item database and the user database, the server identifying information items from the information item database and determining a relevance score for each of the identified information items based on a relationship between the user profile and the information item and determining a correlation score for each of the identified information items between the user and other users corresponding to the information item and ranking the identified information items based on a combination of each identified information item's relevance score and correlation score for presentation to the user.
Independent claims17
52 paragraphs in 5 sections, as filed
More than one reissue application has been filed for the reissue of U.S. Pat. No. <b>6</b>,<b>202</b>,<b>058</b>: the reissue applications are (i) application Ser. No. <b>10</b>/<b>388</b>,<b>362</b> (<i>the present application</i>) <i>filed on Mar. <b>12</b>, <b>2003</b>, </i>(<i>ii</i>) <i>application Ser. No. <b>11</b>/<b>499</b>,<b>819</b></i>(<i>now abandoned</i>) <i>filed on Aug. <b>3</b>, <b>2006</b> which is a divisional reissue application of application Ser. No. <b>10</b>/<b>388</b>,<b>362</b>, and </i>(<i>iii</i>) <i>application Ser. No. <b>11</b>/<b>499</b>,<b>820</b></i>(<i>now abandoned</i>) <i>filed on Aug. <b>3</b>, <b>2006</b> which is also a divisional reissue application of application Ser. No. <b>10</b>/<b>388</b>,<b>362</b>.</i>
FIELD OF THE INVENTION
The present inversion is directed to information access in multiuser computer systems, and more particularly to a system for ranking the relevance of information that is accessed via a computer.
BACKGROUND OF THE INVENTION
The use of computers to obtain and/or exchange information is becoming quite widespread. Currently, there are three prevalent types of systems that can be employed to distribute information via computers. One of these systems comprises electronic mail, also known as e-mail, in which a user receives messages, such as documents, that have been specifically sent to his or her electronic mailbox. Typically, to receive the documents, no explicit action is required on the user's part, except to access the mailbox itself. In most systems, the user is informed whenever new messages have been sent to his or her mailbox, enabling them to be read in a timely fashion.
Another medium that is used to distribute information is an electronic bulletin board system. In such a system, users can post documents or files to directories corresponding to specific topics, where they can be viewed by other users who need not be explicitly designated. In order to view the documents, the other users must actively select and open the directories containing topics of interest. Articles and other items of information posted to bulletin board systems typically expire after some time period, and are then deleted.
The third form of information exchange is by means of text retrieval from static data bases, which are typically accessed through dial-up services. A group of users, or a service bureau, can place documents of common interest on a file server. Using a text searching tool, individual users can locate documents matching a specific topical query. Some services of this type enable users to search personal databases, as well as databases of other users.
As the use of these types of systems becomes ever more common, the amount of information presented to users can reach the point of becoming unmanageable. For example, users of electronic mail services are increasingly finding that they receive more mail than they can usefully handle. Part of this problem is due to the fact that junk mail of no particular interest is regularly sent in bulk to lists of user accounts. In order to view messages of interest, the user may be required to sift through a large volume of undesirable mail.
Similarly, in bulletin board systems, the number of documents in a particular topical category at any given time can be quite significant. The user must try to identify documents of interest on the basis of cryptic titles. As a result, an opportunity to view documents that are critically relevant may be missed if the user cannot take the time to view all documents in the category.
Along similar lines, in a text retrieval system, a broadly framed query can result in the identification of a large number of documents for the user to view. In an effort to reduce the number of documents, the user may modify the query to narrow its scope. In doing so, however, documents of interest may be eliminated because they do not exactly match the modified query.
In the past, some information access systems, particularly e-mail systems, have provided the user with the ability to have incoming information filtered, so that only items of interest would be presented to the user. The filtering was carried out on the basis of objective criteria specified by the user. Any messages not meeting the filtering criteria would be blocked. There is always the danger in such an objective approach that potentially relevant items of information can be missed. It is desirable, therefore, to employ a system for predicting the likely relevance of items of information to a particular user, so that the items of interest can be ranked and the need to deal with large amounts of irrelevant information can be avoided.
Some types of relevance predictors have already been proposed. For example, the contents of a document can be examined to make a determination as to whether a user might find that document to be of interest, based on user-supplied information. While approaches of this type have some utility, they are limited because the prediction of relevance is made only on the basis of one attribute, e.g., word content. It is desirable to improve upon existing relevance predicting techniques, and provide a system which takes into account a variety of attributes that are relevant to a user's likely interest in a particular item of information. In this regard, it is particularly desirable to provide an information relevance predicting technique which utilizes community feedback as one of the factors in the prediction.
SUMMARY OF THE INVENTION
In accordance with the present invention, information to be presented to a user via an information access system is ranked according to a prediction of the likely degree of relevance to the user's interests. A profile of interests is stored for each user having access to the system. Using this profile, items of information to be presented to the user, e.g., messages in an electronic mail network or documents within a particular bulletin board category, are ranked according to their likely degree of relevance and displayed with an indication of their relative ranking. For example, they can be displayed in order of rank.
The prediction of relevance is carried out by combining data pertaining to one or more attributes of each item of information with other data regarding correlations of interests between users. For example, a value indicative of the content of a document can be added to another value which defines user correlation, to produce a ranking score for a document. Other information evaluation techniques, such as multiple regression analysis or evolutionary programming, can alternatively be employed to evaluate various factors pertaining to document content and user correlation, and thereby generate a prediction of relevance.
The user correlation data is obtained through feedback information provided by users when they retrieve items of information. Preferably, the user provides an indication of interest in each document which he or she retrieves from the system.
The relevance predicting technique of the present invention is applicable to all different types of information access systems. For example, it can be employed to filter messages provided to a user in an electronic mail system and search results obtained through an on-line text retrieval service. Similarly, it can be employed to route relevant documents to users in a bulletin board system.
The foregoing features of the invention, as well as the advantages offered thereby, are explained in greater detail hereinafter with reference to exemplary implementations illustrated in the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a general diagram of the hardware architecture of one type of information access system in which the present invention can be implemented;
<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of an exemplary software architecture for a server program;
<figref idref="DRAWINGS">FIG. 3</figref> is an example of an interface window for presenting a sorted list of messages to a user;
<figref idref="DRAWINGS">FIG. 4</figref> is an example of an interface window for presenting the contents of a message to a user;
<figref idref="DRAWINGS">FIG. 5A</figref> is a graph of content vectors for two documents in a two-term space;
<figref idref="DRAWINGS">FIG. 5B</figref> is a graph of user profile vectors in a two-term space;
<figref idref="DRAWINGS">FIG. 6</figref> illustrates the generation of a correlation chart; and
<figref idref="DRAWINGS">FIG. 7</figref> is an example of an interface window for a movie recommendation database.
DETAILED DESCRIPTION
To facilitate an understanding of the principles of the present invention, they are described hereinafter with reference to the implementation of the invention in a system having multiple personal computers that are connected via a network. It will be appreciated, however, that the practical applications of the invention are not limited to this particular environment. Rather, the invention can find utility in any situation which provides for computer access to information. For example, it is equally applicable to other types of multiuser computer systems, such as mainframe and mini-computer systems in which many users can have simultaneous access to the same computer.
The present invention can be employed in various kinds of information access systems, such as electronic mail, bulletin board, text search and others. Depending upon the type of system, a variety of different types of information might be available for access by users. In addition to more conventional types of information that are immediately interpretable by a person, such as text, graphics and sound, for example, the accessible information might also include data and/or software objects, such as scripts, rules, data objects in an object-oriented programming environment, and the like. For ease of understanding, in the following description, the term “message” is employed in a generic manner to refer to each item of information that is provided by and accessible to users, whether or not its contents can be readily comprehended by the person receiving it. A message, therefore, can be a memorandum or note that is addressed from one user of an electronic mail system to another, a textual and/or graphical document, or a video clip. A message can also be a data structure or any other type of accessible information.
One example of a hardware architecture for an information access system implementing the present invention is illustrated in FIG. <b>1</b>. The specific hardware arrangement does not form part of the invention itself. Rather, it is described herein to facilitate an understanding of the manner in which the features of the invention interact with the other components of an information access system. The illustrated architecture comprises a client-server arrangement, in which a database of information is stored at a server computer <b>10</b>, and is accessible through various client computers <b>12</b>, <b>14</b>. The server <b>10</b> can be any suitable micro, mini or mainframe computer having sufficient storage capacity to accommodate all of the items of information to be presented to users. The client computers can be suitable desktop computers <b>12</b> or portable computers <b>14</b>, e.g., notebook computers, having the ability to access the server computer <b>10</b>. Such access might be provided, for example, via a local area network or over a wide area through the use of modems, telephone lines, and/or wireless communications.
Each client computer is associated with one or more users of the information access system. It includes a suitable communication program that enables the user to access messages stored at the server machine. More particularly, the client program may request the user to provide a password or the like, by means of which the user is identified to the server machine. Once the user has been identified as having authorized access to the system, the client and server machines exchange information through suitable communication protocols.
One particular type of information access system in which the present can be utilized is described in detail hereinafter. It will be appreciated that this description is for exemplary purposes only, and that the practical applications of the invention are not limited to this particular embodiment.
The general architecture of a server program for an information access system is illustrated in block diagram form in FIG. <b>2</b>. Referring thereto, at the highest level the server program contains a message server <b>16</b>. The message server carries out communications with each of the clients, for example over a network, and retrieves information from two databases, a user database <b>18</b> and a message database <b>20</b>. The user database <b>18</b> contains a profile for each of the system's users, as described in greater detail hereinafter. The message database contains stored messages <b>22</b> supplied by and to users of the database. In addition, the message database has associated therewith an index <b>24</b>, which provides a representation of each of the stored messages <b>22</b>, for example its title. The index can contain other information pertinent to the stored messages as well.
In the operation of the system, when a user desires to retrieve messages, the user accesses the system through the client program on one of the client machines <b>12</b>, <b>14</b>. As part of the access procedure, the user may be required to log into the system. Through the use of a password or other appropriate form of identification, the user's identity is provided to the server <b>10</b>, which acknowledges the user's right to access the system or disconnects the client machine if the user has not been authorized. When the access procedure is successful, the message server <b>16</b> on the server machine retrieves the user's profile from the user database <b>18</b>. This profile is used to rank the messages stored within the system. The particular information within the user's profile is based upon a ranking technique that is described in detail hereinafter. Once the user's profile is retrieved, all of the messages to be provided to the user are ranked on the basis of a predicted degree of relevance to the user. For example, in an e-mail system, all of the messages addressed to that user are ranked. Those messages which are particularly pertinent to the user's interests are highly ranked, whereas junk mail messages are given a low ranking.
A list of the ranked messages is provided to the client program, which displays some number of them through a suitable interface. Preferably, the messages are sorted and displayed in order from the highest to the lowest ranking. One example of such an interface is illustrated in FIG. <b>3</b>. Referring thereto, the interface comprises a window <b>26</b> containing a number of columns of information. The left hand column <b>28</b> indicates the relative ranking score of each message, for example in the form of a horizontal thermometer-type bar <b>30</b>. The remaining columns can contain other types of information that may assist the user in determining whether to retrieve a particular message, such as the date on which the message was posted to the system, the message's author, and the title of the message. The information that is displayed within the window can be stored as part of the index <b>24</b>. If the number of messages is greater than that which can be displayed in a single window, the window can be provided with a scroll bar <b>32</b> to enable the user to scroll through and view all of the message titles.
Other display techniques can be employed in addition to, or in lieu of, sorting the messages in order of rank. For example, the color, size and/or intensity of each displayed message can be varied in accordance with its predicted relevance.
When the user desires to view any particular message, the desired message is selected within the window, using any suitable technique for doing so. Once a message has been selected by the user, the client program informs the server <b>10</b> of the selected message. In response thereto, the server retrieves the complete text of the message from the stored file <b>22</b>, and forwards it to the client, where it is displayed.
An example of an interface for the display of a message is illustrated in FIG. <b>4</b>. Referring thereto, the message can be displayed in an appropriate window <b>34</b>. The contents of the message, e.g., its text, is displayed in the main portion of the window. Located above this main portion is header <b>36</b> which contains certain information regarding the message. For example, the header can contain the same information as provided in the columns shown in the interface of <figref idref="DRAWINGS">FIG. 3</figref>, i.e., author, date and title. Located to the right of this information are two icons which permit the user to indicate his or her interest in that particular message. If the user found the message to be of interest, a “thumbs-up” icon <b>38</b> can be selected. Alternatively, if the message was of little of no interest to the user, a “thumbs-down” icon <b>40</b> can be selected. When either of these two icons is selected, the indication provided thereby is forwarded to the server <b>10</b>, where it is used to update the user profile.
In the example of <figref idref="DRAWINGS">FIG. 4</figref>, the user is provided with only two possible selections for indicating interest, i.e., “thumbs-up” or “thumbs-down”, resulting in very coarse granularity for the indication of interest. If desired, finer resolution can be obtained by providing additional options for the user. For example, three options can be provided to enable the user to indicate high interest, mediocre interest, or minimal interest.
Preferably, in order to obtain reliable information about each user, it is desirable to have the user provide an indication of degree of interest for each message which has been retrieved. To this end, the interface provided by the client program can be designed such that the window <b>34</b> containing the content of the message, as illustrated in <figref idref="DRAWINGS">FIG. 4</figref>, cannot be closed unless one of the options is selected. More particularly, the window illustrated in <figref idref="DRAWINGS">FIG. 4</figref> does not include a conventional button or the like for enabling the window to be closed. To accomplish this function, the user is required to select one of the two icons <b>38</b> or <b>40</b> which indicates his or her degree of interest in the message. When one of the icons is selected, the window is closed and the message disappears from the screen. With this approach, each time a message is retrieved, feedback information regarding the user's degree of interest is obtained, to thereby maintain an up-to-date profile for the user.
Depending upon the particular information access system that is being used, the type of information presented to the user may vary. In the embodiment illustrated in <figref idref="DRAWINGS">FIGS. 1 and 2</figref>, all items of information available to users can be stored in a single database <b>22</b>. If desired, multiple databases directed to specific categories of information can be provided. For example, a separately accessible database of movie descriptions can be provided, to make movie recommendations to users. Each separate database can have its own profile for users who access that database. Thus, each time a user sees a movie, he or she can record his or her reaction to it, e.g., like or dislike. This information is used to update the user's profile for the movie database, as well as provide information to rank that movie for viewing by other users whose interests in movies are similar or opposed. An example of a user interface for presenting this information is shown in FIG. <b>7</b>. Referring thereto, it can be seen that the title of each movie is accompanied by a recommendation score <b>46</b>. This particular example also illustrates a different technique for quantifying the relevance ranking of each item. Specifically, the scores <b>46</b> are negative as well as positive. This approach may be more desirable for certain types of information, for example, to provide a clearer indication that the viewer will probably dislike certain movies. The values that are used for the ranking display can be within any arbitrarily chosen range.
Traditionally, the ranking of messages was based only on the content of the messages. In accordance with the present invention, however, the ranking of messages is carried out by combining data based upon an attribute of the message, for example its content, with other data relating to correlations of indications provided by users who have retrieved the message. To derive the content-based data, certain elements of the message, e.g., each word in a document, can be assigned a weight, based on its statistical importance. Thus, for example, words which frequently occur in a particular language are given a low weight value, while those which are rarely used have a high weight value. The weight value for each term is multiplied by the number of times that term occurs in the document. Referring to <figref idref="DRAWINGS">FIG. 5A</figref>, the results of this procedure is a vector of weights, which represents the content of the document.
For non-document types of information, the content data can be based upon other attributes that are relevant to a user's interest in that information. For example, in the movie database, the content vector might take into account the type of movie, such as action or drama, the actors, its viewer category rating, and the like.
The example of <figref idref="DRAWINGS">FIG. 5A</figref> illustrates a two-dimensional vector for each of two documents. In practice, of course, the vectors for information content would likely have hundreds or thousands of dimensions, depending upon the number of terms that are monitored. For further information regarding the computation of vector models for indexing text, reference is made to Introduction To Modern Information Retrieval by Gerald Salton and Michael J. McGill (McGraw-Hill 1983), which is incorporated herein by reference.
Each user profile also comprises a vector, based upon the user's indications as to his or her relative interest in previously retrieved documents. Each time a user provides a new response to a retrieved message, the profile vector is modified in accordance with the results of the indication. For example, if the user indicates interest in a document, all of the significant terms in that document can be given increased weight in the user's profile.
Each user in the system will have at least one profile, based upon the feedback information received each time the user accesses the system. If desirable, a single user might have two or more different profiles for different task contexts. For example, a user might have one profile for work-related information and a separate profile for messages pertaining to leisure and hobbies.
One factor in the prediction of a user's likely interest in a particular piece of information can be based on the similarity between the document's vector and the user's profile vector. For example, as shown in <figref idref="DRAWINGS">FIG. 5B</figref>, a score of a document's relevance can be indicated by the cosine of the angle between the document's vector and the user's profile vector. A document having a vector which is close to that of the user's profile will be highly ranked, whereas those which are significantly different will have a lower ranking.
A second factor in the prediction of a user's interest in information is based upon a correlation with the indications provided by other users. Referring to <figref idref="DRAWINGS">FIG. 6</figref>, each time a user retrieves a document and subsequently provides an indication of interest, the result can be stored in a table <b>42</b>. From this table, a correlation matrix R can be generated, whose entries indicate the degree of correlation between the various users' interests in commonly retrieved messages. More precisely, element R<sub>ij </sub>contains a measure of correlation between the i-th user and the j-th user. One example of such a matrix is the correlation matrix illustrated at <b>44</b> in FIG. <b>6</b>. In this example, only the relevant entries are shown. That is, the correlation matrix is symmetric, and the diagonal elements do not provide any additional information for ranking purposes.
Subsequently, when a user accesses the system, the feedback table <b>42</b> and the correlation matrix <b>44</b> are used as another factor in the prediction of the likelihood that the user will be interested in any given document. As one example of an algorithm that can be used for this purpose, a prediction score, P<sub>ij </sub>for the i-th user regarding the j-th document, can be computed as: <maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mrow><msub><mi>P</mi><mi>ij</mi></msub><mo>=</mo><mrow><munder><mo>∑</mo><mrow><mrow><mi>k</mi><mo>≠</mo><mi>i</mi></mrow><mo>,</mo><mi>j</mi></mrow></munder><mo></mo><mrow><msub><mi>R</mi><mi>ik</mi></msub><mo></mo><msub><mi>V</mi><mi>kj</mi></msub></mrow></mrow></mrow></math></maths><img file="USRE41899E_D0001.tif" /><br /> where R<sub>ik </sub>is the correlation of users i and k, the V<sub>kj </sub>is the weight indicating the feedback of user k on document j. Thus, for the corresponding data in <figref idref="DRAWINGS">FIG. 6</figref>, the prediction score for User C regarding Document 1 is as follows: <br />(0.00*1)+(−0.33*1)+(−1.00*−1)=0.67 <br /> In this formula, each parenthetical product pertains to one of the other users, i.e., A, B and D, respectively. Within each product, the first value represents the degree of correlation between the other user and the current user in question, as indicated by the matrix <b>44</b>. The second value indicates whether the other user voted favorably (+1) or negatively (−1) after reading the document, as indicated in the table <b>42</b>. The values of +1 and −1 are merely exemplary. Any suitable range of values can be employed to indicate various users' interests in retrieved items of information.
In accordance with the invention, a combination of attribute-based and correlation-based prediction is employed to rank the relevance of each item of information. For example, a weighted sum of scores that are obtained from each of the content and correlation predictors can be used, to determine a final ranking score. Other approaches which take into account both the attribute-based information and user correlation information can be employed. For example, multiple regression analysis can be utilized to combine the various factors. In this approach, regression methods are employed to identify the most important attributes that are used as predictors, e.g., salient terms in a document and users having similar feedback responses, and how much each one should be weighted. Alternatively, principal components analysis can be used to identify underlying aspects of content-based and correlation-based data that predict a score.
As another example, evolutionary programming techniques can be employed to analyze the available data regarding content of messages and user correlations. One type of evolutionary programming that is suitable in this regard is known as genetic programming. In this type of programming, data pertaining to the attributes of messages and user correlation are provided as a set of primitives. The various types of data are combined in different manners and evaluated, until the combination which best fits known results is found. The result of this combination is a program that describes the data which can best be used to predict a given user's likely degree of interest in a message. For further information regarding genetic programming, reference is made to Koza, John R., Genetic Programming: On The Programming of Computers By Means of Natural Selection, MIT Press 1992.
In a more specific implementation of evolutionary programming, the analysis technique known as genetic algorithms can be employed. This technique differs from genetic programming by virtue of the fact that pre-defined parameters pertaining to the items of information are employed, rather than more general programming statements. For example, the particular attributes of a message which are to be utilized to define the prediction formula can be established ahead of time, and employed in the algorithms. For further information regarding this technique, reference is made to Goldberg, David E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley 1989.
In addition to content and correlation scores, other attributes can be employed. For example, event times can be used in the ranking equation, where older items might get lower scores. If a message is a call for submitting papers to a conference, its score might rise as the deadline approached, then fall when it had passed. These various types of data can be combined using any of the data analysis techniques described previously, as well as any other well-known analysis technique.
From the foregoing, it can be seen that the present invention provides a system for ranking information which is not based on only one factor, namely content. Rather, a determination is made on the basis of a combination of factors. In a preferred implementation, the present invention provides for social interaction within the community of users, since each individual can benefit from the experiences of others. A user who has written about a particular topic is more likely to have other messages relating to that same topic presented to him or her, without awareness of the authors of these other items of information.
The invention takes advantage of the fact that a community of users is participating in the presentation of information to users. In current systems, if a large number of readers each believe a message is significant, any given user is no more likely to see it than any other message. Conversely, the originator of a relatively uninteresting idea can easily broadcast it to a large number of people, even though they may have no desire to see it. In the system of the present invention, however, the relevance score of a particular message takes into account not only on the user's own interests, but also feedback from the community.
To facilitate an understanding of the invention, its principles have been explained with reference to specific embodiments thereof. It will be appreciated, however, that the practical applications of the invention are not limited to these particular embodiments. The scope of the invention is set forth in the following claims, rather than the foregoing description, and all equivalents which are consistent with the meaning of the claims are intended to be embraced therein.
Contents5
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both waysCites: the store holds 35 of 36
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8838803B2 | Cited by | United States of America | Search report |
| US9854402B1 | Cited by | United States of America | Applicant |
| US10750309B2 | Cited by | United States of America | Applicant |
| US8954361B1 | Cited by | United States of America | Applicant |
| US2009165089A1 | Cited by | United States of America | Pre-grant |
| US8156120B2 | Cited by | United States of America | Search report |
| US8126883B2 | Cited by | United States of America | Search report |
| US8311792B1 | Cited by | United States of America | Search report |
| US11778415B2 | Cited by | United States of America | Applicant |
| US2010100543A1 | Cited by | United States of America | Pre-grant |
| US10750310B2 | Cited by | United States of America | Applicant |
| US2009276421A1 | Cited by | United States of America | Pre-grant |
| US10791414B2 | Cited by | United States of America | Applicant |
| US9654921B1 | Cited by | United States of America | Applicant |
| US9749790B1 | Cited by | United States of America | Applicant |
| US8296302B2 | Cited by | United States of America | Search report |
| US2009276420A1 | Cited by | United States of America | Pre-grant |
| US8670968B1 | Cited by | United States of America | Search report |
| US2013318101A1 | Cited by | United States of America | Pre-grant |
| US10341808B2 | Cited by | United States of America | Applicant |
| US9942705B1 | Cited by | United States of America | Applicant |
| US2007106738A1 | Cited by | United States of America | Pre-grant |
| US10299071B2 | Cited by | United States of America | Applicant |
| US10856099B2 | Cited by | United States of America | Applicant |
| US10313826B2 | Cited by | United States of America | Applicant |
| US9615204B1 | Cited by | United States of America | Applicant |
| US9967704B1 | Cited by | United States of America | Applicant |
| US9854394B1 | Cited by | United States of America | Applicant |
| US10200811B1 | Cited by | United States of America | Applicant |
| US10165059B2 | Cited by | United States of America | Applicant |
| US9563665B2 | Cited by | United States of America | Search report |
| US9955298B1 | Cited by | United States of America | Applicant |
| US9883360B1 | Cited by | United States of America | Applicant |
| US10341809B2 | Cited by | United States of America | Applicant |
| US2008201742A1 | Cited by | United States of America | Pre-grant |
| US11356799B2 | Cited by | United States of America | Applicant |
| US9223779B2 | Cited by | United States of America | Applicant |
| US8713122B2 | Cited by | United States of America | Search report |
| US8521663B1 | Cited by | United States of America | Applicant |
| US9736618B1 | Cited by | United States of America | Applicant |
| US10750311B2 | Cited by | United States of America | Applicant |
| US10149092B1 | Cited by | United States of America | Applicant |
| GB2304489A | Cites | United Kingdom | Applicant |
| US4775935A | Cites | United States of America | Applicant |
| US5107419A | Cites | United States of America | Applicant |
| US5132900A | Cites | United States of America | Applicant |
| US5167011A | Cites | United States of America | Applicant |
| US5321833A | Cites | United States of America | Applicant |
| US5333266A | Cites | United States of America | Applicant |
| US5377354A | Cites | United States of America | Applicant |
| US5410344A | Cites | United States of America | Applicant |
| US5446891A | Cites | United States of America | Applicant |
| US5446919A | Cites | United States of America | Applicant |
| US5483278A | Cites | United States of America | Applicant |
| US5504896A | Cites | United States of America | Applicant |
| US5515098A | Cites | United States of America | Applicant |
| US5541638A | Cites | United States of America | Applicant |
| US5576954A | Cites | United States of America | Applicant |
| US5583763A | Cites | United States of America | Applicant |
| US5616876A | Cites | United States of America | Applicant |
| US5619709A | Cites | United States of America | Applicant |
| US5704017A | Cites | United States of America | Applicant |
| US5721827A | Cites | United States of America | Applicant |
| US5724567A | Cites | United States of America | Applicant |
| US5749081A | Cites | United States of America | Applicant |
| US5749549A | Cites | United States of America | Applicant |
| US5759101A | Cites | United States of America | Applicant |
| US5790935A | Cites | United States of America | Applicant |
| US5835087A | Cites | United States of America | Applicant |
| US5848396A | Cites | United States of America | Applicant |
| US5931901A | Cites | United States of America | Applicant |
| US5945988A | Cites | United States of America | Applicant |
| US5963916A | Cites | United States of America | Applicant |
| US6018738A | Cites | United States of America | Applicant |
| US6266649B1 | Cites | United States of America | Applicant |
| US6453302B1 | Cites | United States of America | Applicant |
| US7117516B2 | Cites | United States of America | Applicant |
| Graphical Knowledge based electronic mail system by Kantardzic, M. et al., IEEE conference paper. pp. 1165-1168, May 24, 1919. | Non-patent | – | Search report |
| Maltz, D., "Distributing Information for Collaborative Filtering on Usenet Net News," May 1994, M.S. Thesis, Massachusetts Institute of Technology, Cambridge, MA. | Non-patent | – | Applicant |
| Resnick, P., et al., "GroupLens: An Open Architecture for Collaborative Filtering of Netnews," Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work (CSCW), 1994, p. 175-186, ACM, New York, NY. | Non-patent | – | Applicant |
| Loeb, S., "Architecting Personalized Delivery of Multimedia Information," Information Filtering, Communications of the ACM, Dec. 1992, pp. 39-48, vol. 35, No. 12. | Non-patent | – | Applicant |
| Loeb, S., "Delivering Interactive Multimedia Documents Over Networks," IEEE Communications Magazine, May 1992, pp. 52-59. | Non-patent | – | Applicant |
| Loeb, S., et al., "Lessons from LyricTime(TM): A Prototype Multimedia System," Computer Communication Review, ADM SIGCOMM, 1992, pp. 35-36. | Non-patent | – | Applicant |
| Loeb, S., et al., "Lessons from LyricTime(TM): A Prototype Multimedia System, Extended Abstract," Bell Communicatons Research, Apr. 3, 1992, pp. 106-113. | Non-patent | – | Applicant |
| Yan, T.W. et al., "Index Structures for Information Filtering Under the Vector Space Model," Stanford University, Nov. 8, 1993, pp. 1-33. | Non-patent | – | Applicant |
| Belew, Richard K., "Adaptive Information Retrieval: Using A Connectionist Representation To Retrieve And Learn About Documents," 12th Int'l Conference on Research & Development in IR (Jun. 1989), Boston, MA. | Non-patent | – | Applicant |
| Bookstein, Abraham, "Fuzzy Requests: An Approach To Weighted Boolean Searches," Journal of the American Society for Information Science (Jul. 1980), vol. 31, No. 4, pp. 240-247. | Non-patent | – | Applicant |
| Bussey, Howard E. et al., "Service Architecture, Prototype Description, And Network Implications Of A Personalized Information Grazing Service," IEEE Infocom (1990), vol. 3, pp. 1046-1053. | Non-patent | – | Applicant |
| Chang, Shih-Chio et al., "And-Less Retrieval Toward Perfect Ranking," Proceedings of the 50th ASIS Annual Meeting (Oct. 1987), vol. 24 pp. 30-35. | Non-patent | – | Applicant |
| Chang, Shih-Chio et al., "Towards A Friendly Adaptable Information Retrieval System," Proceedings of the RIAO (Mar. 1988), pp. 172-182. | Non-patent | – | Applicant |
| Fischer, Gerhard et al., "Information Access in Complex, Poorly Structured Information Spaces," CHI '91 Proceedings (Apr.-May 1991), pp. 63-70. | Non-patent | – | Applicant |
| Goldberg, David et al., "Using Collaborative Filtering to Weave an Information Tapestry," Communications of the Association for Computer Machinery (Dec. 1992), vol. 35, No. 12, pp. 61-70. | Non-patent | – | Applicant |
| Jacobs, Paul S. et al., "Scisor: Extracting Information From On-Line News," Communications of the Association for Computing Machinery (Nov. 1990), vol. 33, No. 11, pp. 88-97. | Non-patent | – | Applicant |
| Jennings, Andrew et al., "A Personal News Service Based on a User Model Neural Network," IEICE Transactions on Information and Systems, (Mar. 1992), vol. E75-D, No. 2, pp. 198-209. | Non-patent | – | Applicant |
| Jennings, Andrew et al., "Customer Adaptive Communication Services," IEEE Region 10 International Conference, (Nov. 11-13, 1992), vol. 2, pp. 886-890. | Non-patent | – | Applicant |
| Kantardzic, M. et al., "Graphical Knowledge Based Electronic Mail System," IEEE Conference (May 24, 1991), pp. 1165-1168. | Non-patent | – | Applicant |
| Karlgren, Jussi, "Using Reader Data as a Basis for Measuring Document Proximity," An Algebra for Recommendations (date unknown), pp. 1-9. | Non-patent | – | Applicant |
| Malone, Thomas W. et al., "The Information Lens: An Intelligent System for Information Sharing in Organizations," CHI '86 Proceedings (Apr. 1986), pp. 1-8, Boston, MA. | Non-patent | – | Applicant |
| Mukhopadhyay, Uttam, et al., "An Intelligent System For Document Retrieval In Distributed Office Environments," Journal of the American Society for Information Science (May 1986), vol. 37, No. 3, pp. 123-135. | Non-patent | – | Applicant |
| Reynolds, C.F., "On-Line Review: A New Application of the HICOM Conferencing System," IEEE Colloquium on 'Human Factors in Electronic Mail and Conferencing Systems', (Feb. 3, 1989), Digest No. 20, pp. 1-4. | Non-patent | – | Applicant |
4 members in 3 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 23165594 | United States of America | A | |
| 23165594 | United States of America | A | |
| 38836203 | United States of America | A | |
| 08231655 | – | – | – |
| US19940231655 | – | – | – |
| US20030388362 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| WO9529451A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2396095A | Australia | A | |
| US6202058B1 | United States of America | B1 | |
| USRE41899EThis record | United States of America | E |
80 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Receipt into PubsR1021 | R1021 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Receipt into PubsR1021 | R1021 | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Miscellaneous Communication to ApplicantMCTMS | MCTMS | |
| Miscellaneous Action with SSPCTMS | CTMS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Miscellaneous Communication to ApplicantMCTMS | MCTMS | |
| Miscellaneous Action with SSPCTMS | CTMS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| to Close the A/R Record and Reset the Status for Expired Suspensions.EOSP | EOSP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Letter of SuspensionML.SP | ML.SP | |
| Suspension - Examiner InitiatedL.SP | L.SP | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Cleared by OIPE CSRL194 | L194 | |
| Cleared by OIPE CSRL194 | L194 | |
| Supplemental ResponseSA.. | SA.. | |
| Response after Non-Final ActionA... | A... | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Cleared by OIPE CSRL194 | L194 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| The identification of one or more legal entities other than the inventor(s), each such legal entityASGMT | ASGMT | |
| Notice of Reissue Published in Official GazetteNRE. | NRE. | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Preliminary AmendmentA.PE | A.PE | |
| Initial Exam Team nnIEXX | IEXX |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee payment procedurePAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- RE041899
- Publication, DOCDB
- RE41899
- Publication, EPODOC
- USRE41899E
- Application
- 10388362
- Application, DOCDB
- 38836203
- Application, EPODOC
- US20030388362
Titles
- English
- System for ranking the relevance of information objects accessed by computer users
Classification
- CPC, 1
- G06F16/335
- IPC, 2
- G06N5 02
- G06F17 30
- USPC, 3
- 706046000
- 706014000
- 707999003