1. A computer-implemented method comprising: receiving a plurality of communications from a first person to a user; extracting first data from the plurality of communications, the first data comprising contact information for contacts associated with the first person; generating, via a computing device, using the extracted first data, a first person profile comprising a first contact network of the first person, wherein the first contact network comprises a list of contacts associated with the first person; subsequent to generating the first person profile, receiving a subsequent communication from the first person to the user, wherein a second person is identified in text in a body of the subsequent communication, and the second person is different from the first person and the user; extracting second data about the second person from the body of the subsequent communication; generating, using the extracted second data, a second person profile for the second person; updating, using the extracted second data, the first person profile to add the second person to the first contact network of the first person profile; monitoring, via the computing device, user behavior of the user; and in response to a request by the user to view the first person profile, presenting the updated first person profile to the user.