Automatic task extraction and calendar entry

Information

  • Patent Grant
  • 10984387
  • Patent Number
    10,984,387
  • Date Filed
    Tuesday, June 28, 2011
    13 years ago
  • Date Issued
    Tuesday, April 20, 2021
    3 years ago
Abstract
Automatically detected and identified tasks and calendar items from electronic communications may be populated into one or more tasks applications and calendaring applications. Text content retrieved from one or more electronic communications may be extracted and parsed for determining whether keywords or terms contained in the parsed text may lead to a classification of the text content or part of the text content as a task. Identified tasks may be automatically populated into a tasks application. Similarly, text content from such sources may be parsed for keywords and terms that may be identified as indicating calendar items, for example, meeting requests. Identified calendar items may be automatically populated into a calendar application as a calendar entry.
Description
BACKGROUND

Within any number of business, social or academic enterprises, electronic mail typically serves as the primary source of communication among members of the enterprise, as well as, among members of the enterprise and persons outside the enterprise. Unfortunately, typical electronic mail (email) users receive and review tens or even hundreds of email messages on a daily basis and the users often have trouble managing and prioritizing incoming electronic mail items. This is especially problematic when the messages contain requests or tasks that need a response or follow-up by the receiving user. In particular, many users often receive tasks or job assignments as part of individual electronic mail messages, for example, “Please redesign the company web site by next Friday,” but because the example task is embedded in an electronic mail message, the user may fail to generate a corresponding electronic task or calendar item to remind the user to complete the given task.


Similarly, email and other electronic communications often have embedded content that may be considered calendar entries, but that may be overlooked by the receiver. For example, a statement may be included in an email message like “Let's meet for lunch at 2:00 p.m. on Thursday.” Such a statement, particularly if responded to, is very similar to a calendar entry, but if the user forgets to mark his/her calendar with the stated meeting, he/she may miss the meeting.


It is with respect to these and other considerations that the present invention has been made.


SUMMARY

Embodiments of the present invention solve the above and other problems by providing automatic detection of tasks and calendar items from electronic communications for populating into associated tasks applications and calendaring applications. Text content retrieved from one or more electronic communications, for example, electronic mail items, text messages, Internet-based chat sessions, and the like may be extracted and parsed for determining whether keywords or terms contained in the parsed text may lead to a classification of the text content or part of the text content as a task. Identified tasks may be presented to a user for verification, and if accepted, may be automatically populated into the user's tasks application or in tasks applications of other users, as required. Similarly, text content from such sources may be parsed for keywords and terms that may be identified as indicating calendar items, for example, meeting requests. Identified calendar items may be presented to the user for verification, and if accepted, may be automatically populated into the user's calendar application as a calendar entry or may be automatically populated into the calendar applications of other users, as required.


The details of one or more embodiments are set forth in the accompanying drawings and description below. Other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that the following detailed description is explanatory only and is not restrictive of the invention as claimed.


This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present invention. In the drawings:



FIG. 1 illustrates a screen shot of a computer-generated user interface showing an example electronic mail item containing potential task and calendar item information.



FIG. 2 illustrates a system architecture and process flow for automatically identifying task items and calendar items from received content.



FIG. 3 illustrates a computer-generated screen shot of a task/calendar item verification user interface for allowing user verification of a recommended task or calendar item.



FIG. 4 illustrates a screen shot of a computer-generated user interface showing an example project group tasks list and showing example tasks contained therein.



FIG. 5 illustrates a system architecture for distributing extracted task and/or calendar items to one or more receiving devices.



FIG. 6 is a block diagram of a system including a computing device with which embodiments of the invention may be practiced.





DETAILED DESCRIPTION

As briefly described above, embodiments of the present invention are directed to automatically classifying information extracted from one or more text sources, for example, electronic mail items, text messages, Internet-based chat forums, and the like as tasks or calendar items. Extracted information classified as tasks or calendar items may be presented to a user for verification/acceptance. If the user accepts the recommended tasks or calendar items, the accepted tasks may be automatically populated into the user's tasks application and tasks list, and the accepted calendar items may be automatically populated into the user's calendar application as a calendar entry. Similarly, such accepted tasks and calendar items may be populated into the tasks or calendar applications of other users, as required. For example, if an item is classified and accepted as a task that requires activity from multiple users, the task may be presented to each of the multiple users for acceptance, or the task may be automatically populated into the tasks list of the multiple users. Likewise, if an item is classified as a calendar entry, the calendar entry may be populated into the calendar applications of one or more users, for example, as meeting requests that may be accepted by one or more users upon automatic sending of a meeting request in response to the classification of a content item as a meeting request.


The following description refers to the accompanying drawings. Whenever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments of the invention may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.


Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of the present invention and the exemplary operating environment will be described. While the invention will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other program modules.


Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.



FIG. 1 illustrates a screen shot of a computer-generated user interface showing an example electronic mail item containing potential task and calendar item information. The user interface 100, illustrated in FIG. 1, is illustrative of any computer-generated user interface in which may be displayed various text content and from which task items and calendar items may be automatically extracted according to embodiments of the invention. For example, the user interface 100 is illustrative of a typical electronic mail application user interface in which may be displayed electronic mail items sent and received to and from various users. As should be appreciated, the user interface 100 may similarly be illustrative of a user interface for text messaging, a user interface for Internet-based chat sessions, or the like. In addition, the user interface 100 may be illustrative of an interface for including various documents, for example, word processing documents, spreadsheet documents, slide presentation application documents, and the like. That is, the user interface 100 is equally illustrative of any user interface in which information may be presented and from which one or more tasks or calendar items may be extracted and classified, as described herein.


