15. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: identify a shared visual concept in two or more visual-media items, wherein each visual-media item comprises one or more images, each image comprising one or more visual features, and wherein each visual-media item comprises one or more visual concepts, the shared visual concept being identified based on one or more shared visual features in the respective images of the visual-media items; extract, for each of the visual-media items, one or more n-grams from one or more communications associated with the visual-media item; generate, in a d-dimensional space, an embedding for each of the visual-media items, wherein a location of the embedding for the visual-media item is based on the one or more visual concepts included in the visual-media item; generate, in the d-dimensional space, an embedding for each of the extracted n-grams, wherein a location of the embedding for the n-gram is based on a frequency of occurrence of the n-gram in the communications associated with the visual-media items; associate, with the shared visual concept, one or more of the extracted n-grams that have embeddings within a threshold area of the embeddings for the identified visual-media items; populate a visual-concept index that indexes visual concepts with their respective associated n-grams; receive, from a client system of a user, a search query comprising one or more n-grams; determine, based on the visual-concept index, one or more visual concepts associated with the n-grams of the search query; and send, to the client system of the user, one or more search results comprising visual-media items in which the determined visual concepts are identified.
15. One or more computer-readable non-transitory storage media embodying software that is operable when executed to: identify a shared visual concept in two or more visual-media items, wherein each visual-media item comprises one or more images, each image comprising one or more visual features, and wherein each visual-media item comprises one or more visual concepts, the shared visual concept being identified based on one or more shared visual features in the respective images of the visual-media items; extract, for each of the visual-media items, one or more n-grams from one or more communications associated with the visual-media item; generate, in a d-dimensional space, an embedding for each of the visual-media items, wherein a location of the embedding for the visual-media item is based on the one or more visual concepts included in the visual-media item; generate, in the d-dimensional space, an embedding for each of the extracted n-grams, wherein a location of the embedding for the n-gram is based on a frequency of occurrence of the n-gram in the communications associated with the visual-media items; associate, with the shared visual concept, one or more of the extracted n-grams that have embeddings within a threshold area of the embeddings for the identified visual-media items; populate a visual-concept index that indexes visual concepts with their respective associated n-grams; receive, from a client system of a user, a search query comprising one or more n-grams; determine, based on the visual-concept index, one or more visual concepts associated with the n-grams of the search query; and send, to the client system of the user, one or more search results comprising visual-media items in which the determined visual concepts are identified. 16. The media of claim 15 , wherein the location of the embedding for each of one or more extracted n-grams is based on a triplet-loss algorithm, wherein the triplet-loss algorithm analyzes a plurality of information triplets, each of the information triplets comprising: a media-item identifier corresponding to a particular visual-media item including a particular visual concept; a positive n-gram, wherein the positive n-gram is an n-gram that is included in a number of communications associated with the particular visual-media item that is greater than a threshold number; and a negative n-gram, wherein the negative n-gram is an n-gram that is not included in a minimum number of communications associated with the particular visual-media item.