Dynamically filtering search results using contextual user interaction data
By collecting user interaction data to generate dynamic filtering rules, the problem that static search filters cannot respond to user interaction is solved, and more efficient and relevant search results are presented, reducing computing resource consumption.
Patent Information
- Application Number
- CN202480008547.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-23
- Filing Date
- 2024-02-15
- Publication Date
- 2025-08-29
AI Technical Summary
Existing search filters are usually static and cannot respond dynamically to user interactions, resulting in less relevance and efficiency of search results.
By collecting user interaction data, generating dynamic filtering rules, and adjusting search results content in real time, including the behavior of scrolling, selecting and hiding entries, to improve the relevance and efficiency of results.
It realizes seamless filtering of search results during user interaction, reduces computing resource consumption, improves the relevance and user experience of search results, and reduces the presentation time of irrelevant results.
Smart Images

Figure CN120569719A_ABST
Abstract
Description
Background Art
[0001] Search engines are vital tools for navigating vast amounts of data on the Internet, in large document databases, and the like. However, defining effective searches that quickly provide desired results is challenging for many users. Search filters can be helpful, but many search filters are often static and do not reflect the desired search content and / or are not responsive to user input. Summary of the Invention
[0002] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0003] A computerized method for filtering search result content using user interaction data is described. Search result content including a search result item is presented. User interaction data indicating user interaction with the presented search result content is received, and result filtering rules are determined using the user interaction data. Filtered search result content is generated using the determined result filtering rules, and the generated filtered search result content, including a portion of the search result item, is presented. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The present specification will be better understood by reading the following detailed description in light of the accompanying drawings, in which:
[0005] Figure 1 is a block diagram illustrating an example system configured for using user interaction data to provide filtered search result content;
[0006] Figure 2 is a sequence diagram illustrating an example method for filtering search result content based on user interaction data;
[0007] Figure 3 is a sequence diagram illustrating an example method for prompting a user to filter search result content based on user interaction data;
[0008] Figure 4 is a diagram illustrating an example user interface (UI) configured for displaying search result content and rule prompts;
[0009] Figure 5 is a diagram illustrating an example UI configured for displaying search result content and suggested search query input;
[0010] Figure 6 is a flow chart illustrating an example method for filtering search result content based on user interaction data;
[0011] Figure 7 is a flow chart illustrating an example method for prompting a user to filter search result content based on user interaction data; and Figure 8 An example computing device is illustrated as a functional block diagram.
[0012] Corresponding reference numerals indicate corresponding parts throughout the drawings. Figures 1 to 8 In the present invention, the system is shown as a schematic diagram. The drawings may not be drawn to scale. Any of the drawings can be combined into a single example or embodiment. DETAILED DESCRIPTION
[0013] Aspects of the present disclosure provide a system and method for dynamically filtering search results when a user is viewing search results and interacting with the search results. The user is presented with search result content and continues to view the content, including taking actions such as scrolling through entries, choosing to view another page of entries, choosing to hide entries, and / or choosing to open or otherwise activate entries. The user can also choose to ignore or skip one or more entries. Data associated with such interactions is collected and provided to a dynamic search platform (e.g., one or more servers). The platform analyzes the interaction data and generates result filtering rules to be applied to the search result content, thereby improving the relevance of the additional entries to be displayed to the user. These result filtering rules are then applied to the search result content so that the additional content presented to the user (e.g., due to scrolling or loading a new page) more accurately reflects the results that match the user's intent.
[0014] The present disclosure operates in an unconventional manner by at least collecting user interaction data and dynamically generating and applying filtering rules based on this data as the user is viewing search result content. This enables users of the system to obtain the search results they desire in a relatively seamless manner. For example, for a user viewing search results using an "infinite scroll" interface, new results presented as a result of scrolling can be filtered even if previously presented results were not filtered. As described herein, filters can be applied automatically or based on the user accepting the filter using a prompt.
[0015] Prompting the user to accept or reject dynamically generated filtering rules enables the user to quickly improve the quality of the displayed search results. In addition, in some examples, the user's response to the rule prompt is used as part of the user interaction data for generating future result filtering rules. The described iterative generation and suggestion of filtering rules based on the collected user interaction data accelerates the search process toward the user's desired results and reduces the consumption of computing, memory and / or data storage resources of the associated computing system over time by displaying more relevant content earlier in the search process. In addition, in some examples, analysis of the user interaction data and other contextual data is utilized to generate changes to the search query input that can be suggested to the user to teach them to refine the current search and / or to improve future searches.
[0016] The present disclosure is configured to analyze the items that the user is scrolling past as the user views the search results, and based on these items, the present disclosure is configured to generate the described result filtering rules. Scrolling past a sufficient number of items that share a specific feature or attribute is used to generate the result filtering rules to filter out items with the specific feature or attribute when presenting future search result content. Such analysis of scrolling data further reduces the time required to present the desired results to the user and the resource consumption of the computing device that is serving the search results.
[0017] In addition, in some examples, the present disclosure is configured to detect groups or clusters of similar results that have not yet been presented, and as a result of a user interaction indicating a lack of interest in the currently presented search result item, the present disclosure is configured to suggest checking the detected groups or clusters of similar results instead. In some examples, the performance of these operations enables the user to quickly jump to other groups of results when the currently presented results are not relevant to the content the user is looking for. Similarly, this feature significantly reduces the computing resources required by the associated computing device to present the search result content to the user until a group or cluster of similar resources is found and presented.
[0018] Figure 1 is a block diagram illustrating an example system 100 configured to provide filtered search result content 110 using user interaction data 114. In some examples, the dynamic search platform 102 is configured to generate result filtering rules 120 using collected user interaction data 114, including scrolling data 116, from a user input interface 112 of a user device 104. The result filtering rules 120 are then applied to search result content 108 to generate filtered search result content 110, and the content 110 is provided to a display interface 106 of the user device 104, where the content 110 is displayed to the user.
[0019] Furthermore, in some examples, system 100 includes one or more computing devices (e.g., a network or network interface) configured to communicate with each other via one or more communication networks (e.g., an intranet, the Internet, a cellular network, other wireless networks, other wired networks, etc.). Figure 8 computing device). In some examples, the entities of system 100 are configured to be distributed among multiple computing devices and to communicate with each other via a network connection. For example, user device 104 is a first computing device, and dynamic search platform 102 occupies multiple other computing devices. As described herein, user device 104 and / or multiple devices of dynamic search platform 102 are configured to communicate with each other via a network connection. Alternatively, in other examples, dynamic search platform 102 is located on user device 104 and / or executed on user device 104, such that system 100 is located on that single device. In yet other examples, other organizations of computing devices are used to implement system 100 without departing from this description.
[0020] In some examples, the system 100 is configured to receive a search query input from a user of the user device 104 and generate initial search result content 108 in response to the search query input. In some examples, the search query input includes one or more words or other search terms that are used as input to a search engine, which then identifies items in a dataset (e.g., stored in one or more databases or other data storage structures) that correspond to the search query input. Furthermore, the search engine is configured to generate the search result content 108 in such a way that the identified items of the dataset determined to be relevant to the search query input are included in the search result content 108 as search results or search result entries.
[0021] In some examples, the search result items of the search result content 108 include items of one or more different item types. For example, in some examples, the search engine is configured to return websites related to the search query input, while in other examples, the search engine is configured to return documents, images, or other media files in addition to or instead of websites. In other examples, the search result items include items associated with more, fewer, or different item types without departing from the present description.
[0022] Search result content 108 is provided to user device 104 and displayed on display interface 106. In some examples, the display interface is a monitor, touch screen, or other screen interface. Furthermore, in some examples, search result content 108 is displayed in a manner such that the items of content 108 are sorted, such as from most relevant to the search query input to least relevant to the search query input. Additionally or alternatively, a user of user device 104 can select a method for sorting the items of search result content 108, such as changing the order to be by date, by the name of the author or other creator of the media, or the like. In some examples, displaying search result content 108 in display interface 106 includes displaying search result content 108 in an interface configured for continuous scrolling, such that when a user chooses to scroll away from a current result to a next result, the next result is dynamically loaded into the interface, and a continuous list or stream of search result items is presented to the user. In other examples, search result content 108 is displayed in a paginated interface such that each page of search result items includes a certain number of search result items and enables the user to navigate to other pages of search result items instead of or in addition to scrolling through the currently displayed search result items.
[0023] In some examples, the user input interface 112 of the user device 104 includes a keyboard, a mouse, a touch screen interface, and the like. The user input interface 112 is configured to collect user interaction data 114 indicating actions taken by the user of the user device 104 in response to the displayed search result content 108 and / or the filtered search result content 110. In some examples, the user interaction data 114 includes scrolling data 116 indicating when the user scrolled through and / or past search result items of the search result content 108, when the user stopped scrolling and the associated search result items currently displayed in the display interface 106, and the like. Additionally or alternatively, other user interaction data 114 includes data indicating that the user selected a displayed search result item, data indicating that the user chose to hide a search result item from the list of displayed items, data indicating that the user chose to navigate to the next page of search result items, data indicating that the user highlighted a displayed search result item, and the like. In other examples, more, fewer, or different types of user interaction data 114 are collected on the user device 104 and provided to the dynamic search platform 102 without departing from this description.
[0024] Furthermore, in some examples, the dynamic search platform 102 includes a filtering rule generator 118 for generating result filtering rules 120. The filtering rule generator 118 includes hardware, firmware, and / or software configured to analyze user interaction data 114 in conjunction with current search result content 108 to generate result filtering rules 120. The result filtering rules 120 can be used to filter the search result content 108 to better suit the type of results the user of the user device 104 is seeking. For example, in some examples, the filtering rule generator 118 determines that the user has scrolled past a certain number of search result entries that are image files. As a result, the filtering rule generator 118 is configured to infer that the user is not interested in image files as a result of the search query. The result filtering rule 120 is then generated to filter out image file entries from the search result content 108. In some examples, the generated result filtering rule 120 is based on the user interaction data 114, which includes patterns from which possible user intent can be determined. In the above example, the user interaction data 114 includes a pattern of the user scrolling past a certain number of image files, and the associated result filtering rule 120 is generated as a result. For example, the volume threshold required to satisfy the pattern can be a defined value, a percentage of the total items that have been scrolled through, etc. In other examples, without departing from the present description, more, fewer, or different patterns are identified in the user interaction data 114, and associated result filtering rules 120 are generated based on those patterns. In some examples, the other result filtering rules 120 include rules that filter search result items using item type, rules that filter search result items using item date information (e.g., the date the document was created, the date the item was last updated, etc.), and / or rules that filter search result items using the identity of the author or another person or entity associated with the search result item.
[0025] In some examples, the filter rule generator 118 is configured to generate a plurality of result filter rules 120 using the user interaction data 114 and the search result content 108, as described herein. Some or all of the plurality of result filter rules 120 are then applied to the search result content 108 to generate filtered search result content 110, as described herein. In an example, a first result filter rule 120 is generated to filter out entries older than one year, and a second result filter rule 120 is generated to filter out entries that are image files. Both generated rules 120 are applied to the search result content 108, such that the filtered search result content 110 does not include entries older than one year or entries that are image files.
[0026] Furthermore, in some examples, the filtering rule generator 118 includes a relevance model 119 for analyzing the user interaction data 114 to generate the result filtering rules 120. The relevance model 119 is a model trained using machine learning to associate the user interaction data 114, including the scrolling data 116, with the type of result filtering rule 120 and / or specific features or values used in the result filtering rules 120. In some examples, the relevance model 119 receives as input a set of user interaction data 114 and generates a set or list of result filtering rules 120 associated with a relevance value indicating how relevant each result filtering rule 120 may be to the user interaction data 114. Some or all of the result filtering rules in the list of result filtering rules 120 can be applied to generate the filtered search result content 110, with the result filtering rules 120 having the highest relevance values or otherwise deemed most relevant being most likely to be applied to generate the filtered search result content 110.
[0027] After the filtered search result content 110 is generated at the dynamic search platform 102, the filtered search result content 110 is provided to the user device 104 for display in the display interface 106. In some examples, the search result content 108 is displayed in an infinite scroll interface such that as the user scrolls, the filtered search result content 110 is included after the portion of the search result content 108 currently being displayed. In some such examples, the search result content 108 that is already displayed is not updated by applying the result filtering rules 120. Only newly displayed search result entries reflect the filtered search result content 110. Alternatively, in other examples, the displayed search result entries of the search result content 108 that is already displayed are updated and / or refreshed to reflect the application of the result filtering rules 120, such that only the filtered search result content 110 is displayed in place of the original search result content 108.
[0028] Furthermore, in examples where a paged display method is used to display search result content 108 and / or filtered search result content 110 on display interface 106, as the user navigates through pages of the interface, the filtered search result content 110 is reflected in newly displayed search result entries. In this manner, pages of previously viewed entries retain entries of the original search result content 108, and pages accessed after result filtering rules 120 have been applied include entries of the filtered search result content 110. Alternatively, in other examples, displayed search result entries of search result content 108 already displayed on a page of the interface are updated and / or refreshed to reflect the application of result filtering rules 120, such that only filtered search result content 110 is displayed in place of the original search result content 108.
[0029] Additionally or alternatively, in some examples, the dynamic search platform 102 is configured to prompt a user of the user device 104 to select or otherwise approve application of one or more of the result filtering rules 120 before the result filtering rules 120 are used to generate the filtered search result content 110 and / or before the filtered search result content 110 is displayed on the display interface 106. In some examples, after a sufficient amount of user interaction data 114 has been collected and provided to the dynamic search platform 102 and the filtering rule generator 118 has generated at least one result filtering rule 120, the dynamic search platform 102 causes the display interface 106 of the user device 104 to display a prompt that includes information associated with the generated one or more result filtering rules 120. In an example, the prompt includes notifying the user that they can select one or more of the suggested result filtering rules 120 to apply to the search result content 108 to further refine the language of the search. If the user agrees to and / or selects one or more of the result filtering rules 120 to be applied, the dynamic search platform 102 does so, generates filtered search result content 110, and provides the filtered search result content 110 for display to the user on the display interface 106. If the user rejects or otherwise does not select any of the filtering rules 120, the display interface 106 continues to display items of the search result content 108 without applying any of the filtering rules 120.
[0030] In addition, in some examples, the prompts provided to the user by the dynamic search platform 102 include suggested changes to the original search query input to improve the accuracy and / or efficiency of the user's search. In some of these examples, the suggested changes are generated due to the generated result filtering rules 120. When a result filtering rule 120 is generated that may have been originally included in the search query input by using a specific combination or format of input, the changes associated with the search query input to implement such a search are provided to the user via the display interface 106, informing the user how to improve their search query input in the future to provide more relevant results with less scrolling or paging of results. This can be provided in a "Did you know?" UI element presented to the user, such as "Did you know that by including this filter you can focus on only image files?"
[0031] In some examples, the user device 104 is configured to send scroll data 116 and / or other similar user interaction data 114 to the dynamic search platform 102, and in response, the dynamic search platform 102 sends back a signal or indication to filter out or skip the type of entries based on the result filtering rules 120, so that the search result content displayed on the interface 106 is the filtered search result content 110. Alternatively, in other examples, the user interaction data 114 only includes requests for additional search results, from which it is inferred that the user is scrolling through the results or otherwise selecting to view new results. In such examples, those requests for additional results are analyzed as user interaction data 114, and result filtering rules 120 are generated based on those requests, as described herein.
[0032] Furthermore, in some examples, user interaction data 114 and other associated contextual data are used to train an optimization model of the dynamic search platform 102 using machine learning techniques. The optimization model is trained to identify or determine the optimal time and / or location for generating result filtering rules 120 and / or prompting the user of the user device 104 regarding the result filtering rules 120. In an example, the optimization model is trained based on the time and / or location at which the user accepts a presented rule prompt and the time and / or location at which the user rejects a presented rule prompt. The former case is used as a positive indication that the rule prompt is presented at an appropriate time and / or location, while the latter case is used as a negative indication that the rule prompt is presented at an undesirable time and / or location. These cases are used as training data to train the optimization model, which then determines when, where, and / or how to present the rule prompt to the user. Such an optimization model can continue to be trained as the dynamic search platform 102 is used by various users. In other examples, more, fewer, or different applications of the model trained using machine learning can be used without departing from the present description.
[0033] Figure 2 is a sequence diagram illustrating an example method 200 for filtering search result content based on user interaction data. In some examples, the method 200 is performed by, for example, Figure 1 The system 100 is executed or otherwise performed by a system such as Figure 1 The system 100 performs or is associated with a system such as Figure 1 The system 100 is executed in association with the system.
[0034] At 202, user device 104 collects search query input and sends it to dynamic search platform 102. In some examples, user device 104 prompts the user to provide the search query input using a user interface (UI) of user device 104. Furthermore, in some such examples, the search query input is provided to dynamic search platform 102 via a network connection when dynamic search platform 102 is located on or otherwise associated with another device or devices. Alternatively, if dynamic search platform 102 is located on or associated with user device 104, the search query input is provided to dynamic search platform 102 via an internal communication channel of user device 104.
[0035] At 204, search result content is generated by the dynamic search platform 102. In some examples, the dynamic search platform 102 includes a search engine that generates search result content, including search result items related to or otherwise associated with the search query input. Alternatively, in other examples, the dynamic search platform 102 is not configured to generate search result content, and instead, the search query input is provided to another search engine entity that generates search result content and provides it to the dynamic search platform 102 and / or the user device 104.
[0036] At 206, the search result content is sent from the dynamic search platform 102 to the user device 104. Alternatively, in other examples where the search result content is generated by different search engine entities, the search result content is sent from the search engine entity to the user device 104 and / or the dynamic search platform 102.
[0037] At 208, the search result content is displayed to the user. In some examples, the search result content is displayed in an infinite scroll format, such that the list of search result items continues as the user scrolls through the items. Alternatively, in some examples, the search result content is displayed in a paged format, such that the list of search result items is divided into multiple pages of items, allowing the user to navigate between pages of items while viewing the search result content. In other examples, other methods of displaying the search result content are used without departing from the present description.
[0038] At 210, the user device 104 collects user interaction data (e.g., user interaction data 114 using the user input interface 112) and sends the collected user interaction data to the dynamic search platform 102. In some examples, the user interaction data 114 includes scrolling data 116 and / or other types of user interaction data 114, such as data indicating items selected by the user, data indicating the time spent viewing items, etc. It should be understood that in some examples, the user interaction data is continuously collected and sent to the dynamic search platform 102 while the user is interacting with the search result content, such that the collection and sending of user interaction data occurs multiple times throughout the execution of the method 200.
[0039] At 212, the dynamic search platform 102 generates result filtering rules 120 using the user interaction data 114 sent by the user device 104. In some examples, the dynamic search platform 102 generates result filtering rules 120 in a manner similar to that described above with respect to Figure 1 Result filtering rules 120 are generated in the same manner as described above. For example, the dynamic search platform 102 generates one or more result filtering rules 120, and the one or more result filtering rules 120 are configured to filter the search result content based on the type of the search result item. Alternatively or additionally, the dynamic search platform 102 generates one or more result filtering rules 120, and the one or more result filtering rules 120 are configured to filter the search result content based on the date associated with the search result item, the author or other individual associated with the search result item, the source of the search result item, etc.
[0040] At 214, the dynamic search platform 102 uses the result filtering rules 120 to generate filtered search result content 110. In some examples, the filtered search result content 110 includes all search result content to which the result filtering rules are applied. Alternatively, in other examples, the filtered search result content 110 includes search result content to which the result filtering rules are applied that has not yet been displayed to the user. Furthermore, in some examples, generating the filtered search result content 110 includes applying the result filtering rules 120 to the search result content 108 originally obtained from the search engine entity. Alternatively, in other examples, generating the filtered search result content 110 includes executing or otherwise causing another search to be executed by the search engine entity, wherein the result filtering rules 120 are incorporated into the search query input. In such examples, the results from the new search are used as the filtered search result content 110.
[0041] In some other examples, the dynamic search platform 102 is configured to send subsets (e.g., portions) of search result content and / or associated filtered search result content 110 in batches based on a request or other data received from the user device 104. In such examples, the filtered search result content 110 includes a subset (e.g., a non-empty portion) of the search result content to which the result filtering rules 120 are applied, such that after the result filtering rules 120 are generated, each batch of search result content has the result filtering rules 120 applied.
[0042] At 216, the filtered search result content 110 is sent to the user device 104, and at 218, the filtered search result content 110 is displayed to the user. In some examples, the filtered search result content 110 is displayed as part of an infinite scroll interface and / or as part of a paginated search result display format, as described herein. Furthermore, in some examples, the display of the filtered search result content 110 includes a description notifying the user that the displayed search result content has been filtered and / or that a filter or filters have been applied to the search result content.
[0043] Figure 3 is a sequence diagram illustrating an example method 300 for prompting a user to filter search result content based on user interaction data. In some examples, the method 300 is performed by, for example, Figure 1 The system 100 may be executed or performed in other ways.
[0044] At 302, the user device 104 collects search query input and sends it to the dynamic search platform 102. At 304, search result content is generated by the dynamic search platform 102, and at 306, the search result content is sent from the dynamic search platform 102 to the user device 104. At 308, the search result content is displayed to the user, and at 310, the user device 104 collects user interaction data (e.g., user interaction data 114 using the user input interface 112) and sends the collected user interaction data to the dynamic search platform 102. At 312, the dynamic search platform 102 generates result filtering rules 120 using the user interaction data sent by the user device 104. It should be understood that in some examples, 302, 304, 306, 308, 310, and 312 are respectively described above with respect to Figure 2 At least 202, 204, 206, 208, 210 and 212 are performed in substantially the same manner as described above or otherwise performed.
[0045] At 314, the dynamic search platform 102 sends a rule prompt to the user device 104, and at 316, the user device 104 collects and sends a rule prompt response to the dynamic search platform 102. In some examples, the rule prompt includes information describing the generated result filtering rules 120 and enabling the user of the user device 104 to select and / or reject one or more of the result filtering rules 120. For example, the rule prompt includes information describing a set of three generated result filtering rules 120, including entries indicating how each result filtering rule would filter the search result content if applied. For example, rule 1 would filter out entries of type X, rule 2 would filter out entries older than date Y, and rule 3 would filter out entries from source Z.
[0046] The rule prompt is displayed to the user of the user device 104 in a manner that enables the user to accept or reject the application of one or more of the result filtering rules 120 to the search result content. For example, the rule prompt enables the user to accept or reject the application of all three result filtering rules to the search result content. Alternatively, in another example, the rule prompt enables the user to accept some of the rules while rejecting other rules. In the example, the user is provided with a set of check boxes or other similar interface components that they can use to individually indicate acceptance of each rule.
[0047] At 318, the dynamic search platform 102 generates filtered search result content using the result filtering rules and based on the user prompt response. In some examples, the filtered search result content includes all search result content to which the result filtering rules are applied. Alternatively, in other examples, the filtered search result content includes search result content to which the result filtering rules are applied that has not yet been displayed to the user. Furthermore, in some examples, the filtered search result content is filtered using only the result filtering rules accepted by the user of the user device 104, as indicated in the rule prompt response sent by the user device 104. In one example, if the user accepts a first result filtering rule and rejects a second result filtering rule, the filtered search result content is generated by filtering the search result content using the first rule and not filtering the search result content using the second rule.
[0048] In some other examples, the dynamic search platform 102 is configured to send a subset of search result content and / or associated filtered search result content in batches based on a request or other data received from the user device 104. In such examples, the filtered search result content includes only a portion of the search result content to which the result filtering rule is applied, such that after the result filtering rule is generated, each batch of search result content has the result filtering rule applied.
[0049] At 320, the filtered search result content is sent to the user device 104, and at 322, the filtered search result content is displayed to the user. In some examples, the filtered search result content is displayed as part of an infinite scroll interface and / or as part of a paginated search result display format, as described herein. Furthermore, in some examples, the display of the filtered search result content includes a description notifying the user that the displayed search result content has been filtered and / or that a filter or filters have been applied to the search result content.
[0050] Figure 4 FIG400 is a diagram illustrating an example UI 402 configured to display search result content 408, 410, 414, and 416 and rule prompts 412. In some examples, the UI 402 is displayed in a manner such as Figure 1 is displayed or otherwise provided to the user in the system 100. In addition, in some examples, as at least Figure 2 and Figure 3 As part of methods 200 and 300 , UI 402 is displayed or otherwise provided to a user.
[0051] UI 402 includes a search query portion 404 and a search results portion 406. Search query portion 404 displays a search query input in a textual interface component. In some examples, a user is enabled to enter a search query input via a user input interface (e.g., user input interface 112), and based on the user completing the search query input, search results portion 406 is populated with search result content associated with the provided search query input, as described herein.
[0052] The search results section 406 displays the search results content in the form of a list of search results items. In some examples, the search results section 406 displays the search results content in an infinite scrolling or dynamically updated format. Alternatively or additionally, the search results section 406 displays the search results content in a paged format.
[0053] Search results section 406 displays search result items 408, 410, 414, and 416. Each search result item includes a title, a type, and a description. In other examples, more, fewer, or different data values are displayed for each search result item without departing from the present description. In some examples, a user of UI 402 is enabled to scroll through a list of items, select one or more items, hide one or more items, save one or more items, and the like. Furthermore, in examples where search results section 406 displays items in a paged format, the user is enabled to navigate between pages of items using page links or other similar interface components.
[0054] As the user scrolls through or otherwise interacts with search result items, rule prompts 412 are received (e.g., by the dynamic search platform 102 in Figure 3 The rule prompts are sent at 314 of the embodiment of the present invention and are displayed in the list of search result contents, as shown. The rule prompts inform the user that they can refine their search and provide two different result filtering rules that can be applied. If the user activates the button to apply the rule for <x>and / or activate the button to apply filters for <y>Filters (where <x>and <y>is a description of two different filters), the selected filters are applied to the search result content and filtered search result content is generated, as described herein. It should be understood that in other examples, without departing from the present description, rule prompt 412 is displayed or provided to the user of UI 402 in other ways. In the example, rule prompt 412 is displayed as a separate window interface from search result portion 406, overlapping search result portion 406, so that the user is prompted to respond before continuing to view the search result content.
[0055] Figure 5 FIG5 is a diagram 500 illustrating an example UI 502 configured to display search result content 508, 510, 514, and 516 and a suggested search query input 512. In some examples, the UI 502 is displayed in a manner such as Figure 1 is displayed or otherwise provided to the user in the system 100. In addition, in some examples, as at least Figure 2 and Figure 3 As part of methods 200 and 300 , UI 502 is displayed or otherwise provided to a user.
[0056] UI 502 includes a search query portion 504 and a search results portion 506. Search query portion 504 displays a search query input in a textual interface component. In some examples, a user is enabled to enter a search query input via a user input interface (e.g., user input interface 112), and based on the user completing the search query input, search results portion 506 is populated with search result content associated with the provided search query input, as described herein.
[0057] Search results section 506 displays the search results content in the form of a list of search results items. In some examples, search results section 506 displays the search results content in an infinite scrolling or dynamically updated format. Alternatively or additionally, search results section 506 displays the search results content in a paged format.
[0058] Search results section 506 displays search result items 508, 510, 514, and 516. Each search result item includes a title, a type, and a description. In other examples, more, fewer, or different data values are displayed for each search result item without departing from the present description. In some examples, a user of UI 502 is enabled to scroll through a list of items, select one or more items, hide one or more items, save one or more items, and the like. Furthermore, in examples where search results section 506 displays items in a paged format, the user is enabled to navigate between pages of items using page links or other similar interface components.
[0059] As the user scrolls through the search result items or otherwise interacts with the search result items, suggested search query inputs 512 are received (e.g., as described herein, suggested search query inputs 512 are generated by the dynamic search platform 102) and displayed in the list of search result content, as illustrated. Search query inputs 512 inform the user of changes they can make to future search query inputs to improve the effectiveness of those searches. As illustrated, the user of UI 502 has selected search result item 510, and as a result of that interaction, suggested search query inputs 512 have been generated and provided to UI 502 for display. It should be understood that in other examples, search query inputs 512 are displayed or otherwise provided to the user of UI 502 in other ways without departing from this specification. For example, search query input 512 is displayed as a separate window interface from search result portion 506 that overlaps with search result portion 506, so that the user is prompted to respond before continuing to view the search result content.
[0060] It should be understood that in some examples, Figure 4 Any features described in UI 402 also exist in Figure 5 Alternatively or additionally, it should be understood that in some examples, Figure 5 Any features described in UI 502 also exist in Figure 4 UI 402.
[0061] Figure 6 is a flow chart illustrating an example method 600 for filtering search result content (e.g., search result content 108) based on user interaction data (e.g., user interaction data 114). In some examples, the method 600 is performed by a user, such as Figure 1 The system 100 is executed or otherwise performed by a system such as Figure 1 The system 100 performs or is associated with a system such as Figure 1 The system 100 is executed in association with the system.
[0062] At 602, search result content is presented, including a plurality of search result items (e.g., search result items 408, 410, 414, and / or 416). In some examples, the search result content is presented by displaying the search result content on a display interface (e.g., display interface 106). Additionally or alternatively, in some examples, the search result content is displayed in a user interface (e.g., UI 402 and / or UI 502). In some examples, presenting the search result content includes presenting the search result content in an infinite scrolling or dynamically updating format and / or presenting the search result content in a paginated format as described herein.
[0063] At 604, user interaction data is received. The user interaction data indicates user interactions with the search result content. In some examples, the user interaction data includes scrolling data indicating how the search result content is scrolled through, items displayed as scrolling occurs, items displayed when scrolling stops, etc. Alternatively or in addition, the user interaction data includes item selection data and other related data values indicating selected search result items, item hiding data and other related data values indicating search result items selected to be hidden from view, view time data and other related data values indicating the amount of time spent viewing the search result items, and / or page selection data and other related data values indicating page navigation performed to change the viewed search result items. In other examples, more, fewer, and / or different types of user interaction data are used without departing from this description.
[0064] At 606, result filtering rules (e.g., result filtering rules 120) are determined using the user interaction data. In some examples, the determination of the result filtering rules includes using the user interaction data to determine a possible user intent. For example, if the user interaction data indicates that the user is scrolling through many search result items of a particular item type, the determined possible user intent is that the user may not be interested in any search result items of that type. In some examples, the determination of the possible user intent includes determining that the user may be interested in one or more different categories of search result items. Those one or more categories are then used to generate one or more result filtering rules, which are generated in such a way that they filter out one or more item categories in the item categories and / or prioritize one or more item categories in the item categories by filtering out items that are not in a priority category. In addition, in some examples, the determination of the result filtering rules as described herein is performed using a relevance model (e.g., relevance model 119) that has been trained using machine learning techniques.
[0065] In some examples, the determined one or more result filtering rules filter the search result content based on at least one of the following search result item categories: search result item type (e.g., type of file, media type, website, etc.), search result item author (e.g., the name of the person who authored or is otherwise associated with the creation of the item), search result item source (e.g., the file location where the item was found, the website where the item was found, etc.), and / or item date and time data (e.g., items older than a defined threshold, items newer than a defined threshold, items falling within a defined date range, etc.).
[0066] At 608, the determined result filtering rules are used to generate filtered search result content (e.g., filtered search result content 110). In some examples, the generation of the filtered search result content includes applying one or more result filtering rules to the search result content so that entries targeted by the one or more result filtering rules are removed from the search result content to generate the filtered search result content. Furthermore, in some examples, some of the search result content has already been displayed, and therefore, the filtered search result content is generated based on the portion of the search result content that has not yet been displayed. Alternatively, in other examples, without departing from the present description, the filtered search result content is generated based on the entire search result content.
[0067] At 610, the generated filtered search result content is presented. In some examples, the filtered search result content is displayed in the same interface as the search result content described above at 602. Furthermore, in some examples, the filtered search result content is displayed immediately after the most recently displayed unfiltered search result content in a seamless manner, enabling the user to continue scrolling and / or otherwise navigating the aggregated search result content without significant interruption due to the filtering process. Alternatively or additionally, in some examples, the presentation or display of the filtered search result content includes notifying the user that the content has been filtered and / or includes information describing how the content has been filtered.
[0068] In some examples, in addition to the user interaction data, the determination of result filtering rules is also based on other data, such as user context data. User context data includes data associated with the user and / or the user profile for which the search is performed. In some examples, the user context data includes data such as the user's age, the user's location, recent meetings or other events on the user's calendar, the time of the search, etc., which can be used to determine the user's likely intent. Additionally or alternatively, in some examples, the user context data includes data associated with past searches, such as the types of search query inputs that the user has used in the past, the types of entries that the user has found based on those search query inputs, etc. Such user context data is used to more accurately determine when and how search result content should be filtered. In addition, in some examples, such user context data is used to make more accurate suggestions regarding suggested search query inputs as described herein.
[0069] Figure 7 is a flow chart illustrating an example method 700 for prompting a user to filter search result content based on user interaction data. In some examples, the method 700 is performed by a user, such as Figure 1 The system 100 is executed or otherwise performed.
[0070] At 702, a search query input is received from a user of a user device (e.g., user device 104). In some examples, the search query input is provided by the user via an input interface (e.g., user input interface 112) to the user device. For example, the user types a series of words and / or phrases as the search query input using a keyboard. Alternatively, in other examples, the search query input is provided in other ways without departing from the present description.
[0071] At 704, search result content is determined using a search engine and the search query input. In some examples, the search engine used to determine the search result content is part of a dynamic search platform (e.g., dynamic search platform 102) for filtering search result content as described herein. Alternatively, in other examples, the search engine is separate from the dynamic search platform, such that the search result content is determined by the search engine and provided to the dynamic search platform for processing as described herein. In other examples, other arrangements or organizations of search engines, dynamic search platforms, and any user devices are used without departing from this description.
[0072] At 706, the search result content is presented, wherein the search result content includes a plurality of search result items. In some examples, the search result content is presented in the same manner as described above. Figure 6 Presenting the search result content is performed in the same manner and / or using the same features as described at 602 .
[0073] At 708, user interaction data is received. The user interaction data indicates the user's interaction with the search result content. In some examples, receiving user interaction data is similar to the above Figure 6 At 710, the user interaction data is used to determine the result filtering rules. In some examples, the result filtering rules are determined in the same manner and / or using the same features as described above in Figure 6 Determining the result filtering rule is performed in the same manner and / or utilizing the same features as described at 606 .
[0074] At 712, a rule prompt is provided using the determined result filtering rule. In some examples, the rule prompt is displayed to a user of the user device via a display interface (e.g., display interface 106). In an example, the rule prompt is displayed in association with the search result item of the search result content being displayed, as described above with respect to Figure 4 and Figure 5 As described. In addition, the rule prompt can display information about one or more result filtering rules that are recommended to the user for application to the search result content. The rule prompt enables the user to accept or reject one or more of the recommended result filtering rules as a response to the rule prompt. In such an example, the user is enabled to respond to each displayed rule individually, such as by activating a button or other interface component associated with each rule to indicate that the rule should be applied to the search result content).
[0075] At 714, a rule prompt response is received, and if the response indicates acceptance of the result filter rule, the process proceeds to 716. Alternatively, if the response does not indicate acceptance of the result filter rule, the process returns to 708. In some examples, where the rule prompt includes multiple result filter rules and enables the user to individually accept and / or reject each of those multiple result filter rules, the rule prompt response is evaluated for the response to each of the multiple result filter rules. For each accepted result filter rule, processing proceeds to 716 as described herein. No rejected result filter rules are applied, and as illustrated, after executing 716 and 718, processing returns to 708 to apply any accepted result filter rules.
[0076] Furthermore, in some examples, the dynamic search platform 102 is trained to provide additional or future rule prompts that are similar to rule prompts that have been accepted and / or to avoid providing additional or future rule prompts that are similar to rule prompts that have been rejected.
[0077] Additionally or alternatively, in some examples, in response to a provided rule prompt, a suggested query prompt is provided, the suggested query prompt including information indicating one or more changes that can be made to the search query input to improve the likelihood that the search result content will include the term the user is searching for. In such examples, the suggested changes to the search query input are determined based on the generated result filtering rules. For example, if the result filtering rules indicate that a particular type of term should be filtered out of the search result content, the associated suggested changes to the search query input may include suggestions to include search terms that eliminate that type of term from the potential search result content. In other examples, without departing from the present description, the suggested changes are determined in other ways. For example, a user's search history may be used to determine that the user never or rarely uses a particular search term to be used in the current search, so that the suggested query prompt includes information describing the particular search term, how to use it, and why it would be useful in the current search. Alternatively or additionally, the user's historical search data and other contextual data may be used to determine the user's level of search sophistication or expertise, and any suggested search changes may be tailored to that level so as not to overwhelm the user with complex search terms or associated operations.
[0078] At 716, the determined result filtering rules are used to generate filtered search result content. In some examples, generating filtered search result content is done in the same manner as described above. Figure 6 608 is performed in the same manner and / or using the same features as described above.
[0079] At 718, the generated filtered search result content is presented. In some examples, the content is presented in the same manner as described above. Figure 6 Presenting the generated filtered search result content may be performed in the same manner and / or utilizing the same features as described at 610 .
[0080] Additionally or alternatively, in some examples, method 700 prompts the user about a group of search result items that appear later in the search result content. For example, in some such examples, if the user interaction data indicates that the user is unlikely to be interested in the currently presented subset of search result items, a group of search result items that share similarity and have not yet been presented is identified in the search result content. Furthermore, in some such examples, the identified group of search result items includes features or details that are different from the currently presented subset of search result items.
[0081] Upon identifying such a group of similar search result items that have not yet been presented, an item group hint is provided to the user. The item group hint is displayed to the user and includes information about the group of similar search result items, such as information describing shared characteristics between the grouped items and / or other characteristics thereof.
[0082] In addition, in some examples, the item group prompt includes text explaining to the user that they do not appear to be interested in the currently displayed item and / or asking the user whether they would like to see a group of identified similar search result items that have not yet been presented. Based on a received response to the item group prompt, the response indicating that the user would like to see a group of similar search result items, the group of similar search result items is then displayed to the user via a UI that has previously displayed search result content as described herein. In this way, the described method enables detecting that the currently presented search result item may not be what the user is looking for, and jumping to a later group of search result items that are different from the currently displayed one to more efficiently provide the user with the desired search results.
[0083] It should be understood that in some instances, relative to Figure 7 The method 700 uses or otherwise includes Figure 6 Additionally or alternatively, in some examples, relative to Figure 6 The method 600 uses or otherwise includes Figure 7 The features described in method 700 are as follows.
[0084] Exemplary Operating Environment
[0085] The present disclosure can be implemented according to the embodiments Figure 8 The functional block diagram 800 in FIG. 1 is operated in conjunction with a computing device. In an example, according to one or more embodiments described in this specification, the components of the computing device 818 are implemented as part of an electronic device. The computing device 818 includes one or more processors 819, which can be a microprocessor, a controller, or any other suitable type of processor for processing computer-executable instructions to control the operation of the electronic device. Alternatively or additionally, the processor 819 is any technology capable of executing logic or instructions, such as a hard-coded machine. In some examples, platform software including an operating system 820 or any other suitable platform software is provided on the device 818 to enable application software 821 to execute on the device. In some examples, filtering search results based on user interaction data as described herein is implemented by software, hardware, and / or firmware. In some examples, any computer-readable medium accessible by the computing device 818 is used to provide computer-executable instructions. Computer-readable media include, for example, computer storage media, such as memory 822 and communication media. Computer storage media, such as memory 822, include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, and the like. Computer storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), persistent memory, phase-change memory, flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, shingled disk storage or other magnetic storage devices, or any other non-transmission medium capable of storing information for access by a computing device. In contrast, communication media can embody computer-readable instructions, data structures, program modules, and the like in a modulated data signal (such as a carrier wave) or other transmission mechanism. As defined herein, computer storage media does not include communication media. Therefore, computer storage media should not be construed as propagating signals per se. Propagating signals per se are not examples of computer storage media. Although computer storage media (memory 822) is shown within computing device 818, those skilled in the art will understand that in some examples the storage is distributed or located remotely and accessed via a network or other communications link (e.g., using communications interface 823).
[0086] In addition, in some examples, computing device 818 includes an input / output controller 824, which is configured to output information to one or more output devices 825 (e.g., a display or speaker), and output device 825 is separated from or integrated into the electronic device. Additionally or alternatively, input / output controller 824 is configured to receive and process input from one or more input devices 826 (e.g., a keyboard, microphone, or touchpad). In one example, output device 825 also acts as an input device. An example of such a device is a touch-sensitive display. Input / output controller 824 can also output data to a device other than the output device (e.g., a locally connected printing device). In some examples, a user provides input to (one or more) input device 826 and / or receives output from (one or more) output device 825.
[0087] The functions described herein can be performed, at least in part, by one or more hardware logic components. According to an embodiment, the computing device 818 is configured by program code that, when executed by the processor 819, performs the described operations and embodiments of the functions. Alternatively or additionally, the functions described herein can be performed, at least in part, by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), program-specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and graphics processing units (GPUs).
[0088] At least some of the functions of the various elements in the figures may be performed by other elements in the figures or entities not shown in the figures (eg, processors, web services, servers, applications, computing devices, etc.).
[0089] Although described in connection with an exemplary computing system environment, examples of the disclosure can be implemented with numerous other general purpose or special purpose computing system environments, configurations, or devices.
[0090] Examples of well-known computing systems, environments, and / or configurations suitable for use with various aspects of the present disclosure include, but are not limited to: mobile or portable computing devices (e.g., smartphones), personal computers, server computers, handheld (e.g., tablets) or laptop devices, multiprocessor systems, game consoles or controllers, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, mobile computing and / or communication devices in wearable or accessory form factors (e.g., watches, glasses, headphones or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. In general, the present disclosure can operate with any device having processing capabilities that enables it to execute instructions, such as those described herein. Such systems or devices accept input from a user in any manner, including via gesture input, proximity input (such as by hovering), and / or via voice input from an input device such as a keyboard or pointing device.
[0091] Examples of the present disclosure may be described in the general context of computer-executable instructions (such as program modules) executed by one or more computers or other devices in software, firmware, hardware, or a combination thereof. Computer-executable instructions may be organized into one or more computer-executable components or modules. Typically, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform specific tasks or implement specific abstract data types. Aspects of the present disclosure may be implemented using any number and organization of such components or modules. For example, aspects of the present disclosure are not limited to the specific executable instructions or specific components or modules illustrated in the accompanying drawings and described herein. Other examples of the present disclosure include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
[0092] In examples involving a general-purpose computer, aspects of the disclosure convert the general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
[0093] An example system includes: a processor; and a memory including computer program code, wherein the memory and the computer program code are configured to utilize the processor to cause the processor to: receive a search query input from a user of the user device; determine search result content using a search engine and the received search query input; present search result content including search result items on a UI; receive user interaction data indicating user interaction with the presented search result content; use the user interaction data to determine a result filtering rule; provide a rule prompt using the determined result filtering rule on the UI; receive a rule prompt response to the provided rule prompt; generate filtered search result content using the determined result filtering rule and based on the received rule prompt response indicating acceptance of the determined result filtering rule; and present the generated filtered search result content, wherein the filtered search result content includes a subset of the search result items.
[0094] An example computerized method includes: presenting search result content including search result items; receiving user interaction data indicating user interaction with the presented search result content; using the user interaction data to determine result filtering rules; using the determined result filtering rules to generate filtered search result content; and presenting the generated filtered search result content, wherein the filtered search result content includes a subset of the search result items.
[0095] One or more computer storage media having computer-executable instructions that, when executed by a processor, cause the processor to at least: cause search result content including search result items to be presented; receive user interaction data indicating user interaction with the presented search result content; use the user interaction data to determine result filtering rules; use the determined result filtering rules to generate filtered search result content; and cause the generated filtered search result content to be presented, wherein the filtered search result content includes a subset of the search result items.
[0096] Alternatively or in addition to other examples described herein, examples include any combination of the following:
[0097] Wherein, determining the result filtering rules includes: using the user interaction data to determine a possible user intent, wherein the possible user intent indicates that the user associated with the user interaction data may not be interested in a category of search result items of the search result content; and generating the result filtering rules to filter out the category of search result items targeted by the determined possible user intent.
[0098] Wherein, using the user interaction data to determine the possible user intention includes using a correlation model that has been trained using machine learning technology to determine the possible user intention.
[0099] Wherein, using the user interaction data to determine the result filtering rules also includes: using user context data to determine the result filtering rules, wherein the user context data includes context data from a user profile of a user from whom the user interaction data is received and at least one of the past searches of the user from whom the user interaction data is received.
[0100] Presenting the generated filtered search result content includes: when a new batch of search result items are to be presented, maintaining the search result items that have been presented in the search result content, and presenting the search result items of the filtered search result content.
[0101] The result filtering rule filters the search result content based on at least one of the following: search result item type, search result item author, and date.
[0102] The user interaction data includes at least one of the following: scrolling data, item selection data, item hiding data, viewing time data, and page selection data.
[0103] wherein the memory and the computer program code are configured to utilize the processor to further cause the processor to: use the user interaction data to determine that the user lacks interest in a subset of currently presented search result items; identify a group of similar search result items that have not yet been presented in the search result content; provide an item group prompt on the UI using the identified group of similar search result items; receive an item group prompt response to the provided item group prompt; and present the group of similar search result items on the UI based on the item group prompt response, the item group prompt response indicating that the user wants to see the group of similar search result items.
[0104] Wherein, the computer-executable instructions, when executed by a processor, further cause the processor to at least: determine a suggested search query input using the user interaction data; and provide a prompt including the suggested search query input.
[0105] As will be apparent to one skilled in the art, any range or device value given herein may be expanded or altered without losing the effect sought.
[0106] Examples have been described with reference to data monitored and / or collected from users (e.g., user identity data for a profile). In some examples, a user is provided with a notification (e.g., via a dialog box or preference setting) and is provided with an opportunity to grant or deny consent to the monitoring and / or collection. Consent may take the form of opt-in consent or opt-out consent.
[0107] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0108] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the problems described or have any or all of the benefits and advantages described. It will also be understood that reference to 'an' item refers to one or more of those items.
[0109] The embodiments illustrated and described herein, and embodiments not specifically described herein but within the scope of aspects of the claims, constitute exemplary units for presenting search result content including search result items; exemplary units for receiving user interaction data indicating user interaction with the presented search result content; exemplary units for determining result filtering rules using the user interaction data; exemplary units for generating filtered search result content using the determined result filtering rules; and exemplary units for presenting the generated filtered search result content, wherein the filtered search result content includes a subset of the search result items.
[0110] The term “comprising” is used in this specification to mean including the features or actions that follow thereafter, but does not preclude the existence of one or more additional features or actions.
[0111] In some examples, the operations illustrated in the figures are implemented as software instructions encoded on a computer-readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of the present disclosure are implemented as a system on a chip or other circuit comprising a plurality of interconnected conductive elements.
[0112] Unless otherwise specified, the order in which the operations in the examples of the present disclosure illustrated and described herein are performed or executed is not required. That is, unless otherwise specified, the operations may be performed in any order, and the examples of the present disclosure may include more or fewer operations than those disclosed herein. For example, it is contemplated that it is within the scope of the various aspects of the present disclosure to perform or execute a particular operation before, simultaneously with, or after another operation.
[0113] When introducing elements of aspects of the present disclosure or examples thereof, the articles "a," "an," "the," and "said" are intended to indicate that there are one or more elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements. The term "exemplary" is intended to mean "example." The phrase "one or more of: A, B, and C" means "at least one of A and / or B and / or at least one C."
[0114] Having described various aspects of the disclosure in detail, it will be apparent that modifications and variations are possible without departing from the scope of the disclosure as defined in the appended claims. As various changes can be made in the above constructions, products, and methods without departing from the scope of the disclosure, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not limiting.< / y> < / x> < / y> < / x>
Claims
1. A system comprising: a processor of the user device; a user interface (UI) of the user device; as well as a memory comprising computer program code, the memory and the computer program code being configured to cause the processor to: receiving a search query input from a user of the user device; Obtaining search result content using a search engine and the received search query input; presenting a portion of the search result content including a search result item on the UI; receiving user interaction data indicating interaction of the user with the presented search result content; using the user interaction data to identify result filtering rules; Using the result filtering rule to provide a rule prompt on the UI; receiving a rule prompt response to the provided rule prompt; generating filtered search result content using the identified result filtering rule and based on the received rule prompt response indicating acceptance of the identified result filtering rule; as well as The generated filtered search result content is presented, wherein the filtered search result content includes another portion of the search result item.
2. The system according to claim 1, wherein: Determining the result filtering rule includes: determining a probable user intent using the user interaction data, wherein the probable user intent indicates that the user associated with the user interaction data may not be interested in search result items of a category of the search result content; and The result filtering rule is generated to filter out search result items of the category targeted by the determined possible user intention.
3. The system according to claim 2, wherein: Using the user interaction data to determine the possible user intent includes: using a correlation model that has been trained using machine learning techniques to determine the possible user intent.
4. The system according to any one of claims 1 to 3, wherein: Using the user interaction data to determine the result filtering rule further includes: using user context data to determine the result filtering rule, Wherein, the user context data comprises context data from at least one of: a user profile of the user from which the user interaction data is received and past searches of the user from which the user interaction data is received.
5. The system according to any one of claims 1 to 4, wherein: Presenting the generated filtered search result content includes: when a new batch of search result items is to be presented, maintaining the search result items that have been presented in the search result content, and presenting the search result items of the filtered search result content.
6. The system according to any one of claims 1 to 5, wherein: The result filtering rule filters the search result content based on at least one of the following: search result item type, search result item author, and date.
7. The system according to any one of claims 1 to 6, wherein: The memory and the computer program code are configured to, with the processor, further cause the processor to: using the user interaction data to determine the user's lack of interest in a currently presented portion of search result items; Identifying a group of similar search result items that have not yet been presented in the search result content; providing an item group prompt on the UI using the identified group of similar search result items; receiving an entry group prompt response to the provided entry group prompt; as well as The group of similar search result items is presented on the UI based on the item group prompt response, the item group prompt response indicating that the user wants to see the group of similar search result items.
8. A computerized method comprising: Presenting search result content; receiving user interaction data indicative of user interaction with the presented search result content; using the user interaction data to determine result filtering rules; Using the determined result filtering rules to filter the presented search result content; as well as Presents filtered search results content.
9. The computerized method of claim 8, wherein: Determining the result filtering rule includes: determining a probable user intent using the user interaction data, wherein the probable user intent indicates that a user associated with the user interaction data may not be interested in search result items of a category of the search result content; and The result filtering rule is generated to filter out search result items of the category targeted by the determined possible user intention.
10. The computerized method of claim 9, wherein: Using the user interaction data to determine the possible user intent includes: using a correlation model that has been trained using machine learning techniques to determine the possible user intent.
11. A computerized method according to any one of claims 8 to 10, wherein: Using the user interaction data to determine the result filtering rules also includes: using user context data to determine the result filtering rules, wherein the user context data includes context data from at least one of the following: a user profile of the user from whom the user interaction data is received and past searches of the user from whom the user interaction data is received.
12. A computerized method according to any one of claims 8 to 11, wherein: Presenting the filtered search result content includes: when a new batch of search result items is to be presented, maintaining the search result items that have been presented in the search result content, and presenting the search result items of the filtered search result content.
13. A computerized method according to any one of claims 8 to 12, wherein: The result filtering rule filters the search result content based on at least one of the following: search result item type, search result item author, search result item source, and item date.
14. A computerized method according to any one of claims 8 to 13, wherein: The user interaction data includes at least one of the following: scrolling data, item selection data, item hiding data, viewing time data, and page selection data.
15. A computer storage medium having computer-executable instructions that, when executed by a processor, cause the processor to at least: causing presentation of search result content including the search result item; receiving user interaction data indicative of user interaction with the presented search result content; using the user interaction data to determine result filtering rules; Obtaining filtered search result content using the determined result filtering rules; as well as The filtered search result content is caused to be presented, wherein the filtered search result content includes a portion of the search result item.
16. The computer storage medium of claim 15, wherein: Determining the result filtering rule includes: determining a probable user intent using the user interaction data, wherein the probable user intent indicates that a user associated with the user interaction data may not be interested in search result items of a category of the search result content; and The result filtering rule is generated to filter out search result items of the category targeted by the determined possible user intention.
17. The computer storage medium of claim 16, wherein: Using the user interaction data to determine the possible user intent includes: using a correlation model that has been trained using machine learning techniques to determine the possible user intent.
18. The computer storage medium of any one of claims 15-17, wherein: Using the user interaction data to determine the result filtering rules also includes: using user context data to determine the result filtering rules, wherein the user context data includes context data from at least one of the following: a user profile of the user from whom the user interaction data is received and past searches of the user from whom the user interaction data is received.
19. The computer storage medium of any one of claims 15-18, wherein: Presenting the obtained filtered search result content includes: when a new batch of search result items is to be presented, maintaining the search result items that have been presented in the search result content and presenting the search result items of the filtered search result content.
20. The computer storage medium of any one of claims 15-19, wherein: The computer-executable instructions, when executed by a processor, further cause the processor to at least: using the user interaction data to determine suggested search query inputs; and A prompt for search query input including the suggestion is provided.