Referring to the example electronic mail item contained in the user interface 100, an electronic mail message contains various text-based information items. As illustrated in the first sentence of the example electronic mail message, the phrase “facility design project team” 105 is noted and contains terms that may be used for applying extracted information to one or more tasks, calendar entries, and the like. A phrase 106 is also noted stating “add an additional wing” which may be utilized as described herein for extracting and classifying a task item such as a task of “add an additional wing” as part of a building project. Another phrase 110 of “Monday at noon” is noted which may be extracted and classified as a potential calendar item. Finally, another phrase 115 of “Tuesday at 2:00 p.m. with Ann and Joe in my office” contains information that may be utilized for generating a calendar entry that may be automatically populated into the receiving user's calendar application and also in the calendar applications of the two other users identified in the phrase 115.



FIG. 2 illustrates a system architecture and process flow for automatically identifying task items and calendar items from received content. The method 200 begins at operation 201 and proceeds to component/operation 202 where a conversation item is retrieved for analysis and possible classification as a task item or calendar item. As described above with reference with FIG. 1, the received conversation item may include an electronic mail item, a text message, an Internet-based chat session, or the conversation item may be a document attached to a conversation item such as an electronic mail message having an attached word processing document where the attached word processing document may include information from which may be extracted potential tasks or calendar items.


At operation 204, text and associated metadata extracted from the received conversation item is analyzed and processed into individual text components (e.g., words, phrases, terms, numeric strings, and the like). Received text content and metadata are analyzed and formatted as necessary for text processing described below. According to embodiments, the text content and metadata analysis may be performed by a text parser operative to parse text content and metadata for processing the text into one or more text components (e.g., sentences and terms comprising the one or more sentences). For example, if the text content and metadata are formatted according to a structured data language, for example, Extensible Markup Language (XML), the text content and metadata analysis may include parsing the retrieved text content and metadata according to the associated structured data language for processing the text as described herein. For another example, the text content and metadata may be retrieved from an online source such as an Internet-based chat forum where the retrieved text may be formatted according to a formatting such as Hypertext Markup Language (HTML). According to embodiments, the text content and metadata analysis may include formatting of the retrieved text content and metadata from such a source so that it may be processed for conversation topics as described herein.


A text processing application may be employed whereby the text is broken into one or more text components for determining whether the received/retrieved text may contain terms that may be expertise tags or that may be used for searching for stored expertise tags. Breaking the text into the one or more text components may include breaking the text into individual sentences followed by breaking the individual sentences into individual tokens, for example, words, numeric strings, etc.


Such text processing is well known to those skilled in the art and may include breaking text portions into individual sentences and individual tokens according to known parameters. For example, punctuation marks and capitalization contained in a text portion may be utilized for determining the beginning and ending of a sentence. Spaces contained between portions of text may be utilized for determining breaks between individual tokens, for example, individual words, contained in individual sentences. Alphanumeric strings following known patterns, for example, five digit numbers associated with zip codes, may be utilized for identifying portions of text. In addition, initially identified sentences or sentence tokens may be passed to one or more recognizer programs for comparing initially identified sentences or tokens against databases of known sentences or tokens for further determining individual sentences or tokens. For example, a word contained in a given sentence may be passed to a database to determine whether the word is a person's name, the name of a city, the name of a company, or whether a particular token is a recognized acronym, trade name, or the like. As should be appreciated, a variety of means may be employed for comparing sentences or tokens of sentences against known, words, or other alphanumeric strings for further identifying those text items.


At component/operation 208, the processed text and metadata components are passed through a feature extraction process. According to an embodiment, the feature extraction process may include extracting relevant components from the text and the metadata processed from the received conversation item such that the extracted features may be used for identifying and classifying components of the received conversation item as a task item or calendar item. For example, as should be appreciated, some text components and associated metadata may be discarded as having no relevance to a potential task or calendar item. For example, standard language articles such as “a,” “and,” “the,” and other terms not typically associated with a task or calendar item may be discarded.


Features extracted during the feature extraction process may include names contained in “To” lines, “From” lines and text contained within a received conversation item. Other features extracted may include dates, times, subject line, information associated with other recipients of the conversation item, and the like. In addition, individual text components, for example, words and phrases, extracted from the conversation item may be compared against lists of words and phrases maintained in a database of words and phrases to identify those words and phrases for potential use in a task or calendar item. For example, referring back to FIG. 1, the words “Ann” and “Joe” may be extracted from the phrase 115. Those words may be extracted from the text by the feature extraction process and may be compared against a database of words including names associated with a project of which a sender and receiver of the received conversation item may be members. If the extracted names are associated with users who are also members of the same project group or workspace, information may be retrieved for those users based on the extracted features for classifying that portion of the text as a potential task or calendar item associated with those users.


At component/operation 210, a task or meeting identification is performed. The task/meeting identification process may be performed in association with the project data/metadata component 214 and training data 210 for assistance in classifying extracted conversation item features as a task or calendar item. According to an embodiment, the task/meeting identification processing may be performed by a machine-learned classifier application by comparing the extracted conversation item features with other data/metadata including data/metadata contained in a given project workspace associated with the sender or various recipients of the received conversation item.


According to one embodiment, the task/meeting identification classifier application may be a linear support vector application. Other suitable algorithms may be used or combined with the linear support vector application including maximum entropy or conditional random fields algorithms, or these types of applications and algorithms may be combined with manually pre-defined patterns of text components matched against an input string to identify text components as a task or calendar item. For example, manually entered pre-defined patterns may include such phrases as “meet me at” followed by a date, time, or location that may be classified as a calendar entry. Other manually entered pre-defined text patterns may include text patterns typically associated with tasks such as the text pattern of “complete the project” followed by a date or time.


