Feature-based candidate selection
First Claim
Patent Images
1. A system comprising:
- one or more processors; and
memory storing modules that, when executed by the one or more processors, cause the one or more processors to;
receive search criteria including at least a current user input in a user interface, the user interface associated with an input method editor (IME) interface associated with a host application, the host application selected from a plurality of host applications based at least in part on an indication from a user;
receive one or more candidates returned by a search engine based at least in part on the search criteria, the search criteria including a content of the current user input and a context of the current user input, the context of the current user input including at least a relevance of the current user input to a preceding user input in a same session of the host application, the preceding user input received at the host application prior to the current user input, the relevance of the current user input to the preceding user input based at least in part on a spatial relationship between the current user input and the preceding user input in the host application;
select one or more references from the one or more candidates returned by the search engine;
assign corresponding scores to the one or more candidates based at least in part on a comparison between one or more candidate features extracted from the one or more candidates and one or more reference features extracted from the one or more references, the corresponding scores further based in part on the context of the current user input;
rank the one or more candidates based at least in part on the corresponding scores;
remove a first candidate from the one or more candidates when a score of the corresponding scores of the first candidate is below a threshold score;
select one or more selected candidates from the one or more candidates based at least in part on the corresponding scores;
provide, in the user interface, the one or more selected candidates for user selection;
receive the user selection of a user selected candidate from the one or more selected candidates; and
provide to the host application the user selected candidate.
2 Assignments
0 Petitions
Accused Products
Abstract
A candidate for selection or insertion may be based on extracted candidate features and reference features. The candidate features may be scored and ranked while candidates may be removed from consideration based on criteria. The remaining candidates may be presented for selection and/or insertion.
195 Citations
19 Claims
-
1. A system comprising:
-
one or more processors; and memory storing modules that, when executed by the one or more processors, cause the one or more processors to; receive search criteria including at least a current user input in a user interface, the user interface associated with an input method editor (IME) interface associated with a host application, the host application selected from a plurality of host applications based at least in part on an indication from a user; receive one or more candidates returned by a search engine based at least in part on the search criteria, the search criteria including a content of the current user input and a context of the current user input, the context of the current user input including at least a relevance of the current user input to a preceding user input in a same session of the host application, the preceding user input received at the host application prior to the current user input, the relevance of the current user input to the preceding user input based at least in part on a spatial relationship between the current user input and the preceding user input in the host application; select one or more references from the one or more candidates returned by the search engine; assign corresponding scores to the one or more candidates based at least in part on a comparison between one or more candidate features extracted from the one or more candidates and one or more reference features extracted from the one or more references, the corresponding scores further based in part on the context of the current user input; rank the one or more candidates based at least in part on the corresponding scores; remove a first candidate from the one or more candidates when a score of the corresponding scores of the first candidate is below a threshold score; select one or more selected candidates from the one or more candidates based at least in part on the corresponding scores; provide, in the user interface, the one or more selected candidates for user selection; receive the user selection of a user selected candidate from the one or more selected candidates; and provide to the host application the user selected candidate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processors; an input method editor (IME) interface, the IME interface including a user interface, the user interface to receive a textual input and to provide an output to a host application, the host application selected from a plurality of host applications based at least in part on an indication from a user; an analyzer executable by the one or more processors to analyze a content of the textual input and a context of the textual input, the context of the textual input including at least a relevancy of the textual input to a preceding textual input in a user conversation, the relevancy of the textual input to the preceding textual input based at least in part on a spatial relationship between the textual input and the preceding textual input in the user conversation; a candidate manager executable by the one or more processors to gather one or more candidate images based at least in part on the content of the textual input and the context of the textual input, and to select one or more reference images from the one or more candidate images based at least in part on search results returned from a search engine; an extractor executable by the one or more processors to extract one or more reference features from the one or more reference images and to extract one or more candidate features from the one or more candidate images; a classifier executable by the one or more processors to; assign one or more scores to the one or more candidate images based at least in part on a comparison between the one or more candidate features and the one or more reference features; and rank the one or more candidate images based at least in part on the one or more scores; a reducer executable by the one or more processors to remove a first candidate image from the one or more candidate images based at least in part on a score of a candidate compared to a threshold score value; and an insertion manager executable by the one or more processors to provide the one or more candidate images for selection in the user interface. - View Dependent Claims (14, 15)
-
-
16. A method comprising:
-
receiving a current textual input from a user through an input method editor (IME) interface, the IME interface including a user interface and providing output for a selected host application of a plurality of host applications, the selected host application selected based at least in part on an indication from the user; analyzing, by a computing device, a content of the current textual input and a context of the current textual input, the context of the current textual input based at least in part on a type of the selected host application; gathering one or more candidate images from a search engine based at least in part on the context of the current textual input and the content of the current textual input, the context of the current textual input including at least a relevancy of the current textual input to a preceding textual input in a user conversation, the preceding textual input received prior to the current textual input, the relevancy of the current textual input to the preceding textual input based at least in part on a spatial relationship between the current textual input and the preceding textual input in the user conversation; selecting one or more reference images from the one or more candidate images based at least in part on results from the search engine; extracting one or more reference features from the one or more reference images; extracting one or more candidate features from the one or more candidate images;
assigning a score to the one or more candidate images based at least in part on the one or more candidate features;ranking the one or more candidate images based at least in part on the score; removing a first candidate image from the one or more candidate images when the score of the first candidate image is below a threshold score; removing a second candidate image from the one or more candidate images based at least in part on a comparison of features between the second candidate and another candidate; providing a ranked subset of remaining candidate images of the one or more candidate images, to the user, for selection through the IME interface; and in response to receiving a selection of an image of the ranked subset of remaining candidate images, providing the image to the selected host application. - View Dependent Claims (17, 18, 19)
-
Specification