Searching content using alternative terms
By using a query retrieval module in a computing device to determine alternative query terms and perform a query-free query, the problems of low search efficiency and resource waste in the prior art are solved, and an efficient and energy-saving search method is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2026-03-27
AI Technical Summary
Existing computing devices are inefficient and consume a lot of computing resources when performing full searches, especially when there are no exact matches, which leads to increased interaction times and wasted resources.
The query retrieval module processes user queries, determines alternative query terms, and identifies content related to application modules through query-free queries, outputting query previews or results, thus reducing reliance on computing resources.
This approach achieves improved search speed while maintaining comprehensive search capabilities and reducing the consumption of computing resources, such as power, processor cycles, and memory space.
Smart Images

Figure CN121753013A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 580,098, filed September 1, 2023, the entire contents of which are incorporated herein by reference. Background Technology
[0003] Computing devices, such as smartphones, tablets, laptops, desktop computers, and smartwatches, are machines or electronic devices capable of processing and storing data using computational operations. Computing devices can be designed to perform a wide range of operations based on instructions provided by software programs. In some examples, computing devices can run applications that perform specific functions, tasks, or services to enhance the user experience and provide useful functionality. In some examples, applications can collect, process, and store various types of user content, such as photos, messages, documents, and other personal information. Summary of the Invention
[0004] Techniques are described that allow computing devices to search content stored on their premises more efficiently. For example, the computing device can determine alternative search query terms by processing a search query performed by a user. The computing device can identify applications that match the alternative search query terms. Additionally, the computing device can identify content associated with the applications that matches a query-free search query based on alternative search query terms. The computing device can then output at least one of the applications or content to the user. In this way, the techniques disclosed herein can provide various advantages such as faster access to information, offline accessibility, privacy and security, reduced data usage, reliability, and comprehensive search.
[0005] In some examples, a method includes obtaining a query string by a computing device. The method further includes determining one or more alternative query terms by the computing device based on the query string. The method further includes identifying one or more application modules by the computing device that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is installed at the computing device. The method further includes identifying content by the computing device by at least performing a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on one or more alternative query terms. The method further includes outputting at least one of the following by the computing device: a query preview including an indication of at least one application module from the one or more application modules, or at least one query result including an indication of the content.
[0006] In some examples, a computing device includes one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to obtain a query string. These instructions further cause the one or more processors to determine one or more alternative query terms based on the query string. These instructions further cause the one or more processors to identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each of the one or more application modules is mounted at the computing device. These instructions further cause the one or more processors to identify content by at least executing a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on one or more alternative query terms. These instructions further cause the one or more processors to output at least one of the following: a query preview including an indication from at least one application module from the one or more application modules, or at least one query result including an indication of the content.
[0007] In some examples, a non-transitory computer-readable storage medium is encoded with instructions that, when executed by one or more processors of a computing device, cause one or more processors to: obtain a query string; determine one or more alternative query terms based on the query string; identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each of the one or more application modules is mounted on the computing device; identify content by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on one or more alternative query terms; and output at least one of the following: a query preview including an indication from at least one of the one or more application modules, or an indication including the content.
[0008] In some examples, an apparatus includes components for acquiring a query string. The method further includes components for determining one or more alternative query terms based on the query string. The apparatus further includes components for identifying one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is mounted at a computing device. The apparatus further includes components for identifying content by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on one or more alternative query terms. The apparatus further includes components for outputting at least one of the following: a query preview including an indication from at least one application module from the one or more application modules, or at least one query result including an indication of the content.
[0009] Details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objectives, and advantages will be apparent from the specification, the drawings, and the claims. Attached Figure Description
[0010] Figure 1 This is a conceptual diagram illustrating an example computing device for searching content using alternative terms according to one or more techniques of this disclosure.
[0011] Figure 2 This is a block diagram illustrating an example of a computing device that uses alternative terms to search for content according to one or more techniques of this disclosure.
[0012] Figure 3 This is a block diagram illustrating an example operation of an example computing device for searching content using alternative terms according to the technology of this disclosure.
[0013] Figure 4 This is a flowchart illustrating example operation of an example computing device for searching content using alternative terms according to one or more techniques of this disclosure. Detailed Implementation
[0014] Figure 1 This is a conceptual diagram illustrating an example computing device 100 using alternative terms to search for content according to one or more technologies of this disclosure. Examples of computing device 100 may include, but are not limited to, portable devices, mobile devices, or other devices, such as mobile phones (including smartphones), wearable devices (including smartwatches), laptop computers, desktop computers, tablet computers, in-vehicle host units (e.g., infotainment systems), smart TV platforms, server computers, mainframes, etc.
[0015] like Figure 1As illustrated in the example, computing device 100 includes one or more user interface (UI) devices (“UI device 102”). The UI device 102 of computing device 100 can be configured to function as an input and / or output device for computing device 100. UI device 102 can be implemented using various technologies. For example, UI device 102 can be configured to receive input from a user via haptic feedback, audio feedback, and / or video feedback. Examples of input devices include presence-sensitive displays, presence-sensitive or touch-sensitive input devices, mice, keyboards, voice response systems, video cameras, microphones, or any other type of device for detecting commands from the user.
[0016] In some examples, presence-sensitive displays include touch-sensitive or presence-sensitive input screens, such as resistive touchscreens, surface acoustic wave touchscreens, capacitive touchscreens, projected capacitive touchscreens, pressure-sensitive screens, acoustic pulse recognition touchscreens, or other presence-sensitive technologies. That is, the UI device 102 of computing device 100 may include presence-sensitive devices that can receive tactile input from a user of computing device 100. UI device 102 can receive tactile input indications by detecting one or more gestures from the user (e.g., when the user touches or points at one or more locations on UI device 102 with a finger or stylus).
[0017] UI device 102 may additionally or alternatively be configured to function as an output device by providing output to a user through tactile, audio, or video stimuli. Examples of output devices include a sound card, a video graphics adapter card, or any of one or more display devices, such as a liquid crystal display (LCD), a dot matrix display, a light-emitting diode (LED) display, a microLED, a miniLED, an organic light-emitting diode (OLED) display, electronic ink, or a similar monochrome or color display capable of outputting visual information to a user of computing device 100. Additional examples of output devices include speakers, tactile devices, or other devices capable of generating understandable output for a user. For example, UI device 102 may present output to a user of computing device 100 as a graphical user interface, which may be associated with functionality provided by computing device 100. In this way, UI device 102 may present various user interfaces of applications (e.g., email messaging applications, internet browser applications, etc.) that are executed on or accessible by computing device 100. A user of computing device 100 may interact with the corresponding user interface of an application to cause computing device 100 to perform function-related operations.
[0018] In some examples, the UI device 102 of computing device 100 can detect two-dimensional and / or three-dimensional gestures as input from a user of computing device 100. For example, sensors of UI device 102 can detect user movement (e.g., movement of a hand, arm, pen, stylus, etc.) within a threshold distance of the sensors of UI device 102. UI device 102 can determine a two-dimensional or three-dimensional vector representation of the movement and associate that vector representation with a gesture input having multiple dimensions (e.g., waving, pinching, clapping, swiping, etc.). In other words, in some examples, UI device 102 can detect multidimensional gestures without the user making a gesture at or near the screen or surface where UI device 102 outputs information for display. Conversely, UI device 102 can detect multidimensional gestures performed at or near a sensor, which may or may not be located near the screen or surface where UI device 102 outputs information for display.
[0019] exist Figure 1 In the example, computing device 100 includes a user interface (UI) module 104 and application modules 106A to 106N (collectively, "application module 106"). Modules 104 and 106 can perform the operations described herein using hardware, software, firmware, or a combination thereof residing in and / or executing on computing device 100. Computing device 100 may utilize one or more processors to execute modules 104 and 106. In some examples, computing device 100 may execute modules 104 and 106 as virtual machines executing on the underlying hardware. Modules 104 and 106 may execute as one or more services of an operating system or computing platform, or as one or more executable programs at the application layer of a computing platform.
[0020] UI module 104 can be operated by computing device 100 to perform one or more functions, such as receiving input and sending indications of such input to other components associated with computing device 100, such as application module 106. UI module 104 can also receive data from components associated with computing device 100 (such as application module 106). Using the received data, UI module 104 can cause other components associated with computing device 100 (such as UI device 102) to provide output based on the data. For example, UI module 104 can receive data from one of the application modules 106 to display a GUI.
[0021] like Figure 1The example application module 106 shown may include functionality for performing any kind of operation on computing device 100. For example, application module 106 may include a camera application, digital wallet application, text application, social networking application, web browser, multimedia player, calendar application, operating system, distributed computing application, graphic design application, video editing application, web development application, or any other application. One application module in application module 106 (e.g., application module 106A) may be a digital wallet application (e.g., an e-wallet) that allows users to use application module 106A to store, manage, and transact various forms of digital assets and payment methods. For example, application module 106A may provide users with a convenient and secure way to access financial resources and conduct transactions without the need for physical cash or traditional banking methods.
[0022] Generally, application module 106 can store a large amount of user content, such as photos, messages, documents, and other personal information. In some examples, users may wish to search application module 106 for specific content. However, performing a full search can be inefficient, especially when there is no content that is an exact match for the search query. Therefore, the search functionality on computing device 100 may be slow or lack comprehensiveness (e.g., this may lead to more interaction with computing device 100 and more computing resources consumed by computing device 100).
[0023] According to the technology disclosed herein, computing device 100 (and other computing devices 100) may include a query retrieval module 108 that processes user queries and retrieves data that satisfies the queries. As described in more detail below, query retrieval module 108 may process the query string to determine one or more alternative query terms (e.g., keywords, search terms, etc.). Query retrieval module 108 may identify application modules that match the alternative query terms and identify content associated with the application modules that matches the query-free query (based on alternative query terms). Computing device 100 may then output (e.g., via UI device 102) at least one of a query preview including an indication of the matching application modules or a query result including an indication of the matching content. In this way, query retrieval module 108 can balance speed and comprehensiveness (potentially reducing the expenditure of computing resources, such as power, processor cycles, memory space, memory bus bandwidth, wireless bandwidth, etc.) by ensuring that the user receives relevant results in a time-efficient manner.
[0024] The query retrieval module 108 can retrieve data or information based on a query. For example, the query retrieval module 108 can interact with a storage library 110 (e.g., a database, index, or other information source) stored at the computing device 100 to retrieve relevant data that matches the criteria specified in the query string. Although shown separately from the application module 106, the storage library 110 may include data associated with the application module 106. In some cases, the query retrieval module 108 can process the query string to determine one or more alternative query terms, which can help retrieve the desired information more accurately and efficiently.
[0025] Generally, a user may have one or more intents when entering a query string. For example, a user might be interested in accessing a resource (e.g., content stored on computing device 100), performing a transaction (e.g., purchasing goods or services), initiating a phone call, sending an email, etc. Therefore, in some examples, the query string may be search-oriented (e.g., because the user enters the query string with the intent to retrieve information or content related to a specific topic, question, or need). In other examples, the query string may be action-oriented (e.g., because the user enters the query string with the intent to perform a specific action or task (such as making a transaction, sending a message, or playing a song)).
[0026] In some examples, the query retrieval module 108 may use string matching techniques (e.g., locating the occurrence of a specific substring within a larger string) to determine one or more alternative query terms associated with the user-provided query string. For example, the query retrieval module 108 may use prefix matching to identify strings that begin with a given prefix. For instance, the query retrieval module 108 may find all strings in the dataset that have an initial sequence of characters identical to the query, which can be used as a prefix. Prefix matching can be particularly useful when the query consists of only a few characters. For example, the query string may consist of only the character "tic," and the query retrieval module 108 may output "ticket" as an alternative query term.
[0027] The query retrieval module 108 can also use query expansion to determine alternative query terms. For example, the query retrieval module 108 can determine that the query string has synonyms (e.g., alternative names) or related terms, and expand the query to include those variations in order to retrieve more relevant results. For example, the query string could include only the character "tic", and the query retrieval module 108 could output "ticket" and "wallet" as a response, because "wallet" could be a term related to tickets (e.g., because tickets can be stored in an e-wallet application).
[0028] The query acquisition module 108 can identify at least one application module among application modules 106 that matches at least one alternative query term from one or more alternative query terms. For example, as shown in the graphical user interface 116 (“GUI116”), the query acquisition module 108 can identify a wallet application where the original query is “tic” (e.g., because “wallet” is an alternative query term for “ticket”). In another example, the query acquisition module 108 can identify a multimedia player based on the alternative query term “song” (e.g., in the case where the original query is “so”). Other examples are contemplated in this disclosure.
[0029] With the user's explicit consent, query retrieval module 108 can identify content (e.g., information, data, media, documents, files, etc.) by executing a query-free query. The content can be associated with at least one application module among the application modules identified based on alternative query terms. For example, query retrieval module 108 can identify at least one application module among application modules 106 by executing a query-free query and more specific information associated with application module 106.
[0030] Generally speaking, query-free queries refer to queries that do not rely on specific query terms but rather on other factors such as user intent, context, preferences, and behavior. For example, the query retrieval module 108 can analyze the user's current context (e.g., location, time of day, recent activities, etc.), browsing history, recent interactions, user preferences (e.g., based on account settings and data), behavioral patterns (e.g., frequently used applications, clicked links, time spent on different types of content, etc.), and user intent (e.g., based on actions such as clicking, downloading, engaging, etc.).
[0031] In some examples, the query retrieval module 108 may use bag-of-words matching or other string matching techniques to identify content. Bag-of-words matching may involve treating a document as an unordered set of terms and creating a numerical representation using the frequency of each term. In some examples, the query retrieval module 108 may perform query-free queries by at least partially using a machine learning model. For example, the query retrieval module 108 may use a machine learning model to analyze historical data and user behavior to predict what a user might be looking for and make recommendations accordingly. The machine learning module may use alternative query terms as input.
[0032] In response to identifying an application module based on alternative query terms and identifying content associated with the application module based on (also based on) a query-free query, the query retrieval module 108 may output at least one of a query preview or at least one query result. The query preview may include indications from at least one of one or more applications. The query results may include indications of content. For example, if the alternative query term is "ticket," the query retrieval module 108 may output a query preview including indications of an e-wallet application and / or query results including indications of a flight ticket.
[0033] In some examples, computing device 100 may output only the top results from the query preview and / or query results. For example, query retrieval module 108 may determine the relevance and utility of the identified application module and / or content associated with the application module based on factors such as query term relevance (e.g., the presence and frequency of the query term in the content), historical data, user behavior, location, time, and date. For example, if the user has a flight ticket with an upcoming departure time (e.g., later that day) stored at computing device 100 when the user enters the query “tic” (resulting in the generation of alternative query terms such as “ticket”), the query retrieval module 108 may determine that the flight ticket is likely relevant and useful to the user and prioritize outputting the flight ticket (rather than other content that may be time-insensitive or require no action).
[0034] Figure 2 This is a block diagram illustrating a computing device 200 that searches for content using alternative terms according to one or more techniques of this disclosure. The computing device 200 may be an example of the computing device 100 according to one or more techniques of this disclosure. Figure 2 Only one specific example of computing device 200 is shown, and many other examples of computing device 200 can be used in other instances, and may include a subset of the components included in the example computing device 200, or may include... Figure 2 Additional components not shown.
[0035] like Figure 2 As shown, computing device 200 may include one or more user interface devices 202 (“UI device 202”), one or more processors 222 (“processor 222”), one or more storage devices 224 (“storage device 224”), and one or more communication units 226 (“communication unit 226”). Similarly, as... Figure 2 As shown, the UI device 202 may include one or more input devices 228 (“input devices 228”) and one or more output devices 230 (“output devices 230”). Similarly, as... Figure 2As shown, storage device 224 may include user interface module 204 (“UI module 204”), one or more application modules 206 (“application module 206”), query retrieval module 208, operating system 234 (“OS 234”), database 236 and ML model 238.
[0036] In some examples, UI device 202 may be a presence-sensitive display configured to detect input (e.g., touch and non-touch input) from a user on the corresponding computing device 200. UI device 202 may output information to the user in the form of a UI that can be associated with functionality provided by computing device 200. Such a UI may be associated with a computing platform, operating system, application, and / or service (e.g., email messaging applications, chat applications, internet browser applications, mobile or desktop operating systems, social media applications, video games, menus, and other types of applications) that executes on or is accessible from computing device 200.
[0037] Processor 222 can implement functionality and / or execute instructions within computing device 200. For example, processor 222 can receive and execute instructions that provide functionality to modules 204 to 208 and OS 234. These instructions executed by processor 222 can cause computing device 200 to store and / or modify information in processor 222's storage device 224 during program execution. Processor 222 can execute instructions from modules 204 to 208 and OS 234 to perform one or more operations. That is, modules 204 to 208 and OS 234 can be operated by processor 222 to perform the various functions described herein.
[0038] Storage device 224 within computing device 200 may store information for processing during operation of computing device 200 (e.g., data accessed by modules 204 to 208 and OS 234 during execution at computing device 200). In some examples, storage device 224 may be temporary memory, meaning that its primary purpose is not long-term storage. Storage device 224 located on computing device 200 may be configured to store information temporarily as volatile memory, and therefore its stored contents are not retained in the event of a power outage. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art.
[0039] Storage device 224 may include one or more computer-readable storage media. Storage device 224 may be configured to store a larger amount of information compared to volatile memory. Storage device 224 may be further configured as a non-volatile memory space for long-term storage of information and to retain information after power-on / power-off cycles. Examples of non-volatile memory include magnetic hard disks, optical disks, floppy disks, flash memory, or in the form of electrically programmable memory (EPROM) or electrically erasable programmable memory (EEPROM). Storage device 224 may store program instructions and / or information associated with modules 204 to 208 and OS 234 (e.g., within database 236).
[0040] The communication unit 226 of the computing device 200 can communicate with one or more external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals. Examples of the communication unit 226 include network interface cards (e.g., such as Ethernet cards), optical transceivers, radio frequency transceivers, GPS receivers, or any other type of device capable of transmitting and / or receiving information. Other examples of the communication unit 226 may include shortwave radio components, cellular data radio components, wireless network radio components, and Universal Serial Bus (USB) controllers.
[0041] The input device 228 of the computing device 200 can receive input. Examples of input are tactile input, audio input, and video input. In one example, the input component 228 of the computing device 200 includes a presence-sensitive display, a fingerprint sensor, a touch-sensitive screen, a mouse, a keyboard, a voice response system, a video camera, a microphone, or any other type of device for detecting input from a human or machine.
[0042] Input device 228 may include one or more sensors. Numerous examples of sensors exist, and these examples include any input component configured to obtain environmental information about the circumstances surrounding computing device 200 and / or physiological information defining the activity state and / or physical well-being of the user of computing device 200. In some examples, the sensor may be an input component that obtains physical location, movement, and / or position information of computing device 200. For example, the sensor may include one or more location sensors (e.g., GNSS components, Wi-Fi components, cellular components), one or more temperature sensors, one or more motion sensors (e.g., multi-axis accelerometers, gyroscopes), one or more pressure sensors (e.g., barometers), one or more ambient light sensors, and one or more other sensors (e.g., microphones, cameras, infrared proximity sensors, hygrometers, etc.). Other sensors may include heart rate sensors, magnetometers, glucose sensors, hygrometer sensors, olfactory sensors, compass sensors, pedometer sensors, and a few other non-limiting examples.
[0043] The output device 230 of the computing device 200 can generate one or more outputs. Examples of outputs are haptic outputs, audio outputs, and video outputs. In one example, the output device 230 of the computing device 200 includes a presence-sensitive display, a sound card, a video graphics adapter card, a speaker, a liquid crystal display (LCD), or any other type of device for generating outputs to a person or machine.
[0044] Communication channel 232 (“COMM channel 232”) can interconnect each of components 202, 222, 224, and 226 for inter-component communication (physically, communicatively, and / or operationally). In some examples, communication channel 232 may include a system bus, a network connection, an inter-process communication data structure, or any other method for transmitting data.
[0045] Computing device 200 may include an operating system 234. OS 234 can control the operation of components of computing device 200. For example, OS 234 can facilitate communication between modules 204 to 208 and processor 222, storage device 224, and communication unit 226. In some examples, OS 234 can manage the interaction between software applications (e.g., application module 206) and users of computing device 200. OS 234 may have a kernel that facilitates interaction with the underlying hardware of computing device 200 and provide a fully formed application space capable of executing various software applications, each with a secure partition in which it performs various operations. In some examples, UI module 204 may be considered a component of OS 234.
[0046] The query retrieval module 208 can retrieve data or information from the storage 210 based on a query string. The data may include content associated with the application module 206. In some examples, the query retrieval module 208 can issue multiple queries based on an original query string provided by the user. For example, the query retrieval module 208 can process a user-provided query string (“first query”) to identify one or more alternative query terms (e.g., by using string matching techniques) and identify one or more application modules in the application module 206 based on the alternative query terms. Additionally, the query retrieval module 208 can issue a query-free query (“second query”) based on the original query performed by the user to identify one or more application modules in the application module 206.
[0047] In some examples, the query retrieval module 208 may avoid executing a search query that includes a user-supplied query string. For example, if the second query only identifies application modules already identified based on the first query, the query retrieval module 208 may not execute or may otherwise execute a search query that includes the query string as a query term. Furthermore, the query retrieval module 208 may only output a query preview, which includes indications of at least one of the identified application modules and / or the results of a query-free query. The query retrieval module 208 may not output query results because the search query is not executed (potentially saving time and computational resources).
[0048] On the other hand, if the query retrieval module 208 identifies an application module different from the one identified based on the first query, then the query retrieval module 208 can execute or otherwise execute a search query that includes a user-provided query string as a query term. This search query can identify content associated with a unique application module (e.g., an application module identified based on the second query rather than the first query). By excluding application modules identified based on the first query from the second query, the query retrieval module 208 can examine a smaller corpus when executing the search query, thereby making the retrieval faster.
[0049] In some examples, computing device 200 may output only the top results from query previews and / or query results. For example, query retrieval module 208 may determine the relevance and utility of identified application modules and / or content associated with application modules based on factors such as query term relevance (e.g., the presence and frequency of query terms in content), historical data, user behavior, location, time, and date. Query retrieval module 208 may determine the top results of identified application modules and / or content based on application modules and / or content with the highest relevance and utility. For example, if the query includes the term "pic," and the user has recently saved several pictures, query retrieval module 208 may determine those recently saved pictures as the top results due to user behavior, time, date, etc.
[0050] In some examples, query retrieval module 208 may apply a machine learning model, such as ML model 238, to determine the value of the data retrieved by query retrieval module 208 (for the user). In some examples, ML model 238 may be or include one or more artificial neural networks (also simply referred to as neural networks). A neural network may include a set of connected nodes, which may also be referred to as neurons or perceptrons. A neural network may be organized into one or more layers. A neural network that includes multiple layers may be referred to as a "deep" network. A deep network may include an input layer, an output layer, and one or more hidden layers located between the input and output layers. The nodes of a neural network may be connected or not fully connected.
[0051] In some examples, ML model 238 can determine the values of data (e.g., application modules identified in the query preview, content identified in the query results, etc.). In these examples, ML model 238 can compare the values of the identified data to determine whether to display the data to the user. For example, for each identified application module, ML model 238 can determine an application module value from 0 to 1. In this example, an application module value of 0 can be associated with the lowest confidence that the application module is useful or interesting to the user, and an application module value of 1 can be associated with the highest confidence that the application module is useful or interesting to the user.
[0052] In a similar manner, for the identified content, ML model 238 can determine a content value from 0 to 1. In this example, a content value of 0 can be associated with the lowest confidence that the content is useful or interesting to the user, and a content value of 1 can be associated with the highest confidence that the content is useful or interesting to the user. It should be understood that other value ranges (e.g., 0 to 100, 0 to -10, etc.), relationships between values and confidence levels (e.g., a value of 0 associated with the highest confidence, and a value of 1 associated with the lowest confidence), etc., are envisioned.
[0053] If the application module value meets a value condition, the query retrieval module 208 can output a query preview including an indication of that application module to the user. Meeting the value condition may involve the application module value meeting an application module value threshold. For example, if the ML model 238 determines an application module value of 0.8 for a specific application module, and if the application module value threshold is 0.7, the query retrieval module 208 can transmit a query preview including an indication of the application module to the UI module 204 for display to the user. On the other hand, if the ML model 238 determines an application module value that does not meet the application module value threshold, such as an application module value of 0.6, the query retrieval module 208 may not output an indication of the application module.
[0054] If the content value of a specific piece of content associated with it meets a content value condition, the query retrieval module 208 can output a query result including an indication of that content to the user. Meeting the content value condition may involve the content value meeting a value threshold. For example, if the ML model 238 determines a content value of 0.8 for a specific piece of content, and if the content value threshold is 0.7, the query retrieval module 208 can transmit a query result including an indication of the content to the UI module 204 for display to the user. On the other hand, if the ML model 238 determines a content value that does not meet a value threshold, such as a content value of 0.6, the query retrieval module 208 may not output an indication of the content.
[0055] In some examples, computing device 200 may compare values with each other, rather than comparing the values of application modules or content with value thresholds. For example, query retrieval module 208 may output only indications of application modules and / or content with the highest values to avoid overwhelming the user of computing device 200 with options. In some examples, query retrieval module 208 may compare application module values with content values and output only the data with the highest value, regardless of whether the data is an indication of an application module or content.
[0056] Figure 3 This is a flowchart illustrating example operation of an example computing device for searching content using alternative terms according to one or more aspects of this disclosure. Although Figure 3 The example operation is described as being performed by Figure 2 The example operation is performed by the computing device 200, but in other examples, some or all of the example operation may be performed by another computing device.
[0057] According to the technology of this disclosure, the query acquisition module 208 of the computing device 200 can obtain a query string provided by a user (300). The query acquisition module 208 can process the query string to determine one or more alternative query terms (302). For example, the query acquisition module 208 can use string matching techniques, such as prefix matching. For example, the query string may only include the character "tic", and the query acquisition module 208 may output "ticket" as an alternative query term.
[0058] The query retrieval module 208 can identify one or more application modules 206 (304) that match at least one alternative query term from one or more alternative query terms. For example, if the original query is “pay”, the query retrieval module 208 can identify a payment processing application (e.g., because “payment” is an alternative query term for “pay”).
[0059] The query retrieval module 208 can identify content (e.g., information, data, media, documents, files, etc.) that matches a query-free query, wherein the content is associated with at least one application module among application modules identified based on alternative query terms (306). In this case, the content could be a payment processing application, and in some examples, it could be a link for paying for goods or services via the identified application module. The query retrieval module 208 can perform the query-free query using string matching techniques, machine learning models, etc.
[0060] In response to identifying an application module based on alternative query terms and identifying content associated with the application module based on a query-free query, query retrieval module 208 may output at least one of a query preview or at least one query result (308). The query preview may include indications from at least one of one or more applications. Query results may include indications of content. For example, if the alternative query term is "payment," query retrieval module 208 may output a query preview including indications of a payment processing application and / or query results including links for completing a purchase (e.g., via a payment processing application).
[0061] In some examples, query retrieval module 208 may output only the top results from the query preview and / or query results. For example, ML model 238 may determine the application module value of the identified application module and the content value of the identified content. In these examples, ML model 238 may compare values (e.g., compare with each other, compare with a threshold, etc.) and output only indications of the application module and / or content with the highest values.
[0062] Figure 4This is a flowchart illustrating example operation of an example computing device for searching content using alternative terms according to one or more aspects of this disclosure. Although Figure 4 The example operation is described as being performed by Figure 2 The example operation is performed by the computing device 200, but in other examples, some or all of the example operation may be performed by another computing device.
[0063] The query acquisition module 208 can issue multiple queries based on the original query performed by the user. For example, the query acquisition module 208 can process the query string provided by the user to determine one or more alternative query terms (e.g., by using string matching techniques), and then perform a first query based on the alternative query terms to identify one or more application modules (400). Additionally, the query acquisition module 208 can issue a query-free query (“second query”) based on the alternative query terms performed by the user to identify one or more application modules (402).
[0064] In some examples, the query retrieval module 208 may avoid executing a search query that includes a user-supplied query string. For example, if the second query only identifies application modules that have already been identified based on the first query (the "No" branch of 404), the query retrieval module 208 may not execute or may otherwise execute a search query that includes the query string as a query term. Furthermore, the query retrieval module 208 may only output a query preview that includes indications of at least one of the identified application modules and / or the results of a query-free query (407).
[0065] On the other hand, if the query retrieval module 208 identifies an application module different from the application module identified based on the first query (the "Yes" branch of 404), the query retrieval module 208 can execute or otherwise execute a search query that includes a user-provided query string as a query term. This search query can identify content associated with different application modules (e.g., application modules identified based on the second query rather than the first query). By excluding one or more application modules from the search query, the query retrieval module 208 can examine a smaller corpus, thereby making retrieval faster. The query retrieval module 208 can output at least one query result including an indication of the content (and a query preview including an indication of the application module).
[0066] This disclosure includes various examples, such as the following examples.
[0067] Example 1: A method includes: obtaining a query string by a computing device; determining one or more alternative query terms by the computing device based on the query string; identifying one or more application modules by the computing device that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is installed on the computing device; identifying content by the computing device by at least performing a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; and outputting at least one of the following by the computing device: a query preview including an indication from at least one application module from the one or more application modules, or at least one query result including an indication of the content.
[0068] Example 2: The method as described in Example 1 further includes the computing device selectively performing a search result query based on whether the content is associated only with an application module from the one or more application modules, wherein the search result query includes the query string.
[0069] Example 3: The method as described in Example 1 or 2 further includes the computing device determining an application module value for each of the one or more application modules; and the computing device determining a content value for the content, wherein the indication of the at least one application module is output based on the application module value of the at least one application module, and wherein the indication of the content is output based on the content value of the content.
[0070] Example 4: The method as described in any one of Examples 1 to 3, wherein determining the one or more alternative query terms includes using string matching techniques by the computing device.
[0071] Example 5: The method described in Example 4, wherein the string matching technique includes one or more of prefix matching or bag-of-words matching.
[0072] Example 6: The method as described in any one of Examples 1 to 5, wherein the query string is at least one of search-oriented or action-oriented.
[0073] Example 7: The method as described in any one of Examples 1 to 6, wherein performing the query-free query includes using a machine learning model that takes the one or more alternative query terms as input.
[0074] Example 8: A computing device includes: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: obtain a query string; determine one or more alternative query terms based on the query string; identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is mounted at the computing device; identify content by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; and output by the computing device at least one of the following: a query preview including an indication from at least one application module from the one or more application modules, or at least one query result including an indication of the content.
[0075] Example 9: A computing device as described in Example 8, wherein the instructions further cause the one or more processors to selectively execute a search result query based on whether the content is associated only with an application module from the one or more application modules, wherein the search result query includes the query string.
[0076] Example 10: A computing device as described in Example 8 or 9, wherein the instructions further cause the one or more processors to: determine an application module value for each of the one or more application modules; and determine a content value for the content, wherein the one or more processors output the indication of the at least one application module based on the application module value of the at least one application module, and wherein the one or more processors output the indication of the content based on the content value of the content.
[0077] Example 11: A computing device as described in any one of Examples 8 to 10, wherein the instructions cause the processing circuitry system to determine the one or more alternative query terms by using string matching techniques.
[0078] Example 12: A computing device as described in Example 11, wherein the string matching technique includes one or more of prefix matching or bag-of-words matching.
[0079] Example 13: A computing device as described in any one of Examples 8 to 12, wherein the query string is at least one of search-oriented or action-oriented.
[0080] Example 14: A computing device as described in any one of Examples 8 to 13, wherein performing the query-free query includes using a machine learning model that takes the one or more alternative query terms as input.
[0081] Example 15: A non-transitory computer-readable storage medium encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: obtain a query string; determine one or more alternative query terms based on the query string; identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each of the one or more application modules is installed at the computing device; identify content by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; and output by the computing device at least one of the following: a query preview including an indication from at least one of the one or more application modules, or at least one query result including an indication of the content.
[0082] Example 16: A non-transitory computer-readable storage medium as described in Example 15, wherein the instructions further cause the one or more processors to selectively execute a search result query based on whether the content is associated only with an application module from the one or more application modules, wherein the search result query includes the query string.
[0083] Example 17: A non-transitory computer-readable storage medium as described in Example 15 or 16, wherein the instructions further cause the one or more processors to: determine an application module value for each of the one or more application modules; and determine a content value for the content, wherein the one or more processors output the indication of the at least one application module based on the application module value of the at least one application module, and wherein the one or more processors output the indication of the content based on the content value of the content.
[0084] Example 18: A non-transitory computer-readable storage medium as described in any one of Examples 15 to 17, wherein the instructions cause the processing circuitry system to determine the one or more alternative query terms by using string matching techniques.
[0085] Example 19: A non-transitory computer-readable storage medium as described in Example 18, wherein the string matching technique includes one or more of prefix matching or bag-of-words matching.
[0086] Example 20: A non-transitory computer-readable storage medium as described in any one of Examples 15 to 19, wherein the query string is at least one of search-oriented or action-oriented.
[0087] Example 21: A non-transitory computer-readable storage medium as described in any one of Examples 15 to 20, wherein performing the query-free query includes using a machine learning model that uses the one or more alternative query terms as input.
[0088] In one or more examples, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on or transmitted over a computer-readable medium and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium corresponding to: a tangible medium, such as a data storage medium; or a communication medium, including, for example, any medium that facilitates the transfer of a computer program from one place to another according to a communication protocol. In this way, a computer-readable medium may generally correspond to (1) a non-transitory tangible computer-readable storage medium or (2) a communication medium such as a signal or carrier wave. A data storage medium may be any available medium accessible by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. Computer program products may include computer-readable media.
[0089] By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient tangible storage media. As used herein, disks and optical discs include compact discs (CDs), laser discs, optical discs, digital universal discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0090] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), or other equivalent integrated or discrete logic circuit systems. Therefore, as used herein, the term "processor" can refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein can be provided within dedicated hardware and / or software modules. Furthermore, the techniques can be fully implemented in one or more circuit or logic elements.
[0091] The techniques disclosed herein can be implemented in a wide variety of devices or apparatuses, including wireless handheld devices, integrated circuits (ICs), or IC sets (e.g., chip sets). Various components, modules, or units are described in this disclosure to emphasize functional aspects of a device configured to perform the disclosed techniques, but such components, modules, or units are not necessarily required to be implemented by different hardware units. Rather, as described above, various units may be combined within hardware units or provided by a collection of interoperable hardware units including one or more processors as described above, combined with suitable software and / or firmware.
[0092] Various examples have been described. These and other examples are within the scope of the appended claims.
Claims
1. A method comprising: The query string is obtained from the computing device; The computing device determines one or more alternative query terms based on the query string; The computing device identifies one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is installed at the computing device; The computing device identifies content by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; as well as The computing device outputs at least one of the following: Includes a query preview of instructions from at least one application module, or At least one query result including the indication of the content stated therein.
2. The method of claim 1, further comprising: The computing device selectively executes a search result query based on whether the content is associated only with an application module from the one or more application modules, wherein the search result query includes the query string.
3. The method of claim 1 or 2, further comprising: The computing device determines the application module value for each of the one or more application modules; as well as The computing device determines the content value for the content. The output of the indication of the at least one application module is based on the application module value of the at least one application module, and The instruction that outputs the content is based on the content value of the content.
4. The method according to any one of claims 1 to 3, wherein, Determining the one or more alternative query terms includes using string matching techniques by the computing device.
5. The method of claim 4, wherein, The string matching techniques include one or more of prefix matching or bag-of-words matching.
6. The method according to any one of claims 1 to 5, wherein, The query string is at least one of search-oriented or action-oriented.
7. The method according to any one of claims 1 to 6, wherein, Performing the query-free query includes using a machine learning model that takes one or more alternative query terms as input.
8. A computing device, comprising: One or more processors; as well as The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to: Get the query string; Based on the query string, determine one or more alternative query terms; Identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is installed at the computing device; Content is identified by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; and Output at least one of the following: Includes a query preview of instructions from at least one application module, or At least one query result including the indication of the content stated therein.
9. The computing device as claimed in claim 8, wherein, The instructions further cause the one or more processors to: Search result queries are selectively executed based on whether the content is associated only with application modules from the one or more application modules, wherein the search result queries include the query string.
10. The computing device as claimed in claim 8 or 9, wherein, The instructions further cause the one or more processors to: For each of the one or more application modules, determine the application module value; and Determine the content value for the given content. The one or more processors output the indication of the at least one application module based on the application module value of the at least one application module, and The one or more processors thereunder output the indication of the content based on the content value of the content.
11. The computing device according to any one of claims 8 to 10, wherein, The instructions cause the one or more processors to determine the one or more alternative query terms by using string matching techniques.
12. The computing device of claim 11, wherein, The string matching techniques include one or more of prefix matching or bag-of-words matching.
13. The computing device according to any one of claims 8 to 12, wherein, The query string is at least one of search-oriented or action-oriented.
14. The computing device according to any one of claims 8 to 13, wherein, Performing the query-free query includes using a machine learning model that takes one or more alternative query terms as input.
15. A non-transitory computer-readable storage medium encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: Get the query string; Based on the query string, determine one or more alternative query terms; Identify one or more application modules that match at least one alternative query term from the one or more alternative query terms, wherein each application module from the one or more application modules is installed at the computing device; Content is identified by performing at least a query-free query, wherein the content is associated with at least one application module from the one or more application modules, and wherein the query-free query is based on the one or more alternative query terms; and Output at least one of the following: Includes a query preview of instructions from at least one application module, or At least one query result including the indication of the content stated therein.
16. The non-transitory computer-readable storage medium of claim 15, wherein the instructions further cause the one or more processors to: Search result queries are selectively executed based on whether the content is associated only with application modules from the one or more application modules, wherein the search result queries include the query string.
17. The non-transitory computer-readable storage medium as described in claim 15 or 16, wherein, The instructions further cause the one or more processors to: For each of the one or more application modules, determine the application module value; and Determine the content value for the given content. The one or more processors output the indication of the at least one application module based on the application module value of the at least one application module, and The one or more processors thereunder output the indication of the content based on the content value of the content.
18. The non-transitory computer-readable storage medium as claimed in any one of claims 15 to 17, wherein, The instructions cause the one or more processors to determine the one or more alternative query terms by using string matching techniques.
19. The non-transitory computer-readable storage medium of claim 18, wherein, The string matching techniques include one or more of prefix matching or bag-of-words matching.
20. The non-transitory computer-readable storage medium as claimed in any one of claims 15 to 19, wherein, The query string is at least one of search-oriented or action-oriented.
21. The non-transitory computer-readable storage medium as claimed in any one of claims 15 to 20, wherein, Performing the query-free query includes using a machine learning model that takes one or more alternative query terms as input.