Events and stories can be characterized by a set of descriptive, collocated keywords. Intuitively, documents describing the same event will contain similar sets of keywords, and the graph of keywords for a document collection will contain clusters individual events. In this paper we build a network of keywords based on their co-occurrence in documents. We propose and develop a new event detection algorithm which creates a keyword graph and uses community detection methods analogous to those used for social network analysis to discover and describe events. Constellations of keywords describing an event may be used to find related articles. We also use the proposed algorithm to analyze events and track stories in social streams.