According to one embodiment, the tasks/meeting identification classifier application may be trained on manually labeled conversation item data, for example, electronic mail data, text messaging data, and the like, where the manually labeled data may consist of individual sentences or groups of sentences that are labeled as tasks, non-tasks, calendar items or non-calendar items. These sentences may be represented as feature vectors, and the task/meeting identification classifier application may be trained on these feature vectors as well as the metadata properties of the received conversation item from which those sentences are derived. As described above, such features may include, for example, conversation item authors, recipients, subject line information, and the like.


Continuing with the task/meeting identification operation 210, based on the extracted features and feature vectors generated during the feature extraction operation 208, the task/meeting identification classifier application may assign a probability that a sentence containing identified features contains a task or calendar item based on the feature vectors and metadata for the item. At operation 212, a candidate task or meeting item may be generated, and at operation 218, a slot/properties extractor application may use the information found in the input text and metadata and training data 214, 216 to extract slots like due dates, assignee, topic (for tasks), meeting date/time, attendees (for meeting items) and the like. According to an embodiment, use of training data 216 includes use of a data model or machine-learned classifier model built from training data.


At operation 220, resulting candidate tasks or meetings and associated slots may be assembled and may be presented to a user as illustrated and described below with respect to FIG. 3. Presentation to the user allows the user to validate a presented task or meeting item, or allows the user to correct the presented task or meeting item and the properties of the presented task or meeting item that were extracted and automatically presented. At operation 224, if a user accepts a presented task or calendar item, or if the user corrects or replaces a presented task or calendar item, the accepted, corrected, or replaced task or calendar item may be stored in the project/calendar store 226.


As should be appreciated, storage of the accepted, corrected, or replaced task or calendar item may include automatically populating the task or calendar item into the user's task application or calendar application, and may include automatically presenting the task or calendar item to other users identified as part of the task or calendar item classification process. That is, if classification of a text string as including a task is accepted by the user, and the accepted task item includes identification of another user, then the task item may be presented to the other user for acceptance, or the task item may be automatically populated into the other user's task application. In the case of a project workspace, acceptance of a task or calendar item by a given user who is a member of the project workspace may cause the accepted task or calendar item to be automatically populated into a task application and associated tasks list or into an associated calendar application for all members of the project workspace to review. The system/method 200 ends at operation 230.



FIG. 3 illustrates a computer-generated screen shot of a task/calendar item verification/assignment user interface for allowing user verification of a recommended task or calendar item. The user interface 300 is illustrative of a user interface component in which text strings classified as task items or calendar items may be presented to a user for acceptance, correction, or replacement. The task/calendar item classification interface 305 includes a statement 310 such as “The following task or calendar item is recommended:” for identifying to a receiving user the nature of the user interface component. A text box/field 315 is provided for presenting the candidate task or calendar item. For example, an example task of “Add additional building wing” is illustrated in the text box 315, followed by an identification of a recommended project workspace or group to which the task would be added.


A new task/meeting item information text box or field 317 is included to allow a user to manually enter a replacement task or meeting item. If the user accepts the recommended task or calendar item, the recommended task or calendar item is stored and processed, as described above. If the user rejects the recommended task or calendar item, then the recommended task or calendar item is not stored and processed to various users as described above. If desired, the user may make corrections to the presented task or calendar item in the text box 315, or the user may enter a replacement task or calendar item in the text box or field 317.


A slots presentation text box or field 318 is illustrated for providing slot information for designated task or calendar items, for example, due dates, task assignee, task topic, meeting dates/times, meeting attendees and the like. As with the other presented information, the user may accept, reject, correct or replace slots information, as desired, via the user interface 305. Once the user accepts the new or corrected task item or calendar item, along with any relevant slots information, the new or corrected task item or calendar item may be stored and processed, as described above with reference to FIG. 2.



FIG. 4 illustrates a screen shot of a computer-generated user interface showing an example project group tasks list and showing example tasks contained therein. The user interface 400 illustrated at FIG. 4 is illustrative of a task list that may be presented by a tasks application for an individual user or for a project group or workspace to which it is associated. The example task list user interface 400 illustrated in FIG. 4 is illustrative of a task list for a project workspace identified as “Building Design Group Tasks.” In the user interface 400, three example task items 405, 410 and 415 are displayed for the example project group or workspace. As illustrated, the example task 415 of “Add additional building wing” is illustrative of a task automatically populated into the task list by user acceptance of the proposed task item as illustrated above in FIG. 3.



FIG. 5 illustrates a system architecture for providing extracted tasks and calendar items to various client devices. As described previously, a task/calendar item extraction system 200 may generate and suggest extracted tasks and calendar items from information retrieved using a variety of communication channels and stores. Information and features helpful to extracting tasks and calendar items may also be stored in different communication channels or other storage types. For example, tasks and calendar items along with information from which they are extracted may be stored using directory services 522, web portals 524, mailbox services 526, instant messaging stores 528 and social networking sites 530. The system 200 may use any of these types of systems or the like for extracting tasks and calendar items and for storing same in a store 516. A server 512 may provide tasks and calendar items suggestions to clients. As one example, server 512 may be a web server providing tasks and calendar items suggestions over the web. Server 514 may provide online tasks and calendar items suggestions over the web to clients through a network 507. Examples of clients that may obtain thread summaries include computing device 501, which may include any general purpose personal computer, a tablet computing device 503 and/or mobile computing device 505 which may include smart phones. Any of these devices may obtain tasks and calendar items from the store 516.


