1. A method comprising: receiving, at a computing device, a request from a user, said request input by the user respective to a chatbot provided by the computing device, said request comprising a sequence of words; searching, via the computing device, a database based on said request, said search comprising identifying, within said database, a first response comprising a sequence of words; tokenizing, via the computing device, said first response, said tokenizing comprising identifying each identified word from said tokenizing of the first response as a token and tagging each token; creating, via the computing device, a set of bigrams based at least in part upon the tokenized first response, said bigrams comprising adjacent words in said first response; determining, via the computing device, a set of word patterns between each bigram based on a domain word-graph, said domain word-graph comprising nodes and edges, wherein each node corresponds to a word and each edge is a directional link between the nodes, said determination comprising determining a path within said domain word-graph between the words in each bigram, and identifying, based on said determined path, a set of word patterns along the path for each bigram; computing, via the computing device, scores for each word pattern in said set of word patterns, said computed scores indicating a co-occurrences, contextual similarity and linguistic quality between the words in the bigrams and the word patterns; selecting, via the computing device, a word pattern based on the computed scores; modifying, via the computing device, the first response by inserting the word pattern into said first response based on the bigram from which it was identified, said modification causing the creation of a second response; and communicating, via the computing device, said second response to said user in response to said request, for display of said communicated second response within a user interface (UI) associated with the chatbot.