Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system
The present invention relates to a system and methodology to enable a plurality of information associated with electronic messages to be automatically prioritized by a message urgency system for transmittal to a user or system. The message urgency system can employ classifiers that can be explicitly and/or implicitly trained to prioritize or triage one or more received messages according to a learned importance to the user. An adaptable and configurable graphical user interface is provided in order to manage the prioritized information. The interface facilitates system personalization according to user desires of how messages are received and subsequently processed by the user. Display and input adjustments are provided in a plurality of selectable pages to enable the personalization of the system. Display options include status and summary views of various configuration and adjustment options that alter the characteristics of how messages are presented to the user. Configuration and adjustment options include profile options, routing options, alerting options, chunking options, schedule options, and other context-sensitive control options, one or more rules that act in conjunction with a routing system, learning status and configuration options for guiding and inspecting the state of learning of the message urgency system along with device option configurations for controlling messages output to a selected message reception and display device.
Latest Microsoft Patents:
- APPLICATION SINGLE SIGN-ON DETERMINATIONS BASED ON INTELLIGENT TRACES
- SCANNING ORDERS FOR NON-TRANSFORM CODING
- SUPPLEMENTAL ENHANCEMENT INFORMATION INCLUDING CONFIDENCE LEVEL AND MIXED CONTENT INFORMATION
- INTELLIGENT USER INTERFACE ELEMENT SELECTION USING EYE-GAZE
- NEURAL NETWORK ACTIVATION COMPRESSION WITH NON-UNIFORM MANTISSAS
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/255,016, which was filed Dec. 12, 2000, entitled Priorities Generation and Management.
TECHNICAL FIELDThe present invention relates generally to computer systems, and more particularly to a system and method providing information prioritization according to such factors as a measure of importance and/or an expected loss, wherein an adaptable and configurable user interface is provided to manage such information and to manage the control of services related to the training and use of such prioritization.
BACKGROUND OF THE INVENTIONWith the growth of computer and information systems, and related network technologies such as wireless and Internet communications, ever increasing amounts of electronic information are communicated, transferred and subsequently processed by users and/or systems. As an example, electronic mail programs have become a popular application among computer users for generating and receiving such information. With the advent of the Internet, for example, exchanging e-mail or other information such as voice or audio information has become an important factor influencing why many people acquire computers. Within many corporate environments, e-mail, for example, has become almost a de facto standard by which coworkers exchange information. However, with the heightened popularity of e-mail and other information transfer systems, problems have begun to appear in regard to managing and processing increasing amounts of information from a plurality of sources.
Among these problems, many users now face a deluge of e-mail and/or other information from which to sort through and/or respond, such that the capability of being able to send, receive and process information has almost become a hindrance to being productive. For example, some users report receiving over 100 e-mail messages a day. With such large numbers of e-mail and/or other electronic information, it has thus become difficult to manage information according to what is important and what is not as important without substantially expending valuable time to make a personal determination as to the importance. As an example of these determinations, users may have to decide whether messages should be responded to immediately, passed over to be read at a later time, or simply deleted due to non-importance (e.g., junk mail).
Some attempts have been directed to information management problems. For example, attempts have been made to curtail the amount of junk or promotional e-mail that users receive. Additionally, some electronic mail programs provide for the generation of rules that govern how e-mail is managed within the program. For example, a rule providing, “all e-mails from certain coworkers or addresses” are to be placed in a special folder.
These attempts at limiting certain types of information, however, generally are not directed at the basic problem behind e-mail and other information transfer/reception systems. That is, conventional systems often cause users to manually peruse and check at least a portion of some if not all of their received messages in order to determine which messages should be reviewed or further processed. As described above, this takes time from more productive activities. Thus, with the large quantities of information being received, there is a need for a system and methodology to facilitate efficient processing of electronic information while mitigating the costs of manual interventions associated therewith.
SUMMARY OF THE INVENTIONThe following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
The present invention relates to a system and methodology that provides controls and displays for acquiring user preferences, inspecting behavior, and guiding learning and decision policies of an adaptive communications prioritization and routing system. A user interface is provided that facilitates inspection, control and learning associated with alerting and routing prioritized messages. Moreover, a plurality of parameters can be configured in conjunction with various configuration and adjustment options to facilitate personalization of the user interface according to user desires. Personalization can include such features as employing explicit or implicit user feedback relating to how messages are classified and subsequently provided to the user. The feedback can be employed to guide learning and decision policies in the prioritization and/or routing systems. In addition, system generated feedback or dialog can be provided to users to further refine learning and/or decision policies. Configuration and adjustment options can include profile options, routing options, alerting options, chunking options, schedule options, and other context-sensitive control options, one or more rules that act in conjunction with a routing system, learning status and configuration options for guiding and inspecting the state of learning of a message urgency system along with device option configurations for controlling messages output to a selected message reception and display device.
In accordance with one aspect of the present invention, a message urgency system is provided to generate and manage priorities for electronic information (e.g., text associated with e-mail messages, voice messages encoded into text). Information can be automatically prioritized via the message urgency system, wherein the information is classified according to an importance, urgency, and/or an expected loss of value over time that weighs the criticality of information contained in a message against non-review of the message over time. For example, a value can be assigned to a message indicating a degree of urgency (e.g., time criticality of the message) as determined by the prioritization system. Other systems can then utilize the value when determining whether, how and at what suitable time to forward or transmit the message to a subsequent system and/or user. By automatically prioritizing messages according to a determined classification such as importance, urgency, or criticality and providing the messages to users based upon this determination, much time is saved over conventional systems by mitigating the amount of time users sort and process through a plurality of received messages.
An adaptable and configurable graphical user interface is provided in order to manage a plurality of prioritized messages and associated functionalities, such as the control and status of the adaptation to a particular user's preferences, and policies for performing alerting or context-sensitive routing of the information based on the user's situation and one or measures associated with the nature or urgency of the content of information items. The interface facilitates system personalization according to user desires of how messages are received and subsequently processed by the user. Display and input adjustments are provided in a plurality of selectable pages to enable the personalization of the system. Display options include status and summary views of various configuration and adjustment options that alter the characteristics of how messages are presented to the user.
The profile options can include setting one or more profile areas relating to the user such as a home or work profile. The user can then select a plurality of message delivery options, priority settings and reminder settings related to the selected profile. This can include viewing a system learning status regarding the amount of training that is currently under way for the priorities and classification system and can also include piping or routing messages to a desired delivery folder (e.g., routing messages to a pager folder based on priority of message). Message controls can be provided that facilitate such features as message alerting options, color and audio controls to tag or code messages of various priorities, deferral options to postpone messages to more convenient review times, and priority/quantity threshold adjustments to control the volume or frequency of received messages.
Other aspects include profile schedules, wherein active and default profiles can be configured to operate at different times in addition to other controls such as do not disturb settings (e.g., do not interrupt me unless priority is very high) that are active according to a user configured time, for example. In accordance with the profile schedule, an information agent can be employed to also consider the effects of other users schedules and calendars for example, when making decisions about message delivery.
The rules options described above can include configuring a plurality of rules that operate as an overlay to the decision-making processes in the system. For example, the rules may not have any impact on message delivery unless the priority of the message is above a certain level or source of the message is from a selected individual or group. These options can include review and routing options, programming options, speech recognizer options, and channel options for determining how messages are received and when the messages are reviewed.
The learning options discussed above provide flexibility for the user to alter or adjust how the priorities and classification system determines how new messages are to be classified. This can include selecting which set of messages are to be learned from, marking options for the selected messages and can include monitoring feedback from the user to determine and further learn what is and what is not as important to the user. The learning options can also include configuration of learning rules and/or controls. In addition to the learning options, one or more device options can be provided. Device options can include selecting the desired output device for delivery of a message (e.g., send message to ABC manufacturers cell phone), wherein the user interface is then automatically adapted to enable configuration of the selected device. Device options can include display formats and compression settings for configuring the amount and format of the message that is actually delivered and subsequently displayed at the receiving device.
In accordance with one aspect of the present invention, an urgency or priority for a file such as text or encoded speech can be generated based on a classifier, such as by determining the likelihood that the text or message is of high or some other priority, for example. The classifier may be a Bayesian classifier, a support vector machine, and/or other type of classifier. The classifier can consider data features such as the structural relationship between the user and the sender of the text, as well as the time of events referenced in the text. Other considerations such as an expected loss of non-review of the text at a current time can be determined based on the priority, as well as an expected cost of outputting the text at the current time. The user can also be alerted on a mobile device, for example, in response to determining that the expected loss is greater than the expected cost, in accordance with a profile (e.g., information store of user preferences configured by the user interface).
A current profile can be selected from a number of profiles, which can be editable by the user to reflect a different context (e.g., at home, at work, leisure time, busy, vacation, traveling). The profiles are schedulable on a per-day and by-time basis, and can be locked to remain active unless subsequently unlocked. The profile can have a priority threshold settable by the user thus controlling the amount and/or types of messages received, for example. A chunk setting of associated with the profile controls delivery of the text. For example, text or other data may be delivered to a mobile or other communications device in conjunction with one or more other related texts or data. Alternatively, the text may be delivered to the communications device when a specified period has expired. Furthermore, the text may be delivered or diverted to a subsequent or alternative device, for example, if a primary device of the user, such as a desktop computer, is determined to be idle for a specified period of time.
The text or other data can be formatted prior to delivery to a receiving modality such as a mobile device, wherein formatting can include compression and fragmentation, for example. The text can be compressed according to a specified compression setting that is settable by the user via the user interface, wherein a user-settable fragmentation setting can also be provided. If the text or other data is an e-mail, the sender of the text may be sent an indication that the text has been delivered to the receiving device of the user. Furthermore, the sender may be sent an indication that the user is away from his or her primary device. Alerting the user may also consider the user's calendar and time of day. Events on the calendar can also have an associated tag that specifies the degree to which the user is amenable to being interrupted during the event.
The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention may be employed and the present invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
The present invention relates to a system and methodology to enable a plurality of information associated with electronic messages, for example, to be automatically prioritized by a priorities or message urgency system for subsequent transmittal to a user or system. The priorities system can utilize inferences systems such as probabilistic classifiers or other methods for interpreting messages that can be explicitly and/or implicitly trained to prioritize one or more received messages according to a learned importance to the user. As an example, messages can be classified as high, medium, low or other degrees of importance via a training set of examples or types of messages having similar degrees of importance. A background monitor can be provided to monitor a user's activities regarding message processing to further refine or tune the classifier according to the user's personal decisions relating to message importance. Other priorities classifications can involve determinations relating to a loss associated with a time for delayed review or processing of the message.
After messages or other notifications have been automatically prioritized, users can review more important messages without having to sort through a plurality of lesser important and/or non-relevant messages. Messages can further be collected into one or more folders in terms of importance, wherein users can review messages of similar categorized importance at a desired time. As will be described in more detail below an adaptable and configurable user interface is provided to manage a plurality of prioritized messages. The user interface can facilitate adaptation and control of various learning aspects relating to the prioritized messages and can be employed in-stream with associated system feedback to further refine and adjust the learning aspects of the present invention.
Referring initially to
After the messages 34 are received, the priorities system 30 performs a classification 36 on the messages in order to determine and assign a priority value 38 relating to the urgency or importance of the messages. As will be described in more detail below in relation to
The user interface 20 generally includes a display 40 to provide feedback and output data to a user regarding various aspects of the priorities system 30. The display 40 can include display objects (e.g., icons, buttons, sliders, input boxes, selection options, menus, and so forth) having multiple dimensions, shapes, colors, text, data and sounds to facilitate management of the priorities system 30. In addition, various menus and alternative screens or display outputs can be provided that perform a plurality of aspects of the present invention and will be described in more detail below. The user interface 20 also includes a plurality of inputs 50 for adjusting and configuring one or more aspects of the present invention. This can include receiving user commands from a mouse, keyboard, speech input and/or other device to effect operations of the interface.
In accordance with one aspect of the present invention, the user interface 20 facilitates a personalized process for users to interact with the priorities system 30, wherein users can configure and adapt the interface to more closely match their preferences regarding how and when messages are processed. One aspect relates to providing users with status information 60 associated with multiple portions of the system 10. Examples of status information include displaying active profile status, on-line status and message received status. Other status can include information related to system learning associated with the amount of information that has been previously classified and employed to classify new information in the priorities system 30. Along with the status information 60, the user interface 20 provides summary information 64 to mitigate the amount of information users have to peruse in order to process messages. This can include providing daily or other timeframe summary displays regarding the user interface 20 and the messages to be processed. User appointment and task summaries can also be directed to a selected user device, for example.
The user interface 20 facilitates processing of a plurality of profiles 68 relating to the user. The profiles 20 include configurable information regarding how and when messages should be delivered and processed. Given a current profile, as determined by schedule and time information settings or inferred context (e.g., users focus and state of busy-ness or availability) to be described below, the user interface 20 facilitates message forwarding and reception based upon settings related to the current profile. For example, a home profile may have more restrictive message delivery requirements than a work profile. Another aspect to the user interface 20 is to provide various routing and scheduling options 72 and 76, respectively. The routing options 72 enable such aspects as which device is sent information and where information is directed such as to a folder. Scheduling options 76 enable users to configure when desired features of the system 10 are to be activated such as scheduling when profiles are to be activated.
One or more control options 80 can be provided by the interface 20 to facilitate message processing. This can include threshold adjustments for message priority and delivery and include such features as controlling the display 40 in accordance with other aspects of message processing such as assigning different colors to messages of varying priorities. As will be described in more detail below, a plurality of rules 84 can be provided in conjunction with the user interface 20 in order to facilitate further refinement of the interface 20 and priorities system 30 (e.g., rules that can supercede default settings of the user interface).
The user interface 20 also provides learning options 88 that enable users to alter training characteristics of the priorities system 30 and will be described in more detail below. For example, users can determine whether to direct priorities system learning from a selected grouping of previously classified information or to restart system learning anew along with various other learning options. The learning options 88 can also be employed with monitoring and/or receiving user feedback 92 to further refine the system 10 according to preferences of the user. Feedback 92 can be explicitly provided by the user to direct how learning in the priorities system 30 is achieved and can be implicitly determined based upon one or more actions of the user. Explicit feedback can include such actions as configuring the user interface 20 to consider one group or selection of messages as being more important than another selection of messages thus altering learning about how decisions are made regarding priorities or message urgency.
Implicit feedback can include monitoring various context aspects of the user to determine message importance. This can include monitoring sounds, keyboard activities, presence detectors, pauses when reviewing messages, how quickly messages are opened or deleted, and/or whether messages are saved, copied or forwarded, for example. In addition, the feedback 92 can include directing messages or dialog to the user regarding decisions that have been made or about to be made such as “You are about to delete messages that have not yet been employed in the learning process, are you sure of this action”, or such feedback relating to how or why messages were classified a certain priority such as high or low. The dialog can then be employed by the user, if desired, to modify or control present or future actions of the system 10 via the user interface 20. Another aspect of the user interface 20 is to enable a plurality of device routing options 94. This can include selecting the actual devices to send information to, configuring the display output of the device to receive messages and to alter characteristics of the transmitted information to the device, for example.
It is to be appreciated that the interface aspects described thus far and which are described in more detail below can be applied to various processes and methodologies for prioritizing information and related management thereof. For example, the aspects relating to reference numerals 60 through 94 in
Referring now to
Another aspect of the user interface 100 includes one or more priority settings 124. The priority settings 124 enable users to determine or adjust a threshold regarding what priority messages are classified as before they are forwarded to the users device. For example, users can set a threshold for the lowest priority a message is classified before transmission to the device (e.g., settings for higher priority allows fewer messages to be forwarded as opposed to setting for lower priority threshold). In addition to the priority settings 124, a reminder setting 128 can be provided to enable users to direct messages (e.g., predetermined or received messages) based upon an event such as a date or time setting. A learning status 132 can also be displayed on the interface 100. This can include providing display output that indicates the number or percentage of previously received messages that have been processed and utilized to train the priorities system according to which messages have been previously classified and the amount of messages that have yet to be employed in the learning process.
Turning now to
Another aspect of the message controls includes threshold adjustments 240. This can include adjusting a priority threshold such that only messages above a predetermined setting are delivered to the user. Related to the threshold adjustments 250, one or more message quantity adjustments can be provided. These adjustments can include providing user settings that limit the number of messages received to a predetermined amount set by the user—regardless of other parameters set in the system (e.g., I want to receive the most urgent messages, and I do not want to receive more than 2 messages per hour). A summary of importance 260 can also be provided in the message controls. The summary 260 gives users feedback about the nature of an assigned priority by the priorities system. In other words, the user can get feedback information relating to theoretical threshold settings. For example, the user can set a theoretical value for a priority threshold and have the system disclose how many messages would have been previously received based upon the proposed priority setting and the past history of received messages that were received according to other priority settings.
In systems that require a fee to be paid for transmitted messages, the user may give thresholds as a bound on the total dollars allowed or allotted for forwarding messages. That is, the user may specify that a system should send the most urgent messages, but at 0.10 per message fee charged (or other fee) by the routing company, to adjust the system thresholds so that it would expect to stay within $5.00 per day, (e.g., 50 messages a day maximum at $0.10/message).
In one aspect of the invention, the quantity of alerts and/or messages that were or would have been transmitted to the user per time or within some specified bound in time (e.g., each week or each month) is monitored for each of several different routing parameters (e.g., the threshold on importance required to send a message), beyond the parameters that were employed. Upon inspection of the controls, the user can be shown what would have happened had the settings (e.g., a threshold required for routing e-mail to a small device) been changed, or displayed for each of a set of thresholds along a continual scale thresholds (See e.g.,
Referring to
Another example of such a rule is If condition, THEN display priority value as assigned by the priorities system. It is noted that the rules can be applied in a disjunctive and/or a conjunctive manner. As an example, a set of cooperative conditions can be selected such that if any of the conditions for an associated rule or policy is true, then a configured action or event can occur. The actions or events can relate to how learning is achieved, how feedback is employed, and/or how messages are routed and/or subsequently provided to the user such as via one or more alerting options. If rules are applied in a conjunctive manner, then all associated conditions for the rule are to be met before invoking a subsequent action or event.
One or more review options 420 can also be provided with the interface 400. For example, a user could configure to have sent messages read or translated over a speaker or other output device according to a priority value. Another option 420 could be to enable a phone review of messages according to priority. Still yet another option 420 can include selecting a setting that causes an automatic phone connection to be established on messages received above a predetermined priority.
Various routing options 430 can be provided with the interface 430. This can include routing messages to a folder based upon a priority attached to the message. For example, medium priority messages and below can be routed to an e-mail service, whereas higher priority messages can be routed to a folder associated with a mobile device, such that all messages ending up in the folder can be delivered to the device. In addition to the routing options 430, a plurality of programming options 440 can be provided. This can include enabling users to employ known programming languages to define custom message delivery rules (e.g., IF priority over 75, AND e-mail is from my wife, THEN contact me at my pager AND my cell phone).
One or more speech recognizer options 450 can be included in accordance with the present invention. This can include selecting to have received audio messages run through a speech recognizer and subsequently assigned a priority value by the priorities system. The priority value can be based on an analysis of such factors as voice pitch, rate, inflection, and loudness, for example. Another configuration option provided by the interface 400 includes channel options 460. This can include overlaying a user's predefined priority value over that assigned by the system. For example, the user can configure that all communications coming from a specific communications channel is to be assigned a priority value of 80 or other priority value (e.g., all messages received from this person, in my device folder, from my e-mail, to my cell phone and so forth are to be assigned a predetermined priority).
Referring to
The interface 700 and the interfaces describe below, provide controls and displays for acquiring preferences, inspecting behavior, and guiding learning and decision policies of a prioritization and/or routing system. The interface 700 as illustrated in
Referring to
Referring to
Referring now to
Referring to
Referring now to
It is noted that the alert criteria of
In the option 2082, the user can specify that the electronic device should be contacted if a new e-mail is received that has a priority greater than a predetermined threshold, and the user has been away from the computer for more than a predetermined amount of time. As shown in
In the option 2084, the user can specify that the electronic device should be contacted only when the current time is within a predetermined range of times. As illustrated, the predetermined range of times is between 8:15 a.m. and 7:30 p.m. Thus, if it is determined that the current time is between 8:15 a.m. and 7:30 p.m., then the user's electronic device will be alerted, consistent with the other options 2082 and/or 2086 if selected.
In the option 2086, the user can specific that if the user is in a meeting, then the user should only be notified if the priority is greater than a predetermined meeting threshold. In general, this meeting threshold is desirably greater than the threshold specified in the option 2082. One possible purpose of this greater threshold is to indicate that the user is receptive to notification of e-mail messages greater than a particular priority in usual circumstances, but that the user is receptive to notification of e-mail messages during meetings only if they have a priority that is unusually great. The predetermined meeting threshold is illustrated as a priority of 95, which is higher than the predetermined threshold of 85 in the option 2082. Thus, if it is determined that the user is in a meeting, and a message is received having a threshold greater than 95, then the user is alerted via his or her electronic device.
In the following section, routing criteria are described. The routing criteria can be utilized as the criteria that govern when and how a user is alerted to a prioritized text by having the text routed. The routing criteria is described with reference to
Referring first to
Referring next to
In the following section, further predetermined criteria for alerting are described. The routing criteria is the criteria that governs when and how a user is alerted to a prioritized document, for example, by having the document displayed, or a sound played to indicate the arrival of the document. The criteria is described with reference to
Referring to
Respective regions 2290, 2292, and 2294 can have four options regarding the alerting of a prioritized document, for example. First, the user may indicate that a sound is played when a document has a priority falling into a given region. Second, the user may indicate that a summary of the message and its priority receives focus, which means that a summary view is displayed listing the inferred priority of the message, and information summarizing the content and nature of the message, including such information as the subject and sender of the message. This summary view may be temporarily selected as the active task on the screen, as opposed to the task currently being worked on by the user. Third, the user may indicate that the document be automatically opened in a window on the screen. Fourth, the user may indicate that an agent or automated assistant with speech recognition and text-to-speech rendering abilities be activated, to alert the user to the priority and to allow the user to engage further in a dialog about hearing or seeing more about the message.
Other alerting options include those selected by checking boxes 2293, 2295 or 2297. Checking box 2293 indicates that if the user is busy, then alerts are deferred until the user is no longer busy, unless the priority of the document is at least a predetermined threshold. As illustrated in
Referring now to
The sorting can also include directing files to system folders having defined labels of importance. This can include having folders labeled with the degree of importance such as low, medium and high, wherein messages determined of a particular importance are sorted to the associated folder. Similarly, one or more audio sounds or visual displays (e.g., icon, symbol) can be adapted to alert the user that a message having a desired priority has been received (e.g., three beeps for high priority message, two beeps for medium, one beep for low, red or blinking alert symbol for high priority, green and non-blinking alert symbol indicating medium priority message has been received).
According to another aspect of the present invention, a notification platform 2417 can be employed in conjunction with the priorities system 2412 to direct prioritized messages to one or more notification sinks accessible to users. The notification platform 2417 can be adapted to receive the prioritized messages 2416 and make decisions regarding when, where, and how to notify the user, for example. As an example, the notification platform 2417 can determine a communications modality (e.g. current notification sink 2418 of the user such as a cell phone, or Personal Digital Assistant (PDA)) and likely location and/or likely focus of attention of the user. If a high importance e-mail were received, for example, the notification platform 2417 can determine the users location/focus and direct/reformat the message to the notification sink 2418 associated with the user. If a lower priority message 2416 were received, the notification platform 2417 can be configured to leave the e-mail in the user's in-box for later review as desired, for example. As will be described in more detail below, other interfaces, routing and/or alerting systems 2419 may be utilized to direct prioritized messages 2416 to users and/or other systems.
In the following section of the description, the generation of a priority for electronic files such as an e-mail is described via an automatic classification system and process. The generation of priorities for messages represented electronically as described can then be employed in other systems. The description in this section is provided in conjunction with
Referring now to
According to one aspect of the invention, the use of the SVM method, which is well understood are employed as the classifier 2420. It is to be appreciated that other classifier models may also be utilized such as Naive Bayes, more general probabilistic dependency models referred to as Bayesian networks, decision trees, and other learning models, including hierarchically structured versions of these models, where alternate layers employ the same or a different classifiers SVM's are configured via a learning or training phase within a classifier constructor and feature selection module 2426. A classifier is a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class—that is, f(x)=confidence(class). In the case of text classification, attributes are words or phrases or other domain-specific attributes derived from the words (e.g., parts of speech, presence of key terms), and the classes are categories of various kinds, such as urgent versus non-urgent messages.
An aspect of SVMs and other inductive-learning approaches is to employ a training set of labeled instances to learn a classification function automatically. The training set is depicted within a data store 2430 associated with the classifier constructor 2426. As illustrated, the training set may include a subset of groupings G1 through GN that indicate potential and/or actual elements or element combinations (e.g., words or phrases) that are associated with a particular category. The data store 2430 also includes a plurality of categories 1 through M, wherein the groupings can be associated with one or more categories. During learning, a function that maps input features to a confidence of class is learned. Thus, after learning a model, categories are represented as a weighted vector of input features.
For category classification, binary feature values (e.g., a word or phrase or other pattern identified in the header or body of an electronic message occurs or does not occur in a category), or real-valued features (e.g., a word or phrase or other pattern identified in the header or body of an electronic message occurs with an importance weight r) are often employed. Since category collections may contain a large number of unique terms, a feature selection is generally employed when applying machine-learning techniques to categorization. To reduce the number of features, features may be removed based on overall frequency counts, and then selected according to a smaller number of features based on a fit to the categories. The fit to the category may be determined via mutual information, information gain, chi-square and/or substantially any other statistical selection technique. These smaller descriptions then serve as an input to the SVM. It is noted that linear SVMs provide suitable generalization accuracy and provide suitably fast learning. Other classes of nonlinear classification technology include polynomial classifiers and radial basis functions and may also be utilized in accordance with the present invention.
The classifier constructor 2426 employs a learning model 2432 in order to analyze the groupings and associated categories in the data store 2430 to “learn” a function mapping input vectors to confidence of class. For many learning models, including the SVM, the model for the categories can be represented as a vector of feature weights, w, wherein there can be a learned vector of weights for respective categories. When the weights w are learned, new texts can be classified by computing the dot product of x and w, wherein w is the vector of learned weights, and x is the vector representing a new text. A sigmoid function may also be provided to transform the output of the SVM to probabilities P. Probabilities provide comparable scores across categories or classes from which priorities can be determined.
The SVM is a parameterized function whose functional form is defined before training. Training an SVM generally requires a labeled training set, since the SVM will fit the function from a set of examples. The training set can consist of a set of N examples. Each example consists of an input vector, xi, and a category label, yj, which describes whether the input vector is in a category. For each category there can be N free parameters in an SVM trained with N examples. To find these parameters, a quadratic programming (QP) problem is solved as is well understood. There is a plurality of well-known techniques for solving the QP problem. These techniques may include a Sequential Minimal Optimization technique as well as other techniques. As depicted in
Referring back to
Feature selection for text classification typically performs a search over single words. Beyond the reliance on single words, domain-specific phrases and high-level patterns of features are also made available. Special tokens can also enhance classification. The quality of the learned classifiers for e-mail criticality, for example, can be enhanced by inputting to the feature selection procedures handcrafted features that are identified as being useful for distinguishing among e-mail of different time criticality. Thus, during feature selection, one or more words as well as phrases and symbols that are useful for discriminating among messages of different levels of time criticality are considered.
As the following examples illustrate, tokens and/or patterns of value in identifying the criticality of messages include such distinctions as, and including Boolean combinations of the following:
Information in a Message Header
For Example:
To: Field (Recipient Information)
- Addressed just to user,
- Addressed to a few people including user,
- Addressed to an alias with a small number of people,
- Addressed to several aliases with a small number of people,
- Cc:'d to user,
- Bcc:'d to user.
From: Field (Sender Information) - Names on pre-determined list of important people, potentially segmented into a variety of classes of individuals, (e.g., Family members, Friends)
- Senders identified as internal to the user's company/organization,
- Information about the structure of organizational relationships relative to the user drawn from an online organization chart such as:
- Managers user reports to,
- Managers of the managers of users,
- People who report to the user,
- External business people.
Past Tense Information
These include descriptions about events that have already occurred such as: - We met,
- meeting went,
- happened,
- got together,
- took care of,
- meeting yesterday.
Future-Tense Information - Tomorrow,
- This week,
- Are you going to,
- When can we,
- Looking forward to,
- Will this,
- Will be.
Meeting and Coordination Information - Get together,
- Can you meet,
- Will get together,
- Coordinate with,
- Need to get together,
- See you,
- Arrange a meeting,
- Like to invite,
- Be around.
Resolved Dates
Future vs. past dates and times indicated from patterns of text to state dates and times explicitly or typical abbreviations such as:
- On May 2,
- At 12:00.
Questions - Words, phrases adjacent to questions marks (?)
Indications of Personal Requests: - Can you,
- Are you,
- Will you,
- you please,
- Can you do,
- Favor to ask,
- From you.
Indications of Need: - I need,
- He needs,
- She needs,
- I'd like,
- It would be great,
- I want,
- He wants,
- She wants,
- Take care of.
Indications of Time Criticality - happening soon,
- right away,
- deadline will be,
- deadline is,
- as soon as possible,
- needs this soon,
- to be done soon,
- done right away,
- this soon,
- by [date],
- by [time].
Importance - is important,
- is critical,
- Word, phrase+!,
- Explicit priority flag status (low, none, high).
Length of Message - Number of bytes in component of new message.
Signs of Commercial and Adult-Content Junk E-Mail - Free!!,
- Word+!!!
- Under 18,
- Adult's only,
- Percent of capitalized words,
- Percent non-alphanumeric characters.
Beyond keywords and phrases, statistics on parts of speech and logical forms of sentences appearing in the subject and body of messages can also be employed.
General Natural Language Processing analysis
- Statistics on appearances of parts of speech and logical forms in sentences in a message,
- Identification of various factoid classes,
- Different patterns of presentation, and so forth.
It is noted that the word or phrase groupings depicted above illustrate exemplary words, groupings, or phrases that may be utilized from which to conduct classifier training. It is to be appreciated that other similar words, groups, or phrases may be similarly employed and thus the present invention is not limited to the illustrated examples.
Furthermore, still referring to
Alternatively, larger quantities of messages can be gathered, wherein new filters are created in a batch process, either per a daily schedule, per the number of new quantities of messages admitted to the training set, and/or combinations. For each message inputted into the classifier, for example, a new case for the classifier can be created. The cases are stored as negative and positive examples of texts that are either high or low priority, for example. As an example, one or more low, medium, and high urgency classes can be recognized such that the probabilities of membership in each of these classes are utilized to build an expected criticality. Larger numbers of criticality classes can be utilized to seek higher resolution. For example, as illustrated in
According to another aspect of the invention, an estimation of a number or value can be achieved by monitoring a user interact with e-mail, for example, rather than labeling the case or message as one of a set of folders. Thus, a classifier can be continued to be updated but have a moving window, wherein cases of messages or documents that are newer than some age are considered, as specified by the user.
For example, a constant rate of loss associated with the delayed review of messages is referred to as the expected criticality (EC) of the message, wherein,
wherein C is a cost function, d is a delay, E is an event, H is the criticality class of the e-mail, and EC is expressed as the sum over the likelihood of the class(es) weighted by the rate of loss described by the cost function C for the potential class(es).
As an example, referring to
It is noted that the present invention as has been described above, the classifier 2420 and the priority 2438 can be based on a scheme wherein the e-mails in the training phase are construed as either high priority or low priority, for example. This scheme is illustrated in reference to
For example, referring to
The present invention is not limited to the definition of priority as this term is employed by the classifier 2420 to assign such priority to a message such as an e-mail message. Priority can be defined in terms of a loss function, for example. More specifically, priority can be defined in terms of the expected cost in lost opportunities per time delayed in reviewing the message after it has be received. That is, the expected loss or cost that will result for delayed processing of the message. The loss function can further vary according to the type of message received.
For example, a general case is illustrated in
It is noted that a criticality “C” which is described in more detail below can be assigned to the cost functions. Thus, “C” generally describes a “cost rate” which refers to the rate at which cost is accrued with delayed review. The “cost functions” are thus defined as the “rate” at which cost is accrued. A total cost, which can be defined as an Expected Loss, “EL” can be defined as:
EL=C*t, wherein the amount of time, t, has transpired between the message being sent and its receipt. If the cost rate is considered to be constant, to the total expected loss rises linearly with increasing amounts of time delay until a message is reviewed. There may typically be uncertainty in the amount of time that will transpire until a message is reviewed by a user, (e.g., based on the user's context now or the expected future context of the user), or, more generally, based upon one or more observations (e.g., the time the user was last seen at a desktop computer, the user's current appointment status in the calendar, and so forth), and/or data about past behavior of the user. Given such uncertainty, the expected loss is computed by summing together the expected losses for each amount of time delay, and weighting the contribution of loss for each potential delay by the probability of seeing that time delay such as:
wherein EL′ is an uncertainty in time of delay, E represents one or more observations about a user state (e.g., a calendar, a room acoustic, a desktop activity, a time since last touched an active device), and i and j are indexes, i and j being integers.
If the cost rate is non-linear, the loss with delayed review can be similarly computed but with integration of the time-dependent rate over time such as:
An expected loss can also be computed by adding a term to capture the likelihood of different delays.
For example, some messages, however, do not have their priorities well approximated by the use of a linear cost function. As an example, a message relating to a meeting will have its cost function increase as the time of the meeting nears, and thereafter, the cost function rapidly decreases. That is, after the meeting is missed, there is not much generally a user can do about it. This situation is better approximated by a non-linear cost function, as depicted in
Thus, as has been described, the priority of a message can be just the likelihood that it is of one of a plurality of priorities based on the output of a classifier, or the most likely priority class the message applies to, also based on the output of the classifier. Alternatively, an expected time criticality of the message, such as an e-mail message, can be determined. This can be written as:
wherein EC is the expected rate of loss, p(criticali) is the probability that a message has the criticality i, C(criticali) is the cost function for messages having the criticality i, representing the constant rate of loss of value with delayed review, and n is the total number of criticality classes minus one. In the general case, cost functions may be linear or non-linear, as has been described. In the case where the function is linear, the cost function defines a constant rate of loss with time. For non-linear functions, the rate of loss changes with delayed review or processing of the message and can increase or decrease, depending on the amount of delay.
If there are two criticality classes low and high as an example, the expected loss can be reformulated as:
EC=p(criticalhigh)C(criticalhigh)+[1−p(criticalhigh)]C(criticallow)
wherein EC is the expected criticality of a message. Furthermore, if the cost function of low criticality messages is set to zero, this becomes:
EC=p(criticalhigh)C(criticalhigh)
For rate of loss that is non-linear with respect to time, an index can be created for the rate of loss by the time of delayed review. In such cases, the total loss until the time of review of a message can be computed and can be expressed as the integration of the time-dependent criticality, or,
EL=∫0tp(criticalhigh)C(criticalhigh,t)dt
wherein t is the time delay before reviewing the document or message.
Other measures that accord a value metric for ranking documents, such as e-mail messages, by importance. While the discussion above focused on priority as time criticality, other notions of “importance” can also be trained. For example, this can be accomplished by labeling a set of training folders: “High Importance” all the way down to “Low Importance” wherein a measure of “expected importance” can be determined. Another metric can be based on a semantic label, “messages that I would wish to hear about within 1 day while traveling” and to determine a measure for prioritizing messages for forwarding to a traveling user. Furthermore, one utilized metric is urgency or time-criticality, as it has clear semantics for decision-making, triage, and routing. In this case, the classes are labeled according to different levels of urgency and computed as an expected urgency for each message from the probabilities inferred that the message is in each class.
Extensions to criticality classification, as described in the previous section, can also be provided in accordance with the present invention. For instance, classification can include an automatic search for combinations of high-payoff features within or between classes of features. As an example, combinations of special distinctions, structures, and so forth, with words that have been found to be particularly useful for certain users can be searched for and utilized in the classification process. A combination of two features is referred as a doublet, whereas a combination of three features is referred to as a triplet, and so forth. The combination of features can enable improved classification. Classification can also be improved with the use of incremental indexing that employs a moving window in the classifier. This enables the classifier to be routinely refreshed, as old data is timed out, and new data is brought in.
Classification can also be based on the determination of the date and time of an event specified in a message. This determination can assign features to the message that can be utilized by the classifier. For example, the features assigned may include: today within four hours, today within eight hours, tomorrow, this week, this month, and next month and beyond. This enables the classifier to have improved accuracy with respect to the messages that are classified. In general, classification can be based on the time of the referenced event, considering whether the event is in the future or has past. With respect to future events, classification thus considers the sender's reference to a time in the future when the event is to occur.
Other new features can also be integrated into the classification process. For example, an organization chart can be utilized to determine how important a message is by the sender's location within the chart. Linguistic features may be integrated into the classifier. To accommodate different languages, the features may be modified depending on the origin of the sender, and/or the language in which the message is written. Classification may vary depending on different folders in which messages are stored, as well as other scaling and control rules. In addition to e-mail and other sources, classification can be performed on instant messages, and other sources of information, such as stock tickers, and so forth.
In general, a sender-recipient structural relationship may be considered in the classification process. If the user is substantially the only recipient of a message, for example, then this message may be considered as more important than a message sent to a small number of people. In turn, a message sent to a small number of people may be more important than a message on which the user is blind-copied (bcc'ed) or carbon-copied (cc'ed). With respect to the sender, criticality may be assigned based on whether the sender's name is recognized. Criticality may also be assigned depending on whether the sender is internal or external to the organization of which the user is associated.
Other distinctions that may be considered in classification include the length of the message, whether questions have been detected, and whether the user's name is in the message. Language associated with time criticality may increase the message's importance. For example, phrases such as “happening soon,” “right away,” “as soon as possible,” “ASAP,” and “deadline is,” may render the message more critical. Usage of past tense as compared to future tense may be considered, as well as coordinative tasks specified by phrases such as “get together,” “can we meet,” and so on. Evidence of junk mail may lower the priority of a message. Predicates representing combinations, such as a short question from a sender proximate to the user in the organization chart, may also be considered in the classification process.
In the next section of the description, processes are described that provide a determination when to alert the user of a high-priority text, for example, a text that has a likelihood of being high priority greater than a user-set threshold, or greater than a threshold determined by decision-theoretic reasoning. That is, beyond knowing about time-critical messages, it is also important to decide when to alert a user to time-critical messages if the user is not directly viewing incoming e-mail, for example. In general, a cost of distracting the user from the current task being addressed to learn about the time-critical message is determined.
Alternatively, various policies for alerting and notification can be employed. Some of these policies include:
-
- Setting a user-specified upper bound on the total loss. This policy would specify that a system should generate an alert when the total loss associated with the delayed review of a message exceeds some pre-specified “tolerable” loss “x”.
- Another policy can be a cost-benefit analysis based on more complete decision-theoretic analysis, such as NEVA=EVTA−ECA−TC, wherein NEVA is the net expected value of alerting, EVTA is the expected value of alerting, ECA is the expected cost of alerting, and TC is the transmission cost associated with communicating a message.
In general, a user should be alerted when a cost-benefit analysis suggests that the expected loss the user would incur in not reviewing the message at time t is greater than the expected cost of alerting the user. That is, alerting should be conducted if:
EL−ECA>0
wherein EL is the expected loss of non-review of the message at a current time t, and ECA is the expected cost of alerting the user of the message at the current time t. The expected loss is as described in the previous section of the description.
However, the above formulation may not be the most accurate, since the user will often review the message on his or her own in the future. Therefore, in actuality, the user should generally be alerted when the expected value of alerting, referred to as EVTA, is positive. The expected value of alerting should thus consider the value of alerting the user of the message now, as opposed to the value of the user reviewing the message later on their own, without alert, minus the cost of alerting. This can be stated as:
EVA=ELalert−ELno-alert−ECA
wherein ELalert is the expected loss of the user reviewing the message if he or she were to review the message now, upon being alerted, as opposed to ELno-alert, which is the expected loss of the user reviewing the message on his or her own at some point, without being alerted, minus EC, the expected cost of alerting based on a consideration of distraction and on the direct cost of the transmitting the information.
Furthermore, information from several messages can be grouped together into a single compound alert. Reviewing information about multiple messages in an alert can be more costly than an alert relaying information about a single message. Such increases in distraction can be represented by making the cost of an alert a function of its informational complexity. It can be assumed that the EVA of an e-mail message is independent of the EVA of other e-mail messages. EVA(Mi,t), for example, refers to the value of alerting a user about a single message Mi at time t and ECA(n) refers to the expected cost of relaying the content of n messages. Thus, multiple messages can be considered by summing together the expected value of relaying information about a set of n messages, wherein:
It is also noted that in order to determine the expect cost of alerting, it is useful to infer or directly access information about whether the user is present or is not present. Sensors can be employed that indicate when a user is in the office, such as infrared sensors and pressure sensors. However, if such devices are not available, a probability that a user is in the office can be assigned as a function of user activity on the computer, for example, such as the time since last observed mouse or keyboard activity. Furthermore, scheduling information available in a calendar can also be employed to make inferences about the distance and disposition of a user and to consider the costs of forwarding messages to the user by different processes.
It is also important to know how busy the user is in making decisions about interrupting the user with information about messages with high time criticality. It can be reasoned (e.g. inferential decision-making) about whether and the rate at which a user is working on a computer, or whether the user is on the telephone, speaking with someone, or at a meeting at another location. Several classes of evidence can be employed to assess a user's activity or his or her focus of attention, as illustrated in
In general, a decision should be made as to when and how to alert users to messages and to provide services based on the inference of expected criticality and user activity. Decisions can be performed by utilizing decision-models, for example.
Alternatively, decisions as to when and how to alert users can be made by employment of a set of user-specified thresholds and parameters defining policies on alerting. User presence can be inferred based on mouse or keyboard activity, for example. Thus, a user can be enabled to input thresholds on alerting for inferred states of activity and non-activity, for example. Users can also input an amount of idle activity following activity wherein alerting will occur at lower criticalities. If it is determined that the user is not available based on the time that substantially no computer activity is detected, then messages can be stored, and are reported to the user in order of criticality when the user returns to interact with the computer. Furthermore, users can specify routing and paging options as a function of quantities including expected criticality, maximum expected loss, and value of alerting the user.
A notification and/or alerting system may also estimate when the user is expected to return, such that it transmits priorities that are expected to be important before the user is expected to return. This can be achieved by learning user-present and user-away patterns over time. The user can then set suitable policies in terms of when he or she is expected to return to the system to review the priorities without being alerted to them. The expected time to return determination by the system may be automatically conveyed to senders of highly urgent messages, for example. In this manner, message senders receive feedback when the user is expected to return such that he or she can reply to the messages. The sender may also be informed that his or her message has been conveyed to the user's mobile device, and so forth.
Referring to
The priority of the data is then output at 2484. As indicated in
The output of the alert to a user or other system is now described. A user can be alerted on an electronic device based on alert criteria, which indicates when the user should be alerted of a prioritized text. The electronic device on which the user is alerted can be a pager, cellular telephone, or other communications modality as described in more detail below. Alerts to a user on an electronic device, such as a pager or a cellular phone, can be based on alert criteria that can be adapted to be sensitive to information about the location, inferred task, and/or focus of attention of the user, for example. Such information can be inferred under uncertainty or can be accessed from online information sources. The information from an online calendar, for example, can be adapted to control criteria employed to make decisions about relaying information to a device, such as a notification sink which is described in more detail below.
Alerts can be performed by routing the prioritized text or other data based on routing criteria. Routing of the text can include forwarding the text, and/or replying to the sender of the text, in the case where the text is e-mail. For example, a sound can be played to alert the user to a prioritized document. Alternatively, an agent or automated assistant can be opened (e.g., interactive display wizard). That is, the agent can appear on a display screen, to notify the user of the prioritized document. Furthermore, the prioritized document can be opened, such as being displayed on the screen. The document can receive focus. This can also include sizing the document based on its priority, such that the higher the priority of the document, the larger the window in which it is displayed, and/or centrally locating the document on the display based on its priority.
Referring now to
The program 2502 generates a text for input into the classifier 2504. The program includes an electronic mail program that receives e-mail, which then serve as the text. The classifier 2504 generates a priority for the associated message. As described above, the classifier 2504 can be a Bayesian classifier, a Support Vector Machine classifier, or other type of classifier. The priority of the text output by the classifier 2504 can then be utilized in conjunction with a cost-benefit analysis, as has been described, to effectuate further output and/or alerting based thereon.
Referring now next to
Referring next to
An alerting system 2530, also depicted in
The system 2530 can include other functionality as well. For example, a priorities-oriented viewer (not shown) can be provided that performs as a view onto a user's e-mail store, in terms of its ability to filter by priority. The viewer can enable summaries of messages to be sorted in a list by priority score, for example. The viewer can also enable a user to sort and view only those messages that remain unread as an option. The viewer can also enable users to scope the sorting of messages by priority within some scoped time period, and to change the scope or periods being considered. For example, a user can specify that the viewer only display e-mail from today. Alternatively, the user can specify that the priorities list span two days, one week, or all the messages in the in-box. The viewer can also let the user prune from the display messages below a user-specified minimal threshold.
Furthermore, beyond the use of qualitatively different sounds for low, medium, and high priorities, one or more scalar parameters can be utilized that define the manner by which an alerting sound is rendered. The parameters can be functions of an inferred priority. Such parameters include variables that such as the volume of the alerting sound, for example, to continuous changes in the modulation or resonance of the sound.
Other functionality can be provided to users to define thresholds among different ranges of uncertainty, and wherein users can specify multiple options involving the automation of the sizing and centering of messages within each range. For example, A “While Away” briefer can be included to give the user a summary of messages that have arrived while a user was away or busy with another application. The system can be configured to bring up a summary of e-mail directed by priority values when a user returns after being away, or comes back to the viewer after working with the system in a quiet mode. The automated text summarizer can be controlled to decrease a summarization level of the text of messages as a function of the priority of the document. That is, as documents increase in priority, they are less and less summarized in the summarized view. The priorities can also be utilized to color or add other annotations, such as priority flags, icons indicating level of priority, and a special priority field itself, to e-mail headers appearing in the display.
Furthermore, a user-defined threshold can be utilized on the priority assigned to messages to set up a temporary interaction context that is active for some portion of time following an alert or summary that a message has arrived exceeding the threshold. Following an alert, and lasting for the time period that an interaction context is active, predetermined gestures are enabled to give the user access to more details about the message that was associated with the alert. Such gestures include a simple wiggle of the mouse from side to side, for example. As an example, an audio alert may indicate that an incoming message has exceeded some threshold of criticality. The user can then wiggle the mouse quickly from side to side to see details about the message that led to the alert. The amount of time that such an interaction context is active can be made a function of the priority of the message, or can be user-defined.
In order to provide a context for the various aspects of the invention,
With reference to
The system bus may be any of several types of bus structure including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory may include read only memory (ROM) 2624 and random access memory (RAM) 2625. A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computer 2620, such as during start-up, is stored in ROM 2624.
The computer 2620 further includes a hard disk drive 2627, a magnetic disk drive 2628, e.g., to read from or write to a removable disk 2629, and an optical disk drive 2630, e.g., for reading from or writing to a CD-ROM disk 2631 or to read from or write to other optical media. The hard disk drive 2627, magnetic disk drive 2628, and optical disk drive 2630 are connected to the system bus 2623 by a hard disk drive interface 2632, a magnetic disk drive interface 2633, and an optical drive interface 2634, respectively. The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, etc. for the computer 2620. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like, may also be used in the exemplary operating environment, and further that any such media may contain computer-executable instructions for performing the methods of the present invention.
A number of program modules may be stored in the drives and RAM 2625, including an operating system 2635, one or more application programs 2636, other program modules 2637, and program data 2638. It is noted that the operating system 2635 in the illustrated computer may be substantially any suitable operating system.
A user may enter commands and information into the computer 2620 through a keyboard 440 and a pointing device, such as a mouse 2642. Other input devices (not shown) may include a microphone, a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 2621 through a serial port interface 2646 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor 2647 or other type of display device is also connected to the system bus 2623 via an interface, such as a video adapter 2648. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.
The computer 2620 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 2649. The remote computer 2649 may be a workstation, a server computer, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 2620, although only a memory storage device 2650 is illustrated in
When employed in a LAN networking environment, the computer 2620 may be connected to the local network 2651 through a network interface or adapter 2653. When utilized in a WAN networking environment, the computer 2620 generally may include a modem 2654, and/or is connected to a communications server on the LAN, and/or has other means for establishing communications over the wide area network 2652, such as the Internet. The modem 2654, which may be internal or external, may be connected to the system bus 2623 via the serial port interface 2646. In a networked environment, program modules depicted relative to the computer 2620, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be employed.
In accordance with the practices of persons skilled in the art of computer programming, the present invention has been described with reference to acts and symbolic representations of operations that are performed by a computer, such as the computer 2620, unless otherwise indicated. Such acts and operations are sometimes referred to as being computer-executed. It will be appreciated that the acts and symbolically represented operations include the manipulation by the processing unit 2621 of electrical signals representing data bits which causes a resulting transformation or reduction of the electrical signal representation, and the maintenance of data bits at memory locations in the memory system (including the system memory 2622, hard drive 2627, floppy disks 2629, and CD-ROM 2631) to thereby reconfigure or otherwise alter the computer system's operation, as well as other processing of signals. The memory locations wherein such data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties corresponding to the data bits.
What has been described above are preferred aspects of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.
Claims
1. A system providing a user interface to manage electronic messages, the system comprising:
- a display device;
- a priority component that assigns a respective priority value to one or more messages;
- one or more display objects on the display device, the one or more display objects each being associated with delivery of a respective message of the one or more messages, and the one or more display objects each having an appearance selected based at least in part on a priority value of the respective message; and
- one or more controls on the display device to receive user inputs that adapt the user interface to one or more preferences of a user, the one or more inputs includes at least one or more user preferences for associating a predetermined priority with a communication channel, wherein the priority component assigns a priority value to a voice message based upon the predetermined priority for the communication channel from which the voice message is received.
2. The system of claim 1, the one or more display objects including one or more profiles that relate to a time and manner of delivery of the one or more messages.
3. The system of claim 2, the one or more profiles relating to an active profile and a default profile configurable by the user.
4. The system of claim 2, the one or more profiles are associated with one or more delivery options for sending the messages to a device.
5. The system of claim 4, the one or more delivery options including at least one of send messages to a mobile device, send messages from a folder associated with the mobile device, enable prioritized delivery.
6. The system of claim 4, the delivery options including chunking options, the chunking options comprise at least one of holding and delivering messages until a predetermined time specified by the user, holding and delivering messages until a predetermined number of messages have accumulated, and holding and delivering messages based upon a predetermined inactivity of a computer.
7. The system of claim 2, the one or more profiles have an associated priority setting such that messages are transmitted based upon a threshold configurable by the user.
8. The system of claim 7, the priority setting associated with a display object having a slider to adjust the threshold, the threshold having a range from high priority messages sent to all messages sent to a mobile device.
9. The system of claim 2, the one or more profiles including at least one of a calendar and time setting associated with the one or more display objects.
10. The system of claim 2, the one or more profiles are associated with at least one of work, home, out of office and do not disturb.
11. The system of claim 1, the one or more display objects including status information associated with an amount of learning that has been achieved by a priorities system.
12. The system of claim 1, the one or more display objects selectable to send a summary of information to a device associated with the one or more messages.
13. The system of claim 6, the one or more display objects including a reset of the amount of messages sent to the device.
14. The system of claim 1, the one or more display objects comprising one or more rules configurable by the user to effect delivery of the messages to a device, the one or more rules including selection options of at least one of sending messages based on importance, sending messages based on the user's name and a TO field, sending messages based on the user's name and a CC field, and sending messages based on a source of the message.
15. The system of claim 1, further comprising providing feedback to the user via the one or more display objects regarding learning associated with a priorities system.
16. The system of claim 15, the feedback includes information relating to learning when messages are deleted by the user.
17. The system of claim 15, the feedback includes information relating to where messages are learned from.
18. The system of claim 15, further comprising at least one of back-up, restore, and reset options regarding the learning.
19. The system of claim 1, further comprising one or more device options relating to how messages are displayed on a device.
20. The system of claim 19, the one or more device options further comprising a selectable compression setting to control the amount of information displayed.
21. The system of claim 19, the one or more device options further comprising limiting a number of messages sent, limiting the number of characters in the messages, and automatically resetting the number of messages sent.
22. The system of claim 19, the one or more device options further comprising configuring display information relating to a sender of the messages.
23. A user interface to manage electronic messages, comprising:
- means for providing graphical displays associated with one or more messages that have been automatically classified according to a priority of the respective messages; and
- means for configuring the graphical displays according to one or more user preferences associated with the priority and delivery of the one or more messages, the one or more user preferences includes one or more deferral policies that are given as bounds such that a message of a particular priority will not wait more than a predetermined amount of time before being displayed to a user.
24. A method for delivering messages to a device, comprising:
- with at least one processor: receiving user input scheduling a period when one or more user profiles are activated; receiving user input configuring at least one set of parameters for the one or more profiles; assigning priority values to one or more messages, wherein a message is assigned a priority value based upon a predetermined priority associated with a communication channel from which the message is received; and delivering the one or more messages based at least in part on the priority values, the profile that is activated in accordance with a scheduled period, and the at least one set of parameters.
25. The method of claim 24, further comprising assigning at least one of a color and a sound to indicate the priority of the messages.
26. The method of claim 24, further comprising deferring messages until a more convenient time established by the user.
27. The method of claim 24, further comprising providing status information relating to why a message is of a determined priority.
28. The method of claim 24, further comprising observing a previous history of activity and providing feedback as to a message delivery volume based upon the history.
29. The method of claim 24, further comprising employing an information agent to consider restrictions from other parties before delivering the one or more messages.
30. The method of claim 24, further comprising activating one or more rules that operate to influence when messages are sent to a user.
31. The method of claim 30, the one or more rules include an if and then construct such that if an event occurs then a message is automatically assigned a predetermined priority.
32. The method of claim 30, the one or more rules include an if and then construct such that if an event occurs then a priority value of a learning process is disclosed.
33. The method of claim 24, the one or more rules include an if and then construct such that if a message is received from a selected communications channel, then a message is automatically assigned a predetermined priority.
34. The method of claim 24, further comprising automatically reviewing messages by an order determined by the priority value.
35. The method of claim 24, further comprising automatically calling the user if the priority value is above a predetermined threshold.
36. The method of claim 24, further comprising converting audio messages into text.
37. The method of claim 36, further comprising determining a priority for the messages based upon at least one of the pitch, rate, content, and inflection of the messages.
38. An adaptive prioritization and routing system providing a user interface, comprising:
- a display device;
- one or more controls and displays on the display device to at least one of acquire user preferences, inspect behavior, and guide learning and decision policies of the adaptive prioritization and routing system, wherein the user preferences includes a user defined amount of time of user inactivity of a message retrieval device; and
- a user interface associated with the one or more controls and displays that facilitates inspection, control and learning associated with alerting and routing prioritized messages, wherein the user interface holds back messages from delivery to the message retrieval device when inactivity exceeding the user defined amount of time is detected.
39. The system of claim 38, further comprising a plurality of parameters that are configured in conjunction with various configuration and adjustment options to facilitate personalization of the user interface.
40. The system of claim 39, the personalization includes at least one of employing explicit and implicit user feedback relating to how messages are classified and subsequently provided to the user.
41. The system of claim 40, the feedback is employed to guide learning and decision policies in the adaptive prioritization and routing system.
42. The system of claim 40, the feedback includes dialog that is provided to users to further refine at least one of learning and decision policies in the adaptive prioritization and routing system.
43. The system of claim 40, the explicit feedback includes such actions as configuring the user interface to consider a selection of messages as being more important than another selection of messages and altering learning about how decisions are made regarding message urgency.
44. The system of claim 40, the implicit feedback includes monitoring various context aspects of the user to determine message importance.
45. The system of claim 44, the implicit feedback includes at least one of monitoring sounds, keyboard activities, presence detectors, pauses when reviewing messages, how quickly messages are opened and deleted, and whether messages are saved, copied and forwarded.
46. The system of claim 40, the feedback includes directing messages to the user regarding learning decisions such as at least one of “You are about to delete messages that have not yet been employed in the learning process,” and messages relating to how and why messages were classified a certain priority.
47. The system of claim 38, further comprising one or more configuration and adjustment options that include at least one of profile options, routing options, alerting options, chunking options, schedule options, and context-sensitive control options.
48. The system of claim 47, the chunking options include grouping M messages, M being an integer, the M messages are held as a group before delivery of the messages to the user.
49. The system of claim 38, further comprising one or more rules that act in conjunction with a routing system, learning status and configuration options for guiding and inspecting the state of learning of a message urgency system.
50. The system of claim 49, the one or more rules including conditions that are applied in at least one of a disjunctive and a conjunctive manner.
51. The system of claim 38, further comprising one or more device option configurations for controlling message output to a selected message reception and display device.
52. The system of claim 38, further comprising prioritized messages having acoustical properties including at least one of prosadic features, temporal patterns of rate, pitch, inflections, and an overall energy associated with voice messages.
53. The system of claim 38, further comprising a priority threshold adjustment that facilitates control of how many messages are sent to a users device.
54. The system of claim 53, further comprising an overlay adjustment that limits the number of messages sent to the users device per a given timeframe.
55. The system of claim 38, further comprising a threshold adjustment that is employed as a bound on the total dollars allotted for forwarding messages to a user.
56. The system of claim 55, the user specifies that a system sends the most urgent messages, but at a certain cost per message by a routing company, adjust the threshold so that it would expect to stay within a certain cost per day.
57. The system of claim 38, further comprising one or more deferral policies that are given as bounds such that a message of a particular urgency will not wait more than at least one of a predetermined and dynamically computed upper limit of time.
58. The system of claim 57, the policies are at least in part based on a function of the message urgency.
59. The system of claim 58, a user specifies at least one of that a message of high urgency should be transmitted with an alert to one or more active devices as soon as possible and to be available for review if the user happens to inspect messages that are waiting.
60. The system of claim 59, further comprising a policy that if the user is more than a specified level of non-interruptability and the message has not been observed, then wait a predetermined time before alerting the user.
61. An adaptive prioritization and routing system providing a user interface, the system comprising:
- a display device;
- one or more controls and displays to acquire message priority settings associated with the adaptive prioritization and routing system; and
- a user interface on the display device and associated with the one or more controls and displays that provides at least a user adjustable control of an amount of messages received via the message priority settings and a feedback directed to the user relating to the settings, the feedback includes a quantity indicating the number of messages that would have been transmitted to a user within a specified bound in time based upon the priority settings.
62. The system of claim 61, the feedback includes a quantity of alerts that would have been transmitted to the user within a specified bound in time.
63. The system of claim 61, further comprising monitoring user actions for each of several different routing parameters based upon a threshold on importance required to send a message beyond the parameters that were employed.
64. The system of claim 61, further comprising a user display including at least one of what would have happened had the settings been changed, and a display for a set of thresholds along a continual scale thresholds.
65. The system of claim 64, the feedback further comprising previously tracked numbers of messages that would have been received at different simulated values of the threshold.
66. The system of claim 65, further comprising providing feedback over at least one of a day, week, and month that is displayed at respective settings so as to be reviewed by users as guides to roughly predict future behavior of the adaptive prioritization and routing system for potential settings of the threshold.
67. The system of claim 65, further comprising employing recent history as a predictor of the future.
68. The system of claim 65, further comprising advanced simulations that are employed to perform “what-if” analyses for at least one of different settings, parameters and policies, such that new settings can be based on an expected number of alerts per given timeframe at different settings.
4789962 | December 6, 1988 | Berry et al. |
5377354 | December 27, 1994 | Scannell et al. |
5423043 | June 6, 1995 | Fitzpatrick et al. |
5471399 | November 28, 1995 | Tanaka et al. |
5493692 | February 20, 1996 | Theimer et al. |
5508817 | April 16, 1996 | Kunigami |
5544321 | August 6, 1996 | Theimer et al. |
5555346 | September 10, 1996 | Gross et al. |
5555376 | September 10, 1996 | Theimer et al. |
5603054 | February 11, 1997 | Theimer et al. |
5611050 | March 11, 1997 | Theimer et al. |
5615325 | March 25, 1997 | Peden |
5644363 | July 1, 1997 | Mead |
5717877 | February 10, 1998 | Orton et al. |
5736974 | April 7, 1998 | Selker |
5742905 | April 21, 1998 | Pepe et al. |
5751965 | May 12, 1998 | Mayo et al. |
5757852 | May 26, 1998 | Jericevic et al. |
5757916 | May 26, 1998 | MacDoran et al. |
5767852 | June 16, 1998 | Keller et al. |
5784124 | July 21, 1998 | D'Alitalia et al. |
5812865 | September 22, 1998 | Theimer et al. |
5831545 | November 3, 1998 | Murray et al. |
5852440 | December 22, 1998 | Grossman et al. |
5859640 | January 12, 1999 | de Judicibus |
5864848 | January 26, 1999 | Horvitz et al. |
5928330 | July 27, 1999 | Goetz et al. |
5973612 | October 26, 1999 | Deo et al. |
5987234 | November 16, 1999 | Hirosawa et al. |
6021403 | February 1, 2000 | Horvitz et al. |
6055505 | April 25, 2000 | Elston |
6057842 | May 2, 2000 | Knowlton et al. |
6067477 | May 23, 2000 | Wewalaarachchi et al. |
6067565 | May 23, 2000 | Horvitz |
6078322 | June 20, 2000 | Simonoff et al. |
6078568 | June 20, 2000 | Wright et al. |
6094681 | July 25, 2000 | Shaffer et al. |
6101531 | August 8, 2000 | Eggleston et al. |
6144363 | November 7, 2000 | Alloul et al. |
6167448 | December 26, 2000 | Hemphill et al. |
6199106 | March 6, 2001 | Shaw et al. |
6256664 | July 3, 2001 | Donoho et al. |
6262730 | July 17, 2001 | Horvitz et al. |
6289380 | September 11, 2001 | Battat et al. |
6301609 | October 9, 2001 | Aravamudan et al. |
6327581 | December 4, 2001 | Platt |
6332127 | December 18, 2001 | Bandera et al. |
6337699 | January 8, 2002 | Nielsen |
6342908 | January 29, 2002 | Bates et al. |
6353398 | March 5, 2002 | Amin et al. |
6360101 | March 19, 2002 | Irvin |
6374289 | April 16, 2002 | Delaney et al. |
6400810 | June 4, 2002 | Skladman et al. |
6425127 | July 23, 2002 | Bates et al. |
6437812 | August 20, 2002 | Giles et al. |
6438618 | August 20, 2002 | Lortz et al. |
6456307 | September 24, 2002 | Bates et al. |
6459440 | October 1, 2002 | Monnes et al. |
6459913 | October 1, 2002 | Cloutier |
6463462 | October 8, 2002 | Smith et al. |
6463471 | October 8, 2002 | Dreke et al. |
6466232 | October 15, 2002 | Newell et al. |
6480207 | November 12, 2002 | Bates et al. |
6499021 | December 24, 2002 | Abu-Hakima |
6513026 | January 28, 2003 | Horvitz et al. |
6513046 | January 28, 2003 | Abbott, III et al. |
6542868 | April 1, 2003 | Badt et al. |
6549219 | April 15, 2003 | Selker |
6549915 | April 15, 2003 | Abbott, III et al. |
6563514 | May 13, 2003 | Samar |
6577329 | June 10, 2003 | Flickner et al. |
6584502 | June 24, 2003 | Natarajan et al. |
6590587 | July 8, 2003 | Wichelman et al. |
6591279 | July 8, 2003 | Emens et al. |
6593943 | July 15, 2003 | MacPhail |
6618716 | September 9, 2003 | Horvitz |
6622160 | September 16, 2003 | Horvitz |
6650902 | November 18, 2003 | Richton |
6672506 | January 6, 2004 | Swartz et al. |
6674720 | January 6, 2004 | Passint et al. |
6678719 | January 13, 2004 | Stimmel |
6697840 | February 24, 2004 | Godefroid et al. |
6714967 | March 30, 2004 | Horvitz |
6741188 | May 25, 2004 | Miller et al. |
6747675 | June 8, 2004 | Abbott et al. |
6757362 | June 29, 2004 | Cooper et al. |
D494584 | August 17, 2004 | Schlieffers et al. |
6781972 | August 24, 2004 | Anderlind et al. |
6791580 | September 14, 2004 | Abbott et al. |
6796505 | September 28, 2004 | Pellaumail et al. |
6801223 | October 5, 2004 | Abbott et al. |
6812937 | November 2, 2004 | Abbott et al. |
6829639 | December 7, 2004 | Lawson et al. |
6837436 | January 4, 2005 | Swartz et al. |
6842877 | January 11, 2005 | Robarts et al. |
6853634 | February 8, 2005 | Davies et al. |
6965917 | November 15, 2005 | Aloni et al. |
7010501 | March 7, 2006 | Roslak et al. |
7016944 | March 21, 2006 | Meyer et al. |
7040541 | May 9, 2006 | Swartz et al. |
7063263 | June 20, 2006 | Swartz et al. |
7069309 | June 27, 2006 | Dodrill et al. |
7073129 | July 4, 2006 | Robarts et al. |
7139718 | November 21, 2006 | Jeyachandran et al. |
7155729 | December 26, 2006 | Andrew et al. |
7162238 | January 9, 2007 | Massie et al. |
7171378 | January 30, 2007 | Petrovich et al. |
7195157 | March 27, 2007 | Swartz et al. |
7209955 | April 24, 2007 | Major et al. |
7259694 | August 21, 2007 | Myllymaki et al. |
7385501 | June 10, 2008 | Miller et al. |
20010030664 | October 18, 2001 | Shulman et al. |
20010030667 | October 18, 2001 | Kelts |
20010040590 | November 15, 2001 | Abbott et al. |
20010040591 | November 15, 2001 | Abbott et al. |
20010043231 | November 22, 2001 | Abbott et al. |
20010043232 | November 22, 2001 | Abbott et al. |
20010049275 | December 6, 2001 | Pierry et al. |
20020032689 | March 14, 2002 | Abbott, III et al. |
20020044152 | April 18, 2002 | Abbott, III et al. |
20020052930 | May 2, 2002 | Abbott et al. |
20020052963 | May 2, 2002 | Abbott et al. |
20020054117 | May 9, 2002 | van Dantzich et al. |
20020054130 | May 9, 2002 | Abbott, III et al. |
20020054174 | May 9, 2002 | Abbott et al. |
20020078204 | June 20, 2002 | Newell et al. |
20020080155 | June 27, 2002 | Abbott et al. |
20020080156 | June 27, 2002 | Abbott et al. |
20020083025 | June 27, 2002 | Robarts et al. |
20020083158 | June 27, 2002 | Abbott et al. |
20020087525 | July 4, 2002 | Abbott et al. |
20020087649 | July 4, 2002 | Horvitz |
20020099817 | July 25, 2002 | Abbott et al. |
20020171581 | November 21, 2002 | Sheynblat et al. |
20020174199 | November 21, 2002 | Horvitz |
20030028603 | February 6, 2003 | Aktas et al. |
20030046351 | March 6, 2003 | Maruyama et al. |
20030046401 | March 6, 2003 | Abbott et al. |
20030154476 | August 14, 2003 | Abbott, III et al. |
20040030753 | February 12, 2004 | Horvitz |
20040061716 | April 1, 2004 | Cheung et al. |
20040098462 | May 20, 2004 | Horvitz et al. |
20040117443 | June 17, 2004 | Barsness |
20040143636 | July 22, 2004 | Horvitz et al. |
20040199663 | October 7, 2004 | Horvitz et al. |
20040201500 | October 14, 2004 | Miller et al. |
20040225718 | November 11, 2004 | Heinzel et al. |
20050034078 | February 10, 2005 | Abbott et al. |
20050050143 | March 3, 2005 | Gusler et al. |
20050248437 | November 10, 2005 | Hellebust et al. |
20050266858 | December 1, 2005 | Miller et al. |
20050272442 | December 8, 2005 | Miller et al. |
20060019676 | January 26, 2006 | Miller et al. |
20070011314 | January 11, 2007 | Horvitz et al. |
20070214228 | September 13, 2007 | Horvitz et al. |
20080090591 | April 17, 2008 | Miller et al. |
20080091537 | April 17, 2008 | Miller et al. |
20080161018 | July 3, 2008 | Miller et al. |
0095633 | December 1983 | EP |
0 375 138 | June 1990 | EP |
0413537 | February 1991 | EP |
0420779 | April 1991 | EP |
0867823 | September 1998 | EP |
0905633 | March 1999 | EP |
1 022 670 | July 2000 | EP |
2328110 | February 1999 | GB |
2 353 679 | February 2001 | GB |
08314827 | November 1996 | JP |
10079756 | March 1998 | JP |
WO-9635994 | November 1996 | WO |
WO-9738382 | October 1997 | WO |
WO-9800787 | January 1998 | WO |
WO-9837680 | August 1998 | WO |
WO-9847268 | October 1998 | WO |
WO-9858321 | December 1998 | WO |
WO-9906915 | February 1999 | WO |
WO-9941720 | August 1999 | WO |
WO-9967731 | December 1999 | WO |
WO-0036493 | June 2000 | WO |
WO 01/58119 | August 2000 | WO |
WO 01/01264 | January 2001 | WO |
WO 01/09753 | February 2001 | WO |
WO 01/58119 | August 2001 | WO |
WO 01/69387 | September 2001 | WO |
WO 01/69432 | September 2001 | WO |
WO 01/69532 | September 2001 | WO |
WO-0239761 | May 2002 | WO |
WO-02065250 | August 2002 | WO |
WO-2004025912 | March 2004 | WO |
- Robert M. Losccs Jr., Minimizing Information overload: the ranking of electronic messages, Jun. 28, 1998, Journal of Information Science 15 (3) 1989, p. 181-182.
- Juha Takkinen and Nahid Shahmehri, Cafe: A Conceptual Model for Managing Information in Electronic Mail, 1060-3425198 1998 IEEE Proc. 31st Annual Hawaii International Conference on System Sciences p. 45-52.
- Matthew Marx and Chris Schmandt, CLUES: Dynamic Personalized Message Filtering, 1996 ACMO-89791-765-0/96/1, p. 114.
- Jonathan Isaac Helfman, Charles Lee Isbell, Ishmail: Immediate Identification of Important Information, Submitted to CHI-96, 1995, p. 2,5-6.
- Eric, et al., The Lumiere Project: Bayesian User Modeling for Inferring the Goals and Needs of Software Users, Jul. 1998, Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence, pp. 256-265.
- Andy Harter, et al., A Distributed Location System for the Active Office, IEEE Network, 1994, pp. 62-70.
- Guanling Chen, et al., A Survey of Context-Aware Mobile Computing Research, Dartmouth Computer Science Technical Report, 2000, 16 pages.
- William Noah Schilt, A System Architecture for Context-Aware Mobile Computing, Columbia University, 1995, 153 pages.
- Mike Spreitzer, et al., Providing Location Information in a Ubiquitous Computing Environment, SIGOPS '93, 1993, pp. 270-283.
- Marvin Theimer, et al., Operating System Issues for PDAs, In Fourth Workshop on Workstation Operating Systems, 1993, 7 pages.
- Roy Want, Active Badges and Personal Interactive Computing Objects, IEEE Transactions on Consumer Electronics, 1992, 11 pages, vol. 38-No. 1.
- Bill N. Schilit, et al., The ParcTab Mobile Computing System, IEEE WWOS-IV, 1993, 4 pages.
- Bill Schilit, et al., Context-Aware Computing Applications, In Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 1994. pp. 85-90.
- Bill N. Schilit, et al., Customizing Mobile Applications, Proceedings USENIX Symposium on Mobile and Location Independent Computing, Aug. 1993, 9 pages.
- Mike Spreitzer, et al., Architectural Considerations for Scalable, Secure, Mobile Computing with Location Information, In The 14th International Conference on Distributed Computing Systems, Jun. 1994, pp. 29-38.
- Mike Spreitzer et al., Scalable, Secure, Mobile Computing with Location Information, Communications of the ACM, Jul. 1993, 1 page, vol. 36-No. 7.
- Roy Want, et al., The Active Badge Location System, ACM Transactions on Information Systems, Jan. 1992, pp. 91-102, vol. 10-No. 1.
- Mark Weiser, Some Computer Science Issues in Ubiquitous Computing, Communications of the ACM, Jul. 1993, pp. 75-84, vol. 36-No. 7.
- M. Billinghurst, et al., An Evaluation of Wearable Information Spaces, Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages.
- Bradley J. Rhodes, Remembrance Agent: A continuously running automated information retrieval system, The Proceedings of the First International Conference on The Practical Application Of Intelligent Agents and Multi Agent Technology, 1996, pp. 487-495.
- Eric Horvitz, et al., In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Inference, Speech Understanding, and User Models, 1995, 8 pages.
- Bradley J. Rhodes, The Wearable Remembrance Agent: A System for Augmented Theory, The Proceedings of The First International Symposium on Wearable Computers, Oct. 1997, pp. 123-128.
- Eric Horvitz, et al., Attention-Sensitive Alerting in Computing Systems, Microsoft Research, Aug. 1999.
- Bill N. Schilit, at al., Disseminationg Active Map Information to Mobile Hosts, IEEE Network, 1994, pp. 22-32, vol. 8-No. 5.
- Mark Billinghurst, et al., Wearable Devices: New Ways to Manage Information, IEEE Computer Society, Jan. 1999, pp. 57-64.
- Thad Eugene Starner, Wearable Computing and Contextual Awareness, Massachusetts Institute of Technology, Jun. 1999, 248 pages.
- Bradley J. Rhodes, The Wearable Remembrance Agent: A System for Augmented Memory, Personal Technologies Journal Special Issue on Wearable Computing, 1997,12 pages.
- Workshop on Wearable Computing Systems, Aug. 19-21, 1996.
- Mark Billinghurst, Research Directions in Wearable Computing, University of Washington, May, 1998, 48 pages.
- Mark Weiser, The Computer for the 21st Century, Scientific American, Sep. 1991, pp. 94-104, vol. 265-No. 3.
- C. Platzer. Partial European Search Report. Munich, Mar. 17, 2005. 3 pages.
- European Search Report, EP 02 02 5530, mailed Jun. 30, 2005.
- Robert M. Losee, “Minimizing Information Overload: The Ranking of Electronic Messages”, Journal of Information Science, 1989, vol. 15, pp. 179-189.
- Thorsten Joachims, “Text Catcogorization With Support VectorMachines: Learning with Many Relevant Features”, Proceedings of the European Conference on Machine Learning, Apr. 21, 1998, pp. 137-142, Germany.
- Kalakota, et al., “Mobile Agents and Mobile Workers”, Proceedings of the Twenty-Nonth Hawaii International Conference on System Sciences, 1996, pp. 354-365.
- Lashkari, et al., “Collaborative Interface Agents”, Proceedings AAAI, National Conference on Artificial Intelligence, Jul. 31, 1994, vol. 1, pp. 444-449.
- Seng Wai Loke, et al., “Location-Based Personal Agents: A Metaphor for Situated Computing”, Parallel Processing, 2000 Internation Workshops, Aug. 21, 2000, pp. 17-19.
- Robyn Kozierok, et al., “A Learning Interface Agent for Scheduled Meetings”, Feb. 2003, pp. 81-93.
- Jung-Jin Lee, et al., “Learning and Predicting User Behavior for Particular Resource Use”, Proceedings of the Florida Artificial Intelligence Research Symposium, May 21, 2001, pp. 177-181.
- Baclace, “Competitive Agents for Information Filtering”, Dec. 1999, 1 pg.
- Boone, Concept Features in Re: Agent, an Intellectual Email Agent, 1998, 8 pgs.
- Breese et al., “Empirical analysis of predictive algorithms for collaborative filtering”, Proceedings of the 14th Conference on Uncertainty in AI, 1998 p. 43-52, AUAI, Morgan Kaufmann, San Francisco.
- Cameron et al. “Identifying and Localizing Electrical Components: A Case Study of Adaptive Goal-directed Sensing”, 1997, 6 pgs.
- Chang et al., “Bayesian Anaylsis for Fault Location in Homogeneous Distributed Systems”, 1993, 10 pgs.
- Chen, “Visualising semantic spaces and author co-citation networks in digital libraries”, 1999, 20 pgs.
- Chu et al., :A Decision-Theoretic Approach to Reliable Message Delivery, 15 pgs.
- Cohen, “Learning Rules that Classify E-Mail”, 1996, 11 pgs.
- Czerwinski et al., “Visualizing implicit queries for information management and retrieval”, Proceedings of CHI'99, ACM SIGCHI Conf on Informational and Knowledge Management, 1999, p. 560-567.
- Dumais et al.,“Inductive learning algorithms and representations for text categorization”, Proceedings of 7th Intl Conf on Information and Knowledge Management, 1998, pp. 148-155.
- EP Search Report dtd Jul. 5, 2004 for EP Application No. 04 00 0621.
- EP Search Report dtd Sep. 28, 2005 for EP Application No. 05 10 5299.
- Haddawy, “An Overview of Some Recent Developments in Bayesian Problem-Solving Techniques Introduction to This Special Issue”, 1999, 9 pgs.
- Hearst et al., “Machine Learning in Information Access Papers from the 1996 AAAI Spring Symposium”, 1996, 3 pgs.
- Horvitz et al., “Display of Information for time-critical decision making” Proceedings of the 11th Conference on uncertainty in AI, 1995, p. 296-305, Montreal, Canada.
- Horvitz et al., “Models of Attention in Computing and Communication: From principles to Applications”, Communications to the ACM 46(3):56-29, Mar. 2003.
- Horvitz, “Principles of mixed-initiative user interfaces” Proceedings of CHI'99, ACM SIGCHI Conf on Human Factors in Computing Systems, 1999, pp. 159-166, Pitssburgh, PA.
- Horvitz, “Time dependant utility and action under uncertainty”, Proceedings of the 7th Conference on Uncertainty in AI, LA, CA, 1991 pp. 151-158, Morgan Kaufmann, San Francisco.
- Horvitz, “Time-critical action:Representations and Application”, Proceedings of the 13th Conference on Uncertainty in AI(UAI-97), 1997, pp. 250-257, Providence, RI, Morgan Kaufmann, San Francisco.
- International Search Report dated Aug. 20, 2002 for International Application Serial No. PCT/US01/08711.
- International Search Report dated Jun. 28, 2006 for International Application Serial No. PCT/US04/19915.
- International Search Report dated Sep. 2, 2002 for International Application Serial No. PCT/US01/08710.
- International Search Report dated Sep. 29, 2003 for International Application Serial No. PCT/US00/20685.
- Iwayama et al., “Hierarichal Bayesian Clustering for Automatic Text Classification”, 1995, 6 pgs.
- Jensen, “Bayesian networks basics”, Winter 1995/ Spring 1996, 14 pgs.
- Koller et al., “Toward optimal feature selection”, Proceedings of 13th conference on machine lerning, 1998, p. 284-293, Morgan Kaufmann, San Francisco.
- Leiberman, “Letizia: An Agent that assists web browsing”, Proceedings of IJCAI-95, 1995, 6 pgs, Montreal, Canada, Morgan Kaufmann, San Francisco.
- MacSkassyet al., “EmailValet: Learning Email Preferences for Wireless Platforms”, Rutgers University, user Modeling 1999 Workshop—Machine Learning for User Modeling, Jun. 3, 1999, 4 pgs.
- Mccrickard et al., “Attuning Notification Design to User Goals and Attention Costs” Communications of the ACM, ol. 46 Issue 3, pp. 67-72, 2003.
- Noh et al, “Rational Communicative Behavior in Anti-Air Defense”, 1998, 8 pgs.
- Palme et al., “Issues when designing filters in messaging systems”, 1996, 7 pgs.
- Platt, “Fast Training of Support Vector Machines Using Sequential Minimal Optimization”, Advances in Kernel Methods, Support Vector Learning, 1999 p. 41-65, MIT Press, Cambridge, MA.
- Platt, “Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods.” Advances in Large Margin Classifiers. MIT Press, Cambridge, MA. 1999, 11 pages.
- Sahami et al., “A Bayesian approach to filtering junk email” Workshop on learning for text categorizations, 1998, 8 pgs, AAI technical Report WS-98-05, AAAI.
- Sawhney et al., “Nomadic Radio: Speech and Audio Interaction for Contextual Messaging in Nomadic Enviornments”, ACM Transactions on Computer-Human Interaction, ACM, Sep. 1, 2000, pp. 353-383.
- Sawhney et al., “Speaking and Listening on the Run: Design for Wearable Audio Computing”, 1998, 8 pgs.
- Sehgmann et al., “The message is the medium”, 1997, 12 pgs.
- Shell et al., “Interacting with Groups of Computers”, Communications of the ACM, vol. 46 Issue 3, pp. 40-46, 2003.
- Tsatsoulis et al., “integrating Case-Based Reasoning and Decision Theory”, 1997, 10 pgs.
- Van Dantzich et al., “Scope: Providing Awareness of Multiple Notifications at a Glance”, Proceedings of AVI 2002, ACM Conference on Advanced Visual Interfaces, 2002, 11 pgs.
- Vertegaal, “Designing Attentive Interfaces”, Proceedings of the Symposium on ETRA 2002:Eye tracking research and applications sympoium, pp. 23-30, 2002.
Type: Grant
Filed: Dec 12, 2001
Date of Patent: Nov 30, 2010
Patent Publication Number: 20030046421
Assignee: Microsoft Corporation (Redmond, WA)
Inventors: Eric J. Horvitz (Kirkland, WA), Gregory P. Baribault (Lynnwood, WA)
Primary Examiner: Peling A Shaw
Attorney: Wolf, Greenfield & Sacks, P.C.
Application Number: 10/021,621
International Classification: G06F 15/16 (20060101); G06F 3/00 (20060101);