US20150039606A1 - Search phrase modification - Google Patents

Search phrase modification Download PDF

Info

Publication number
US20150039606A1
US20150039606A1 US14/304,595 US201414304595A US2015039606A1 US 20150039606 A1 US20150039606 A1 US 20150039606A1 US 201414304595 A US201414304595 A US 201414304595A US 2015039606 A1 US2015039606 A1 US 2015039606A1
Authority
US
United States
Prior art keywords
search query
phrase
search
attribute
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/304,595
Inventor
Vamsi Krishna Salaka
Prathyusha Senthil Kumar
Brian Scott Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PayPal Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US14/304,595 priority Critical patent/US20150039606A1/en
Assigned to EBAY INC. reassignment EBAY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JOHNSON, BRIAN SCOTT, KUMAR, PRATHYUSHA SENTHIL, SALAKA, VAMSI KRISHNA
Publication of US20150039606A1 publication Critical patent/US20150039606A1/en
Assigned to PAYPAL, INC. reassignment PAYPAL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EBAY INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30648
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • G06F17/3064

Definitions

  • FIG. 10 is a flowchart illustrating operations of a search machine in performing a method of search phrase modification, according to some example embodiments.
  • FIG. 11 shows equations used in operations of a search machine in performing methods of search phrase modification, according to some example embodiments.
  • FIG. 12 is a block diagram illustrating components of a machine, according to some example embodiments, able to read instructions from a machine-readable medium and perform any one or more of the methodologies discussed herein.
  • modifying a search string may have many practical advantages. For example, in an e-commerce system that lists items (e.g., goods or services) available to the user for purchase, modifying the search string may, in some cases, increase the probability that the user will find an item of interest. For example, a user searching for a “used car” most likely wants a car that is used, not an item with both “used” and “car” in the description or title. Accordingly, modifying the search string to search for a “car” with the attribute of “used” may increase the probability that the user finds items of interest.
  • items e.g., goods or services
  • a user searching for an “apple tv” most likely wants an Apple TV, not other products that contain both terms (such as a cable that can connect an Apple computer to a TV set). Accordingly, modifying the search string to search for “apple tv” as a phrase may increase the probability that the user finds items of interest.
  • the modification of the search string may be based on an analysis of prior search strings and user actions. For example, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms treated as a phrase, the search string may be modified to treat those terms as a phrase. Similarly, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms dropped, the search string may be modified to drop those terms. Likewise, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms treated as an attribute search, the search string may be modified to treat those terms as an attribute search.
  • the network 190 may be any network that enables communication between or among machines, databases, and devices (e.g., the search machine 110 and the user device 130 ). Accordingly, the network 190 may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 190 may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof.
  • FIG. 2 is a screen diagram 200 illustrating a type of search phrase modification, according to some example embodiments. As shown in the screen diagram 200 , the user has entered a search string of “diamond ring size 10” in a search string entry field 210 .
  • the category of “Fine Jewelry,” shown as part of the filter 220 , labeled “Categories,” may be operable as a button to cause the re-evaluation of the query limited to results within the category of “Fine Jewelry.”
  • the metals of “Multi-Tone Gold” and “Platinum,” shown as part of the filter 235 , labeled “Metal,” may be presented with corresponding check boxes. After the user checks the checkboxes corresponding to each metal, a submit button or the like may be used to submit the query and generate results limited to the selected metals.
  • FIG. 3 is a screen diagram 300 illustrating a type of search phrase modification, according to some example embodiments.
  • the user has entered a search string of “used cars for sale” in a search string entry field 310 .
  • the search string has been modified by the search machine 110 to treat the term “used” as an attribute as well as a term.
  • the term “used” is treated as an attribute and instead of as a term.
  • some of the items returned to the user will not contain “used” in the title or description of the item listing.
  • no indication is provided to the user that the term “used” has been treated as an attribute.
  • an indication of the attribute modification is provided. For example, a checkbox for the “used” condition in the filter 330 may be checked.
  • the text entered into the search string entry field 210 can be replaced with the modified search string, lacking the term “used.”
  • FIG. 4 is a screen diagram 400 illustrating a type of search phrase modification, according to some example embodiments.
  • the user has entered a search string of “jewelry from india” in a search string entry field 410 .
  • the search string has been modified by the search machine to treat the terms “from India” as a search within the country-origin attribute. Accordingly, some of the items returned to the user do not contain “from” or “India” in the title or description of the item listing, and only items originating from India have been returned.
  • Filters 420 - 435 are operable to limit the result set shown to the user.
  • the filters 420 - 435 may operate as buttons, wherein selecting a filter directly causes the presentation of filtered results to the user.
  • the filters 420 - 435 may be associated with radio buttons, text fields, or checkboxes, such that the user may make a number of filter selections before submitting the set of selections.
  • the category of “Fashion Jewelry,” shown as part of the filter 420 labeled “Categories,” may be operable as a button to cause the re-evaluation of the query limited to results within the category of “Fashion Jewelry.”
  • each attribute of the attribute filter 435 may be associated with a corresponding check box. After the user selects one or more of the check boxes, a submit button or the like may be used to submit the query and generate results limited to the selected attributes.
  • the search string has been modified by the search machine 110 to treat the phrase “from india” as an attribute. Accordingly, only items that have the condition of being “from India” are returned.
  • the communication module 510 may control communication with the user device 130 and the item database 115 .
  • the communication module 510 may also send data to the storage module 560 , for storage on the search machine 110 or the item database 115 .
  • the phrase module 520 may modify the search string by replacing one or more search terms with a search phrase. For example, the search terms “size” and “10” may be replaced by the phrase “size 10.”
  • the modification of the search string may be based on a determination that better results will be given using the modified string, as discussed in more detail with respect to FIGS. 7-10 , below.
  • the drop words may be determined by mining a database of prior user interactions. Whenever a user enters one search string, sees results, and enters another search string, there is a transition between the two search strings.
  • the first query is the pre-transition query and the second query is the post-transition query. Once a particular transition has been seen at least a threshold number of times (e.g., 1 time, 10 times, 100 times), the second search string may be considered as a possible refinement of the first search string.
  • the second search string is the same as the first search string except that one or more terms have been dropped, those terms may be drop candidates.
  • the set of drop candidates is further refined by limiting the possible refinements to those transitions for which the post-transition query has a higher engagement rate than the pre-transition query.
  • the attribute module 540 may modify the search string by converting one or more search terms in a search string to attribute searches. For example, terms such as “from India” or “in California” may be converted to search for the named location in the location attribute of the item. Similarly, a term such as “since 1993” or “before April” may be converted to search for the named date or date range in the publication date attribute of the item. Likewise, a term such as “auction” may be converted to search for items being sold in an auction format.
  • Other attributes may include shipping region, buy-it-now sales format, gift, payment options, classified advertising format, best offer sales format, adult content, promotional content, free shipping, daily deal, local to user, shipping method, item condition (e.g., new/used, mint/fine/good), color, language, brand, lot size, and the like.
  • the modification of the search string may be based on a determination that better results will be given using the modified string, as discussed in more detail with respect to FIGS. 7-10 , below.
  • the storage module 560 may store the results of searches and subsequent user actions.
  • replacement phrases, dropped terms, and attribute substitutions are stored in the storage module 560 for later retrieval by the phrase module 520 , the drop module 530 , the attribute module 540 , or the transition module 550 .
  • replacement phrases, dropped terms, and attribute substitutions are generated dynamically by the phrase module 520 , the drop module 530 , and the attribute module 540 in response to the receipt of each search string.
  • FIG. 6 is a block diagram illustrating components of the user device 130 , according to some example embodiments.
  • the user device 130 is shown as including a communication module 610 and a user interface module 620 , configured to communicate with each other (e.g., via a bus, shared memory, or a switch).
  • Any one or more of the modules described herein may be implemented using hardware (e.g., a processor of a machine) or a combination of hardware and software.
  • any module described herein may configure a processor to perform the operations described herein for that module.
  • any two or more of these modules may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules.
  • modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices.
  • a set of phrases is chosen or generated, each phrase being in the user query. For example, if the user query is “white apple tv”, the phrases may be “white apple”, “apple tv”, and “white apple tv”.
  • a set of dropped terms is chosen or generated, each dropped term being in the user query. For example, if the user query is “white apple tv,” the dropped terms may be selected from “white,” “apple,” and “tv.”
  • prior user engagements are analyzed.
  • prior user engagements may be selected from a database containing prior user searches and item interactions.
  • Engagement with an item resulting from the user query may include an auction bid, a fixed-price purchase, a detail view of the item, and the like.
  • a combined score is calculated.
  • the phrase engagement ratio may be added to the phrase exposure ratio to generate a score.
  • Each of the ratios may be multiplied by a scale factor to appropriately weight the two components of the score.
  • the length of the phrase may also considered as a factor.
  • the phrase “white apple tv” may be given additional weight relative to the two-word phrases. This may be treated as a multiplicative factor, e.g., the score for each phrase may be multiplied by the number of words in the phrase, or an additive factor, e.g., the length of the phrase may be added to the score.
  • the length of the phrase also has a scale factor.
  • an attribute engagement ratio for the set of engagements (calculated using equation 1130 ) and an attribute exposure ratio for the set of engagements (calculated using equation 1140 ) may be calculated.
  • the attribute engagement ratio and attribute exposure ratio may indicate the quality of the attribute.
  • the attribute with the highest attribute engagement ratio above 95% of attributes with positive attribute exposure ratios is chosen.
  • no attribute is chosen. When no attribute is chosen, the query will not be modified to add an attribute.
  • a drop engagement ratio for the set of engagements (calculated using equation 1150 ) and a drop exposure ratio for the set of engagements (calculated using equation 1160 ) may be calculated.
  • the drop engagement ratio and drop exposure ratio may indicate the quality of the drop.
  • the drop with the highest attribute engagement ratio above 95% of drops with positive drop exposure ratios is chosen.
  • no drop is chosen. When no drop is chosen, the query will not be modified to drop terms.
  • one or more of the analyzed modifications is chosen and the query is modified. For example, if one of the phrases of the query is chosen, the query will be processed with the terms of the phrase treated as a phrase instead of as separate terms. For example, “white apple tv” may be treated as “white AND ‘apple tv’” rather than “white AND apple AND tv”. As another example, if an attribute of “new” is chosen, the query will be processed with the attribute, either in addition to all terms of the original query, or as a substitution for one or more terms of the original query.
  • “white apple tv” may be treated as a search of items matching the search string “white apple tv” and having the attribute of being “new.” In this example, the attribute has been added to the search string.
  • “new white apple tv” may also be treated as a search of items matching the search string “white apple tv” and having the attribute of being “new.” In this example, the search term “new” has been replaced by the attribute.
  • query rewriting (e.g., replacing a word with its base, permitting abbreviations to be used for a full word, etc.) may also be applied to the resulting query.
  • the query rewriting may occur before or after the generation and analysis performed in the operations 720 - 770 .
  • the operations 720 - 740 (and corresponding operations 750 - 770 ) are shown as being performed in parallel. In some example embodiments, only one or two of the parallel paths shown is followed. For example, phrases may be generated and analyzed (in the operations 720 and 750 ), while attributes and drops are not considered. In other example embodiments, operations are performed sequentially rather than in parallel. For example, the generation of drops in the operation 740 may occur after the generation and analysis of phrases in the operations 720 and 750 . Similarly, FIG. 7 shows the modification of the query (the operation 780 ) occurring after the generation and analysis of the phrases, attributes and drops. In some example embodiments, the modification of the query occurs as an intermediate step. For example, the query may be modified after the phrase analysis of the operation 750 is complete, and that modified query used as the input query for the generation of drops in the operation 740 .
  • FIG. 8 is a flowchart illustrating operations of a machine (e.g., the search machine 110 ) in performing a method 800 of search phrase modification, according to some example embodiments. Operations in the method 800 may be performed by the search machine 110 , using modules described above with respect to FIG. 5 . As shown in FIG. 8 , the method 800 includes operations 810 , 820 , 830 , 840 , and 850 .
  • the set of transitions is limited to transitions in which the post-transition query is the same as the pre-transition query except that one or more of the words in the search string have been dropped. These transitions may show instances in which users have been dissatisfied with the search results and opted to search again without the dropped words.
  • FIG. 9 is a flowchart illustrating operations of a machine (e.g., the search machine 110 ) in performing a method 900 of search phrase modification, according to some example embodiments. Operations in the method 900 may be performed by the search machine 110 , using modules described above with respect to FIG. 5 . As shown in FIG. 9 , the method 900 includes operations 910 , 920 , 930 , 940 , and 950 .
  • an initial set of transitions is selected for analysis.
  • the set of transitions may be selected based on the pre-transition query, the post-transition query, resulting engagement with items matching another query, or any suitable combination thereof.
  • the set of transitions is chosen based on the pre-transition query matching a user query.
  • the set of transitions is limited to transitions in which the post-transition query is the same as the pre-transition query except that one or more of the words in the search string have been replaced by an attribute.
  • These transitions may show instances in which users have been dissatisfied with the search results and opted to search again by changing a search term to an attribute. For example, a user may search for “new tv,” be dissatisfied with the results, and search again for “tv” while limiting the results to items having the attribute of “new.”
  • the pre-transition query may be “car auction” and the post-transition query may be “car” with the attribute “auction” selected.
  • the transitions in the set are analyzed. For example, if the percentage of post-transition queries that resulted in engagement is greater than the percentage of pre-transition queries that resulted in engagement, this may be a positive factor for the transition. As another example, a higher frequency of the transition may be a positive factor for the transition.
  • a score may be generated for each transition and the post-transition query for the transition with the highest score chosen. If no transition has more than a minimum score, no transition may be chosen. When no transition is chosen, the original query will be processed.
  • a transition is chosen. Based on the selected transition, the post-transition query will be processed instead of the original query (in the operation 950 ).
  • Query rewriting e.g., replacing a word with its base, permitting abbreviations to be used for a full word, etc. may be applied to the resulting query.
  • the server modifies the query to treat some terms as a phrase.
  • the terms “ipod” and “nano” may be treated as the phrase “ipod nano.”
  • the server modifies the query to treat one or more terms as attribute search terms.
  • the term “new” may be treated as an attribute search instead of a keyword search.
  • search results are generated for the chosen query and transmitted to the user.
  • the chosen query is also transmitted to the user device for presentation to the user. For example, the user may be informed that the original query of “new ipod nano with headphones” was replaced by a query for “‘ipod nano’ AND headphones,” with the results limited to items having the attribute “new.”
  • FIG. 11 shows equations used in operations of a search machine in performing methods of search phrase modification, according to some example embodiments.
  • Equation 1110 shows that the conditional probability of a phrase given than an item is bought is equal to the number of items bought containing the phrase divided by the total number of items bought.
  • the conditional probability of a phrase may indicate the quality of the phrase. For example, a certain search string may return a set of results when executed as a non-phrase. 80% of the results may contain the search string as a phrase, while 99% of the items actually purchased as a result of the search may contain the search string as a phrase. In this case, the conditional probability of the phrase would be 99%.
  • a threshold may be used to determine a good phrase (e.g., 95%).
  • the equation 1110 provides a high false positive rate when the frequency of engaged items is low. In these cases, it may be difficult to distinguish signal from noise with a string threshold. Beta-Binomial smoothing may be incorporated to reduce the false positive rate. By incorporating Beta-Binomial smoothing, the number of phrases engaged with is modeled as a binomial process and the Beta distribution is used to smooth the engaged efficiency.
  • equation 1110 will show a high conditional probability for the phrase, even if treating the terms as a phrase does not actually increase engagement.
  • the lift calculated using equation 1120 will show whether or not treating the terms as a phrase resulted in a higher engagement. Accordingly, the decision to substitute the phrase-replaced query for the original query may be based on the conditional probability exceeding a threshold and the lift being greater than zero.
  • Equations 1110 and 1120 may be used to determine the impact of changes other than phrase substitution.
  • equation 1110 to attribute detection, the conditional probability of the attribute given than an item is bought is equal to the number of items bought having the attribute divided by the total number of items bought. The results of such substitutions are shown in equations 1130 - 1160 .
  • one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in search phrase modification. Efforts expended by a user in identifying items of interest may be reduced by one or more of the methodologies described herein. Computing resources used by one or more machines, databases, or devices (e.g., within the network environment 100 ) may similarly be reduced. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
  • FIG. 12 is a block diagram illustrating components of a machine 1200 , according to some example embodiments, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof) and perform any one or more of the methodologies discussed herein, in whole or in part.
  • a machine-readable medium e.g., a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof
  • FIG. 12 shows a diagrammatic representation of the machine 1200 in the example form of a computer system within which instructions 1224 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1200 to perform any one or more of the methodologies discussed herein may be executed, in whole or in part.
  • instructions 1224 e.g., software, a program, an application, an applet, an app, or other executable code
  • the machine 1200 operates as a standalone device or may be connected (e.g., networked) to other machines.
  • the machine 1200 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a distributed (e.g., peer-to-peer) network environment.
  • the machine 1200 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a wearable computer, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1224 , sequentially or otherwise, that specify actions to be taken by that machine.
  • the term “machine” shall also be taken to include a collection of machines that individually or jointly execute the instructions 1224 to perform all or part of any one or more of the methodologies discussed herein.
  • the machine 1200 includes a processor 1202 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory 1204 , and a static memory 1206 , which are configured to communicate with each other via a bus 1208 .
  • the machine 1200 may further include a graphics display 1210 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)).
  • a graphics display 1210 e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)
  • the machine 1200 may also include an alphanumeric input device 1212 (e.g., a keyboard), a cursor control device 1214 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1216 , a signal generation device 1218 (e.g., a speaker), and a network interface device 1220 .
  • an alphanumeric input device 1212 e.g., a keyboard
  • a cursor control device 1214 e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument
  • a storage unit 1216 e.g., a keyboard
  • a signal generation device 1218 e.g., a speaker
  • the storage unit 1216 includes a machine-readable medium 1222 on which are stored the instructions 1224 embodying any one or more of the methodologies or functions described herein.
  • the instructions 1224 may also reside, completely or at least partially, within the main memory 1204 , within the processor 1202 (e.g., within the processor's cache memory), or both, during execution thereof by the machine 1200 . Accordingly, the main memory 1204 and the processor 1202 may be considered machine-readable media.
  • the instructions 1224 may be transmitted or received over a network 1226 (e.g., the network 190 ) via the network interface device 1220 .
  • the term “memory” refers to a machine-readable medium able to store data temporarily or permanently, and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium 1222 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions.
  • machine-readable medium shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions for execution by a machine (e.g., the machine 1200 ), such that the instructions, when executed by one or more processors of the machine (e.g., the processor 1202 ), cause the machine to perform any one or more of the methodologies described herein. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices.
  • the term “machine-readable medium” shall accordingly be taken to include, but not be limited to, one or more data repositories in the form of a solid-state memory, an optical medium, a magnetic medium, or any suitable combination thereof.
  • Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules.
  • a “hardware module” is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner.
  • one or more computer systems e.g., a standalone computer system, a client computer system, or a server computer system
  • one or more hardware modules of a computer system e.g., a processor or a group of processors
  • software e.g., an application or application portion
  • a hardware module may be implemented mechanically, electronically, or any suitable combination thereof.
  • a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations.
  • a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC.
  • a hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
  • a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • hardware module should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
  • “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
  • Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • a resource e.g., a collection of information
  • processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein.
  • processor-implemented module refers to a hardware module implemented using one or more processors.
  • the methods described herein may be at least partially processor-implemented, a processor being an example of hardware.
  • a processor being an example of hardware.
  • the operations of a method may be performed by one or more processors or processor-implemented modules.
  • the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS).
  • SaaS software as a service
  • at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
  • API application program interface
  • the performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines.
  • the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.

