Using user input to customize search results that are provided for display to the user.

By adapting search result presentation based on user input, automated assistants address resource and interface limitations, enabling efficient and user-friendly navigation through sequential result display.

DE102017119601B4Active Publication Date: 2025-12-04GOOGLE LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102017119601
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-08-30
Filing Date
2017-08-25
Publication Date
2025-12-04
Estimated Expiration
2037-08-25

AI Technical Summary

Technical Problem

Existing automated assistants face resource and interface limitations when providing multiple search results, leading to overloading and distracting users, especially in graphical and audible interfaces, and lack the ability to adjust based on user input for result presentation.

Method used

Implement methods for automated assistants to adapt search result presentation based on user input, allowing sequential display of results and user navigation through free-form natural language, adjusting when and how results are presented to meet user needs.

Benefits of technology

Reduces resource consumption and maintains user engagement by allowing flexible navigation through search results within interface constraints, ensuring efficient and user-friendly interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method implemented by one or more processors (1014) and comprising: Receiving an input, wherein the input is based on an input into a user interface generated by a user (101) via a user interface input device (102), wherein the input into the user interface is generated by the user (101) as part of a dialogue between the user (101) and an automated assistant (120), which is at least partially implemented by one or more of the processors (1014), Retrieving multiple search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) responding to input; sequentially providing groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) for display to the user (101) via a user interface output device (104), wherein each of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) contains at least one of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) and wherein the sequential provision of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) comprises providing each of the groups in accordance with an order of the groups; Receiving a further input during sequential provisioning and during the display of at least one of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) during sequential provisioning, wherein the further input is based on a further input to the user interface generated by the user (101) via the user interface input device (102) or another user interface input device (102); Determine based on one or more terms of the further input and based on at least one attribute of a previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), where the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is one of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) that were previously provided during the sequential provisioning, wherein determining, based on one or more terms of the further input and based on at least one attribute of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), includes determining that one or more terms of the further input correspond to at least one attribute of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A); and In response to determining that the further input received during the sequential provisioning and display of at least one of the search result groups (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) during the sequential provisioning corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), provide an output related to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), wherein providing the output corresponds to the order of the groups of the sequentially provided search results. (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) contradicts.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] A user can interact with automated assistants (also known as "personal assistant modules," "mobile assistants," or "chatbots") via various computing devices, such as smartphones, tablet computers, automotive systems, and autonomous personal assistance devices. The automated assistants receive text input from the user (e.g., typed and / or spoken) and respond with an output (e.g., visual and / or audible).

[0002] Some user interactions with an automated assistant may only request a single response from the automated assistant. For example, text inputs such as "what time is it in London," "what is the capital of Delaware," and "how many ounces are in a cup" may all request a single response from the automated assistant.

[0003] Other user interactions with an automated assistant, in contrast, can be more general and request that a set of answers be provided by the automated assistant. For example, “New headlines,” “Restaurants nearby,” and “Search results for Mustang” can all request the automated assistant to perform a search on one or more corpora and return a set of search results that respond to the search.

[0004] However, the resource and / or interface limitations associated with existing automated assistants can present one or more disadvantages when the automated assistant provides a group of search results for display to a user. For example, some automated assistants may be implemented via a "chat"-type graphical user interface. Displaying a large number of search results simultaneously in such an interface can overload the interface, make it more difficult to follow a dialogue, and / or consume a relatively large amount of computer resources. These resources may be used, for example, as a result of simultaneously displaying the large number of results, scrolling, and / or other actions that may be required to view the large number of results.Furthermore, it can consume significant user and / or computer resources to display search results in an interface and / or application separate from the interface and / or application of the automated assistant. Switching to the other interface and / or application may, for example, distract the user from the ongoing dialog with the automated assistant and / or require a computer device to run the separate application and / or display the separate interface.

[0005] As another example, some automated assistants may include (or be limited to) providing audible output from the user interface and accepting spoken input into the user interface. When a group of search results is provided by such automated assistants, directed navigation of that group by the user via spoken input into the user interface may be impossible or limited. Furthermore, many automated assistants may lack the ability to adjust, based on text input provided by the user, when and / or whether the automated assistant provides search results with specific attributes to the user. Additional and / or alternative disadvantages of these and / or other techniques can be presented.

[0006] The US 2013 / 0 275 164 A1, the US 2013 / 0 111 348 A1 and the EP 3 291 564 A1 concern an automated, intelligent assistance system. Summary of the invention

[0007] This description relates to methods, devices, and computer-readable media that facilitate the interaction between a user and an automated assistant during a dialogue between at least the user and the automated assistant. Some implementations focus on adapting a graphical and / or audible representation of the search results provided by the automated assistant for display to a user. The search result can be adapted in response to the attribute(s) of one or more of the search results referenced in the spoken and / or typed text input provided by the user during the dialogue.Some of these implementations allow a user to provide text input to navigate search results within the dialog and within the resource and / or interface constraints associated with the dialog. Additionally or alternatively, some of these implementations allow the automated assistant to customize, based on text input provided by a user, when and / or whether search results with specific attributes are presented to the user.

[0008] Some of these and other implementations of the description can achieve various technical advantages. For example, some implementations effectively employ an improved interaction protocol for an automated assistant to reduce the computer resources used during interactions between the automated assistant and its user(s). Some implementations of adjusting when and / or if search results are presented to the user, for instance, can allow fewer search results to be presented to the user in certain situations while still meeting the user's information needs. This can reduce the use of various computer resources, such as the resources of a computer device required to display the search results to the user visually and / or audibly.Furthermore, some implementations of navigating search results within the dialog allow a user to navigate freely (optionally out of sequence) forward and / or backward through the search results without requiring all search results to be displayed simultaneously and / or the entirety of one or more search results to be shown. This can enable the search results to be made available for display and navigated by the user, while simultaneously allowing: compliance with desired and / or necessary resource and / or interface constraints, and / or allowing less than the entirety of one or more search results to be displayed at a time.

[0009] As an example, a user can cause text input to be provided to an automated assistant during a dialogue between the user and the automated assistant. The text input can initiate the dialogue or be a continuation of a previously initiated dialogue. The text input can be free-form natural language input, such as text input based on user interface input generated by the user via one or more of the user interface input devices (e.g., based on typed input provided via a physical or virtual keyboard, or based on spoken input provided via a microphone).Free-form input, as used here, is input formulated by a user and is not restricted to a group of options presented for selection by the user (e.g., not restricted to a group of options presented in a drop-down menu).

[0010] In response to any text input provided to the automated assistant as part of a dialog, the automated assistant can receive multiple search results. For example, the automated assistant can trigger a search of one or more databases based on the text input (or can search the database(s) itself) and receive multiple search results in response to the search. For instance, in response to the text input "news headlines," a database of news article documents can be searched, yielding multiple search results, each based on one of several recent news article documents identified in response to the search. The search results received can be based on various signals, such as...The search results are selected and / or categorized based on the popularity of the search results, the degree of match between the search parameters and the search results, the user's attributes, etc.

[0011] Furthermore, in some implementations, the search results obtained can be additionally or alternatively selected and / or categorized based on previous text input provided by the user during a dialogue with the automated assistant. Search results from "Source 1" (e.g., a specific resource name of a URL or another indicator of a publisher and / or author) can be excluded from the search results, for example, if: a search result from Source 1 was previously displayed to the user during a dialogue with the automated assistant, and the user provided the response text "nothing further from this source".As another example, the search results from "Source 2" can be moved up in the ranking of the search results if: a user was previously shown a search result from Source 2 during a dialog with the automated assistant and the user provided a response text input "I like this source".

[0012] Regardless of the technique(s) used to obtain and / or rank the search results, the automated assistant can sequentially provide groups of search results for (visual and / or audible) display to the user as part of the dialog. The order in which the search results are provided for display can be based on ranking. A first group containing only the highest-ranked search result can be provided for display, then a second group containing only the second-highest-ranked search result, and so on. In some implementations, the second group is automatically provided after the first group (e.g., immediately following or after a delay). In some implementations, user interface input may be required before the second group is provided. For example, the second group might...will only be provided if the user provides a specific spoken input to the user interface, such as "next", "another", "continue", etc., during or after the provisioning of the first group.

[0013] In some implementations, the user can provide additional text input while the search results are being displayed, which "breaks" the sequential display order and causes one or more search results to be displayed "out of order" instead. For example, the user can...Speak or type: "previous" to return to the immediately preceding search result; "second result" to return to the second search result displayed; "back to the one from source A" to return to the search result from "source A"; "back to the one about topic A" to return to the search result about "topic A"; "more from source A" to move forward to another search result from "source A" (even if it is not the next one in the sequential order); "more about topic A" to move forward to another search result about "topic A" (even if it is not the next one in the sequential order); and / or "more like this" to move forward to an additional search result similar to the search result that was last at least partially displayed (even if the additional search result is not the next one in the sequential order).These and other implementations are described in more detail here.