As described above, embodiments of the invention may be implemented via local and remote computing and data storage systems, including the systems illustrated and described with reference to FIGS. 1, 2, 3, 4 and 5. Consistent with embodiments of the invention, the aforementioned memory storage and processing unit may be implemented in a computing device, such as computing device 600 of FIG. 6. According to embodiments, the computing device may be in the form of a personal computer, server computer, handheld computer, smart phone, tablet or slate device, or any other device capable of containing and operating the computing components and functionality described herein. In addition, the computing device components described below may operate as a computing system printed on a programmable chip. Any suitable combination of hardware, software, or firmware may be used to implement the memory storage and processing unit. For example, the memory storage and processing unit may be implemented with computing device 600 or any other computing devices 618, in combination with computing device 600, wherein functionality may be brought together over a network in a distributed computing environment, for example, an intranet or the Internet, to perform the functions as described herein. The aforementioned system, device, and processors are examples and other systems, devices, and processors may comprise the aforementioned memory storage and processing unit, consistent with embodiments of the invention. Furthermore, computing device 600 may comprise operating environment 100 as described above.


With reference to FIG. 6, a system consistent with embodiments of the invention may include a computing device, such as computing device 600. In a basic configuration, computing device 600 may include at least one processing unit 602 and a system memory 604. Depending on the configuration and type of computing device, system memory 604 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or any combination. System memory 604 may include operating system 605, one or more programming modules 606, and may include the conversation topic detection, generation and storage system 200 having sufficient computer-executable instructions, which when executed, performs functionalities as described herein. Operating system 605, for example, may be suitable for controlling computing device 600's operation. Furthermore, embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 6 by those components within a dashed line 608.


Computing device 600 may have additional features or functionality. For example, computing device 600 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 6 by a removable storage 609 and a non-removable storage 610. Computing device 600 may also contain a communication connection 616 that may allow device 600 to communicate with other computing devices 618, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 616 is one example of communication media.


As stated above, a number of program modules and data files may be stored in system memory 604, including operating system 605. While executing on processing unit 602, programming modules 606 and may include the task and calendar item extraction system 200 which may include program modules containing sufficient computer-executable instructions, which when executed, perform functionalities as described herein. The aforementioned process is an example, and processing unit 602 may perform other processes. Other programming modules that may be used in accordance with embodiments of the present invention may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.


Generally, consistent with embodiments of the invention, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


Furthermore, embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.


Embodiments of the invention, for example, may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). In other words, embodiments of the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. A computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.


The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 604, removable storage 609, and non-removable storage 610 are all computer storage media examples (i.e., memory storage.) Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 600. Any such computer storage media may be part of device 600. Computing device 600 may also have input device(s) 612 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, etc. Output device(s) 614 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used.


The term computer readable media as used herein may also include communication media. Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.


Embodiments of the present invention, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.


While certain embodiments of the invention have been described, other embodiments may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the invention.


All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.


While the specification includes examples, the invention's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as example for embodiments of the invention.

Claims
  • 1. A method of automatically extracting a task item or a calendar item from an electronic communication, comprising: receiving an electronic communication item;processing the electronic communication item to identify text components and to identify metadata comprising the electronic communication item;extracting a plurality of features from one or both of the text components and metadata that are usable to classify the electronic communication item as a task or calendar item;identifying at least one of the plurality of features as being associated with a project workspace of which multiple users are members;obtaining one or both of data and metadata contained in the project workspace;assessing, by a machine-learning classifier application, the plurality of features against one or both of the data and metadata obtained from the project workspace;based on the assessment, assigning a probability that the electronic communication item is a task item or a calendar item;based on the assigned probability, generating a corresponding proposed task item or a proposed calendar item; anddisplaying the proposed task item or proposed calendar item.
  • 2. The method of claim 1, wherein the machine-learning classifier application has been trained on pre-defined patterns of text that have been previously identified as text associated with at least one of a task item, a non-task item, a calendar item and a non-calendar item.
  • 3. The method of claim 2, wherein the pre-defined patterns of text are represented as feature vectors.
  • 4. The method of claim 3, wherein the machine-learning classifier application comprises a linear support vector application.
  • 5. The method of claim 1, wherein the extracted features include one or more of: a name, a date, a time, and subject line text.
  • 6. The method of claim 1, wherein displaying the proposed task item or proposed calendar item includes displaying a user-selectable option to accept or reject the proposed task item or proposed calendar item.
  • 7. The method of claim 6, the method further comprising displaying a replacement field that is user-accessible to enter a replacement task item or replacement calendar item for the proposed task item or proposed calendar item.
  • 8. The method of claim 1, wherein the project workspace is associated with a sender or a recipient of the electronic communication item.
  • 9. A computing device for automatically extracting a task item or a calendar item from an electronic communication, comprising: a processing unit; anda memory including computer executable instructions which when executed by the processing unit causes the processing unit to: receive an electronic communication item;process the electronic communication item to identify text components and to identify metadata comprising the electronic communication item;extract a plurality of features from one or both of the text components and metadata that are usable to classify the electronic communication item as a task or calendar item;identify at least one of the plurality of features as being associated with a project workspace of which multiple users are members;obtain one or both of data and metadata contained in the project workspace;assess, by a machine-learning classifier application, the plurality of features against one or both of the data and metadata obtained from the project workspace;based on the assessment, assign a probability that the electronic communication item is a task item or a calendar item;based on the assigned probability, generate a corresponding proposed task item or proposed calendar item; anddisplay the proposed task item or proposed calendar item.
  • 10. The computing device of claim 9, wherein the machine-learning classifier application has been trained on pre-defined patterns of text that have been previously identified as text associated with at least one of a task item, a non-task item, a calendar item and a non-calendar item.
  • 11. The computing device of claim 10, wherein the pre-defined patterns of text are represented as feature vectors.
  • 12. The computing device of claim 11, wherein the machine-learning classifier application comprises a linear support vector application.
  • 13. The computing device of claim 9, wherein the extracted features include one or more of: a name, a date, a time, and subject line text.
  • 14. The computing device of claim 9, wherein displaying the proposed task item or proposed calendar item includes displaying a user-selectable option to accept or reject the proposed task item or proposed calendar item.
  • 15. The computing device of claim 14, wherein the processing unit is further caused to display a replacement field that is user-accessible to enter a replacement task item or replacement calendar item for the proposed task item or proposed calendar item.
  • 16. The computing device of claim 9, wherein the project workspace is associated with a sender or a recipient of the electronic communication item.
  • 17. A computer readable storage device containing computer executable instructions which when executed by a computer perform a method of automatically extracting a task item or a calendar item from an electronic communication, comprising: receiving an electronic communication item;processing the electronic communication item to identify text components and to identify metadata comprising the electronic communication item;extracting a plurality of features from one or both of the text components and meta data that are usable to classify the electronic communication item as a task or calendar item;identifying at least one of the plurality of features as being associated with a project workspace of which multiple users are members;obtaining one or both of data and metadata contained in the project workspace;assessing, by a machine-learning classifier application, the plurality of features against one or both of the data and metadata obtained from the project workspace;based on the assessment, assigning a probability that the electronic communication item is a task item or a calendar item;based on the assigned probability, generating a corresponding proposed task item or proposed calendar item; anddisplaying the proposed task item or the proposed calendar item.
  • 18. The computer readable storage device of claim 17, wherein the machine-learning classifier application has been trained on pre-defined patterns of text that have been previously identified as text associated with at least one of a task item, a non-task item, a calendar item and a non-calendar item.
  • 19. The computer readable storage device of claim 18, wherein the pre-defined patterns of text are represented as feature vectors.
  • 20. The computer readable storage device of claim 17, wherein the project workspace is associated with a sender or a recipient of the electronic communication item.
