11. A computer-implemented method for discovering heterogeneous communities with shared anomalous components, comprising: obtaining a graph comprising a plurality of vertices, each of the vertices representing an entity and being connected to at least one of the remaining vertices by an edge representing one or more events associated with the entities represented by the connected vertices, each of the vertices associated with a collection of words of one or more categories, each of the words describing an item associated with at least one of the events associated with that vertex, each of the vertices further associated with one or more one topics each of which describes a type of an activity of the entity represented by that vertex; identifying one or more communities within the graph, each of the communities comprising at least two of the connected vertices; for at least one of the communities, identifying one or more of the categories of the words whose removal from the collections associated with the vertices in that community increases a likelihood of that community being associated with the collections of the words associated with the vertices in that community; and setting one or more of the identified word categories as anomalous for that community for which the word categories were identified, wherein the steps are implemented by a suitably-programmed computer and wherein an action is taken to stop a criminal activity associated with that community based on the one or more anomalous word categories set for that community.
11. A computer-implemented method for discovering heterogeneous communities with shared anomalous components, comprising: obtaining a graph comprising a plurality of vertices, each of the vertices representing an entity and being connected to at least one of the remaining vertices by an edge representing one or more events associated with the entities represented by the connected vertices, each of the vertices associated with a collection of words of one or more categories, each of the words describing an item associated with at least one of the events associated with that vertex, each of the vertices further associated with one or more one topics each of which describes a type of an activity of the entity represented by that vertex; identifying one or more communities within the graph, each of the communities comprising at least two of the connected vertices; for at least one of the communities, identifying one or more of the categories of the words whose removal from the collections associated with the vertices in that community increases a likelihood of that community being associated with the collections of the words associated with the vertices in that community; and setting one or more of the identified word categories as anomalous for that community for which the word categories were identified, wherein the steps are implemented by a suitably-programmed computer and wherein an action is taken to stop a criminal activity associated with that community based on the one or more anomalous word categories set for that community. 16. The method according to claim 11 , further comprising: partitioning the graph into a plurality of nodes and creating a community graph comprising a set of initial communities based on the partition, each of the initial communities comprising at least one of the vertices; calculating a merge score for each pair of the initial communities connected by at least one of the edges in the solution; finding a solution for the maximal weight matching problem for the graph, the solution comprising one or more of the edges of the graph; merging those of the initial communities which are connected by the edges in the solution and whose merge scores are greater than zero; discarding those of the edges that are comprised in the solution whose merge score is not greater than zero; and re-computing the community graph based on the merged initial communities, wherein the communities are comprised in the recomputed graph and comprise the merged initial communities.