Abstract

A user may submit a search string to a system. Before processing the search, the system may analyze the search string and modify it. For example, the search string may be modified by treating some terms as a phrase, by dropping some terms, by treating some terms as attributes, or any suitable combination thereof. The modification of the search string may be based on an analysis of prior search strings and user actions. The results of a search based on the modified search string may be returned to the user.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 61/861,315, filed Aug. 1, 2013, entitled “SEARCH PHRASE MODIFICATION,” which is incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • The subject matter disclosed herein generally relates to the processing of data. In one specific example, the present disclosure addresses systems and methods for search phrase modification.
  • BACKGROUND
  • Search engines provide users the ability to enter search queries and view sets of results responsive to the search queries. A user may view the set of results generated for a search query, decide the results do not reflect what the user had in mind, and submit a modified search query. The user may repeat this process until satisfactory results are presented or the user gives up on the search.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings.
  • FIG. 1 is a network diagram illustrating a network environment suitable for search phrase modification, according to some example embodiments.
  • FIG. 2 is a screen diagram illustrating a type of search phrase modification, according to some example embodiments.
  • FIG. 3 is a screen diagram illustrating a type of search phrase modification, according to some example embodiments.
  • FIG. 4 is a screen diagram illustrating a type of search phrase modification, according to some example embodiments.
  • FIG. 5 is a block diagram illustrating components of a search machine suitable for search phrase modification, according to some example embodiments.
  • FIG. 6 is a block diagram illustrating components of a user device suitable for search phrase modification, according to some example embodiments.
  • FIG. 7 is a flowchart illustrating operations of a search machine in performing a method of search phrase modification, according to some example embodiments.
  • FIG. 8 is a flowchart illustrating operations of a search machine in performing a method of search phrase modification, according to some example embodiments.
  • FIG. 9 is a flowchart illustrating operations of a search machine in performing a method of search phrase modification, according to some example embodiments.
  • FIG. 10 is a flowchart illustrating operations of a search machine in performing a method of search phrase modification, according to some example embodiments.
  • FIG. 11 shows equations used in operations of a search machine in performing methods of search phrase modification, according to some example embodiments.
  • FIG. 12 is a block diagram illustrating components of a machine, according to some example embodiments, able to read instructions from a machine-readable medium and perform any one or more of the methodologies discussed herein.
  • DETAILED DESCRIPTION
  • Example methods and systems are directed to search phrase modification. Examples merely typify possible variations. Unless explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.
  • In a search system, a user may submit a search string that includes multiple terms to the search system. Before performing the search, the search system may process the search string. For example, the search system may modify the search string by grouping some of the terms into a phrase, dropping or otherwise removing some of the terms from the search string, treating some terms as attributes, or any suitable combination thereof.
  • According to some embodiments, modifying a search string may have many practical advantages. For example, in an e-commerce system that lists items (e.g., goods or services) available to the user for purchase, modifying the search string may, in some cases, increase the probability that the user will find an item of interest. For example, a user searching for a “used car” most likely wants a car that is used, not an item with both “used” and “car” in the description or title. Accordingly, modifying the search string to search for a “car” with the attribute of “used” may increase the probability that the user finds items of interest. As another example, a user searching for an “apple tv” most likely wants an Apple TV, not other products that contain both terms (such as a cable that can connect an Apple computer to a TV set). Accordingly, modifying the search string to search for “apple tv” as a phrase may increase the probability that the user finds items of interest.
  • In some embodiments, the modification of the search string may be based on an analysis of prior search strings and user actions. For example, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms treated as a phrase, the search string may be modified to treat those terms as a phrase. Similarly, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms dropped, the search string may be modified to drop those terms. Likewise, if the same search string or a similar search string frequently resulted in the user interacting with items that would have been found with some terms treated as an attribute search, the search string may be modified to treat those terms as an attribute search. In addition to considering the items interacted with by the user after a search, the sequence of searches performed by a user may be considered. For example, if a search is performed but no items are interacted with and then a second search is performed that contains fewer terms, the first search string may be modified to drop the terms omitted in the second search. Likewise, if the second search contains an attribute search, the first search may be modified to include the attribute search used in the second search. In some example embodiments, engagement by the user with items returned from the second search gives additional weight to the use of the second search.
  • FIG. 1 is a network diagram illustrating a network environment 100 suitable for search phrase modification, according to some example embodiments. The network environment 100 includes a network-based commerce system 105 and user devices 130 a and 130 b, all communicatively coupled to each other via a network 190. The network-based commerce system 105 may comprise multiple servers (e.g., a search machine 110) and databases (e.g., an item database 115). Devices within the network-based commerce system 105 may communicate via the network 190 or another network. The network-based commerce system 105 may present a single interface to the network 190. The search machine 110 and the user devices 130 a and 130 b may each be implemented in a computer system, in whole or in part, as described below with respect to FIG. 12. The user devices 130 a and 130 b may be referred to as user device (or devices) 130 herein.
  • The user device 130 may submit a search query to the network-based commerce system 105. The search machine 110 may modify the search query before submitting the modified search query to the item database 115. The results of the search in the item database 115 may be returned to the user device 130 for display.
  • The user device 130 may present information to a user. For example, the user device 130 may be running a web browser presenting a web page. The user may indicate a search query to the user device 130. A search query defines the parameters of a search. The user device 130 may submit the search query to the search machine 110 running a search application that searches items stored in the item database 115. For example, the user may enter a search string into a hypertext markup language (HTML) form and press a button to cause the submission of the search query to the search machine 110. The search query may be transmitted using hypertext transport protocol (HTTP) over transmission control protocol/Internet protocol (TCP/IP). The search machine 110 may send the results of the search query back to the user device 130. The user device 130 may present the search results received from the search machine 110 to the user.
  • Also shown in FIG. 1 are users 132 a and 132 b. One or both of the users 132 a and 132 b may be a human user, a machine user (e.g., a computer configured by a software program to interact with the user device 130), or any suitable combination thereof (e.g., a human assisted by a machine or a machine supervised by a human). The user 132 a is not part of the network environment 100, but is associated with the user device 130 a and may be a user of the user device 130 a. For example, the user device 130 a may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smart phone, a smart watch, or a pair of smart glasses belonging to the user 132 a. Likewise, the user 132 b is not part of the network environment 100, but is associated with the user device 130 b. As an example, the user device 130 b may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smart phone, a smart watch, or a pair of smart glasses belonging to the user 132 b.
  • Any of the machines, databases, or devices shown in FIG. 1 may be implemented in a general-purpose computer modified (e.g., configured or programmed) by software to be a special-purpose computer to perform the functions described herein for that machine, database, or device. For example, a computer system able to implement any one or more of the methodologies described herein is discussed below with respect to FIG. 12. As used herein, a “database” is a data storage resource and may store data structured as a text file, a table, a spreadsheet, a relational database (e.g., an object-relational database), a triple store, a hierarchical data store, or any suitable combination thereof. Moreover, any two or more of the machines, databases, or devices illustrated in FIG. 1 may be combined into a single machine, and the functions described herein for any single machine, database, or device may be subdivided among multiple machines, databases, or devices.
  • The network 190 may be any network that enables communication between or among machines, databases, and devices (e.g., the search machine 110 and the user device 130). Accordingly, the network 190 may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network 190 may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof.
  • FIG. 2 is a screen diagram 200 illustrating a type of search phrase modification, according to some example embodiments. As shown in the screen diagram 200, the user has entered a search string of “diamond ring size 10” in a search string entry field 210.
  • Filters 220-235 are operable to limit the result set shown to the user. The filters 220-235 may operate as buttons, wherein selecting a filter directly causes the presentation of filtered results to the user. Alternatively, the filters 220-235 may be associated with radio buttons or checkboxes, such that the user may make a number of filter selections before submitting the set of selections. For example, the category of “Fine Jewelry,” shown as part of the filter 220, labeled “Categories,” may be operable as a button to cause the re-evaluation of the query limited to results within the category of “Fine Jewelry.” As another example, the metals of “Multi-Tone Gold” and “Platinum,” shown as part of the filter 235, labeled “Metal,” may be presented with corresponding check boxes. After the user checks the checkboxes corresponding to each metal, a submit button or the like may be used to submit the query and generate results limited to the selected metals.
  • The filters 220-235 may correspond to attributes of a query. For example, the items 240-255 may be assigned to one or more categories and sub-categories (corresponding to filter 220) and items for sale may be assigned to one or more sales formats (corresponding to filter 225). Similarly, rings may be assigned to one or more ring-specific styles (corresponding to filter 230) and metals (corresponding to filter 235).
  • The results 240-255 may each include an image of an item, a title of the item, and attributes of the item or the seller of the item. For example, the result 240 shows a title of “Size 10 14 k 1.50 ct Sapphire 0.08 ct Diamond Ring,” along with an attribute of the seller as being “Top Rated.”
  • The search string has been modified by the search machine 110 to treat the terms “size” and “10” as a phrase. Accordingly, only items that contain the phrase “size 10” or its equivalent in the title or description of the item listing are returned. For example, the results 240 and 255 contain the phrase “Size 10” in the title of the item. In some example embodiments, equivalents of the phrase are omitted, searching is performed only in the title of the item, or both. In this example embodiment, other portions of the system may further alter the search phrase. For example, the result 245 contains the phrase “sz 10,” but not “size 10,” in the title. That is, “sz” is treated as an equivalent for “size” in this query, even as the query was converted from “size AND 10” to the phrase “size 10.” Similarly, the result 250 contains “size10,” without a space between the word “size” and the number “10.” This is also treated as an equivalent for the phrase “size 10.”
  • In the example embodiment of FIG. 2, no indication is provided to the user that the terms “size” and “10” have been treated as a phrase. In other example embodiments, an indication of the phrase modification is provided. For example, the text entered into the search string entry field 210 can be replaced with the modified search string. As another example, the modified search string may be presented above the search results, as a tool tip, or in another way. For example, the color of the text in the search string entry field 210 may be changed (e.g., from black to green) to indicate that the search query was modified. By hovering over the search string entry field 210, the modified search query may be displayed in a tool tip.
  • FIG. 3 is a screen diagram 300 illustrating a type of search phrase modification, according to some example embodiments. As shown in the screen diagram 300, the user has entered a search string of “used cars for sale” in a search string entry field 310. The search string has been modified by the search machine 110 to treat the term “used” as an attribute as well as a term. In some example embodiments, the term “used” is treated as an attribute and instead of as a term. In these example embodiments, some of the items returned to the user will not contain “used” in the title or description of the item listing.
  • In the example embodiment of FIG. 3, no indication is provided to the user that the term “used” has been treated as an attribute. In other example embodiments, an indication of the attribute modification is provided. For example, a checkbox for the “used” condition in the filter 330 may be checked. Similarly, in embodiments in which the term is replaced, the text entered into the search string entry field 210 can be replaced with the modified search string, lacking the term “used.”
  • Filters 320-350 are operable to limit the result set shown to the user. The filters 320-350 may operate as buttons, wherein selecting a filter directly causes the presentation of filtered results to the user. Alternatively, the filters 320-350 may be associated with radio buttons, text fields, or checkboxes, such that the user may make a number of filter selections before submitting the set of selections. For example, the category of “Cars & Trucks,” shown as part of the filter 320, labeled “Categories,” may be operable as a button to cause the re-evaluation of the query limited to results within the category of “Cars & Trucks.” As another example, the price filter 335 may be associated with two text fields. After the user enters a minimum price, a maximum price, or both into the text fields, a submit button or the like may be used to submit the query and generate results limited to the entered price range.
  • The results 355-365 may each include an image of an item, a title of the item, and attributes of the item or the seller of the item. For example, the result 355 shows a title of “ 1/24 Scale Slot Cars For Sale Very Nice JK/KELLY 2,” along with an attribute of the seller as being “Top Rated.”
  • The search string has been modified by the search machine 110 to treat the term “used” as an attribute. Accordingly, only items that have the condition of “used” are returned. In this case, the condition of the items is an attribute. The condition filter 330 may be operable by the user to override the automatic determination that used was intended to be treated as an attribute. As shown in FIG. 3, 249 used items matching the modified search query are available, along with 8 new items. Accordingly, the user is presently viewing the first results of the 249 used items, but is enabled to select “new” as the condition, and receive the 8 results for new items (or a subset thereof).
  • FIG. 4 is a screen diagram 400 illustrating a type of search phrase modification, according to some example embodiments. As shown in the screen diagram 400, the user has entered a search string of “jewelry from india” in a search string entry field 410. The search string has been modified by the search machine to treat the terms “from India” as a search within the country-origin attribute. Accordingly, some of the items returned to the user do not contain “from” or “India” in the title or description of the item listing, and only items originating from India have been returned.
  • In the example embodiment of FIG. 4, no indication is provided to the user that the terms “from India” have been treated as an attribute. In other example embodiments, an indication of the attribute modification is provided. For example, the text entered into the search string entry field 210 can be replaced with the modified search string, lacking the terms “from” and “India.” Similarly, a checkbox for an “India” attribute (not shown) in the item location filter 430 may be checked.
  • Filters 420-435 are operable to limit the result set shown to the user. The filters 420-435 may operate as buttons, wherein selecting a filter directly causes the presentation of filtered results to the user. Alternatively, the filters 420-435 may be associated with radio buttons, text fields, or checkboxes, such that the user may make a number of filter selections before submitting the set of selections. For example, the category of “Fashion Jewelry,” shown as part of the filter 420, labeled “Categories,” may be operable as a button to cause the re-evaluation of the query limited to results within the category of “Fashion Jewelry.” As another example, each attribute of the attribute filter 435 may be associated with a corresponding check box. After the user selects one or more of the check boxes, a submit button or the like may be used to submit the query and generate results limited to the selected attributes.
  • The results 440-455 may each include an image of an item, a title of the item, and attributes of the item or the seller of the item. For example, the result 450 shows a title of “Labradorite Gem Stone Silver Necklace,” along with an attribute of the item as being “From India.”
  • The search string has been modified by the search machine 110 to treat the phrase “from india” as an attribute. Accordingly, only items that have the condition of being “from India” are returned.
  • FIG. 5 is a block diagram illustrating components of the search machine 110, according to some example embodiments. The search machine 110 is shown as including a communication module 510, a phrase module 520, a drop module 530, an attribute module 540, a transition module 550, and a storage module 560, all configured to communicate with each other (e.g., via a bus, shared memory, a switch, or application programming interfaces (APIs)). Any one or more of the modules described herein may be implemented using hardware (e.g., a processor of a machine) or a combination of hardware and software. For example, any module described herein may configure a processor to perform the operations described herein for that module. Moreover, any two or more of these modules may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules. Furthermore, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices.
  • The communication module 510 may control communication with the user device 130 and the item database 115. The communication module 510 may also send data to the storage module 560, for storage on the search machine 110 or the item database 115.
  • After the communication module 510 receives a search string from the user device 130, the phrase module 520 may modify the search string by replacing one or more search terms with a search phrase. For example, the search terms “size” and “10” may be replaced by the phrase “size 10.” The modification of the search string may be based on a determination that better results will be given using the modified string, as discussed in more detail with respect to FIGS. 7-10, below.
  • The drop module 530 may modify the search string by dropping one or more search terms from a search phrase. For example, if the search is being performed on an e-commerce site in which all items are for sale, the search terms “for” and “sale” may be dropped. Similarly, if the search is being performed with a web search tool, the search terms “web” and “page” may be dropped. Additional example words to drop include “and”, “cheap”, “only”, “of”, “is”, “for”, “will”, “with”, and “into”. The modification of the search string may be based on a determination that better results will be given using the modified string, as discussed in more detail with respect to FIGS. 7-10, below.
  • The drop words may be determined by mining a database of prior user interactions. Whenever a user enters one search string, sees results, and enters another search string, there is a transition between the two search strings. The first query is the pre-transition query and the second query is the post-transition query. Once a particular transition has been seen at least a threshold number of times (e.g., 1 time, 10 times, 100 times), the second search string may be considered as a possible refinement of the first search string. When the second search string is the same as the first search string except that one or more terms have been dropped, those terms may be drop candidates. In some example embodiments, the set of drop candidates is further refined by limiting the possible refinements to those transitions for which the post-transition query has a higher engagement rate than the pre-transition query.
  • The attribute module 540 may modify the search string by converting one or more search terms in a search string to attribute searches. For example, terms such as “from India” or “in California” may be converted to search for the named location in the location attribute of the item. Similarly, a term such as “since 1993” or “before April” may be converted to search for the named date or date range in the publication date attribute of the item. Likewise, a term such as “auction” may be converted to search for items being sold in an auction format. Other attributes may include shipping region, buy-it-now sales format, gift, payment options, classified advertising format, best offer sales format, adult content, promotional content, free shipping, daily deal, local to user, shipping method, item condition (e.g., new/used, mint/fine/good), color, language, brand, lot size, and the like. The modification of the search string may be based on a determination that better results will be given using the modified string, as discussed in more detail with respect to FIGS. 7-10, below.
  • The transition module 550 may determine the modifications to be made by the phrase module 520, the drop module 530, and the attribute module 540 by mining a database of prior user interactions. For example, when the user's search string is related by a transition to a second search string in which two or more terms of the search string are replaced by a phrase made up of the terms, those terms may be candidates for conversion to a phrase by the phrase module 520. As another example, when the user's search string is related by a transition to a second search string in which one or more terms of the search string are missing, those terms may be candidates for dropping by the drop module 530. Similarly, when the user's search string is related by a known transition to a second search string lacking terms corresponding to attributes, those terms may be candidates for conversion to attributes by the attribute module 540.
  • The storage module 560 may store the results of searches and subsequent user actions. In some example embodiments, replacement phrases, dropped terms, and attribute substitutions are stored in the storage module 560 for later retrieval by the phrase module 520, the drop module 530, the attribute module 540, or the transition module 550. In other example embodiments, replacement phrases, dropped terms, and attribute substitutions are generated dynamically by the phrase module 520, the drop module 530, and the attribute module 540 in response to the receipt of each search string.
  • FIG. 6 is a block diagram illustrating components of the user device 130, according to some example embodiments. The user device 130 is shown as including a communication module 610 and a user interface module 620, configured to communicate with each other (e.g., via a bus, shared memory, or a switch). Any one or more of the modules described herein may be implemented using hardware (e.g., a processor of a machine) or a combination of hardware and software. For example, any module described herein may configure a processor to perform the operations described herein for that module. Moreover, any two or more of these modules may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules. Furthermore, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices.
  • The communication module 610 may communicate with the network-based commerce system 105, the search machine 110, the Internet, or any suitable combination thereof. Information received via the communication module 610 may be presented (e.g., displayed on a display device) via the user interface module 620. Search strings may be entered by a user using a user interface presented by the user interface module 620. The search strings may be communicated to the network-based commerce system 105 via the communication module 610. The items of interest generated by the network-based commerce system 105 may be presented to the user via the user interface module 620.
  • FIG. 7 is a flowchart illustrating operations of a machine (e.g., the search machine 110) in performing a method 700 of search phrase modification, according to some example embodiments. Operations in the method 700 may be performed by the search machine 110, using modules described above with respect to FIG. 5.
  • In the operation 710, a user query is received. For example, the user query may be the string “white apple tv.”
  • In the operation 720, a set of phrases is chosen or generated, each phrase being in the user query. For example, if the user query is “white apple tv”, the phrases may be “white apple”, “apple tv”, and “white apple tv”.
  • In the operation 730, a set of attributes or attribute combinations is chosen or generated. The set of attributes or attribute combinations may be selected based on the popularity of applying those attributes (e.g., the frequency with which they have been applied in the past by users), based on all possible attributes, either singly or in combination, based on terms in the query, or selected by an administrator. For example, the set of attributes or attribute combinations may include a specific brand, a specific price range, a specific color and size, a specific author and year of publication, and so on. As another example, if the user query is “new white apple tv,” the term “new” may be recognized as matching an attribute for new items, and the attribute “new” may be added to the set of attributes.
  • In the operation 740, a set of dropped terms is chosen or generated, each dropped term being in the user query. For example, if the user query is “white apple tv,” the dropped terms may be selected from “white,” “apple,” and “tv.”
  • In the operations 750-770, prior user engagements are analyzed. For example, prior user engagements may be selected from a database containing prior user searches and item interactions. Engagement with an item resulting from the user query may include an auction bid, a fixed-price purchase, a detail view of the item, and the like.
  • In the operation 750, for each phrase in the set of phrases, a phrase engagement ratio for the set of engagements (calculated using equation 1110) and a phrase exposure ratio for the set of engagements (calculated using equation 1120) may be calculated. In some example embodiments, other ways of determining the phrase engagement ratio and the phrase exposure ratio are used. The phrase engagement ratio and phrase exposure ratio may indicate the quality of the phrase. In one example embodiment, the phrase with the highest phrase engagement ratio above 95% of phrases with positive phrase exposure ratios is chosen. In this example embodiment, if no phrase meets the minimum criteria, no phrase is chosen. When no phrase is chosen, the query will not be modified to convert terms into a phrase.
  • In some example embodiments, in addition to or instead of applying a cut-off value for each criterion, a combined score is calculated. For example, the phrase engagement ratio may be added to the phrase exposure ratio to generate a score. Each of the ratios may be multiplied by a scale factor to appropriately weight the two components of the score. The length of the phrase may also considered as a factor. Continuing with the example above, the phrase “white apple tv” may be given additional weight relative to the two-word phrases. This may be treated as a multiplicative factor, e.g., the score for each phrase may be multiplied by the number of words in the phrase, or an additive factor, e.g., the length of the phrase may be added to the score. In some example embodiments, the length of the phrase also has a scale factor.
  • In some example embodiments, multiple phrases may be chosen. In these embodiments, phrases may or may not be allowed to overlap. For example, the search query “white apple tv” may result in the generation of phrases “white apple” and “apple tv.” When both of these phrases meet the criteria for substitution, one phrase may be substituted, as discussed above. Alternatively, both phrases may be substituted, resulting in the search query “‘white apple’ AND ‘apple tv.’” In this case, the phrases are allowed to overlap, since both phrases include the word “apple,” even though that word appeared only once in the original query. In embodiments where phrases are not allowed to overlap, multiple phrases may be allowed in general, but the highest-rated phrase selected when the phrases overlap. Thus, “‘white apple’ AND tv” would be the resulting search query when “white apple” had a higher score than “apple tv” and overlapping of terms was excluded.
  • In the operation 760, for each attribute (or attribute combination) in the set of attributes, an attribute engagement ratio for the set of engagements (calculated using equation 1130) and an attribute exposure ratio for the set of engagements (calculated using equation 1140) may be calculated. In some example embodiments, other ways of determining the attribute engagement ratio and the attribute exposure ratio are used. The attribute engagement ratio and attribute exposure ratio may indicate the quality of the attribute. In one example embodiment, the attribute with the highest attribute engagement ratio above 95% of attributes with positive attribute exposure ratios is chosen. In this example embodiment, if no attribute meets the minimum criteria, no attribute is chosen. When no attribute is chosen, the query will not be modified to add an attribute.
  • In the operation 770, for each drop (or drop combination) in the set of drops, a drop engagement ratio for the set of engagements (calculated using equation 1150) and a drop exposure ratio for the set of engagements (calculated using equation 1160) may be calculated. In some example embodiments, other ways of determining the drop engagement ratio and the drop exposure ratio are used. The drop engagement ratio and drop exposure ratio may indicate the quality of the drop. In one example embodiment, the drop with the highest attribute engagement ratio above 95% of drops with positive drop exposure ratios is chosen. In this example embodiment, if no drop meets the minimum criteria, no drop is chosen. When no drop is chosen, the query will not be modified to drop terms.
  • In the operation 780, one or more of the analyzed modifications is chosen and the query is modified. For example, if one of the phrases of the query is chosen, the query will be processed with the terms of the phrase treated as a phrase instead of as separate terms. For example, “white apple tv” may be treated as “white AND ‘apple tv’” rather than “white AND apple AND tv”. As another example, if an attribute of “new” is chosen, the query will be processed with the attribute, either in addition to all terms of the original query, or as a substitution for one or more terms of the original query. For example, “white apple tv” may be treated as a search of items matching the search string “white apple tv” and having the attribute of being “new.” In this example, the attribute has been added to the search string. As another example, “new white apple tv” may also be treated as a search of items matching the search string “white apple tv” and having the attribute of being “new.” In this example, the search term “new” has been replaced by the attribute.
  • Independent of the operation 780, query rewriting (e.g., replacing a word with its base, permitting abbreviations to be used for a full word, etc.) may also be applied to the resulting query. The query rewriting may occur before or after the generation and analysis performed in the operations 720-770.
  • In FIG. 7, the operations 720-740 (and corresponding operations 750-770) are shown as being performed in parallel. In some example embodiments, only one or two of the parallel paths shown is followed. For example, phrases may be generated and analyzed (in the operations 720 and 750), while attributes and drops are not considered. In other example embodiments, operations are performed sequentially rather than in parallel. For example, the generation of drops in the operation 740 may occur after the generation and analysis of phrases in the operations 720 and 750. Similarly, FIG. 7 shows the modification of the query (the operation 780) occurring after the generation and analysis of the phrases, attributes and drops. In some example embodiments, the modification of the query occurs as an intermediate step. For example, the query may be modified after the phrase analysis of the operation 750 is complete, and that modified query used as the input query for the generation of drops in the operation 740.
  • FIG. 8 is a flowchart illustrating operations of a machine (e.g., the search machine 110) in performing a method 800 of search phrase modification, according to some example embodiments. Operations in the method 800 may be performed by the search machine 110, using modules described above with respect to FIG. 5. As shown in FIG. 8, the method 800 includes operations 810, 820, 830, 840, and 850.
  • In the operation 810, an initial set of transitions is selected for analysis. The set of transitions may be selected based on the pre-transition query, the post-transition query, resulting engagement with items matching another query, or any suitable combination thereof. Engagement with an item may include an auction bid, a fixed-price purchase, a detail view of the item, and the like. In some example embodiments, the set of transitions is chosen based on the pre-transition query matching a user query.
  • In the operation 820, the set of transitions is limited to transitions in which the post-transition query is the same as the pre-transition query except that one or more of the words in the search string have been dropped. These transitions may show instances in which users have been dissatisfied with the search results and opted to search again without the dropped words.
  • In the operation 830, transitions in the set of transitions are analyzed. For example, if the percentage of post-transition queries that resulted in engagement is greater than the percentage of pre-transition queries that resulted in engagement, this may be a positive factor for the transition. As another example, a higher frequency of the transition may be a positive factor for the transition. A score may be generated for each transition and the post-transition query for the transition with the highest score chosen. If no transition has more than a minimum score, no transition may be chosen. When no transition is chosen, the original query will be processed.
  • In the operation 840, a transition is chosen. Based on the selected transition, the post-transition query will be processed instead of the original query (in the operation 850). Query rewriting (e.g., replacing a word with its base, permitting abbreviations to be used for a full word, etc.) may be applied to the resulting query.
  • FIG. 9 is a flowchart illustrating operations of a machine (e.g., the search machine 110) in performing a method 900 of search phrase modification, according to some example embodiments. Operations in the method 900 may be performed by the search machine 110, using modules described above with respect to FIG. 5. As shown in FIG. 9, the method 900 includes operations 910, 920, 930, 940, and 950.
  • In the operation 910, an initial set of transitions is selected for analysis. The set of transitions may be selected based on the pre-transition query, the post-transition query, resulting engagement with items matching another query, or any suitable combination thereof. In some example embodiments, the set of transitions is chosen based on the pre-transition query matching a user query.
  • In the operation 920, the set of transitions is limited to transitions in which the post-transition query is the same as the pre-transition query except that one or more of the words in the search string have been replaced by an attribute. These transitions may show instances in which users have been dissatisfied with the search results and opted to search again by changing a search term to an attribute. For example, a user may search for “new tv,” be dissatisfied with the results, and search again for “tv” while limiting the results to items having the attribute of “new.” As another example, the pre-transition query may be “car auction” and the post-transition query may be “car” with the attribute “auction” selected.
  • In the operation 930, the transitions in the set are analyzed. For example, if the percentage of post-transition queries that resulted in engagement is greater than the percentage of pre-transition queries that resulted in engagement, this may be a positive factor for the transition. As another example, a higher frequency of the transition may be a positive factor for the transition. A score may be generated for each transition and the post-transition query for the transition with the highest score chosen. If no transition has more than a minimum score, no transition may be chosen. When no transition is chosen, the original query will be processed.
  • In the operation 940, a transition is chosen. Based on the selected transition, the post-transition query will be processed instead of the original query (in the operation 950). Query rewriting (e.g., replacing a word with its base, permitting abbreviations to be used for a full word, etc.) may be applied to the resulting query.
  • FIG. 10 is a flowchart illustrating operations of a machine (e.g., the search machine 110) in performing a method 1000 of search phrase modification, according to some example embodiments. Operations in the method 1000 may be performed by the search machine 110, using modules described above with respect to FIG. 5. As shown in FIG. 10, the method 1000 includes operations 1010, 1020, 1030, 1040, and 1050.
  • In the operation 1010, a server receives a search query. For example, the search machine 110 may receive a search query generated by a user of a user device 130. For example, a search query for a “new ipod nano with headphones” may be received.
  • In the operation 1020, the server modifies the query to treat some terms as a phrase. For example, the terms “ipod” and “nano” may be treated as the phrase “ipod nano.”
  • In the operation 1030, the server modifies the query to treat one or more terms as attribute search terms. For example, the term “new” may be treated as an attribute search instead of a keyword search.
  • In the operation 1040, the server modifies the query to drop one or more search terms. For example, the term “with” may be dropped.
  • The various modifications performed in the operations 1020-1040 may occur sequentially or in parallel. For example, the original search query may be modified in each way, and then one modified result chosen. Alternatively, the search results generated from all three modified queries may be combined. The selection of the modified query to use may be based on prior engagement with the resulting queries by previous users. For example, the query “new AND ‘ipod nano’ AND with AND headphones” may be a candidate query based on the results of the operation 1020. The query “ipod AND nano AND with AND headphones” with the attribute of “new” may be a candidate query based on the results of the operation 1030. The query “new AND ipod AND nano AND headphones” may be a candidate query based on the results of the operation 1030. The query “‘ipod nano’ AND headphones” with the attribute “new” may be a candidate query based on the results of the operations 1020-1040 combined. Other combined results may also be generated. For example, the results of the operations 1020 and 1030 may be combined while the results of the operation 1040 is ignored. In some example embodiments, only a single one of the three operations 1020, 1030, and 1040 is performed.
  • In the operation 1050, search results are generated for the chosen query and transmitted to the user. In some example embodiments, the chosen query is also transmitted to the user device for presentation to the user. For example, the user may be informed that the original query of “new ipod nano with headphones” was replaced by a query for “‘ipod nano’ AND headphones,” with the results limited to items having the attribute “new.”
  • FIG. 11 shows equations used in operations of a search machine in performing methods of search phrase modification, according to some example embodiments.
  • Equation 1110 shows that the conditional probability of a phrase given than an item is bought is equal to the number of items bought containing the phrase divided by the total number of items bought. The conditional probability of a phrase may indicate the quality of the phrase. For example, a certain search string may return a set of results when executed as a non-phrase. 80% of the results may contain the search string as a phrase, while 99% of the items actually purchased as a result of the search may contain the search string as a phrase. In this case, the conditional probability of the phrase would be 99%. A threshold may be used to determine a good phrase (e.g., 95%).
  • For some data sets, the equation 1110 provides a high false positive rate when the frequency of engaged items is low. In these cases, it may be difficult to distinguish signal from noise with a string threshold. Beta-Binomial smoothing may be incorporated to reduce the false positive rate. By incorporating Beta-Binomial smoothing, the number of phrases engaged with is modeled as a binomial process and the Beta distribution is used to smooth the engaged efficiency.
  • Equation 1120 shows that the lift in bought items resulting from treating a search string as a phrase is the percentage of items bought that contain the search string as a phrase minus the percentage of items returned from a search treating the search string as a non-phrase that contains the phrase, divided by that latter percentage. A negative lift shows that the user is more likely to buy an item that does not contain the phrase than one that does. Accordingly, a negative lift may indicate that a set of terms in a search string should not be treated as a phrase, even if the conditional probability of equation 1110 indicates that the phrase is good. The use of lift may compensate for presentation bias. For example, if many results for a query contain certain terms in the query as a phrase, then equation 1110 will show a high conditional probability for the phrase, even if treating the terms as a phrase does not actually increase engagement. In such a case, the lift calculated using equation 1120 will show whether or not treating the terms as a phrase resulted in a higher engagement. Accordingly, the decision to substitute the phrase-replaced query for the original query may be based on the conditional probability exceeding a threshold and the lift being greater than zero.
  • Equations 1110 and 1120 may be used to determine the impact of changes other than phrase substitution. For example, to apply equation 1110 to attribute detection, the conditional probability of the attribute given than an item is bought is equal to the number of items bought having the attribute divided by the total number of items bought. The results of such substitutions are shown in equations 1130-1160.
  • According to various example embodiments, one or more of the methodologies described herein may facilitate providing information to a user regarding items of interest. Moreover, one or more of the methodologies described herein may facilitate the generation of sales by an electronic marketplace. Additionally, one or more of the methodologies described herein may facilitate the user's interaction with a search engine.
  • When these effects are considered in aggregate, one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in search phrase modification. Efforts expended by a user in identifying items of interest may be reduced by one or more of the methodologies described herein. Computing resources used by one or more machines, databases, or devices (e.g., within the network environment 100) may similarly be reduced. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.
  • FIG. 12 is a block diagram illustrating components of a machine 1200, according to some example embodiments, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof) and perform any one or more of the methodologies discussed herein, in whole or in part. Specifically, FIG. 12 shows a diagrammatic representation of the machine 1200 in the example form of a computer system within which instructions 1224 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1200 to perform any one or more of the methodologies discussed herein may be executed, in whole or in part. In alternative embodiments, the machine 1200 operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 1200 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a distributed (e.g., peer-to-peer) network environment. The machine 1200 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a wearable computer, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1224, sequentially or otherwise, that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include a collection of machines that individually or jointly execute the instructions 1224 to perform all or part of any one or more of the methodologies discussed herein.
  • The machine 1200 includes a processor 1202 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory 1204, and a static memory 1206, which are configured to communicate with each other via a bus 1208. The machine 1200 may further include a graphics display 1210 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)). The machine 1200 may also include an alphanumeric input device 1212 (e.g., a keyboard), a cursor control device 1214 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1216, a signal generation device 1218 (e.g., a speaker), and a network interface device 1220.
  • The storage unit 1216 includes a machine-readable medium 1222 on which are stored the instructions 1224 embodying any one or more of the methodologies or functions described herein. The instructions 1224 may also reside, completely or at least partially, within the main memory 1204, within the processor 1202 (e.g., within the processor's cache memory), or both, during execution thereof by the machine 1200. Accordingly, the main memory 1204 and the processor 1202 may be considered machine-readable media. The instructions 1224 may be transmitted or received over a network 1226 (e.g., the network 190) via the network interface device 1220.
  • As used herein, the term “memory” refers to a machine-readable medium able to store data temporarily or permanently, and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium 1222 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions. The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing instructions for execution by a machine (e.g., the machine 1200), such that the instructions, when executed by one or more processors of the machine (e.g., the processor 1202), cause the machine to perform any one or more of the methodologies described herein. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, one or more data repositories in the form of a solid-state memory, an optical medium, a magnetic medium, or any suitable combination thereof.
  • Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
  • Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A “hardware module” is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
  • In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
  • Accordingly, the phrase “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
  • Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
  • The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors.
  • Similarly, the methods described herein may be at least partially processor-implemented, a processor being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
  • The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
  • Some portions of the subject matter discussed herein may be presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). Such algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
  • Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any suitable combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless specifically stated otherwise, the terms “a” or “an” are herein used, as is common in patent documents, to include one or more than one instance. Finally, as used herein, the conjunction “or” refers to a non-exclusive “or,” unless specifically stated otherwise.