[0014] In some implementations, a procedure executed by one or more processors is created that includes receiving an input and obtaining multiple search results that respond to the input. The input is based on input generated by a user via a user interface input device, wherein the input to the user interface is generated by the user as part of a dialogue between the user and an automated assistant, which is at least partially implemented by one or more of the processors. The procedure further includes the sequential provision of groups of the search results for display to the user via a user interface output device.Each group of search results contains at least one search result, wherein the sequential provisioning of the groups of search results includes providing each group in accordance with a group order. The method further includes receiving additional input during the sequential provisioning and during the display of at least one of the groups of search results during the sequential provisioning. The additional input is based on further input to the user interface, generated by the user via the user interface input device or another user interface input device. The method further includes determining, based on one or more terms of the additional input and based on at least one attribute of a previously displayed search result, that the additional input corresponds to the previously displayed search result.The previously displayed search result is one of the search results that was previously displayed during the sequential delivery. Determining, based on one or more terms of the subsequent input and based on at least one attribute of the previously displayed search result, that the subsequent input corresponds to the previously displayed search result, includes determining that one or more terms of the subsequent input correspond to at least one attribute of the previously displayed search result. The method further includes, in response to determining that the subsequent input received during the sequential delivery and during the display of at least one of the groups of search results during the sequential delivery corresponds to the previously displayed search result, providing output related to the previously displayed search result.Providing the output contradicts the order of the groups of the sequentially provided search results.

[0015] This and other implementations of the technique disclosed herein may optionally include one or more of the following features.

[0016] In some implementations, the sequential provisioning of search result groups for user display involves providing an initial group of groups in response to input, followed by a second group. The second group sequentially follows the initial group in accordance with the order of the input. Providing the second group occurs in response to additional user interface input, and this additional input precedes further input. In some of these implementations, the additional user interface input is verbal input.

[0017] In some implementations, the user interface input device is a microphone, the user interface output device is a loudspeaker, and further input into the user interface is generated by the user via the microphone. In some of these implementations, at least part of the further input into the user interface is received via the loudspeaker during the audible display of one of the search results.

[0018] In some implementations, further input to the user interface is verbal input, and the procedure further includes actively monitoring for this input during sequential provisioning. In some of these implementations, receiving the further input occurs during this active monitoring.

[0019] In some implementations, the user interface output device is a display, the output contains the previously displayed search result, and the provision of the output causes the output to be displayed in a graphical user interface shown on the display, separate and removed from any permanent output from the previous display of the previously displayed search result.

[0020] In some implementations, the output is an additional search result that relates to the previously displayed search result, but is associated with a different underlying content element than the previously displayed search result.

[0021] In some implementations, the user interface output device is a display, and the sequential provisioning of groups for display to the user via the display causes each group in a graphical user interface to displace the corresponding immediately preceding group. In some of these implementations, the provisioning of output related to the previously displayed search result causes the output in the graphical user interface to displace the most recently provided group during the sequential provisioning.

[0022] In some implementations, the attribute is one of: a name of a source of the previously displayed search result, a name of an entity contained in the previously displayed search result, and a reference to a display order of the previously displayed search result when sequentially serving the groups.

[0023] In some implementations, the procedure further includes determining, based on one or more terms of the additional input, that the additional input also corresponds to an additional previously displayed search result that was served earlier during the sequential serving. In some of these implementations, determining that the additional input corresponds to the previously displayed search result also includes selecting the previously displayed search result instead of the additional previously displayed search result based on one or more additional criteria.In some of these implementations, determining that the additional input matches the previously displayed search result involves: generating a prompt based on an additional attribute of the additional previously displayed search result; providing the prompt for display to the user via the user interface output device; receiving, in response to the prompt for additional input into the user interface; and selecting the previously displayed search result instead of the additional previously displayed search result based on the additional input into the user interface.

[0024] In some implementations, the input and / or further text input includes text input, such as text input generated based on verbal input into the user interface.

[0025] In some implementations, a procedure executed by one or more processors is created, which, as part of a dialogue between a user and an automated assistant (implemented at least partially by one or more of the processors), includes: providing a search result for display to the user; in response to the provision of the search result, receiving text input that refers to an attribute of the search result and the user's sentiment regarding that attribute; determining, based on the attribute of the search result and the user's sentiment regarding that attribute, a parameter that influences whether or when one or more attribute search results exhibiting the attribute are provided by the automated assistant, in response to further dialogue between the user and the automated assistant.and as part of the further dialogue between the user and the automated assistant: The automated assistant uses this parameter to influence whether or when at least one of the attribute search results is made available for display to the user. The parameter either influences when the attribute search results are made available as part of the further dialogue by affecting the ranking of the attribute search results, or it influences whether the attribute search results are made available as part of the further dialogue by preventing them from being made available.

[0026] This and other implementations of the technique disclosed herein may optionally include one or more of the following features. In some implementations, the parameter influences the ranking of attribute search results to a degree based on the user's sentiment toward the attribute. In some other implementations, the parameter prevents the search results from being provided based on the user's sentiment toward the attribute, expressed in the text input by one or more predefined terms.

[0027] In some implementations, the search result attribute is a source of the search result, the text input contains a term that refers to the source and an additional term that refers to sentiment, and the parameter influences a ranking of the attribute search results from the source or prevents the attribute search results from the source from being provided for display to the user.

[0028] In some implementations, the reference to the attribute in the text input is a reference to the search result without an explicit reference to the attribute itself. In some of these implementations, the procedure further involves identifying the attribute based on the attribute associated with the search result in one or more machine-readable media. In some variations of these implementations, the attribute is one of: a source of the search result, an entity referenced in the search result, and a document type of the search result.

[0029] In some implementations, the search result is made available for display to the user in response to an initial text input from the user; the subsequent dialog is a continuation of the dialog and a continuation of the sequential display of the search results that respond to the initial text input; and at least one of the attribute search results responds to the initial text input.

[0030] In some implementations, the search result is made available for display to the user in response to the user's first text input, the subsequent dialog includes the provision of additional search results for the user in response to a new search, which is output for additional text input from the user, and at least one of the attribute search results responds to the additional text input.

[0031] Additionally, some implementations include one or more processors of one or more computer devices, wherein the one or more processors are operable to execute the instructions stored in an associated data memory, and wherein the instructions are configured to cause the execution of any of the above-mentioned procedures. Some implementations also include one or more non-volatile, computer-readable storage media that store computer instructions executable by one or more processors to perform any of the above-mentioned procedures.

[0032] It should be recognized that all combinations of the preceding concepts and additional concepts described in more detail herein are considered part of the subject matter disclosed here. For example, all combinations of the claimed subject matter appearing at the end of this disclosure are considered part of the subject matter disclosed herein. Brief description of the drawings Fig. Figure 1 is a block diagram of an exemplary environment in which the implementations disclosed here may be implemented. Fig. Figure 2 illustrates an example of adapting the search results provided to a user by an automated assistant during a dialog, wherein the search results are adapted in response to the attribute(s) of one or more of the search results referenced in spoken and / or typed text input provided by the user during the dialog. Fig. Figure 3 illustrates an example of a client computer device with a display screen showing an example of a dialogue that can take place between a user of the client computer device and an automated assistant, according to the implementations disclosed herein. Fig. 4A, Fig. 4B, Fig. 4C and Fig. 4D illustrates the exemplary client computer device according to Fig. 3 with a portion of a display screen showing another example of a dialogue that can take place between a user of the client computer device and an automated assistant, according to the implementations disclosed herein. Fig. Figure 4E illustrates the exemplary client computer device according to Fig. 3 with a display screen showing yet another example of a dialogue that can take place between a user of the client computer device and an automated assistant, according to the implementations disclosed herein. Fig. Figure 5 illustrates another exemplary client computer device and an example of an audible dialogue that can take place between a user of the client computer device and an automated assistant, according to the implementations disclosed herein. Fig. 6 and Fig. Figure 7 illustrates the exemplary client computer device according to Fig. 3 with a display screen that shows further examples of the dialogue that can take place between a user of the client computer device and an automated assistant, according to the implementations disclosed herein. Fig. Figure 8 is a flowchart illustrating an exemplary procedure according to the implementations disclosed herein. Fig. Figure 9 is a flowchart illustrating another exemplary procedure according to the implementations disclosed herein. Fig. Figure 10 illustrates an exemplary architecture of a computer device. Detailed description

[0033] In Fig. Figure 1 illustrates an exemplary environment in which the techniques disclosed herein may be implemented. The exemplary environment includes one or more user interface input devices 102, one or more user interface output devices 104, and an automated assistant 120. The user interface input devices 120 may include, for example, a physical keyboard, a touchscreen (implementing, for example, a virtual keyboard or other text input mechanism), and / or a microphone. The user interface output devices 104 may include, for example, a display screen and / or a loudspeaker. The user interface input and output devices 102, 104 may be contained in one or more user computing devices. For example, the user's mobile telephone may be...the input and output devices 102, 104 of the user interface; or a standalone hardware device of a personal assistant may contain the input and output devices 102, 104 of the user interface; or a first computer device may contain the user interface input device(s) 102 and a separate computer device may contain the user interface output device(s) 104; etc.

