1. A method for facilitating a communication system to generate a set of messages for an agent to respond to a customer, comprising: converting a plurality of messages exchanged between the customer and the agent during a dialog to a plurality of structured messages, the plurality of messages exchanged using a chat application that is configured to execute on a first computing device associated with the agent and a second computing device associated with the customer, the converting comprising: tagging the plurality of messages, at least by the agent, with one or more features of a plurality of features, wherein each of the features depict one or more extracted aspects of the dialog; and storing the plurality of messages with their tagged features as the plurality of structured messages at a storage system associated with the communication system, the storage system comprising a second plurality of structured messages that represent a second plurality of messages exchanged between a plurality of agents and a plurality of customers, the second plurality of structured messages tagged with a second plurality of features; generating, by the communication system, a first message depicting an intent of the customer for contacting the agent, the generating comprising: extracting, based on one or more prediction techniques, a group of features and a group of messages from the plurality of structured messages, the second plurality structured messages, the plurality of features and the second plurality of features using a text mining process to generate mined data; determining the intent of the customer as a function of the mined data and a user profile of the customer; and generating, by the communication system, based on the determined intent, a second message containing one or more recommendations for responding to the customer.