Using tags in an enterprise search system
First Claim
Patent Images
1. A method comprising:
- receiving, by a computer system from one or more users, a first plurality of tags to be associated with documents in an enterprise;
associating, by the computer system, the first plurality of tags with the documents;
receiving, by the computer system from one or more users, a second plurality of tags to be associated with individuals in the enterprise;
associating, by the computer system, the second plurality of tags with the individuals;
receiving, by the computer system, a search query including a tag;
determining, by the computer system, a list of documents based on the search query, the list of documents including one or more documents in the enterprise that are associated with the tag;
determining, by the computer system, a list of experts based on the search query and the list of documents, the list of experts including one or more individuals in the enterprise that are associated with the tag and one or more individuals in the enterprise that are knowledgeable about subject matter described in one or more documents in the list of documents; and
generating, by the computer system, a user interface including the list of documents and the list of experts,wherein a rank value is determined for each document in the list of documents based on one or more connections between the document and individuals in the enterprise,wherein each document in the list of documents is ordered according to its rank value,wherein a rank value is determined for each expert in the list of experts based on one or more connections between the expert and documents in the enterprise and one or more connections between the expert and other individuals in the enterprise,wherein the experts in the list of experts are ordered according to their rank values;
wherein one or more coefficients are calculated for the one or more connections between the document and individuals in the enterprise, andwherein the rank value for each document is calculated based on the one or more coefficients, the calculating comprising;
(a) for each row of a core data structure;
reading a row of the core data structure into a local memory,inflating the row,converting the row into a row of a damped matrix, andmultiplying the row of the damped matrix by a current vector to get a value of a next vector; and
(b) comparing the next vector to the current vector, wherein if a difference between the next vector and the current vector is greater than an error value, setting the next vector as the current vector and repeating step (a), and wherein if the difference is less than the error value, determining rank values from the next vector.
2 Assignments
0 Petitions
Accused Products
Abstract
An interface can allow for associating documents with tags. A search system can use connections between the tags and documents to determine search-independent rank values for the documents. The search-independent rank values can be combined with term matching indications to get a total relevance of the document.
-
Citations
18 Claims
-
1. A method comprising:
-
receiving, by a computer system from one or more users, a first plurality of tags to be associated with documents in an enterprise; associating, by the computer system, the first plurality of tags with the documents; receiving, by the computer system from one or more users, a second plurality of tags to be associated with individuals in the enterprise; associating, by the computer system, the second plurality of tags with the individuals; receiving, by the computer system, a search query including a tag; determining, by the computer system, a list of documents based on the search query, the list of documents including one or more documents in the enterprise that are associated with the tag; determining, by the computer system, a list of experts based on the search query and the list of documents, the list of experts including one or more individuals in the enterprise that are associated with the tag and one or more individuals in the enterprise that are knowledgeable about subject matter described in one or more documents in the list of documents; and generating, by the computer system, a user interface including the list of documents and the list of experts, wherein a rank value is determined for each document in the list of documents based on one or more connections between the document and individuals in the enterprise, wherein each document in the list of documents is ordered according to its rank value, wherein a rank value is determined for each expert in the list of experts based on one or more connections between the expert and documents in the enterprise and one or more connections between the expert and other individuals in the enterprise, wherein the experts in the list of experts are ordered according to their rank values; wherein one or more coefficients are calculated for the one or more connections between the document and individuals in the enterprise, and wherein the rank value for each document is calculated based on the one or more coefficients, the calculating comprising; (a) for each row of a core data structure; reading a row of the core data structure into a local memory, inflating the row, converting the row into a row of a damped matrix, and multiplying the row of the damped matrix by a current vector to get a value of a next vector; and (b) comparing the next vector to the current vector, wherein if a difference between the next vector and the current vector is greater than an error value, setting the next vector as the current vector and repeating step (a), and wherein if the difference is less than the error value, determining rank values from the next vector. - View Dependent Claims (2, 3, 4, 5, 6, 16, 17)
-
-
7. A machine-readable storage medium having stored thereon program code executable by a computer system, the program code comprising:
-
code that causes the computer system to receive, from one or more users, a first plurality of tags to be associated with documents in an enterprise; code that causes the computer system to associate the first plurality of tags with the documents; code that causes the computer system to receive, from one or more users, a second plurality of tags to be associated with individuals in the enterprise; code that causes the computer system to associate the second plurality of tags with the individuals; code that causes the computer system to receive a search query including a tag; code that causes the computer system to determine a list of documents based on the search query, the list of documents including one or more documents in the enterprise that are associated with the tag; code that causes the computer system to determine a list of experts based on the search query and the list of documents, the list of experts including one or more individuals in the enterprise that are associated with the tag and one or more individuals in the enterprise that are knowledgeable about subject matter described in one or more documents in the list of documents; and code that causes the computer system to generate a user interface including the list of documents and the list of experts, wherein a rank value is determined for each document in the list of documents based on one or more connections between the document and individuals in the enterprise, wherein each document in the list of documents is ordered according to its rank value, wherein a rank value is determined for each expert in the list of experts based on one or more connections between the expert and documents in the enterprise and one or more connections between the expert and other individuals in the enterprise, wherein the experts in the list of experts are ordered according to their rank values; wherein one or more coefficients are calculated for the one or more connections between the document and individuals in the enterprise, and wherein the rank value for each document is calculated based on the one or more coefficients, the calculating comprising; (a) for each row of a core data structure; reading a row of the core data structure into a local memory, inflating the row, converting the row into a row of a damped matrix, and multiplying the row of the damped matrix by a current vector to get a value of a next vector; and (b) comparing the next vector to the current vector, wherein if a difference between the next vector and the current vector is greater than an error value, setting the next vector as the current vector and repeating step (a), and wherein if the difference is less than the error value, determining rank values from the next vector. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 18)
-
-
15. A system comprising:
-
a processing component configured to; receive, from one or more users, a first plurality of tags to be associated with documents in an enterprise; associate the first plurality of tags with the documents; receive, from one or more users, a second plurality of tags to be associated with individuals in the enterprise; associate the second plurality of tags with the individuals; receive a search query including a tag; determine a list of documents based on the search query, the list of documents including one or more documents in the enterprise that are associated with the tag; determine a list of experts based on the search query and the list of documents, the list of experts including one or more individuals in the enterprise that are associated with the tag and one or more individuals in the enterprise that are knowledgeable about subject matter described in one or more documents in the list of documents; and generate a user interface including the list of documents and the list of experts, wherein a rank value is determined for each document in the list of documents based on one or more connections between the document and individuals in the enterprise, wherein each document in the list of documents is ordered according to its rank value, wherein a rank value is determined for each expert in the list of experts based on one or more connections between the expert and documents in the enterprise and one or more connections between the expert and other individuals in the enterprise, wherein the experts in the list of experts are ordered according to their rank values, wherein one or more coefficients are calculated for the one or more connections between the document and individuals in the enterprise, and wherein the rank value for each document is calculated based on the one or more coefficients, the calculating comprising; (a) for each row of a core data structure; reading a row of the core data structure into a local memory, inflating the row, converting the row into a row of a damped matrix, and multiplying the row of the damped matrix by a current vector to get a value of a next vector; and (b) comparing the next vector to the current vector, wherein if a difference between the next vector and the current vector is greater than an error value, setting the next vector as the current vector and repeating step (a), and wherein if the difference is less than the error value, determining rank values from the next vector.
-
Specification