I have a lot of sentences (500k) which looks like this:
"Penalty missed! Bad penalty by Felipe Brisola - Riga FC - shot with right foot is very close to the goal. Felipe Brisola should be disappointed."
"Penalty saved! Damir Kojasevic - Sutjeska Niksic - fails to capitalise on this great opportunity, shot with right foot saved in the centre of the goal."
"Penalty saved! Stefan Panic - Riga FC - fails to capitalise on this great opportunity, shot with right foot saved in the centre of the goal."
"Penalty saved! Georgie Kelly - Dundalk - fails to capitalise on this great opportunity, shot with right foot saved in the centre of the goal."
"Penalty missed! Still FC København 1, Crvena Zvezda 1. Marko Marin - Crvena Zvezda - hits the bar with a shot with right foot."
As you see, they are not really robotic, and after ending up writing 1500 lines of php code (with regex) and still being inconsistent, I decided to see my alternatives with machine learning.
What I am trying to achieve is:
For example this one:
"Penalty saved! Stefan Panic - Riga FC - fails to capitalise on this great opportunity, shot with right foot saved in the centre of the goal."
type => penalty
action => saved
reason => shot with right foot saved in the centre of the goal
person => Stefan Panic
I stumbled upon spaCy and saw "Named Entity Recognition" and thought maybe I can use it for this purpose. Especially as I have huge training data.
I wanted to ask: Is spaCy's Named Entity Recognition is right for this task? If not, what should I try to learn for this task?
P.S: I know a little about python but nothing about ML