The input is in the form of a stream of ordered coordinate positions of the players and the ball in finite time steps.
2 4 5 6 3 1 5 0 2 9 3 8 2 2 .........
This represents a unit of input for a match consisting of 2 teams of
3 players each. The players according to the order in which their coordinates
are given will be given names. For example : The first 2 numbers represent
the coordinates of the first player of the team on the left. He will be
called as A. The next 2 numbers represent the coordinates of the next player
of the same team and will be called as B. The 4th set of 2 numbers represent
the coordinates of the first player of team on the right and will be called
as X and so on. The 7th set of 2 numbers represent the coordinates of the
ball. The next 7 sets of 2(not shown here) will represent the coordinates
at the next time instant.
More Primitives :
Good Pass : Good pass (based on difficulty in passing, not based on the status of the play) will be decided by the angle included by 2 players of the opposite team through which the player has to give a pass to his team mate. Low value of this angle would imply a good pass as shown in the figure :
Dodge or dribble : As in the figure, such an event will start when a
a player of opposite team comes within the semi circle of the player
in possession of the ball. Later, the player with the ball may either change
direction quickly or kick the ball ahead, run after the ball and get possession
of the ball. Once this player gets possession of the ball without any other
player taking the ball in between and no other player lies within the instantaneous
semi-circle of the player, successful dribbling will be detected.
Strike at goal : This would be detected if ball was in possession of
opposite team and later the direction of the ball leads to within a range
of the goal and the quotient of the ball speed to the distance from the
goal line is above a threshold.
(Ball near the goal would need a lesser speed for being a strike at
the goal than when far).
Compounded primitives :
Good move : This would be detected if the ball in possession of a team has moved a significant distance from their side to the opposite side near the opposite goal and during this process the sum of the number of short passes and the number of dodges is above a threshold.
Player role : This would be decided by the position of the player during most part of the played part of the match. This is not basically a part of the commentary, but can be used to denote a player instead of his name to add interest in the commentary.
Strategy based probabilistic prediction of later events : This is based on the assumption that there is a fixed, strategic sequence of moves that a team most often follows. The field is divided into 7 strategic regions as shown in the figure :
Given that a player has ball in a particular region, the course of the play has to be predicted. Now a player in a region can either run with the ball in the same region or to another region or pass the ball to a team mate in the same region/another region. Based on the regularity with which a player follows one of these courses, team strategy is decided. By feeding the earlier part of a match or a different match/matches of the same team and assuming their follow a consistent plan of action, the probability of all possible courses can be found out. Therefore, a particular course of offense can be predicted for a team if it is feasible. After one step, a similar process can find the next probable course and an entire sequence of moves can be predicted.
Here, the term feasible implies that if a pass from player X in region 1 to player Y in region 3 is highly probable then the player Y has to be in that region if the commentary has to predict this.
Thus if the next probable step is that player Y makes a long pass to
player Z in region 7, who makes a strike at the goal with a high probability,
then the automatic commentator can suggest this course of moves or even
suggest the next probable one if the first is not feasible. This prediction
can be for 1 step, 2 steps or more number of steps.
For the source code of this project CLICK HERE