[0034] Although the automated assistant 120 in Fig. As illustrated in Figure 1, which is separate from the input and output devices 102 and 104 of the user interface, in some implementations all or aspects of the automated assistant 120 may be implemented in a computer device that also contains the user interface input device(s) 102 and / or the user interface output device(s) 104. For example, all or aspects of the output generation engine 130 and / or the output customization engine 124 of the automated assistant 120 may be implemented in the computer device. In some implementations, all or aspects of the automated assistant 120 may be implemented in a computer device that is separate and remote from a computer device that contains the user interface input devices 102 and / or the user interface output devices 104 (e.g., all or aspects may be implemented "in the cloud").In some of these implementations, a local area network (LAN) and / or a wide area network (WAN) (e.g., the Internet) can communicate with the computer device.

[0035] Some non-restrictive examples of the client computing device(s) that may contain the user interface input device(s) 102 and / or the user interface output device(s) 104 include one or more of: a desktop computing device, a laptop computing device, a standalone hardware device dedicated at least in part to the automated assistant, a tablet computing device, a mobile phone computing device, a computer device of a user's vehicle (e.g., an in-vehicle communication system, an in-vehicle entertainment system, an in-vehicle navigation system), or a user's portable device containing a computing device (e.g.,a user's wristwatch incorporating a computer device, a user's glasses incorporating a computer device, or a virtual or augmented reality computer device. Additional and / or alternative client computer devices may be provided. In some implementations, a given user may communicate with all or aspects of the automated assistant 120 using multiple client computer devices that together form a coordinated "ecosystem" of computer devices. For the sake of brevity, however, some of the examples described in this disclosure focus on the user operating a single client computer device.

[0036] A client computer device and an automated assistant 120 can each (if they are separate devices) contain one or more data storage devices for storing data and software applications, one or more processors for accessing the data and executing the applications, and other components that facilitate communication over a network. The operations performed by one or more of the client computer devices and / or by the automated assistant 120 can be distributed across multiple computer devices. The automated assistant 120, for example, can be implemented as computer programs that run on one or more computers at one or more locations interconnected by a network.

[0037] As in Fig. As illustrated in Figure 1, a user provides input to the automated assistant 120 via the user interface input device(s) 102. The automated assistant 120 provides a response output for display to the user via the user interface output device(s) 104 (optionally after further processing by one or more components). For the sake of simplicity, in Fig. Figure 1 illustrates that the input via the user interface input device(s) 102 is provided directly to the automated assistant 120, and is in Fig. Figure 1 illustrates that the output from the automated assistant 120 is provided directly to the user interface output device(s) 104. However, it is stated that in various implementations, one or more intermediate hardware components may be functionally located between the automated assistant 120 and the user interface input and / or output devices 102, 104, and may optionally process the input and / or output. For example, one or more components may process the output provided by the automated assistant 120 and, based on the processing of the output, generate one or more signals for displaying the search results and / or other content via the user interface output device(s) 104. Where a user interface output device 104 is located, for example,If the output is located in a client computer device that is separate from all or aspects of the automated assistant 120, a hardware processor and / or other components can process the output, generating signals based on the output to control the user interface output device 104.

[0038] In some implementations, the input received by the automated assistant 120 is already in text format. The user interface input device(s) 102 may, for example, include a keyboard that generates text input in response to input directed to the keyboard, and this text input is then provided to the automated assistant 120. The user interface input device(s) 102 may also, for example, include a microphone. A speech-to-text processor, separate from the automated assistant 120, can convert the speech input received at the microphone into text input, and this text input can then be provided to the automated assistant 120.In some other implementations, the input initially received by the automated assistant 120 is not in a text format, but is converted into a text format by the automated assistant 120 and made available in that text format to one or more other components of the automated assistant 120. For example, the user interface input device(s) 102 may contain a microphone; speech input can be received at the microphone and made available to the automated assistant 120; and a speech-to-text processor of the automated assistant 120 can convert the speech input into text input.

[0039] A client computer device may optionally run one or more applications that enable dialogue with the Automated Assistant 120. Such applications may take various forms, such as an instant messaging (“SMS” client) and / or multimedia messaging (“MMS” client), an online chat client (e.g., an instant messenger, Internet Relay Chat or “IRC,” etc.), a messaging application associated with a social network, an Automated Assistant messaging service dedicated to conversations with the Automated Assistant 120, and so on. In some implementations, one or more of the applications may be implemented via a web page or other resources rendered by a web browser or other application on a client computer device.

[0040] In various implementations, in response to specific text input provided to the automated assistant 120 during a dialogue, the automated assistant 120 can retrieve multiple search results using search parameters that are at least partially based on the text input. The retrieved search results can be selected and / or ranked based on various signals, such as the popularity of the search results, the degree of match between the search parameters and the search results, user attributes, and so on. In some implementations, the retrieved search results can also be selected and / or ranked based on previous text input provided by the user during a dialogue with the automated assistant. For example, the search results from "Source 1" can be...The search results to be provided to a user will be excluded if: a user was previously shown a search result from source 1 during a dialog with the automated assistant 120 and the user provided a response text input of "nothing further from this source".

[0041] The automated assistant 120 can then sequentially provide groups of search results to the user as part of the dialog, via the user interface output device(s) 104, for (visual and / or audible) display. The automated assistant 120 can provide the groups of search results sequentially in an order based on the ranking of the search results. In some implementations, each of the provided groups can contain only a single search result. In some other implementations, one or more of the provided groups can contain multiple search results (e.g., each group can contain two search results).

[0042] In some implementations, while the automated assistant 120 is providing search results, the user can provide additional text input that "breaks" the sequential delivery order and causes one or more search results to be provided "out of order" by the automated assistant 120. For example, the user can...Speak or type: "previous" to return to the immediately preceding search result; "second result" to return to the second search result displayed; "back to the one from source A" to return to the search result from "source A"; "back to the one about topic A" to return to the search result about "topic A"; "more from source A" to move forward to another search result from "source A" (even if it is not the next one in the sequential order); and / or "more about topic A" to move forward to another search result about "topic A" (even if it is not the next one in the sequential order).

[0043] In various implementations, the automated assistant 120 may include a message processing machine 122, an output customization machine 124, a search engine 126, a ranking engine 128, and an output generation engine 130. In some implementations, one or more of the machines 122, 124, 126, 128, and / or 130 may be omitted, combined, and / or implemented in a component separate from the automated assistant 120. For example, one or more of the machines 122, 124, 126, 128, and / or 130, or any operational portion thereof, may be implemented in a component executed by a client computer device that includes the user interface input and / or output devices 102 and 104 and is separate from the automated assistant 120. Furthermore, for example,The search engine 126 and / or the ranking engine 128 may be implemented in whole or in part by a system separate from the automated assistant 120 (e.g., a separate search system associated with the automated assistant 120).

[0044] The message processing engine 122 processes text input sent to the automated assistant 120 and generates an annotated output for use by one or more other components of the automated assistant 120. For example, the message processing engine 122 can process free-form text input in natural language, generated based on input to the user interface by a user via the user interface input device(s) 102. The generated annotated output contains one or more comments from the text input and optionally one or more (e.g., all) terms from the text input.

[0045] In some implementations, the message processing engine 122 is configured to identify and annotate various types of grammatical information in the text input. For example, the message processing engine 122 may include a portion of a language tagger configured to annotate terms with their grammatical roles. This portion of the language tagger can, for example, label each term with its part of language, such as "noun," "verb," ​​"adjective," "pronoun," etc. Additionally, in some implementations, the message processing engine 122 may also include, or alternatively, a dependency parser configured to determine the syntactic relationships between terms in the text input. The dependency parser can, for example, determine which terms modify other terms, the subjects and verbs of sentences, etc.a pars tree) - and can generate comments of such dependencies.

[0046] In some implementations, the message processing engine 122 may additionally and / or alternatively include an entity tagger configured to annotate entity references in one or more segments, such as references to people, organizations, places, etc. The entity tagger can annotate references to an entity at a high level of granularity (e.g., to identify all references to an entity class, such as people) and / or at a lower level of granularity (e.g., to identify all references to a specific entity, such as a specific person). The entity tagger can rely on the content of the input natural language to resolve a specific entity and / or can optionally communicate with a knowledge graph or other entity database to resolve a specific entity.

[0047] In some implementations, the message processing engine 122 may additionally and / or alternatively include a coreference resolver configured to group or cluster references to the same entity based on one or more context-dependent keywords. For example, the coreference resolver can be used to resolve the term "her" to "source 1" in the natural language input "I hate source 1. No other results from it".

[0048] In some implementations, the message processing engine 122 can additionally and / or alternatively determine a mood and, optionally, a mood size of one or more text input segments. The mood of a segment can be determined based on the segment's term(s), another term(s) in the text input, and / or data in addition to the text input itself (e.g., a language property contained in the language input on which the text input is based, a previous text input, and / or other data). In some implementations, the message processing engine 122 includes a trained mood classifier that is trained to predict a class / direction of the segment's mood and, optionally, a mood size based on a segment of the text input and / or the other data. The mood classifier can, for example,Based on the segment's term(s) and optionally based on other data, predict whether a segment is positive or negative, and optionally predict the magnitude of the positivity / negativity. In some implementations, the message processing engine 122 additionally and / or alternatively uses a mapping between the terms and sentiments (and optionally the sentiment magnitudes) to determine a segment's sentiment. The mapping might define, for example, that: a segment containing "never" has a strong negative sentiment; "I'm not a fan of" has a smaller negative sentiment; "always" has a strong positive sentiment; and "I like" has a smaller positive sentiment; and so on.