Claims (20)

What is claimed is:
1. A system comprising:
a communication module configured to receive a search query;
an attribute module configured to:
identify a plurality of prior uses of the search query;
determine a percentage of engaged items resulting from the plurality of prior uses that have an attribute;
determine that the attribute percentage exceeds an attribute threshold; and
modify the search query to include the attribute based on the determination that the attribute percentage exceeds the attribute threshold; and wherein
the communication module is further configured to transmit search results based on the modified search query.
2. The system of claim 1, further comprising:
a transition module configured to:
identify a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determine a count of transitions for each subsequent search query; and
generate a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and wherein
the attribute module is further configured to:
determine that the modified search query is in the set of candidate queries.
3. The system of claim 1, wherein the attribute module is further configured to:
determine a lift of the modified search query relative to the received search query; and
determine that the lift exceeds a lift threshold; and wherein
the modifying of the search query is based on the determination that the lift exceeds the lift threshold.
4. The system of claim 1, further comprising a phrase module configured to:
combine a set of terms in the search query to generate a phrase;
determine a percentage of the engaged items matching the phrase;
determine that the phrase percentage exceeds a threshold; and
modify the search query by replacing the combined set of terms with the phrase based on the determination that the phrase percentage exceeds the threshold.
5. The system of claim 4, wherein the phrase module, the attribute module, and the communication module are different modules.
6. The system of claim 4, further comprising:
a transition module configured to:
identify a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determine a count of transitions for each subsequent search query; and
generate a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and wherein
the phrase module is further configured to:
determine that the modified search query is in the set of candidate queries.
7. The system of claim 4, wherein the phrase module is further configured to:
combine an additional set of terms in the search query to generate an additional phrase;
determine a percentage of the engaged items matching the additional phrase; and
determine that the additional phrase percentage exceeds the threshold; and wherein
the modifying of the search query to replace the combined set of terms is based on the phrase percentage being larger than the additional phrase percentage.
8. The system of claim 7, wherein the set of terms and the additional set of terms have at least one member in common.
9. The system of claim 1, further comprising a drop module configured to:
determine a percentage of the engaged items not matching a term of the search query;
determine that the non-matching percentage exceeds a drop threshold; and
modify the search query to exclude the term based on the determination that the non-matching percentage exceeds the drop threshold.
10. The system of claim 9, further comprising:
a transition module configured to:
identify a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determine a count of transitions for each subsequent search query; and
generate a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and wherein
the drop module is further configured to:
determine that the modified search query is in the set of candidate queries.
11. A method comprising:
receiving a search query;
identifying a plurality of prior uses of the search query;
determining a percentage of engaged items resulting from the plurality of prior uses that have an attribute;
determining that the attribute percentage exceeds an attribute threshold;
modifying the search query to include the attribute based on the determination that the attribute percentage exceeds the attribute threshold; and
transmitting search results based on the modified search query.
12. The method of claim 11, further comprising:
identifying a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determining a count of transitions for each subsequent search query;
generating a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and
determining that the modified search query is in the set of candidate queries.
13. The method of claim 11, further comprising:
determining a lift of the modified search query relative to the received search query; and
determining that the lift exceeds a lift threshold; and wherein
the modifying of the search query is based on the determination that the lift exceeds the lift threshold.
14. The method of claim 11, further comprising:
combining a set of terms in the search query to generate a phrase;
determining a percentage of the engaged items matching the phrase;
determining that the phrase percentage exceeds a threshold; and
modifying the search query to replace the combined set of terms with the phrase based on the determination that the phrase percentage exceeds the threshold.
15. The method of claim 14, further comprising:
identifying a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determining a count of transitions for each subsequent search query;
generating a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and
determining that the modified search query is in the set of candidate queries.
16. The method of claim 14, further comprising:
combining an additional set of terms in the search query to generate an additional phrase;
determining a percentage of the engaged items matching the additional phrase; and
determining that the additional phrase percentage exceeds the threshold; and wherein
the modifying of the search query to replace the combined set of terms is based on the phrase percentage being larger than the additional phrase percentage.
17. The method of claim 16, wherein the set of terms and the additional set of terms have at least one member in common.
18. The method of claim 11, further comprising:
determining a percentage of the engaged items not matching a term of the search query;
determining that the non-matching percentage exceeds a drop threshold; and
modifying the search query to exclude the term based on the determination that the non-matching percentage exceeds the drop threshold.
19. The method of claim 18, further comprising:
identifying a set of prior uses of the search query, each prior use of the search query of the set of prior uses having a corresponding subsequent search query;
determining a count of transitions for each subsequent search query;
generating a set of candidate queries including subsequent search queries for which the count of transitions exceeds a threshold; and
determining that the modified search query is in the set of candidate queries.
20. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
receiving a search query;
identifying a plurality of prior uses of the search query;
determining a percentage of engaged items resulting from the plurality of prior uses that have an attribute;
determining that the attribute percentage exceeds an attribute threshold;
modifying the search query to include the attribute based on the determination that the attribute percentage exceeds the attribute threshold; and
transmitting search results based on the modified search query.
US14/304,595 2013-08-01 2014-06-13 Search phrase modification Abandoned US20150039606A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/304,595 US20150039606A1 (en) 2013-08-01 2014-06-13 Search phrase modification

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361861315P 2013-08-01 2013-08-01
US14/304,595 US20150039606A1 (en) 2013-08-01 2014-06-13 Search phrase modification

