14. A non-transitory computer-readable storage medium storing instructions, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: constructing, based on a set of data, a bipartite graph; wherein the set of data comprises a set of visual words, a set of linguistic words, and a set of associations between the set of visual words and the set of linguistic words; wherein each association in the set of associations is an association between a visual word in the set of visual words and a linguistic word in the set of linguistic words; wherein constructing the bipartite graph includes constructing a first partition and a second partition; wherein the first partition comprises a first set of nodes; wherein each node in the first set of nodes represents a linguistic word in the set of linguistic words; wherein the second partition comprises a second set of nodes; wherein each node in the second set of nodes represents a visual word in the set of visual words; deriving and storing in volatile or non-volatile memory, based on the bipartite graph, an association score between a first node of said bipartite graph and a second node of said bipartite graph; wherein the association score is derived, at least in part, on a random walk through the bipartite graph, wherein the random walk is performed based, at least in part, on probabilities labeled on directed edges in connections between nodes in the first set of nodes and nodes in the second set of nodes; and wherein the probability associated with a directed edge from one node to another node is based, at least in part, on the probability that one word represented by the one node is associated with any image in a set of images with which another word represented by the other node is associated.
16. The non-transitory computer-readable storage medium of claim 14 , further comprising instructions for: constructing a set of connections between the first set of nodes and the second set of nodes; wherein each connection in the set of connections connects a node in the first set of nodes and a node in the second set of nodes if there is an association between the linguistic word represented by the node in the first set of nodes and the visual word represented by the node in the second set of nodes; wherein each connection in the set of connections comprises a first directed edge and a second directed edge; wherein the first directed edge is directed from the node in the first set of nodes to the node in the second set of nodes; wherein the second directed edge is directed from the node in the second set of nodes to the node in the first set of nodes; wherein the first directed edge is labeled with a first probability; wherein the first probability indicates a probability that the visual word represented by the node in the second set of nodes occurs in any image in the set of images described by the linguistic word represented by the node in the first set of nodes; wherein the second directed edge is labeled with a second probability; wherein the second probability indicates a probability that the linguistic word represented by the node in the first set of nodes describes any image in the set of images in which the visual word represented by the node in the second set of nodes occurs; wherein the random walk, with one or more restarts from the first node, through the bipartite graph is performed based on probabilities labeled on directed edges in connections between nodes in the first set of nodes and nodes in the second set of nodes, wherein the one or more restarts at the first node are based on a restart probability.