1. A computer-implemented system for discovering heterogeneous communities with shared anomalous components, comprising: at least one hardware processor configured to: obtain 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; identify 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, identify 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 set one or more of the identified word categories as anomalous for that community for which the word categories were identified, 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.