I am able to extract person names using Spacy NER model but it includes the lawyer/police/or everyone else who is a human.My problem is to extract the name of the person who is an accused/convicted/or has committed the crime based on news article.
e.g. the below nes article https://www.channelnewsasia.com/news/world/turkey-frees-opposition-figure-pending-terrorism-trial---anadolu-11095480
ANKARA: A Turkish court on Monday ordered the release on bail of a former opposition lawmaker while he is being tried on terrorism-related charges, state-owned Anadolu news agency said.
Eren Erdem, who lost his seat in mid-2018 elections that granted President Tayyip Erdogan sweeping new powers, has been jailed since June and accused of publishing illegal wiretaps while editor of an opposition newspaper in 2014.
He denies charges of assisting followers of U.S.-based cleric Fethullah Gulen, who is accused of orchestrating a failed 2016 putsch.
Eren Erdem is the prime accused and I need only this name but Spacy model extracts all the people names Tayyip Erdogan(president) Fethullah Gulen Enis Berberoglu Tuvan Gumrukcu etc
I need the name of the criminal not president or police.
Can we do it using Python/NER ?
Edit : Can we apply Knowledge graph concept here ? I explored a lot about it but couldn't find convincing article regarding the case.it would be great if someone could walkover this concept or provide article links (relevant).
Firstly, you have to ask yourself how some reader of the text is capable of identifying the criminal. The proper name representing the criminal takes the argument function of a verb (let it be a copular verb like in "He is a criminal" or a semantically more complex verb like "the man also commited the murder 2 years ago"). This argument function (the "subject" in case of the examples) perfectly identifies the criminal entity. What you have to do is:
Really, there is no out of the box model, its rather a linguistic pipeline with implementations for each separate steps that takes you there. For anything more detailed, you really need to paste some code for direct questions on the implementation pipeline.
You can use machine learning, but for this you need to perform steps 1 and 2 anyways, so better first try those steps.