1. A method for training a processor-executed data model to accurately determine whether two phrases are conversationally connected, the method comprising: detecting a first phrase and a second phrase; translating the first phrase to a first string of word types by determining what type of word each word of the first phrase represents, and replacing each word of the first phrase with its respective type; translating the second phrase to a second string of word types by determining what type of word each word of the second phrase represents, and replacing each word of the second phrase with its respective type; generating a third string of word types by appending the second string to the end of the first string; determining a first degree to which the first string and the second string matches any singleton template of a plurality of singleton templates by comparing both the first string and the second string to the plurality of singleton templates; determining a second degree to which the third string matches any conversational template of a plurality of conversational templates; determining whether the first degree exceeds the second degree; in response to determining that the first degree exceeds the second degree: retrieving, from a knowledge graph stored in a database, a strength of association between the first string and a conversational category and a strength of association between the second string and the conversational category; decreasing the strength of association between the first string and the conversational category by a pre-defined amount, and decreasing the strength of association between the second string and the conversational category by the pre-defined amount; and in response to determining that the second degree exceeds the first degree: increasing the strength of association between the first string and the conversational category by the pre-defined amount, and increasing the strength of association between the second string and the conversational category by the pre-defined amount.