I am working on similar problem , its related to tweets. The person included multiple person-references and i need to find which pronoun is for whom so that I can replace it with the Noun and hence classify the sentiment accordingly.
import spacy
nlp = spacy.load('en')
sent = "Modi is a great leader.He has made India proud. Rahul Gandhi is naive . He is not fit to be prime minister."
doc=nlp(sent)
sub_toks = [tok for tok in doc if ((tok.dep_ == "nsubj") )]
print(sub_toks)
nc= [x for x in doc.noun_chunks]
print(nc)
l=[]
for i,token in enumerate(doc):
if token.pos_ in ('PROPN','PRON'):
l.append([token.text,i,token.pos_])
This gave me a list of desired specifics , but I still need to find a way to implement my thoughts in a less computational manner as I have over 50K tweets and per sentence multiple loops will take ages.