US Referenced Citations (136)
Number Name Date Kind
5864848 Horvitz et al. Jan 1999 A
6278996 Richardson et al. Aug 2001 B1
6452083 Pachet Sep 2002 B2
6505167 Horvitz Jan 2003 B1
6553358 Horvitz Apr 2003 B1
6560590 Shwe et al. May 2003 B1
6581050 Horvitz et al. Jun 2003 B1
6622160 Horvitz Sep 2003 B1
6657643 Horvitz Dec 2003 B1
6714967 Horvitz Mar 2004 B1
6816885 Raghunandan Nov 2004 B1
6931384 Horvitz et al. Aug 2005 B1
6990634 Conroy et al. Jan 2006 B2
7146381 Allen et al. Dec 2006 B1
7158980 Shen Jan 2007 B2
7194681 Horvitz Mar 2007 B1
7409423 Horvitz et al. Aug 2008 B2
7444383 Horvitz Oct 2008 B2
7454393 Horvitz et al. Nov 2008 B2
7496500 Reed Feb 2009 B2
7742048 Moore et al. Jun 2010 B1
7877447 Wilson Jan 2011 B2
8055707 Desai et al. Nov 2011 B2
8108206 Hufnagel et al. Jan 2012 B2
8166178 Horvitz Apr 2012 B2
8326859 Paek Dec 2012 B2
8423347 Tunning Apr 2013 B2
8484745 Bank Jul 2013 B2
8554477 Coughlin et al. Oct 2013 B2
8631080 Goodman Jan 2014 B2
8676566 Myaeng et al. Mar 2014 B2
8694593 Wren Apr 2014 B1
8825474 Zhai et al. Sep 2014 B1
8832205 Nelson et al. Sep 2014 B2
8868670 Bagga et al. Oct 2014 B2
8903924 Jensen et al. Dec 2014 B2
9085303 Wolverton et al. Jul 2015 B2
9094361 Camacho et al. Jul 2015 B2
9127957 Smith Sep 2015 B2
9170993 Kalia et al. Oct 2015 B2
9313162 Kumar et al. Apr 2016 B2
9378196 Tomkins et al. Jun 2016 B1
9460095 Ayers et al. Oct 2016 B2
9514448 Prakash et al. Dec 2016 B2
9633114 Kamanger Apr 2017 B1
9686367 Sundstrom Jun 2017 B2
9904669 Gunaratna et al. Feb 2018 B2
10200318 Kumar et al. Feb 2019 B2
10361981 Bennett et al. Jul 2019 B2
20020076109 Hertzfeld Jun 2002 A1
20020174170 Ioffe et al. Nov 2002 A1
20020184321 Fishman Dec 2002 A1
20030187632 Menich Oct 2003 A1
20040012638 Donnelli et al. Jan 2004 A1
20040148356 Bishop, Jr. Jul 2004 A1
20040260772 Mullen Dec 2004 A1
20050076037 Shen Apr 2005 A1
20050076084 Loughmiller Apr 2005 A1
20050091578 Madan Apr 2005 A1
20050108354 Lisitsa May 2005 A1
20050165631 Horvitz Jul 2005 A1
20050192992 Reed Sep 2005 A1
20060074844 Frankel et al. Apr 2006 A1
20060168040 Kushmerick Jul 2006 A1
20060195785 Portnoy et al. Aug 2006 A1
20060218553 Dore Sep 2006 A1
20070005409 Boss Jan 2007 A1
20070038711 McBeth et al. Feb 2007 A1
20070043838 Litteaut et al. Feb 2007 A1
20070073810 Adams et al. Mar 2007 A1
20080033950 Lemay Feb 2008 A1
20080034315 Langoulant Feb 2008 A1
20080040189 Tong Feb 2008 A1
20080065719 Wilson Mar 2008 A1
20080086300 Anismovich et al. Apr 2008 A1
20080147622 Koike Jun 2008 A1
20080172606 White Jul 2008 A1
20080201636 Fujiwara Aug 2008 A1
20080281922 Renshaw et al. Nov 2008 A1
20090063993 Nyamgondalu Mar 2009 A1
20090076795 Bangalore et al. Mar 2009 A1
20090083112 Bhogal et al. Mar 2009 A1
20090106201 White Apr 2009 A1
20090214034 Mehrotra Aug 2009 A1
20090228583 Pocklington Sep 2009 A1
20090235280 Tannier Sep 2009 A1
20090248480 Miksovsky Oct 2009 A1
20100070877 Scott et al. Mar 2010 A1
20100082751 Meijer et al. Apr 2010 A1
20100145694 Ju Jun 2010 A1
20110106892 Nelson et al. May 2011 A1
20110119212 De Bruin et al. May 2011 A1
20110125734 Duboue et al. May 2011 A1
20110145822 Rowe et al. Jun 2011 A1
20110145823 Rowe et al. Jun 2011 A1
20110184936 Lymberopoulos Jul 2011 A1
20110252351 Sikora Oct 2011 A1
20120109965 Nagendran et al. May 2012 A1
20120143961 Jonsson Jun 2012 A1
20120245925 Guha et al. Sep 2012 A1
20120253788 Heck et al. Oct 2012 A1
20120254764 Ayloo Oct 2012 A1
20120278388 Kleinbart et al. Nov 2012 A1
20120296832 Beringer et al. Nov 2012 A1
20130006973 Caldwell et al. Jan 2013 A1
20130138746 Tardelli et al. May 2013 A1
20130179440 Gordon Jul 2013 A1
20130218836 Sullivan Aug 2013 A1
20130268468 Vijayaraghavan et al. Oct 2013 A1
20130297317 Lee Nov 2013 A1
20140136256 Brown May 2014 A1
20140188541 Goldsmith et al. Jul 2014 A1
20140214404 Kalia et al. Jul 2014 A1
20140215472 Motahari Nezhad et al. Jul 2014 A1
20140219434 Youel et al. Aug 2014 A1
20140279622 Lamoureux et al. Sep 2014 A1
20140317030 Shen et al. Oct 2014 A1
20140365518 Calo et al. Dec 2014 A1
20150032724 Thirugnanasundaram et al. Jan 2015 A1
20150033155 Camacho et al. Jan 2015 A1
20150143258 Carolan et al. May 2015 A1
20150169539 Jamrog et al. Jun 2015 A1
20150215253 Vemuri et al. Jul 2015 A1
20150294220 Oreif Oct 2015 A1
20150302301 Petersen Oct 2015 A1
20150348551 Gruber et al. Dec 2015 A1
20160086268 Labuszewski et al. Mar 2016 A1
20160104094 Yom-tov et al. Apr 2016 A1
20160125370 Grassadonia et al. May 2016 A1
20160179934 Stubley et al. Jun 2016 A1
20160182417 Cordes et al. Jun 2016 A1
20160196490 Chandrasekaran et al. Jul 2016 A1
20160335572 Bennett et al. Nov 2016 A1
20160337295 Bennett et al. Nov 2016 A1
20170047064 Kirihara Feb 2017 A1
20170149703 Willett et al. May 2017 A1
Foreign Referenced Citations (24)
Number Date Country
101198976 Jun 2008 CN
102147898 Aug 2011 CN
102495860 Jun 2012 CN
103440571 Dec 2013 CN
103635916 Mar 2014 CN
1109121 Jun 2001 EP
1953723 Aug 2008 EP
2488976 Sep 2012 GB
11136278 May 1999 JP
H11184924 Jul 1999 JP
2001216427 Aug 2001 JP
2002157197 May 2002 JP
2005316953 Nov 2005 JP
2008152522 Jul 2008 JP
2009093503 Apr 2009 JP
2009223840 Oct 2009 JP
2010191864 Sep 2010 JP
2014523585 Sep 2014 JP
20020021748 Mar 2002 KR
1020100113791 Oct 2010 KR
2329538 Jul 2008 RU
2015058604 Apr 2015 WO
2015170963 Nov 2015 WO
2016186834 Nov 2016 WO
Non-Patent Literature Citations (86)
Entry
Multiple Calendar Management on Outlook2010—copying appointments. 2010, 4 pages.
Outlook 2007 Tip: How to View Google Calendar inside Outlook 2007. 2007, by Shivaranjan.
How to Sync Microsoft Outlook With Google Calendar, 2009, by Basu.
Liu et al, “Meeting Runner: An Automatic Email-Based Meeting Scheduler,” Copyright 2002.
International Search Report and Written Opinion of PCT/US2012/041786 dated Dec. 28, 2012.
Vitor R. Carvalho. Modeling Intention in Email. CMU-LTI-08-007. 2008. http://www.lti.cs.cmu.edu/Research/Thesis/VitorCarvalho_FinalVersion.pdf.
Bilton. Reinventing E-Mail, One Message at a Time—The New York Times. Aug. 23,2010 http://bits.blogs.nytimes.com/2010/08/23/reinventing-e-mail-one-message-at-a-time/.
Taiwo Ayodele, et al. Email Classification: Solution with Back Propagation Technique. 2009. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5402583.
Symantec Enterprise Vault™ Intelligent Archiving and Email Classification, Retention, Filtering, and Search—Retrieved Date: Oct. 4, 2010 http://www.symantec.com/connect/sites/default/files/intelligent_archiving_and_email.pdf.
Andrew Lampert et al., Detecting Emails Containing Requests for Action, Naacl 2010, pp. 984-992.
Victoria Bellotti et al. Taking Email to Task: The Design and eEvaluation of a Task Management Centred Email Tool. In Computer Human Interaction Conference 2003, CHI, pp. 345-352, Ft Lauderdale, Florida.
Vitor R. Carvalho et al. Improving “Email Speech Acts” Analysis via N-gram Selection. In Proceedings of HLT/NAACL 2006—Workshop on Analyzing Conversations in Text and Speech, pp. 35-41, New York.
William W. Cohen. Learning to Classify Email into “Speech Acts”. In Conference on Empirical Methods in Natural Language Processing 2004. pp. 309-316, Barcelona, Spain.
Simon H. Corston-Oliver, et al. Task-focused Summarization of Email. In ACL-2004 Workshop: Text Summarization Branches Out, pp. 43-50.
Andrew Lampert, et al. The Nature of Requests and Commitments in Email Messages. In Proceedings of EMAIL-2008: The AAAI Workshop on Enhanced Messaging, pp. 42-47, Chicago.
Andrew Lampert, et al. Requests and Commitments in Email are More Complex Than You Think: Eight Reasons to be Cautious. In Proceedings of Australasian Language Technology Workshop (ALTA 2008), pp. 55-63, Hobart, Australia.
European Search Report for Application No. 12804978.0 dated Jan. 27, 2015.
Chinese Second Office Action Issued in Patent Application No. 201280031955.2, dated Aug. 1, 2016, 14 Pages.
“Office Action Issued in Japanese Patent Application No. 2014-518600”, dated May 12, 2016, 08 Pages.
“First Office Action Issued in Chinese Patent Application No. 201280031955.2”, dated Feb. 24, 2016, 16 Pages.
Chinese Office Action and Search Report Issued in Patent Application No. 201280031955.2, dated Mar. 30, 2017, 16 Pages.
“Office Action Issued in Chinese Patent Application No. 201280031955.2”, dated Sep. 29, 2016, 13 Pages.
Japanese Office Action Issued in Japanese Patent Application No. 2014-518600, dated Dec. 8, 2016, 3 Pages.
Chinese Notice of Allowance in Patent Application 201280031955.2, dated Sep. 21, 2017, 4 pages.
Chinese Office Action in Patent Application 201280031955.2, dated Jul. 21, 2017, 13 pages.
Corston-Oliver et al., “Integration of Email and Task Lists”, in the Proceedings of the 2004 Collaboration, Electronic messaging, Anti-Abuse and Span Conference, Jul. 2004, 2 pages.
Corston-Oliver, et al., “Task-focused Summarization of Email”, In Proceedings of the ACL Workshop Text Summarization Branches Out, Jul. 2004, 9 pages.
Horvitz, Eric, “Principles of Mixed-Initiative User Interfaces”, in the Proceedings of the 1999 SIGCHI Conference on Human Factors in Computing Systems, May 1999, 9 pages.
Japanese Notice of Allowance in Application 2014-518600, dated Dec. 8, 2016, 4 pages.
Kalia, et al., “Identifying Business Tasks and Commitments from Email and Chat”, In Technical Report HPL-2013-4, Oct. 6, 2013, 22 pages.
Lampert, et al., “Requests and Commitments in Email are More Complex Than You Think:Eight Reasons to be Cautious”, In Proceedings of Australasian Language Technology Workshop, Dec. 8, 2008, 10 pages.
PCT 2nd Written Opinion in International Application PCT/US2016/028002, dated May 2, 2017, 9 pages.
PCT International Preliminary Report on Patentability in Application PCT/US2016/028002, dated Jul. 31, 2017, 9 Pages.
PCT International Preliminary Report on Patentability in PCT/US2012/041786 dated Jan. 7, 2014, 6 pages.
PCT International Search Report and Written Opinion in International Application PCT PCT/US2016/028002, dated May 30, 2016, 15 pages.
PCT Search Report and Written Opinion dated Jul. 14, 2016 for PCT Application No. PCT/US16/030615, 12 Pages.
Pennacchiotti, et al., “Automatically Building Training Examples for Entity Extraction”, Computational Natural Language Learning, Association for Computational Linguistics, Stroudsburg, PA, Jun. 23, 2011, pp. 163-171.
Torres-Moreno, “Automatic Text Summarization,” Chapter 6, Source and Domain Specific Summarization, Sep. 24, 2014, p. 215.
U.S. Appl. No. 14/714,137, Amendment and Response filed May 8, 2017, 12 pages.
U.S. Appl. No. 14/714,137, Office Action dated Feb. 7, 2017, 16 pages.
U.S. Appl. No. 14/714,137, Office Action dated Aug. 15, 2017, 16 pages.
“Office Action Issued in Korean Patent Application No. 10-2013-7034644”, dated Mar. 7, 2018, 10 Pages.
Colombian Office Action Issued in Colombian Patent Application No. NC2017/0011540, dated Nov. 15, 2017, 3 Pages.
Colombian Office Action Issued in Colombian Patent Application No. NC2017/0011525, dated Nov. 15, 2017, 3 Pages.
U.S. Appl. No. 14/714,137, Amendment and Response filed Dec. 15, 2017, 10 pages.
U.S. Appl. No. 14/714,137, Office Action dated Jan. 23, 2018, 17 pages.
U.S. Appl. No. 14/714,109, Office Action dated Feb. 7, 2018, 12 pages.
“Office Action Issued in Korean Patent Application No. 10-2013-7034644”, dated Aug. 23, 2018, 4 Pages. (W/O English Translation).
“Final Office Action Issued in U.S. Appl. No. 14/714,109”, dated Aug. 16, 2018, 16 Pages.
“Final Office Action Issued in U.S. Appl. No. 14/714,137”, dated Jun. 21, 2018, 18 Pages.
Abraāo, et al., “A XBRL Financial Virtual Assistant”, In Proceedings of the 11th International Conference on Internet and Web Applications and Services, May 22, 2016, pp. 64-72.
Kadhim, et al., “A Multi-intelligent Agent Architecture for Knowledge Extraction: Novel Approaches for Automatic Production Rules Extraction”, In International Journal of Multimedia and Ubiquitous Engineering, vol. 9, Issue 2, Mar. 2014, pp. 95-114.
NC2017/0011525, “Office Action Issued in Columbian Patent Application No. NC2017/0011525”, dated Jun. 27, 2018, 24 Pages.
NC2017/0011540, “Office Action Issued in Columbian Patent Application No. NC2017/0011540”, dated Jun. 27, 2018, 19 Pages.
Schlaefer, et al., “Statistical Source Expansion for Question Answering”, In Proceedings of the 20th ACM international conference on Information and knowledge management., 2009, 171 Pages.
Signer, et al., “A Personal Assistant for Web Database Caching”, In International Conference on Advanced Information Systems Engineering, Jun. 5, 2000, 15 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/714,137”, dated Oct. 5, 2018, 8 Pages.
“Notice of Allowance Issued in U.S. Appl. No. 14/714,137”, dated Mar. 12, 2019, 6 Pages.
“First Office Action and Search Report Issued in Chinese Patent Application No. 201610319721.8”, dated Jan. 18, 2019, 11 Pages.
“Office Action Issued in European Patent Application No. 12804978.0”, dated Feb. 26, 2019, 7 Pages.
“Office Action Issued in Chilean Patent Application No. 2017/002832”, dated Mar. 14, 2019, 7 Pages.
“Office Action Issued in Chilean Patent Application No. 2839-2017”, dated Mar. 14, 2019, 7 Pages.
“Office Action Issued in European Patent Application No. 16723208.1”, dated Jan. 8, 2019, 8 Pages.
“Office Action Issued in Chilean Patent Application No. 2017/002832”, dated Nov. 19, 2018, 2 Pages.
“Office Action Issued in Chilean Patent Application No. 201702839”, dated Nov. 14, 2018, 6 Pages.
“Office Action Issued in Columbian Patent Application No. NC2017/0011525”, dated Nov. 20, 2018, 19 Pages.
“Office Action Issued in Israel Patent Application No. 254940”, dated Oct. 22, 2019, 3 Pages.
“Office Action Issued in Israel Patent Application No. 254940”, dated Oct. 23, 2019, 5 Pages.
“Office Action Issued in Colombian Patent Application No. NC2017/0011525”, dated Jun. 18, 2019, 16 Pages. (W/o English Translation).
“Second Office Action Issued in Chinese Patent Application No. 201610319721.8”, dated Jul. 17, 2019, 08 Pages.
“Office Action Issued in Israel Patent Application No. 254939”, dated Jul. 15, 2019, 07 Pages.
“Office Action Issued in Indonesian Patent Application No. P00201707977”, dated Aug. 21, 2019, 3 Pages.
“Office Action Issued in Russian Patent Application No. 2017134261”, dated Oct. 25, 2019, 8 Pages.
“Non Final Office Action Issued in U.S. Appl. No. 14/714,109”, 14 Pages.
“Office Action Issued in Brazilian Patent Application No. BR112017022028-8”, dated Jun. 16, 2020, 5 Pages.
“Summons to Attend Oral Proceedings Issued in European Patent Application No. 12804978.0”, dated Apr. 17, 2020, 9 pages.
“First Office Action arid Search Report Issued in Chinese Patent Application No. 201680028053.1”, dated Aug. 14, 2020, 16 Pages.
“Office Action Issued in New Zealand Patent Application No. 736061”, dated Aug. 18, 2020, 4 Pages.
“Office Action Issued in Japanese Patent Application No. 2017-559498”, dated Jul. 14, 2020, 12 Pages.
“Office Action Issued in New Zealand Patent Application No. 736061”, dated Jan. 14, 2021, 3 Pages.
“Second Office Action Issued in Chinese Patent Application No. 201680028053.1”, dated Jan. 5, 2021, 9 Pages.
“Office Action Issued in Indian Patent Application No. 201717038980”, dated Jan. 28, 2021, 9 Pages.
“Office Action Issued in Mexican Patent Application No. MX/a/2017/014609”, dated Aug. 20, 2020, 5 Pages.
“Office Action Issued in New Zealand Patent Application No. 736061”, dated Nov. 3, 2020, 6 Pages.
“Office Action Issued in Australia Patent Application No. 2016265257”, dated Feb. 18, 2021, 6 Pages.
“Office Action Issued in New Zealand Patent Application No. 736061”, dated Mar. 4, 2021, 4 Pages.
Related Publications (1)
Number Date Country
20130007648 A1 Jan 2013 US