[0049] In some implementations, one or more components of the message processing engine 122 can rely on comments from one or more other components of the message processing engine 122. For example, in some implementations, the entity tagger mentioned above can rely on comments from the coreference resolver and / or the dependency parser when commenting all mentions for a particular entity. In some implementations, the coreference resolver can also rely on comments from the dependency parser when arranging references to the same entity in clusters. In some implementations, when processing a particular text input, one or more components of the message processing engine 122 can use a related previous input and / or other related data outside of the particular text input to determine one or more comments.For example, a user's initial text input in a dialog with the automated assistant might be "Is this result from source 1?", while a subsequent user input might be "never provide results from it". When processing "never provide results from it", the coreference resolver can use the earlier input "Is this result from source 1?" to resolve "it" to "source 1".

[0050] The search engine 126 searches one or more search databases 154 in response to at least one text input sent by a user as part of the dialogue between the automated assistant 120 and the user. The search engine 126 searches the search databases 154 to identify content that responds to the text input. In some implementations, the search databases 154 contain one or more databases that index publicly available content and / or one or more databases that index content that is private to the user. The search engine 126 can use the databases 154 to identify the response content and can generate search results based on the identified response content.In some implementations, one or more of the search databases 154 may be located remotely from the automated assistant 120 and / or any separate client computer device, and / or one or more of the search databases 154 may be located locally at the automated assistant 120 and / or any separate client computer device. In this description, the term "database" is used to refer to any collection of structured or unstructured data stored on one or more computer-readable media.

[0051] The search engine 126 can use various techniques when searching the search databases 154 in response to the text input, such as conventional and / or other information retrieval techniques. In some implementations, the search engine 126 can search one or more of the databases 154 based on the search parameter(s) that exactly matches the text input. For example, for the text input "Mustangs", the only search parameter might be the term "Mustangs". In other implementations, the search engine 126 can search one or more of the databases 154 based on one or more search parameters that are based on the text input but do not necessarily exactly match it. For example, for the text input "Local News", the search engine 126 might...B. Search one or more of the databases 154 based on a search parameter that restricts the databases 154 to "news" databases and / or the content to "news" content, and based on a search parameter that restricts the content to content that is geographically relevant to a user. As another example, for the text input "restaurants nearby", the search engine 126 can search one or more of the databases 154 based on a search parameter that restricts the databases 154 to the "points of interest" databases and / or the content to "restaurant" content, and based on a search parameter that restricts the content to content that is within a threshold distance of a user's current location.As yet another example, for the text input “my photos”, the search engine 126 can search one or more of the databases 154 based on a search parameter that limits the databases 154 to those that are personal to the user and / or restricts the content to “image” content.

[0052] The ranking engine 128 calculates scores for the content identified by the search engine 126 using one or more ranking signals, such as the popularity of the content, the degree of match between the search parameters and the content, user attributes (e.g., user location, user primary language), etc. The ranking engine 128 then ranks the response content using these scores.

[0053] Search Engine 126 uses identified response content, which has been ranked by Ranking Engine 128, to generate search results. The search results contain the results that correspond to the content responding to the search query generated based on the text input. Each search result may include, for example, a title or other synopsis of a response content item, a summary of the content item, a link to the response content item, other information related to the response content item, and / or even the entire content item. As an example, the summary of a content item in a news article may include a specific "snippet" or section of the news article. Furthermore, for example, for a search result associated with an image, the search result may include a reduced-size display of the image, a title associated with the image, and / or a link to the image.Furthermore, for a search result that is associated with a video, the search result can contain, for example, an image from the video, a segment of the video, a title of the video and / or a link to the video.

[0054] As described here, in some implementations, content can be identified and / or categorized based on previous text input provided by the user during a dialogue with the automated assistant 120. For example, the search engine 126 can search the search databases 154 based on the parameter(s) determined by the previous text input, and / or the ranking engine 128 can categorize the content based on the parameter(s) determined by the previous text input. When categorizing the content identified by the search engine 126, the ranking engine 128 can, for example, filter out any content items about "Topic A" if a user was previously shown a search result about Topic A and provided a response text of "never show results about this topic".As another example, when classifying content, the ranking engine 128 can promote the content elements from "Source 2" if a user was previously shown a search result from Source 2 and the user provided the response text input "I like this source".

[0055] The sorted search results generated by the search engine 126 and the ranking engine 128 are made available to the user by the output generation engine 130 via the user interface output device(s) 104 for display. The output generation engine 130 can, for example, provide the search results for audible and / or visual display via the user interface output device(s) 104 and can also provide the search results as part of the dialogue between the user and the automated assistant 120.

[0056] In some implementations, the output engine 130 sequentially provides groups of search results for display to the user as part of the dialog. The order in which the search results are provided may be based on their ranking. For example, the output engine 130 may provide a first group containing only the highest-ranked search result, then a second group containing only the second-highest-ranked search result, then a third group containing the third-highest-ranked search result, and so on. In some implementations, the output engine 130 automatically provides the second group of search results after the first (e.g., immediately following or after a time delay), and automatically provides the third group after the second, and so forth.In some implementations, the output engine 130 expects further user interface input before delivering the second group, and then again before delivering the third group, and so on. In some of these implementations, the output engine 130 may deliver only the second group during or after delivering the first group if the user provides spoken input to the user interface, such as "next," "another," etc. Other user interface inputs can be used to cause the output engine 130 to proceed sequentially through the groups of search results.

[0057] Output adaptation engine 124 adjusts the delivery of search results by output generation engine 130 in response to specific additional text input from the user. In some implementations, output adaptation engine 124 can break the sequential delivery of search results by output generation engine 130 in response to specific additional text input. For example, output adaptation engine 124 can determine that at least one term in the additional text input contains an attribute of one or more search results that are not included in the next group delivered based on the order.Based at least partially on the determination, the output customization engine 124 can provide one or more search results that have the attribute, providing the search result (the search results) instead of the next group to be provided based on the order.

[0058] To illustrate some examples, suppose that output generation engine 130 has provided search result A, then provided search result B, is providing search result C, and plans to provide search result D after search result C. In response to the text input "back to first result," provided before providing search result D, output adaptation engine 124 can cause output generation engine 130 to provide search result A again instead of search result D. This can be based on determining that the term "back" refers to a previously presented search result, and on determining that the term "first result" corresponds to an attribute of the previously presented search result A (the attribute that it is the first search result provided by output generation engine 130).In response to the text input "back to search result about topic A", which is provided before search result D is provided, the output customization engine 124 can cause the output generation engine 130 to provide search result B again instead of search result D. This can be based on determining that the term "back" refers to a previously displayed search result, and can be based on determining that the previously displayed search result B is related to "topic A" (and that search results A and C are not related to topic A and / or are less related to topic A).Determining that a search result is related to a topic, is related to an entity, comes from a specific source and / or has another attribute (other attributes) can be based on those attributes that are assigned to the search result and / or the underlying content in the search database(s) 154 and / or in another database(s).

[0059] In response to the text input "more results like this" provided before the delivery of search result D, the output customization engine 124 can cause the output generation engine 130 to deliver a search result X yet to be displayed instead of search result D. This can be based on determining that "more" has a positive sentiment (e.g., based on a comment from the message processing engine 122), that "like this" refers to the attribute(s) of the previously (at least partially) displayed search result C, and that one or more attributes of search result C are more similar to the attributes of search result X than they are to the attributes of search result D.In response to the text input “I don’t like this source” provided before search result D is displayed, the output customization engine 124 can cause the output generation engine 130 to provide a search result Y yet to be displayed instead of search result D. This can be based on determining that “doesn’t like” has a negative sentiment (e.g., based on a comment from the message processing engine 122), that “this source” refers to a source attribute of the previously (at least partially) displayed search result C, and that search result D has the same source attribute as search result C, whereas search result Y, which is the next in the sequence, does not have the same source attribute as search result C.In the implementations of the various examples provided, the output adaptation engine 124 can rely on one or more comments provided by the message processing engine 122, using various techniques for semantic understanding of the text segments, such as rule-based techniques, template-based techniques, machine learning models (e.g., deep neural networks), and / or other techniques.

[0060] In some implementations, the output customization engine 124 uses additional and / or alternative sentiments expressed for the attributes to modify the identification and / or ranking of search results for downstream searches based on downstream text input in the dialogue between the user and the automated assistant 120. For example, the text input "I don't like this source" can be used to demote the ranking of downstream search results that have the same source attribute as search result C.

