DETAILED ACTION
This action is in response to the application filed 03/03/2022. Claims 1-20 are pending and have been examined.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 12/04/2025 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed inventions are directed to non-statutory subject matter without significantly more.
Claim 1
Step 1: The claim recites “A method”, and is therefore directed to the statutory category of process
Step 2A Prong 1: The claim recites the following judicial exception(s)
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system: This can be performed as a mental process. One can merely observe a sports event.
augmenting, by the computing system, the play-by-play data with game event data and context data: This can be performed as a mental process. One can merely imagine contextual data and game event data relevant to the play-by-play data.
parsing … the real-time event data to determine a first action corresponding to the plurality of edges: This can be performed as a mental process. One can merely identify an action performed in the real-time event data, and identify a place in the graph where a corresponding edge should be added.
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This can be performed as a mental process. One can mentally add edges to the knowledge graph corresponding actions identified in the real-time event data not previously represented.
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This can be performed as a mental process. One can merely identify streaks and over / underperformance in the data.
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data.
calculating … a score for each of the one or more insights can be performed as a mental process. One can simply generate and assign a score to each insight by some relevance criteria.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the following additional element(s)
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
augmenting, by the computing system, the play-by-play data with game event data and context data: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system is insignificant extra-solution activity that precedes the main process of the claim (MPEP 2106.05(g)).
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event is insignificant extra-solution activity that precedes the main process of the claim (2106.05(g)).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (game analysis) (MPEP 2106.05(h)).
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data: This is mere instruction to execute a judicial exception with a generic computing system (MPEP 2106.05(f)).
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is insignificant extra-solution activity that follows the main method of the claim (MPEP 2106.05(g)).
Step 2B: The following additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
augmenting, by the computing system, the play-by-play data with game event data and context data: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (historical game analysis) (MPEP 2106.05(h)).
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This is mere instruction to execute a judicial exception by a generic computing machine (MPEP 2106.05(f)).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data: This is mere instruction to execute a judicial exception with a generic computing system (MPEP 2106.05(f)).
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is an example of transmitting data over a network, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. i.)
Claim 2
Step 1: The claim recites a process, as in claim 1
Step 2A Prong 1: The claim recites the following further judicial exception(s)
generating a plurality of training data sets based on a plurality of historical knowledge graphs can be performed as a mental process. One can simply map the player interactions to a bit vector, indicating which interactions are occurring for each player with all other players.
learning … the one or more insights based on the plurality of historical knowledge graphs via templates comprising a deterministic output of descriptive text can be performed as a mental process. One can simply devise a set of textual template sentences for interesting types of events, then fill them in by looking through the historical knowledge graphs.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the further additional element(s)
generating, by the computing system, the first machine learning model by: generating a plurality of training data … and learning … the one or more insights: This is mere instruction to execute the judicial exceptions with a generic computing machine (MPEP 2106.05(f)).
learning, by the first machine learning model, the one or more insights based on the plurality of historical knowledge graphs via templates comprising a deterministic output of descriptive text: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
Step 2B: The further additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
generating, by the computing system, the first machine learning model by: generating a plurality of training data … and learning … the one or more insights: This is mere instruction to execute the judicial exceptions with a generic computing machine (MPEP 2106.05(f)).
learning, by the first machine learning model, the one or more insights based on the plurality of historical knowledge graphs via templates comprising a deterministic output of descriptive text: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
Claim 3
Step 1: The claim recites a process, as in claim 2
Step 2A Prong 1: The claim recites the following further judicial exception(s)
learning to identify insights that correspond to team-level or play-level streaks can be performed as a mental process. One can merely identify consecutive wins by a player or team across multiple graphs.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the additional element(s). While this further limits scope of the insight-learning process, the learning is still a mental process, and thus its execution by a generic data structure is still mere instruction to apply (MPEP 2106.05(f)). Analysis of claim 3 at this step mirrors that of claim 2.
Step 2B: The additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s). Analysis of claim 3 at this step mirrors that of claim 2.
Claim 4
Step 1: The claim recites a process, as in claim 2
Step 2A Prong 1: The claim recites the following further judicial exception(s)
learning … a score for each of the one or more insights by identifying a relevance of each insight compared to other insights can be performed as a mental process. One can merely assign a value proportional to the relevance of each insight to some important factor of the event.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the further additional element(s)
generating, by the computing system, the second machine learning model by learning, by the second machine learning model, a score for each of the one or more insights by identifying a relevance of each insight compared to other insights: This is mere instruction to apply a judicial exception with a generic computing device (computing system) and a generic data structure (second machine learning model) (MPEP 2106.05(f)).
Step 2B: The further additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
generating, by the computing system, the second machine learning model by learning, by the second machine learning model, a score for each of the one or more insights by identifying a relevance of each insight compared to other insights: This is mere instruction to apply a judicial exception with a generic computing device (computing system) and a generic data structure (second machine learning model) (MPEP 2106.05(f)).
Claim 5
Step 1: The claim recites a process, as in claim 4
Step 2A Prong 1: The claim recites the following further judicial exception(s)
learning to score insights based on a likelihood of occurrence of a particular statistic can be performed as a mental process. One can merely assign a value proportional to the likelihood of a statistic related to the insight (e.g. the approximate probability of a pitcher throwing a strike given their past performance).
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the additional element(s). While this limitation further narrows the scope of how the second machine learning model learns to score insights, this learning process can still be performed mentally, thus its integration with the second machine learning model is still mere instruction to apply with a generic data structure (MPEP 2106.05(f)).
Step 2B: The additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s). While this limitation further narrows the scope of how the second machine learning model learns to score insights, this learning process can still be performed mentally, thus its integration with the second machine learning model is still mere instruction to apply with a generic data structure (MPEP 2106.05(f)).
Claim 6
Step 1: The claim recites a process, as in claim 4
Step 2A Prong 1: The claim recites the following further judicial exception(s)
learning to score insights based on a particular statistic’s impact on a corresponding event can be performed as a mental process. One can merely assign a value proportional to the importance of a statistic related to the insight relative to the event’s outcome (e.g. the approximate probability of a team winning if a pitcher throws a strike in the third inning).
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the additional element(s). While this limitation further narrows the scope of how the second machine learning model learns to score insights, this learning process can still be performed mentally, thus its integration with the second machine learning model is still mere instruction to apply with a generic data structure (MPEP 2106.05(f)).
Step 2B: The additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s). While this limitation further narrows the scope of how the second machine learning model learns to score insights, this learning process can still be performed mentally, thus its integration with the second machine learning model is still mere instruction to apply with a generic data structure (MPEP 2106.05(f)).
Claim 7
Step 1: The claim recites a process, as in claim 1
Step 2A Prong 1: The claim recites no further judicial exception(s)
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the further additional element(s)
interfacing with a client device and prompting the client device to display the highest ranking insight on a display associated therewith is insignificant extra-solution activity that follows the main method of the claim (MPEP 2106.05(g)).
Step 2B: The further additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
interfacing with a client device and prompting the client device to display the highest ranking insight on a display associated therewith is an example of transmitting data over a network, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. i.).
Claim 8
Step 1: The claim recites “A system”, and is therefore directed to the statutory category of article of manufacture
Step 2A Prong 1: The claim recites the following judicial exception(s)
capturing, by a tracking system, play-by-play data for an event transmitted from an optically-based system: This can be performed as a mental process. One can merely observe a sports event.
augmenting the play-by-play data with game event data and context data: This can be performed as a mental process. One can merely imagine contextual data and game event data relevant to the play-by-play data.
parsing the real-time event data to determine a first action corresponding to the plurality of edges: This can be performed as a mental process. One can merely identify an action performed in the real-time event data, and identify a place in the graph where a corresponding edge should be added.
modifying, based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This can be performed as a mental process. One can mentally add edges to the knowledge graph corresponding actions identified in the real-time event data not previously represented.
generating via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This can be performed as a mental process. One can merely identify streaks and over / underperformance in the data.
generating a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data.
calculating … a score for each of the one or more insights can be performed as a mental process. One can simply generate and assign a score to each insight by some relevance criteria.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the following additional element(s)
A system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations: This is mere instruction to execute the judicial exceptions with a generic computing device (MPEP 2106.05(f)).
capturing, by a tracking system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving real-time event data comprising the augmented play-by-play data for the event from the tracking system is insignificant extra-solution activity that precedes the main process of the claim (MPEP 2106.05(g)).
accessing a database comprising a historical knowledge graph related to historical data corresponding to the event is insignificant extra-solution activity that precedes the main process of the claim (2106.05(g)).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (game analysis) (MPEP 2106.05(h)).
generating via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
calculating, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is insignificant extra-solution activity that follows the main method of the claim (MPEP 2106.05(g)).
Step 2B: The following additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
A system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations: This is mere instruction to execute the judicial exceptions with a generic computing device (MPEP 2106.05(f)).
capturing, by a tracking system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving real-time event data comprising the augmented play-by-play data for the event from the tracking system constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
accessing a database comprising a historical knowledge graph related to historical data corresponding to the event constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (historical game analysis) (MPEP 2106.05(h)).
generating via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
calculating, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is an example of transmitting data over a network, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. i.)
Claims 9-14
Step 1: Claims 9-14 recite an article of manufacture, as in claim 8.
Step 2A Prong 1: Claims 9-14 recite the same judicial exception(s) as claims 2-7, respectively.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through any additional elements. The analysis of claims 9-14 at this step mirrors that of claims 2-7, respectively, with the exception that claims 9-14 are directed to “A system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations”, said operations mirroring those of claims 2-7. This is a mere instruction to apply the exceptions using generic computer equipment (MPEP 2106.05(f)).
Step 2B: The additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s). The analysis of claims 9-14 at this step mirrors that of claims 2-7, with the exception that claims 9-14 are directed to “system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations”, said operations mirroring those of claims 2-7. This is mere instruction to apply the exceptions using generic computer equipment (MPEP 2106.05(f)).
Claim 15
Step 1: The claim recites “A non-transitory computer readable medium”, and is therefore directed to the statutory category of article of manufacture
Step 2A Prong 1: The claim recites the following judicial exception(s)
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system: This can be performed as a mental process. One can merely observe a sports event.
augmenting, by the computing system, the play-by-play data with game event data and context data: This can be performed as a mental process. One can merely imagine contextual data and game event data relevant to the play-by-play data.
parsing … the real-time event data to determine a first action corresponding to the plurality of edges: This can be performed as a mental process. One can merely identify an action performed in the real-time event data, and identify a place in the graph where a corresponding edge should be added.
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This can be performed as a mental process. One can mentally add edges to the knowledge graph corresponding actions identified in the real-time event data not previously represented.
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This can be performed as a mental process. One can merely identify streaks and over / underperformance in the data.
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data.
calculating … a score for each of the one or more insights can be performed as a mental process. One can simply generate and assign a score to each insight by some relevance criteria.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through the following additional element(s)
A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes a computing system to perform operations: This is mere instruction to execute the judicial exceptions with a generic computing device (MPEP 2106.05(f)).
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
augmenting, by the computing system, the play-by-play data with game event data and context data: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system is insignificant extra-solution activity that precedes the main process of the claim (MPEP 2106.05(g)).
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event is insignificant extra-solution activity that precedes the main process of the claim (2106.05(g)).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (game analysis) (MPEP 2106.05(h)).
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data: This is mere instruction to execute a judicial exception with a generic computing system (MPEP 2106.05(f)).
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is insignificant extra-solution activity that follows the main method of the claim (MPEP 2106.05(g)).
Step 2B: The following additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s)
A system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations: This is mere instruction to execute the judicial exceptions with a generic computing device (MPEP 2106.05(f)).
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
augmenting, by the computing system, the play-by-play data with game event data and context data: This is mere instruction to apply a judicial exception with a generic computing system (MPEP 2106.05(f)).
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event constitutes retrieving information from memory, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. iv.).
wherein the historical knowledge graph comprises: a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event, and a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event: This merely links the judicial exceptions to a particular field of use (historical game analysis) (MPEP 2106.05(h)).
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges: This is mere instruction to execute a judicial exception with a generic computing machine (MPEP 2106.05(f)).
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges: This is mere instruction to execute a judicial exception by a generic computing machine (MPEP 2106.05(f)).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes: This is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: This can be performed as a mental process. One can mentally calculate statistics based on the insights in the real-time even data: This is mere instruction to execute a judicial exception with a generic computing system (MPEP 2106.05(f)).
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights is mere instruction to execute a judicial exception by a generic data structure (MPEP 2106.05(f)).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users is an example of transmitting data over a network, a limitation known to be well-understood, routine, and conventional (MPEP 2106.05(d) II. i.)
Claims 16-20
Step 1: Claims 16-20 recite an article of manufacture, as in claim 15.
Step 2A Prong 1: Claims 16-20 recite the same judicial exception(s) as claims 2-6, respectively.
Step 2A Prong 2: The judicial exception(s) are not integrated into a practical application through any additional elements. The analysis of claims 16-20 at this step mirrors that of claims 2-6, respectively, with the exception that claims 16-20 are directed to “A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes a computing system to perform operations”, said operations mirroring those of claims 2-6. This is a mere instruction to apply the exceptions using generic computer equipment (MPEP 2106.05(f)).
Step 2B: The additional element(s) of the claim, taken alone or in combination, do not amount to significantly more than the recited judicial exception(s). The analysis of claims 16-20 at this step mirrors that of claims 2-6, with the exception that claims 16-20 are directed to “A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes a computing system to perform operations”, said operations mirroring those of claims 2-6. This is mere instruction to apply the exceptions using generic computer equipment (MPEP 2106.05(f)).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Ray et al. (SYSTEM AND METHOD FOR AUTOMATIC GENERATION OF SPORTS MEDIA HIGHLIGHTS, filed 2017, US 2019/0205652 A1), hereafter referred to as ‘Ray’, in view of Rabines et al. (SYSTEMS AND METHODS FOR FACILITATING THE GENERATION AND PUBLISHING OF PERSONAL SOCIAL MEDIA, filed 2020, US 2022/0180050 A1), hereafter referred to as ‘Rabines’, and further in view of Coiner (Vicarious Coaching, published 9/1/2016, US 20160253919 A1).
Regarding claim 1, Ray teaches [a] method, comprising:
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system: “The Auto-Highlights Generation Logic may receive inputs from a plurality of data sources, including In-Game AV (audio/visual) media sources (tracking system) (including in-game data and metadata) … The in-game metadata may include: teams played, team home/away information, game date, final score, real time running score with time stamps (may also include basic static graph data described herein), play-by-play data (i.e., what play was run at what game clock/ time) and special game notable or outcome-related factors such as: overtime (OT), major injury, record breaking play, major controversy, fight, technical foul, ejection, fan interference, upset, buzzer beater, sudden-death win/loss, and the like” (Ray, [0032]). The event in this case is a game. As stated in paragraph [0059] of the instant Specification, play-by-play data can include box score statistics associated with the play. Thus, real time running score is considered a form of real-time play-by-play data.
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]).
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual ‘activity graphs’ (historical knowledge graph)” (Ray, [0043]). The In-Game Highlight Logic, which uses historical event data, creates graphs.
“Referring to FIG. 13, a flow diagram 1300 illustrates one embodiment of a process or logic for implementing graph-based highlight logic, which may be implemented by or part of the In-Game Highlights Logic 42 (FIG. 1). The process/logic begins at block 1302 by retrieving individual activity data graphs (or static graphs) (historical knowledge graph[s]) for the current game from the Graph Server (database). The data stored on the graph server may be in the format discussed herein for processing by the logic of the present disclosure. For example, the raw static data-graph input data may be in a digital format, equivalent to that shown in the static graphs 502-508 shown in FIG. 5 or 6 with the edges and activity time steps ats … for each of the plays of the game” (Ray, [0088]).
wherein the historical knowledge graph comprises:
PNG
media_image1.png
443
333
media_image1.png
Greyscale
(Ray, Figure 5). This is one static graph from Ray’s system. Each circle (node) represents a player, and each arrow (edge) represents a player action.
a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]). The historical data is associated with teams or players in the current game, thus, teams or players in the current game are associated with the historical data.
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play … may be represented by a network data structure (or data network graph or data graph) in FIG. 5 … In that case, the five offensive players (a,b,c,d,e) are shown as solid black circles 510 and the defensive players (defenders) (v,w,x,y,z) are shown as white-center circles 512. Each of the circles 510,512 may be defined as "nodes" (or "vertices") in the data graph … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data) 516,518, respectively. In this case, the label (or data) format for the nodes 516 is <player location, ball possession>” (Ray, [0046]).
a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event:
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play described above with FIG. 4, may be represented by a network data structure (or data network graph or data graph) in FIG. 5 having four corresponding "static" data graphs … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data), respectively. In this case, … the label (or data) format for the edges 514 is <player action>, e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc.” (Ray, [0046]). Each edge is associated with an action.
“Referring to FIGS. 9 and 10, the logic of the present disclosure may search the "frequent" static subgraphs of Table 900 to identify "frequent dynamic patterns" or "dynamic normative patterns" (DNPs) within a game. For example, using the Table 900, the logic may compare the frequent static sub-graphs sg1 and sg2, for plays Pl, P2, (or compare the sub-graph graph "edges") to identify common substrings (or common sub-graph edges) for activity time steps ats=1, 2, and 3“ (Ray, [0068]). A dynamic normative pattern (DNP) can be a set of edges common to two subgraphs.
”block 1308 identifies frequent Dynamic Normal Patterns (DNPs) for the current game from the frequent sub-graphs and Play weighting factors (Play Wt) and stores in the DNP Table 1100 (FIG. 11), as discussed herein. Next, a block 1310 identifies current game DNPs closest to DNPs of other games with the same outcome and stores the results in the Graph-Based Highlights Table 1202 (FIG. 12), as discussed herein. For example, referring to FIG.11 and Table 1100, if this game was Game 5 of the 2017 season, the game ended in a Loss for Team A, it was against opponent Team D, which it played before in Game 3 (shown by dashed lines), Team D having a Rank of 6th in the league, and the DNPs identified were DNP7, DNP12, DNP13, and DNP14. The only DNP that appeared in a previous game was DNP7 (historical data corresponding to the event), which also appeared in Game 4 (against Team E) and Game 3 (against Team D). This is particularly relevant because it was against the same opponent (Team D), as discussed herein with FIG. 11.” (Ray, [0094]). Data from a previous game is historical, as it happened prior to the current game, and it’s related to the current event through shared DNPs. A common DNP contains edges present in the previous game, representing previous actions performed in that historical game.
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges:
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed (real-time event data), which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual "activity graphs." (Ray, [0043])
“the label (or data) format for the edges 514 is <player action> (first action), e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc. There” (Ray, [0046])
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges:
“As discussed herein, the four "static" data graphs 502-508 (or sg1-sg4, respectively) are shown, for the "pick and shoot" play, where each of the static data graphs 502-508 represents a snapshot in time (ats=1, ats=2, ats=3, ats=4, respectively) during the play, with the nodes and edges having data labels as described herein above, and the corresponding play graph as described hereinafter” (Ray, [0048])
PNG
media_image2.png
792
519
media_image2.png
Greyscale
(Ray, Figure 5); “in the graph 502, the offensive player b (solid black circle with a white ‘b’ in center) 520 has the ball and is located in region 2 of the court, as indicated by the data label [location, ball possession]=[2,1] … defender x located in region 1 without the ball [1,0], … and player b initiates a pass (first action) (as indicated by the label "Pa") on a line 522 to offensive player a, located in region 1 without the ball [1,0]” (Ray, [0048]). In graph 502, an edge representing the pass (‘Pa’) in this time step connects player nodes a and b.
PNG
media_image3.png
799
527
media_image3.png
Greyscale
(Ray, Figure 5); “Next, the graph 504 at activity time step ats=2 shows the defender x moves in region 1, as shown by a line 530, to guard (G) offensive player a, who now has the ball in region 1: [1,0],[1,1], respectively” (Ray, [0049]). In timestep 2, the pass is completed and the first action is no longer represented in the historical knowledge graph. Player a’s node is updated in response to the ball being passed to them (changing at least one of the plurality of nodes). Additionally, the pass from the previous timestep is completed, so the pass (‘Pa’) edge is removed (changing at least one of the plurality of edges).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph: “Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic as part of the In-Game Highlight Logic to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs) (insights)” (Ray, [0043]).
… wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes:
“The logic of the present disclosure may also use certain analysis techniques to help identify key events in a game that may have affected the game outcome, such as when the game has an "unexpected" outcome” (Ray, [0055])
“Another approach to determining an unexpected game result or outcome may be to use the rankings of the teams playing (e.g., league rank or other form of ranking), and if the team with a significantly higher rank lost the game (underperforming), the result or outcome would be considered an unexpected result ( e.g., an "upset").” (Ray, [0056])
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights:
“The play weighting factor (Play Wt) (score) is an indication of the significance to the outcome of the play or game (or other significant attribute of the game), and may range from 1 to 5, 1 being lowest significance and 5 being the highest significance, as discussed herein” (Ray, [0092]); “Play Wt (score) may be used to indicate, or be set or adjusted based on, the level of impact, or the likelihood of impact on the game outcome, or on other significant attribute of the game (such as record breaking play, key defensive stop, key strategy, and the like). The value of the Play Wt may be based on multiple elements or effects factored together” (Ray, [0093]). The play weight, an integer valued between 1 and 5 inclusive, may be set based on a significant attribute of the game. No further calculation is required for a single integer.
“Plays may be weighted (or ranked), e.g., Play Wt (score), based on likely importance or significance to the game outcome (or other significant game attribute), as described herein, e.g., a play occurring after the average point-of-no-return time in a game may be given a high weighting (Play Wt) and may thus be given DNP status or otherwise added to the plays selected for the graph-based highlights (GBHs). Also, in some embodiments, the logic may prioritize identification of low ranked teams successful plays and a high ranked teams successful plays, to determine what critical plays or strategies were used to result in the game outcome, such as when there is an unexpected outcome, e.g., high rank team lost to a low ranked team” (Ray, [0075]); “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]). Ray’s system assigns scores to individual plays proportional to how significant they are to the outcome of the game. The determination of whether or not to use a given highlight can be made based on the scores of the play(s) contained within it. The score of a highlight is the sum of the scores of its play(s).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users: “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]); “Referring to FIG. 19, a flow diagram 1900 illustrates one embodiment of a process or logic of the present disclosure for providing, among other things, a graphic user interface (GUI) or visualization to the user (end user) on the display of the user/communication device, for receiving and displaying the AV highlight (HLT) content … The process runs when the HLT App is launched and begins at a block 1902, which retrieves data from the Final Highlight Server (or Final HLT Server)” (Ray, [0111]).
While Ray fails to disclose the further limitations of the claim, Rabines teaches a method, comprising:
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, : “A Storyline (insight) is a newsworthy posting, automatically generated and published on the application. Typically, a Storyline will contain news and report details about an event, such as an upcoming game (i.e., which teams, what date and time), details about the recent actions and performance of real-world protagonists (i.e. specific players' or teams' recent game stats), an editorial assessment regarding the meaning or significance of their recent record or upcoming game (i.e. it may assess a notable outcome in the last matchup ), as well as a premise that defines a line of success ( or failure) by the featured protagonists in a proximal event (i.e. above or below average performance for specific teams or players, in the next scheduled game)“ (Rabines, [0018]); “The server-side application 12 can apply machine learning processes that analyze the data in these tables to find notable patterns of the type that provoke a question or opinion from the traditional NBA fan. For example, the machine learning processes may look for scoring streaks, or whether any player had a "triple double" streak started, which means ten or more points, rebounds and assists. Further, the machine learning processes may apply statistical review to find trends that are other-than-normal, and perhaps even extraordinary … If Mr. Harden will face the Pelicans tonight, the server-side application may identify this upcoming game as a newsworthy event and can use this identified Storyline pattern (insight)” (Rabines, [0070]); “FIG. 5 depicts on example of a publisher processor capable of carrying out the method described above to generate Storylines to aid a user with creating machine displayable content for a data feed published to an account associated with the user … The publishing processor as discussed above has a pattern recognition process (first machine learning model) that will analyze data relevant to those games in the time window and generate … a series of patterns that are candidates for storylines (insights)” (Rabines, [0072]).
wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes; generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: “To this end, the process 250 may proceed to step 254 and analyze the patterns identified to develop Storylines (insights). In one embodiment, the process 250 applies a series of rules that apply testable characterizations of a Storyline. For example, in step 254 the identified patterns can be checked for whether they include a "Hot Streak?" storyline, wherein such a pattern shows that a protagonist, typically a player, but it can be a coach or other party, has outperformed (over perform[ed]) their statistical average (descriptive statistic) for three games in a row (streak)” (Rabines, [0058])
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights:
“The publishing processor may further include a prioritization processor (second machine learning model) for ranking the candidates identified by the storyline processor into a ranked list of themes … the priority processor can also use those identified relationships to set priority (score) for the candidates for storylines (insights)” (Rabines, [0072]); “In one embodiment, the Storyline machine learning process tracks and analyzes the frequency with which each pattern (insight) appears, to determine which patterns are more or less frequent than others. The Storyline machine learning process provides a higher priority (score) to less frequent patterns (rare patterns). The Storyline machine learning process may also track and analyze the frequency with which users react to certain patterns and give priority to the more popular patterns (storylines that users swipe on the most)” (Rabines, [0060]). The calculated value for priority is inversely proportional to pattern frequency and / or directly proportional to more popular patterns.
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users:
“The systems described herein determine that there is a newsworthy, or comment worthy event (highest ranking) related to topic of shared interest to a large community of users. In For example, in the domain of major league sports, the system may determine that a particular NBA basketball player is on a scoring streak of scoring more than 25 points (descriptive statistic) per game. The system may also determine that this pace is statistically exceptional (highest ranking), especially for this player, being, for example, two or three standard deviations above relevant means. The system may process this statistical data into a succinct question, such as will player X's streak of scoring more than 25 points per game continue in tonight's game? … the noteworthy pattern becomes the basis for generation a new posting on the app, while historical data about the topic is used to generate an argument-worthy premise that is included in the posting. Other relevant information is included in the posting and may be published” (Rabines, [0021]).
Ray and Rabines relate to automatic sports analytics and are analogous to the claimed invention. Ray teaches a computer system that generates and scores insights based on knowledge graphs. The claimed invention differs from this method by using two machine learning models to generate and score insights, respectively. Rabines teaches a computer system that uses two machine learning models to generate and score insights. Because both Ray and Rabines teach the use of software modules that generate and score insights, it would have been obvious to a person of ordinary skill in the art to substitute Ray’s generation and scoring modules for Rabines’ machine learning generation and scoring modules to achieve the predictable result of automatic generation and scoring of insights using machine learning (MPEP 2143 I. (B) Substituting one known element for another for predictable results).
While Ray and Rabines fail to disclose the further limitations of the claim, Coiner discloses a method, comprising:
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system:
“Turning now to the drawings, FIG. 1 is a block diagram of selected elements of playbook system 100, which may also be referred to herein simply as playbook system 100 (tracking system). In at least one embodiment, playbook system 100 may be used to identify, select, access, review, and modify one or more plays (play-by-play data) from a database, referred to herein as playbook database 102 containing data, identified in FIG. 1 as play data 130 associated with a multitude of football (event) plays. In at least one embodiment, playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play.” (Coiner, [0057])
“one or more stationary or movable cameras (optically-based system) positioned above the field of play may be used to monitor the initial formation of the players on the field before a play begins as well as the motion paths of the various players as the play is executed. The images provided by these one or more cameras may be analyzed with pattern recognition techniques to identify a match between the executed play and a play from the playbook database.” (Coiner, 0105])
augmenting, by the computing system, the play-by-play data with game event data and context data:
“playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play (context data). Play data 130 may define or characterize plays according to a number of predetermined parameters and a characteristic of a play may be associated with a particular value of a play parameter. Playbook database 102 may characterize some or all of the plays in play data 130 with respect to a number of parameters and the particular values associated with each parameter may define a corresponding characteristic of the play. For example, playbook database 102 may include data indicative of a value for a formation parameter associated with some or all of the plays in play data 130. In at least one embodiment a value for a particular parameter defines a characteristic of the corresponding play. Continuing with the formation parameter example, a formation parameter value of “5” may indicate plays that are executed out of a particular shotgun formation (game event data). In at least one embodiment, playbook database 102 includes a data structure identified as playbook metadata 140 that defines the metadata associated with the applicable playbook database 102. Playbook metadata 140 may include information identifying the various parameters with which a play may be described and the various values of each parameter that the database supports.” (Coiner, [0057])
PNG
media_image4.png
380
312
media_image4.png
Greyscale
(Coiner, Fig. 1B)
“Also shown in FIG. 1B, playbook database 102 includes play data 130. Play data 130 may be usable to generate playbooks, or collections of individual plays. Users may use play data 130 to create and store playbooks, but also to distribute playbooks to other users. For example, a football coach may prepare a playbook for an upcoming game and distribute the playbook electronically to players on the coach's team. Thus, play data 130 may include a playbook identifier, along with a plurality of play identifiers, to describe collections of plays in a playbook. In other embodiments, play data 130 may include rendered play images that are suitable for viewing and/or printing.” (Coiner, [0067])
receiving, by the computing system, real-time event data comprising the augmented play-by-play information for the event from the tracking system: “In operation, playbook system 100 may enable playbook database 102 to be populated with data and/or images representing plays. A user and/or a provider of playbook system 100 may populate playbook database 102 with plays. Once populated, a user may execute playbook application 232 (see FIG. 2) to access plays stored within playbook database 102. The access may include browsing or searching for individual plays using various criteria. For example, concept query 122 and combination query 124 may enable searching for plays based on high-level football concepts, while route query 126 may enable searching based on specific route paths for desired positions. The plays matching a received search criteria may be presented to the user as a collection of plays, which the user may view, browse, and/or select. Certain plays outputted to the user may be added to a playbook, which can be stored by the user and retrieved, for example, for distribution. Additionally, video segments of individual plays, when available, may be played back to a user of playbook application 232, and/or may be included with a playbook.” (Coiner, [0071])
Coiner relates to measuring, modifying, and changing play data from sporting events and is analogous to the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Ray and Rabines to automatically augment recorded play data with additional related information, as disclosed by Coiner. Such augmented data can be identified and selected more intuitively and efficiently. See Coiner, [0057].
Regarding claim 2, the rejection of claim 1 in view of Ray, Rabines, and Coiner is incorporated. The combination of Ray and Rabines further teaches a method, comprising:
generating, by the computer system, the first machine learning model by:
generating a plurality of training data sets based on a plurality of historical knowledge graphs: Ray: “the present disclosure may use the Graph-Based Highlight Logic … as part of the In-Game Highlight Logic … to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs) … Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual ‘activity graphs’” (Ray, [0043]); “once individual static activity graphs have been created (or received or retrieved) for each activity snapshot or time step (a plurality of historical knowledge graphs), the individual activity graphs (from multiple snapshots) may be combined into a composite or "dynamic" graph (training data set) to represent an entire play (or portion thereof). Each of the plays may also be combined or aggregated to represent an entire game” (Ray, [0052]); “the dynamic graphs (dg's) (plurality of training data sets) for the plays of the game may be analyzed” (Ray, [0054]). Graphs, constructed by the Graph-Based Highlight Logic, are used to learn key insights from a game match as discussed below, hence they’re used to train the model to identify these insights.
learning, by the first machine learning model, the one or more insights based on the plurality of historical knowledge graphs: Ray: “the present disclosure may use the Graph-Based Highlight Logic … as part of the In-Game Highlight Logic … to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs) (insights)” (Ray, [0043]); “the dynamic graphs (dg's) (graphs, each based on a plurality of historical knowledge graphs) for the plays of the game may be analyzed for "frequent" static sub-graphs, or portions of (or activities in) the dynamic graphs (or series of static graphs) that are repeated during a game at some minimum "frequency" or that are "significant", i.e., are an important or significant part of the play or play outcome, such as, a series of activities that lead to a score, or that involve multiple players with the ball, or that involve the ball, or that occur in a game just before or after a win is assured (e.g., "point of no return"), and the like” (Ray, [0054]). As discussed regarding claim 1, the highlight-generation module taught by Ray can be substituted with the first machine learning model taught by Rabines.
via templates comprising a deterministic output of descriptive text: Rabines: “The publisher processor processes data from the sports data set to identify patterns (insights) within the data set that are associated with a list of predetermined themes … for generating a headline signal representative of a machine displayable string of text and being associated with an identified pattern. The predetermined list of themes may be as described above ‘Hot Streak’, ‘Breakout Rookie’, ‘Highlight Performance’, ‘Big Performance’, ‘Trending Up/Down’; ‘Repeat’, ‘Bounce Back’, ‘Back to Reality’ or any other suitable theme for the sports domain and capable of being associated with a pattern that can be statistically identified from the data set. The publishing processor may further include a prioritization processor (second machine learning model) for ranking the candidates identified by the storyline processor (first machine learning model) into a ranked list of themes” (Rabines, [0072]). The storyline processor and pattern recognition process are equivalent, as evident by their shared number 472 in Rabines’ disclosure. The outputs of the first machine learning model (insights) of Rabines’ system are ranked by the second machine learning model.
Rabines: “The priority processor can send to the editorial headline processor the candidates to be made into Storylines. The editorial headline processor can process the candidate strings, which are typically a string of text, such as ‘Hot Streak’, associated with the identified pattern. The headline processor can alter sections of the string to include a string of event data associated with upcoming event and the patterns, such as by altering the string to ‘Is Harden on a Hot Streak?’” (Rabines, [0072]). The ranked insights are fed into the headline processor, which forms a more detailed string.
Rabines: “In one embodiment, the headline processor stores a series of template strings for each theme, such as the theme ‘Hot Streak’. The template string can include in one example, a string for the theme (descriptive text), such as the text string ‘Will [player X]'s hot streak end [event time]’. The template string can include a formulation of the theme, such as Will X's hot streak end?, as well as replaceable string variables, such as [player X], and [event time]. The headline processor can use a string replacement process to replace the replaceable string variables with text strings that present in a displayable form data (deterministic output) associated with the Storyline, such as the player's name, in this example Mr. Harden, the event time, in this example Wednesday night, or in other examples, it could be tonight at 7 pm?’” (Rabines, [0072]). The detailed string can be formed from a template associated with the theme of the insight, and is used as the final output to the user.
The output of the first machine learning model in Rabines’ system is designed to be fed as input to a template string generator which sends final textual information to a user. This falls within the scope of the first machine learning model learning insights via templates comprising a deterministic output of descriptive text.
Ray and Rabines relate to automatic sports analytics and are analogous to the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Ray, Rabines, and Coiner to use template strings for textual insight output, as disclosed by Rabines. Doing so allows the creation of user-readable descriptive strings that summarize the important aspects of insights, which can be incorporated into more elaborate displayable web forms. See Rabines, [0072], [0074], and Figure 6.
Regarding claim 3, the rejection of claim 2 in view of Ray, Rabines, and Coiner is incorporated. The combination of Ray and Rabines further teaches a method, wherein learning, by the first machine learning model, the one or more insights based on the plurality of historical knowledge graphs via the templates comprising the deterministic output of the descriptive text comprises: learning to identify insights that correspond to team-level or play-level streaks:
PNG
media_image5.png
497
1101
media_image5.png
Greyscale
(Rabines, Figure 4);
Rabines: “in step 254 the identified patterns can be checked for whether they include a "Hot Streak?" storyline, wherein such a pattern shows that a protagonist, typically a player, but it can be a coach or other party, has outperformed their statistical average for three games in a row (play-level streak). Such a pattern can be identified using a process such as that depicted in FIG. 4. FIG. 4 depicts pictorially a pattern recognition and learning process 450 (first machine learning model) for identifying a scoring hot streak. FIG. 4 shows a y-axis 451 for points scored, an x-axis for game event and three games, 23, 24, and 25. In the process depicted the learning process (first machine learning model) has learned from monitoring user activity and sports media activity, that scoring streaks over three games during which each game has scoring that is three or more standard deviations 458 from the historical average for the player (historical knowledge), excites interest from the users of the app (insight). Techniques for determining this "hot streak" rule using machine learning are known in the art and may include Generate and Test paradigms that employ historical data (plurality of historical knowledge) to identify the rule” (Rabines, [0058]). As discussed regarding claim 2, the knowledge graphs are fed into the highlight generation module disclosed by Ray, which can be substituted with the first machine learning model taught by Rabines as discussed regarding claim 1.
Ray and Rabines relate to automatic sports analytics and are analogous to the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Ray, Rabines, and Coiner to identify insights corresponding to streaks, as disclosed by Rabines. Sports reporters pour through volumes of statistics to try and find noteworthy performances, a process automated by Rabines’ application. Hot streaks are exemplary noteworthy performances, considered interesting “plot points” in sports games. Hot streaks also have reliable statistical support and are clearly correct when identified, unlike other insights which may be more complex, nuanced, or harder to gauge. See Rabines, [0027], [0049], and [0060].
Regarding claim 4, the rejection of claim 2 in view of Ray, Rabines, and Coiner is incorporated. The combination of Ray and Rabines further teaches a method of generating, by the computing system, the second machine learning model by learning, by the second machine learning model, a score for each of the one or more insights by identifying a relevance of each insight compared to other insights: Ray: “Plays may be weighted (or ranked), e.g., Play Wt (score), based on likely importance or significance to the game outcome (or other significant game attribute), as described herein, e.g., a play occurring after the average point-of-no-return time in a game may be given a high weighting (Play Wt) and may thus be given DNP status or otherwise added to the plays selected for the graph-based highlights (GBHs). Also, in some embodiments, the logic may prioritize identification of low ranked teams successful plays and a high ranked teams successful plays, to determine what critical plays or strategies were used to result in the game outcome, such as when there is an unexpected outcome, e.g., high rank team lost to a low ranked team” (Ray, [0075]); “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s])” (Ray, [0108]). As discussed regarding claim 1, the scoring module of Ray can be substituted with the second machine learning model of Rabines.
Regarding claim 5, the rejection of claim 4 in view of Ray, Rabines, and Coiner is incorporated. The combination of Ray and Rabines further teaches a method, wherein learning, by the second machine learning model, the score for each of the one or more insights by identifying the relevance of each insight compared to other insights comprises: learning to score insights based on a likelihood of occurrence of a particular statistic: Ray: “the dynamic graphs (dg's) for the plays of the game may be analyzed for "frequent" static sub-graphs, or portions of (or activities in) the dynamic graphs (or series of static graphs) that are repeated during a game at some minimum "frequency" or that are "significant" (minimum likelihood of occurrence), i.e., are an important or significant part of the play or play outcome, such as, a series of activities that lead to a score, or that involve multiple players with the ball, or that involve the ball, or that occur in a game just before or after a win is assured (e.g., "point of no return"), and the like. For example, in some embodiments, the present disclosure may give more weight (score) (such as "Play Wt", in Table 900, FIG. 9) to "significant" sub-graphs based on play between average "point of no return" time based on previous games, and the current game's "point of no return" time (discussed more hereinafter).” (Ray, [0054]). As discussed regarding claim 1, the scoring module of Ray can be substituted with the second machine learning model of Rabines.
Regarding claim 6, the rejection of claim 4 in view of Ray, Rabines, and Coiner is incorporated. The combination of Ray and Rabines further teaches a method, wherein learning, by the second machine learning model, the score for each of the one or more insights by identifying the relevance of each insight compared to other insights comprises: learning to score insights based on a particular statistic's impact on a corresponding event: Ray: “the Plays may be weighted (or ranked) (score[d]), e.g., Play Wt, based on likely importance or significance to the game outcome (or other significant game attribute) (impact on a corresponding event), as described herein” (Ray, [0075]); “The "unexpectedness" of game outcome may be computed by comparing the game outcome with a Bradley-Terry predictive model, which may determine the probability of one team beating another team based on the ability of each team, certain performance factors of each team (e.g., scoring percentage, turnover rate, and the like) and an error correction term” (Ray, [0056]). As discussed regarding claim 1, the scoring module of Ray can be substituted with the second machine learning model of Rabines.
Regarding claim 7, the rejection of claim 1 in view of Ray, Rabines, and Coiner is incorporated. Ray further teaches a method, wherein presenting, by the computing system, the highest ranking insight of the one or more insights to the one or more end users, comprises: interfacing with a client device and prompting the client device to display the highest ranking insight on a display associated therewith: “on the display screen of the user device (client device) there may be a user settings menu option displayed (not shown), which, when selected, allows the user to select various attributes and features associated with the HLT App software (interfacing), to perform the functions described herein, such as various display options, defaults, and the like, as well as to provide information about the user (user attributes), or for other purposes as described hereinafter” (Ray, [0117]); “The IG-HLT & OGC Content section allows the user to select various aspects of the highlight content … The settings may also set the logic to use only the highest weighted (highest ranking) (or most relevant or significant) components, e.g., OGC Wt or Play Wt. Also, any of the factors, times, windows, settings, weightings (or weighting factors), default values, thresholds, limits, priorities, sequencing, rules, formats, tags, features, sizes, and adjustments discussed herein may also be located in the HLT App settings. Any other IG-HLT & OGC Content settings may be used if desired” (Ray, [0119]).
Regarding claim 8, Ray teaches [a] system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations: “The system, computers, servers, devices and the like described herein have the necessary electronics, computer processing power, interfaces, memory, hardware, software, firmware, logic/state machines, databases, microprocessors, communication links, displays or other visual or audio user interfaces, printing devices, and any other input/ output interfaces, to provide the functions or achieve the results described herein. Except as otherwise explicitly or implicitly indicated herein, process or method steps described herein may be implemented within software modules (or computer programs) executed on one or more general-purpose computers … In addition, a computer-readable storage medium may store thereon instructions that when executed by a machine ( such as a computer) result in performance according to any of the embodiments described herein” (Ray, [0124]).
Ray further teaches a method, comprising:
receiving real-time event data comprising the augmented play-by-play data for the event from the tracking system: “The Auto-Highlights Generation Logic may receive inputs from a plurality of data sources, including In-Game AV (audio/visual) media sources (tracking system) (including in-game data and metadata) … The in-game metadata may include: teams played, team home/away information, game date, final score, real time running score with time stamps (may also include basic static graph data described herein), play-by-play data (i.e., what play was run at what game clock/ time) and special game notable or outcome-related factors such as: overtime (OT), major injury, record breaking play, major controversy, fight, technical foul, ejection, fan interference, upset, buzzer beater, sudden-death win/loss, and the like” (Ray, [0032]). The event in this case is a game. As stated in paragraph [0059] of the instant Specification, play-by-play data can include box score statistics associated with the play. Thus, real time running score is considered a form of real-time play-by-play data.
accessing a database comprising a historical knowledge graph related to historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]).
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual ‘activity graphs’ (historical knowledge graph)” (Ray, [0043]). The In-Game Highlight Logic, which uses historical event data, creates graphs.
“Referring to FIG. 13, a flow diagram 1300 illustrates one embodiment of a process or logic for implementing graph-based highlight logic, which may be implemented by or part of the In-Game Highlights Logic 42 (FIG. 1). The process/logic begins at block 1302 by retrieving individual activity data graphs (or static graphs) (historical knowledge graph[s]) for the current game from the Graph Server (database). The data stored on the graph server may be in the format discussed herein for processing by the logic of the present disclosure. For example, the raw static data-graph input data may be in a digital format, equivalent to that shown in the static graphs 502-508 shown in FIG. 5 or 6 with the edges and activity time steps ats … for each of the plays of the game” (Ray, [0088]).
wherein the historical knowledge graph comprises:
PNG
media_image1.png
443
333
media_image1.png
Greyscale
(Ray, Figure 5). This is one static graph from Ray’s system. Each circle (node) represents a player, and each arrow (edge) represents a player action.
a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]). The historical data is associated with teams or players in the current game, thus, teams or players in the current game are associated with the historical data.
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play … may be represented by a network data structure (or data network graph or data graph) in FIG. 5 … In that case, the five offensive players (a,b,c,d,e) are shown as solid black circles 510 and the defensive players (defenders) (v,w,x,y,z) are shown as white-center circles 512. Each of the circles 510,512 may be defined as "nodes" (or "vertices") in the data graph … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data) 516,518, respectively. In this case, the label (or data) format for the nodes 516 is <player location, ball possession>” (Ray, [0046]).
a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event:
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play described above with FIG. 4, may be represented by a network data structure (or data network graph or data graph) in FIG. 5 having four corresponding "static" data graphs … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data), respectively. In this case, … the label (or data) format for the edges 514 is <player action>, e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc.” (Ray, [0046]). Each edge is associated with an action.
“Referring to FIGS. 9 and 10, the logic of the present disclosure may search the "frequent" static subgraphs of Table 900 to identify "frequent dynamic patterns" or "dynamic normative patterns" (DNPs) within a game. For example, using the Table 900, the logic may compare the frequent static sub-graphs sg1 and sg2, for plays Pl, P2, (or compare the sub-graph graph "edges") to identify common substrings (or common sub-graph edges) for activity time steps ats=1, 2, and 3“ (Ray, [0068]). A dynamic normative pattern (DNP) can be a set of edges common to two subgraphs.
”block 1308 identifies frequent Dynamic Normal Patterns (DNPs) for the current game from the frequent sub-graphs and Play weighting factors (Play Wt) and stores in the DNP Table 1100 (FIG. 11), as discussed herein. Next, a block 1310 identifies current game DNPs closest to DNPs of other games with the same outcome and stores the results in the Graph-Based Highlights Table 1202 (FIG. 12), as discussed herein. For example, referring to FIG.11 and Table 1100, if this game was Game 5 of the 2017 season, the game ended in a Loss for Team A, it was against opponent Team D, which it played before in Game 3 (shown by dashed lines), Team D having a Rank of 6th in the league, and the DNPs identified were DNP7, DNP12, DNP13, and DNP14. The only DNP that appeared in a previous game was DNP7 (historical data corresponding to the event), which also appeared in Game 4 (against Team E) and Game 3 (against Team D). This is particularly relevant because it was against the same opponent (Team D), as discussed herein with FIG. 11.” (Ray, [0094]). Data from a previous game is historical, as it happened prior to the current game, and it’s related to the current event through shared DNPs. A common DNP contains edges present in the previous game, representing previous actions performed in that historical game.
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges:
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed (real-time event data), which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual "activity graphs." (Ray, [0043])
“the label (or data) format for the edges 514 is <player action> (first action), e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc. There” (Ray, [0046])
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges:
“As discussed herein, the four "static" data graphs 502-508 (or sg1-sg4, respectively) are shown, for the "pick and shoot" play, where each of the static data graphs 502-508 represents a snapshot in time (ats=1, ats=2, ats=3, ats=4, respectively) during the play, with the nodes and edges having data labels as described herein above, and the corresponding play graph as described hereinafter” (Ray, [0048])
PNG
media_image2.png
792
519
media_image2.png
Greyscale
(Ray, Figure 5); “in the graph 502, the offensive player b (solid black circle with a white ‘b’ in center) 520 has the ball and is located in region 2 of the court, as indicated by the data label [location, ball possession]=[2,1] … defender x located in region 1 without the ball [1,0], … and player b initiates a pass (first action) (as indicated by the label "Pa") on a line 522 to offensive player a, located in region 1 without the ball [1,0]” (Ray, [0048]). In graph 502, an edge representing the pass (‘Pa’) in this time step connects player nodes a and b.
PNG
media_image3.png
799
527
media_image3.png
Greyscale
(Ray, Figure 5); “Next, the graph 504 at activity time step ats=2 shows the defender x moves in region 1, as shown by a line 530, to guard (G) offensive player a, who now has the ball in region 1: [1,0],[1,1], respectively” (Ray, [0049]). In timestep 2, the pass is completed and the first action is no longer represented in the historical knowledge graph. Player a’s node is updated in response to the ball being passed to them (changing at least one of the plurality of nodes). Additionally, the pass from the previous timestep is completed, so the pass (‘Pa’) edge is removed (changing at least one of the plurality of edges).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph: “Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic as part of the In-Game Highlight Logic to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs) (insights)” (Ray, [0043]).
… wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes:
“The logic of the present disclosure may also use certain analysis techniques to help identify key events in a game that may have affected the game outcome, such as when the game has an "unexpected" outcome” (Ray, [0055])
“Another approach to determining an unexpected game result or outcome may be to use the rankings of the teams playing (e.g., league rank or other form of ranking), and if the team with a significantly higher rank lost the game (underperforming), the result or outcome would be considered an unexpected result ( e.g., an "upset").” (Ray, [0056])
calculating via a second machine learning model, a score for each of the one or more insights:
“The play weighting factor (Play Wt) (score) is an indication of the significance to the outcome of the play or game (or other significant attribute of the game), and may range from 1 to 5, 1 being lowest significance and 5 being the highest significance, as discussed herein” (Ray, [0092]); “Play Wt (score) may be used to indicate, or be set or adjusted based on, the level of impact, or the likelihood of impact on the game outcome, or on other significant attribute of the game (such as record breaking play, key defensive stop, key strategy, and the like). The value of the Play Wt may be based on multiple elements or effects factored together” (Ray, [0093]). The play weight, an integer valued between 1 and 5 inclusive, may be set based on a significant attribute of the game. No further calculation is required for a single integer.
“Plays may be weighted (or ranked), e.g., Play Wt (score), based on likely importance or significance to the game outcome (or other significant game attribute), as described herein, e.g., a play occurring after the average point-of-no-return time in a game may be given a high weighting (Play Wt) and may thus be given DNP status or otherwise added to the plays selected for the graph-based highlights (GBHs). Also, in some embodiments, the logic may prioritize identification of low ranked teams successful plays and a high ranked teams successful plays, to determine what critical plays or strategies were used to result in the game outcome, such as when there is an unexpected outcome, e.g., high rank team lost to a low ranked team” (Ray, [0075]); “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]). Ray’s system assigns scores to individual plays proportional to how significant they are to the outcome of the game. The determination of whether or not to use a given highlight can be made based on the scores of the play(s) contained within it. The score of a highlight is the sum of the scores of its play(s).
presenting a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users: “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]); “Referring to FIG. 19, a flow diagram 1900 illustrates one embodiment of a process or logic of the present disclosure for providing, among other things, a graphic user interface (GUI) or visualization to the user (end user) on the display of the user/communication device, for receiving and displaying the AV highlight (HLT) content … The process runs when the HLT App is launched and begins at a block 1902, which retrieves data from the Final Highlight Server (or Final HLT Server)” (Ray, [0111]).
While Ray fails to disclose the further limitations of the claim, Rabines teaches a method, comprising:
generating via a first machine learning model, one or more insights based on the modified historical knowledge graph, : “A Storyline (insight) is a newsworthy posting, automatically generated and published on the application. Typically, a Storyline will contain news and report details about an event, such as an upcoming game (i.e., which teams, what date and time), details about the recent actions and performance of real-world protagonists (i.e. specific players' or teams' recent game stats), an editorial assessment regarding the meaning or significance of their recent record or upcoming game (i.e. it may assess a notable outcome in the last matchup ), as well as a premise that defines a line of success ( or failure) by the featured protagonists in a proximal event (i.e. above or below average performance for specific teams or players, in the next scheduled game)“ (Rabines, [0018]); “The server-side application 12 can apply machine learning processes that analyze the data in these tables to find notable patterns of the type that provoke a question or opinion from the traditional NBA fan. For example, the machine learning processes may look for scoring streaks, or whether any player had a "triple double" streak started, which means ten or more points, rebounds and assists. Further, the machine learning processes may apply statistical review to find trends that are other-than-normal, and perhaps even extraordinary … If Mr. Harden will face the Pelicans tonight, the server-side application may identify this upcoming game as a newsworthy event and can use this identified Storyline pattern (insight)” (Rabines, [0070]); “FIG. 5 depicts on example of a publisher processor capable of carrying out the method described above to generate Storylines to aid a user with creating machine displayable content for a data feed published to an account associated with the user … The publishing processor as discussed above has a pattern recognition process (first machine learning model) that will analyze data relevant to those games in the time window and generate … a series of patterns that are candidates for storylines (insights)” (Rabines, [0072]).
wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes; generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: “To this end, the process 250 may proceed to step 254 and analyze the patterns identified to develop Storylines (insights). In one embodiment, the process 250 applies a series of rules that apply testable characterizations of a Storyline. For example, in step 254 the identified patterns can be checked for whether they include a "Hot Streak?" storyline, wherein such a pattern shows that a protagonist, typically a player, but it can be a coach or other party, has outperformed (over perform[ed]) their statistical average (descriptive statistic) for three games in a row (streak)” (Rabines, [0058])
calculating via a second machine learning model, a score for each of the one or more insights:
“The publishing processor may further include a prioritization processor (second machine learning model) for ranking the candidates identified by the storyline processor into a ranked list of themes … the priority processor can also use those identified relationships to set priority (score) for the candidates for storylines (insights)” (Rabines, [0072]); “In one embodiment, the Storyline machine learning process tracks and analyzes the frequency with which each pattern (insight) appears, to determine which patterns are more or less frequent than others. The Storyline machine learning process provides a higher priority (score) to less frequent patterns (rare patterns). The Storyline machine learning process may also track and analyze the frequency with which users react to certain patterns and give priority to the more popular patterns (storylines that users swipe on the most)” (Rabines, [0060]). The calculated value for priority is inversely proportional to pattern frequency and / or directly proportional to more popular patterns.
presenting a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users:
“The systems described herein determine that there is a newsworthy, or comment worthy event (highest ranking) related to topic of shared interest to a large community of users. In For example, in the domain of major league sports, the system may determine that a particular NBA basketball player is on a scoring streak of scoring more than 25 points (descriptive statistic) per game. The system may also determine that this pace is statistically exceptional (highest ranking), especially for this player, being, for example, two or three standard deviations above relevant means. The system may process this statistical data into a succinct question, such as will player X's streak of scoring more than 25 points per game continue in tonight's game? … the noteworthy pattern becomes the basis for generation a new posting on the app, while historical data about the topic is used to generate an argument-worthy premise that is included in the posting. Other relevant information is included in the posting and may be published” (Rabines, [0021]).
Ray and Rabines relate to automatic sports analytics and are analogous to the claimed invention. Ray teaches a computer system that generates and scores insights based on knowledge graphs. The claimed invention differs from this method by using two machine learning models to generate and score insights, respectively. Rabines teaches a computer system that uses two machine learning models to generate and score insights. Because both Ray and Rabines teach the use of software modules that generate and score insights, it would have been obvious to a person of ordinary skill in the art to substitute Ray’s generation and scoring modules for Rabines’ machine learning generation and scoring modules to achieve the predictable result of automatic generation and scoring of insights using machine learning (MPEP 2143 I. (B) Substituting one known element for another for predictable results).
While Ray and Rabines fail to disclose the further limitations of the claim, Coiner discloses a method, comprising:
capturing, by a tracking system, play-by-play data for an event transmitted from an optically-based system:
“Turning now to the drawings, FIG. 1 is a block diagram of selected elements of playbook system 100, which may also be referred to herein simply as playbook system 100 (tracking system). In at least one embodiment, playbook system 100 may be used to identify, select, access, review, and modify one or more plays (play-by-play data) from a database, referred to herein as playbook database 102 containing data, identified in FIG. 1 as play data 130 associated with a multitude of football (event) plays. In at least one embodiment, playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play.” (Coiner, [0057])
PNG
media_image4.png
380
312
media_image4.png
Greyscale
(Coiner, Fig. 1B)
“Also shown in FIG. 1B, playbook database 102 includes play data 130. Play data 130 may be usable to generate playbooks, or collections of individual plays. Users may use play data 130 to create and store playbooks, but also to distribute playbooks to other users. For example, a football coach may prepare a playbook for an upcoming game and distribute the playbook electronically to players on the coach's team. Thus, play data 130 may include a playbook identifier, along with a plurality of play identifiers, to describe collections of plays in a playbook. In other embodiments, play data 130 may include rendered play images that are suitable for viewing and/or printing.” (Coiner, [0067])
“one or more stationary or movable cameras (optically-based system) positioned above the field of play may be used to monitor the initial formation of the players on the field before a play begins as well as the motion paths of the various players as the play is executed. The images provided by these one or more cameras may be analyzed with pattern recognition techniques to identify a match between the executed play and a play from the playbook database.” (Coiner, 0105])
augmenting the play-by-play data with game event data and context data: “playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play (context data). Play data 130 may define or characterize plays according to a number of predetermined parameters and a characteristic of a play may be associated with a particular value of a play parameter. Playbook database 102 may characterize some or all of the plays in play data 130 with respect to a number of parameters and the particular values associated with each parameter may define a corresponding characteristic of the play. For example, playbook database 102 may include data indicative of a value for a formation parameter associated with some or all of the plays in play data 130. In at least one embodiment a value for a particular parameter defines a characteristic of the corresponding play. Continuing with the formation parameter example, a formation parameter value of “5” may indicate plays that are executed out of a particular shotgun formation (game event data). In at least one embodiment, playbook database 102 includes a data structure identified as playbook metadata 140 that defines the metadata associated with the applicable playbook database 102. Playbook metadata 140 may include information identifying the various parameters with which a play may be described and the various values of each parameter that the database supports.” (Coiner, [0057])
receiving real-time event data comprising the augmented play-by-play information for the event from the tracking system: “In operation, playbook system 100 may enable playbook database 102 to be populated with data and/or images representing plays. A user and/or a provider of playbook system 100 may populate playbook database 102 with plays. Once populated, a user may execute playbook application 232 (see FIG. 2) to access plays stored within playbook database 102. The access may include browsing or searching for individual plays using various criteria. For example, concept query 122 and combination query 124 may enable searching for plays based on high-level football concepts, while route query 126 may enable searching based on specific route paths for desired positions. The plays matching a received search criteria may be presented to the user as a collection of plays, which the user may view, browse, and/or select. Certain plays outputted to the user may be added to a playbook, which can be stored by the user and retrieved, for example, for distribution. Additionally, video segments of individual plays, when available, may be played back to a user of playbook application 232, and/or may be included with a playbook.” (Coiner, [0071])
Coiner relates to measuring, modifying, and changing play data from sporting events and is analogous to the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Ray and Rabines to automatically augment recorded play data with additional related information, as disclosed by Coiner. Such augmented data can be identified and selected more intuitively and efficiently. See Coiner, [0057].
Regarding claims 9-14, the rejection of claim 8 in view of Ray, Rabines, and Coiner is incorporated. As discussed regarding claim 8, Ray teaches [a] system, comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations. All further limitations of claims 9-14 define operations mirroring those taught by claims 2-7, respectively. A generic machine on its own changes nothing about the method being executed. Thus, claims 9-14 are rejected in view of Ray and Rabines for the same reasons given as for the rejections of claims 2-7, respectively.
Regarding claim 15, Ray teaches [a] non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes a computing system to perform operations: “The system, computers, servers, devices and the like described herein have the necessary electronics, computer processing power, interfaces, memory, hardware, software, firmware, logic/state machines, databases, microprocessors, communication links, displays or other visual or audio user interfaces, printing devices, and any other input/ output interfaces, to provide the functions or achieve the results described herein. Except as otherwise explicitly or implicitly indicated herein, process or method steps described herein may be implemented within software modules (or computer programs) executed on one or more general-purpose computers … In addition, a computer-readable storage medium may store thereon instructions that when executed by a machine (such as a computer) result in performance according to any of the embodiments described herein” (Ray, [0124]).
Ray further teaches a method, comprising:
receiving, by the computing system, real-time event data comprising the augmented play-by-play data for the event from the tracking system: “The Auto-Highlights Generation Logic may receive inputs from a plurality of data sources, including In-Game AV (audio/visual) media sources (tracking system) (including in-game data and metadata) … The in-game metadata may include: teams played, team home/away information, game date, final score, real time running score with time stamps (may also include basic static graph data described herein), play-by-play data (i.e., what play was run at what game clock/ time) and special game notable or outcome-related factors such as: overtime (OT), major injury, record breaking play, major controversy, fight, technical foul, ejection, fan interference, upset, buzzer beater, sudden-death win/loss, and the like” (Ray, [0032]). The event in this case is a game. As stated in paragraph [0059] of the instant Specification, play-by-play data can include box score statistics associated with the play. Thus, real time running score is considered a form of real-time play-by-play data.
accessing, by the computing system, a database comprising a historical knowledge graph related to historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]).
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual ‘activity graphs’ (historical knowledge graph)” (Ray, [0043]). The In-Game Highlight Logic, which uses historical event data, creates graphs.
“Referring to FIG. 13, a flow diagram 1300 illustrates one embodiment of a process or logic for implementing graph-based highlight logic, which may be implemented by or part of the In-Game Highlights Logic 42 (FIG. 1). The process/logic begins at block 1302 by retrieving individual activity data graphs (or static graphs) (historical knowledge graph[s]) for the current game from the Graph Server (database). The data stored on the graph server may be in the format discussed herein for processing by the logic of the present disclosure. For example, the raw static data-graph input data may be in a digital format, equivalent to that shown in the static graphs 502-508 shown in FIG. 5 or 6 with the edges and activity time steps ats … for each of the plays of the game” (Ray, [0088]).
wherein the historical knowledge graph comprises:
PNG
media_image1.png
443
333
media_image1.png
Greyscale
(Ray, Figure 5). This is one static graph from Ray’s system. Each circle (node) represents a player, and each arrow (edge) represents a player action.
a plurality of nodes, wherein each node of the plurality of nodes represents a player or a team involved in the historical data corresponding to the event:
“The Historical Data Sources 18 provide digital data regarding historical sports event (historical data) and statistics data for the two or more individuals or teams that are playing in the current game (corresponding to the event), which help determine events and patterns of interest for the In-Game Highlights selection rules or weightings used by the In-Game Highlights Logic 42” (Ray, [0034]). The historical data is associated with teams or players in the current game, thus, teams or players in the current game are associated with the historical data.
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play … may be represented by a network data structure (or data network graph or data graph) in FIG. 5 … In that case, the five offensive players (a,b,c,d,e) are shown as solid black circles 510 and the defensive players (defenders) (v,w,x,y,z) are shown as white-center circles 512. Each of the circles 510,512 may be defined as "nodes" (or "vertices") in the data graph … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data) 516,518, respectively. In this case, the label (or data) format for the nodes 516 is <player location, ball possession>” (Ray, [0046]).
a plurality of edges connecting nodes of the plurality of nodes, wherein each edge of the plurality of edges represents an action performed in historical data corresponding to the event:
“Referring to FIG. 5, the four activity snapshots 402-408 shown for the "pick and shoot" basketball play described above with FIG. 4, may be represented by a network data structure (or data network graph or data graph) in FIG. 5 having four corresponding "static" data graphs … Each of the nodes 510,512 and each of the edges 514 may have an associated label (or data), respectively. In this case, … the label (or data) format for the edges 514 is <player action>, e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc.” (Ray, [0046]). Each edge is associated with an action.
“Referring to FIGS. 9 and 10, the logic of the present disclosure may search the "frequent" static subgraphs of Table 900 to identify "frequent dynamic patterns" or "dynamic normative patterns" (DNPs) within a game. For example, using the Table 900, the logic may compare the frequent static sub-graphs sg1 and sg2, for plays Pl, P2, (or compare the sub-graph graph "edges") to identify common substrings (or common sub-graph edges) for activity time steps ats=1, 2, and 3“ (Ray, [0068]). A dynamic normative pattern (DNP) can be a set of edges common to two subgraphs.
”block 1308 identifies frequent Dynamic Normal Patterns (DNPs) for the current game from the frequent sub-graphs and Play weighting factors (Play Wt) and stores in the DNP Table 1100 (FIG. 11), as discussed herein. Next, a block 1310 identifies current game DNPs closest to DNPs of other games with the same outcome and stores the results in the Graph-Based Highlights Table 1202 (FIG. 12), as discussed herein. For example, referring to FIG.11 and Table 1100, if this game was Game 5 of the 2017 season, the game ended in a Loss for Team A, it was against opponent Team D, which it played before in Game 3 (shown by dashed lines), Team D having a Rank of 6th in the league, and the DNPs identified were DNP7, DNP12, DNP13, and DNP14. The only DNP that appeared in a previous game was DNP7 (historical data corresponding to the event), which also appeared in Game 4 (against Team E) and Game 3 (against Team D). This is particularly relevant because it was against the same opponent (Team D), as discussed herein with FIG. 11.” (Ray, [0094]). Data from a previous game is historical, as it happened prior to the current game, and it’s related to the current event through shared DNPs. A common DNP contains edges present in the previous game, representing previous actions performed in that historical game.
parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges:
“Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic (e.g., block 304, FIG. 3) as part of the In-Game Highlight Logic 42 (FIG. 1) to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed (real-time event data), which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs). To identify Graph-Based Highlights (GBHs) of a game, the game may be viewed as a series of plays, and each play viewed as a series of activities, actions, or movements. Individual activity snapshots (or frames or time steps) of a play or portion thereof (or game strategy), including all (or a predetermined number of) players on the court or field of play, both offensive and defensive entities, may be represented as individual "activity graphs." (Ray, [0043])
“the label (or data) format for the edges 514 is <player action> (first action), e.g., pass (Pa), pick (Pi), guard (G), shoot (S), etc. There” (Ray, [0046])
modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges:
“As discussed herein, the four "static" data graphs 502-508 (or sg1-sg4, respectively) are shown, for the "pick and shoot" play, where each of the static data graphs 502-508 represents a snapshot in time (ats=1, ats=2, ats=3, ats=4, respectively) during the play, with the nodes and edges having data labels as described herein above, and the corresponding play graph as described hereinafter” (Ray, [0048])
PNG
media_image2.png
792
519
media_image2.png
Greyscale
(Ray, Figure 5); “in the graph 502, the offensive player b (solid black circle with a white ‘b’ in center) 520 has the ball and is located in region 2 of the court, as indicated by the data label [location, ball possession]=[2,1] … defender x located in region 1 without the ball [1,0], … and player b initiates a pass (first action) (as indicated by the label "Pa") on a line 522 to offensive player a, located in region 1 without the ball [1,0]” (Ray, [0048]). In graph 502, an edge representing the pass (‘Pa’) in this time step connects player nodes a and b.
PNG
media_image3.png
799
527
media_image3.png
Greyscale
(Ray, Figure 5); “Next, the graph 504 at activity time step ats=2 shows the defender x moves in region 1, as shown by a line 530, to guard (G) offensive player a, who now has the ball in region 1: [1,0],[1,1], respectively” (Ray, [0049]). In timestep 2, the pass is completed and the first action is no longer represented in the historical knowledge graph. Player a’s node is updated in response to the ball being passed to them (changing at least one of the plurality of nodes). Additionally, the pass from the previous timestep is completed, so the pass (‘Pa’) edge is removed (changing at least one of the plurality of edges).
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph: “Referring to FIGS. 4 and 5, the present disclosure may use the Graph-Based Highlight Logic as part of the In-Game Highlight Logic to perform a graph-based approach to identify critical strategies or high priority events of interest or Highlights or Highlight Events that may contribute to the outcome of the game being analyzed, which may be referred to herein as or Graph-Based Highlights (GBHs or GB-HLTs) (insights)” (Ray, [0043]).
… wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes:
“The logic of the present disclosure may also use certain analysis techniques to help identify key events in a game that may have affected the game outcome, such as when the game has an "unexpected" outcome” (Ray, [0055])
“Another approach to determining an unexpected game result or outcome may be to use the rankings of the teams playing (e.g., league rank or other form of ranking), and if the team with a significantly higher rank lost the game (underperforming), the result or outcome would be considered an unexpected result ( e.g., an "upset").” (Ray, [0056])
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights:
“The play weighting factor (Play Wt) (score) is an indication of the significance to the outcome of the play or game (or other significant attribute of the game), and may range from 1 to 5, 1 being lowest significance and 5 being the highest significance, as discussed herein” (Ray, [0092]); “Play Wt (score) may be used to indicate, or be set or adjusted based on, the level of impact, or the likelihood of impact on the game outcome, or on other significant attribute of the game (such as record breaking play, key defensive stop, key strategy, and the like). The value of the Play Wt may be based on multiple elements or effects factored together” (Ray, [0093]). The play weight, an integer valued between 1 and 5 inclusive, may be set based on a significant attribute of the game. No further calculation is required for a single integer.
“Plays may be weighted (or ranked), e.g., Play Wt (score), based on likely importance or significance to the game outcome (or other significant game attribute), as described herein, e.g., a play occurring after the average point-of-no-return time in a game may be given a high weighting (Play Wt) and may thus be given DNP status or otherwise added to the plays selected for the graph-based highlights (GBHs). Also, in some embodiments, the logic may prioritize identification of low ranked teams successful plays and a high ranked teams successful plays, to determine what critical plays or strategies were used to result in the game outcome, such as when there is an unexpected outcome, e.g., high rank team lost to a low ranked team” (Ray, [0075]); “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]). Ray’s system assigns scores to individual plays proportional to how significant they are to the outcome of the game. The determination of whether or not to use a given highlight can be made based on the scores of the play(s) contained within it. The score of a highlight is the sum of the scores of its play(s).
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users: “a block 1806 creates a Final Highlights Table … and stores the resulting Final Highlights Table in the Final HLT Server. In particular, the block 1806 may select the highlights (H1-Hn) from the HLT Components Table that have In-Game Highlights (IGHs) having plays with the highest weighting factors (Play Wt) (highest ranking insight[s]), or having an Play Wt value greater than a predetermined acceptable Play Wt threshold” (Ray, [0108]); “Referring to FIG. 19, a flow diagram 1900 illustrates one embodiment of a process or logic of the present disclosure for providing, among other things, a graphic user interface (GUI) or visualization to the user (end user) on the display of the user/communication device, for receiving and displaying the AV highlight (HLT) content … The process runs when the HLT App is launched and begins at a block 1902, which retrieves data from the Final Highlight Server (or Final HLT Server)” (Ray, [0111]).
While Ray fails to disclose the further limitations of the claim, Rabines teaches a method, comprising:
generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, : “A Storyline (insight) is a newsworthy posting, automatically generated and published on the application. Typically, a Storyline will contain news and report details about an event, such as an upcoming game (i.e., which teams, what date and time), details about the recent actions and performance of real-world protagonists (i.e. specific players' or teams' recent game stats), an editorial assessment regarding the meaning or significance of their recent record or upcoming game (i.e. it may assess a notable outcome in the last matchup ), as well as a premise that defines a line of success ( or failure) by the featured protagonists in a proximal event (i.e. above or below average performance for specific teams or players, in the next scheduled game)“ (Rabines, [0018]); “The server-side application 12 can apply machine learning processes that analyze the data in these tables to find notable patterns of the type that provoke a question or opinion from the traditional NBA fan. For example, the machine learning processes may look for scoring streaks, or whether any player had a "triple double" streak started, which means ten or more points, rebounds and assists. Further, the machine learning processes may apply statistical review to find trends that are other-than-normal, and perhaps even extraordinary … If Mr. Harden will face the Pelicans tonight, the server-side application may identify this upcoming game as a newsworthy event and can use this identified Storyline pattern (insight)” (Rabines, [0070]); “FIG. 5 depicts on example of a publisher processor capable of carrying out the method described above to generate Storylines to aid a user with creating machine displayable content for a data feed published to an account associated with the user … The publishing processor as discussed above has a pattern recognition process (first machine learning model) that will analyze data relevant to those games in the time window and generate … a series of patterns that are candidates for storylines (insights)” (Rabines, [0072]).
wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes; generating, by the computing system, a corresponding descriptive statistic for each of the one or more insights: “To this end, the process 250 may proceed to step 254 and analyze the patterns identified to develop Storylines (insights). In one embodiment, the process 250 applies a series of rules that apply testable characterizations of a Storyline. For example, in step 254 the identified patterns can be checked for whether they include a "Hot Streak?" storyline, wherein such a pattern shows that a protagonist, typically a player, but it can be a coach or other party, has outperformed (over perform[ed]) their statistical average (descriptive statistic) for three games in a row (streak)” (Rabines, [0058])
calculating, by the computing system, via a second machine learning model, a score for each of the one or more insights:
“The publishing processor may further include a prioritization processor (second machine learning model) for ranking the candidates identified by the storyline processor into a ranked list of themes … the priority processor can also use those identified relationships to set priority (score) for the candidates for storylines (insights)” (Rabines, [0072]); “In one embodiment, the Storyline machine learning process tracks and analyzes the frequency with which each pattern (insight) appears, to determine which patterns are more or less frequent than others. The Storyline machine learning process provides a higher priority (score) to less frequent patterns (rare patterns). The Storyline machine learning process may also track and analyze the frequency with which users react to certain patterns and give priority to the more popular patterns (storylines that users swipe on the most)” (Rabines, [0060]). The calculated value for priority is inversely proportional to pattern frequency and / or directly proportional to more popular patterns.
presenting, by the computing system, a highest ranking insight of the one or more insights and the corresponding descriptive statistic to one or more devices of one or more end users:
“The systems described herein determine that there is a newsworthy, or comment worthy event (highest ranking) related to topic of shared interest to a large community of users. In For example, in the domain of major league sports, the system may determine that a particular NBA basketball player is on a scoring streak of scoring more than 25 points (descriptive statistic) per game. The system may also determine that this pace is statistically exceptional (highest ranking), especially for this player, being, for example, two or three standard deviations above relevant means. The system may process this statistical data into a succinct question, such as will player X's streak of scoring more than 25 points per game continue in tonight's game? … the noteworthy pattern becomes the basis for generation a new posting on the app, while historical data about the topic is used to generate an argument-worthy premise that is included in the posting. Other relevant information is included in the posting and may be published” (Rabines, [0021]).
Ray and Rabines relate to automatic sports analytics and are analogous to the claimed invention. Ray teaches a computer system that generates and scores insights based on knowledge graphs. The claimed invention differs from this method by using two machine learning models to generate and score insights, respectively. Rabines teaches a computer system that uses two machine learning models to generate and score insights. Because both Ray and Rabines teach the use of software modules that generate and score insights, it would have been obvious to a person of ordinary skill in the art to substitute Ray’s generation and scoring modules for Rabines’ machine learning generation and scoring modules to achieve the predictable result of automatic generation and scoring of insights using machine learning (MPEP 2143 I. (B) Substituting one known element for another for predictable results).
While Ray and Rabines fail to disclose the further limitations of the claim, Coiner discloses a method, comprising:
capturing, by a tracking system of a computing system, play-by-play data for an event transmitted from an optically-based system:
“Turning now to the drawings, FIG. 1 is a block diagram of selected elements of playbook system 100, which may also be referred to herein simply as playbook system 100 (tracking system). In at least one embodiment, playbook system 100 may be used to identify, select, access, review, and modify one or more plays (play-by-play data) from a database, referred to herein as playbook database 102 containing data, identified in FIG. 1 as play data 130 associated with a multitude of football (event) plays. In at least one embodiment, playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play.” (Coiner, [0057])
PNG
media_image4.png
380
312
media_image4.png
Greyscale
(Coiner, Fig. 1B)
“Also shown in FIG. 1B, playbook database 102 includes play data 130. Play data 130 may be usable to generate playbooks, or collections of individual plays. Users may use play data 130 to create and store playbooks, but also to distribute playbooks to other users. For example, a football coach may prepare a playbook for an upcoming game and distribute the playbook electronically to players on the coach's team. Thus, play data 130 may include a playbook identifier, along with a plurality of play identifiers, to describe collections of plays in a playbook. In other embodiments, play data 130 may include rendered play images that are suitable for viewing and/or printing.” (Coiner, [0067])
“one or more stationary or movable cameras (optically-based system) positioned above the field of play may be used to monitor the initial formation of the players on the field before a play begins as well as the motion paths of the various players as the play is executed. The images provided by these one or more cameras may be analyzed with pattern recognition techniques to identify a match between the executed play and a play from the playbook database.” (Coiner, 0105])
augmenting, by the computing system, the play-by-play data with game event data and context data: “playbook system 100 facilitates intuitive and efficient identification and selection of plays by combining drawings or illustrations that convey aspects of one or more plays with metadata that indicates a number of characteristics of a play (context data). Play data 130 may define or characterize plays according to a number of predetermined parameters and a characteristic of a play may be associated with a particular value of a play parameter. Playbook database 102 may characterize some or all of the plays in play data 130 with respect to a number of parameters and the particular values associated with each parameter may define a corresponding characteristic of the play. For example, playbook database 102 may include data indicative of a value for a formation parameter associated with some or all of the plays in play data 130. In at least one embodiment a value for a particular parameter defines a characteristic of the corresponding play. Continuing with the formation parameter example, a formation parameter value of “5” may indicate plays that are executed out of a particular shotgun formation (game event data). In at least one embodiment, playbook database 102 includes a data structure identified as playbook metadata 140 that defines the metadata associated with the applicable playbook database 102. Playbook metadata 140 may include information identifying the various parameters with which a play may be described and the various values of each parameter that the database supports.” (Coiner, [0057])
receiving, by the computing system, real-time event data comprising the augmented play-by-play information for the event from the tracking system: “In operation, playbook system 100 may enable playbook database 102 to be populated with data and/or images representing plays. A user and/or a provider of playbook system 100 may populate playbook database 102 with plays. Once populated, a user may execute playbook application 232 (see FIG. 2) to access plays stored within playbook database 102. The access may include browsing or searching for individual plays using various criteria. For example, concept query 122 and combination query 124 may enable searching for plays based on high-level football concepts, while route query 126 may enable searching based on specific route paths for desired positions. The plays matching a received search criteria may be presented to the user as a collection of plays, which the user may view, browse, and/or select. Certain plays outputted to the user may be added to a playbook, which can be stored by the user and retrieved, for example, for distribution. Additionally, video segments of individual plays, when available, may be played back to a user of playbook application 232, and/or may be included with a playbook.” (Coiner, [0071])
Coiner relates to measuring, modifying, and changing play data from sporting events and is analogous to the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Ray and Rabines to automatically augment recorded play data with additional related information, as disclosed by Coiner. Such augmented data can be identified and selected more intuitively and efficiently. See Coiner, [0057].
Regarding claims 16-20, the rejection of claim 15 in view of Ray, Rabines, and Coiner is incorporated. As discussed regarding claim 15, Ray teaches [a] non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, causes a computing system to perform operations. All further limitations of claims 16-20 define operations mirroring those taught by claims 2-6, respectively. A generic machine on its own changes nothing about the method being executed. Thus, claims 16-20 are rejected in view of Ray and Rabines for the same reasons given as for the rejections of claims 2-6, respectively.
Response to Arguments
The following responses address arguments and remarks made in the instant remarks dated
02/26/2026.
101 Rejections
On pages 12-14 of the instant remarks, the Applicant argues that the Examiner has merely asserted the recitation of mental processes without explanation:
“The Office Failed to Provide an Adequate Eligibility Rejection
During the above-mentioned interview, the Examiner alleged that the claims
recite an abstract idea. However, merely asserting that the claims fall within the
category of abstract idea is not "evaluating whether a claim recites a judicial
exception". (October 2019 Update at p. 1, emphasis added.) The Examiner is instructed
that "when determining whether a claim 'recites' a judicial exception, examiners should
... evaluate the claim to determine whether it sets forth or describes an abstract idea in
accordance with the examination instructions in the 2019 PEG and the groupings of
abstract ideas". (Id.) Mere assertion is not an evaluation.
…
Accordingly, a proper§ 101 rejection requires more than a generalized allegation
of abstraction; it must provide a reasoned analysis that identifies the specific judicial
exception at issue and explains why the claims are directed to that exception. Absent
such an explanation, the rejection does not satisfy the USPTO's own eligibility
framework or controlling precedent and should be withdrawn.”
Regarding the Applicant’s arguments above, the Examiner respectfully disagrees. The previous and current office action does not merely assert recitation of mental processes, but specifically identifies each limitation found to fall in this grouping for each relevant claim under 35 U.S.C. 101 analysis. As noted in MPEP 2106.04(a)(2)(III), The courts consider a mental process (thinking) that "can be performed in the human mind, or by a human using a pen and paper" to be an abstract idea.
For example, claim 1 recites “augmenting, by the computing system, the play-by-play data with game event data and context data” as its second limitation. Augmenting play-by-play data can be performed mentally, by simply imagining relevant data from a game event or context. This detail is provided in the current 101 rejections section, along with all other limitations found to recite judicial exceptions.
While this limitation is performed by a computing system that can’t be executed in the human mind, the courts do not distinguish between processes performed entirely in the human mind and those performed on a generic computer. As noted in MPEP 2106.04(a)(2)(III), The courts do not distinguish between mental processes that are performed entirely in the human mind and mental processes that require a human to use a physical aid (e.g., pen and paper or a slide rule) to perform the claim limitation. See, e.g., Benson, 409 U.S. at 67, 65, 175 USPQ at 674-75, 674 … Nor do the courts distinguish between claims that recite mental processes performed by humans and claims that recite mental processes performed on a computer. As the Federal Circuit has explained, "[c]ourts have examined claims that required the use of a computer and still found that the underlying, patent-ineligible invention could be performed via pen and paper or in a person’s mind." Versata Dev. Group v. SAP Am., Inc., 793 F.3d 1306, 1335, 115 USPQ2d 1681, 1702 (Fed. Cir. 2015). See also Intellectual Ventures I LLC v. Symantec Corp., 838 F.3d 1307, 1318, 120 USPQ2d 1353, 1360 (Fed. Cir. 2016) (‘‘[W]ith the exception of generic computer-implemented steps, there is nothing in the claims themselves that foreclose them from being performed by a human, mentally or with pen and paper.’’); Mortgage Grader, Inc. v. First Choice Loan Servs. Inc., 811 F.3d 1314, 1324, 117 USPQ2d 1693, 1699 (Fed. Cir. 2016) (holding that computer- implemented method for "anonymous loan shopping" was an abstract idea because it could be "performed by humans without a computer").
The Examiner contends that all limitations reciting judicial exceptions in the claims have been pointed out in sufficient detail and analysis in the 101 rejections section of the instant office action, and that the finding of mental processes being recited by the claims is made solely in response to that analysis. No rejections are withdrawn on these grounds.
On pages 14-18 of the instant remarks, the Applicant argues that the recited judicial exceptions are practically integrated through improvements:
“The claims stand rejected under 35 U.S.C. § 101 as allegedly being directed to
an abstract idea without significantly more. ( See Office Action at p. 2.) Applicant
traverses the rejection at least because the claims are not directed to an abstract idea.
Moreover, Applicant submits that, even assuming (without conceding) that the claims
might include an abstract idea, the alleged abstract idea is integrated into a practical
application and the claims recite significantly more than any such abstract idea. ( See Id.
at pp. 2-23.) This is at least because the present claims are directed to improvements in
generating automatic live-feed insights. (Spec. at [0017]-[0019].)
…
The claimed features are directed to a problem for which human analysis is
inherently inadequate. The specification clearly states that "current methods of
producing in-game insights are reliant on human analysis parsing through event data
and identifying those insights that may be relevant and/or interesting." (Spec. at [0016].)
However, a "manual process may not only be highly time consuming, but may also
result in human analysts missing key insights" as the method takes place during live
events. (Id.) Because the claimed features are specifically directed to analyzing live
events in which there is insufficient time for continuous and automatic human analysis,
the disclosed subject matter cannot reasonably be characterized as a mental process.
Rather, the claimed features are directed to an improved technique for continuous and
automatic analysis of live-event feed to generate in-game insights. (See Spec. at
[0017].)
…
The claim elements recite improvements to the technical field of automatically
generating event insights during a live event, thereby improving upon conventional
static rule-based approaches and producing better quality and in-depth insights. (Spec.
at[0018].)
For example, "current methods of producing in-game insights are reliant on
human analysis parsing through event data and identifying those insights that may be
relevant and/or interesting." (Id. at [0016].) However, due to the continuous, fast-paced,
and ongoing nature of live events, "[s]uch manual process may not only be highly time
consuming, but may also result in human analysts missing key insights." (Id.) To solve
this problem, a "machine learning module ... may be configured to learn how to rank
insights based on a likelihood of occurrence" during a live event. (Id. at [0039].) The
machine learning model may include an "[i]nsights generation engine ... configured to
generate live (or near-live) insights based on play-by-play data." (Id. at [0029].) The
insights generation engine "may include knowledge graph engine 126 ... be configured
to construct a knowledge graph that consumes a stream of play-by-play data from live
events and maintains up-to-date game, season, and career statistics for players, teams,
coaches, venues, and organizing units (e.g., leagues, conferences, divisions, etc.)." (Id.
at [0029]-[0030].) Further, "given play-by-play data in a historical game file, knowledge
graph engine 126 may generate a knowledge graph. Such knowledge graph may be
updated over a course of a season, a career, a decade, a team's life, and the like." (Id.
at [0031 ]. ) In this way, a knowledge graph engine "may continually update a given
knowledge graph, in real-time ... based on play-by-play or tracking information." (Id. at
[0033].) Consequently, better quality and in-depth insights are produced thereby
improving upon conventional static rule-based approaches. (Spec. at [0018].)”
In response to the Applicant’s assertion that the recited judicial exception(s) of the claimed invention are practically integrated through improvement to human analysis, the Examiner respectfully disagrees. The Examiner notes that practical integration through improvement only comes through improvements to the functioning of a technology or technical field, as noted by MPEP 2106.04(d)(I): Limitations the courts have found indicative that an additional element (or combination of elements) may have integrated the exception into a practical application include: … An improvement in the functioning of a computer, or an improvement to other technology or technical field, as discussed in MPEP §§ 2106.04(d)(1) and 2106.05(a). Such technical improvements can similarly indicate a limitation amounts to significantly more than the claim’s recited judicial exceptions, as noted in MPEP 2106.05(I)(A): Limitations that the courts have found to qualify as "significantly more" when recited in a claim with a judicial exception include: i. Improvements to the functioning of a computer, e.g., a modification of conventional Internet hyperlink protocol to dynamically produce a dual-source hybrid webpage, as discussed in DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258-59, 113 USPQ2d 1097, 1106-07 (Fed. Cir. 2014) (see MPEP § 2106.05(a)).
Improving a manual human-performable process by automating it does not constitute improvement to a technology or technical field, and is insufficient to show an improvement in computer-functionality, as noted in MPEP 2106.05(a)(I): Examples that the courts have indicated may not be sufficient to show an improvement in computer-functionality: … iii. Mere automation of manual processes, such as using a generic computer to process an application for financing a purchase, Credit Acceptance Corp. v. Westlake Services, 859 F.3d 1044, 1055, 123 USPQ2d 1100, 1108-09 (Fed. Cir. 2017) or speeding up a loan-application process by enabling borrowers to avoid physically going to or calling each lender and filling out a loan application, LendingTree, LLC v. Zillow, Inc., 656 Fed. App'x 991, 996-97 (Fed. Cir. 2016) (non-precedential).
The problem described by the Applicant, human analysis of event data being time-consuming and prone to error, is that of a human-performable process and does not constitute a problem in a technology or technical field. Thus, improvements to this problem represented by the claimed invention are insufficient to practically integrate the recited judicial exception(s).
In response to the Applicant’s argument that the claimed invention improves upon the existing technology of static rule-based approaches to automated event insights, the Examiner respectfully disagrees. The improvement of a claimed invention must be sufficiently detailed, as noted in MPEP 2106.05(a): “If it is asserted that the invention improves upon conventional functioning of a computer, or upon conventional technology or technological processes, a technical explanation as to how to implement the invention should be present in the specification. That is, the disclosure must provide sufficient details such that one of ordinary skill in the art would recognize the claimed invention as providing an improvement. The specification need not explicitly set forth the improvement, but it must describe the invention such that the improvement would be apparent to one of ordinary skill in the art … After the examiner has consulted the specification and determined that the disclosed invention improves technology, the claim must be evaluated to ensure the claim itself reflects the disclosed improvement in technology. Intellectual Ventures I LLC v. Symantec Corp., 838 F.3d 1307, 1316, 120 USPQ2d 1353, 1359 (Fed. Cir. 2016) (patent owner argued that the claimed email filtering system improved technology by shrinking the protection gap and mooting the volume problem, but the court disagreed because the claims themselves did not have any limitations that addressed these issues). That is, the claim must include the components or steps of the invention that provide the improvement described in the specification.”
It would not be clear to one of ordinary skill in the art how the claimed invention differs from existing static rule-based approaches insofar as improvements. Paragraph [0017] mentions a key deficiency in static approaches, namely the inability to identify key insights not previously identified by a human analyst, but there are no limitations in the claimed invention that address this deficiency. If improvement is meant to come from the generation of dynamic insights or insight types not previously identified by a human analyst, there must be limitations brought into the claims reflecting this ability. In its current form, the claimed invention appears to encompass static rule-based approaches. The Examiner further notes that improvements must come from the additional elements, not recited judicial exceptions, as discussed in further detail in MPEP 2106.05(a).
Thus, no rejections are withdrawn on this basis.
On page 15 of the instant remarks, the Applicant argues that limitations of the claimed invention that involve judicial exceptions are not directed to judicial exceptions:
“As a preliminary matter, the Federal Circuit has explained that "[a]t some level,
all inventions embody, use, reflect, rest upon, or apply laws of nature, natural
phenomena, or abstract ideas," and has cautioned "to tread carefully in construing this
exclusionary principle lest it swallow all of patent law." MPEP 2106.04; See also Enfish,
LLC v. Microsoft Corp., 822 F.3d 1327, (Fed. Cir. 2016) ("The 'directed to' inquiry,
therefore, cannot simply ask whether the claims involve a patent-ineligible concept,
because essentially every routinely patent-eligible claim involving physical products and
actions involves a law of nature and/or natural phenomenon.") As such, there is a key
distinction between claims directed to an exception (which require further eligibility
analysis) and claims that merely involve an exception (which are eligible and do not
require further eligibility analysis). Id. The Office Action seemingly confuses this
concept: it mistakes the indirect presence of an exception (e.g., humans conducting
transactions) as indicating that the claims are, as a whole, directed to the exception.
This is simply not the case.”
Regarding the assertion that the Office Action fails to distinguish between recitations of judicial exceptions and mere involvement of them, the Examiner respectfully disagrees. As noted in MPEP 2106.04(II)(A)(1), Prong One asks does the claim recite an abstract idea, law of nature, or natural phenomenon? In Prong One examiners evaluate whether the claim recites a judicial exception, i.e. whether a law of nature, natural phenomenon, or abstract idea is set forth or described in the claim. While the terms "set forth" and "described" are thus both equated with "recite", their different language is intended to indicate that there are two ways in which an exception can be recited in a claim. For instance, the claims in Diehr, 450 U.S. at 178 n. 2, 179 n.5, 191-92, 209 USPQ at 4-5 (1981), clearly stated a mathematical equation in the repetitively calculating step, and the claims in Mayo, 566 U.S. 66, 75-77, 101 USPQ2d 1961, 1967-68 (2012), clearly stated laws of nature in the wherein clause, such that the claims "set forth" an identifiable judicial exception. Alternatively, the claims in Alice Corp., 573 U.S. at 218, 110 USPQ2d at 1982, described the concept of intermediated settlement without ever explicitly using the words "intermediated" or "settlement." … An example of a claim that recites a judicial exception is "A machine comprising elements that operate in accordance with F=ma." This claim sets forth the principle that force equals mass times acceleration (F=ma) and therefore recites a law of nature exception. Because F=ma represents a mathematical formula, the claim could alternatively be considered as reciting an abstract idea.
Claim 1’s second limitation, “augmenting, by the computing system, the play-by-play data with game event data and context data”, does not merely involve the concept of data augmentation, it’s recited as the very action to be performed. It sets forth a concrete step of augmentation, thus reciting augmentation, a mentally-performable process. All limitations argued in the Office Action to recite judicial exceptions have been found to actually recite them in a substantial way, not just involve them. See the 101 rejections section for more detail.
Thus, no rejections are withdrawn on these grounds.
On pages 18-20 of the instant remarks, the Applicant argues that the claimed invention amounts to significantly more than its recited judicial exceptions through improvements to technology:
“Even if the present claims were directed to an abstract idea, and even if the
present claims did not recite a practical application of any such abstract idea (neither of
which Applicant concedes), the claims amount to significantly more than any such
abstract idea and are therefore directed to patent-eligible subject matter in compliance
with 35 U.S.C. § 101.
…
In this way, the method may automatically generate improved event
insights during a live event thereby improving upon conventional methods.
Hence, the claims recite a "particular way to achieve a desired outcome, as
opposed to merely claiming the idea of a solution or outcome" and therefore recite
significantly more than any judicial exception. (MPEP § 2106.05(a).”
Regarding the Applicant’s arguments above, the Examiner respectfully disagrees. As noted in previous responses, improvement to a technology or technological field precludes improvement to a human process (such as automating a manual process). Additionally, the claim language is not currently representative of improvements to known static rule-based approaches for automated event analysis systems.
Under a similar rationale as practical integration, the claimed invention is not found to amount to significantly more than its recited judicial exceptions, and no rejections are withdrawn on this basis.
103 Rejections
On pages 20-22 of the instant remarks, the Applicant argues that the cited references fail to disclose limitations of the amended claims:
“The cited references, fail to disclose or suggest, inter alia, "parsing, by the
computing system, the real-time event data to determine a first action corresponding to
the plurality of edges; modifying, by the computing system and based on a
determination that the first action is not represented in the historical knowledge graph,
the historical knowledge graph," as recited in independent claim 1
…
For example, Ray describes "four 'static' data graphs 502-508 (or sg1-sg4,
respectively) are shown, for the 'pick and shoot' play, where each of the static data
graphs 502-508 represents a snapshot in time (ats=1, ats=2, ats=3, ats=4,
respectively) during the play, with the nodes and edges having data labels." (Ray at
[0048], emphasis added.) Ray continues to describe the differences in the four
snapshots, as the "pick and shoot" play was carried out. For example, Ray describes
that "the graph 504 at activity time step ats=2 shows the defender x moves in region 1."
(Id. at [0049].) Further "the graph 506 at activity time step ats=3 shows the offensive
player d moves to region 1 to set a pick (Pi) on the defender x in region 1." (Id. at
[0050].)
In short, Ray generates a series of "historical graphs" to represent a play.
However Claim 1, for example, includes modifying a previously retrieved, single
historical knowledge graph based on analyzing real-time event data. Therefore, Ray
fails to disclose or suggest "parsing, by the computing system, the real-time event data
to determine a first action corresponding to the plurality of edges; modifying, by the
computing system and based on a determination that the first action is not represented
in the historical knowledge graph, the historical knowledge graph" as recited in claim 1.
Additionally, Ray fails to disclose or suggest that the "insights include identifying
a streak, an over performing player, an over performing team, an underperforming
player, or an underperforming team" as recited in claim 1 .”
Regarding “parsing, by the computing system, the real-time event data to determine a first action corresponding to the plurality of edges”, the Examiner contends that Ray discloses this limitation in its entirety. Ray discloses parsing game data (which may be real-time data, (Ray, [0032]) to determine edges in activity graphs corresponding to player actions (Ray, [0043], [0046]).
The Examiner further contends that “modifying, by the computing system and based on a determination that the first action is not represented in the historical knowledge graph, the historical knowledge graph, wherein the modifying includes changing at least one of the plurality of nodes or the at least one of the plurality of edges” is disclosed in its entirety by Ray. Ray discloses modifying nodes and edges in a static activity graph due to a player action in the previous time step no longer happening in the current time step (Ray, [0048-0049] & Figure 5). In the referenced example, a pass is performed in the first time step, signified by a pass edge between players. In the second time step, the pass edge is removed and the player nodes are updated to reflect the change in ball ownership.
The Applicant asserts that Ray’s static graphs differ significantly from the claimed historical knowledge graph being modified, which Examiner respectfully disagrees with. While Ray does disclose a series of static activity graphs, these individual graphs may be seen as different stages of the same ‘dynamic graph’ at different time steps (Ray, [0052]). With that in mind, it’s clear that each static activity graph is a modification of the activity graph of the previous timestep based on changes in time. Ray also discloses that historical data is used to construct these static / dynamic graphs and the metadata associated with them (Ray, [0034]). The Examiner sees no substantial difference between the graphs disclosed by Ray and those of the claimed invention.
Regarding “generating, by the computing system, via a first machine learning model, one or more insights based on the modified historical knowledge graph, wherein the one or more insights include identifying a streak, an over performing player, an over performing team, an underperforming player, or an underperforming team corresponding to the one or more changes”, Ray discloses generating insights based on the graph (Ray, [0043]), wherein the insights can include underperformance of a team corresponding to changes in the graph (Ray, [0056]). While Ray fails to disclose using machine learning to determine these insights, this deficiency is remedied by Rabines, which discloses generating insights using a machine learning model (Rabines, [0018], [0070-0072]), wherein the insights can include identifying a streak or an overperforming player (Rabines, [0058]).
Accordingly, no rejections are withdrawn on these grounds. See the 103 rejections section for more detail.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Huang (Graph Analysis of Major League Soccer Networks: CS224W Final Project, 2018, Stanford University) teaches the construction of a knowledge graph with nodes representing players in a game of sports and edges representing actions between them
Grandin et al. (Signal Capture And Distribution System, published 4/23/2002, US 6378132 B1) discloses a method of annotating play-by-play information from sporting events
Gleadall (Automated statistics content preparation, filed 2012, US20140142921A1) teaches a method of automatically identifying, ranking, and presenting sporting events
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Aaron P Gormley whose telephone number is (571)272-1372. The examiner can normally be reached Monday - Friday 12:00 PM - 8:00 PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Michelle T Bechtold can be reached at (571) 431-0762. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AG/Examiner, Art Unit 2148 /MICHELLE T BECHTOLD/Supervisory Patent Examiner, Art Unit 2148