1. A method, in a natural language processing (NLP) system comprising a processor and a memory, the method comprising: receiving, by the NLP system, a plurality of communications associated with a communication system, over a predetermined time period, from a plurality of end user devices; identifying, by the NLP system, for each communication in the plurality of communications, a user submitting the communication to thereby generate a set of users comprising a plurality of users associated with the plurality of communications; retrieving, by the NLP system, a user model for each user in the set of users, wherein the user model specifies at least one attribute of a corresponding user; generating, by the NLP system, an aggregate user model that aggregates the at least one attribute of each user in the set of users together to generate an aggregate representation of the attributes of the plurality of users in the set of users; and performing, by the NLP system, a cognitive operation based on the aggregate user model, wherein the cognitive operation comprises at least one of forwarding a suggestion specified in one or more of the communications in the plurality of communications to another user based on a matching of a user model of the other user being associated with the aggregate user model, scoring a candidate answer to a question based on a correlation of the user model of the other user being associated with the aggregate user model and outputting at least one candidate answer to the other user based on scores of the one or more candidate answers, or filtering messages exchanged during the predetermined time period and outputting results of the filtering of the messages to the other user.