[0061] In Fig. Section 2 provides an additional description of various components of the automated assistant 120. Fig. 2. The message processing machine 122 receives a text input 201 and generates an annotated input 203 containing the comments of the text input and / or the terms of the text input 201 itself. The search engine 126 uses the annotated input 203 to determine the search parameters, outputs a search of one or more search databases 154 based on the search parameters, and identifies the content that responds to the search. The ranking engine 128 ranks the response content using one or more signals. For example, the ranking engine 128 can rank the response content based on the popularity of the response content (as indicated, for example, by the entries for the content in the search database(s) 154) and / or based on one or more parameters of the parameter database 156.As described here, one or more parameters of parameter database 156 can be determined based on previous text input provided in a dialog with a user. A given parameter can define an attribute and define how the search results possessing this attribute should be influenced. For example, the parameter can define an attribute and define how the search results possessing the attribute should be promoted or demoted during the ranking of the search results, or define that the inclusion of the search results possessing the attribute in the search results provided for display to a user should be prevented.

[0062] The ranking engine 128 provides the search results and an order of the search results 205 to the output generation engine 122. The search results are based on the content identified by the search engine 126, whereby the order of the search results can be based on the ranking determined by the ranking engine 128.

[0063] Output generation engine 130 begins sequentially providing search results based on order. For example, in Fig. As illustrated in Figure 2, the output generation engine 130 provides a search result group 1 207 and optionally further search result groups, as indicated by the ellipsis points.

[0064] At some point during the sequential provision of search results by the output generation machine 130, the message processing machine 122 receives another text input 211. The message processing machine 122 can determine that the further text input 211 relates to the customization of the search results' presentation and, as a result, provides another annotated input 213 to the output customization machine 124. The further annotated input 213 can contain the comments of the further text input 211 and / or one or more terms from the further text input 211.

[0065] In some implementations, the output adaptation engine 124 determines, based on the further annotated input 213, that an adaptation 215 should be performed on the sequential delivery of the search results, passing the adaptation 215 to the output generation engine 130. The output generation engine 130 can then adapt the current sequential delivery of the search results based on the adaptation 215. For example, instead of delivering the next search result in the current sequential delivery, the output generation engine 130 can instead deliver an out-of-order search result based on the adaptation 215.

[0066] In some implementations, the output customization engine 124, based on the further annotated input 213, additionally or alternatively determines the parameter(s) 217 ​​for storage in the parameter database 156. This stored parameter(s) can be used to modify the further downstream search and / or ranking by the engines 126 and / or 128 in response to new searches based on a new text input. It is stated that in one implementation, the output customization engine 124 can provide both the customization 215 and the parameter(s) 217. For the further text input 211 of, for example,“I never want results from source A”: adjustment 215 can be provided and cause a search result originating from source A, which is scheduled to be provided by output generation engine 130, to no longer be provided; and parameter 217 can be stored and can prevent further search results from source A from being provided in response to new searches based on new text input.

[0067] Now, with reference to the Fig. Three to seven different examples of the implementations of the automatic assistant 120 are described. Each of the Fig. Figures 3, 4A-4E, 6, and 7 illustrate a computer device 110 with a display screen 140 that shows examples of a dialogue that can take place between a user of the computer device 110 and the automated assistant 120, according to the implementations disclosed herein. One or more aspects of the automated assistant 120 can be implemented in the computer device 110 and / or in one or more computer devices that are network-connected to the computer device 110.

[0068] The display screen 140 after the Fig. Figures 3, 4A-4E, 6, and 7 further include a text response interface element 188, which the user can select to generate input to the user interface via a virtual keyboard, and a voice response interface element 189, which the user can select to generate input to the user interface via a microphone. In some implementations, the user can generate input to the user interface via the microphone without selecting voice response interface element 189. For example, during the dialogue, active monitoring for audible input to the user interface via the microphone may occur to avoid the need for the user to select voice response interface element 189. In some of these and / or other implementations, voice response interface element 189 may be omitted.Furthermore, in some implementations, the text response interface element 188 may be omitted additionally and / or alternatively (e.g., the user may only provide audible input to the user interface). The display screen 140 after the... Fig. 3, 4A-4E, 6 and 7 also contain the system interface elements 181, 182, 183, with which the user can interact to cause the computer device 110 to perform one or more actions.

[0069] Fig. Figure 5 illustrates a computer device 110 containing one or more microphones and one or more loudspeakers, and illustrates examples of a dialogue that can take place via the microphone(s) and loudspeaker(s) between a user 101 of the computer device 510 and the automated assistant 120, according to the implementations described herein. One or more aspects of the automated assistant 120 can be implemented in the computer device 510 and / or in one or more computer devices that are network-connected to the computer device 510.

[0070] In Fig. In step 3, the user provides an initial text input 380A as part of a dialogue between the user and the automated assistant 120. In response to the text input 380A, the automated assistant 120 receives the search results that respond to the text input 380A and provides a search result 382A for display on the screen 140 as part of a transcript of the dialogue. The automated assistant 120 provides the search result 382A first for display based on its position as the first result in the order in which the search results are displayed (e.g., based on a ranking of the search results). The user then provides a text input 380B "next" to instruct the automated assistant 120 to provide the search result 382B for display. The search result 382B is the next search result in accordance with the order.

[0071] The user then provides text input 380C "More like this". Automated Assistant 120 determines that "like this" refers to the last displayed search result 382B. Automated Assistant 120 further determines one or more attributes of the last displayed search result 3826, such as the attributes of the search result associated with a first entity corresponding to the fictional chef Jon Doe; and the search result associated with a second entity corresponding to the fictional restaurant Hypothetical Cafe. Automated Assistant 120 further determines that, like search result 382B, search result 382C also has an attribute that indicates it is associated with the first entity corresponding to the fictional chef Jon Doe. Based on this determination, Automated Assistant 120 provides search result 382C for display in response to text input 380C.In some implementations, search result 382C may not be the next sequential search result in accordance with the original order. However, based on text input 380C, the automated assistant 120 can provide search result 382C instead of the next search result that was scheduled to be provided in accordance with the original order. In other words, text input 380C can cause the automated assistant 120 to adjust the original order in which the search results are displayed, so that one or more search results similar to search result 382B are promoted in the sequence.

[0072] The user then provides text input 380D "No, about the Hypothetical Café". Automated Assistant 120 determines, based on text inputs 380C and 380D, that "No, about the Hypothetical Café" refers to the user wanting more search results about the fictional restaurant Hypothetical Café, rather than the fictional chef Jon Doe. Automated Assistant 120 further determines that search result 382D has an attribute associated with the entity corresponding to the fictional restaurant Hypothetical Café and provides search result 382D for the next rendering based on this determination. In some implementations, search result 382D may not be the next search result in accordance with the order modified by text input 380C.However, based on text input 380D, the automated assistant 120 can provide search result 382 instead of the next search result scheduled to be provided in accordance with the modified order. In other words, text input 380D can cause the automated assistant 120 to further adjust the modified order in which the search results are displayed, so that one or more search results relating to the "Hypothetical Café" are promoted in the order.

[0073] It is stated that in some implementations, the automated assistant 120, in response to the text input 380C, may have identified multiple search results that share one or more attributes with search result 382B, and may have selected search result 382C instead of those other search results based on one or more factors. For example, the automated assistant 120 may determine that the entity corresponding to the fictional chef Jon Doe has a greater weight for search result 382B (e.g., is more strongly associated with search result 382B) than the entity corresponding to the fictional restaurant Hypothetical Cafe. Search result 382C may initially have been selected instead of search result 382D and / or other search results based on search result 382C, which is also strongly associated with the entity corresponding to the fictional chef Jon Doe.

[0074] In some implementations, the automated assistant 120 can optionally generate a prompt in response to text input 380C, requesting input to specify "like this." For example, the automated assistant 120 can identify one or more attributes of the search result 382B and formulate a prompt asking the user to specify which attribute(s) they mean by "like this." The automated assistant 120 can, for example, determine that the search result 382B is associated with a source attribute of "Source 2" and is mapped to the entity attributes "Jon Doe (Chef)" and "Hypothetical Café."Based on this determination, the prompt might be, "Would you like more from Source 2, more about the chef, or more about the Hypothetical Café?" Further text input provided in response to the prompt can be used by the automated assistant to select a suitable additional search result (or results) to provide. For example, the additional text input "about the Hypothetical Café" might result in search result 382D being provided initially instead of search result 382C.

[0075] In Fig. In step 4A, the user provides an initial text input 480A as part of a dialogue between the user and the automated assistant 120. In response to the text input 480A, the automated assistant 120 receives the search results that correspond to the text input 480A and provides a search result 482A for display on the screen as part of the dialogue. The automated assistant 120 provides the search result 482A first based on its position as the first result in the order in which the search results are displayed (e.g., based on a ranking of the search results).

