1. A method to find dynamic social networks, comprising: a. applying a dynamic stochastic block model to generate one or more dynamic social networks, wherein the model simultaneously captures communities and their evolutions, and b. inferring best-fit parameters for the dynamic stochastic model with online learning and offline learning.