BACKGROUND

A growth rate for the volume of digital content collections is sometimes referred to as content velocity. For many forms of digital content, the content velocity and resulting content volume is significant. As an example, the ubiquity of camera-enabled mobile devices has enabled a staggering content velocity and content volume for private, as well as shared and/or public collections of digital images. Searching for relevant content within such voluminous collections is challenging.

Complex and/or highly dimensional content exacerbates such search challenges. For instance, searching over large collections of complex and highly dimensional digital content, such as digital images, is notoriously difficult at least because users may find it difficult to structure a search query adequately targeted to their specific search interests. As an example, when attempting to search for an image depicting a scene of interest, a user may provide a conventional search system with a natural language phrase that somewhat describes the scene of interest. However, in providing such a search phrase, the user may under or over constrain the search via the inclusion of too few or too many descriptor words. The resulting search results may be too broad or too narrow to be of value.

Additionally, due to the relatively high frequency of synonyms and antonyms in natural languages, such as English, as well as the inherent ambiguity of natural languages, constructing a natural language phrase that is consistent with keywords employed to characterize the images within the search system may be difficult. That is, the user's search phrase may not describe the scene of interest in terms that are consistent with the search system. For example, a user may provide the search phrase “smiling baby,” when interested in images of smiling babies. However, within an image database, images of smiling babies may be characterized via keywords such as “happy” and “infant,” rather than “smiling” and “baby.” In such a scenario, the search system may return a null, or at least an overly narrow, set of search results. A user may expend significant manual effort updating their search phrases to find a phrase that is consistent with the system's characterization of images and that generates search results consistent with their search interests.

SUMMARY

Embodiments of the present invention are directed towards enhanced systems and methods for searching digital content, such as but not limited to digital images. One such method includes receiving, from a user, a base search constraint for the content. A search constraint includes search values or criteria. A plurality of recommended search constraints may be determined and/or generated and provided to the user. At least some of the plurality of recommended search constraints may be statistically associated with and/or related to the base search constraint. The method may receive, from the user, a selection of a first search constraint included in the plurality of recommend search constraints. The method generates and provides search results to the user. The search results are based on a search constraint set that includes both the base search constraint and the selected first search constraint.

In some embodiments, the method further includes generating and/or determining a recall set of the content based on the base search constraint and updating the recall set based on the first search constraint. For instance, the recall set may be initial or preliminary search results, and the preliminary search results are re-ordered and/or re-ranked based on the received first search constraint. In some embodiments, updating the recall set may be based on a weight associated with the base search constraint and another weight associated with the first search constraint. The search results that are provided to the user are based on the updated recall set.

In various embodiments, the weight associated with the first search constraint is received from the user. In other embodiments, the weight associated with the base search constraint may be a default or maximum weight. The user may or may not be enabled to modify the weight associated with the base search constraint. The recall set may be ordered based on the base search constraint, the weight associated with the base search constraint, the first search constraint, and the weight associated with the first search constraint. The search results provided to the user are based on the order of the recall set.

In at least one embodiment, a selection of a first image is received from the user. The first image may be included in the search results or the user may alternatively provide the first image via other means. A value indicating an aspect of the first image is determined. At least one of the recommended search constraints is based on the value indicating the aspect of the first image. The aspect of the first image may be a color depicted in the first image, content (such as but not limited to tangible objects such as persons, physical objects, locations, and the like), or an aesthetic quality of the image. Such image aesthetic qualities may include one or more of the hue, saturation, lightness, intensity, quantity, color harmony, depth of field, interesting content, interesting lighting, motion blur, out-of-focus blur (e.g., image bokeh), object emphasis, quality, or repetition of the first image.