[0076] After the search result 482A has been displayed to the user, the user then provides a text input 488B "next", as in Fig. 4B illustrates this. In response, the automated assistant 120 provides output that causes the search result 482A to be superseded by the second search result 482B, as shown in Fig. 4B illustrates this. Search result 482B is the next search result in the correct order. The text input 488B after Fig. 4B can be provisioned by tapping (e.g. by selecting interface area 184) or by speech (e.g. by selecting microphone interface element 185 - or just by speaking without necessarily selecting element 185 (i.e., the automated assistant can monitor for speech input during provisioning).

[0077] It is stated that text input 480A is the same as text input 380A, search result 482A is the same as search result 382A, text input 488B is the same as text input 380B, and search result 482B is the same as search result 382B. Fig. However, in step 3, text input 380B is added to the transcript of the dialog displayed in the graphical interface, and it persists in the transcript. In contrast, text input 488B is... Fig. 4B is part of the dialogue, but it is not added to the transcript of the dialogue displayed by the graphical interface. Furthermore, it consists of Fig. 3 continues the search result 382A in the record after the search result 382B has been provided, whereas in Fig. 4B displaces search result 482A, thereby removing it from the record. In other words, search result 482B replaces search result 482A, thus preventing both search result 482A and search result 482B from being displayed simultaneously. In some implementations, the technique(s) relating to the Fig. 4A-4E is described, e.g. for display screens with limited size and / or for interfaces where maintaining a full transcript of the dialogue can be confusing and / or computationally burdensome.

[0078] After the search result 482B has been displayed to the user, the user then provides a text input 488C "next", as in Fig. 4C is illustrated. In response, the automated assistant 120 provides output that causes search result 482B to be superseded by search result 482C, as shown in Fig. 4C is illustrated. Search result 482C is the next search result in accordance with the order.

[0079] After the search result 482C has been displayed to the user, the user then provides a text input 488D "back to the one from source 1". The automated assistant 120 can determine that "back" refers to a previously displayed search result and that "source 1" is an attribute of the previously displayed search result 482A. In response, the automated assistant 120 causes the search result 482C to be replaced by the expanded search result 482D. The expanded search result 482D contains the same content as the search result 482A, but also includes some additional text from the underlying content element. Fig. 4D allows the user to optionally navigate the search results (e.g., "Okay, now search result 5"), or to select the link associated with the expanded search result 482D (e.g., an audible selection or a "touch selection") to view the full underlying content element associated with that expanded search result. Viewing the full underlying content element can optionally take place in a separate interface and / or application.

[0080] Fig. 4E illustrates an example that leads to the following Fig. 4A-4D is similar, but the various dialogue elements persist within the dialogue. In particular, they correspond to... Fig. 4E the text inputs 480B, 480C and 480D the text inputs 488B, 488C and 488D after the Fig. 4B-4D. In Fig. However, in 4E, text inputs 480B, 480C and 480D persist in the transcript of the dialogue, whereas their counterparts in the Fig. 4B-4D do not continue. Furthermore, they exist in Fig. 4E continues the search results 482A, 482B and 482C in the transcript of the dialogue, whereas in the Fig. 4B-4D will not continue.

[0081] In Fig. In step 5, the user provides an initial text input 580A as part of a dialogue between the user and the automated assistant 120. In response to the text input 580A, the automated assistant 120 receives the search results that correspond to the text input 580A, making the search results 582A available for audible presentation via a speaker of the computer device 510. The automated assistant 120 presents the search result 582A first based on the fact that it is the first result in the order in which the search results are presented.

[0082] While search result 582A is being audibly delivered, the user provides a text input 582B that stops the delivery of search result 582A. The text input 582B "I never want messages from source 1" can be used to prevent the automated assistant 120 from delivering further search results from source 1 to the user. For example, the automated assistant 120 can suppress search results that have an attribute of source 1 based on the sentiment indicated by "never". In some implementations, further search results from source 1 can be suppressed only for those search results that respond to text input 580A. In some other implementations, further search results from source 1 can also be suppressed for search results that respond to further text input. For example, the search results from source 1 can be suppressed if...The automated assistant 120 will continue to suppress search results until the user explicitly indicates, via further text input and / or interface input, that they wish to receive search results from Source 1 again. In some implementations, smaller sizes of negative sentiment may result in shorter durations and / or extents of suppression of search results from Source 1. For example, "I'm not a big fan of Source 1" may, based on the sentiment associated with "not a big fan of," which is smaller than the sentiment associated with "never," cause search results from Source 1 to be demoted but not excluded. In some implementations, the direction (i.e.,, positive, negative) and / or the magnitude of the sentiment of the terms associated with an attribute of a search result, based on a sentiment classifier, one or more rules and / or based on other techniques.

[0083] In response to the text input 580B, the provisioning of search result 582A is stopped, and search result 582B is provided. In some implementations, search result 582B is the next result in the sequence after search result 582A. In some other implementations, one or more intermediate search results may be provided in the sequence between search result 582A and search result 582B, but the search result(s) are skipped by the automated assistant 120 based on the fact that they are associated with a source attribute of "Source 1".

[0084] While search result 582B is being audibly displayed, the user enters text 580C, which stops the display of search result 582B. In response to the text 580C "next", the automated assistant can display the next result in the sequence, search result 582C. While search result 582C is being audibly displayed, the user enters text 580D, which stops the display of search result 582C. In response to the text 580D "next", the automated assistant can display the next result in the sequence, search result 582D.

[0085] While the search result 582D is being audibly displayed, the user enters text 580E, which terminates the display of search result 582D. The automated assistant 120 can determine that the "back" text 580E refers to a previously displayed search result and that "local business" is an attribute of the previously displayed search result 582B. In response, the automated assistant 120 displays search result 582B again, and because the user does not terminate the audible display with further text input, more of search result 582B is displayed audibly.

[0086] The Fig. 6 and Fig. 7 illustrate examples of how users can explore an additional detail associated with a given search result through a further dialogue with the automated assistant 120, and then navigate forward / backward to other search results.

[0087] In Fig. Step 6: The user provides an initial text input 680A as part of a dialogue between the user and the automated assistant 120. In response to the text input 680A, the automated assistant 120 receives the search results that correspond to the text input 680A, providing a search result 682A for display as part of a transcript of the dialogue. The automated assistant 120 displays the search result 682A first, based on its position as the first result in the order in which the search results are displayed.

[0088] The user then provides a text input 680B "When does it open?" to instruct the automated assistant 120 to display an additional detail 682B related to the search result 682A and responding to the text input 680B. The user then provides a text input 680C "next". The automated assistant 120 can determine that "next" refers to the next search result in the sequence and, in response to the text input 680C, provide the next search result 682C. In some implementations, based on the fact that the additional detail 682B is a single item rather than a list of items, the automated assistant 120 can determine that "next" refers to the next search result and not to a further detail about the search result 682A. In other words, there is only one "time it opens", and "next" could not refer to an additional time it opens.

[0089] In Fig. 7 is the text input 780A the same as the text input 680A after Fig. 6 and is the search result 782A the same as the search result 682A after Fig. 6. In Fig. However, text input 780B differs from text input 680B in that... Fig. 6. The text input 780B “Reviews?” prompts the automated assistant 120 to display an additional detail 782B, which relates to the search result 782A and responds to the text input 780B. The additional detail 782B is one of several available reviews for “Restaurant A”.

[0090] The user then provides a text input 780C "next review". Based on the presence of "review", the automated assistant 120 can determine that "next" refers to the next review and not the next search result in the sequence. Accordingly, in response to the text input 780C, the automated assistant 120 provides an additional detail 782C, which is another review of "Restaurant A".

[0091] The user then provides a text input 780D "next restaurant". Based on the presence of "restaurant", the automated assistant 120 can determine that "next" refers to the next restaurant search result. Accordingly, in response to the text input 780D, the automated assistant 120 provides an additional search result 782D, which is another restaurant search result responding to the text input 780A.

[0092] Fig. Figure 8 is a flowchart illustrating an exemplary procedure 800 according to the implementations disclosed herein. For convenience, the operations of the flowchart are described with reference to a system that performs the operations. This system may include various components of different computer systems, such as the automated assistant 120. While the operations of procedure 800 are shown in a specific order, this is not intended to be restrictive. One or more operations may be rearranged, omitted, or added.

[0093] In block 850, the system receives text input. This text input can be generated as part of a dialogue between a user and the system, and can be based on input to the user interface generated by a user interface input device, such as a microphone or a virtual keyboard.

[0094] In block 852, the system receives the search results that respond to the text input, along with a display order for the search results. This display order can be based on a ranking of the search results. In some implementations, the system itself performs a search to obtain and / or rank the search results. In other implementations, the system provides the search parameters to one or more separate systems, receiving the search results and a ranking of those results in return.

[0095] In block 854, the system provides an initial group of search results. The system can, for example, display only the first search result in accordance with the display order. This initial group of search results is presented to the user as part of the dialog, either audibly and / or visually.

[0096] In block 856, the system receives another text input. The system then determines, in one or more of blocks 856A, 856B, 856C, and 856D, what type of input this further text input is.

[0097] If block 856A determines that the subsequent text input is a continuation input, the system proceeds to block 858. In block 858, the system provides the next group of search results in accordance with the display order. As an example for block 856A, the system may determine that the subsequent text input is a continuation input if it contains only one or more of a predefined set of "continuation" terms, such as "next," "continue," "go on," etc. As an example for block 858, the system may provide only the next search result in accordance with the display order.

[0098] If, instead, block 856B determines that the additional text input is a customization input, the system proceeds to block 860. In block 860, the system modifies the display order based on the additional text input. The system then proceeds to block 858 and provides the next group of search results in accordance with the display order (as modified in block 860). The system may additionally or alternatively proceed to block 862, where, based on the additional text input, the system determines and stores the parameter(s). As described here, the parameters can modify the identification and / or ranking of the search results in subsequent iterations of block 852.

[0099] As an example from block 856B, the system can determine that further text input is a customization input if, together with another term(s), it contains one or more of a set of predefined "customization" terms (e.g., "back to," "forward to," "more like," "less like," "less about," "never," "remove"), matches one or more customization templates (e.g., "back to result [#]," "forward to result [#]"), and / or based on other techniques. As an example from block 860, the system can modify the display order to promote, demote, or remove search results that have an attribute explicitly or implicitly referenced in the further text input.

[0100] If, instead, block 8560 specifies that the additional text input is a result detail input, the system proceeds to block 864. In block 864, the system provides another search result detail based on the input. As an example, block 8560 can specify that the additional text input is a result detail input if it requests further content related to the search result(s) provided in block 854. For example, if a "restaurant" search result is provided in block 854, the additional text input "reviews for this restaurant" can be specified as a result detail input.

[0101] If, instead, block 8560 specifies that the further text input is a different input, the system proceeds to block 866 and performs further action(s). The text input might, for example, be an input intended to initiate a new search, in which case the other actions of block 866 might be to proceed back to block 852 and retrieve the search results that respond to the further text input. Alternatively, the text input might be an input requesting a single answer, such as "what time is it?", in which case the further actions of block 866 might be to provide an output indicating the current time and then return to block 846.

[0102] During a dialogue with a user, multiple iterations of blocks 856, 856A / B / C / D, 858, 860, 862, 864, and / or 866 can occur to allow the user to navigate and explore multiple search results in accordance with the techniques disclosed herein. Although blocks 856A, 856B, 856C, and 856D are illustrated in a specific order, it is recognized that the order can be changed, one or more blocks can be executed in parallel, and / or one or more blocks can be executed selectively.

[0103] Fig. Figure 9 is a flowchart illustrating an exemplary procedure 900 according to the implementations disclosed herein. For convenience, the operations of the flowchart are described with reference to a system that performs the operations. This system may include various components of different computer systems, such as the automated assistant 120. While the operations of procedure 900 are shown in a specific order, this is not intended to be restrictive. One or more operations may be rearranged, omitted, or added.

[0104] In block 950, the system receives text input. This text input can be generated as part of a dialogue between a user and the system, and can be based on input to the user interface generated by a user interface input device, such as a microphone or a virtual keyboard.

[0105] Block 952 contains the search results that respond to the text input. In some implementations, block 952 also provides the system with a display order for the search results.

[0106] In block 954, the system provides one or more groups of search results. For example, the system can provide a first search result, then a second search result, then a third search result, and so on.

[0107] In block 956, the system receives a text input during the provisioning process after block 954.

[0108] In block 958, the system determines one or more attributes of one or more of the search results provided in block 954 based on the text input. For example, the text input could be "never show results from this source." Based on "this source," the system can determine a source attribute associated with the most recently provided search result. Another example is the text input "more like this." Based on "like this," the system can determine an attribute associated with the most recently provided search result, such as a source attribute, a topic attribute, a document type attribute (e.g., image, video, or web page), and so on. As yet another example, the text input could be "nothing more from source 1," where the system can determine that a source attribute of "source 1" is also a source attribute of one or more of the search results provided in block 954.

[0109] In block 960, the system determines a parameter and a sentiment expressed for that attribute in the subsequent text input of block 956, based on the specified attribute(s). A given parameter can define an attribute and define how the search results containing that attribute should be influenced. The system can determine how the search results containing that attribute should be influenced based on the sentiment expressed for that attribute in the subsequent text input. In some implementations, the system can access a mapping of specific sentiment terms to specific influences to determine the influence. For example, "Never" can be mapped to suppressing the search results containing that attribute, and "dislikes" can be mapped to...The attribute "really dislikes" can be mapped to demoting search results to first-level results that have this attribute, "really dislikes" can be mapped to demoting results to higher-level second-level results that have this attribute, "more like" can be mapped to promoting results to first-level results that have this attribute, and so on. In some implementations, the system may additionally or alternatively use a sentiment classifier to determine the direction and / or magnitude of the sentiment, and based on this direction and / or magnitude, determine how to influence the search results that have this attribute.

[0110] In block 962, the system uses the parameter to influence whether or when one or more attribute search results containing this attribute are made available for display to the user. In some implementations, the system uses the parameter to influence one or more of the search results received in block 952 and, consequently, to influence the further provision of search results in response to text input received in block 950. In some implementations, the system additionally or alternatively uses the parameter to influence one or more search results for subsequent searches based on subsequent text input in the dialogue between the user and the system.

[0111] The various examples described here relate to the visual presentation of search results via a graphical user interface and / or an audible presentation of the search results via a loudspeaker. However, in some implementations, the search results can be provided to the user using additional and / or alternative techniques. For example, in some implementations, the search results can be provided to a user for tactile presentation. As another example, in some implementations, the search results can contain multiple lighting commands and / or lighting scenes to be implemented by a lighting system, with each search result being represented as a lighting output by the lighting system. Providing a lighting scene search result for presentation to a user can, for example,This includes providing a command (or commands) or other output to a lighting system controller and / or to individual components of the lighting system (e.g., individual light bulbs or other lighting units) that will cause a lighting scene to be generated in a way that matches the lighting scene search result to be generated by the lighting system.As a specific example, an initial search result for a lighting scene can be displayed to the user as a lighting output from the lighting system: in response to the input "next" in the user interface, the next lighting scene can be displayed in the order of the search results; in response to another input of "next" in the user interface, the next lighting scene can be displayed in the order; and in response to another input in the user interface that identifies a previously displayed search result, another search result can be displayed that contradicts the order of the search results. A further text input of "back to the first lighting scene" could, for example,This can cause the initially displayed lighting scene to be displayed again; further text input such as "back to the one with lots of red" can cause a previously provided lighting scene with a "red" attribute to be displayed again; further text input such as "more like this" can cause a scene yet to be displayed to be displayed, where this scene contradicts the sequence and is identified based on sharing the attribute(s) with the currently displayed scene. As another specific example, a given lighting scene search result can be presented to the user as a lighting output from the lighting system, where, while the given lighting scene search result is being displayed, the user can provide further input to the user interface such as "never any lighting scenes like this".Such additional input to the user interface can be used to determine whether or when further lighting scene search results that share one or more attributes with the given lighting scene search result are displayed in response to a further dialog.

[0112] Fig. Figure 10 is a block diagram of an exemplary computer device 1010, which can optionally be used to perform one or more aspects of the techniques described herein. In some implementations, one or more components of a client computer device, an automated assistant 120, and / or other component(s) may include one or more components of the exemplary computer device 1010.

[0113] The computer device 1010 typically contains at least one processor 1014, which communicates with a number of peripheral devices via a bus subsystem 1012. These peripheral devices may include a storage subsystem 1024, which may contain, for example, a data storage subsystem 1025 and a file storage subsystem 1026, user interface output devices 1020, user interface input devices 1022, and a network interface subsystem 1016. The input and output devices enable user interaction with the computer device 1010. A network interface subsystem 1016 provides an interface to external networks and is coupled to corresponding interface devices in other computer devices.

[0114] The user interface input devices 1022 may include a keyboard, pointing devices such as a mouse, trackball, touchpad or graphics tablet, a scanner, a touchscreen included in the display, audio input devices such as speech recognition systems, microphones and / or other types of input devices. In general, the use of the term "input device" is intended to include all possible types and methods for inputting information into the computer device 1010 or onto a communications network.

[0115] The user interface output devices 1020 may include a display subsystem, a printer, a fax machine, or non-visual displays, such as audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat panel device, such as a liquid crystal display (LCD), a projection device, or any other mechanism for producing a visible image. The display subsystem may also provide a non-visual display, such as via audio output devices. In general, the use of the term "output device" is intended to include all possible types of devices and methods for outputting information from the computer device 1010 to the user or to another machine or computer device.

[0116] The 1024 memory subsystem stores programming and data constructs that provide the functionality of some or all of the modules described here. For example, the 1024 memory subsystem can contain the logic to execute selected aspects of the procedure according to Fig. 8 and / or the procedure according to Fig. 9 to execute.

[0117] These software modules can generally be executed by the 1014 processor alone or in combination with other processors. The 1025 data storage used in the 1024 memory subsystem can include a number of data storage locations, including a main read / write memory (main RAM) 630 for storing instructions and data during program execution, and a read-only memory (ROM) 632 in which fixed instructions are stored. A 1026 file storage subsystem can provide persistent storage for program and data files and can include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges.The modules that implement the functionality of certain implementations may be stored by the file storage subsystem 1026 in the storage subsystem 1024 or in other machines accessible by the processor(s) 1014.

[0118] The bus subsystem 1012 provides a mechanism to allow the various components and subsystems to communicate with each other and the computer device 1010, as intended. Although the bus subsystem 1012 is shown as a single bus, alternative implementations of the bus subsystem may use multiple buses.

[0119] The computer device 1010 can be of varying types, including a workstation, a server, a computer cluster, a blade server, a server farm, or any other data processing system or computer device. Due to the constantly changing nature of computers and networks, the description of the computer device in the following is not sufficient. Fig. The computer device 1010 shown in Figure 10 is provided only as a specific example for the purpose of illustrating some implementations. Many other configurations of the computer device 1010 are possible, which may have more or fewer components than those shown. Fig. 10 computer devices shown.

[0120] In situations where the systems described here collect or use personal information about users, users may be given an opportunity to control whether the programs or features collect user information (e.g., information about a user's social network, social actions or activities, occupation, preferences, or current geographic location), or to control whether and / or how to receive content from the content server that may be more relevant to the user. Furthermore, certain data may be processed in one or more ways before being stored or used so that the personally identifiable information is removed. For example, a user's identity may be...The data can be processed in such a way that no personally identifiable information can be determined for the user, or the user's geographic location can be generalized by obtaining information about the geographic location (such as a city, postal code, or country level) so that a specific geographic location of the user cannot be determined. The user can have control over how the information about the user is collected and / or used.

[0121] According to the implementations described in this disclosure, methods, devices, and computer-readable media are created that relate to the interaction between a user and an automated assistant during a dialogue between the user and the automated assistant. Some implementations relate to adapting a graphical and / or audible representation of the search results provided by the automated assistant. The adaptation can occur in response to the attribute(s) of the search result(s) referenced in the input provided by the user during the dialogue.Some of these implementations: allow a user to provide text input to navigate the search results within the dialog and within the resource and / or interface constraints associated with the dialog; and / or allow customization, based on text input provided by a user to the automated assistant, of when and / or whether the automated assistant provides search results that have certain attributes. Exemplary implementations effectively employ an improved interaction protocol for an automated assistant to reduce the resources used during interactions between the automated assistant and its user(s).

Claims

[1] Method implemented by one or more processors (1014) and comprising: Receiving an input, wherein the input is based on an input into a user interface generated by a user (101) via a user interface input device (102), wherein the input into the user interface is generated by the user (101) as part of a dialogue between the user (101) and an automated assistant (120), which is at least partially implemented by one or more of the processors (1014), Retrieving multiple search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) that respond to input; sequentially providing groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) for display to the user (101) via a user interface output device (104), wherein each of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) contains at least one of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) and wherein the sequential provision of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) comprises providing each of the groups in accordance with an order of the groups; Receiving a further input during sequential provisioning and during the display of at least one of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) during sequential provisioning, wherein the further input is based on a further input to the user interface generated by the user (101) via the user interface input device (102) or another user interface input device (102); Determine based on one or more terms of the further input and based on at least one attribute of a previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), where the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is one of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) that were previously provided during the sequential provisioning, wherein determining, based on one or more terms of the further input and based on at least one attribute of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), includes determining that one or more terms of the further input correspond to at least one attribute of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A); and In response to determining that the further input received during the sequential provisioning and display of at least one of the search result groups (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) during the sequential provisioning corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), provide an output related to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), wherein providing the output corresponds to the order of the groups of the sequentially provided search results. (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) contradicts. [2] Method according to claim 1, wherein the sequential provision of the groups of search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) for display to the user (101) comprises: Providing an initial group of groups in response to the input; Providing a second group after the initial group, wherein the second group sequentially follows the initial group in accordance with the order, wherein the provision of the second group occurs in response to receiving additional input into the user interface, and wherein the additional input into the user interface precedes the further input into the user interface. [3] Method according to claim 2, wherein the additional input to the user interface is a verbal input to the user interface. [4] Method according to one of the preceding claims, wherein the user interface input device (102) includes a microphone, the user interface output device (104) includes a loudspeaker and wherein further input into the user interface is generated by the user (101) via the microphone. [5] Method according to claim 4, wherein at least part of the further input into the user interface is received via the loudspeaker during the audible display of one of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A). [6] A method according to any of the preceding claims, wherein the further input into the user interface is verbal input into the user interface, the method further comprising: Active monitoring of further input during sequential provisioning; where the receipt of further input takes place during active monitoring. [7] Method according to any of the preceding claims, wherein the user interface output device (104) includes a display, wherein the output includes the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) and wherein providing the output comprises: To cause the output to be displayed separately in a graphical user interface on the screen and removed from any persistent output of the previous representation of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A). [8] Method according to any of the preceding claims, wherein the output is an additional search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) that is related to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) but is associated with a different underlying content element than the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A). [9] Method according to any of the preceding claims, wherein the user interface output device (104) includes a display and wherein the sequential provision of the groups for display to the user (101) via the display comprises: To cause each of the groups in a graphical user interface displayed on the screen to displace a corresponding immediately preceding group of groups. [10] Method according to claim 9, wherein providing the output related to the previously presented search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) comprises: Causing the output in the graphical user interface to override the most recently deployed group of groups that was deployed during sequential deployment. [11] Method according to any of the preceding claims, wherein the at least one attribute is one of the following: a name of a source of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), a name of an entity contained in the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), and a reference to a display order of the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) when sequentially providing the groups. [12] A method according to any of the preceding claims, further comprising: Determine, based on one or more of the terms of the further input, that the further input also matches an additional previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) that was previously served during the sequential serving; where determining that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) further includes: Selecting the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) instead of the additional previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) based on one or more additional criteria. [13] A method according to any of the preceding claims, further comprising: Determine, based on one or more of the terms of the further input, that the further input also includes an additional previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) corresponds to what was previously provided during sequential provisioning; where determining that the further input corresponds to the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) includes: Generating a prompt based on an additional attribute of the additional previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), Providing the request for display to the user (101) via the user interface output device (104), Received in response to a request for additional input in the user interface and Selecting the previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) instead of the additional previously displayed search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) based on the additional input into the user interface. [14] Method according to any of the preceding claims, wherein both the input and the further input comprise a text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D). [15] Method according to claim 14, wherein the text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) is generated based on a verbal input into the user interface. [16] Method implemented by one or more processors (1014) and comprising: as part of a dialogue between a user (101) and an automated assistant (120), which is implemented at least partially by one or more of the processors (1014): Providing a search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) for display to the user (101), and In response to the provision of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), receiving a text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) that refers to an attribute of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) and a user sentiment for that attribute, the text input being (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) is based on an input to the user interface generated by the user (101) via the user interface input device (102); Determine, based on the attribute of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) and the user's sentiment (101) for that attribute, a parameter (217) that influences whether or when one or more attribute search results exhibiting the attribute are provided by the automated assistant (120) in response to further dialogue between the user (101) and the automated assistant (120); and as part of the further dialogue between the user (101) and the automated assistant (120): Use by the automated assistant (120) of the parameter (217) to influence whether or when at least one of the attribute search results is made available for display to the user (101), where the parameter (217) is either: By influencing the ranking of the attribute search results, it is affected when the attribute search results are provided as part of the further dialog, or Preventing the attribute search results from being provided affects whether the attribute search results are provided as part of the further dialog. [17] Method according to claim 16, wherein the parameter (217) influences the ranking of the attribute search results to a degree based on the user's sentiment (101) for the attribute of the attribute search results. [18] Method according to claim 16, wherein the parameter (217) based on the user's mood (101) for the attribute, which is expressed in the text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) by one or more predefined terms, prevents the attribute search results from being provided. [19] Method according to any one of claims 16 to 18, wherein the attribute of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is a source of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), wherein the text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) contains a term referring to the source and an additional term referring to the sentiment, and wherein the parameter (217): A ranking of attribute search results from the source may affect or prevent the attribute search results from being provided by the source for presentation to the user (101). [20] Method according to any one of claims 16 to 19, wherein the reference to the attribute in the text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) is a reference to the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) without an explicit reference to the attribute, wherein the method further comprises: Identifying the attribute based on the attribute associated with the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) in one or more computer-readable media. [21] Method according to claim 20, wherein the attribute is one of the following: a source of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A), an entity that appears in the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is referenced, and a document type of the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A). [22] A method according to any one of claims 16 to 21, wherein the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is made available for display to the user (101) in response to a first text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) by the user (101), wherein the further dialog is a continuation of the dialog and a continuation of the sequential display of the search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) in response to the first Text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) and where at least one of the attribute search results responds to the first text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D). [23] A method according to any one of claims 16 to 22, wherein the search result (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) is made available for display to the user (101) in response to a first text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) by the user (101), wherein the further dialog includes the provision of additional search results (382A-C; 482A-D; 582A, 582C, 582D; 682A, 682C; 782A) to the user (101) in response to a new search that is for the additional text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D) of the user (101) is output, and wherein at least one of the attribute search results responds to the additional text input (201, 211; 380A-D; 480A-D, 488B-D; 580A-E, 582B; 680A-C; 780A-D). [24] Device configured to perform the method according to any of the preceding claims. [25] Computer-readable instructions which, when executed by a computer device (1010), cause the method according to any of the preceding claims to be executed.

Citation Information

Patent Citations

  • Intelligent automated assistant in a media environment

    EP3291564A1

  • Prioritizing Selection Criteria by Automated Assistant

    US20130111348A1

  • Intelligent Automated Assistant

    US20130275164A1