System, method, and computer program product for selecting an event category based on a category score for use in providing content
AssigneeAmdocs Software Systems Limited
InventorAvishai Catane
Life of this patent
Estimating the term…
Abstract
A system, method, and computer program product are provided for selecting an event category based on a category score for use in providing content. In use, category score is determined for each of a plurality of categories of events, the category score based on a time period since an occurrence of at least one of the events. Further, at least one of the categories is selected based on the category score, for use in providing content associated with the selected at least one category.
Claims12
A method, comprising:
- receiving an event associated with a user;
- determining a category of the event, where the category is one of a plurality of predetermined categories;
- determining whether the event is a recurring event, utilizing a processor;
- determining a time the event occurred, and storing the time and the event under the determined category in association with an identifier of the user in a database, when it is determined that the event is a recurring event;
- determining whether a single previous occurrence of the event or multiple previous occurrences of the event exist, when it is determined that the event is a recurring event;
- when it is determined that the single previous occurrence of the event exists:
- determining a first interval between the single previous occurrence of the event and the received event, and storing the first interval and the event under the determined category in association with the identifier of the user in the database;
- when it is determined that multiple previous occurrences of the event exist:
- measuring time intervals between each of the multiple previous occurrences,
- determining whether the time intervals are each within a predefined threshold,
- determining a second interval between a previous occurrence of the event and the received event, and storing the second interval and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are not each within the predefined threshold, and
- calculating an average of the time intervals and storing the average and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are each within the predefined threshold;
- receiving from a content provider a request for a category, where the request identifies the user;
- identifying the identifier of the user in the database by querying the database for the user identified in the request, where the identifier is associated with a plurality of categories stored in the database, and where each of the plurality of categories contains a plurality of events;
- determining whether a recurring event associated with the user is expected to occur within a predetermined time period, utilizing the plurality of events associated with the identifier of the user;
- when it is determined that the recurring event is expected to occur within the predetermined time period, returning a first category of the plurality of categories to the content provider, where the first category includes the recurring event;
- and
- when it is determined that the recurring event is not expected to occur within the predetermined time period:
- calculating an event score for each of the plurality of events within the plurality of categories associated with the identifier of the user,
- calculating a category score for each of the plurality of categories, where each category score is based on an aggregation of event scores for events within that category,
- determining a second category of the plurality of categories with a highest category score, and
- returning the second category to the content provider.
A computer program product embodied on a non-transitory computer readable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed by a processor to implement a method comprising:
- receiving an event associated with a user;
- determining a category of the event, where the category is one of a plurality of predetermined categories;
- determining whether the event is a recurring event;
- determining a time the event occurred, and storing the time and the event under the determined category in association with an identifier of the user in a database, when it is determined that the event is a recurring event;
- determining whether a single previous occurrence of the event or multiple previous occurrences of the event exist, when it is determined that the event is a recurring event;
- when it is determined that the single previous occurrence of the event exists:
- determining a first interval between the single previous occurrence of the event and the received event, and storing the first interval and the event under the determined category in association with the identifier of the user in the database;
- when it is determined that multiple previous occurrences of the event exist:
- measuring time intervals between each of the multiple previous occurrences,
- determining whether the time intervals are each within a predefined threshold,
- determining a second interval between a previous occurrence of the event and the received event, and storing the second interval and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are not each within the predefined threshold, and
- calculating an average of the time intervals and storing the average and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are each within the predefined threshold;
- receiving from a content provider a request for a category, where the request identifies the user;
- identifying the identifier of the user in the database by querying the database for the user identified in the request, where the identifier is associated with a plurality of categories stored in the database, and where each of the plurality of categories contains a plurality of events;
- determining whether a recurring event associated with the user is expected to occur within a predetermined time period, utilizing the plurality of events associated with the identifier of the user;
- when it is determined that the recurring event is expected to occur within the predetermined time period, returning a first category of the plurality of categories to the content provider, where the first category includes the recurring event;
- and
- when it is determined that the recurring event is not expected to occur within the predetermined time period:
- calculating an event score for each of the plurality of events within the plurality of categories associated with the identifier of the user,
- calculating a category score for each of the plurality of categories, where each category score is based on an aggregation of event scores for events within that category,
- determining a second category of the plurality of categories with a highest category score, and
- returning the second category to the content provider.
A system, comprising:
- a processor and a memory coupled to the processor, the memory storing instructions, which, when executed by the processor, cause the processor to:
- receive an event associated with a user;
- determine a category of the event, where the category is one of a plurality of predetermined categories;
- determine whether the event is a recurring event;
- determine a time the event occurred, and storing the time and the event under the determined category in association with an identifier of the user in a database, when it is determined that the event is a recurring event;
- determine whether a single previous occurrence of the event or multiple previous occurrences of the event exist, when it is determined that the event is a recurring event;
- when it is determined that the single previous occurrence of the event exists:
- determine a first interval between the single previous occurrence of the event and the received event, and storing the first interval and the event under the determined category in association with the identifier of the user in the database;
- when it is determined that multiple previous occurrences of the event exist:
- measure time intervals between each of the multiple previous occurrences,
- determine whether the time intervals are each within a predefined threshold,
- determine a second interval between a previous occurrence of the event and the received event, and storing the second interval and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are not each within the predefined threshold, and
- calculate an average of the time intervals and storing the average and the event under the determined category in association with the identifier of the user in the database, when it is determined that the intervals are each within the predefined threshold;
- receive from a content provider a request for a category, where the request identifies the user;
- identify the identifier of the user in the database by querying the database for the user identified in the request, where the identifier is associated with a plurality of categories stored in the database, and where each of the plurality of categories contains a plurality of events;
- determine whether a recurring event associated with the user is expected to occur within a predetermined time period, utilizing the plurality of events associated with the identifier of the user;
- when it is determined that the recurring event is expected to occur within the predetermined time period, return a first category of the plurality of categories to the content provider, where the first category includes the recurring event;
- and
- when it is determined that the recurring event is not expected to occur within the predetermined time period:
- calculate an event score for each of the plurality of events within the plurality of categories associated with the identifier of the user,
- calculate a category score for each of the plurality of categories, where each category score is based on an aggregation of event scores for events within that category,
- determine a second category of the plurality of categories with a highest category score, and
- return the second category to the content provider.
Dependencies are inferred from the claim text.