1. A method of processing multi-modal communications, comprising the steps of: intercepting each incoming message of a plurality of messages, wherein said plurality of messages are characterized by at least two different modes, one of said modes being a non-text mode; converting each intercepted message into a single text format shared by each message; parsing each message in the shared text format into a list of keywords; analyzing the list of keyword for each message to generate a respective vector of at least one keyword for each message, wherein said vector is based on a path distance in a semantic hierarchical tree of a dictionary; calculating a similarity distance between the messages based on their respective vectors of keywords; and clustering the messages into a plurality of message clusters based upon the calculated similarity distances.