Split long text into "topics"


So I am automating the process of creating datasets of interviews for the purposes of a chatbot. Often, topics of conversation (lets say of how their day was) spans multiple interactions, like so:

Person 1 (P1): So, how was your day?
Person 2 (P2): Fine, but I had a long day of work. You?
P1: Thats too bad, I had paid time off.
P2: Thats lucky.
P1: You watch that new game on Saturday?

I would like to be able to identify and split conversations up into these sort of segments about a focuses topics, so that the last interaction (P2) signifies a new topic. Obviously, in normal conversation, these types of things are a little more muddy than the sample I provided so I want to avoid traditional “find a certain character/keyphrase” method to split topics up instead.

I just wanted to check if a model like (or one that I could relativity quickly modify) that fits those parameters exist. If not, I’m sure its not a huge task to build one myself. But if I don’t have to do more than I need to, it’s worth a shot asking here.