Systems and methods for transforming neural networks for player and team prediction for athletic sports
By transforming the neural network system, accurate sports event prediction is generated using input features at multiple granularity levels, solving the problem of uncaptured correlation between teams and opponents in the existing technology, and real-time and accurate prediction of players and team actions is achieved.
Patent Information
- Application Number
- CN202380084356.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-30
- Filing Date
- 2023-12-29
- Publication Date
- 2025-08-08
AI Technical Summary
Existing sporting event prediction techniques fail to accurately capture the correlation between teams, opponents, and game context, resulting in inaccurate predictions.
Using a transform neural network system, target metric predictions are generated using the embedding layer, transform encoder layer and fully connected layer by receiving input features at multiple granularity levels, including real-time state, historical data, game attributes and context features of players and teams.
Accurate and real-time prediction of players and team movements is achieved, and the interaction effects of multiple players and teams can be considered. The prediction results are timely consistent and aligned with market forecasts.
Smart Images

Figure CN120457436A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority to U.S. Provisional Application Serial No. 63 / 477,925, filed on December 30, 2022, the entire contents of which are incorporated herein by reference. Technical Field
[0003] Various aspects of the present invention generally relate to machine learning for sports applications, and more particularly, various aspects relate to a system and method for a transform neural network for generating predictions for players and / or teams of a sporting event. Background Art
[0004] With the growing popularity of sports, there is a growing desire to make accurate, granular predictions about what will happen during a sporting event. For example, predicting the number of passes or shots a particular soccer player (e.g., Lionel Messi) will make in a given match (e.g., the World Cup Final) before and during the World Cup Final may be of particular interest to members of the media, broadcasters (whether on the main feed or on a second-screen experience), sports betting, and fantasy / gamification applications. Existing solutions are unable to accurately make such predictions. In particular, existing solutions may not adequately capture the correlations between teammates, opponents, and other contextual features of a particular match. Therefore, new solutions are needed.
[0005] Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art or suggestions of prior art by inclusion in this section. Summary of the Invention
[0006] In some aspects, the technology described herein relates to a method for generating predictions for teams and players associated with a sporting event using a transformer neural network, the method comprising: receiving a set of input features, the set of input features representing a set of players and teams within a game, each input within the set of input features being represented by a tensor; inputting the set of input features into a transformer neural network comprising: a set of embedding layers, a transformer encoder layer, and a fully connected layer; and generating a set of target metric predictions for the set of players and teams within the game using the transformer neural network.
[0007] In some aspects, the techniques described herein relate to a method in which each tensor within the set of input features corresponds to one of a plurality of levels of granularity, the level of granularity indicating whether the tensor belongs to a category of player level, team frame level, or match level.
[0008] In some aspects, the technology described herein relates to a method wherein the set of input features includes: a first tensor of real-time player features indicating a player position and team and a running total of actions performed by a player in the set of players; a second tensor of player strength features indicating player aggregate statistics of the player's actions in a set of previous games; a third tensor of real-time team features indicating a running total of actions performed by a team in the set of teams within the game; a fourth tensor of team strength features indicating aggregate statistics of the team aggregate statistics in the set of previous games; a fifth tensor of real-time game state features indicating game attributes including at least one of event type, game clock time, or event location; and a sixth tensor of game context features indicating the league in which the game is played and a time associated with the game.
[0009] In some aspects, the technology described herein relates to a method wherein inputting the set of input features into a transform neural network further comprises mapping the set of input features into a set of tensors having a common feature dimension using the set of embedding layers, wherein the set of embedding layers comprises a linear layer for each input in the set of input features.
[0010] In some aspects, the technology described herein relates to a method wherein inputting the set of input features into a transform neural network further comprises: a transform encoder layer receiving a set of mapping tensors having a common feature dimension from the set of embedding layers; and computing self-attention on the set of mapping tensors having a common feature dimension along time and subject dimensions using the transform encoder layer to generate a transform encoder layer embedding.
[0011] In some aspects, the technology described herein relates to a method wherein inputting the set of input features to a transform neural network further comprises mapping the transform encoder layer embeddings to a tensor corresponding to a target metric using a fully connected layer.
[0012] In some aspects, the technology described herein relates to a method in which creating a set of input features occurs automatically upon detecting a scheduled sporting event.
[0013] In some aspects, the technology described herein relates to a method in which a feature creator processing step begins creating the set of input features for a sporting event when querying data from a data platform.
[0014] In some aspects, the technology described herein relates to a method wherein goal metric predictions include goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards, and / or minutes for one or more of the players.
[0015] In some aspects, the technology described herein relates to a method in which a set of predictions generated for at least one action specific to each player or team associated with a sporting event is updated temporally during the game.
[0016] In some aspects, the technology described herein relates to a system for generating predictions for teams and players associated with a sporting event using a transformation neural network, the system comprising: a non-transitory computer-readable medium configured to store processor-readable instructions; and a processor operably connected to the non-transitory computer-readable medium and configured to execute the instructions to perform operations, the operations comprising: receiving a set of input features representing a set of players and teams within a game, each input within the set of input features being represented by a tensor; inputting the set of input features into a transformation neural network comprising: a set of embedding layers, a transformation encoder layer, and a fully connected layer; and generating a set of target metric predictions for the set of players and teams within the game using the transformation neural network.
[0017] In some aspects, the techniques described herein relate to a system wherein each tensor within the set of input features corresponds to one of a plurality of levels of granularity, the level of granularity indicating whether the tensor belongs to a category of player level, team frame level, or match level.
[0018] In some aspects, the technology described herein relates to a system wherein the set of input features includes: a first tensor of real-time player features indicating a player position and team and a running total of actions performed by a player in the set of players; a second tensor of player strength features indicating player aggregate statistics of the player's actions in a set of previous games; a third tensor of real-time team features indicating a running total of actions performed by a team in the set of teams within the game; a fourth tensor of team strength features indicating aggregate statistics of the team aggregate statistics in the set of previous games; a fifth tensor indicating real-time game state features indicating game attributes including at least one of event type, game clock time, or event location; and a sixth tensor of game context features indicating the league in which the game is played and the time associated with the game.
[0019] In some aspects, the technology described herein relates to a system wherein inputting the set of input features into a transform neural network further comprises mapping the set of input features into a set of tensors having a common feature dimension using the set of embedding layers, wherein the set of embedding layers comprises a linear layer for each input in the set of input features.
[0020] In some aspects, the technology described herein relates to a system wherein inputting the set of input features into a transform neural network further comprises: a transform encoder layer receiving a set of mapping tensors having a common feature dimension from the set of embedding layers; and computing self-attention along time and subject dimensions on the set of mapping tensors having a common feature dimension using the transform encoder layer to generate a transform encoder layer embedding.
[0021] In some aspects, the technology described herein relates to a system wherein inputting the set of input features to a transform neural network further comprises mapping the transform encoder layer embeddings to a tensor corresponding to a target metric using a fully connected layer.
[0022] In some aspects, the technology described herein relates to a system in which creating a set of input features occurs automatically upon detecting a scheduled sporting event.
[0023] In some aspects, the technology described herein relates to a system in which a feature creator processing step begins creating the set of input features for a sporting event when querying data from a data platform.
[0024] In some aspects, the technology described herein relates to a system wherein goal metric predictions include goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards, and / or minutes for one or more of a player.
[0025] In some aspects, the technology described herein relates to a system in which a set of predictions generated for at least one action specific to each player or team associated with a sporting event is updated over time during the game.
[0026] In some aspects, the technology described herein relates to a non-transitory computer-readable medium for generating predictions for teams and players associated with a sporting event using a transform neural network, the method comprising: receiving a set of input features, the set of input features representing a set of players and teams within a game, each input within the set of input features being represented by a tensor; inputting the set of input features into a transform neural network comprising: a set of embedding layers, a transform encoder layer, and a fully connected layer; and generating a set of target metric predictions for the set of players and teams within the game using the transform neural network.
[0027] In some aspects, the technology described herein relates to a non-transitory computer-readable medium, wherein goal metric predictions include: goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards, and / or minutes for one or more of a player.
[0028] Additional objects and advantages of the disclosed aspects will be set forth in part in the following description and will become apparent from the description, or may be learned by practicing the disclosed aspects. The objects and advantages of the disclosed aspects will be realized and obtained by means of the elements and combinations particularly pointed out in the appended claims.
[0029] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the various aspects of the disclosure, as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary aspects and, together with the description, serve to explain the principles of the disclosed aspects.
[0031] Figure 1 is a block diagram of an exemplary tracking and analysis environment according to an example embodiment.
[0032] Figure 2A is an example correlation between input features and predicted distributions according to an example embodiment.
[0033] Figure 2B is an illustration of a set of neural networks that derive a predictive distribution for a set of input features according to an example embodiment.
[0034] Figure 3A is a transform neural network for player and team predictions according to an example embodiment.
[0035] Figure 3B is used according to an example embodiment Figure 3A An exemplary model of transforming the input tensor of a neural network.
[0036] Figure 3C According to example embodiments, Figure 3A Example model of the linear embedding layer, axial transfer encoder layer, and fully connected layer of the transform neural network.
[0037] Figure 3D According to an example embodiment, Figure 3A An example model of the axial attention layer of a transform neural network.
[0038] Figure 4 is a flow chart of an example top-down prediction model according to an example embodiment.
[0039] Figure 5 is a flow of an example top-down prediction model during an example sporting game according to an example embodiment.
[0040] Figure 6is an exemplary graphical representation of predicted statistical output from a transformation neural network during a sporting event, according to an example embodiment.
[0041] Figure 7 is an example flow for trigger processing steps according to an example embodiment.
[0042] Figure 8 is an example flow for feature creation processing steps according to an example embodiment.
[0043] Figure 9 is an example flow of attribute predictor processing steps according to an example embodiment.
[0044] Figure 10 is an example flow for team attribute predictor processing steps according to an example embodiment.
[0045] Figure 11 is an example flow for player attribute predictor processing steps according to an example embodiment.
[0046] Figure 12 is an example flow for combining attribute predictor processing steps according to an example embodiment.
[0047] Figure 13 is an example process for generating predictions for teams and players associated with a sporting event using a transform neural network according to an example embodiment.
[0048] Figure 14 Depicted is a flow diagram for training a machine learning model according to one aspect.
[0049] Figure 15 An example of a computing device according to one aspect is depicted.
[0050] It is noted that, for simplicity and clarity of illustration, certain aspects of the drawings depict the general configurations of various embodiments. Descriptions and details of well-known features and techniques may be omitted to avoid unnecessarily obscuring other features. Elements in the figures are not necessarily drawn to scale; the dimensions of some features may be exaggerated relative to other features to improve understanding of the example embodiments. DETAILED DESCRIPTION
[0051] Various aspects of the present invention generally relate to machine learning for sports applications, and more particularly, various aspects relate to a system and method for generating predictions of a transformation neural network for players and / or teams of a sporting event.
[0052] According to embodiments disclosed herein, a transformation neural network may receive inputs (e.g., tensor layers), where each input corresponds to a given player, team, or match. The transformation neural network may output predictions generated for one or more given players or teams based on such inputs. More specifically, the transformation neural network may output such predictions generated for a given player or team based on inputs associated with the given player or team and further based on the influence of one or more other players or teams. Thus, as discussed herein, the predictions provided by the transformation neural network may take into account the influence of multiple players and / or teams when outputting a prediction for a given player and / or team.
[0053] As used herein, a "machine learning model" generally comprises instructions, data, and / or a model configured to receive an input and apply one or more of weights, biases, classifications, or analyses to the input to generate an output. For example, the output may include a classification of the input, an analysis based on the input, a design, process, prediction, or recommendation related to the input, or any other suitable type of output. Machine learning models are typically trained using training data, e.g., empirical data and / or samples of input data, which is fed into the model to establish, adjust, or modify one or more aspects of the model, e.g., weights, biases, criteria for forming classifications or clusters, etc. Various aspects of a machine learning model may operate on the input linearly, in parallel, via a network (e.g., a neural network), or via any suitable configuration.
[0054] The execution of the machine learning model may include deploying one or more machine learning techniques, such as linear regression, logistic regression, random forest, gradient boosting machine (GBM), deep learning and / or deep neural network. Supervised and / or unsupervised training may be used. For example, supervised learning may include providing training data and labels corresponding to the training data, for example, as a ground truth. Unsupervised methods may include clustering, classification, etc. K-means clustering or K-nearest neighbors may also be used, which may be supervised or unsupervised. A combination of K-nearest neighbors and unsupervised clustering techniques may also be used. Any suitable type of training may be used, for example, random, gradient boosting, random seeding, recursive, round-robin, or batch-based.
[0055] Although several examples herein relate to certain types of machine learning, it should be understood that the techniques according to the present invention can be applied to any suitable type of machine learning. It should also be understood that the above examples are merely illustrative. The techniques and methods of the present invention can be applied to any suitable activity.
[0056] While football and various aspects related to football (e.g., predicted total number of passes by a team during a game) are described in this aspect as illustrative examples, this aspect is not limited to such examples. For example, this aspect may be implemented for other sports or activities, such as football, basketball, baseball, tennis, golf, cricket, rugby, etc.
[0057] Football is a game that can be viewed as a series of actions performed by players on respective teams, such as passes, shots, tackles, fouls, etc. For a given player or team, predicting the total number of each of these actions that will occur during a match is useful for various applications, such as: setting starting lineups and substitutes; evaluating player and team performance; setting statistical odds for in-game events; and supporting commentary and analysis for live broadcasts.
[0058] However, in many sports, accurately predicting what will happen in a particular event (e.g., a football game) can be difficult, in part due to the large number of variables involved. For example, a variety of factors may affect what will happen in an event. For example, predicting the performance of a particular player is difficult because the performance of a particular player may be affected by the player's specific role, the opponent's team's strategy and structure, the current state of the game (e.g., if a team is leading 2-0, the team's offensive demands are reduced, with more players entering the defensive capacity), etc. It should be understood that although the current state of the game is described above, the current state of the game can also be implemented, determined, identified, or applied mathematically or via machine learning language (e.g., using weights, biases, layers, synapses, etc.).
[0059] The systems and methods described herein may describe a system configured to make one or more predictions for one or more players and / or for one or more teams within a sporting event. Furthermore, the predictions may relate to several actions for each player (e.g., shots taken, passes made, goals completed, fouls committed, etc.). Furthermore, these predictions may be real-time in that they are updated as the game progresses (e.g., in real time or near real time).
[0060] The actions that occur during a game (e.g., a match, a competition, a round, etc.) may be the product of a complex system of interactions between players and teams. The task of predicting the number of actions that will be performed by a single player over the duration of a game has several considerations. An exemplary prediction may be to predict the total number of successful passes made by a particular player at a particular point in time during the game. The prediction may be based on several factors, including but not limited to: the number of passes already completed by the player; the offensive strength of the player's teammates, and the strategy being implemented by the team; the defensive strength of the opposing team, and their strategy; the state of the game (i.e., the current score, time remaining, players sent off, etc.); the context of the game (i.e., the stage of competition in which the player's game is located, such as whether the game is a knockout final, or a season-ending match between two mid-table teams); and / or the likelihood that the player will be substituted, and at what time. It should be understood that the prediction may be based on one or more factors other than those exemplified above.
[0061] The systems and methods described herein may include models that capture interactions between players while incorporating factors such as team information, match state, and / or match context. Thus, the system may be able to accept input features for a set of players and collectively make predictions for each of the players based on the impact of each of the other players. The system may further receive multi-resolution inputs for: players; teams; match state and context; and / or features indicating a priori strengths and playing styles for each player and team in a principled manner. Predictions may be made for all players who could potentially play in a match (e.g., for a matchday lineup that includes the starting lineup and any corresponding substitutes).
[0062] In addition, the systems and methods described herein may be consistent in their predictions for different actions. In some cases, this consistency may be straightforward. For example, the number of shots on target taken by a particular player may not be greater than the total number of shots taken. In other cases, the consistency output generated by the system may be relatively more complex. For example, the total number of assists for all players on a team must not be greater than the total number of goals predicted for the team. In addition, the methods and systems disclosed herein can output predictions by associating the actions of multiple players and / or multiple teams. For example, a dominant team may tend to make more passes and shots, but fewer fouls and yellow cards. Therefore, player-based predictions can take into account the dominant trends based on the team. The system described herein can jointly predict the total number of games for all actions in a consistent manner by learning the correlations and patterns between actions (e.g., player actions, team actions, etc.).
[0063] Furthermore, the systems and methods described herein may be configured to update predictions in real time as events unfold during a sporting event. Thus, the predictions output by the system may be temporally consistent, such that the predicted total should never be less than the actual running total, be locally smooth (e.g., except when significant events such as goals occur), and converge to the actual total at the end of the game (e.g., as Figure 6 The system may also be configured to capture dynamics within a match, such as changes in momentum, the effects of a goal, and / or the dismissal of a player.
[0064] Thus, the system described herein can receive as input a set of features that are not represented in an implicit order, where the features can be represented as player vectors, team vectors, and / or match day vectors. The system can also be configured to predict multiple individual actions that are consistent with each other. The predictions can also be continuous (e.g., updated throughout the game) and temporally consistent (e.g., updated as the game time passes). Furthermore, the system can be configured to capture momentum and dynamics within the game.
[0065] The system may include a transformation network as described herein, which may be configured to solve the constraints described herein. The transformation network may include multiple layers that alternate between applying attention temporally to a sequence of action events and applying attention spatially to groups of players and teams at each event time step. The transformation neural network may include learned embeddings that are the output of the final transformation layer. These may be used to predict the total number of each action for each player using a single linear layer. Because each predicted action for a particular player is targeted to an affine transformation of the same embedding, prediction consistency for each action is maintained.
[0066] This Transformer Neural Network architecture can be resource- and / or time-efficient. For example, the Transformer Neural Network may not replicate any features from the input. The Transformer Neural Network can make multiple predictions at each time step. For example, the Transformer Neural Network can predict the total number of each of the 16 actions for all players in the match-day lineup, for each of the two teams, for a total of 672 predictions per time step, with approximately 1,000 predictions made per game at that time.
[0067] Furthermore, in sports, "generative AI" methods can not only provide predictions of what will happen during a match, but can also be used to accurately predict "what-if" questions (e.g., if one player is substituted for another, or a formation change is made) to determine how the proposed change will affect the outcome not only at the match level, but also at the player level. Such analysis can be used by coaches (as auxiliary assistants), the media, sports betting and / or fantasy platforms, which can prepare for changes (e.g., if they see a substitution or during a VAR or other interruption).
[0068] Transformer networks have been successfully used in many contexts for a variety of data inputs. For example, for text, GPT-3 and ChatGPT are examples of how these generative AI models can generate text output when prompted. Similarly, for images, Dalle-2 and Stable Diffusion can generate images / artwork from text inputs.
[0069] For sports, at the match level, the present embodiments can use generative AI and / or transformer networks to generate predictions for one or more actions in a sporting event. In some cases, the present systems and methods can take queries that are "what-if" or predictive questions, such as predicting how many shots, goals, or passes a particular player or combination of players will have. The present embodiments can utilize transformer networks that essentially use players as words in an NLP analogy and use a self-attention mechanism to determine interactions between players (rather than predicting each player independently).
[0070] This embodiment provides an integration of both a top-down prediction model (e.g., a feedforward neural network) and a transformation neural network model. The top-down prediction model can use historical team and market information to accurately predict team output for a game (e.g., goals, shots, shots on target, assists, passes, fouls, yellow cards, red cards, etc.), and the transformation neural network model can provide predictions for individual players that capture player-to-player interactions within the team and with the opponent.
[0071] By using a transform network architecture, the system can capture relationships between and within players. However, in many cases, bottom-up approaches may not align with team totals predictions, which are often quite "efficient" because they can leverage market information (such as for sports betting). By using a top-down approach with team predictions while ensuring that team totals align with the market, the system can improve accuracy by utilizing a graph neural network (GNN) (or "bottom-up" representation) model to assign output predictions to each player. Using a transform network architecture alone, the system can capture relationships between and within players. However, in many cases, bottom-up approaches alone may not align with team totals predictions, which are often quite "efficient" because they can leverage market information (such as for sports betting markets). By using a top-down approach with team predictions, the system can ensure that individual player predictions align with market predictions. In other words, the system can use the predictions generated by the top-down model to normalize the predictions generated by the bottom-up model.
[0072] The transform neural network described herein can be configured to make predictions for one or more players or teams simultaneously. By performing predictions simultaneously, the predictions may be more accurate than if the predictions were made non-simultaneously.
[0073] The execution of the machine learning model may include deploying one or more machine learning techniques, such as linear regression, logistic regression, random forest, gradient boosting machine (GBM), deep learning and / or deep neural network. Supervised and / or unsupervised training may be used. For example, supervised learning may include providing training data and labels corresponding to the training data, for example, as a baseline true value. Unsupervised methods may include clustering, classification, etc. K-means clustering or K-nearest neighbors may also be used, which may be supervised or unsupervised. A combination of K-nearest neighbors and unsupervised clustering techniques may also be used. Any suitable type of training may be used, for example, random, gradient boosting, random seeding, recursive, round-robin or batch-based, etc.
[0074] While several of the examples herein relate to certain types of machine learning, it should be understood that the techniques according to the present invention can be adapted for any suitable type of machine learning. It should also be understood that the above examples are merely illustrative. The techniques and methods of the present invention can be adapted for any suitable activity.
[0075] Furthermore, while various aspects are discussed with respect to a given sport, these aspects are merely illustrative examples. The disclosed technology is in no way limited to any particular sport. For example, the present aspects can be implemented for other sports or activities, such as soccer, rugby (i.e., American football), basketball, baseball, hockey, cricket, rugby, tennis, and the like.
[0076] Figure 1 1 is a block diagram illustrating a computing environment 100 according to example aspects of the disclosed subject matter. Environment 100 includes a tracking system 102, a computing system 104, and a client device 108 connected via a network 105. In the depicted example, tracking system 102 obtains various measurements of a game and transmits the measurements across network 105 to computing system 104, where the measurements can be used in conjunction with one or more machine learning models. In one example, one or more machine learning models described herein can be configured to receive embeddings of player, team, and / or game information as input and determine one or more predictions for the players and / or teams.
[0077] Tracking system 102 may be in communication with venue 106 and / or may be located within, adjacent to, or near venue 106. Non-limiting examples of venue 106 include a stadium, a field, a venue, and a court. Venue 106 includes agents 112A-N (players). Tracking system 102 may be configured to record the movements and actions of agents 112A-N on the playing field, as well as one or more associated other objects (e.g., a ball, a referee, etc.). Although environment 100 generally depicts agents 112A-N as players, it should be understood that, according to certain embodiments, agents 112A-N may correspond to players, officials, coaches, objects, markers, etc.
[0078] In some aspects, the tracking system 102 can be an optical-based system using, for example, a camera. While one camera is depicted, additional cameras are possible. For example, a system consisting of six fixed, calibrated cameras can be used that projects the three-dimensional positions of the players and ball onto a two-dimensional overhead view of the court.
[0079] In another example, a mix of fixed and non-fixed cameras can be used to capture the movement of all subjects 112A-N on the playing field, as well as the movement of one or more related objects. Utilizing such a tracking system (e.g., tracking system 102), many different camera views of the field can be generated (e.g., high sideline view, free throw line view, player close-up view, scrimmage view, end zone view, etc.). In some aspects, tracking system 102 corresponds to or utilizes a broadcast feed of a given game. In such aspects, each frame of the broadcast feed can be stored in a game file.
[0080] Tracking system 102 may be configured to communicate with computing system 104 via network 105. Computing system 104 may be configured to manage and analyze data captured by tracking system 102. Computing system 104 may include a web client application server 114, a pre-processing agent 116 (e.g., a processor and / or pre-processor), a data store 118, and a third-party application programming interface (API) 138. Figure 15 One example of computing system 104 is depicted.
[0081] The pre-processing agent 116 may be configured to process data obtained from the data storage device 118 or the tracking system 102 before inputting it into the predictor 126. The pre-processing agent 116, the predictor, and / or the predictive model analysis engine 122 may be composed of one or more software modules. One or more software modules may be a collection of codes or instructions stored on a medium (e.g., a memory of the organizational computing system 104) that represents a series of machine instructions (e.g., program code) that implement one or more algorithmic steps. Such machine instructions may be actual computer code that the processor of the organizational computing system 104 parses to implement the instructions, or alternatively, may be a higher-level instruction encoding that is parsed to obtain the actual computer code. One or more software modules may also include one or more hardware components. One or more aspects of the example algorithm may be performed by the hardware component (e.g., circuit) itself, rather than as a result of the instructions.
[0082] The data storage device 118 may be configured to store different types of data. In one example, the data storage device 118 may store raw tracking data received from the tracking system 102. The data storage device 118 may include historical game data, real-time data, features, and / or predictions. The historical game data may include historical team and player data for one or more sporting events. The real-time data may include data received from the tracking system 102, such as in real time or near real time. The game data may include broadcast data or content related to a game (e.g., a match, a tournament, a round, etc.) and / or may include tracking data generated by the tracking system 102 or in response to data generated by the tracking system 102. The data storage device 118 may be configured to store features (e.g., feature vectors) generated for a particular sporting event, which include player, team, and game features.
[0083] According to aspects disclosed herein, the data storage device 118 may receive and / or store match files. A match file may include one or more match data types. Match data types may include, but are not limited to, position data (e.g., player position, object position, etc.), change data (e.g., position change, player change, object change, etc.), trend data (e.g., player trends, position trends, object trends, team trends, etc.), match data, etc. A match file may be a single match file or may be segmented (e.g., grouped by one or more data types, grouped by one or more players, grouped by one or more teams, etc.). The pre-processing agent 116 and / or the data storage device 118 may be operable (e.g., using applicable code) to receive tracking data in a first format, store the match file in a second format, and / or output the match data in a third format (e.g., to the predictor 126). For example, the pre-processing agent 116 may receive an intended destination for match data (or data generally stored in the data storage device 118) and format the data into a format acceptable to the intended destination.
[0084] The predictor 126 includes one or more machine learning models 128A-N. Examples include transformation neural networks, graph neural networks, recurrent neural networks, convolutional neural networks, and / or feedforward neural networks. The predictor 126 may include a system that can implement a series of neural network instances (e.g., feedforward network (FFN) models) connected via transformation neural networks (e.g., graph neural network (GNN) models). FFNs can be unidirectional networks, such that information in the model flows in a forward direction from input nodes or layers, through hidden nodes or layers, and to output nodes or layers (e.g., without any cycles or loops). FFNs can be trained using backpropagation techniques to iteratively train the model by calculating the necessary parameter adjustments to gradually minimize error. GNNs can capture the dependencies of a graph (e.g., its corresponding nodes and edges) via message passing between one or more nodes of the graph.
[0085] Each neural network instance can be configured to generate predictions for one or more actions for each player or team during a game. Furthermore, the neural network instance can forward feature vector information or generated predictions to a transform neural network to transfer such information between neural network instances. This information transfer across neural network instances can allow player-to-player interactions to be factored into predictions, which can improve prediction accuracy, as described herein.
[0086] The machine learning models 128A-N may include a top-down model to generate team predictions for a sporting event. The top-down model may be fed with features and / or other information for the sporting event, such as third-party predictions (e.g., provided by a third-party application programming interface (API) 138). The top-down model may implement a feedforward neural network or another similar machine learning algorithm.
[0087] The machine learning models 128A-N may include a bottom-up model to generate player predictions for a sporting event. In generating player predictions, the bottom-up model may be fed with team predictions and / or features for the sporting event. For example, the bottom-up model may implement a transformer neural network or another similar machine learning algorithm, such as a graph neural network (GNN). The bottom-up model (e.g., a transformer) may be configured to receive output from the top-down model. The bottom-up model may utilize the output of the top-down model as input.
[0088] Client device 108 can communicate with computing system 104 via network 105. Client device 108 can be operated by a user. For example, client device 108 can be a mobile device, a tablet computer, a desktop computer, or any computing system with the capabilities described herein. Users can include, but are not limited to, individuals such as, for example, subscribers, clients, potential clients, or customers of an entity associated with computing system 104, such as individuals who have obtained, will obtain, or may obtain products, services, or consulting from an entity associated with computing system 104.
[0089] The client device 108 may include one or more applications 109. The applications 109 may represent a web browser that allows access to websites or may be stand-alone applications. The client device 108 may access the applications 109 to access one or more functions of the computing system 104. The client device 108 may communicate over the network 105 to, for example, request a web page from a web client application server 114 of the computing system 104. For example, the client device 108 may be configured to execute the applications 109 to access content managed by the web client application server 114. The content displayed to the client device 108 may be transmitted from the web client application server 114 to the client device 108 and then processed by the applications 109 for display via a graphical user interface (GUI) of the client device 108.
[0090] The client device may include a display 110. Examples of display 110 include, but are not limited to, a computer monitor, a light emitting diode (LED) display, etc. Output or visualization generated by application 109 (eg, a GUI) may be displayed on or using display 110.
[0091] The functionality of the subcomponents shown within the computing system 104 may be implemented in hardware, software, or some combination thereof. For example, a software component may be a collection of code or instructions stored on a medium, such as a non-transitory computer-readable medium (e.g., the memory of the computing system 104), which represents a series of machine instructions (e.g., program code) that implement one or more method operations. Such machine instructions may be actual computer code that the processor of the computing system 104 parses to implement the instructions, or alternatively, may be a higher-level instruction encoding that is parsed to obtain the actual computer code. One or more software modules may also include one or more hardware components. Examples of components include processors, controllers, signal processors, neural network processors, etc.
[0092] The network 105 can be of any suitable type, including a separate connection via the Internet, such as a cellular or Wi-Fi network. In some aspects, the network 105 can use a direct connection to connect terminals, services, and mobile devices, such as radio frequency identification (RFID), near field communication (NFC), Bluetooth TM , Bluetooth Low Energy TM (BLE), Wi-Fi TM 、ZigBee TM , Ambient Backscatter Communication (ABC) protocol, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security considerations may require that one or more of these types of connections be encrypted or otherwise protected. However, in some aspects, the information transmitted may not be so personal, so the network connection may be chosen based on convenience rather than security.
[0093] The network 105 may include any type of computer networking arrangement for exchanging data or information. For example, the network 105 may be the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components in the computing environment 100 to send and receive information between components of the environment 100.
[0094] Transformer Neural Networks for Player and Team Prediction in Soccer
[0095] Conventional systems can utilize machine learning models to make player and team predictions by leveraging market data. The problem with using market data alone is that it may not combine player (and intra-player interaction) and style-specific data to make accurate predictions based on factors other than the influence of a given player. Market data might include statistical odds of a particular team winning, points scored, game totals, and so on. Furthermore, market data may not account for cross-relationships between multiple groups of players or teams.
[0096] The present embodiment generally provides a transformation machine learning model and associated data feeds that receive data from multiple machine learning instances across sporting events to generate real-time outputs. The transformation machine learning model can be implemented using a hierarchy of transformation networks including GNNs that connect multiple models (e.g., feed-forward neural networks) that generate predictions for each player and team of a particular sporting event (e.g., a football game).
[0097] Furthermore, predictions made by conventional systems may not adequately capture correlations between teammates, opposing teams and players, and other contextual features (e.g., as shown below in Figure 2B ). Conventional systems including isolated models can make substantially more model calls for sporting events than systems incorporating a hierarchy of machine learning models, as described herein.
[0098] Figure 2A is a graph 200 depicting an example correlation between input features 202 and a predicted distribution 204 , according to an example embodiment. Figure 2A The input features can be configured as input to Figure 3A The predicted distribution 204 can be Figure 3A The output of the transformation-based neural network 302.
[0099] Input features 202 may include player-, team-, and match-specific features. For example, match features may include crowd size, field capacity, weather conditions, season point, and team head-to-head record. Team features may include recent form, number of days since the last game, ranking or position, coaching information, team composition, injury information, substitution information, and the like. Player features may include physiological characteristics, recent form, player statistics, player attributes (e.g., height, weight, age, etc.), player trends, player preferences, and the like. Furthermore, input features 202 may also include in-game data, such as current match statistics, player performance, substitutions, and / or time remaining in the game. For example, input features 202 may be input into the transformation neural network as a tuple of input tensors. For example, a tuple of three tensors may be provided, wherein the first tensor corresponds to all players in the game, the second tensor corresponds to the two teams in the game, and the third tensor corresponds to the game status. A given tensor may be formed by stacking single-dimensional vectors (e.g., one-dimensional tensors, such as a player tensor, a team tensor, a match tensor, etc.) to form a two-dimensional tensor. Prediction distributions 204 may correspond to predictions for each player and team in a game. Each prediction distribution 204 (e.g., distributions 204a, 204b, 204c, 204d, 204e) may correspond to a prediction for a particular player or team. For example, there may be a prediction distribution for each player and team in a game. For example, the predictions may be empirical estimates of sports statistics such as the number of shots taken, the number of goals scored, the number of passes passed, etc. The output may include an estimate of the distribution of a random variable for the number of shots. For example, the prediction distributions 204 may be output as learned embeddings by a tuple comprising a tensor.
[0100] Figure 2B is an illustration of a set of neural networks (eg, a feed-forward network (FFN) 206 ) that derive a predictive distribution 204 for a set of input features 202 , according to an example embodiment.
[0101] In some cases, a neural network may be assigned to each player and team. Figure 2B is a diagram of a neural network that derives predictive distributions from input features for each player, team, and match. Figure 2B As shown, each input feature 202 may be specific to a player, team, or match. Furthermore, a neural network (e.g., a feed-forward network (FFN) 206) may be assigned to each player, team, and match to predict the actions of each corresponding player, team, etc. (e.g., the number of shots taken during the match). However, architectures in which FFNs are assigned to each individual player and team may not interact with each other. This may prevent interaction between models, which may not capture interactions between players who are part of the same team. Figures 3A to 3D The system described in overcomes these problems.
[0102] As follows Figures 3A to 3D As described in
[15] , a neural network layer may be connected to each of multiple individual models (e.g., instances) to capture the interactions between players and teams. Such a neural network hierarchy may include a graph neural network (GNN) configured to predict one or more actions for each player, team, game, etc. Figure 2B Compared to the distributed neural network shown in Figure 3A The neural network can replace the distributed FFN model, so that Figure 3A A neural network (e.g., a GNN neural network) collectively makes all predictions. As a specific example, a transformation neural network can be used to output predictions related to a sporting event. Although this document generally discusses transformation neural networks, it should be understood that any applicable GNN or other neural network that can be interpreted using a graph can be used to implement the techniques discussed herein with reference to transformation neural networks. As discussed herein, a "graph" may refer to a network of nodes and their corresponding edges. The transformation neural network can be configured to pass information (e.g., feature vectors, predictions) between network nodes, such as those representing and / or assigned to each player, team, or similar state, to enhance the predictions made by each model, thereby taking into account game context and player interactions. The GNN can be configured to include self-attention, which allows inputs to interact with each other ("self") and determine which or which nodes they should focus on ("attention"). The GNN can be fully connected (e.g., there may be edges between each pair of nodes), and the self-attention mechanism can be configured to pass messages between pairs of connected nodes so that they can update their states. Once the node states have been updated via the mechanisms described herein, predictions can be made simultaneously for each node. For example, prediction market data determined from a separate system can be input into the transformation neural network described herein. The output of the transformed neural network may include an aggregation of interactions, including interactions related to the predicted market data.
[0103] In some cases, the model may access third-party (or market) data that provides predictions made by third-party sources. The model may also access other top-down data, such as league embedding data, referee embedding data, etc. The third-party data may be output from a separate neural network system. This market data can be input as an embedding into the transform neural network described herein.
[0104] Furthermore, Transformer Neural Networks can be used to model and predict player-to-player interactions for sporting events. As mentioned above, for each sporting event, the difference between players on the same team and players playing against that team can significantly alter a given player's predicted performance. For example, if a player is paired against a strong defensive team, the player's predicted number of passes may be lower than the overall average number of passes for that player. Transformer-based neural networks can utilize team-level features and regularize the overall prediction.
[0105] In some cases, the input to the machine learning hierarchy as described herein may include proposed changes to one or more aspects of a sporting event. For example, a request may include a proposal to replace a first player with a second player in a lineup for a soccer game. The machine learning hierarchy as described herein may include one or more natural language processing (NLP) techniques to parse the query and update features to account for the proposed changes. For example, a network node in a graph neural network may be assigned to each player and team for a soccer game. Predictions may be made for each player and team, and the graph neural network may facilitate interactions between each feedforward neural network to better account for player interactions and other game context for the sporting event.
[0106] For example, the task could be to predict the total number of shots that each player and team will take before a sporting event begins or during the duration of a sporting event. A series of input features can be acquired and processed to derive a predictive distribution for each player and team over the predicted shots.
[0107] Figure 3A An exemplary transformation-based neural network 302 for player and team predictions according to an example embodiment is included.
[0108] like Figure 3A As shown, input features 202 can be divided into bottom-up features 304 and top-down features 306. Bottom-up features 304 can include features (or feature vectors) for each player and team, while top-down features 306 can be game-specific features (or feature vectors). For example, bottom-up features 304 and top-down features 306 can be formatted as tensors, which can be defined as multidimensional data arrays. Tensors can be organized in tuples. Example tensors within a tuple can be related to player feature vectors, player strength features, team features, team strength features, real-time game features, and game context features. These input features can be described in more detail below.
[0109] Input features 202 can be fed into each node corresponding to each player, team, and game in the transformation network 302 to allow interaction between nodes. Each node included in the GNN (e.g., the transformation-based neural network 302) can derive a predictive distribution 204 for the corresponding player or team. Nodes can obtain player interactions and other predictive data generated by other nodes to enhance the predictions made by each node.
[0110] As mentioned above, GNNs allow nodes to interact with each other. These interactions can be modeled in a similar way to language modeling, which helps understand the meaning of words in a sentence. In this example, language modeling uses the meaning of the word itself and the context provided by other words in the sentence. For each word, a model can be used to understand other words in the sentence that should be considered.
[0111] The transformation-based neural network 302 can process the input features to derive the predicted distribution 204 for each player, team, and game. As an example, the predicted distribution 204 can include the predicted total number of passes for each player on each team, and the total number of passes for each team during the game.
[0112] In some cases, the transformation-based neural network 302 can make a variety of predictions (e.g., 16 types). For each player and team, example predictions provided as output by the transformation-based neural network 302 may include predicted goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards, and minutes (player only). In addition, a model call may make multiple (e.g., ~350) predictions at a given time. Features may include historical features for matches, teams, players, referees, and in-game (e.g., event count) features for teams and players.
[0113] In some embodiments, the player output generated by the bottom-up model 300 can be normalized by the total team prediction output generated by the top-down model (e.g., by the top-down features 306). For example, if the total number of predicted passes for each player on a team is 300, but the team's predicted number of passes is only 280, the player's predicted number of passes can be normalized to match the team's total of 280.
[0114] The top-down features 306 may be output from a separate machine learning system (e.g., Figure 4 Model 404 as depicted in, or as Figure 5 ). In another example, the top-down features 306 may be extracted from market information (e.g., odds for sports) or game context information and / or may be determined directly by a single or non-machine learning system. The top-down features 306 may be input into the transformation-based neural network 302, as further discussed herein. The top-down features 306 may be received via a feed (e.g., an API connected to a separate system) or input via a user-accessible interface. The top-down features 306 may align overall statistics for an entire team with information that is not present in historical data (e.g., such as information provided, at least in part, by the bottom-up features 304). The top-down features 306 may operate as a wrapper or interaction layer on top of the transformation-based neural network 302.
[0115] Thus, top-down features 306 may include one or more of the outputs of one or more machine learning models (e.g., neural networks that output team-level predictions) based on match predictions (e.g., goals, shots, shots on target, assists, passes, fouls, yellow and / or red cards, etc.), market information, and / or match context information. Such top-down features may be provided before a given sporting event (e.g., based on pre-match data) and / or may be provided during the match (e.g., based on data on actions, events, situations, states, etc. that occur during the sporting event), and may be updated throughout the given sporting event. For example, top-down features may be provided during the match based on actions or events that occur during the sporting event. Such top-down features during the match may be provided over a long period of time (e.g., upon expiration of a predetermined or dynamically determined time period) and / or may be provided upon the occurrence of a condition that triggers the top-down feature. The dynamically determined time period may be, for example, a time period that is adjusted based on an expiring time period or a given time during the match. For example, in-game top-down features may be provided at a lower frequency during the middle of a given sporting event than at a higher frequency immediately before the end of the sporting event. A condition that triggers the top-down features may be an action or event that occurs during the game (e.g., a score, a timeout, a free throw, a change of possession, a substitution, etc.). The top-down features 306 may be used to augment, update, and / or replace the prior inputs to and / or the prior predictions made by the transformation-based neural network 302 in real-time or near real-time.
[0116] As used herein, market information may refer to sports odds for a sporting event or may be based on sports odds. Odds for such sports may depend on market liquidity and / or may tend to be effective for a major market (e.g., for a team total). Odds for such sports may include the probability of a given outcome (e.g., a move), where the outcome may be a binary outcome (e.g., win or lose), a quantity (e.g., a score), an occurrence (e.g., a hole-in-one), etc. Market information may be generated (e.g., based on historical data), provided by an individual (e.g., via user input using an interface or via an API), and / or provided by one or more entities, automated systems, or individuals. According to one example, market information may be provided by multiple entities, each of which provides multiple input data points that may be used by the transform-based neural network 302 to output one or more predictions. Alternatively, the market information provided by the multiple entities may be filtered or normalized (e.g., averaged, weighted and averaged, transformed, etc.), and this filtered or normalized market information may be provided to the transformer-based neural network 302 as top-down features 306.
[0117] As used herein, game context information may refer to information related to a sporting event. Such game context information may be generated or provided by experts, expert systems, and / or specialized systems. For example, such game context information may include one or more of environmental conditions (e.g., weather conditions, natural environmental conditions, etc.), player information (e.g., injury information, mentality information, training information, travel information, health information, etc.), expert predictions (e.g., team-level predictions, player-level predictions, etc.), crowd information (e.g., crowd density, crowd size, crowd excitement, crowd demographics, etc.). Game context information may be provided by an individual (e.g., via user input using an interface or via an API) and / or may be provided by one or more entities, automated systems, or individuals.
[0118] The transform-based neural network 302 can accept input features 202 at different resolutions and in a temporal sequence. The transform-based neural network 302 can use a single transform encoder backbone to learn an embedding that is configured to predict multiple actions for each subject (e.g., each player and / or team). The transform-based neural network 302 backbone can be a series of axial transform encoder layers, where each layer alternately applies attention along the time and subject dimensions.
[0119] An exemplary objective of the transformation-based neural network 302 may be to predict the total number of actions taken by all players in a sports game at the end of the game at time step t. Each objective may be a discrete random variable Ya,p, where a is the action being predicted and p is the player. These objectives may correspond to the prediction distribution 204 of the transformation-based neural network 302. Depending on the embodiment, the transformation-based neural network 302 may be configured to not predict the joint distribution of all objectives received as input. For example, the model may not predict: p(Y): Y = {Ya,p|a∈A,p∈P}, where A is a set of actions and P is a set of players. The model may not be able to predict this for 22 players and 16 actions, as the space of possible outcomes, which is at least 2^(22×16), may be intractable.
[0120] The transformation-based neural network 302 may have been trained to predict the marginal distribution of each target. The model may utilize the following function: where Y\Ya,p represents the group of all targets except Ya,p. This allows the transformation-based neural network 302 to approximate the joint distribution and use this approximation to determine the marginal distribution of each target. This ensures consistency between the distributions of each target.
[0121] Figure 3B is used according to an example embodiment Figure 3A An exemplary model of the input tensor of the transformation-based neural network 302 in FIG. Figure 3BThe input tensor can correspond to Figure 2A and Figure 3A Input features 202.
[0122] The transformation-based neural network 302 is trained on a set of training samples X, where N = |X| is the number of training samples. The granularity of each training sample is a single game, and for each game i, there are T (i) Time step. In the match day lineup there is also P (i) players, and two teams participate in the game i.
[0123] Each training sample can be a tuple (X (i) ,Y (i) ), where X (i) is a tuple of input tensors, and Y (i) is a tuple of target tensors for game i.
[0124] The input tuple can contain the following tensors:
[0125] is a tensor of real-time player features, where D 球员 is the dimension of the player feature vector. The features contain indicative features for the player's position and team, as well as a running total of moves that have been made by the player.
[0126] is a tensor of player strength characteristics, where D 球员-实力 is the dimension of the player strength feature vector. The player strength feature can be configured to capture the player's prior strength and is primarily an aggregated statistical representation of the player's actions in previous games, such as, for example, the average number of passes in the previous 5 games, the maximum number of fouls in the previous 10 games, etc. Additionally, there are features for the time since the last game, the distance from the player's home court, and the distance from the previous game position.
[0127] is a tensor of real-time team features, where D 球队 is the dimension of the team feature vector. The features contain indicator features for the team, as well as a running total of moves that have been made by the team, similar to real-time player features.
[0128] is a tensor of team strength characteristics, where D 球队-实力 is the dimension of the team strength feature vector. Team strength features are mainly aggregated statistics of the team’s actions in previous games, similar to player strength features.
[0129] is a tensor of real-time game status features, where the feature vector has dimension D 比赛 The Game Status feature contains properties of the current event, such as event type, game clock time, and event location.
[0130] is of dimension D 比赛-上下文 The event context features capture the context in which the game is played, such as indicators of the competition (such as the league the game belongs to), the duration of the game, etc.
[0131] The above input tensor X (i) Each of the Figure 3A Input features 202.
[0132] according to Figure 3B The input tensor X (i) It can be arranged along the time and subject dimensions. Columns can represent subjects (e.g., corresponding tensors for players, teams, and matches), and rows can represent the temporal aspects of the match. Column 312 represents the initial input to the aforementioned tensors. Column 314 depicts how the input tensors are provided over time throughout the match.
[0133] Check the input of the transformation-based neural network 302 (e.g., the input tensor X (i) ), the features are not copied. By tensor X (i) Each feature provided as input can be categorized by its granularity. For example, the granularity can be (1) player level, (2) team frame level, and / or (3) match level. Each granularity can be represented by a tensor within a tuple received by the transform neural network. The transform-based neural network 302 can rely on attention to learn which features at each granularity are relevant to the prediction of other granularities (e.g., how important is the current game state for predicting a particular player).
[0134] Target tuple Y (i) Contains tensors for each of the modeled actions for each player and / or team. For a given action a, the target tensor contains the tensors for The remaining number of actions for each player in . For example, a can represent the number of shots, which is calculated for time steps ∈[1,T (i) ], and player p∈[1,p (i) ],Y a (i) can represent the number of shots remaining for player p at time step 5. The count of remaining actions can be used as the ground truth rather than the total count, as this facilitates making distributional assumptions, in particular using a Poisson distribution for the interval [t,T (i) ] to model the remaining actions in the target tuple Y. (i) can be used for training, and the tuple Y(i) May correspond to the predicted distribution 204 of the transformation-based neural network 302 .
[0135] Figure 3C According to an example embodiment, Figure 3A 316 of an exemplary model of a transform-based neural network 302 with a linear embedding layer 317, a transform encoder layer 318, and a fully connected layer 319. The embedding layer 317 can map the input component tensors into a tensor with a common feature dimension. The transform encoder layer 318 can perform attention along the time and subject dimensions. The fully connected layer 319 can map the output embedding from the previous transform layer into a tensor with the requested feature dimension for each target metric.
[0136] Examining the embedding layer 317, the embedding layer 317 may contain a linear block for each input tensor, and each block may map the input tensor into a tensor with a common feature dimension D. For example, for the player input tensor, the linear block may be represented by the following function:
[0137]
[0138] The output of a linear layer can be a tuple of tensors, each of which has a common feature dimension, and they can be concatenated along the time and body dimensions to form a single tensor:
[0139]
[0140] Next, the tensor can be passed to the transform encoder layer 318 (e.g., a series of L axial transform encoder layers, e.g., time linear embedding 321). The axial encoder layer accepts a tensor of dimension 3 and applies attention first along the time dimension and then along the body dimension. During the training phase, an autoregressive attention mask is applied (i.e., an upper triangular mask with an offset of 1) so that elements at a time step in a layer can only attend to previous time steps. This may be followed by standard feedforward, layer normalization, and skip connections, such as Figure 3D As described in .
[0141] Figure 3D including according to example embodiments, Figure 3A An exemplary model 320 of an axial attention layer of a transformation-based neural network 302. The model 320 may be located at Figure 3C within the transform encoder layer 318 of .
[0142] The temporal attention step 322 may allow agent j in time step i to pay attention to the previous time step [1..i-1]. The agent attention step 324 may allow agent j in time step i to pay attention to all other agents in the current time step (e.g., to other players, teams, and game status). Next, in the residual connection and layer normalization (the add and norm) step 326, the model may apply layer normalization to the sum of the sub-layer inputs and outputs to update and stabilize the model. Next, a feedforward processing step 328 and a further residual connection and layer normalization step 330 may be applied.
[0143] The attention mechanism implemented by the Transform Encoder layer 318 can have a graphical interpretation on a dense graph, where each element is a node and the attention mask is the inverse of the adjacency matrix defining the edges between nodes (thus, the absence of the attention mask implies a fully connected graph). In the case of axial attention, with attention masking along the time (row) dimension, the nodes in the graph can be arranged in a grid, with each node connected to all nodes in the same column and to all previous nodes in the same row. In this case, attention can be message passing, where each node receives messages describing the state of its neighboring nodes and then updates its own state based on these messages. This attention scheme can mean that when making predictions for a particular player, the model may consider (i.e., attend to): nodes containing the player's previous states along the time series; and nodes containing the states of other players, teams, and the current game state at the current time step. Nodes do not need to be homogeneous, other than having the same feature dimension; so a node representing a player can receive messages from a node representing their team or from a node representing the player's strength. Thus, the model can learn interactions between agents and ensure consistent predictions for each agent along the time series.
[0144] Since the transform encoder layer 318 includes two or more layers, the state of any node can indirectly be aware of the input states of all other nodes, except for nodes in subsequent time steps. This eliminates the need to copy any information in the input and thus supports Figure 3B A valid input representation of a tensor described in .
[0145] Transform Encoder Layer The output of is a tensor of the same shape as the input, so the layer is represented as a function of:
[0146]
[0147] The output embedding of the previous layer can be used as the input of the current layer. Later in E L (i)Each vector of the final output of [i, j,∶] can be the embedding of agent j at time step i, which has been updated by the attention layer to contain information from all input features up to and including the current time step. This embedding can then be used to directly make predictions for the desired target.
[0148] The final layer of the transform-based neural network 302 may be a fully connected layer 319. These layers may map the output embeddings of the final transform layer of the transform encoder layer 318 to the feature dimensions of each target metric. Perhaps only the player predictions for each in-game event are required, and the output embeddings Z may be used. (i) =E L (i) The input to the Linear layer is a slice of [1; 4; :]. For example, if the goal is the final goal count of a player and the model uses a Poisson distribution, you may want to estimate a single parameter λ for each player at each time step. The Linear layer can be a function like:
[0149]
[0150] Different distributional assumptions can be made, and the only difference in the models may be the output parameter dimensions of the corresponding linear layers. The transformation-based neural network 302 described herein can utilize assumptions including: Bernoulli, Poisson, log-Gaussian, and "model-free" discrete distributions.
[0151] Training of the transformation-based neural network 302 is further described herein. A corresponding loss function can be selected for each distribution hypothesis of the output target. For example, the loss function can be the Poisson negative log-likelihood for a Poisson distribution, the binary cross-entropy for a Bernoulli distribution, etc. During training, the loss can be calculated based on the ground truth value of each target in the training set, and the loss values can be summed, and the model weights can be updated using an optimizer based on the total loss. The learning rate can be adjusted using a cosine annealing schedule without the need for warm restarts.
[0152] As discussed above, the transformation-based neural network 302 may be configured to receive top-down features 306 as input. Figure 4 Depicted is an exemplary top-down prediction model 404. The output of the top-down prediction model 404 may be a top-down feature 306 input that the transformation-based neural network 302 may receive.
[0153] For example, before a sporting event occurs, a predictor can use team-level features and regularize predictions of the total number of upcoming events. Top-down models can be incorporated into neural networks to generate initial predictions based on match context information. Furthermore, in some cases, top-down models can retrieve and / or utilize third-party (or "market") prediction information to compare with predictions generated as described herein, thereby improving the accuracy of prediction generation.
[0154] More specifically, Figure 4 Depicted is a process 400 of an example top-down prediction model 404 according to an example embodiment. Figure 4 As shown, a top-down prediction model 404 can obtain game context information 402. Game context information 402 can be derived from a source of pre-game information 408. Pre-game information 408 can include historical information related to each team identified as part of the upcoming game, such as historical team pass feature data 410, historical team home / away pass features 412, and historical team pass-and-miss features 414. Pre-game information 408 data can be obtained from one or more data sources, and the data can be combined to create a set of game context information 416. Game context information 416 can refer to compiled pre-game information 408, which can be configured to be received by a neural network. For example, the game context can be input as a single vector. It should be understood that the game context 402 features provided herein are merely examples, and one or more other game context 404 features can be used based on the type of game, input data, pre-game information 408, etc.
[0155] The combined game context information 416 may be provided to the neural network model 404. For example, the neural network model 404 may utilize machine learning techniques such as linear regression, logistic regression, random forest, gradient boosting machine (GBM), deep learning, and / or deep neural networks. The neural network model 404 may process the feature vectors included in the game context information 416 for each team to derive one or more specified predictions 406 for each team. For example, the output may include predictions 406 that include the number of passes 420 for the first team at the end of the game and the number of passes 422 for the second team at the end of the game. These predictions 406 may be organized into features and fed as top-down features 306 to the neural network model 404. Figure 3A In the transformation-based neural network 302.
[0156] In addition, the top-down prediction model can be extended to in-game predictions. For example, a prediction model as described herein (e.g., model 404) can update predictions during a game to take into account contextual information that occurs during the game.
[0157] Figure 5FIG. 5 is a flow chart 500 of an example top-down prediction model 504 during an example sports game according to an example embodiment. Figure 5 As shown, game context information 502 may include both pre-game information 508 and in-game information 510. For example, pre-game information 508 may include historical information such as each team's historical passes per second and each team's pass percentage. For example, in-game information 510 may include a team's passes per second, goal difference, and red card differential during the game. Pre-game information 508 and in-game information 510 may be combined to create game context information 502. A top-down prediction model 504 may take the game context and generate a prediction 506 for the remainder of the game. For example, prediction 506 may include remaining game passes per second or a team's pass percentage (e.g., a prediction of what portion of the total passes a team will execute in the game).
[0158] Prediction 506 can be combined with current game statistics to generate output 507 for the remainder of the game. Output 507 can include predictions based on the game, such as the remaining passes of the game (e.g., remaining game passes per second and remaining seconds). Prediction 506 can also include predictions based on teams, such as the remaining passes of team 1 (remaining game passes per second, remaining seconds, and the passing ratio of team 1). Output 507 can also include predictions such as the remaining passes of team 2 (remaining game passes per second, remaining seconds, and the passing ratio of team 1). For example, output 507 can be dynamically updated as the game progresses, and the top-down prediction model 504 can obtain new information, such as the remaining seconds in the game and the current statistics of the game. Therefore, prediction 506 can be a point-in-time prediction that can be updated within the entire duration of a given game. Prediction 506 can be based at least in part on time-based inputs (e.g., elapsed time, remaining time, team possession time, etc.).
[0159] In some cases, in-game predictions can be performed by updating pre-game predictions using a decay function. A pre-game prediction can be generated, and then, to obtain a real-time in-game prediction, the number of minutes in the game can be considered as part of the decay function. For example, in-game prediction = pre-game prediction * (90–60) / 90 + actual event count at 60 minutes. As another example, in-game prediction = (100 passes) * (90–60) / 90 + (50 passes so far) = 85.5 passes.
[0160] In some cases, exceptions can be made when a player is sent off due to a red card or substituted from the match. In these cases, the "prediction" can be the actual number up to that moment. For example, for in-match team predictions, the model could predict the final pass count for each team during the match.
[0161] As an illustrative example, a system as described herein may dynamically update predictions (eg, the total number of passes in a game) as the game progresses. Figure 6 6 is an example graphical representation of the predicted number of passes and the actual number of passes during a sporting event. The graphical representation 600 shows the number of passes (y-axis 602) as a function of time (game minutes along the x-axis 604). First, the number of major events for each team can be tracked. For example, major events can include goals, as depicted by circles, or red cards, as depicted by squares, which are tracked with the corresponding time each major event occurs. Each major event can modify the prediction, such as a red card reducing the predicted number of passes (e.g., as shown in 606).
[0162] Graphical representation 600 may also include a current actual pass total 610 as the game progresses and a final actual pass total 608. As the game progresses, the model described herein may be updated so that the predicted pass count more closely matches the current actual pass count and the final pass total at the end of game time.
[0163] Cloud computing pipeline
[0164] The cloud computing pipeline can use a processing pipeline to generate pre-game and / or in-game predictions. The processing pipeline can include a series of processing steps, which are also described as "Lambdas". Such processing steps or Lambdas can refer to programming language features that can create functions. For example, a processing pipeline can include 6 processing steps, where the goal of the pipeline is to respond to a specific event, trigger a model, generate a prediction, and send the prediction to a defined client. For example, you can use Figures 7 to 11 The exemplary processing steps depicted in Figures 3A to 3D Transformation-based neural networks.
[0165] The first processing step may include a trigger processing step that may trigger the pipeline. For example, the trigger processing step may include checking at a given or dynamic duration (e.g., every hour or every minute) whether any sporting events are scheduled to start within a specified time window (e.g., 11 to 12 hours before the start of the game) or in real time.
[0166] When a relevant atomic action related to the game is detected (e.g., a goal, a foul, a lineup announcement, etc.), such as when a game is about to start, when a game is live, when a game lineup is provided, or when the odds of a game change, the trigger processing step can trigger the model to generate a prediction for the event.
[0167] Figure 7 is an example process 700 for trigger processing step 702. Figure 7As shown, the trigger processing step 702 can periodically check a source (e.g., a data platform (Gold Standard Data Platform GSDP), Redshift Machine Learning Platform) at a first time (e.g., every hour 706) and periodically check a database (e.g., DynamoDB) at a second time (e.g., every minute 704). The trigger processing step 702 can obtain data from various sources (e.g., odds data source 708, data source 710, attribute activity match lookup 712) to determine whether a new event has been triggered.
[0168] The feature creator process step can be triggered by the trigger process step and can initiate the creation of a feature (or update a created feature) for an event. For example, if a game is in the upcoming window or a new lineup is available, the feature creator process step can query data from the data platform to create a feature and save the feature in the database.
[0169] Figure 8 is an example flow 800 for the feature creation process step 802. Figure 8 As shown in , the feature creator process step 802 can be triggered by the trigger process step 702 and can generate features for the game, as described herein. The system can obtain historical data for each player and team to generate features for the game. The feature creator process step 802 can query data from a data platform (e.g., GSDP Redshift 806) and save the features in a database (e.g., feature storage device 808). These features can then be automatically transferred and sent to Figure 3A Transformation-based neural network 302.
[0170] In response to the created (or updated) features, the attribute predictor process step can be triggered by both the trigger process step and the feature creator process step. The attribute predictor can retrieve features from the feature store, send the features to a third-party API, receive predictions from the API, and send the predictions to the data platform, which can then be forwarded to another platform.
[0171] Figure 9 is an example flow 900 of the attribute predictor processing step 902. Figure 9 As shown, the trigger processing step 702 and the feature creator processing step 802 may trigger the attribute predictor processing step 902. The attribute predictor processing step 902 may retrieve features from the feature store 808 and provide the features to the API 904. Predictions from one or more third-party sources may be obtained via the API 904 and may be fed into the data platform 906.
[0172] The team attribute predictor process step may be triggered by both the trigger process step and the feature creator process step in response to the created (or updated) features. The team attribute predictor process step may retrieve features (and in some cases, third party predictions) from the feature store, derive team predictions, and store the predictions in the prediction store. The team predictions may be made by a top-down model as described herein (e.g., as described in Figure 4 and Figure 5 as depicted in ).
[0173] Figure 10 1000 is an example process flow of a team attribute predictor process step 1002. The team attribute predictor process step 1002 may be triggered by either the trigger process step 702 or the feature creator process step 802. In addition, the team attribute predictor process step 1002 may retrieve features from the feature store 808, derive team predictions, and provide the predictions to the prediction store 1004 and the data platform 1006.
[0174] The player attribute predictor processing step may be triggered by generating team predictions by a team attribute predictor processing step, e.g., 1002. The player attribute predictor may take features and team predictions and may generate player predictions using a bottom-up model as described herein.
[0175] Figure 11 1100 is an example flow chart of player attribute predictor processing step 1102. Figure 11 As shown, the trigger processing step 702 and the feature creator processing step 802 may trigger the team attribute predictor processing step 1002. The team attribute predictor processing step 1002 may trigger the player attribute predictor processing step 1102. The player attribute predictor processing step 1102 may obtain the team predictions generated by the team attribute predictor processing step 1002 (e.g., from a prediction storage device) and the features previously generated for the sporting event (e.g., from 808). The player attribute predictor processing step 1102 may also generate player predictions using a bottom-up model as described herein (e.g., using Figure 3A The player predictions may be stored in a prediction storage device 1004.
[0176] The combined attribute predictor process step may be triggered by the player attribute predictor process step (e.g., 1102) generating player predictions. The combined attribute predictor may obtain team predictions and player predictions and may combine predictions for a sporting event. The combined attribute predictor process step may normalize the player predictions based on the corresponding team predictions.
[0177] Figure 12 is an example flow 1200 of combining attribute predictors processing step 1202. Figure 12 As shown, trigger processing step 702 and feature creator processing step 802 may trigger team attribute predictor processing step 1002. Team attribute predictor processing step 1002 may trigger player attribute predictor processing step 1102. Player attribute predictor processing step 1102 may trigger combined attribute predictor processing step 1202. Combined attribute predictor processing step 1202 may retrieve team predictions and player predictions from prediction storage 1004 and may normalize the player predictions based on the team predictions, as described herein. Combined attribute predictor processing step 1202 may interact with data platform 1206 to generate a combined prediction, and the combined prediction may be stored in the prediction storage.
[0178] Figure 13 is an example process 1300 for generating predictions for teams and players associated with a sporting event according to an example embodiment. For example, the process 700 may be performed by Figures 3A-3D Transformation-based neural networks 302 and Figure 4 Top-down prediction model 404 or Figure 5 The top-down prediction model 504 is used to perform.
[0179] At step 1302, one or more top-down predictions for a sporting event may be generated by a first neural network, the top-down predictions being team-level predictions. The one or more top-down predictions may be generated by incorporating at least one historical team information or market information as input into the first neural network. The team-level predictions may be predictions of one or more of goals, shots, shots on target, assists, passes, fouls, and yellow cards or red cards for a team in a match.
[0180] At step 1304 , the top-down predictions may be provided to a computing system as one or more top-down feature vectors.
[0181] At step 1306, the computing system may receive a second set of feature vectors, the second set of feature vectors including data for one or more players associated with one or more corresponding teams and data for one or more teams associated with the sporting event. The data for the one or more players may include movements of one or more subjects on the playing field received from the tracking device.
[0182] At step 1308, the one or more top-down feature vectors and the second set of feature vectors may be input into a transform-based neural network. The transform-based neural network may include a set of embedding layers; a transform encoder layer; and a fully connected layer.
[0183] At step 1310, one or more predictions for the sporting event may be generated based on the one or more top-down feature vectors and the second set of feature vectors.The one or more predictions for the sporting event may be displayed on a display device.
[0184] Additionally, updated data for one or more players or teams may be received from the tracking device. The updated data may be provided to one or more of the first neural network or the transformation-based neural network. One or more updated predictions for the sporting event may be generated based on the updated data.
[0185] A trigger processing step may be used to access the data platform at set time intervals to determine when a sporting event occurs. A feature creator processing step may be used to create a second set of feature vectors by querying data from the data platform.
[0186] Overview of Neural Network Training and Computation Systems
[0187] Figure 14 A flowchart for training a machine learning model according to one aspect is depicted. Figure 14 As shown in flowchart 1410 of , training data 1412 may include one or more of stage inputs 1414 and known results 1418 associated with the machine learning model to be trained. Stage inputs 1414 may come from any applicable source, including the components or sets shown in the figures provided herein. For machine learning models generated based on supervised or semi-supervised training, known results 1418 may be included. Unsupervised machine learning models may be trained without using known results 1418. Known results 1418 may include known or expected outputs for future inputs that are similar to or in the same category as stage inputs 1414 that do not have corresponding known outputs.
[0188] Training data 1412 and training algorithm 1420 may be provided to training component 1430, which may apply training data 1412 to training algorithm 1420 to generate a trained machine learning model 1450. According to one embodiment, comparison results 1416 may be provided to training component 1430, which compares previous outputs of the corresponding machine learning model to apply the previous results and thereby retrain the machine learning model. Training component 1430 may use comparison results 1416 to update the corresponding machine learning model. Training algorithm 1420 may utilize machine learning networks and / or models, including but not limited to deep learning networks such as deep neural networks (DNNs), convolutional neural networks (CNNs), fully convolutional networks (FCNs), and recurrent neural networks (RCNs), probabilistic models (such as Bayesian networks and graphical models), and / or discriminative models (such as decision forests and maximum margin methods). The output of flowchart 1400 may be trained machine learning model 1450.
[0189] The machine learning models disclosed herein can be trained by adjusting one or more weights, layers, and / or biases during a training phase. During the training phase, historical or simulated data can be provided to the model as input. The model can adjust one or more of its weights, layers, and / or biases based on such historical or simulated information. The adjusted weights, layers, and / or biases can be configured with a production version of the machine learning model (e.g., a trained model) based on the training. Once trained, the machine learning model can output the output of the machine learning model according to the subject matter disclosed herein. According to one embodiment, one or more machine learning models disclosed herein can be continuously updated based on the use or implementation of the output of the machine learning model.
[0190] It will be understood that the various aspects of the invention are merely exemplary and that other aspects may include various combinations of features from other aspects, as well as additional or fewer features.
[0191] Generally, any process or operation understood as being computer-implemented as discussed in the present invention, such as the process shown in the flowchart disclosed herein, can be performed by one or more processors of a computer system, such as any one of the systems or devices in the exemplary environment disclosed herein, as described above. The process or process steps performed by one or more processors may also be referred to as operations. One or more processors may be configured to perform these processes by accessing instructions (e.g., software or computer-readable code) that, when executed by one or more processors, cause one or more processors to perform the process. Instructions may be stored in a memory of a computer system. The processor may be a central processing unit (CPU), a graphics processing unit (GPU), or a processing unit of any suitable type.
[0192] A computer system, such as the system or device implementing the processes or operations in the examples above, may include one or more computing devices, such as one or more of the systems or devices disclosed herein. The one or more processors of the computer system may be included in a single computing device or distributed across multiple computing devices. The memory of the computer system may include a corresponding memory for each of the multiple computing devices.
[0193] Figure 1515 is a simplified functional block diagram of a computer 1500 that can be configured as an apparatus for performing the methods disclosed herein according to exemplary aspects of the present invention. For example, according to exemplary aspects of the present invention, the computer 1500 can be configured as a system. In various aspects, any of the systems herein can be a computer 1500 that includes, for example, a data communication interface 1520 for packet data communication. The computer 1500 can also include a central processing unit ("CPU") 1502 in the form of one or more processors for executing program instructions. Although the computer 1500 can receive programming and data via network communications, the computer 1500 can include an internal communication bus 1508 and a storage unit 1506 (such as a ROM, HDD, SDD, etc.) that can store data on a computer readable medium 1522.
[0194] Although the instructions 1524 may be temporarily or permanently stored in other modules of the computer 1500 (e.g., the processor 1502 and / or the computer-readable medium 1522), the computer 1500 may also have stored therein instructions for performing the techniques presented herein, such as those related to Figure 13 Memory 1504 (such as RAM) for instructions 1524 for the described methods. Computer 1500 may also include input and output ports 1512 and / or a display 1510 for connecting to input and output devices, such as a keyboard, mouse, touch screen, monitor, display, etc. Various system functions can be implemented in a distributed manner on multiple similar platforms to distribute the processing load. Alternatively, the system can be implemented by appropriately programming a single computer hardware platform.
[0195] The programmatic aspects of this technology can be considered a "product" or "article of manufacture," which typically takes the form of executable code and / or associated data carried on or embodied in a type of machine-readable medium. "Storage" media include tangible memory of a computer, processor, or the like, or its associated modules, such as any or all of various semiconductor memories, tape drives, disk drives, etc., which can provide non-transitory storage for software programming at any time. Sometimes, all or part of the software can be communicated via the Internet or various other telecommunications networks. For example, such communication can enable software to be loaded from one computer or processor to another, such as from a management server or host of a mobile communication network to a server's computer platform and / or from a server to a mobile device. Therefore, another type of medium that can carry software elements includes optical, electrical, and electromagnetic waves, such as those used across physical interfaces between local devices, through wired and fiber optic route networks, and through various air links. Physical elements that carry such waves, such as wired or wireless links, fiber optic links, etc., can also be considered as media that carry software. As used herein, unless restricted to non-transitory, tangible "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
[0196] Although the disclosed methods, apparatus, and systems are described with exemplary reference to transmitting data, it should be understood that the disclosed aspects are applicable to any environment, such as a desktop or laptop computer, an automobile entertainment system, a home entertainment system, etc. Furthermore, the disclosed aspects are applicable to any type of Internet protocol.
[0197] It should be understood that in the above description of exemplary aspects of the invention, various features of the invention are sometimes grouped together in a single aspect, figure, or description thereof to simplify the invention and aid in understanding one or more of the various inventive aspects. However, this approach to the invention should not be interpreted as reflecting an intention that the claimed invention requires more features than those expressly recited in each claim. On the contrary, as reflected in the following claims, various aspects of the invention exist in features that are less than all of the features of a single aforementioned disclosed aspect. Therefore, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim existing independently as a separate aspect of the invention.
[0198] Furthermore, although some aspects described herein include some features included in other aspects and not other features, combinations of features from different aspects should be within the scope of the present invention and form different aspects, as will be understood by those skilled in the art. For example, in the following claims, any of the claimed aspects can be used in any combination.
[0199] Thus, while certain aspects have been described, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended that all such changes and modifications fall within the scope of the invention. For example, functionality may be added or deleted from the block diagrams, and operations may be interchanged between functional blocks. Operations may be added or deleted from the methods described within the scope of the invention.
[0200] The subject matter disclosed above should be considered illustrative, not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments that fall within the true spirit and scope of the invention. Therefore, to the maximum extent permitted by law, the scope of the present invention should be determined by the broadest permissible interpretation of the following claims and their equivalents, and should not be restricted or limited by the foregoing detailed description. Although various embodiments of the present invention have been described, it will be apparent to those skilled in the art that more embodiments may be within the scope of the present invention. Therefore, the present invention is not limited except in accordance with the appended claims and their equivalents.
Claims
1. A method for generating predictions for teams and players associated with a sporting event using a transformation neural network, the method comprising: Receives a set of input features representing a set of players and teams in a game, each input in the set of input features being represented by a tensor; The set of input features is input into a transformation neural network, which includes: A set of embedding layers; a transform encoder layer; and Fully connected layers; and A set of goal metric predictions is generated for the set of players and teams within the match using the transformation neural network.
2. The method of claim 1 , wherein each tensor within the set of input features corresponds to one of a plurality of levels of granularity, the level of granularity indicating that the tensor belongs to a category of player level, team framework level, or match level.
3. The method of claim 1 , wherein the set of input features comprises: a first tensor of real-time player features indicating the player's position and team and a running total of moves performed by a player in the set of players; a second tensor of player strength features indicating player aggregated statistics of said player's actions in a set of previous matches; a third tensor of real-time team features indicating a running total of moves performed by a team in the set of teams within the match; a fourth tensor indicating the team strength characteristics of the aggregated statistics of the teams in the previous games of the group; a fifth tensor indicating real-time game status features of game attributes including at least one of event type, game clock time, or event location; as well as A sixth tensor of match context features indicating the league in which the match occurred and a time associated with the match.
4. The method of claim 1 , wherein inputting the set of input features into the transformation neural network further comprises: The set of input features is mapped into a set of tensors having a common feature dimension using the set of embedding layers, wherein the set of embedding layers comprises a linear layer for each input in the set of input features.
5. The method of claim 4, wherein inputting the set of input features into the transformation neural network further comprises: The transform encoder layer receives a set of mapping tensors having a common feature dimension from the set of embedding layers; as well as The transform encoder layer is used to compute self-attention along time and subject dimensions on the group of mapped tensors having a common feature dimension to generate a transform encoder layer embedding.
6. The method of claim 5, wherein inputting the set of input features into the transformation neural network further comprises: The transform encoder layer embedding is mapped to a tensor corresponding to a target metric using the fully connected layer. The method of claim 1 , wherein creating a set of input features occurs automatically upon detecting that the sporting event is scheduled.
8. The method according to claim 7, wherein the feature The creator process step begins by creating the set of input features for the sporting event when querying data from the data platform.
9. The method of claim 1, wherein the target metric prediction comprises: Goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards and / or minutes for one or more of the players.
10. The method of claim 1, wherein the set of predictions generated for at least one action specific to each player or team associated with the sporting event is updated temporally during the game.
11. A system for generating predictions for teams and players associated with a sporting event using a transformation neural network, the system comprising: a non-transitory computer-readable medium configured to store processor-readable instructions; as well as a processor operably connected to the non-transitory computer-readable medium and configured to execute the instructions to perform operations comprising: Receives a set of input features representing a set of players and teams in a game, each input in the set of input features being represented by a tensor; The set of input features is input into a transformation neural network, which includes: A set of embedding layers; a transform encoder layer; and Fully connected layers; and A set of goal metric predictions are generated for the set of players and teams within the game using the transformation neural network.
12. The system of claim 11, wherein each tensor within the set of input features corresponds to one of a plurality of levels of granularity, the level of granularity indicating that the tensor belongs to a category of player level, team framework level, or match level.
13. The system of claim 11, wherein the set of input features comprises: a first tensor of real-time player features indicating the player's position and team and a running total of actions performed by a player in the set of players; a second tensor of player strength features indicating player aggregated statistics for said player's actions in a set of previous matches; a third tensor of real-time team features indicating a running total number of actions performed by a team in the set of teams within the match; a fourth tensor indicating the team strength characteristics of the aggregated statistics of the teams in the previous games of the group; a fifth tensor indicating real-time game status features of game attributes including at least one of event type, game clock time, or event location; as well as A sixth tensor of match context features indicating the league in which the match occurred and a time associated with the match.
14. The system of claim 11 , wherein inputting the set of input features into the transformation neural network further comprises: The set of input features is mapped to a set of tensors having a common feature dimension using the set of embedding layers, wherein the set of embedding layers includes a linear layer for each input in the set of input features.
15. The system of claim 14, wherein inputting the set of input features into the transformation neural network further comprises: The transform encoder layer receives a set of mapping tensors having a common feature dimension from the set of embedding layers; as well as The transform encoder layer is used to compute self-attention along time and subject dimensions on the group of mapped tensors having a common feature dimension to generate a transform encoder layer embedding.
16. The system of claim 15, wherein inputting the set of input features into the transformation neural network further comprises: The transform encoder layer embedding is mapped to a tensor corresponding to a target metric using the fully connected layer.
17. The system of claim 15, wherein creating a set of input features occurs automatically upon detecting that the sporting event is scheduled.
18. The system of claim 15, wherein the target metric prediction comprises: Goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards and / or minutes for one or more of said players.
19. A non-transitory computer-readable medium configured to store processor-readable instructions, wherein when executed by a processor, the instructions perform operations comprising: Receives a set of input features representing a set of players and teams in a game, each input in the set of input features being represented by a tensor; The set of input features is input into a transformation neural network, which includes: A set of embedding layers; a transform encoder layer; and Fully connected layers; and A set of goal metric predictions are generated for the set of players and teams within the game using the transformation neural network.
20. The non-transitory computer-readable medium of claim 19, wherein the target metric prediction comprises: Goals, assists, shots, shots on target, passes, fouls, yellow cards, red cards and / or minutes for one or more of the players.