I would like to write a python program that is able to transform a syntactically complex sentence into (potentially several) less complex sentences which I can use in downstream tasks.
Example:
Complex sentence: "Tonight I'm going to play soccer with my friends before we're going to watch a movie in the theater next to the city center."
Simpler text with same content: "Tonight I'm going to play soccer with my friends. Then we're going to watch a movie in the theater. The theater is next to the city center."
Goal:
May goal is that the final output consist only of simple main clauses (no coordinate clauses, no subordinate clauses, no relative clauses etc.). Essentially, the resulting clauses should end up having one subject, one predicate, one direct object and potentially one indirect/prepositional object (each may have a modifier such as e.g. an adjective attribute). If there are multiple of any of these, I don't mind ending up with repetitions ("I love mum and dad." --> "I love mum. I love dad.").
What I've tried already:
I have started implementing a relative clause resolver and coordination resolver so far. They do work quite ok. However, there are many more cases to cover (causal, temporal, adversative subclauses etc.) and I started to wonder if someone out there may have a better idea about how to tackle this.
Also, I heavily rely on spaCy but I'm running more and more into problems as transforming the document (which I do when I transform the text) is against a core principle of spaCy. Hence again: Maybe I should use a different approach altogether?
Thanks for any thoughts...