The disclosure is related to the field of electronic mail (email) or similar messaging systems.
Users of email systems may spend time composing replies to messages containing simple questions or requests, such as a request for availability for a meeting for example. User efficiency might be enhanced if the user is freed from the need to respond or take other straightforward action based on requests of well-known types contained in received messages.
Methods and apparatus are disclosed for automating certain activities in a messaging application such as an email application. A disclosed method includes receiving an electronic message including request text, and automatically analyzing the electronic message to extract the request text and match the extracted request text to a matching one of a set of predefined requests. The requests are associated with respective functions of the messaging application and corresponding electronic messaging items. The method further includes automatically generating the electronic messaging item associated with the matching request.
As an example, the matching request may be a request for a reply with requested information. The requested information is obtained, and a reply message is automatically generated using a compose or reply function of the messaging application. The reply message might be presented to the user, enabling the user to augment or otherwise modify the reply message before it is sent.
Through use of the disclosed method, users can save time by having replies to simple questions automatically drafted by the messaging application rather than being generated by the user. Other uses of the disclosed method include automatic generation of task items, calendar items, and other items of the messaging application.
The foregoing and other objects, features and advantages will be apparent from the following description of particular embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views.
The computerized device 10 of
As noted above, an email user may need to spend time composing replies to simple questions, or more generally to spend time and attention responding to questions or requests contained in received emails. Examples include things like requests for personal information (What is your address?), availability for meetings, etc. The burden of responding to such emails is reduced by use of the auto-response module 34 which automatically detects the presence of questions or requests in received emails and initiates appropriate responsive action when possible, such as auto-drafting a reply message containing requested information. This can save the user at least part of the task, and can be especially useful on smaller devices such as mobile phones where user input may be cumbersome.
Please let me know your availability next week.
Are you available next week?
Please send your availability for the week of the 20th.
When are you free for a meeting next week?
At 42, the auto-response module 34 automatically analyzes the received message to extract the request text and match the extracted request text to a matching one of a set of predefined requests, where the predefined requests are associated with functions of the messaging application generating corresponding electronic messaging items. The analyzing may include normalizing the request text and matching it against a set of pre-defined text questions and requests. Normalizing is explained below. The pre-defined text questions and requests might be assumed or learned phrases or sentences that express a given question or request. There may be one or more predefined phrases/sentences for a given type of request. For example, the auto-response module 34 may store the following two specific examples of requests for availability:
Provide availability
When are you available
Once a question or request has been identified, at 44 an electronic messaging item associated with the matching request is automatically generated. In many cases, the electronic messaging item will be a newly composed message to be sent as a reply to the received message that has been processed, containing an answer and/or information in response to the question or request. An answer can be generated by automatically looking up the user's information, such as name, address, phone number, free time on calendar, etc. Further, the system could either ask the user for the relevant information, find the information in the user's calendar, contacts, or other location, or it can just learn the response based on previous replies sent by the user for the same question.
For several questions, the processing at 44 may be as simple as looking up the user information such as address/phone number etc. Questions like “Are you available tomorrow?” and “When are you available this week?” are a bit more complicated. First the auto-response module 34 determines what time period the question is about by looking for keywords such as “today”, “tomorrow”, “next week”, etc. Next it looks up the user's calendar to determine when the user is free. Finally it composes an answer that includes the free times on the calendar.
As mentioned, the request text in the message are normalized and then matched. This may be done using standard Natural Language Processing techniques such as stemming, root word determination, and semantic equivalence rules for the likely words in the questions. Because there is a limited class of simple questions, this type of processing can be done efficiently and with good enough accuracy to be useful.
Although the above description provides the example of a reply message as being automatically generated, other types of electronic messaging items may be generated. A messaging application may include functions and items for calendars, contacts, tasks, notes, and other aspects of user activity. Thus the electronic messaging item that is automatically generated may be a task item describing a task to be performed by the user based on the request text. Analogous operations can be performed in some or all of the other areas.
Another aspect of the messaging application might be monitoring operation and using information obtained during the monitoring to generate responsive messaging items and/or provide requested information. For example, the auto-response module 34 might monitor a pattern of user response to certain messages and then begin auto-generating similar responses. More specifically, the application can store response data obtained from reply messages sent in response to corresponding request messages, and then obtain requested information from the stored response data when generating a responsive reply message.
While various embodiments of the invention have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.