Event extraction systems and methods

US12002010B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12002010-B2
Application numberUS-201815897038-A
CountryUS
Kind codeB2
Filing dateFeb 14, 2018
Priority dateJun 2, 2017
Publication dateJun 4, 2024
Grant dateJun 4, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Events that are described in either structured data (e.g. HTML web page or email) or text in a natural language description can be extracted and entered into one or more calendars on a user's device. In one embodiment, selecting an add event command in a calendar application can cause the calendar application to search, without having received any search input, in a database of extracted events, and events extracted within a predetermined period of time can be suggested as events to add to the calendar. In one embodiment, an extracted event can cause a notification to be displayed to a user. Other embodiments are also described herein.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory machine readable medium storing executable instructions which when executed by a data processing system cause the data processing system to perform a method comprising: receiving or sending, by the data processing system, a message to a remote system; storing a plurality of events in a database, the plurality of events each being extracted from a natural language description within the message at a time of extraction; displaying a calendar user interface of a calendar application, the calendar user interface including an add event command; receiving, at a current time, a selection of the add event command; in response to the selection and without additional user input, obtaining from the database, one or more suggested events from the plurality of events, in response to the time of extraction of each of the one or more suggested events being within a threshold period of time before the current time and ignoring remaining ones of the plurality of events in response to the time of extraction of each of the remaining ones not being within the threshold period of time before the current time; and displaying, in the calendar user interface, each of the one or more suggested events and not the remaining ones as an option to be added to the calendar application. 2. The medium as in claim 1 , wherein displaying the one or more suggested events is performed while zero characters are received in a search input field in the calendar user interface. 3. The medium as in claim 1 , wherein the threshold period of time is less than 24 hours. 4. The medium as in claim 2 , wherein the search input field is configured to receive one or more characters and to cause a search to be performed in a database using the received one or more characters as a search query, and the search of the database returns matches as auto completions of the search query that contained the received one or more characters. 5. The medium as in claim 4 , wherein the message with the natural language description is part of a text message or email. 6. The medium as in claim 5 , wherein the method further comprises: determining an expiration time of at least one of the plurality of events based on data extracted from the natural language description; removing the at least one of the plurality of events from the database on or after the expiration time. 7. The medium as in claim 6 , wherein the database includes a data structure in which the plurality of events are ordered by the time of extraction from most recent to least recent. 8. The medium as in claim 1 , wherein the method further comprises: receiving a selection one of the one or more suggested events in the calendar user interface; displaying, in response to the selection, a calendar event creation panel that is prepopulated with data from the selected one of the one or more suggested events to allow editing and entry into a calendar maintained by the calendar application. 9. The medium as in claim 1 , wherein the plurality of events are respectively extracted when the respective message is displayed. 10. The medium as in claim 1 , wherein the method further comprises: extracting, from a second natural language description in a second message that is later than the first message, text that indicates that one or more of the plurality of events has been canceled; removing the one or more of the plurality of events from the database. 11. The medium as in claim 1 , wherein the method further comprises: receiving an input on a date on the calendar user interface; searching the database for which of the plurality of events are associated with the date while zero characters have been received in a search input field; and displaying one or more of the plurality of events that are associated with the date. 12. The medium as in claim 1 , wherein the message was received at a first time, wherein a second time is the threshold period of time after the first time, wherein the one or more suggested events is displayed as the option when the current time is before the second time, and wherein the one or more suggested events is not displayed as the option when the current time is after the second time. 13. A method performed by a data processing system, comprising: receiving or sending, by the data processing system, a message to a remote system; storing a plurality of events in a database, the plurality of events each being extracted from a natural language description within the message at a time of extraction; displaying a calendar user interface of a calendar application, the calendar user interface including an add event command; receiving, at a current time, a selection of the add event command; in response to the selection and without additional user input, obtaining from the database, one or more suggested events from the plurality of events, in response to the time of extraction of each of the one or more suggested events being within a threshold period of time before the current time and ignoring remaining ones of the plurality of events in response to the time of extraction of each of the remaining ones not being within the threshold period of time before the current time; and displaying, in the calendar user interface, each of the one or more suggested events and not the remaining ones as an option to be added to the calendar application. 14. The method as in claim 13 , wherein displaying the one or more suggested events is performed while zero characters are received in a search input field in the calendar user interface. 15. The method as in claim 14 , wherein the threshold period of time is less than 2 hours. 16. The method as in claim 13 , wherein the plurality of events are respectively extracted when the respective message is displayed. 17. The method as in claim 16 , wherein the message with the natural language description is part of a text message or email. 18. The method as in claim 17 , wherein the method further comprises: determining an expiration time for at least one of the plurality of events based on data extracted from the natural language description; removing the at least one of the plurality of events from the database on or after the expiration time. 19. The method as in claim 18 , wherein the database includes a data structure in which the plurality of events are ordered by the time of extraction from most recent to least recent. 20. The method as in claim 13 , wherein the method further comprises: receiving a selection of one of the one or more suggested events in the calendar user interface; displaying, in response to the selection, a calendar event creation panel that is prepopulated with data from the selected one of the one or more suggested events to allow editing and entry into a calendar maintained by the calendar application. 21. The method as in claim 13 , wherein the plurality of events are respectively extracted when the respective message is received. 22. The method as in claim 13 , wherein the method further comprises: extracting, from a second natural language description in a second message that is later than the first message, text that indicates that one or more of the plurality of events has been canceled; removing the one or more of the plurality of events from the database. 23. The method as in claim 13 , wherein the method further comprises: receiving an input on a date on the calendar user interface; searching the database for

Assignees

Inventors

Classifications

  • Recognition of textual entities · CPC title

  • Parsing · CPC title

  • Natural language analysis (semantic analysis of natural language G06F40/30) · CPC title

  • Calendar-based scheduling for persons or groups · CPC title

  • G06Q10/10Primary

    Office automation; Time management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12002010B2 cover?
Events that are described in either structured data (e.g. HTML web page or email) or text in a natural language description can be extracted and entered into one or more calendars on a user's device. In one embodiment, selecting an add event command in a calendar application can cause the calendar application to search, without having received any search input, in a database of extracted events…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/1093. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 04 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).