Publications (1)

Publication Number Publication Date
US20150039606A1 true US20150039606A1 (en) 2015-02-05

Family

ID=52428633

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/304,595 Abandoned US20150039606A1 (en) 2013-08-01 2014-06-13 Search phrase modification

Country Status (1)

Country Link
US (1) US20150039606A1 (en)

Cited By (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150120689A1 (en) * 2013-10-30 2015-04-30 Kobo Incorporated Empirically determined search query replacement
US20170068670A1 (en) * 2015-09-08 2017-03-09 Apple Inc. Intelligent automated assistant for media search and playback
US20190028423A1 (en) * 2015-06-05 2019-01-24 Apple Inc. Network messaging for paired devices
US20190205435A1 (en) * 2017-12-28 2019-07-04 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11055345B2 (en) 2017-12-28 2021-07-06 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11061943B2 (en) 2017-12-28 2021-07-13 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11281640B2 (en) * 2019-07-02 2022-03-22 Walmart Apollo, Llc Systems and methods for interleaving search results
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11645329B2 (en) 2017-12-28 2023-05-09 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11954080B2 (en) 2022-03-21 2024-04-09 Walmart Apollo, Llc Systems and methods for interleaving search results

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126227A1 (en) * 2001-12-31 2003-07-03 Koninklijke Philips Electronics N.V Method of populating an explicit profile
US20040019536A1 (en) * 2002-07-23 2004-01-29 Amir Ashkenazi Systems and methods for facilitating internet shopping
US20040117235A1 (en) * 2002-12-13 2004-06-17 Nachum Shacham Automated method and system to recommend one or more supplier-side responses to a transaction request
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US20060235886A1 (en) * 2005-04-15 2006-10-19 Kjn Partners, L.P. Method, system and software for centralized generation and storage of individualized requests and results
US20060242135A1 (en) * 2005-04-20 2006-10-26 Microsoft Corporation System and method for personalized search
US20070150348A1 (en) * 2005-12-22 2007-06-28 Hussain Muhammad M Providing and using a quality score in association with the serving of ADS to determine page layout
US20070150342A1 (en) * 2005-12-22 2007-06-28 Law Justin M Dynamic selection of blended content from multiple media sources
US7359898B1 (en) * 2004-02-26 2008-04-15 Yahoo! Inc. Scoring mechanism selection along multiple dimensions
US20090216710A1 (en) * 2008-02-27 2009-08-27 Yahoo! Inc. Optimizing query rewrites for keyword-based advertising
US7680703B1 (en) * 2008-06-05 2010-03-16 Amazon Technologies, Inc. Data mining system capable of generating pairwise comparisons of user-selectable items based on user event histories
US20110119287A1 (en) * 2009-11-18 2011-05-19 Research In Motion Limited Automatic reuse of user-specified content in queries
US20110145227A1 (en) * 2009-12-16 2011-06-16 Microsoft Corporation Determining preferences from user queries
US20110184893A1 (en) * 2010-01-27 2011-07-28 Microsoft Corporation Annotating queries over structured data
US20120166411A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Discovery of remotely executed applications
US20120239519A1 (en) * 2011-03-15 2012-09-20 Ebay Inc. Personalizing search results
US20120316986A1 (en) * 2009-04-20 2012-12-13 4-Tell, Inc More Improvements in Recommendation Systems
US20140040370A1 (en) * 2012-08-01 2014-02-06 Tagged, Inc. Content feed for facilitating topic discovery in social networking environments
US20140052534A1 (en) * 2012-08-16 2014-02-20 Shaheen A. Gandhi Electronic Advertising Targeting Multiple Individuals
US20140172899A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Probability-based state modification for query dialogues
US20140223099A1 (en) * 2013-02-06 2014-08-07 Adam Kidron Content management platform apparatus, methods, and systems
US20140244386A1 (en) * 2013-02-26 2014-08-28 Facebook, Inc. Targeting advertisements to logged out users of an online system
US20140258303A1 (en) * 2013-03-06 2014-09-11 Microsoft Corporation Reformulating query terms in structured search
US20140289211A1 (en) * 2013-03-20 2014-09-25 Wal-Mart Stores, Inc. Method and system for resolving search query ambiguity in a product search engine
US8850329B1 (en) * 2012-10-26 2014-09-30 Amazon Technologies, Inc. Tagged browsing history interface
US8874586B1 (en) * 2006-07-21 2014-10-28 Aol Inc. Authority management for electronic searches
US9178634B2 (en) * 2009-07-15 2015-11-03 Time Warner Cable Enterprises Llc Methods and apparatus for evaluating an audience in a content-based network

Patent Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US20030126227A1 (en) * 2001-12-31 2003-07-03 Koninklijke Philips Electronics N.V Method of populating an explicit profile
US20040019536A1 (en) * 2002-07-23 2004-01-29 Amir Ashkenazi Systems and methods for facilitating internet shopping
US20040117235A1 (en) * 2002-12-13 2004-06-17 Nachum Shacham Automated method and system to recommend one or more supplier-side responses to a transaction request
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US7359898B1 (en) * 2004-02-26 2008-04-15 Yahoo! Inc. Scoring mechanism selection along multiple dimensions
US20060235886A1 (en) * 2005-04-15 2006-10-19 Kjn Partners, L.P. Method, system and software for centralized generation and storage of individualized requests and results
US20060242135A1 (en) * 2005-04-20 2006-10-26 Microsoft Corporation System and method for personalized search
US20070150342A1 (en) * 2005-12-22 2007-06-28 Law Justin M Dynamic selection of blended content from multiple media sources
US20070150348A1 (en) * 2005-12-22 2007-06-28 Hussain Muhammad M Providing and using a quality score in association with the serving of ADS to determine page layout
US8874586B1 (en) * 2006-07-21 2014-10-28 Aol Inc. Authority management for electronic searches
US20090216710A1 (en) * 2008-02-27 2009-08-27 Yahoo! Inc. Optimizing query rewrites for keyword-based advertising
US7680703B1 (en) * 2008-06-05 2010-03-16 Amazon Technologies, Inc. Data mining system capable of generating pairwise comparisons of user-selectable items based on user event histories
US20120316986A1 (en) * 2009-04-20 2012-12-13 4-Tell, Inc More Improvements in Recommendation Systems
US9178634B2 (en) * 2009-07-15 2015-11-03 Time Warner Cable Enterprises Llc Methods and apparatus for evaluating an audience in a content-based network
US20110119287A1 (en) * 2009-11-18 2011-05-19 Research In Motion Limited Automatic reuse of user-specified content in queries
US8612472B2 (en) * 2009-12-16 2013-12-17 Microsoft Corporation Determining preferences from user queries
US20110145227A1 (en) * 2009-12-16 2011-06-16 Microsoft Corporation Determining preferences from user queries
US20110184893A1 (en) * 2010-01-27 2011-07-28 Microsoft Corporation Annotating queries over structured data
US20120166411A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Discovery of remotely executed applications
US20120239519A1 (en) * 2011-03-15 2012-09-20 Ebay Inc. Personalizing search results
US20140040370A1 (en) * 2012-08-01 2014-02-06 Tagged, Inc. Content feed for facilitating topic discovery in social networking environments
US20140052534A1 (en) * 2012-08-16 2014-02-20 Shaheen A. Gandhi Electronic Advertising Targeting Multiple Individuals
US8850329B1 (en) * 2012-10-26 2014-09-30 Amazon Technologies, Inc. Tagged browsing history interface
US20140172899A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Probability-based state modification for query dialogues
US20140223099A1 (en) * 2013-02-06 2014-08-07 Adam Kidron Content management platform apparatus, methods, and systems
US20140244386A1 (en) * 2013-02-26 2014-08-28 Facebook, Inc. Targeting advertisements to logged out users of an online system
US20140258303A1 (en) * 2013-03-06 2014-09-11 Microsoft Corporation Reformulating query terms in structured search
US20140289211A1 (en) * 2013-03-20 2014-09-25 Wal-Mart Stores, Inc. Method and system for resolving search query ambiguity in a product search engine

Cited By (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11862186B2 (en) 2013-02-07 2024-01-02 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2013-02-07 2023-04-25 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US20150120689A1 (en) * 2013-10-30 2015-04-30 Kobo Incorporated Empirically determined search query replacement
US9323830B2 (en) * 2013-10-30 2016-04-26 Rakuten Kobo Inc. Empirically determined search query replacement
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US11670289B2 (en) 2014-05-30 2023-06-06 Apple Inc. Multi-command single utterance input method
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US20190028423A1 (en) * 2015-06-05 2019-01-24 Apple Inc. Network messaging for paired devices
US11451508B2 (en) 2015-06-05 2022-09-20 Apple Inc. Network messaging for paired devices
US10680997B2 (en) * 2015-06-05 2020-06-09 Apple Inc. Network messaging for paired devices
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US20170068670A1 (en) * 2015-09-08 2017-03-09 Apple Inc. Intelligent automated assistant for media search and playback
US10956486B2 (en) * 2015-09-08 2021-03-23 Apple Inc. Intelligent automated assistant for media search and playback
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US10740384B2 (en) * 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US11853647B2 (en) 2015-12-23 2023-12-26 Apple Inc. Proactive assistance based on dialog communication between devices
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11862151B2 (en) 2017-05-12 2024-01-02 Apple Inc. Low-latency intelligent automated assistant
US11837237B2 (en) 2017-05-12 2023-12-05 Apple Inc. User-specific acoustic models
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US11675829B2 (en) 2017-05-16 2023-06-13 Apple Inc. Intelligent automated assistant for media exploration
US10664517B2 (en) * 2017-12-28 2020-05-26 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11061943B2 (en) 2017-12-28 2021-07-13 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US20190205435A1 (en) * 2017-12-28 2019-07-04 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11645329B2 (en) 2017-12-28 2023-05-09 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11055345B2 (en) 2017-12-28 2021-07-06 International Business Machines Corporation Constructing, evaluating, and improving a search string for retrieving images indicating item use
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11907436B2 (en) 2018-05-07 2024-02-20 Apple Inc. Raise to speak
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11630525B2 (en) 2018-06-01 2023-04-18 Apple Inc. Attention aware virtual assistant dismissal
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11360739B2 (en) 2019-05-31 2022-06-14 Apple Inc. User activity shortcut suggestions
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11281640B2 (en) * 2019-07-02 2022-03-22 Walmart Apollo, Llc Systems and methods for interleaving search results
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11750962B2 (en) 2020-07-21 2023-09-05 Apple Inc. User identification using headphones
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11954080B2 (en) 2022-03-21 2024-04-09 Walmart Apollo, Llc Systems and methods for interleaving search results
US11954405B2 (en) 2022-11-07 2024-04-09 Apple Inc. Zero latency digital assistant

Similar Documents

Publication Publication Date Title
US20150039606A1 (en) Search phrase modification
US11308174B2 (en) Systems and methods to identify a filter set in a query comprised of keywords
US11768870B2 (en) Identifying product metadata from an item image
US11829430B2 (en) Methods and systems for social network based content recommendations
KR20180039154A (en) System and method for seeding search
US20180107688A1 (en) Image appended search string
US20230177087A1 (en) Dynamic content delivery search system
US10909200B2 (en) Endless search result page
US9804741B2 (en) Methods and systems for managing N-streams of recommendations
US8458049B2 (en) Identifying a secondary designation of an item
US10762145B2 (en) Query classifier
AU2014365804B2 (en) Presenting images representative of searched items
US20160189219A1 (en) Simplified overlay ads
US20160063109A1 (en) Query-breadth selected search result sorting mechanism

Legal Events

Date Code Title Description
AS Assignment

Owner name: EBAY INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SALAKA, VAMSI KRISHNA;KUMAR, PRATHYUSHA SENTHIL;JOHNSON, BRIAN SCOTT;SIGNING DATES FROM 20140610 TO 20140613;REEL/FRAME:033102/0911

AS Assignment

Owner name: PAYPAL, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EBAY INC.;REEL/FRAME:036171/0194

Effective date: 20150717

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION