IoT Enhanced Search Results
By utilizing IoT device data and knowledge graph indexes to automatically enhance search queries, we solve the problem in existing technologies that IoT device data cannot be effectively utilized in search scenarios, achieving more relevant search results and improving user experience.
Patent Information
- Application Number
- CN201980024982.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-04-11
- Filing Date
- 2019-03-27
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2039-03-27
AI Technical Summary
The prior art is difficult to use IoT device data to provide more relevant search results in search scenarios, and users need to input additional device-related information.
By collecting and processing data from users' IoT devices, it leverages IoT entity parts and knowledge graph indexes to automatically enhance search queries and provide more relevant search results.
You can provide more relevant search results without using additional information, which improves the accuracy of user experience and search results.
Smart Images

Figure CN112020708B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to the field of computers, and in particular, to electronic systems and methods for IoT enhanced searching. Background Art
[0002] For the past few decades, users have used computers to access the technology provided by the Internet. For example, a user enters a search query via his or her desktop computer, laptop computer, or smartphone and receives generic search results for the search query. Now, other devices such as cars, refrigerators, stoves, wearable devices, medical devices, etc. are becoming more and more computerized and able to communicate over networks. These devices are called Internet of Things (IoT) devices. A user may be associated with many of these IoT devices in his or her daily life without even knowing about them. Summary of the invention
[0003] The present concept can utilize data from these IoT devices to enhance the user experience. For example, the user's search query can be enhanced by the IoT data to provide more relevant search results than those obtained in traditional scenarios. Further, more relevant search results can be obtained without any additional effort by the user. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The accompanying drawings illustrate embodiments of the concepts conveyed in this patent. The features of the illustrated embodiments may be more readily understood by reference to the description below in conjunction with the accompanying drawings. Whenever feasible, the same reference numerals in the various drawings may be used to indicate the same elements. In some cases, brackets following the reference numerals are used to distinguish the same elements. It is common for elements to use reference numerals without associated brackets. Further, the leftmost digit of each reference numeral conveys the drawing in which the reference numeral is first introduced and its associated discussion.
[0005] Figure 1-4 An example IoT enhanced search scenario according to some embodiments of the present concepts is shown.
[0006] Figure 5-10 An example IoT enhanced search system according to some embodiments of the present concepts is shown.
[0007] Fig.11 and Fig.12 Flowcharts are shown of example methods that may implement some of the present concepts, according to some implementations. DETAILED DESCRIPTION
[0008] In the past few decades, users have used computers to access the technology provided by the Internet. For example, a user enters a search query via his desktop computer, laptop computer or smart phone and receives a general search result for the search query. Now, other devices such as cars, refrigerators, stoves, wearable devices, medical devices, etc. are becoming more and more computerized and can communicate over the network. These devices are called Internet of Things (IoT) devices. A user may be associated with many of these IoT devices in his / her daily life without even knowing about them. The present concept can enhance the user experience using data from these IoT devices. For example, the user's search query can be enhanced by the IoT data to provide more relevant search results than those obtained in traditional scenarios. Further, more relevant search results can be obtained without any additional effort by the user.
[0009] Introductory Figure 1 An example scenario 100 is shown where the user experience can be enhanced by leveraging IoT data. In this case, the user experience is related to Internet search. Example one shows a traditional search scenario, while example two shows an IoT enhanced search scenario.
[0010] Referring to Example 1, user 102 enters a search query 104. In this example, search query 104 is "car service." At 106, a search is performed on the search query. For example, the search can be performed by a search engine. At 108, the top ranked results of the search can be displayed. In this example, the top ranked results are visually displayed on a graphical user interface (GUI) 110. The top ranked results (e.g., the highest ranked results) are related to a car service shop named Kwik Fit. The next result is related to a Wikipedia entry that explains services related to motor vehicles.
[0011] Example two shows that the same user 102 submits the same "car service" search query 104. However, in this case, at 112, IoT data associated with the user 102 is automatically used to enhance the search query 104 in the search 114. In this example, the IoT data is from the user's car and includes "Honda, CR-V, 2016, 29421 miles" (e.g., the make, model, year, and mileage of the user's car). The IoT enhanced ranking search results 116 presented on the GUI 118 reflect both the search query and the IoT data. In this example, the top-ranked search result is related to the Honda owner website and how to arrange service. The next result is related to a store that services Hondas in the Reading geographic area (e.g., the user's (user device's) geographic area).
[0012] Thus, in Example 2, IoT data 112 combined with search query 104 provides the user with IoT enhanced search results 116, which are more relevant than the search results 108 obtained in Example 1. However, the user enters the same search query 104. The user does not have to enter information about his or her car. The IoT enhanced search results 116 are automatically based on this information. (Note that Applicant has no relationship with Honda, Kwik Fit, or any other entity mentioned in this document. Real-life entities and objects are mentioned wherever possible simply to help the reader understand the present concept).
[0013] Figure 2 Another example scenario 100A is shown in which the user experience can be enhanced by leveraging IoT data. In this case, the user 102 is interacting with a digital assistant (represented at 202) on his computing device 204, which is represented as a smart phone. In the example, at 206, the digital assistant asks: "...How can I help you?" At 208, the user answers: "Car service".
[0014] In Example 2, at 210, the digital assistant 202 responds: "Would you like me to schedule an appointment on your calendar to service your car at the nearest Honda dealer?" Figure 1 In a similar manner, in this scenario, the digital assistant uses IoT data associated with the user to enhance the user's speech pronunciation to provide a more meaningful response to the user. The more meaningful response not only considers scheduling a car service appointment for the user, but also considers what type of store to schedule the appointment (Honda dealer) and proximity considerations (nearest Honda dealer). The response is more useful to the user, but is obtained without any additional effort on the user's part. Fig.10 For completion Figure 2 An example architecture for augmentation task generation is described.
[0015] Figure 3Another example scenario 100B is shown in which the user experience can be enhanced by leveraging IoT data. In this case, user 102 remembers that he has not changed the furnace filter in his home for a while. At 302, the user uses a natural language query "Where is the nearest place to buy a furnace filter?". The search query is picked up by the user's computer 204B, which is embodied as a smart speaker. As shown at 304, the smart speaker 204B can facilitate the search and answer: "You can buy a 16x20 inch furnace filter at Smith's Hardware one mile away." In this case, the smart speaker 204B uses the IoT data from the user's furnace to enhance the user's query to obtain more relevant results for the user (e.g., what size filter he needs). The user 102 does not have to try to remember what size filter his furnace uses, nor does he have to try to climb into the attic to find out what size filter his furnace uses. The smart speaker 204B obtains this information about the IoT device in the furnace to obtain enhanced search results for the user, which are more useful and convenient for the user than the search results that may be obtained traditionally for the user's search query.
[0016] Figure 4 Another example scenario 100C is shown in which the user experience can be enhanced by leveraging IoT data. In this case, the smart speaker 204B receives IoT data related to the user's stove (see above). Figure 3 ). IoT data may include information such as the brand and model of the furnace, the size of the filter, and an indication that the furnace needs a new filter (e.g., is experiencing a reduction in airflow rate). The smart speaker 204B may utilize this IoT data to automatically initiate a search query for new filters. As shown at 402, the smart speaker 204B may ask the user "I noticed that your furnace filter needs to be replaced. Would you like me to order one for you?" At 404, the user 102 responds "Yes, please." As shown at 406, the smart speaker may order a furnace filter for the user and respond "Okay. It will arrive on Thursday."
[0017] In this example, the smart speaker uses IoT data to query the user. The smart speaker can then use the IoT data to automatically request an IoT enhanced search on the user's behalf, without the user having to know anything about the furnace and the type of filter it uses. Thus, by using a new filter for more efficient furnace operation, the smart speaker saves the user time, hassle, and money without any effort on the user's part (other than answering "yes. please").
[0018] From one perspective, the above example may integrate a user and the growing cluster of IoT devices associated with that user. Recent advances in wireless networks and IoT devices have become an integral part of the human experience. These IoT devices may vary from a user's smart stove, smart car, smart TV, and so on. These IoT devices may reflect the user's interests, his / her work, and / or his / her choices. While the proliferation of IoT devices has accelerated, there has been little exploration of how to leverage this information to improve search rankings, which has become a common knowledge retrieval platform used by millions of Internet users every day. The current implementation provides an improved and personalized ranking system that leverages a user's IoT data in a knowledge graph (such as a search engine's index) to further improve the ranking of web results that meet their interests. Enhanced ranking implementations may use a user's IoT data and its relevance score at the search engine re-ranking level to provide more relevant search results. Reference below Figure 5-9 Example systems that may implement these aspects are described in more detail.
[0019] Figure 5 An IoT enhanced search system 500 is shown. The system 500 may include and / or communicate with a user's IoT devices 502 (e.g., IoT devices associated with various users). In the illustrated example, the user's IoT devices 502 include a refrigerator 504 and a car 506 associated with the user 102. For simplicity, only two IoT devices associated with one user are illustrated for illustrative purposes. Further, the example shows a one-to-one relationship between an item and an IoT device (e.g., a car includes a single IoT device). However, a single item may include multiple IoT devices. For example, a car may have an IoT device for its electrical system, an IoT device for its emissions system, an IoT device for its fuel system, and so on. Therefore, real-world implementations may include billions of IoT devices associated with millions of users, and the system 500 is configured to handle such implementations.
[0020] The system 500 may include and / or communicate with an IoT data collection component 508, an IoT entity component 510, a knowledge graph or index 512, an IoT entity feed index 514, a search index 516, and / or an IoT enhanced ranker 518. In this example, the search index 516 and the IoT enhanced ranker 518 may be provided by a search engine 519, but other configurations are also contemplated.
[0021] At 520, the IoT data collection component 508 can be viewed as a central hub where sensor data from a user's IoT device 502 is communicated. For example, in this example, at 520(1), the IoT data 520 includes "Whirlpool ABC". (Note that "ABC" is a made-up refrigerator model). At 520(2), the IoT data 520 also includes "Honda Civic". For the sake of brevity, the amount of IoT device data in the illustrated example is relatively brief. However, a wider range of IoT devices can be communicated. For example, with respect to Honda, the IoT device data may include mileage, status of various systems, remaining percentage of oil life, next scheduled service, etc. The IoT data collection component can associate IoT data with a specific user. In this case, at 522(1), "Whirlpool ABC" is associated with user 102. At 522(2), "Honda Civic" is associated with user 102.
[0022] In some cases, a client component (not specifically shown) can run on the IoT device 502 and can collect information from the IoT device. The client component can send information to the IoT data collection component 508. In some of these configurations, the client component can include a push-based notification agent. The push-based notification agent can detect changes in the state of the IoT device and push the updated state to the IoT data collection component 508. The type of information about the IoT device and / or the frequency of changes can change based on the device type and / or environment. For example, a car parked in a garage can send less data and / or send data less frequently than a car driving along a road.
[0023] At this point, system 500 includes IoT device data 522. However, the IoT device data will not be in a form that is recognizable and / or useful in a search context. In other words, IoT device data 522 may not have any value in a search context. From one perspective, the following discussion explains techniques for increasing the value of IoT device data in a search context. From another perspective, a technical problem is that IoT data does not currently exist in a way that is understood in a highly developed search context. The discussion below provides a technical solution to this problem.
[0024] The IoT entity component 510 can extract data from the IoT data collection component 508 and process it. The extraction and processing may require multiple stages. For example, one stage may process and ingest the IoT device data 522 in an intermediate storage device. Another stage may include the integration of all IoT device data 522 across different IoT applications to derive correlations. Another stage may require periodically reading the IoT device data 522 from the intermediate storage device and storing it in a distributed storage device. Another stage may require deserializing the IoT device data 522 and converting the IoT data into an indexable data format.
[0025] In some embodiments, the IoT entity component 510 can analyze the IoT device data 522 with respect to entities and popularity indicators. In other words, the analysis can identify entities in the IoT device data 522. For example, the IoT entity component 510 can extract entity names from the IoT device data 522 by finding a match between the IoT device data and the entity index. The IoT entity component 510 can also use popularity indicators relative to the IoT device data. For example, the popularity indicator can be populated with various entity information related to frequency of use, duration of use, last use, novelty factor and / or brand of the entity. For example, a representation of a population graph can include a weighted average of these aspects. Therefore, once the IoT entity component identifies an entity in the IoT device data, the IoT entity component can identify the frequency of access to the entity, etc. (e.g., which entities the IoT device data is related to and the degree of user interest in each entity).
[0026] IoT entity component 510 can use knowledge index 512 to derive additional information about IoT device data 522. For example, IoT entities from IoT device data can be compared with knowledge index 512. Various knowledge indexes can be used. Search engine knowledge indexes are easily obtained. The process can compare entities of IoT device data with entities of knowledge index. If an entity match is found, the existing entity ID and metadata from the knowledge index can be utilized by IoT entity component 510. In the alternative case that no entity can be found, the new IoT entity from IoT device data can be added to the knowledge index for future use.
[0027] The IoT entity component 510 may also identify related entities, such as parent and / or child relationships (e.g., ontological relationships), and metadata associated with the IoT entity using an N-step graph traversal on the knowledge graph 512. Thus, in the illustrated example, the IoT entity component 510 obtains additional information relative to the IoT device data 522. At 524, the additional information is reflected and may be considered structured IoT device data (e.g., the IoT device data is augmented with information about the IoT device data).
[0028] For illustrative purposes, structured IoT device data 524 can be compared to IoT device data 522. As shown in 524(1), additional information specifies that "Whirlpool" is an entity of entity type "refrigerator" and "ABC" is a model of Whirlpool refrigerator. Similarly, as shown in 524(2), additional information specifies that "Honda" is an entity of entity type "car" and "Civic" is a model of Honda car. Some of this information is in the IoT device data. For example, "Honda" is in the IoT device data, but without context. The knowledge graph provides information that Honda is an entity. Other information is not in the IoT device data 522, but is derived from the knowledge graph. For example, information that the entity Honda has a child relationship with the parent entity type of car is derived from the knowledge graph and added to the structured IoT device data 524(2). Therefore, from one perspective, the structured IoT device data 524 can add context to the IoT device data 522, which makes the structured IoT device data useful or meaningful in the context of a search.
[0029] The structured IoT device data 524 can be added to the IoT entity feed index 514. For example, in some embodiments, the identified entity can be ingested into the IoT entity feed index 514 along with several fields, such as user ID, entity ID, popularity index, etc. In this case, the user ID can be an anonymous unique identifier of a user in the system 500. The entity ID can be a search engine knowledge base unique ID. The popularity index can be a score of relevance, which is a measure of trend interest (e.g., relative trend popularity), virality, and / or usefulness. In some embodiments, the structured IoT device data 524 can be converted into an indexable data format for the IoT entity feed index 514. ( Figure 8 The IoT entity pattern for this transformation is shown).
[0030] The above query ends with IoT entity feed index 514 Figure 5 The discussion of describes a strategy for making user IoT device data useful in a search context (eg, as structured IoT device data 524). Figure 5The remaining discussion illustrates examples for employing structured IoT device data in a constructive manner to provide IoT enhanced ranking results 116 that are more relevant to a user.
[0031] In this example, user 102 submits a request for Figure 1 The query 104 for "car service" described in the scenario of FIG. The query 104 can be submitted to a search index 516, such as can be associated with a search engine or other search tool. The search index 516 can provide a list of relevant (e.g., containing the terms of the query) content (e.g., documents, images, etc.). This aspect is known and will not be discussed in detail herein.
[0032] The IoT enhanced ranker 518 can receive a list of content and rank the content at least in part by utilizing structured IoT device data 524 from the IoT entity feed index 514. One point of the following discussion is to provide an illustration of how the IoT enhanced ranker 518 can utilize structured IoT device data 524 in an intelligent way to improve search results. For example, Whirlpool refrigerator structured IoT device data 524(1) is unlikely to provide better results for a car service query. In contrast, structured IoT device data 524(2) related to Honda cars may provide better results than traditionally obtained results.
[0033] Figure 6 Additional details about an example IoT enhanced ranker 518 are provided. As mentioned above, the IoT enhanced ranker 518 can receive a car service query 104 and output an IoT enhanced ranking result 116. More specifically, the IoT enhanced ranker 518 can receive a list of documents (or document addresses (e.g., network URLs)) that contain one or more query terms. For example, the knowledge graph can refer to the query terms to the documents. In this case, the IoT enhanced ranker 518 includes parallel feeds for different sub-queries of the search query 104. In this case, the three parallel feeds (represented by vertical columns) are represented as sub-query 1, sub-query 2, and sub-query 3, respectively. For example, one sub-query (sub-query 1) can be related to the term "car" from the search query 104, while another sub-query (sub-query 2) can be related to the term "service". More or fewer feeds can be used than the three feeds illustrated herein. The illustrated case also includes four ranking levels (e.g., level 1 (L1) to level 4 (L4) are represented as horizontal rows). However, other ranking levels can be used.
[0034] In this case, a document from a list of documents obtained from a knowledge graph may be selected by a level 1 ranker, as shown at 602. The level 1 ranker may output the results to level 2. At 604, level 2 may use a machine learning model to rank the documents.
[0035] The output of level 2 is fed into level 3. As shown in 606, the level 3 ranker can re-rank the documents based on existing rules and / or IoT entities from the IoT entity feed index 514. More specifically, the structured IoT device data (524, Figure 5 ) can be consumed at level 3. As mentioned above Figure 5 As mentioned, structured IoT device data may include IoT entities as well as popularity scores and / or other metadata. The L3 ranker may match the IoT entity ID with the entity ID of the document's URL (e.g., identify co-occurrence) and increase confidence if there is a match. Thus, assume that the first document (URL) includes the term service and includes the entity "car," while the second document (URL) includes the term service but does not include the entity "car." The entity "car" is included in the IoT entity feed index 514. In other words, the entity "car" appears in the IoT entity feed index for the user and appears in the first document but not the second document. Therefore, the IoT entity matches the first document but not the second document. This information can be used to determine that the first document has a higher likelihood / confidence of matching what the user is actually searching for than the second document.
[0036] To further clarify, in this case, at the L3 ranker level, there may be multiple documents from various car service dealers such as Honda, Toyota, Audi, etc. However, the IoT entity feed index 514 returns the "Honda" entity for this query. Therefore, the confidence of the Honda web document will be improved. Therefore, if the first document includes "Honda", "Car", and "Service", and the second document does not include "Honda", the first document can now be ranked higher than the second document, even if the level 2 ranker has different rankings for them.
[0037] In addition, the IoT enhanced ranker 518 does not produce spurious results from unrelated IoT entities. For example, in this example, the L3 ranker can find instances of the IoT entities "refrigerator", "Whirlpool", "Honda", and "car". The terms refrigerator and Whirlpool are unlikely to appear in documents that appear in queries for the terms "car" and "service" and therefore do not affect the ranking. In contrast, the co-occurrence of the IoT entities "car" and "Honda" indicates that the documents are highly related.
[0038] In some embodiments, the new level 3 confidence value for the co-occurrence-based IoT entity may be a weighted average of the popularity index and the existing confidence value. The new confidence value may be used for final ranking of the URL during the L4 ranking phase. The L4 ranker may merge documents from multiple paths as shown at 608 to produce IoT enhanced ranking results 116. The IoT enhanced ranking results 116 may be presented to the user and / or employed on behalf of the user.
[0039] Note that some embodiments may employ self-learning techniques. For example, as shown at 610 , user selections of the IoT enhanced ranking results 116 may be fed back to the IoT enhanced ranker 518 to further refine the IoT enhanced ranking results in future instances.
[0040] The above article discusses a new IoT enhanced ranking system for search scenarios. The new IoT enhanced ranking system can integrate various IoT device data of users. The new method can intelligently identify entities of interest from IoT device data, such as by using a search engine knowledge graph. The IoT enhanced ranker can use IoT entities and their popularity indicators to provide users with improved and personalized search results.
[0041] Figure 7 Details related to the example L3 ranker shown at 702 are shown. A user may configure this particular L3 ranker. A configurable L3 ranker may allow a party to define the features that the party is interested in and the confidence level that the party wants to be considered for determining a document. For example, the party may be controlling Figure 5 The system 500 and / or may be controlling a search engine, etc. In this case, the feature generation workflow begins at 704. The present discussion relates to IoT device data (more specifically, to IoT entities in structured IoT device data). IoT entities can be considered features and can be embodied in an IoT feature generator 706. Feature generators 708 (1) and 708 (N) can also be configured for other features, but are not described in detail herein. The IoT feature generator 706 can communicate with the IoT entity component 510 and the IoT entity feed index 514 to obtain IoT entities utilized by the IoT feature generator. At 710, the IoT feature generator 706 can utilize these IoT entities to generate IoT query level features. Similarly, at 712, other feature generators 708 can generate document level features. The feature aggregator 714 can combine features 710 and 712 to populate the L3 ranker 702. Then, the L3 ranker 702 can be used to generate document level features. Figure 6 The L3 ranker is adopted in the IoT enhanced ranker 518.
[0042] Figure 8 Shows the above relative to Figure 5The IoT entity model 802 mentioned in the discussion of the IoT entity model can provide a method for structuring IoT device data (524, Figure 5 ) into an indexable data format for the IoT entity feed index 514. The indexable data format may relate to entities in the IoT entity list 804, characteristics or attributes of the entity at 806, and / or roles of the entity at 808.
[0043] In one case, the IoT entity feed index (514, Figure 5 ) employs IoT entity mode 802 in an index building environment of an IoT entity feed index. In the index building environment, the generated indexable data format can be processed into indexes and content blocks, which can be consumed by the IoT entity feed index. If the block files generated by the index building are available, the index as a service environment can download (e.g., stream) the block files generated by the index building. Periodically, the IoT entity feed index can start a merge process. During the index merge, the index block files can be combined into a new, complete version of the IoT entity feed index.
[0044] The above article about Figure 1-8 The discussion includes such as using a search engine knowledge graph to intelligently identify entities from IoT sensor data. Indexing of IoT entities can be accomplished using a search index (e.g., an IoT entity feed index) to enable fast search and retrieval. A popularity score for each entity can be generated using a weighted average of the time dimension. Rule-based re-ranking levels can be enhanced by IoT entities and their popularity scores to improve search results. User choices made in enhancing search results or improving search results can be used in a feedback loop to improve search engine engagement. The system can be adopted by a party that works directly with users. For example, a party associated with a search engine can adopt the system to provide better search results. Alternatively, the system can be indirectly used by a first party that works directly for users. For example, the system can be adopted by a second party and presented as an application program interface (API) that the first party can use. For example, the first party can be an application developer who is providing an application that a user has on his / her smartphone. The application can receive a search query from a user. The first party can run the search query through the API and obtain IoT enhanced ranking results without having to understand the process being performed under the guidance of the second party. Reference is made below Fig.10 One such example is described.
[0045] Fig. 9A system 900 is shown that can implement the IoT enhanced ranking search result concept. For illustrative purposes, the system 900 includes user IoT devices 502, which include refrigerator 504 and car 506. The system 900 can also include one or more devices 902. In the illustrated example, devices 902 (1) and 902 (2) are represented as notebook computer devices, while the example device 902 (3) is represented as a server device. Figure 2 Device 204 and Figure 3 204B can also be considered as an example device 902. The user's IoT device 502 and device 902 can communicate via one or more networks (represented by lightning balls 904) and / or can access the Internet through the network. In some cases, brackets after reference numerals are used to distinguish identical elements. Using reference numerals without associated brackets is common for elements.
[0046] The devices 902 may be close to each other and / or distributed. Further, the devices 902 may be close to and / or far away from the user's IoT device 502.
[0047] Fig. 9 Two device configurations 910 are shown that a device 902 can adopt. Each device 902 can adopt any one or alternative configurations of configuration 910(1) or 910(2). (Due to space constraints on the drawing page, only one instance of each configuration is illustrated, rather than showing the device configuration relative to each device 902). In short, device configuration 910(1) represents an operating system (OS)-centric configuration. Configuration 910(2) represents a system-on-chip (SOC) configuration. Configuration 910(1) is organized into one or more applications 912, an operating system 914, and hardware 916. Configuration 910(2) is organized into shared resources 918, dedicated resources 920, and interfaces 922 therebetween.
[0048] In any configuration 910, the device may include storage / memory 924, processor 926, and / or IoT search component 928. IoT search component 928 may include any or all of the following: IoT data collection component 508, IoT entity component 510, knowledge index 512, IoT entity feed index 514, and / or the above referenced Figure 5The IoT enhanced ranker 518 described herein. The IoT search component 928 may be configured to receive search results for a search query entered by a single user and obtain IoT entities from IoT device data associated with the single user. The IoT search component 928 may be configured to rank the search results using IoT entities from the IoT device data associated with the single user. The IoT search component 928 may provide the user with ranked search results that are more relevant to the single user than results obtained without the entities from the IoT device data.
[0049] In some configurations, each device in device 902 may have an instance of IoT search component 928. However, the functions that may be performed by IoT search component 928 may be the same or different from each other. For example, in some cases, the IoT search component 928 of each device may be very powerful and provide all the functions described above and below (e.g., a device-centric implementation). In other cases, some devices may employ a less powerful instance of IoT search component 928 that relies on some functions to be performed remotely. For example, device 902(3) may have more processing resources than device 902(1). In this way, some of the functions may be performed locally on device 902(1), while other functions may be outsourced to device 902(3). Device 902(3) may return the results of its processing to device 902(1).
[0050] As used herein, the terms "device", "computer" or "computing device" may mean any type of device having a certain amount of processing power and / or storage capacity. The processing power may be provided by one or more processors that can execute data in the form of computer-readable instructions to provide functionality. Data such as computer-readable instructions and / or user-related data may be stored on a storage device such as a storage device that may be internal or external to the device. The storage device may include any one or more of the following: volatile memory or non-volatile memory, a hard drive, a flash storage device and / or an optical storage device (e.g., CD, DVD, etc.), a remote storage device (e.g., a cloud-based storage device), etc. As used herein, the term "computer-readable medium" may include signals. In contrast, the term "computer-readable storage medium" excludes signals. Computer-readable storage media include "computer-readable storage devices". Examples of computer-readable storage devices include volatile storage media (such as RAM) and non-volatile storage media (such as hard drives, optical disks, and flash memory), etc.
[0051] Examples of device 902 may include traditional computing devices such as personal computers, desktop computers, servers, laptop computers, cell phones, smartphones, personal digital assistants, tablet computers, mobile computers, smart devices, etc., and / or any of a myriad of evolving or yet-to-be-developed computing devices.
[0052] As mentioned above, configuration 910(2) may be considered a system-on-chip (SOC) type design. In this case, the functionality provided by the device may be integrated on a single SOC or multiple coupled SOCs. One or more processors 926 may be configured to coordinate with shared resources 918 (such as memory / storage 924, etc.) and / or one or more dedicated resources (such as hardware blocks configured to perform certain specific functions). Therefore, the term "processor" as used herein may also refer to a central processing unit (CPU), a graphics processing unit (GPU), a field programmable gate array (FPGA), a controller, a microcontroller, a processor core, or other types of processing devices.
[0053] Typically, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuits) or a combination of these embodiments. As used herein, the term "component" generally represents software, firmware, hardware, entire equipment or network, or a combination thereof. For example, in the case of software embodiments, they can represent program codes that perform specified tasks when executed on a processor (e.g., one or more CPUs). The program code can be stored in one or more computer-readable memory devices such as computer-readable storage media. The features and techniques of the component are platform-independent, thereby meaning that they can be implemented on a variety of commercial computing platforms with a variety of processing configurations.
[0054] As mentioned above Figure 2 Mentioned, Fig.10 An example is provided in which a suggested task can be generated from IoT enhanced search results as shown in 1002. In this case, the user search query (104, Figure 1 ) may be submitted via the API for processing. The API may return the IoT enhanced ranking results 116. At 1004, the IoT enhanced ranking results 116 may be compared to a confidence threshold. In other words, this step may determine the likelihood that the IoT enhanced ranking results 116 convey the user's intent to perform the search query.
[0055] If the IoT enhanced ranking results 116 meet the confidence threshold, then at 1006, a task reflecting the IoT enhanced ranking results can be identified. For example, in an example where the search query is "car service" and the IoT enhanced ranking results 116 lists the highest ranked result as the nearest Honda dealer, assume that the confidence threshold 1004 is met. In this case, the identified task may be to make an appointment for the service user's Honda at the listed Honda dealer. At 1008, the IoT entity (e.g., Honda) can be extracted from the search results. A suggested task 1010 can be sent to the user's device 204. For example, the user's device can visually and / or audibly prompt it to make an appointment for the service user's Honda.
[0056] Fig.11 A flow diagram of an IoT enhanced search results technique or method 1100 is shown.
[0057] At 1102, the method can receive search results for a search query associated with a user.
[0058] At 1104 , the method can obtain an entity from an IoT device associated with the user.
[0059] At 1106 , the method can rank the search results using the entities from the IoT devices.
[0060] Fig.12 A flow diagram of an IoT enhanced search technique or method 1200 is illustrated.
[0061] At block 1202 , the method may compare a first set of entities in a search result document generated for a user search query and a second set of entities associated with an IoT device of the user.
[0062] At block 1204 , the method may rank the search result documents based on co-occurrences between the first set of entities and the second set of entities.
[0063] The described methods may be performed by the systems and / or elements described above and / or below and / or by other devices and / or systems.
[0064] The order in which the method is described is not intended to be considered a limitation, and any number of the actions described may be combined in any order to implement the method or an alternative method. Further, the method may be implemented in any suitable hardware, software, firmware, or combination thereof, such that a device can implement the method. In one case, the method is stored on one or more computer-readable storage media as a set of instructions (e.g., computer-readable instructions or computer-executable instructions) such that execution by a processor of a computing device causes the computing device to perform the method.
[0065] Various examples are described above. Other examples are described below. One example includes a system comprising an IoT entity component configured to obtain IoT device data from a user and supply the IoT device data to a knowledge index to identify entities in the IoT device data. The system may also include a storage device comprising an IoT entity feed index, the IoT entity feed index comprising entities from IoT device data associated with the user. The system may also include an IoT enhanced ranker configured to receive search results for a search query entered by a single user and obtain entities from the IoT device data associated with the single user and rank the search results using the entities from the IoT device data associated with the single user.
[0066] Another example may include any of the above and / or following examples, wherein the system includes a knowledge index, or wherein the IoT entity component is configured to communicate with a knowledge index, the knowledge index being associated with a third party.
[0067] Another example may include any of the above and / or following examples, where the IoT entity feed index may include multiple fields for each individual entity.
[0068] Another example may include any of the above and / or following examples, wherein the respective fields include a user identification (ID), an entity identification (ID), and / or a popularity index.
[0069] Another example may include any of the above and / or following examples, wherein the popularity index is a relevance score that is a measure of trending interest in a single entity.
[0070] Another example may include any of the above and / or following examples, wherein the IoT entity feed index is stored in an indexable data format.
[0071] Another example may include any of the above and / or following examples, wherein the search results include a list of uniform resource locator (URL) addresses.
[0072] Another example may include any of the above and / or following examples, wherein the URL address is associated with a document and / or an image.
[0073] Another example may include any of the above and / or following examples, wherein the IoT enhanced ranker includes multiple ranking levels.
[0074] Another example may include any of the above and / or following examples, where a single ranking level examines the occurrence of an entity in a URL.
[0075] Another example may include any of the above and / or following examples, where a single ranking level re-ranks individual URLs having an occurrence higher than other individual URLs without the occurrence.
[0076] Another example includes a method comprising: receiving search results for a search query associated with a user; obtaining entities from an IoT device associated with the user; and ranking the search results using the entities from the IoT device.
[0077] Another example may include any of the above and / or following examples, wherein receiving includes: performing a search on the search query; or receiving includes: receiving search results from a search engine.
[0078] Another example may include any of the above and / or following examples, wherein obtaining includes: comparing IoT data from an IoT device to a knowledge graph to identify an entity.
[0079] Another example may include any of the above and / or following examples, wherein obtaining includes: obtaining entities and associated ontology relationships.
[0080] Another example may include any of the above and / or following examples, wherein obtaining includes: obtaining entity and relative trend popularity.
[0081] Another example may include any of the above and / or following examples, wherein the ranking includes identifying occurrences of the entity in respective search results.
[0082] Another example can include any of the above and / or following examples, wherein ranking includes ranking the respective search result higher than other respective search results that lack the occurrence.
[0083] Another example includes a method comprising: comparing a first set of entities in a search result document generated for a user search query and a second set of entities associated with the user's IoT device; and ranking the search result document based on co-occurrence between the first set of entities and the second set of entities.
[0084] Another example may include any of the above and / or following examples, wherein the ranking includes ranking respective documents having more co-occurrences higher than other respective documents having fewer co-occurrences.
[0085] in conclusion
[0086] Although the subject matter related to IoT enhanced search results 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.
Claims
1. An electronic system comprising: An Internet of Things (IoT) entity component is configured to: obtain IoT device data related to a user, and supply the IoT device data to a knowledge index to identify entities in the IoT device data, and the IoT entity component is further configured to: generate structured IoT device data, the structured IoT device data associating the entities in the IoT device data with a single user; a storage device, the storage device comprising an IoT entity feed index, the IoT entity feed index comprising the entities from the structured IoT device data; and IoT Enhanced Ranker, configured as: obtaining search results for a search query entered by the single user, the search results comprising documents including one or more query terms from the search query, obtaining the entity associated with the single user from the structured IoT device data, ranking the search results using a first level ranker, the first level ranker comprising a machine learning model that ranks the documents based at least in part on occurrences of the query terms in the search results, wherein greater occurrences of the query terms in a single document cause the document to be ranked higher than another document having fewer occurrences of the query terms, re-ranking the search results from the first level ranker using a second level ranker, the second level ranker utilizing the entity associated with the single user from the structured IoT device data to perform the re-ranking based at least in part on the occurrence of the entity associated with the single user from the structured IoT device data in the ranked documents, wherein More occurrences of the entity from the structured IoT device data cause the other document to be re-ranked higher than the single document having fewer entities from the structured IoT device data, and At least a subset of the search results ranked by the first level ranker and the second level ranker are caused to be presented for the single user.
2. The system of claim 1, wherein the system comprises the knowledge index, or wherein the IoT entity component is configured to communicate with the knowledge index, the knowledge index being associated with a third party. 3 . The system of claim 1 , wherein the IoT entity feed index is capable of including multiple fields for each individual entity. 4 . The system according to claim 3 , wherein each field comprises a user identification ID, an entity identification ID, and / or a popularity index. 5 . The system of claim 4 , wherein the popularity index is a relevance score that is a measure of trending interest in the single entity. The system of claim 1 , wherein the IoT entity feed index is stored in an indexable data format.
7. The system of claim 1, wherein the search results include a list of uniform resource locator (URL) addresses.
8. The system of claim 7, wherein the URL address is associated with a document and / or an image.
9. The system of claim 7, wherein the IoT enhanced ranker comprises a third level ranker.
10. The system of claim 9, wherein the third level ranker is configured to merge multiple paths from the second level ranker.
11. The system of claim 10, wherein the plurality of paths are established by the first level ranker and are related to a single search term of the search query.
12. A method for enhancing search in the Internet of Things (IoT), comprising: Obtain IoT device data related to users; Identify entities in the IoT device data using a knowledge index; generating structured IoT device data, wherein the structured IoT device data associates the entity in the IoT device data with a single user; storing an IoT entity feed index, the IoT entity feed index including the entities from the structured IoT device data; obtaining search results for a search query entered by the single user, the search results comprising documents including one or more query terms from the search query, obtaining the entity associated with the single user from the structured IoT device data, ranking the search results using a first level ranker, the first level ranker comprising a machine learning model that ranks the documents based at least in part on occurrences of the query terms in the search results, wherein greater occurrences of the query terms in a single document cause the document to be ranked higher than another document having fewer occurrences of the query terms, reranking the search results from the first level ranker using a second level ranker without receiving user input related to the IoT device data, the second level ranker utilizing the entities associated with the single user from the structured IoT device data to perform the reranking based at least in part on occurrences of the entities associated with the single user from the structured IoT device data in the ranked documents, wherein a greater occurrence of the entities from the structured IoT device data causes the other document to be reranked higher than the single document having fewer entities from the structured IoT device data, and At least a subset of the search results ranked by the first level ranker and the second level ranker are caused to be presented for the single user.
13. The method of claim 12, wherein the IoT entity feed index includes a plurality of fields for each individual entity.
14. The method of claim 13, wherein each field comprises a user identifier, an entity identifier, and / or a popularity index.
15. The method of claim 14, wherein the popularity indicator is a relevance score, the relevance score being a measure of trending interest in the single entity.
16. The method of claim 12, wherein the IoT entity feed index is stored in an indexable data format.
17. The method of claim 12, wherein the search results include a list of uniform resource locator (URL) addresses.
18. The method of claim 17, wherein the URL address is associated with a document and / or an image.
19. The method according to claim 17, further comprising: A third level ranker is used to merge multiple paths from the second level ranker.
20. The method of claim 19, wherein the plurality of paths are established by the first level ranker and are related to a single search term of the search query.
Citation Information
Patent Citations
Improvement of relevance of search engine result page between name and other search queries by using social network features
CN102999560A
Real-time context aware recommendation engine based on a user internet of things environment
US20150019342A1