1. A computer-implemented method comprising: receiving requests to play a plurality of programs, wherein each program of the plurality of programs is associated with a plurality of scenes and each scene is associated with dialog text; storing a plurality of profiles, wherein each profile of the plurality of profiles is associated with a corresponding one of a plurality of users; playing the programs and determining whether a particular user of the plurality of users is present during the playing of each scene of each program of the plurality of programs and determining a particular profile, of the plurality of profiles, corresponding to the particular user based on the determining of whether the particular user of the plurality of users is present; associating, in response to receiving the requests, each scene of the plurality of scenes during which the particular user was present and the corresponding dialog text during which the particular user was present with the particular profile; receiving a search query from the particular user associated with the particular profile; searching the dialog text associated with the particular profile for dialog text that matches the search query; and transmitting, for display, an identification of the program and the scene associated with the matching dialog text, wherein associating each scene of the plurality of scenes during which the particular user was present and the corresponding dialog text during which the particular user was present with the particular profile includes storing an indication that the particular user was present during the playing of the scene associated with the dialog text, wherein searching the dialog text associated with the particular profile includes excluding searching of dialog text not associated with the indication that the particular user was present during the playing of the scene, wherein the particular profile is associated with less than all of the plurality of scenes of one of the programs, and wherein searching the dialog text associated with the particular profile for dialog text that matches the search query includes recognizing, by a computing device, an object in one of the scenes with the matching dialog text and wherein the object does not match the search query.