Systems and methods for pushing content
Methods and systems for presenting contextually relevant push content when a user is passively engaged with an application are described herein. The system detects that the user is engaged with an application on a device and monitors the user's level of engagement with the application. If the system determines that the user is passively engaged, the system prepares to insert push content into the current output. The system identifies a region on the current output into which to insert push content, for example a region unoccupied by content or a particular object. The system identifies a context of the current output and selects a push content item based on the context of the current output. Then, the system inserts the push content item into the empty region on the current output.
1 . A method comprising:
monitoring, using processing circuitry, an output of a user device, wherein the output comprises an image;
identifying, based at least in part on a user profile associated with the user device, a keyword from the output of the user device, wherein the keyword is further identified by:
identifying an object in the image using at least one of image segmentation, image comparison, or object recognition; and
determining an identifier related to the object, wherein the identifier is related to the keyword;
identifying, using processing circuitry, a keyword node in a knowledge graph that corresponds to the keyword;
identifying, using processing circuitry, a first plurality of nodes in the knowledge graph based on determining that each node of the first plurality of nodes is connected to the keyword node;
identifying, using processing circuitry, a second plurality of nodes in the knowledge graph based on determining that:
each node of the second plurality of nodes is connected to at least one node of the first plurality of nodes; and
each node of the first plurality of nodes is connected to at least one node of the second plurality of nodes;
processing, using processing circuitry, the keyword to determine a context of the output, wherein the context is determined based in part on the determined connections between the keyword node, a node of the first plurality of nodes, and a node of the second plurality of nodes;
accessing a database comprising a plurality of push content items, wherein each push content item of the plurality of push content items is one of a visual notification, an audio notification, an audio content item, an advertisement, a promotion, or an offer;
subsequent to identifying the keyword from the output of the user device, identifying a push content item of the plurality of push content items relevant to the context of the output;
selecting the identified push content item to be included in the output of the user device;
modifying the output of the user device to include the selected push content item; and
causing the user device to output the modified output.
2 . The method of claim 1 , further comprising:
displaying, at the user device, a selectable element related to the push content item;
receiving, at the user device, a selection of the selectable element; and
based on the receiving, outputting the push content item at the user device.
3 . The method of claim 1 , further comprising:
identifying a second keyword from the output of the user device; and
processing the second keyword to determine the context of the output.
4 . The method of claim 3 , wherein processing the second keyword to determine the context of the output comprises:
identifying, using processing circuitry, a second keyword node in the knowledge graph that corresponds to the second keyword; and
identifying, using processing circuitry, a third plurality of nodes in the knowledge graph, wherein the third plurality of nodes connects the keyword node to the second keyword node;
wherein the context is determined based in part on connections between each node of the third plurality of nodes, the keyword node, and the second keyword node.
5 . The method of claim 1 , wherein identifying the push content item relevant to the context of the output comprises:
accessing metadata associated with the plurality of push content items;
comparing the keyword to the metadata associated with the plurality of push content items; and
selecting a push content item of the plurality of push content items that comprises metadata matching the keyword.
6 . The method of claim 1 , further comprising:
accessing metadata associated with the object;
wherein the identifier is determined based on the metadata.
7 . The method of claim 1 ,
wherein the output is associated with a communications application of the user device, the communications application comprising communications between the user device and a second user device; and
wherein identifying the push content item relevant to the context of the output is based in part on a relationship between the user profile associated with the user device and a second user profile associated with the second user device.
8 . The method of claim 7 , wherein causing the user device to output the modified output comprises:
displaying the push content item in the communications application; and
sending, via the communications application, the push content item to the second user device.
9 . The method of claim 1 , wherein the output of the user device comprises an audio output; and wherein identifying the keyword from the output comprises identifying the keyword from the audio output.
10 . A system comprising:
memory;
control circuitry configured to:
monitor an output of a user device, wherein the output comprises an image;
identify, based at least in part on a user profile associated with the user device, a keyword from the output of the user device, wherein the keyword is identified by:
identifying an object in the image using at least one of image segmentation, image comparison, or object recognition; and
determining an identifier related to the object, wherein the identifier is related to the keyword;
identify a keyword node in a knowledge graph that corresponds to the keyword;
identify a first plurality of nodes in the knowledge graph based on determining that each node of the first plurality of nodes is connected to the keyword node;
identify a second plurality of nodes in the knowledge graph based on determining that:
each node of the second plurality of nodes is connected to at least one node of the first plurality of nodes; and
each node of the first plurality of nodes is connected to at least one node of the second plurality of nodes;
process the keyword to determine a context of the output, wherein the context is determined based in part on the determined connections between the keyword node, a node of the first plurality of nodes, and a node of the second plurality of nodes;
access a database comprising a plurality of push content items, wherein each push content item of the plurality of push content items is one of a visual notification, an audio notification, an audio content item, an advertisement, a promotion, or an offer;
subsequent to identifying the keyword from the output of the user device, identify a push content item relevant to the context of the output;
select the identified push content item to be included in the output of the user device;
modify the output of the user device to include the selected push content item; and
cause the user device to output the modified output.
11 . The system of claim 10 , wherein the control circuitry is further configured to:
cause display, at the user device, of a selectable element related to the push content item;
receive, at the user device, a selection of the selectable element; and
based on the receiving, output the push content item at the user device.
12 . The system of claim 10 , wherein the control circuitry is further configured to:
identify a second keyword from the output of the user device; and
process the second keyword to determine the context of the output.
13 . The system of claim 12 , wherein the control circuitry is configured, when processing the keyword and the second keyword to determine the context of the output, to:
identify a second keyword node in the knowledge graph that corresponds to the second keyword; and
identify a third plurality of nodes in the knowledge graph, wherein the third plurality of nodes connects the keyword node to the second keyword node;
wherein the context is determined based in part on connections between each node of the third plurality of nodes, the keyword node, and the second keyword node.
14 . The system of claim 10 , wherein the control circuitry is configured, when identifying the push content item relevant to the context of the output, to:
access metadata associated with the plurality of push content items;
compare the keyword to the metadata associated with the plurality of push content items; and
select a push content item of the plurality of push content items that comprises metadata matching the keyword.
15 . The system of claim 10 , wherein the control circuitry is further configured to:
access metadata associated with the object;
wherein the identifier is determined based on the metadata.
16 . The system of claim 10 ,
wherein the output is associated with a communications application of the user device, the communications application comprising communications between the user device and a second user device; and
wherein identifying the push content item relevant to the context of the output is based in part on a relationship between the user profile associated with the user device and a second user profile associated with the second user device.
17 . The system of claim 16 , wherein the control circuitry is configured, when causing the user device to output the modified output, to:
cause display of the push content item in the communications application; and
send, via the communications application, the push content item to the second user device.
18 . The system of claim 10 , wherein the output of the user device comprises an audio output; and wherein identifying the keyword from the output comprises identifying the keyword from the audio output.