U.S. patent application number 10/106096 was filed with the patent office on 2003-11-20 for system and method for profiling clients within a system for harvesting community knowledge.
Invention is credited to Adar, Eytan, Lukose, Rajan Mathew, Sengupta, Caesar, Tyler, Joshua Rogers.
Application Number | 20030217106 10/106096 |
Document ID | / |
Family ID | 29418310 |
Filed Date | 2003-11-20 |
United States Patent
Application |
20030217106 |
Kind Code |
A1 |
Adar, Eytan ; et
al. |
November 20, 2003 |
System and method for profiling clients within a system for
harvesting community knowledge
Abstract
A privacy-preserving system and method is disclosed for
profiling clients within a system for knowledge management. The
method of the present invention discloses steps for generating a
client profile in support of receiving and processing messages
using scoring techniques and/or filtering techniques. The method of
the present invention further includes steps for generating a
client profile in support of a method for generating and obtaining
responses to messages using scoring techniques and/or filtering
techniques. The system of the present invention, includes all means
for implementing the method.
Inventors: |
Adar, Eytan; (Palo Alto,
CA) ; Lukose, Rajan Mathew; (Palo Alto, CA) ;
Tyler, Joshua Rogers; (Stanford, CA) ; Sengupta,
Caesar; (Los Altos, CA) |
Correspondence
Address: |
HEWLETT-PACKARD COMPANY
Intellectual Property Administration
P.O. Box 272400
Fort Collins
CO
80527-2400
US
|
Family ID: |
29418310 |
Appl. No.: |
10/106096 |
Filed: |
March 25, 2002 |
Current U.S.
Class: |
709/206 ;
709/224 |
Current CPC
Class: |
G06Q 10/10 20130101;
H04L 69/329 20130101; H04L 9/40 20220501; H04L 67/535 20220501;
G09B 7/00 20130101 |
Class at
Publication: |
709/206 ;
709/224 |
International
Class: |
G06F 015/16 |
Claims
What is claimed is:
1. A method for knowledge management, comprising: accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a client profile from
the data target information; storing the profile on a client
computer; receiving a message; and scoring the message with respect
to the profile.
2. The method of claim 1 wherein the collecting element includes:
retrieving stored data target information.
3. The method of claim 1 wherein the collecting element includes:
capturing real-time data target information.
4. The method of claim 1 wherein the accessing element includes
accessing messages.
5. The method of claim 1 wherein the accessing element includes
accessing email.
6. The method of claim 1 wherein the accessing element includes
accessing files.
7. The method of claim 1 wherein the accessing element includes
accessing web pages.
8. The method of claim 1 wherein the accessing element includes
accessing installed hardware.
9. The method of claim 1 wherein the accessing element includes
accessing installed software.
10. The method of claim 2 wherein the retrieving element includes
retrieving information stored on the client computer.
11. The method of claim 2 wherein the retrieving element includes
retrieving information stored on a network.
12. The method of claim 3 wherein the capturing element includes
capturing user commands.
13. The method of claim 3 wherein the capturing element includes
capturing cached data.
14. The method of claim 1 wherein the generating element includes
analyzing the data target information using data mining
techniques.
15. The method of claim 1 wherein the generating element includes
identifying structured data items within the data target
information.
16. The method of claim 1 wherein the generating element includes
generating a positive client profile.
17. The method of claim 1 wherein the generating element includes
generating a negative client profile.
18. The method of claim 1 wherein the storing element includes
storing the structured data items in the client profile.
19. The method of claim 1 wherein the generating element includes:
identifying unstructured data items within the data target
information; and performing a statistical analysis on the
unstructured data.
20. The method of claim 19 wherein the performing element includes:
identifying a set of keywords; and calculating a frequency of
occurrence of each keyword within the unstructured data.
21. The method of claim 19 wherein the performing element includes:
identifying a set of key phrases; and calculating a frequency of
occurrence of each key phrase within the unstructured data.
22. The method of claim 19 wherein the storing element includes
storing the statistical analysis in the client profile.
23. The method of claim 1 further comprising: supplementing the
client profile with information provided explicitly by a user.
24. The method of claim 1 wherein the storing element includes
storing the client profile only on the client computer.
25. The method of claim 1 wherein the storing element includes
encrypting the client profile.
26. The method of claim 1 wherein the storing element includes
password protecting the client profile.
27. The method of claim 1 wherein the scoring element includes:
identifying a filtering criteria within the message; associating a
first value with those filter criteria found within the profile;
associating a second value, which is lower than the first value,
with those filter criteria not found within the profile; assigning
a weighted percentage to the message score and each filter
criteria; and calculating an overall message score by combining the
weighted percentages.
28. A method for knowledge management, comprising: accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a client profile from
the data target information; storing the profile on a client
computer; accessing a web page; and scoring the web page with
respect to the profile.
29. A method for knowledge management, comprising: accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a client profile from
the data target information; storing the profile on a client
computer; receiving an e-mail; and scoring the e-mail with respect
to the profile.
30. A method for knowledge management, comprising: accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a client profile from
the data target information; storing the profile on a client
computer; opening a file; and scoring the file with respect to the
profile.
31. A method for knowledge management, comprising: accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a client profile from
the data target information; storing the profile on a client
computer; receiving a message including filtering criteria; and
displaying the message on the computer if the filtering criteria is
found within the profile.
32. A method for knowledge management, comprising: generating a
message; transmitting the message from a sending client to a set of
receiving clients; accessing a predetermined set of data targets;
collecting data target information from the data targets;
generating a receiving client profile from the data target
information; scoring the message with respect to the profile; and
displaying the message on a receiving client's computer.
33. A method for knowledge management, comprising: generating a
message including filtering criteria; transmitting the message from
a sending client to a set of receiving clients; accessing a
predetermined set of data targets; collecting data target
information from the data targets; generating a receiving client
profile from the data target information; scoring the message with
respect to the profile; and displaying the message on the receiving
client's computer if the filtering criteria is found within the
profile.
34. A system for knowledge management, comprising: means for
accessing a predetermined set of data targets; means for collecting
data target information from the data targets; means for generating
a client profile from the data target information; means for
storing the profile on a client computer; means for receiving a
message; and means for scoring the message with respect to the
profile.
35. A system for knowledge management, comprising: means for
accessing a predetermined set of data targets; means for collecting
data target information from the data targets; means for generating
a client profile from the data target information; means for
storing the profile on a client computer; means for receiving a
message including filtering criteria; and means for displaying the
message on the computer if the filtering criteria is found within
the profile.
36. A system for knowledge management, comprising: means for
generating a message; means for transmitting the message from a
sending client to a set of receiving clients; means for accessing a
predetermined set of data targets; means for collecting data target
information from the data targets; means for generating a receiving
client profile from the data target information; means for scoring
the message with respect to the profile; and means for displaying
the message on a receiving client's computer.
37. A system for knowledge management, comprising: means for
generating a message including filtering criteria; means for
transmitting the message from a sending client to a set of
receiving clients; means for accessing a predetermined set of data
targets; means for collecting data target information from the data
targets; means for generating a receiving client profile from the
data target information; means for scoring the message with respect
to the profile; and means for displaying the message on the
receiving client's computer if the filtering criteria is found
within the profile.
Description
CROSS-REFERENCE TO CO-PENDING APPLICATION
[0001] This application relates to and incorporates by reference
co-pending U.S. patent application Ser. No. 10/093658, entitled
"SYSTEM AND METHOD FOR HARVESTING COMMUNITY KNOWLEDGE," filed on
Mar. 7, 2002, by Adar et. al. This related application is assigned
to Hewlett-Packard Co. of Palo Alto, Calif.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates generally to systems and
methods for information sharing and knowledge management, and more
particularly for profiling clients within a system for harvesting
community knowledge.
[0004] 2. Discussion of Background Art
[0005] Satisfying information needs in a diverse, heterogeneous
information environment is challenging. In order to even begin the
process of finding information resources or answers to questions,
individuals typically must know either where to look, or whom to
ask. This is often a daunting task, especially in large enterprises
where many of the members will not know each other, nor be aware of
all the information resources potentially at their disposal.
[0006] Current systems for storing information and/or
organizational expertise include Knowledge Databases (K-bases),
such as document repositories and corporate directories, and
Knowledge Management systems, which rely on users to explicitly
describe their personal information, knowledge, and expertise to a
centralized K-base.
[0007] FIG. 1 is a dataflow diagram of a conventional knowledge
management system 100. In a typical architecture, information
providing users 102 explicitly decide what descriptive information
they provide to a central database 104. An information seeking user
106 then performs a query on the central database 104 in order to
find an information provider who perhaps may be able to answer the
seeker's question.
[0008] There are several significant problems with such systems.
Knowledge management systems, like that shown in FIG. 1, require
that information providers spend a significant amount of time and
effort entering and updating their personal information on the
central database 104. For this reasons alone, such systems tend to
have very low participation rates. In addition, even those
information providers, who take time to enter and update this
information, may misrepresent their personal information or level
of knowledge and expertise be it willfully or not. Furthermore,
they may neglect or be unable to reveal much of their tacit
knowledge within their personal description. Tacit knowledge is
knowledge a user possesses, but which the user either does not
consider important enough to enter, or which they may not even be
consciously aware that they know.
[0009] Because of the inaccuracy and/or incompleteness of such
personal information, information seekers, even after all of their
searching efforts, may still find their questions left unanswered,
perhaps because the "expert" they identified may not have the
bandwidth to respond. Similarly, even information seekers who
discover the existence of a relevant K-base may be required to
formulate queries which are so complex that they either can not or
will not bother to perform a proper search
[0010] A second significant problem with knowledge management
systems is the information provider's lack of privacy with respect
to their personal information stored on the central database 104.
No matter what agreements a knowledge management system's central
database 104 provider has made with the user, the fact remains that
the central database 104 provider still has the user's personal
information, which means that that personal information is out of
the direct control of said user. As a result, information providers
may be unwilling to reveal much about themselves in the presence of
a risk that their privacy would be violated. In such systems, the
provider must pre-screen all information to be revealed, in order
to make sure that the information provided does not contain
information which the user would not be comfortable with others
having access to. The resulting high participation costs often
results in profiles that are stale and lack richness.
[0011] Another problem with such systems, is their lack of
anonymity. Information seekers and providers cannot remain
anonymous while performing queries or asking questions. As such,
they may not perform a search, as a question, or wholeheartedly
reveal their knowledge about a particular topic in their response
to another user's question.
[0012] All of the above problems lead to free-riding by many of
those using such conventional knowledge management systems.
Free-riding occurs when there are information seekers who are not
also information providers. They benefit from the information
stored on databases, but do not contribute to them. Free-riding
tends to make all users worse off, since a knowledge management
system's and K-base's value depends upon the richness and fidelity
of each users' contributions.
[0013] A fourth problem is cost. Conventional centralized systems
require the installation of additional hardware dedicated to the
knowledge management system and do not make use of otherwise
unutilized resources such as the user's own personal computer.
[0014] Collaborative filtering techniques also have similar
problems. Collaborative filtering is a tool for selectively
presenting users with information recommendations based on the
collective wisdom of the participant users. Generally these systems
require users to actively mark incoming information as relevant or
not relevant to their interests. A central system manages this
information and attempts to group individuals with similar
interests (as expressed by the ratings they assign to pieces of
information). Users who seek knowledge in are then directed to
information that members like them have indicated as relevant. Due
to their centralized nature, these systems lack many privacy
features and require heavy active participation by individuals. For
this reason collaborative filtering systems frequently do not have
access to rich profiles. Additionally, the information that is
filtered may not address specific information needs and the user
must then wade through the information or perform additional
searches and may still find no answer.
[0015] In response to the concerns discussed above, what is needed
is a system and method for profiling clients within a system for
harvesting community knowledge that overcomes the problems of the
prior art.
SUMMARY OF THE INVENTION
[0016] The present invention is a privacy-preserving system and
method for profiling clients within a system for knowledge
management. One embodiment of the method of the present invention
includes the steps of: accessing a predetermined set of data
targets; collecting data target information from the data targets;
generating a client profile from the data target information;
storing the profile on a client computer; receiving a message; and
scoring the message with respect to the profile.
[0017] A second embodiment of the method of the present invention
replaces the receiving and scoring steps with the steps of:
accessing a web page; and scoring the web page with respect to the
profile.
[0018] A third embodiment of the method of the present invention
replaces the receiving and scoring steps with the steps of:
receiving an e-mail; and scoring the email with respect to the
profile.
[0019] A fourth embodiment of the method of the present invention
replaces the receiving and scoring steps with the steps of: opening
a file; and scoring the file with respect to the profile.
[0020] A fifth embodiment of the method of the present invention
includes the steps of: accessing a predetermined set of data
targets; collecting data target information from the data targets;
generating a client profile from the data target information;
storing the profile on a client computer; receiving a message
including filtering criteria; and displaying the message on the
computer if the filtering criteria is found within the profile.
[0021] A sixth embodiment of the method of the present invention
includes the steps of: generating a message; transmitting the
message from a sending client to a set of receiving clients;
accessing a predetermined set of data targets; collecting data
target information from the data targets; generating a receiving
client profile from the data target information; scoring the
message with respect to the profile; and displaying the message on
a receiving client's computer.
[0022] A seventh embodiment of the method of the present invention
includes the steps of: generating a message including filtering
criteria; transmitting the message from a sending client to a set
of receiving clients; accessing a predetermined set of data
targets; collecting data target information from the data targets;
generating a receiving client profile from the data target
information; scoring the message with respect to the profile; and
displaying the message on the receiving client's computer if the
filtering criteria is found within the profile.
[0023] The system of the present invention, includes all means for
implementing the method.
[0024] These and other aspects of the invention will be recognized
by those skilled in the art upon review of the detailed
description, drawings, and claims set forth below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG. 1 is a dataflow diagram of a conventional system for
knowledge management;
[0026] FIG. 2 is a dataflow diagram of one embodiment of a system
for profiling clients within a system for harvesting community
knowledge;
[0027] FIG. 3 is a flowchart of one embodiment of a method for
harvesting community knowledge;
[0028] FIG. 4 is a flowchart of one embodiment of a method for
profiling clients within the method for harvesting community
knowledge;
[0029] FIG. 5 is a pictorial diagram of one embodiment of a
"View/Edit Declared Profile" window within the system; and
[0030] FIG. 6 is a pictorial diagram of another embodiment of a
"View/Edit Declared Profile" window within the system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0031] The present invention provides a mechanism for publicly,
privately, or anonymously providing information to and harvesting
information from a community of users and information resources. By
preserving the privacy of users and their profiles, the present
invention allows for the use of automatic profiling methods. These
automatic methods eliminate a need for community members to
laboriously maintain their own profiles in order to efficiently
participate in the knowledge community. As a result, users'
profiles are a rich body of information, and users do not face high
participation costs. The invention also allows for anonymous
questions and responses which further provides incentives for users
to participate. As a result, the present invention ameliorates the
free-riding problem, and creates a low-cost, useful, user-friendly
environment for knowledge sharing and expertise exchange.
[0032] FIG. 2 is a dataflow diagram of one embodiment of a system
200 for harvesting community knowledge. FIG. 3 is a flowchart of
one embodiment of a method 300 for harvesting community knowledge.
FIGS. 2 and 3 are herein discussed together. The system 200
includes a client computer 202 under the control of a user 204, and
connected to a computer network 206. The client 202 both sends and
receives messages respectively to and from other client computers
and information sources via the network 206.
[0033] When a client computer generates and sends a message such
client computer is herein alternately called a sending client, and
when a client computer receives a message, such client computer is
herein alternately called a receiving client. Preferably all client
computers on the network include the same functionality, which is
now described with respect to the client computer 202, however some
receiving clients may not currently have the present invention's
software installed.
[0034] User Profiling
[0035] User profiling by the present invention, enables the system
200 to capture historical information about the user 204, as well
as real-time information as the user 204 goes about their daily
digital business. This knowledge is expressed indirectly in the
user's 204 behavior and data stored on the client computer 202 and
from the user 204 and client computer 202 interactions with the
network 206.
[0036] The present invention uses an observer module 208 to
automatically compile and store user profile information in a
client profile 210. The client profile 210 is generated using
systematic, objective and repeatable methods which can be adjusted
and modified to suit any number of user environments and/or
information processing end goals. Since the client profile 210 is
automatically created, the user 204 is relieved from the arduous
task of having to manually build their own profile. This
dramatically reduces participation costs for all users of the
present invention, while ensuring that the user's profile is
constantly kept up to date.
[0037] Preferably, more than one data source or set of data items
are profiled in order to generate a multi-dimensional understanding
of the user's 204 knowledge and that the resultant user profile is
of a high quality. This is because singular sources of data, such
as e-mail, tend not to fully reflect a user's interests and
expertise. Also, since user profiles are preferably generated on
each user's own computer 202, no new hardware resources need be
purchased in order to implement the present invention.
[0038] The method 300 begins in step 302 with the observer module
208 generating and maintaining the client profile 210 on the client
computer 202. Step 302 is now described in more detail in FIG.
4.
[0039] FIG. 4 is a flowchart of one embodiment of a method 400 for
profiling clients within the method 300 for harvesting community
knowledge. The profiling method 400 begins in step 402 wherein the
observer module 208 accesses a predetermined set of data targets
for building the client profile 210. The set of data targets are
preferably selected to provide a robust source of data for
processing into a meaningful and versatile client profile 210. The
data targets include information stored on the client computer 202,
information accessible over the network 206, as well as which can
be obtained by monitoring the user's 204 activities on the computer
202 and over the network 206.
[0040] Next in step 404, the observer module 208 spawns an observer
sub-process for each data target in the set. Depending upon the
data target, some of the sub-process must, in step 406, collect
certain ephemeral information in real-time. Such ephemeral
information may include temporarily cached data which is deleted
after the data target terminates operations, network traffic
information, as well as information received by the data target,
such as e-mails or messages, which the user 204 subsequently
deletes before said information can be permanently saved. However,
information otherwise saved within a storage resource may be
retrieved as needed, in step 408.
[0041] In step 410, the observer 208 analyzes the collected and
retrieved information using data mining techniques. In step 412,
structured data items within the collected and/or retrieved
information, such as e-mail addresses or URLs, are stored in
dedicated fields within the client profile 210. Unstructured data
items within the collected and retrieved information, such as pure
text, however are first statistically analyzed. The statistical
analysis includes, first identifying a set of keywords and a set of
key phrases within the unstructured data items, in step 414, and
then, calculating a frequency of occurrence for each keyword and
key phrase within the data item, in step 416. In step 418, the
keywords, key phrases, and their respective calculated frequencies
of occurrence are then stored in the client profile 210. If the
keyword or key phrase already exists within the client profile 210,
their frequencies of occurrence are combined. Preferably, the
unstructured data itself is not stored within the client profile
210. The client profile 210 data structure is preferably that of a
relational database upon which queries can be easily performed.
[0042] Thus the present invention's observer 208, by collecting,
retrieving, and analyzing, information from the data targets,
effectively captures the user's 204 tacit knowledge, which the user
204 themselves may not even be conscious of having knowledge,
expertise, or an interest in.
[0043] In step 420, the client profile 210 may at the user's 204
discretion be supplemented with additional information provided
explicitly by the user 204.
[0044] FIG. 5 is a pictorial diagram 500 of one embodiment of a
"View/Edit Declared Profile" window 502 within the system 200 for
allowing the user 204 to supplement the client profile 210. The
window 502 includes a self-description field 504 for the user 204
to explicitly describe themselves, and input their knowledge,
expertise, and interests as a series of comma separated information
strings. The user 204 may also add any other information which the
user 204 deems relevant to other users on the network 206. A submit
description button 506 adds the self-description field 504 to the
client profile 210.
[0045] FIG. 6 is a pictorial diagram 600 of another embodiment of a
"View/Edit Declared Profile" window 602 within the system 200. The
window 602 also includes a self-description field 602 and a submit
description button 606 which function in a similar manner to the
embodiment 502 described above, however, the window 602 also
includes a "The last 10 emails you sent" field 608 and a "Last 10
urls you have visited" field 610. "The last 10 emails you sent"
field 608 and the "Last 10 urls you have visited" field 610 are two
of the structured data items collected and stored by the observer
module 208 according to step 412 of the profile generation method
400. They are provided here for the user's 204 benefit. The user
204 may select and delete individual entries if desired through a
search/delete interface.
[0046] In order to maximize the user's 204 privacy and thereby
encourage broad user participation within the information market,
the client profile 210 is preferably stored only on the client
computer 202, however the profile 210 may also be stored remotely
either in encrypted or password protected form and viewable only by
the user 204. Also to toward this goal, the user 204 is also
preferably given an option of erasing their client profile 210, or
having the observer 208 rebuild a new client profile for the user
204. A high degree of user privacy encourages users to permit the
system 200 to build very rich user profiles which go far beyond
those users would otherwise voluntarily disclose to a central
database.
[0047] The following data targets are preferably included within
the predetermined set of data targets mentioned in step 402.
Specific preferred processing techniques for each of these data
targets are also discussed. Those skilled in the art however will
recognize that many additional data targets and processing
techniques may also be employed and that a particular mix of data
targets and processing techniques which yield a best client profile
may vary with the set of users and network configuration to which
the present invention is applied.
[0048] Message Data Targets:
[0049] Message data targets include messages routed over the
peer-to-peer 226 and central server 224 networks, as well as e-mail
messages routed over the e-mail network 222. E-mail is one of the
most fundamental and prevalent forms of communication today and as
such is considered to be a good source of user profile information.
E-mail sub-processes within the observer module 208 access the
e-mail messages 221 transmitted and received by the e-mail client
230 over the e-mail network 222.
[0050] Structured data items from the e-mail which are preferably
stored in the client profile 210 include: the email addresses,
domains, and identities for the sender and all of the recipient's;
and message timestamps.
[0051] Unstructured e-mail data, consisting mainly of the body of
an e-mail message, are processed according to the statistical
techniques discussed above, into keywords, key phrases, and
frequencies of occurrence before being stored in the client profile
210.
[0052] Behavioral data preferably stored include: which e-mails or
messages the user 204 reads, stores, deletes, and/or ignores. Those
e-mails or messages which the user 204 reads or stores becomes part
of the user's 204 "positive-profile." Whereas those e-mails and
messages which the user 204 either deletes or ignores becomes part
of the user's 204 "negative-profile." Messages processed by either
the peer-to-peer 226 or central server 224 networks are similarly
processed and added to the client profile 210.
[0053] Information Browsing Data Targets:
[0054] Information browsing data targets monitored by sub-processes
within the observer module 208 include: data a files transmitted to
or downloaded from the peer-to-peer 226 and central server 224
networks, client files 214 viewed, modified, or deleted by the
user, such as word processing, spreadsheet and other files; as well
as web page information routed over the web 218 by the internet
client 232 into the web page cache 217.
[0055] Structured data items which are preferably stored in the
client profile 210 include: URLs stored in the user's 204 bookmark
and/or favorites file; web pages visited by the user or stored in
the web page cache 217; identifying information from client files
214 accessed by the user 204; and time and frequency of visitation
to said web pages or client files 214.
[0056] Unstructured data, consisting mainly of the body of the web
pages visited and client files 214 accessed by the user, is also
processed according to the statistical techniques discussed above,
into keywords, key phrases, and frequencies of occurrence before
being stored in the client profile 210.
[0057] Behavioral data preferably stored include: web surfing
patterns and browsing behavior.
[0058] Installed Hardware and Software Data Targets:
[0059] Installed hardware and software data targets monitored by
sub-processes within the observer module 208 include the client
hardware 211 and software 212 installed on the computer 202. The
client software 212 includes the e-mail client 230 and the internet
client 232.
[0060] Structured data items which are preferably stored in the
client profile 210 include: hardware 211 device information;
software 212 installation and operational information, available in
part from registry files within the computer 202; and dates of
installation for each hardware device and software process.
[0061] Behavioral data preferably stored include: user interactions
with the installed hardware 211 and software 212, such as frequency
of use or reconfiguration.
[0062] Other Data Targets:
[0063] Other information sources which the observer 208 may access
in order to build the client profile 210 include: user information
stored in remote enterprise directories and on the central server
224. For example, user information stored within a LDAP enterprise
directory can be accessed by the observer module 208 over the
network 206. The user information stored on the LDAP server may
include the user's department number, location, and other human
resources information.
[0064] Message Generation
[0065] Next to be described is a system and method for generating
messages in step 304 using the present invention. Messages are
herein defined to include a wide variety of communications known to
those skilled in the art, including any communication seeking,
sending, and/or culling information from an information market.
Thus messages can include questions, announcements, and/or
information processing routines.
[0066] To begin, the user 204 accesses a user interface module 228.
The user interface module 228 preferably includes a set of software
modules for interfacing with the user 204. Such modules at a
minimum include the e-mail client 230, which stores a predetermined
set of e-mail messages 221, and the Internet client 232, which
stores information in the web page cache 217. These two modules 230
and 232 provide the user 204 with alternate ways of using the
present invention and preferably, both contain similar
functionality, such as text windows and folders for storing
messages both sent and received.
[0067] Through the user interface module 228, the user 204
initiates the message generating process, such as by clicking on an
"Ask a Question" button in a toolbar within the user interface. In
response, the user interface module 228 displays a number of
pre-defined message types to the user 204.
[0068] After a message has been generated it is preferably assigned
a globally unique identifier and stored in a messages database 236.
A private-public key pair is preferably generated for each new
message. The public key is then sent with the message so that a
receiving client can encrypt their response, ensuring that only the
user 204, having the corresponding private key, can decrypt and
view such response. This provides a further level of security and
privacy within the present invention.
[0069] The network module 216 periodically scans the message
database 236 for new messages generated by the user 204. Then in
step 306, a network protocol module 219 formats the new message
according to an XML (Extensible Markup Language) protocol for
transmission by the network module 216 over the network 206. Both a
client computer sending the message and a client computer receiving
the message must be apprised of the particular XML protocol used to
format the message, in order for communication to occur.
[0070] Preferably the peer-to-peer network 226 is limited to an
enterprise's intranet so that only a predetermined set of client
computers on the network 206 may have an opportunity to respond to
the message. By limiting the scope of users allowed to see
messages, a baseline level of confidentiality, expertise, and/or
message response integrity may be maintained. For instance, the
scope of users may be limited to only those who are employed within
a particular enterprise, who belong to a particular professional
society, or who are students and one or more universities. The
exact scope of users will thus depend upon a particular application
of the present invention.
[0071] In alternate embodiments, messages may be transmitted over
global e-mail and/or web networks, but in an encrypted format which
again limits the scope of users. In other embodiments, there may be
no limits on the scope of users who may be given an opportunity to
respond to the messages.
[0072] Message Transmission
[0073] Next in step 308, the network module 216 transmits the
message over a predetermined portion of the computer network 206.
As mentioned above, when the computer client 202 transmits a
message over the network 206 it is called a sending client, while
when the computer client 202 receives a message over the network
206 it is called a receiving client. Thus in normal operation, all
client computers function as both sending and receiving
clients.
[0074] While messages transmitted over the peer-to-peer network 226
achieve a high level of anonymity, many messages will likely be
transmitted over the e-mail network 222 or displayed on a web 218
site in order to advertise the present invention and thereby
build-up the peer-to-peer network 226.
[0075] However, regardless of over which network portion the
message is sent, each receiving client having the present invention
installed stores a copy of the XML encoded message in their
respective messages database.
[0076] Message Filtering and Scoring
[0077] For purpose of the discussion to follow, functionality
within the client computer 202 for processing received messages is
discussed as if the client computer 202 was one of the receiving
client computers. Such a context switch is appropriate because
preferably each client computer contains a complete and self
contained version of the present invention's software.
[0078] Thus in step 310, the system module 234 within the client
computer 202 retrieves, and commands a filtering/scoring module 238
to filter and score, newly received messages which have been stored
in the messages database 236.
[0079] In order to perform filtering and scoring, the
filtering/scoring module 238 compares the message with information
stored in the user's 204 client profile 210. If necessary however,
the message may be compared with data stored elsewhere in the
client computer 202, such as in the e-mail client 230, the e-mail
messages 221, the internet client 232, the web page cache 217, the
client software 212, the client files 214, and the client messages
236.
[0080] A received message is filtered by the filtering/scoring
module 238 when such message contains a predetermined set of
criteria, inserted by the message sending client, in order to
target selected receiving clients. Such filtering criteria is
preferably very flexible and is left at the discretion of the
sending client user. For example, the filtering criteria may look
for a particular data string, or at some other information within a
receiving client's client profile 210.
[0081] In an alternate embodiment however, a client profile 210
which does not meet the filtering criteria merely results in a low
message score. In this way, a message which does not meet the
filtering criteria does not automatically prevent the user 204 from
seeing the message. In such embodiments an overall weighted average
score may be generated which depends upon not only all of the
filtering criteria, but also the message's score. How the message's
score is generated is discussed next.
[0082] The filtering/scoring module 238 preferably scores messages
using statistical information retrieval techniques, including
linguistic analysis. Information retrieval techniques are commonly
known to be used for accessing and analyzing large blocks of data
and then extracting all or selected portions of such data according
to a wide variety of methods. Messages which include structured or
unstructured data items, which are within the user's 204
positive-profile, tend to increase the message's score. While
messages which include structured and unstructured data items,
which are within the user's 204 negative-profile, tend to decrease
the message's score.
[0083] Other techniques for scoring the messages are also known to
those skilled in the art.
[0084] While the above filtering and scoring discussion assumes the
message was received over the peer-to-peer network 226, messages
received over the e-mail network 222 as well as by other paths
within the network 206 are similarly filtered and scored if the
receiving client has the present invention's software
installed.
[0085] For example, receiving clients who have the present
invention's software already installed and have received an e-mail
message containing an embedded XML message, have a copy of the
embedded message placed in their messages database 236 so that the
message can be filtered and scored. Receiving clients who do not
have the present invention's software installed, however, only see
the e-mail message in their standard e-mail inbox, and no other
processing is performed.
[0086] Thus the filtering and scoring techniques of the present
invention in combination with the rich client profiles stored on
each receiving client's computer are together what enable messages
to be brought to the attention of the right set of users.
[0087] Such intelligently targeted messaging, however, also builds
user confidence in and reliance on the present invention. This is
because unlike in conventional systems where users often have to
wade though in-boxes full of junk or marginally useful email, users
using the present invention generally know and rely on the fact
that their time will not be wasted on such unimportant messages.
Instead users of the present invention will be even more likely to
timely respond to messages received because the messages will be so
on-point to their expertise and/or interests.
[0088] For example, in the past when a sending client needed to
identify appropriate participants to participate in an experiment,
or submit papers for a seminar, the user would clumsily post an
advertisement on a web or other site, and/or send out a generalized
e-mail to a very large distribution list. In such cases, targeted
users often miss the importance of or are annoyed by such
communications which are buried in a sea of information they
already are trying to sift through. In contrast, the present
invention automatically performs the necessary sifting so that if a
user receives a message using the present invention, such message
will be useful to them.
[0089] Message Display and Response
[0090] In step 312, the received message is displayed to the
receiving client if the message has not been filtered out and/or if
the message score exceeds a predetermined threshold. Messages are
preferably displayed to the receiving client according to their
respective score. As discussed above, the score represents a
likelihood that the receiving client will find the message relevant
to or within their expertise.
[0091] The receiving client then may select and respond to one of
the messages. In step 314 a response from the receiving client is
sent over the network 206 back to the sending client anonymously or
in an encrypted format. After step 314 the preferred method
ends.
[0092] Processing Information From Other Sources Using The Present
Invention
[0093] While the present invention has been discussed with respect
to the generation, transmission and response to messages, the
present inventions' user profiling and scoring functionality is
equally applicable toward processing other types of information as
well. Other information includes data displayed within a current
web page being viewed by the user 204. A relevance vector could be
generated from said web page data and compared to the user's 204
expertise vector generated from the client profile 210. User's
would be notified of a particular relevance of the currently viewed
web page if the relevance and expertise vectors when compared yield
a score which exceeds a predetermined threshold. In this way user's
browsing the web could be apprised of particular web pages which
may closely align with their interests and/or expertise.
[0094] Other information similarly processed and scored may
include: normal e-mail messages which have not been generated using
the present inventions' functionality; files downloaded from the
central server 224 or received from some other source; or expertise
information stored on a central enterprise database. Those skilled
in the art will know of other information sources to which the
present invention may also be successfully applied.
[0095] While one or more embodiments of the present invention have
been described, those skilled in the art will recognize that
various modifications may be made. Variations upon and
modifications to these embodiments are provided by the present
invention, which is limited only by the following claims.
* * * * *