Generating midstring query refinements
First Claim
1. A method for query suggestion, performed on a server system having one or more processors and memory storing one or more programs for execution by the one or more processors to perform the method, comprising:
- at the server system;
receiving an original query from a client distinct from the server system;
identifying one or more segments in the original query;
identifying an anchor segment of the one or more segments in the original query, wherein the anchor segment is identified based on cursor placement within the original query, and identifying zero or more remaining segments of the original query, excluding the anchor segment;
identifying one or more sibling segments associated with the anchor segment, wherein the one or more sibling segments are identified by the server system to be semantically distinct from anchor segment;
identifying one or more query refinement candidates, wherein a respective query refinement candidate includes a respective sibling segment in place of the anchor segment and includes the remaining segments, if any, of the original query;
sending to the client for presentation information including one or more of the query refinement candidates;
receiving from the client one or more deleted characters from the original query and any remaining characters from the original query, the remaining characters consisting of characters of the original query which are not deleted characters; and
reconstructing the original query from the deleted characters and the remaining characters;
wherein the one or more sibling segments are identified using an algorithm that identifies sibling segments that are conceptually related to the anchor segment; and
wherein, when the original query includes two or more segments, including the anchor segment and one or more remaining segments, identifying the one or more query refinement candidates comprises;
forming potential query refinement candidates from the identified sibling segments and the one or more remaining segments; and
excluding from the identified one or more query refinement candidates any of the potential refinement candidates not present in a predefined database of historical complete queries.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is provided for providing query suggestions, particularly midstring query completions for an original query being edited or hovered over. An original query is received from a client. One or more segments in the original query are identified including an anchor segment and zero or more remaining segments. The anchor segment is identified based on cursor placement within the original query. Then one or more sibling segments associated with the anchor segment are identified. The sibling segments are identified by the server system to be semantically distinct from anchor segment. Then one or more query refinement candidates are identified. A respective query refinement candidate includes a sibling segment in place of the anchor segment and includes the remaining segments, if any, of the original query. Then information including one or more of the query refinement candidates is sent to the client for presentation.
-
Citations
24 Claims
-
1. A method for query suggestion, performed on a server system having one or more processors and memory storing one or more programs for execution by the one or more processors to perform the method, comprising:
at the server system; receiving an original query from a client distinct from the server system; identifying one or more segments in the original query; identifying an anchor segment of the one or more segments in the original query, wherein the anchor segment is identified based on cursor placement within the original query, and identifying zero or more remaining segments of the original query, excluding the anchor segment; identifying one or more sibling segments associated with the anchor segment, wherein the one or more sibling segments are identified by the server system to be semantically distinct from anchor segment; identifying one or more query refinement candidates, wherein a respective query refinement candidate includes a respective sibling segment in place of the anchor segment and includes the remaining segments, if any, of the original query; sending to the client for presentation information including one or more of the query refinement candidates; receiving from the client one or more deleted characters from the original query and any remaining characters from the original query, the remaining characters consisting of characters of the original query which are not deleted characters; and reconstructing the original query from the deleted characters and the remaining characters; wherein the one or more sibling segments are identified using an algorithm that identifies sibling segments that are conceptually related to the anchor segment; and wherein, when the original query includes two or more segments, including the anchor segment and one or more remaining segments, identifying the one or more query refinement candidates comprises; forming potential query refinement candidates from the identified sibling segments and the one or more remaining segments; and excluding from the identified one or more query refinement candidates any of the potential refinement candidates not present in a predefined database of historical complete queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A server system, for query suggestion, comprising:
-
one or more processors; and memory storing one or more programs to be executed by the one or more processors; the one or more programs comprising instructions for; receiving an original query from a client distinct from the server system; identifying one or more segments in the original query; identifying an anchor segment of the one or more segments in the original query, wherein the anchor segment is identified based on cursor placement within the original query, and identifying zero or more remaining segments of the original query, excluding the anchor segment; identifying one or more sibling segments associated with the anchor segment, wherein the one or more sibling segments are identified by the server system to be semantically distinct from anchor segment; identifying one or more query refinement candidates, wherein a respective query refinement candidate includes a respective sibling segment in place of the anchor segment and includes the remaining segments, if any, of the original query; sending to the client for presentation information including one or more of the query refinement candidates; receiving from the client one or more deleted characters from the original query and any remaining characters from the original query, the remaining characters consisting of characters of the original query which are not deleted characters; and reconstructing the original query from the deleted characters and the remaining characters; wherein the one or more sibling segments are identified using an algorithm that identifies sibling segments that are conceptually related to the anchor segment; and wherein, when the original query includes two or more segments, including the anchor segment and one or more remaining segments, identifying the one or more query refinement candidates comprises; forming potential query refinement candidates from the identified sibling segments and the one or more remaining segments; and excluding from the identified one or more query refinement candidates any of the potential refinement candidates not present in a predefined database of historical complete queries. - View Dependent Claims (18, 19, 20)
-
-
21. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:
at a server system; receiving an original query from a client distinct from the server system; identifying one or more segments in the original query; identifying an anchor segment of the one or more segments in the original query, wherein the anchor segment is identified based on cursor placement within the original query, and identifying zero or more remaining segments of the original query, excluding the anchor segment; identifying one or more sibling segments associated with the anchor segment, wherein the one or more sibling segments are identified by the server system to be semantically distinct from anchor segment; identifying one or more query refinement candidates, wherein a respective query refinement candidate includes a respective sibling segment in place of the anchor segment and includes the remaining segments, if any, of the original query; sending to the client for presentation information including one or more of the query refinement candidates; receiving from the client one or more deleted characters from the original query and any remaining characters from the original query, the remaining characters consisting of characters of the original query which are not deleted characters; and reconstructing the original query from the deleted characters and the remaining characters; wherein the one or more sibling segments are identified using an algorithm that identifies sibling segments that are conceptually related to the anchor segment; and wherein, when the original query includes two or more segments, including the anchor segment and one or more remaining segments, identifying the one or more query refinement candidates comprises; forming potential query refinement candidates from the identified sibling segments and the one or more remaining segments; and excluding from the identified one or more query refinement candidates any of the potential refinement candidates not present in a predefined database of historical complete queries. - View Dependent Claims (22, 23, 24)
Specification