Method for providing search result based on search context of user and user device using same
By determining user context and tolerance through a personal knowledge graph, the method and device improve search result relevance and personalization using AI models, addressing the limitations of existing AI-based search systems.
Patent Information
- Application Number
- PCT/KR2025/005818
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-28
- Filing Date
- 2025-04-29
- Publication Date
- 2025-12-04
AI Technical Summary
Existing AI-based search systems fail to provide search results that accurately reflect the user's context and tolerance, leading to suboptimal outcomes.
A method and user device that determine a user's search context and tolerance level, using a personal knowledge graph to obtain and provide search results based on contextual information and user input, incorporating AI models like CNN, GCN, and GNN to enhance search precision.
Enhances search result relevance by accurately reflecting user context and tolerance, providing personalized and contextually appropriate information.
Smart Images

Figure KR2025005818_04122025_PF_FP_ABST
Abstract
Description
Method for providing search results based on a user's search context and a user device utilizing the same
[0001] The present invention relates to a method for providing search results based on a user's search context and a user device utilizing the same.
[0002] AI-based technologies are being utilized in diverse fields across industries. A variety of AI models are being developed and utilized across various sectors, and the application of AI-based solutions is rapidly increasing not only in manufacturing but also in robotics, transportation / logistics, healthcare, education, pharmaceuticals / biotechnology, and other industries. The adoption of such AI-based technologies is leading to enhanced competitiveness for both companies and countries.
[0003] To enhance the performance of AI models, knowledge bases can be used for AI model training and inference. One example of a knowledge base is a knowledge graph, which is a graph-based data structure. Interest in building and utilizing knowledge graphs is growing.
[0004] The above description is provided solely as background information to aid understanding of the present disclosure. No judgment or assertion is made as to whether any of the above content constitutes prior art to the present disclosure.
[0005] One embodiment of the present disclosure addresses at least the problems and / or drawbacks mentioned above, and provides at least the advantages described below. Accordingly, one embodiment of the present disclosure provides a method for providing search results based on a user's search context, and a user device using the method.
[0006] One embodiment of the present disclosure will be set forth in part in the description that follows, and in part, as will be apparent from the description or may be learned by practice of the described embodiment.
[0007] According to one embodiment of the present disclosure, a method for providing search results based on a user's search context is provided. The method for providing search results based on the user's search context includes a step of determining the user's search context based on the user's input and contextual information for a search. Furthermore, the method for providing search results based on the user's search context includes a step of determining a tolerance limit, which indicates the degree of tolerance the user can tolerate, based on the determined user search context. Furthermore, the method for providing search results based on the user's search context includes a step of obtaining search conditions for the search based on the determined tolerance limit. Furthermore, the method for providing search results based on the user's search context includes a step of providing search results according to the obtained search conditions.
[0008] According to one embodiment of the present disclosure, a computer-readable recording medium having recorded thereon a program for executing the above-described method is provided.
[0009] According to one embodiment of the present disclosure, a user device is provided that provides search results based on a user's search context. The user device includes a memory storing one or more computer programs and one or more processors communicatively connected to the memory and configured to execute the one or more computer programs. The one or more computer programs, when individually or collectively executed by the one or more processors, include computer-executable instructions that cause the user device to determine a user's search context based on the user's input and contextual information for a search. Furthermore, the one or more computer programs, when individually or collectively executed by the one or more processors, include computer-executable instructions that cause the user device to determine, from the determined user's search context, a tolerance level indicating the degree of user tolerance. Furthermore, the one or more computer programs, when individually or collectively executed by the one or more processors, include computer-executable instructions that cause the user device to obtain search conditions for the search based on the determined tolerance level. Additionally, the one or more computer programs, when individually or collectively executed by the one or more processors, include computer-executable instructions that cause the user device to provide search results according to the acquired search conditions.
[0010] Aspects, advantages, and key features of the present disclosure will become apparent to those skilled in the art from the following detailed description taken in conjunction with the accompanying drawings.
[0011] The above and other aspects, features, and advantages of one embodiment of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings.
[0012] FIG. 1 is a diagram illustrating an AI platform based on a personal knowledge graph according to one embodiment of the present disclosure.
[0013] FIG. 2 is a diagram illustrating an operation of a user device constructing a personalized database based on a knowledge graph according to one embodiment of the present disclosure.
[0014] FIGS. 3A and 3B are diagrams illustrating a portion of a content ontology as an example of an ontology used by a user device to build a personal knowledge graph according to one embodiment of the present disclosure.
[0015] FIG. 4 is a diagram illustrating an operation of a user device according to one embodiment of the present disclosure to provide a personal knowledge graph-based service to a user.
[0016] FIG. 5A, FIG. 5B, and FIG. 5C are diagrams illustrating a process of a user device searching for a photo using a search term based on knowledge attribute information through a personal knowledge graph-based search application according to one embodiment of the present disclosure.
[0017] FIG. 6A and FIG. 6B are diagrams for comparing and explaining how a user device according to one embodiment of the present disclosure provides different search results for the same search term.
[0018] FIG. 7 is a flowchart illustrating a method for providing search results based on a user's search context according to one embodiment of the present disclosure.
[0019] FIG. 8 is a diagram illustrating a process for determining a user's search context based on the user's input and situation information according to one embodiment of the present disclosure.
[0020] FIG. 9 is a diagram illustrating a process for determining a tolerance limit from a user's search context according to one embodiment of the present disclosure.
[0021] FIG. 10 is a diagram illustrating an example of a query condition affecting search time according to one embodiment of the present disclosure.
[0022] FIG. 11 is a detailed flowchart illustrating a process for providing search results according to one embodiment of the present disclosure.
[0023] FIG. 12 is a block diagram illustrating a user device according to one embodiment of the present disclosure.
[0024] FIG. 13 is a block diagram illustrating the configuration and operation of a user device according to one embodiment of the present disclosure.
[0025] Throughout the drawings, the same reference numbers are used to indicate identical components.
[0026] The following description, with reference to the attached drawings, is provided to facilitate a comprehensive understanding of one embodiment of the present disclosure as defined by the claims and their equivalents. While various specific details may be included to facilitate understanding, they are to be considered merely exemplary. Accordingly, those skilled in the art will appreciate that various changes and modifications can be made to the one embodiment described herein without departing from the scope and spirit of the present disclosure. Furthermore, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
[0027] The terms and words used in the following description and claims are not limited to their bibliographic meanings and may be used solely to facilitate a clear and consistent understanding of the present disclosure. Therefore, the following description of one embodiment of the present disclosure is provided for illustrative purposes only and is not intended to limit the present disclosure, which is defined by the appended claims and their equivalents.
[0028] The singular form should be understood to include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more such component surfaces.
[0029] Hereinafter, terms used in this specification will be briefly described, and the present disclosure will be described in detail. In this disclosure, the expression "at least one of a, b, or c" may refer to "a," "b," "c," "a and b," "a and c," "b and c," "all of a, b, and c," or variations thereof.
[0030] The terms used in this disclosure are selected from widely used, common terms, taking into account the functions of the disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names, but rather based on the meanings of the terms and the overall content of the disclosure.
[0031] Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by those of ordinary skill in the art described herein. Furthermore, terms containing ordinal numbers, such as "first" or "second," used herein may be used to describe various components, but these components should not be limited by these terms. These terms are used solely to distinguish one component from another.
[0032] When a part of the specification is said to "include" a component, unless otherwise specifically stated, this does not exclude other components but rather implies the inclusion of other components. Furthermore, terms such as "part" and "module" used in the specification refer to a unit that processes at least one function or operation, which may be implemented in hardware, software, or a combination of hardware and software.
[0033] The artificial intelligence-related functions according to the present disclosure are operated via a processor and memory. The processor may be comprised of one or more processors. In this case, one or more processors may be a general-purpose processor such as a CPU, an AP, a Digital Signal Processor (DSP), a graphics-only processor such as a GPU or a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU. One or more processors control the processing of input data according to predefined operating rules or artificial intelligence models stored in memory. Alternatively, if one or more processors are artificial intelligence-only processors, the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
[0034] The predefined operation rules or artificial intelligence models are characterized by being created through learning. Here, being created through learning means that the basic artificial intelligence model is trained using a learning algorithm using a plurality of learning data, thereby creating a predefined operation rules or artificial intelligence model set to perform a desired characteristic (or purpose). This learning may be performed on the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and / or system. Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
[0035] An artificial intelligence model may be composed of multiple neural network layers. Each of the multiple neural network layers has multiple weight values, and performs neural network operations through operations between the operation results of the previous layer and the multiple weights. The multiple weights of the multiple neural network layers may be optimized based on the learning results of the artificial intelligence model. For example, the multiple weights may be updated so that the loss value or cost value obtained from the artificial intelligence model is reduced or minimized during the learning process. The artificial neural network may include a deep neural network (DNN), and examples thereof include, but are not limited to, a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or deep Q-networks.
[0036] In this disclosure, the term "knowledge graph" refers to a knowledge base in graph form, which is a method for managing and exploring knowledge information, and which is based on a knowledge base that stores knowledge information and a graph that expresses it so that it can be analyzed in a network structure. A knowledge graph is a graph model that implements the knowledge accumulated in a knowledge base as a relationship between nodes and edges. A knowledge graph can be used to integrate data using a graph data model, topology, etc. To enable knowledge to be interconnected and integrated using a knowledge graph, a schema is implemented through an ontology, and a structure and dictionary (terminology) that can be shared with each other are used.
[0037] Semantic information, including common sense and factual knowledge, is organized into nodes and edges, and by referencing this, various types of data can be converted into the form of a knowledge graph. Methods for representing knowledge graphs include, but are not limited to, the Labeled Property Graph (LPG), in which nodes and edges can each have properties, and the Resource Description Framework (RDF), which expresses relationships in a triple structure of subject-predicate-object. Knowledge graphs can be created by recognizing entities from various data, linking them to appropriate entities in an existing knowledge base (entity linking), and extracting relationships between entities.
[0038] Knowledge graphs can be leveraged to enhance the performance of artificial intelligence. They can be used in models such as graph neural networks (GNNs) and graph convolution neural networks (GCNs), and can be used to provide explanations for results in explainable artificial intelligence (XAI).
[0039] Below, with reference to the attached drawings, embodiments of the present disclosure are described in detail so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.
[0040] Each block of a flowchart and its combination can be executed by one or more programs containing instructions. One or more programs may be stored entirely in a single memory, or one or more programs may be divided into different parts stored in different memories.
[0041] Any function or operation described herein may be processed by a single processor or a combination of processors. A single processor or a combination of processors is a circuit that performs processing and includes circuits such as an application processor (AP, e.g., a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth chip, a global positioning system (GPS) chip, a near field communication (NFC) chip, a connectivity chip, a sensor controller, a touch controller, a fingerprint sensor controller, a display drive integrated circuit (IC), an audio codec chip, a universal serial bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system on a chip (SoC), an integrated circuit (IC), and the like.
[0042] The present disclosure will be described in detail with reference to the attached drawings below.
[0043] FIG. 1 is a diagram illustrating an artificial intelligence (AI) platform based on a personal knowledge graph according to one embodiment of the present disclosure.
[0044] Referring to Figure 1, it shows that an AI platform based on a personal knowledge graph is provided to a user through a process of building a personalized database based on a knowledge graph (S110) and a process of providing a personalized AI service to a user through a service application based on a knowledge graph (S120).
[0045] In the process of building a personalized database based on a knowledge graph (S110), the user device (100) can create a personal knowledge graph in a structured form by referencing a general knowledge graph in a structured form, such as common sense and factual knowledge, with user data acquired from the user device (100). The user device (100) can convert various types of unstructured data into the form of a knowledge graph, build a personalized database based on a knowledge graph, i.e., a personal knowledge graph, and store it in storage.
[0046] In the process of providing personalized AI services to users through a knowledge graph-based service application (S120), the user device (100) can provide various services using a personalized database stored in storage, i.e., a personal knowledge graph. The user device (100) can use the personal knowledge graph to provide recommendation services, assistant services, QA (Question Answering) services, etc.
[0047] For example, if the user is performing an action, the user device (100) can recommend music that the user enjoys listening to during the action through a recommendation service, or provide information about related past experiences or upcoming events (e.g., calendar schedules) as well as knowledge information based on a personal knowledge graph through an assistant service. The user device (100) can identify the user's behavioral patterns from a personalized database, and if the user shows a pattern that is different from the user's usual behavioral patterns, the user device (100) can provide a solution service related to the cause of the different pattern through a recommendation service. The user device (100) can provide a customized answer to the user's question based on a personalized database through a QA service. The user device (100) can utilize the personalized database to perform a journaling function that manages and describes the user's daily routine or special events through an assistant service.
[0048] FIG. 2 is a diagram for explaining an operation of a user device (100) according to one embodiment of the present disclosure to build a personalized database based on a knowledge graph.
[0049] Referring to FIG. 2, the user device (100) may be an electronic device capable of processing data. For example, the user device may be an electronic device such as a smartphone, smart glasses, a wearable device, a digital camera, a laptop, an AR (Augmented Reality) device, or a VR (Virtual Reality) device. The user device (100) may be equipped with various types of neural network models. For example, the user device may be equipped with at least one model such as a CNN (Convolution Neural Network), a GCN (Graph Convolution Neural Network), a GNN (Graph Neural Network), a DNN (Deep Neural Network), an RNN (Recurrent Neural Network), or a BRDNN (Bidirectional Recurrent Deep Neural Network), and may also use these in combination.
[0050] The user device (100) can build a personalized database based on a knowledge graph by converting various types of unstructured data into the form of a knowledge graph. The user device (100) can acquire various types of data and convert them into triple-format data. The user device (100) can map the converted data with an ontology stored in a semantic memory, thereby reflecting structured information in the form of an ontology into a personal knowledge graph. An ontology is a type of dictionary that defines terms that conceptualize data and the relationships between terms. An ontology can be expanded by adding external knowledge by converting it into triple-format data.
[0051] The data acquired from the user device (100) may be metadata about content such as text, photos, videos, and music, collected in the user device (100). The data acquired from the user device (100) may be metadata about the application used or metadata about the time, place, weather, etc. of an event occurrence, stored in the user device. The data acquired from the user device (100) may include at least one of data input from a user in the user device (100), data sensed by the user device (100), data received from the outside by the user device (100), and data processed in the user device (100).
[0052] The user device (100) can process unstructured data acquired from the user device (100) into structured information and store it in a personal knowledge graph. The user device (100) can prepare semantic information in a structured form in advance as an ontology in a semantic memory. The user device (100) can refer to semantic information of various types of ontologies stored in the semantic memory to process unstructured data acquired from the user device (100) into structured information and store it in a personalized database. For example, the user device (100) can convert various types of unstructured data into the form of a knowledge graph and store it in a personal knowledge graph.
[0053] Referring to FIG. 2, a process of a user device (100) collecting metadata about content generated or provided by the user device (100) and constructing a personalized database in the form of a knowledge graph is illustrated as an example. For the sake of specific explanation, FIG. 2 merely illustrates the process of constructing a personal knowledge graph based on user content as an example; however, the present disclosure is not limited thereto and can be applied to other types of personal knowledge graphs.
[0054] The user device (100) can collect metadata about content from a contact provider, a message provider, a media provider, CMH (content management hub) data, etc. in the content collector part. The content collector is not limited to the example illustrated in FIG. 4, and can also collect metadata from various types of applications installed in the user device (100). The content collector can include a post-processing module that can classify character types, parse text, classify image types, and recognize objects in images. A place type collector and a weather collector can collect metadata about places or weather from external information acquired from the user device (100).
[0055] The user device (100) can convert metadata about content and metadata corresponding to places or weather related to the content, etc., into triple-format data through a content encoder in the memory core part. The recognizer can map the triple-format data with an ontology stored in the semantic memory, infer standardized information in accordance with the ontology format, and reflect it in a personal knowledge graph. As illustrated in FIG. 2, various types of ontologies, such as content ontology, user activity ontology, environment ontology, and relationship ontology, may be prepared in advance in the semantic memory according to the purpose, and the recognizer can search by integrating various ontologies prepared in the semantic memory.
[0056] Referring to FIG. 2, the process of building a personal knowledge graph based on user content by collecting metadata about content generated or provided by the user device (100), converting it into a triple format, and then mapping it with a content ontology is illustrated as an example of building a personalized database based on a knowledge graph. The personal knowledge graph based on user content can represent instances of content collected using photos or videos owned by the user, message information exchanged by the user, contact information, etc., using nodes and edges. For example, a message provider and a media provider can transmit data about card payment information paid on January 1st and photos taken on January 1st received by the user device (100) to a content encoder. The transmitted data can be connected to the ontology of the personal knowledge graph as an instance of an event that occurred on January 1st through text and metadata analysis.
[0057] FIGS. 3A and 3B are diagrams illustrating a portion of a content ontology as an example of an ontology used by a user device (100) to build a personal knowledge graph according to one embodiment of the present disclosure.
[0058] Referring to FIGS. 3A and 3B , in the process of constructing a personal knowledge graph based on user content, the user device (100) collects metadata regarding content generated or provided by the user device (100), converts the metadata into a triple format, and then maps the converted data to a content ontology stored in a semantic memory, thereby generating data in a standardized form conforming to the ontology format. At this time, the content ontology may be utilized in the process of constructing a personal knowledge graph based on user content.
[0059] Referring to Figures 3a and 3b, an example of a content ontology is illustrated. A content ontology can be used to model content consumed by users. A content ontology defines data items that can be collected for each content type, and these are called "classes." A content ontology can be composed of nodes corresponding to each class and edges expressing the relationships between each class, and subclasses can inherit properties of their superclasses. Through data collection, actual data values applied to data items defined in a class are called instances, and each data item becomes knowledge attribute information of the corresponding instance. Instances can be created corresponding to each class in the ontology. For example, in the content ontology of Figures 3a and 3b, an instance corresponding to the highest level, "content," can be created, or instances at lower levels, such as "person" or "environment," can be created. The knowledge attribute information of an instance can be recorded as actual data values, or actual data values can be recorded in predefined data items by referencing classes of the same or different types of ontology. For example, in FIGS. 3A and 3B, the media object can record actual data values that match the data type for data items such as name, start time, end time, and creation date. In addition, the media object can record actual data values for the data item of the content location according to the data items defined in the class called 'place' in the environment ontology. In addition, the media object can record actual data values for the data item of the author according to the data items defined in the class called 'person' in the content ontology.
[0060] When a user remembers content, the information remembered together can be the knowledge attribute information of each instance in a personal knowledge graph based on the user content, so that the data items that can be collected can be defined in advance in the class. When all data values for the data items defined in the class are collected without omission from various metadata related to the content, the user device (100) can provide a user-friendly content search according to the user's memory method by using a personal knowledge graph based on the user content and a query that includes the knowledge attribute information. If metadata regarding some objects that constitute the content are missing or some metadata regarding an object are missing, some values of the knowledge attribute information of the instance of the content may be missing or empty, so the user device (100) may not be able to search the content.
[0061] The user device (100) can model user content through user modeling-based data collection using content ontology. For example, the user device (100) can use content ontology to obtain standardized data in an ontology format for photos stored in the user device (100), thereby generating a personal knowledge graph based on the user content.
[0062] FIG. 4 is a diagram for explaining an operation of a user device (100) according to one embodiment of the present disclosure to provide a personal knowledge graph-based service to a user.
[0063] Referring to FIG. 4, the user device (100) can provide personalized services to users through a service application based on a personal knowledge graph. The user device (100) can build a personalized database based on a knowledge graph.
[0064] Continuing with the descriptions of FIGS. 2, 3a, and 3b, the following description assumes that a personalized knowledge graph based on user content has been constructed as a personalized database based on a knowledge graph. An embodiment in which a user device (100) provides a content search service using a query including a personal knowledge graph based on user content and a search term entered by the user is described below, but is not limited to such a service.
[0065] According to one embodiment, the user device (100) may receive user input regarding a search term by executing a content search service in the content finder part, and the service logic module may transmit the search term entered by the user to the retrieval unit. The text search module may transmit the result of performing simple text matching on the search term to the service logic module. The service logic module may provide search results based on the result of combining the query results for the personal knowledge graph based on the user content and the result of performing text matching, and may apply a ranking to the search results.
[0066] The user device (100) can derive the Internationalized Resource Identifier (IRI) of the search term transmitted from the service logic module through the entity encoder in the memory core part. The entity encoder can support multilingual processing of the search term or support synonym processing by using a knowledge graph vocabulary database and a synonym database to convert the search term into a standard language registered in the knowledge graph and derive the IRI corresponding to the search term. The searcher can construct a query using the IRI corresponding to the search term and receive a query result for a personal knowledge graph based on user content. The query result for the personal knowledge graph based on user content can include a list of IRIs of content related to the IRI included in the query, knowledge attribute information of each content, type information or score information of the knowledge attribute information, type information of the content, etc. The knowledge attribute information of each content can be set in advance up to knowledge attribute information of an n-hop relationship with the content. The type information of knowledge attribute information can be either predefined data item information (field information) for each class when constructing a content ontology, or separate type information defined for each content node. Searchers can output associative search terms based on knowledge attribute information and / or type information of knowledge attribute information, along with search results based on query results.
[0067] If the user input for a search term consists of multiple search terms, the service logic module can transmit the multiple search terms entered by the user to the retrieval unit. Searches using multiple search terms may include simultaneously entering the first and second search terms, or additionally entering the second search term after the first search term.
[0068] When the first and second search terms are input simultaneously, the retrieval unit can derive the IRI corresponding to the first search term and the IRI corresponding to the second search term through an entity encoder. The search unit can construct a query using the IRI corresponding to the first search term and a query using the IRI corresponding to the second search term, and after receiving the results of each query, obtain the final result corresponding to the intersection (or union) of the results of each query.
[0069] In one embodiment, when a second search term is additionally input after a first search term is input, the searcher (retrieval unit) can cache the query results of the query using the IRI corresponding to the first search term. When the second search term is additionally input, the searcher can obtain the final result of the multi-search term by deriving the IRI corresponding to the second search term and filtering the query results stored in the cache using the IRI corresponding to the second search term. When using the cache for a search using multiple search terms, the method of filtering the query results stored in the cache can be expected to provide a faster response than the method of calculating the intersection of the two query results.
[0070] When a user input for a search term is a multi-search term using an operation symbol, the service logic module can transmit the multi-search term using the operation symbol input by the user to a retrieval unit. The retrieval unit can parse the multi-search term using the operation symbol and process the first search term, the operation symbol, and the second search term separately. The retrieval unit can perform a predefined operation according to the type of the operation symbol on the first query result of a query using an IRI corresponding to the first search term and the second query result of a query using an IRI corresponding to the second search term. For example, when the operation symbol is '+', a result combining the first and second query results can be output. When the operation symbol is '-', a result removing the second query result from the first query result can be output. When multiple search terms are input, at least one operation symbol can be used, parentheses can be input, and an operation symbol corresponding to a user-defined operation can be used.
[0071] Meanwhile, if there is no instance corresponding to the search term entered by the user in the personal knowledge graph, it is possible to preset whether to output query results for instances corresponding to a higher class than the class of the instance corresponding to the search term. Furthermore, in the knowledge graph of an external server, node information can be collected using the class information of the instance corresponding to the search term, and by linking with the personal knowledge graph, related search terms in which the instance exists can be extracted to provide search results. In addition, an ontology containing class information of the instance corresponding to the search term can be downloaded from an external server, and by linking with the personal knowledge graph, related search terms in which the instance exists can be extracted to provide search results.
[0072] FIG. 5a, FIG. 5b, and FIG. 5c are diagrams for explaining a process of searching for a photo using a search term based on knowledge attribute information through a personal knowledge graph-based search application by a user device (100) according to one embodiment of the present disclosure.
[0073] Referring to Figure 5a, the user interface screen (hereinafter, "navigator") of a personal knowledge graph-based search application is illustrated. The navigator may be composed of a search window, a knowledge property type tab, a knowledge property category window, and a search results window, each of which may be modified in position, size, shape, etc.
[0074] The search box can receive user input regarding search terms. Users can enter search terms directly into the search box using the virtual keyboard overlapping the bottom of the screen, or by selecting associated search terms based on knowledge attribute information using the Knowledge Attribute Type tab and Knowledge Attribute Category window.
[0075] The knowledge attribute type tab may be composed of multiple tabs, each categorized by the type of knowledge attribute information of each instance of the personal knowledge graph. As illustrated in Figure 5a, the knowledge attribute type tab may include tabs corresponding to location, time, person, topic, and type, respectively, depending on the type of knowledge attribute information, but is not limited thereto. For example, if the knowledge attribute information relates to the time at which content was filmed, the corresponding instance may be classified under the time tab. The knowledge attribute type tab may be displayed always or upon user interaction, depending on the user's settings, and may be provided in various ways, such as a drop-down, pop-up, or new window. Among the multiple tabs constituting the knowledge attribute type tab, a tab selected by the user may be displayed so as to be distinct from other tabs.
[0076] The knowledge attribute category window can categorize the knowledge attribute information of instances classified into each tab by knowledge attribute type tab and provide information about the category name and the number of instances belonging to the corresponding category. The knowledge attribute information of an instance can utilize actual data values or information inferred from actual data values. For example, if the knowledge attribute information of an instance is 'wife', it can be classified as 'family' through inference. If the knowledge attribute information of a photo classified into each tab by knowledge attribute type tab is unknown, the user device (100) can infer candidate knowledge attribute information and utilize the inferred candidate knowledge attribute information, provide a thumbnail of the photo, or utilize the knowledge attribute type information as the knowledge attribute information.
[0077] Category names can be used as search terms, and when a category name provided in the knowledge attribute category window is selected, the category name is automatically entered as a search term in the search window, and instances belonging to the category can be provided in the search results window. As illustrated in Fig. 5a, information about the category name and the number of instances belonging to the category can be expressed in the form of a word box, but is not limited thereto, and can also be provided in the form of a word cloud or a three-dimensional solid.
[0078] The Knowledge Attribute Type tab and Knowledge Attribute Category window can be activated when the user enters a search term, or can be activated without entering a search term based on the user's current specific action, predicted future action, or certain contextual information.
[0079] The search results window provides search results corresponding to the search term entered in the search window. According to one embodiment illustrated in Fig. 5a, when searching for photos using a personal knowledge graph-based search application, the search results window may provide thumbnails of photos corresponding to the search term and information about the total number of photos corresponding to the search term.
[0080] Referring to FIGS. 5a, 5b, and 5c, the navigator according to one embodiment is shown in the process of searching for a photo using a search term based on knowledge attribute information through a personal knowledge graph-based search application by a user device (100).
[0081] Referring to FIG. 5A, the user device (100) can receive a search term 'Children's Day' from the user in the search window. The user device (100) can derive the IRI of the search term 'Children's Day' and construct a query using the IRI of the search term 'Children's Day' to receive a query result for a personal knowledge graph based on user content. The query result for the personal knowledge graph based on user content can include a list of IRIs of 28 photos related to the IRI of 'Children's Day', type information of knowledge attribute information of each photo, knowledge attribute information of photos classified into each tab by knowledge attribute type tab, score information of each knowledge attribute information, information indicating that the type information of the content is a photo, etc.
[0082] Referring to FIG. 5a, the user device (100) can display 28 photos as search results for 'Children's Day' in the search results window, and categorize the knowledge attribute information of the photos classified by each tab in the knowledge attribute type tab in the knowledge attribute category window to provide information on the category name and the number of photos belonging to the corresponding category. As illustrated in FIG. 5a, the knowledge attribute information of the photos classified by the time tab of the knowledge attribute type tab is categorized as 'clear day', 'afternoon', 'last year', 'the year before last', 'morning', 'last month', 'this year', and 'OO month', and information on the number of photos belonging to each category together with the category name can be displayed in the knowledge attribute category window. The category names 'clear day', 'afternoon', 'last year', 'the year before last', 'morning', 'last month', 'this year', and 'OO month' can be utilized as search words that the user can associate with. If 'last year' is selected from the category names provided in the knowledge attribute category window of Fig. 5a, 'last year' may be additionally entered as a search word in the search window as shown in Fig. 5b, and nine photos belonging to the 'last year' category may be provided in the search results window. If the user selects the topic tab in the knowledge attribute type tab, as shown in Fig. 5b, the knowledge attribute information of the photos classified by the topic tab of the knowledge attribute type tab may be categorized into 'person', 'top / overcoat', 'soup', 'food', 'meal', 'lunch', and 'group', and information about the number of photos belonging to each category along with the category name may be displayed in the knowledge attribute category window. The category names 'person', 'top / overcoat', 'soup', 'food', 'meal', 'lunch', and 'group' may be utilized as search words that the user may associate with. When 'Meal' is selected from the category names provided in the knowledge attribute category window of Fig. 5b, 'Meal' is additionally entered as a search word in the search window as shown in Fig. 5c, and two photos belonging to the 'Meal' category may be provided in the search results window.
[0083] Meanwhile, when a user input regarding a search term is a multi-search term, for example, when 'Children's Day' is input as a first search term and 'last year' is input as a second search term, the user device (100) can obtain a query result of a query using an IRI corresponding to 'Children's Day' and a query result of a query using an IRI corresponding to 'last year', and then provide a result as shown in FIG. 5b as a final result corresponding to the intersection of each query result.
[0084] FIG. 6a and FIG. 6b are drawings for comparing and explaining how a user device (100) according to one embodiment of the present disclosure provides different search results for the same search term.
[0085] Referring to FIGS. 6a and 6b, each of the search results windows includes a photo searched using the search term 'wife and wine' entered in the search window by the user device (100).
[0086] Referring to FIG. 6A, the user device (100) displays a photo as a search result for "wife and wine" in the search results window in response to the search term "wife and wine" entered in the search window. In the case of FIG. 6A, the user device (100) can obtain a photo in which both the wife and wine appear as a query result for a personal knowledge graph based on user content, and provide it to the user in a short period of time. The personal knowledge graph based on user content may be a representation of instances of content collected using photos or videos owned by the user, message information exchanged by the user, etc., using nodes and edges.
[0087] Referring to FIG. 6b, the user device (100) displays nine photos as search results for "wife and wine" in the search results window in response to the search term "wife and wine" entered in the search window. In the case of FIG. 6b, the user device (100) obtains not only one photo in which both the wife and wine appear, but also other photos taken on the same day as the photo, as a query result for the personal knowledge graph based on the user content, thereby providing the user with a variety of photos.
[0088] If the user's intention in entering the search term was to quickly view only photos closely related to the search term, the search results window of Fig. 6a may be a result that matches the user's intention. However, if the user's intention in entering the search term was to obtain various information related to the search term, the search results window of Fig. 6b may be a result that matches the user's intention. For example, if the user entered the search term because he or she could not remember what other plans he or she had on the day he or she had wine with his or her wife, or because he or she was curious about the restaurant he or she went to that day, the search results window of Fig. 6b may provide a search result that better matches the user's intention.
[0089] Although FIGS. 6A and 6B illustrate an example in which a user searches for photos stored in a user device (100) using a keyword, the present disclosure is not limited thereto. In one embodiment of the present disclosure, the search may be for various content such as photos, videos, messages, articles, and SNS posts.
[0090] Below, we describe a method for providing search results that better match the user's search context, including the user's intent.
[0091] FIG. 7 is a flowchart illustrating a method for providing search results based on a user's search context according to one embodiment of the present disclosure.
[0092] Referring to FIG. 7, in S710, the user device (100) may determine the user's search context based on the user's input and contextual information for the search. In order to determine the user's search context, the user device (100) may utilize not only the user's input and contextual information, but also common sense or factual knowledge.
[0093] Search may be utilized in a personalized AI service utilizing a personal knowledge graph. The personal knowledge graph may be generated using information acquired from the user device (100), and various types of personal knowledge graphs may be generated. The search in this disclosure may be performed to provide information in a search service, recommendation service, assistant service, or QA service.
[0094] The user's input may be, but is not limited to, text, voice, or gestures. The user may input search commands in the form of search terms or sentences for search through the user interface or microphone of the user device (100). The user may provide search input to the user device (100) using a predefined gesture or action (e.g., shaking the user device (100).
[0095] The user device (100) can determine keywords, meanings, temporal constraints, spatial constraints, etc. from the user's input through at least one analysis model, such as a natural language processing model, a voice analysis model, a gesture analysis model, etc. For example, if there is a user input such as "Where is a good restaurant to eat lunch at near Seoul Station?", the user device (100) can extract keywords such as "Seoul Station," "lunch," "restaurant," "where," etc. from the entire sentence and infer that the user is requesting a food or restaurant recommendation. In addition, the user device (100) can determine that there is a temporal constraint during lunch hours and a spatial constraint near Seoul Station.
[0096] Context information is information about the status, conditions, environment, etc. when the user device (100) provides a service. For example, when the user device (100) performs a search and provides a predetermined service, the context information may include information about the user, time information, location information, other sensing information, and information about the available hardware resources of the user device (100). Information about the user may include the user's personality, the user's behavioral pattern, past user input, and user feedback on the provided service, and may be obtained from information directly input by the user or information accumulated in a user database. Time information and location information are information about the time and location when the user device (100) provides a predetermined service through a search, and may be obtained through the timer and GPS of the user device (100), respectively. Other sensing information may be information that may be obtained by monitoring and observing various sensors mounted on the user device (100), such as information about the user's movement speed and information about the user's health status. Information on available hardware resources of the user device (100) may be information on processing operation modules or memory used for search operations.
[0097] The user device (100) can obtain situational information through various databases such as personal knowledge graphs, knowledge graphs storing general knowledge, or various types of sensors.
[0098] FIG. 8 is a diagram illustrating a process for determining a user's search context based on the user's input and situation information according to one embodiment of the present disclosure.
[0099] The user device (100) can determine a plurality of search context factors that form the user's search context from the user's input and context information. The user's search context can include the user's intention regarding the search. The user's search context can further include, in addition to the user's intention input by the user or the inferred or estimated user's intention, the user's inputted user's available waiting time, the inferred or estimated user's available waiting time, information regarding available space on the device, available memory, etc. The user's search context can be formed through a plurality of search context factors, and each search context factor can be inferred or determined from at least one of the user's input and context information. The user device (100) can determine a plurality of search context factors that form the user's search context based on at least one of a keyword extracted from the user's input, an inferred meaning, and a search-related constraint, and at least one of information about the user, time information, location information, and sensing information acquired from the user device, which are collected as context information.
[0100] Referring to Figure 8, search context factors that form the user's search context are listed, but are not limited to, answer category, utility time, utility location, user characteristics, and user status. Depending on the user's input or contextual information, search context factors other than those shown in Figure 8 may exist, or some search context factors may not be inferred.
[0101] The category of a response can be determined by inferring how a response to a user's input should be formed. The user device (100) can infer what requirements the user's input contains and classify which response category it falls into. The user device (100) can determine the category of the response based on keywords extracted from the user's input and inferred meaning. The user device (100) can pre-define multiple response categories and determine which of these categories the user's input is related to. For example, the user device (100) can distinguish whether the user's input requests a short answer, a location recommendation, a search result for content within a predetermined range, or a response regarding general knowledge.
[0102] The useful time can be determined by determining whether the user's input includes temporal constraints. The user device (100) can determine whether the user's input includes a time-related expression. The user device (100) can determine the useful time based on the temporal constraints determined from the user's input and current time information. For example, the user device (100) can determine the remaining time during which the response is expected to be valid as the useful time based on the current time information and the temporal constraints extracted from the user's input.
[0103] The utility location can be determined by determining whether the user's input includes spatial constraints. The user device (100) can determine whether the user's input includes a location-related expression. The user device (100) can determine the utility location based on the spatial constraints determined from the user's input and current location information. For example, the user device (100) can determine a location or region where the answer is expected to be valid as the utility location based on the current location information and the spatial constraints extracted from the user's input.
[0104] User characteristics can be determined from user information received as contextual information. The user device (100) can determine a user's behavioral patterns based on the user's personality or repeated actions directly entered by the user. The user device (100) can identify user characteristics based on accumulated information, such as past user input or user feedback on previously provided services. For example, the user device (100) can determine whether the user is impatient or what type of response he or she prefers as user information.
[0105] The user status can be determined from other sensing information received as situational information. The user device (100) can determine the user status by tracking data about the user from sensors mounted on the user device (100). The user device (100) can determine the user status based on the user's location, movement, and bio-signals. For example, the user device (100) can determine whether the user is moving quickly or whether an emergency has occurred as a user status.
[0106] Referring back to FIG. 7, at S720, the user device (100) can determine a tolerance limit, which indicates the degree of tolerance the user can tolerate, based on the determined user search context. The tolerance limit is a predetermined indicator for search. A lower tolerance limit value provides faster and more immediate search results, while a higher tolerance limit value provides more search results at the expense of time. The tolerance limit may be determined differently depending on the user's search context. The tolerance limit may vary not only for each user, but also for the same user depending on the user's situation or input. The tolerance limit may be determined based on multiple tolerance limit elements.
[0107] The user device (100) can obtain a tolerance limit based on a plurality of tolerance limit elements corresponding to a plurality of search context factors. The user device (100) can determine a tolerance limit element corresponding to each search context factor for each search context factor, and determine a tolerance limit based on all determined factor limit elements.
[0108] FIG. 9 is a diagram illustrating a process for determining a tolerance limit from a user's search context according to one embodiment of the present disclosure.
[0109] Referring to Figure 9, an example is shown in which a user's search context is formed by multiple search context factors. However, this example is for illustrative purposes only and is not limited to this example. The example in Figure 9 shows five search context factors: answer category, utility time, utility location, user characteristics, and user status, and five tolerance limit factors corresponding to the five search context factors.
[0110] If there is a search context factor called the category of the answer (hereinafter, the first search context factor), a tolerance limit factor (hereinafter, the first tolerance limit factor) corresponding to the category of the answer can be determined. The user device (100) can determine the value of the first tolerance limit factor according to the value of the first search context factor. If the first search context factor corresponds to a category of answers requiring a short answer, the user device (100) can determine a low value for the first tolerance limit factor. If the first search context factor corresponds to a category of answers requiring an answer based on common sense, the user device (100) can determine a high value for the first tolerance limit factor.
[0111] For example, if there is a user input such as "Tell me about a nearby restaurant," the user device (100) may determine that the category of answers requiring a short answer is a category of answers, and thus may set the first tolerance limit factor to a low value. On the other hand, if there is a user input such as "Why is the sky blue?", the user device (100) may determine that the category of answers requiring a common-sense answer is a category of answers, and thus may set the first tolerance limit factor to a high value.
[0112] If there is a search context factor called utility time (hereinafter, referred to as a second search context factor), a tolerance limit factor corresponding to the utility time (hereinafter, referred to as a second tolerance limit factor) can be determined. The user device (100) can determine the value of the second tolerance limit factor according to the value of the second search context factor. If the user device (100) determines that the utility time, which is the second search context factor, is small, the user device (100) can determine a low value for the second tolerance limit factor because the remaining time during which the answer is expected to be valid is small. If the user device (100) determines that the utility time, which is the second search context factor, is large, the user device (100) can determine a high value for the second tolerance limit factor because the remaining time during which the answer is expected to be valid is large.
[0113] For example, when the user's input is a request for 'recommendation of a lunch place', if the current time information is '12 PM' and if the current time information is '10 AM', the user device (100) may determine that the former has a small useful time and set the second tolerance limit factor to a low value. On the other hand, the user device (100) may determine that the latter has a large useful time and set the second tolerance limit factor to a high value.
[0114] If there is a search context factor called utility location (hereinafter, the third search context factor), a tolerance limit factor (hereinafter, the third tolerance limit factor) corresponding to the utility location can be determined. The user device (100) can determine the value of the third tolerance limit factor according to the value of the third search context factor. If the user device (100) determines that the utility location, which is the third search context factor, is narrow, the user device (100) can determine a low value for the third tolerance limit factor because the range of locations where an answer is expected to be valid is narrow. If the user device (100) determines that the utility location, which is the third search context factor, is wide, the user device (100) can determine a high value for the third tolerance limit factor because the range of locations where an answer is expected to be valid is wide.
[0115] For example, when the current location information is 'Seoul Station', if the user's input is a request for 'recommendations for Seoul restaurants near here' and if the user's input is 'recommendations for Seoul restaurants', the user device (100) may determine that the utility location is narrow for the former due to the spatial constraint of 'near Seoul Station', and thus may set the third tolerance limit element to a low value. On the other hand, the user device (100) may determine that the utility location is wide for the latter, and thus may set the third tolerance limit element to a high value.
[0116] If there is a search context factor called user characteristic (hereinafter, the fourth search context factor), a tolerance limit factor (hereinafter, the fourth tolerance limit factor) corresponding to the user characteristic can be determined. The user device (100) can determine the value of the fourth tolerance limit factor according to the value of the fourth search context factor. The user device (100) can determine the value of the fourth tolerance limit factor according to the output value of a user characteristic estimation model that inputs user information or information about user characteristics, or a value about user characteristics set in advance by the user.
[0117] For example, if a user has set his / her personality as 'impatient' on the user device (100), the user device (100) may determine that the value of the search context factor called user characteristic is low, and thus may set the fourth tolerance limit factor to a low value. If the user device (100) determines that the output value of the user characteristic estimation model based on the user's age, speaking speed, feedback from past users, etc. is high, the user device (100) may set the fourth tolerance limit factor to a high value.
[0118] When there is a search context factor called a user status (hereinafter, the fifth search context factor), a tolerance limit factor (hereinafter, the fifth tolerance limit factor) corresponding to the user status can be determined. The user device (100) can determine the value of the fifth tolerance limit factor according to the value of the fifth search context factor. If the user status based on other sensing information requires urgent search results, the user device (100) can determine a low value for the fifth tolerance limit factor. If the user status based on other sensing information is free and not urgent, the user device (100) can determine a high value for the fifth tolerance limit factor.
[0119] For example, if the user is driving and moving quickly or if the user is in an emergency situation, the user device (100) may determine that the value of the search context factor called user status is low, and thus may set the fifth tolerance limit factor to a low value. On the other hand, if the user is resting or is not busy because there are no scheduled events registered on the user's calendar, the user device (100) may determine that the value of the search context factor called user status is high, and thus may set the fifth tolerance limit factor to a high value.
[0120] According to one embodiment of the present disclosure, the user device (100) may obtain an tolerance limit according to an output value of a predetermined function or a predetermined learning model that takes at least one of a plurality of tolerance limit elements as an input. The predetermined function may be a function that outputs a certain value through a predetermined operation among the values of the tolerance limit elements or selects a certain value according to a predetermined rule. Alternatively, the predetermined function may be a function that obtains an average, such as an arithmetic mean, a harmonic mean, a geometric mean, a weighted mean, etc., of the values of the tolerance limit elements, or that outputs a minimum or maximum value. Alternatively, the predetermined function may be a function that takes at least one of the values of the tolerance limit elements as an input and outputs a certain operation result. The predetermined learning model may be a tolerance limit determination model in the form of a deep learning model or a machine learning model that takes at least one of the values of the tolerance limit elements as an input.
[0121] For example, the user device (100) may determine the tolerance limit element with the lowest value among a plurality of tolerance limit elements as the tolerance limit. Alternatively, the user device (100) may determine the tolerance limit using a predetermined function or a predetermined learning model based on a predetermined number of tolerance limit elements that have been previously acquired.
[0122] If the user device (100) is unable to determine tolerance limit elements corresponding to some search context factors, the user device (100) may obtain tolerance limits based on the determined tolerance limit elements, or may obtain tolerance limits by applying default values to tolerance limit elements that are not determined. If the values of all tolerance limit elements are not determined, the user device (100) may determine a predetermined value as the tolerance limit.
[0123] Referring again to FIG. 7, at S730, the user device (100) may obtain search conditions for a search based on the determined tolerance limit. Search conditions refer to conditions that may qualitatively or quantitatively affect search results when the user device (100) performs a search.
[0124] The search conditions may be query conditions used in a query generated by the user device (100) in response to a user input for search. The user device (100) may obtain query conditions that affect search time based on the determined tolerance limit. The user device (100) may adaptively change the query conditions based on the determined tolerance limit.
[0125] Query conditions affecting search time may be based on at least one of a search scope in the user's personal knowledge graph and a restriction on knowledge attribute information of each node in the personal knowledge graph. The search scope in the personal knowledge graph may include at least one of the number of nodes to be searched among the nodes constituting the personal knowledge graph and the level of the nodes in the personal knowledge graph. For example, the user device (100) may adjust the number of nodes to be searched or limit the search to nodes of a specific level, depending on a tolerance limit. The restriction on knowledge attribute information of each node in the personal knowledge graph may include the specification of at least one piece of knowledge attribute information from a list of knowledge attribute information defined for each node's class. For example, the user device (100) may, depending on a tolerance limit, limit the search to nodes where a given knowledge attribute information value is a specific value (for example, in the case of photos, photos taken during a specific period or at a specific location, or photos containing a specific object).
[0126] FIG. 10 is a diagram illustrating an example of a query condition affecting search time according to one embodiment of the present disclosure.
[0127] Referring to FIG. 10, an example of a query condition used for a search when a user device (100) searches for content stored in the user device (100) based on a user input is illustrated. As illustrated in FIG. 10, the query condition may be a predetermined value corresponding to a query method, but is not limited thereto.
[0128] In Figure 10, a query condition of "0.1" indicates that photos taken within the past week are searched. A query condition of "0.2" indicates that photos taken within the past year are searched. Since the query condition of "0.2" searches for more photos than the query condition of "0.1," the search may take longer.
[0129] In Figure 10, the query condition of '0.3' means searching not only photos taken within the past month but also content saved in the calendar. Compared to the simple search with query conditions of '0.1' and '0.2', this is a complex search that searches multiple types of content, so the search may take longer. The query condition of '0.4' means searching not only photos taken within the past few years but also content saved in the calendar. Compared to the query condition of '0.3', the query condition of '0.4' searches for content created over a longer period of time, so the search may take longer. The query condition of '0.5' is a full search that does not place restrictions on the search target or period, so the search may take the longest.
[0130] Accordingly, the user device (100) can obtain a query condition that is closer to the query condition of '0.1' as the tolerance limit is lower, and can obtain a query condition that is closer to the query condition of '0.5' as the tolerance limit is higher. The user device (100) can apply the query condition that is closest to the value of the determined tolerance limit to the query.
[0131] The search condition may be a search environment condition including the allocation of hardware resources of the user device (100) used for the search. The user device (100) may be equipped with limited hardware resources such as processing operation modules or memory used for performing the search. Therefore, for efficient use of hardware resources, the user device (100) may obtain search environment conditions including the allocation of hardware resources of the user device (100) used for the search based on a determined tolerance limit. The user device (100) may flexibly and dynamically change the search environment conditions based on the determined tolerance limit. The user device (100) may allocate more processing operation modules and / or memory as the tolerance limit value decreases, and the user device (100) may allocate fewer processing operation modules and / or memory as the tolerance limit value increases.
[0132] Referring back to FIG. 7, in S740, the user device (100) can provide search results according to acquired search conditions. The user device (100) can perform a search according to acquired search conditions. For example, the user device (100) can perform a search according to acquired query conditions. The user device (100) can perform a search according to acquired search environment conditions. The user device (100) can perform a search according to acquired query conditions and search environment conditions. After performing a search, the user device (100) can provide the search results to the user.
[0133] FIG. 11 is a detailed flowchart illustrating a process for providing search results according to one embodiment of the present disclosure.
[0134] Referring to FIG. 11, in S1110, the user device (100) can perform a search according to search conditions. The user device (100) can filter from a node searched in the personal knowledge graph to a hop node at a predetermined distance, or extract search results in a manner based on the user's usage pattern or preference.
[0135] In S1120, the user device (100) can perform clustering of search results by knowledge attribute type. For example, if the types of knowledge attribute information are place, time, person, and topic, the knowledge attribute information of all nodes included in the search results can be checked, and the search results can be clustered by each type.
[0136] In S1130, the user device (100) can extract a predetermined number of knowledge attribute information categories for each clustered knowledge attribute type. The user device (100) can perform N categorizations based on the knowledge attribute information of instances for each clustered knowledge attribute type, and then extract the top K knowledge attribute information categories so as to obtain the highest information gain. (At this time, N is greater than or equal to K.) The user device (100) can categorize the knowledge attribute information of each instance into N representative knowledge attribute information. For example, the user device (100) can categorize instances for each clustered knowledge attribute type into N representative knowledge attribute information in a bottom-up manner that merges from the knowledge attribute distinguished at the lowest level upwards, or in a top-down manner that performs an operation and distinguishes by each representative knowledge attribute defined in advance. Thereafter, the user device (100) can extract the top K knowledge attribute information categories based on the relevance to the search term, knowledge attribute ranking, etc. Accordingly, nodes at unnecessary specificity levels are pruned, only nodes at the desired level are provided as search results, and only the top K knowledge attribute information categories are selected, thereby resolving the limited display space issue of the user device (100) while providing search results that maximize information gain to the user.
[0137] In S1140, the user device (100) may provide a predetermined number of knowledge attribute information categories for each knowledge attribute type and additional information for each knowledge attribute information category. The additional information for each knowledge attribute information category may be the number of instances belonging to the corresponding category.
[0138] FIG. 12 is a block diagram illustrating a user device according to one embodiment of the present disclosure.
[0139] FIG. 13 is a block diagram illustrating the configuration and operation of a user device according to one embodiment of the present disclosure.
[0140] Referring to FIGS. 12 and 13, the user device (100) may include, but is not limited to, a memory (110) and a processor (120), and general-purpose configurations may be further added. For example, as illustrated in FIG. 13, the user device (100) may further include, in addition to the memory (110) and the processor (120), a sensing unit (130), a communication unit (140), and an input / output unit (150). Hereinafter, each configuration will be described in detail with reference to FIGS. 12 and 13.
[0141] The memory (110) can store a program for processing and controlling the processor (120), and can store data and information input to or generated from the user device (100). The memory (110) can store instructions, data structures, and program codes that can be read by the processor (120). Operations performed by the processor (120) can be implemented by executing instructions or program codes stored in the memory (110).
[0142] The memory (110) may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), and may include a non-volatile memory including at least one of a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk, and a volatile memory such as a RAM (Random Access Memory) or an SRAM (Static Random Access Memory).
[0143] The memory (110) can store one or more instructions and / or programs that control the user device (100) to train a neural network model or use a neural network model.
[0144] The processor (120) can control operations or functions so that the user device (100) can perform tasks by executing instructions or programmed software modules stored in the memory (110). The processor (120) can be composed of hardware components that perform arithmetic, logic, and input / output operations and signal processing. The processor (120) can control the overall operations of the user device (100) by executing one or more instructions stored in the memory (110). The processor (120) can control a sensing unit (130), a communication unit (140), and an input / output unit (150) including at least one sensor by executing programs stored in the memory (110).
[0145] The processor (120) may include various processing circuits and / or multiple processors. For example, the term “processor” as used herein, including in the claims, may include various processing circuits, including at least one processor. “At least one processor” may be individually and / or collectively configured to perform various functions described herein. As used herein, “processor,” “at least one processor,” and “one or more processors” may be configured to perform multiple functions. However, these terms encompass, without limitation, situations where one processor performs some of the functions and other processor(s) perform other parts of the functions, and situations where a single processor may perform all of the functions. Furthermore, “at least one processor” may include a combination of processors that perform various functions of the disclosed functions in a distributed manner. “At least one processor” may execute program instructions to achieve or perform various functions.
[0146] The processor (120) may be configured with at least one of, for example, a central processing unit, a microprocessor, a graphic processing unit, an application specific integrated circuits (ASICs), a digital signal processor (DSPs), a digital signal processing device (DSPDs), a programmable logic device (PLDs), a field programmable gate array (FPGAs), an application processor, a neural processing unit, or an artificial intelligence processor designed with a hardware structure specialized for processing an artificial intelligence model, but is not limited thereto. Each processor constituting the processor (120) may be a dedicated processor for performing a predetermined function.
[0147] An artificial intelligence (AI) processor can perform calculations and control to process tasks set for a user device (100) to perform using an artificial intelligence (AI) model. The AI processor may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as part of a general-purpose processor (e.g., CPU or application processor) or a graphics-only processor (e.g., GPU) and mounted on the user device (100).
[0148] The sensing unit (130) may include a plurality of sensors configured to detect information about the surrounding environment of the user device (100). For example, the sensing unit (130) may include, but is not limited to, a camera (131), a temperature / humidity sensor (132), an infrared sensor (133), a pressure sensor (134), a position sensor (135), a gyroscope sensor (136), etc. The function of each sensor can be intuitively inferred by those skilled in the art from its name, and thus is briefly described below.
[0149] The camera (131) may include a stereo camera, a mono camera, a wide-angle camera, an around-view camera, or a 3D vision sensor. The lidar sensor (132) may detect the distance to an object and various physical properties by shining a laser on the target. The temperature / humidity sensor (132) may measure the temperature or humidity of the location where the user device (100) is located. The infrared sensor (133) may be either an active infrared sensor that detects changes by emitting infrared rays and blocking the light, or a passive infrared sensor that does not have a light emitter and only detects changes in infrared rays received from the outside. The barometric pressure sensor (134) may measure the barometric pressure of the location where the user device (100) is located. The location sensor (135) may detect the location of the user device (100). For example, the location sensor (135) may be a global positioning system (GPS). The gyroscope sensor (136) may detect angular velocity. The gyro sensor (136) can be used to measure the position of the user device (100) and set the moving direction of the user device (100).
[0150] The communication unit (140) may include one or more components that enable the user device (100) to communicate with an external device, such as a server or other electronic device. For example, the communication unit (140) may include, but is not limited to, a short-range wireless communication unit (141), a mobile communication unit (142), etc.
[0151] The short-range wireless communication unit (141) may include, but is not limited to, a Bluetooth communication unit, a BLE (Bluetooth Low Energy) communication unit, a near field communication unit, a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an Ant+ communication unit, a WFD (Wi-Fi Direct) communication unit, a UWB (ultra wideband) communication unit, an infrared (IrDA, infrared Data Association) communication unit, a microwave (uWave) communication unit, etc.
[0152] The mobile communication unit (142) transmits and receives wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signals may include various types of data, such as voice call signals, video call signals, or text / multimedia message transmission and reception.
[0153] The input / output unit (150) may include an input unit (151) and an output unit (153). The input / output unit (150) may be a separate input unit (151) and an output unit (153), or may be an integrated unit, such as a touch screen. The input / output unit (150) may receive input information from a user and provide output information to the user.
[0154] The input unit (151) may refer to a means for obtaining a user's input for controlling the user device (100). For example, the input unit (151) may be a key pad, a touch panel (contact electrostatic capacitance type, pressure resistive film type, infrared detection type, surface ultrasonic conduction type, integral tension measurement type, piezo effect type, etc.), a microphone, etc. In addition, the input unit (151) may include, but is not limited to, a gaze tracking sensor, a jog wheel, a jog switch, etc.
[0155] The output unit (153) can output an audio signal, a video signal, or a vibration signal, and the output unit (153) can include a display unit, an audio output unit, and a vibration motor. The display unit can display information processed in the user device (100). For example, the display unit can display a user interface for receiving a user's operation. When the display unit and the touchpad are configured as a touch screen in a layered structure, the display unit can be used as an input device in addition to an output device. The display unit can include at least one of a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a 3D display. Depending on the implementation form of the user device (100), the user device (100) can include two or more display units. The audio output unit can output audio data stored in the memory (110). The audio output unit can output an audio signal related to a function performed in the user device (100). The audio output section may include a speaker, a buzzer, etc.
[0156] According to one embodiment of the present disclosure, a user device (100) includes a memory (110) storing at least one instruction and at least one processor (120) operatively connected to the memory (110) to execute at least one instruction. The processor (120) may execute at least one instruction to load and execute a command or code for a given module. According to one embodiment, the processor (120) may execute at least one instruction to load and execute a command or code for a user intent analysis module, a tolerance limit determination module, a search condition determination module, and a search result provision module.
[0157] According to one embodiment of the present disclosure, the processor (120) of the user device (100) may execute at least one instruction to determine the user's search context based on the user's input and contextual information for the search. According to one embodiment, the processor (120) may further utilize common sense or factual knowledge in addition to the user's input and contextual information to determine the user's search context.
[0158] The user's input may be in the form of text, voice, or gestures, but is not limited thereto. The user may input a search word or a search command in the form of a sentence for searching through a user interface or microphone provided in the input / output unit (150) of the user device (100). The user may provide the user's input for searching to the user device (100) using a predefined gesture or action. According to one embodiment, the processor (120) may determine keywords, meanings, temporal constraints, spatial constraints, etc. from the user's input through at least one analysis model, such as a natural language processing model, a voice analysis model, a gesture analysis model, etc.
[0159] Contextual information is information about the status, conditions, environment, etc., of a user device (100) when providing a service. For example, when a user device (100) performs a search and provides a certain service, contextual information may include information about the user, time information, location information, and other sensing information. According to one embodiment, the processor (120) may obtain contextual information through various databases, such as a personal knowledge graph or a knowledge graph storing general knowledge, or through various types of sensors.
[0160] According to one embodiment, the processor (120) may determine a plurality of search context factors forming a user's search context from the user's input and context information. The user's search context may be formed through a plurality of search context factors, and each search context factor may be inferred or determined from at least one of the user's input and context information. The processor (120) may determine a plurality of search context factors forming the user's search context based on at least one of extracted keywords, inferred meanings, and search-related constraints from the user's input, and at least one of information about the user, time information, location information, and sensing information acquired from the user device, which are collected as context information.
[0161] The processor (120) may execute at least one instruction to determine a tolerance level representing the user's tolerance level based on the determined user search context. The tolerance level is a predetermined indicator for search. A lower tolerance level provides faster and more immediate search results, while a higher tolerance level provides more search results at the expense of time. The tolerance level may be determined differently depending on the user's search context. The tolerance level may be determined based on multiple tolerance level factors.
[0162] According to one embodiment, the processor (120) may obtain a tolerance limit based on a plurality of tolerance limit elements corresponding to a plurality of search context factors. The processor (120) may determine a tolerance limit element corresponding to each search context factor for each search context factor, and determine a tolerance limit based on all determined factor limit elements.
[0163] According to one embodiment, when a first search context factor exists, the processor (120) may determine a first tolerance limit element corresponding to the first search context factor. Depending on the first search context factor, the processor (120) may determine a value of the first tolerance limit element to be low or high. When a second search context factor exists, the processor (120) may determine a second tolerance limit element corresponding to the second search context factor. Depending on the second search context factor, the processor (120) may determine a value of the second tolerance limit element to be low or high. In this manner, the processor (120) may determine an M-th tolerance limit element corresponding to an M-th search context factor. Depending on the M-th search context factor, the processor (120) may determine a value of the M-th tolerance limit element to be low or high.
[0164] According to one embodiment, the processor (120) may obtain the tolerance limit according to the output value of a predetermined function or a predetermined learning model that takes at least one of a plurality of tolerance limit elements as an input. The predetermined function may be a function that outputs a certain value through a predetermined operation among the values of the tolerance limit elements or selects a certain value according to a predetermined rule. Alternatively, the predetermined function may be a function that obtains an average, such as an arithmetic mean, a harmonic mean, a geometric mean, a weighted mean, etc., of the values of the tolerance limit elements, or that outputs a minimum or maximum value. Alternatively, the predetermined function may be a function that takes at least one of the values of the tolerance limit elements as an input and outputs a certain operation result. The predetermined learning model may be a tolerance limit determination model in the form of a deep learning model or a machine learning model that takes at least one of the values of the tolerance limit elements as an input.
[0165] In one embodiment, if the processor (120) is unable to determine tolerance limit elements corresponding to some search context factors, the processor (120) may obtain tolerance limits based on the determined tolerance limit elements, or may obtain tolerance limits by applying default values to tolerance limit elements that are not determined. If the processor (120) is unable to determine values for all tolerance limit elements, the processor (120) may determine a predetermined value as the tolerance limit.
[0166] The processor (120) may execute at least one instruction to obtain search conditions for a search based on the determined tolerance limit. The search conditions refer to conditions that may qualitatively or quantitatively affect the search results when the processor (120) performs a search.
[0167] According to one embodiment of the present disclosure, the search condition may be a query condition used in a query generated by the processor (120) in response to a user input for a search. The processor (120) may obtain a query condition that affects the search time based on the determined tolerance limit. The processor (120) may adaptively change the query condition based on the determined tolerance limit. The query condition that affects the search time may be based on at least one of a search scope in the user's personal knowledge graph and a limitation of knowledge attribute information of each node of the personal knowledge graph. The search scope in the personal knowledge graph may include at least one of the number of nodes to be searched among the nodes constituting the personal knowledge graph and the level of the nodes in the personal knowledge graph. For example, the processor (120) may adjust the number of nodes to be searched or limit the search to nodes of a specific level based on the tolerance limit. The limitation of the knowledge attribute information of each node of the personal knowledge graph may include the specification of at least one piece of knowledge attribute information from a list of knowledge attribute information defined for each class of each node. For example, the processor (120) may limit the search target to nodes where the value of a given knowledge attribute information is a specific value, depending on the tolerance limit.
[0168] According to one embodiment of the present disclosure, the search condition may be a search environment condition including the allocation of hardware resources of the user device (100) used for the search. The user device (100) may be equipped with limited hardware resources such as processing operation modules or memory used for performing the search. Therefore, for efficient use of hardware resources, the processor (120) may obtain search environment conditions including the allocation of hardware resources of the user device (100) used for the search based on a determined tolerance limit. The processor (120) may flexibly and dynamically change the search environment conditions based on the determined tolerance limit. The processor (120) may allocate more processing operation modules and / or memory as the tolerance limit value decreases, and the processor (120) may allocate fewer processing operation modules and / or memory as the tolerance limit value increases.
[0169] The processor (120) may execute at least one instruction to provide search results according to acquired search conditions. According to one embodiment, the processor (120) may perform a search according to acquired search conditions. For example, the processor (120) may perform a search according to acquired query conditions. The processor (120) may perform a search according to acquired search environment conditions. The processor (120) may perform a search according to acquired query conditions and search environment conditions. After performing the search, the processor (120) may provide the search results to the user.
[0170] According to one embodiment, the processor (120) can perform a search according to search conditions. The processor (120) can filter from a node searched in the personal knowledge graph to a hop node at a predetermined distance, or extract search results in a manner based on the user's usage patterns or preferences. The processor (120) can perform clustering on the search results by knowledge attribute type. The processor (120) can check the knowledge attribute information of all nodes included in the search results and cluster the search results by each type.
[0171] According to one embodiment, the processor (120) can extract a predetermined number of knowledge attribute information categories for each clustered knowledge attribute type. The processor (120) can perform N categorizations based on the knowledge attribute information of instances for each clustered knowledge attribute type, and then extract the top K knowledge attribute information categories so as to obtain the highest information gain (where N is greater than or equal to K). The processor (120) can categorize the knowledge attribute information of each instance into N representative knowledge attribute information items. The processor (120) can categorize instances for each clustered knowledge attribute type into N representative knowledge attribute information items. Thereafter, the processor (120) can extract the top K knowledge attribute information categories based on the relevance to the search term, the knowledge attribute ranking, etc.
[0172] According to one embodiment, the processor (120) may provide a predetermined number of knowledge attribute information categories for each knowledge attribute type and additional information for each knowledge attribute information category. The additional information for each knowledge attribute information category may be the number of instances belonging to the corresponding category.
[0173] Embodiments of the present disclosure may also be implemented in the form of a recording medium containing computer-executable instructions, such as program modules, executed by a computer. Computer-readable media may be any available media that can be accessed by a computer, and include both volatile and nonvolatile media, removable and non-removable media. Computer-readable media may also include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media may typically include computer-readable instructions, data structures, or other data in a modulated data signal, such as program modules.
[0174] Additionally, a computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory storage medium" simply means a tangible device that does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is permanently stored in the storage medium and cases where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.
[0175] According to one embodiment, a method according to one embodiment of the present disclosure may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0176] According to one embodiment of the present disclosure, a computer-readable recording medium is provided, which records a program for executing a method for constructing a personal knowledge graph in the user device, a method for providing a service using the personal knowledge graph, or a method for providing search results based on a user's search context.
[0177] According to one embodiment of the present disclosure, a method for providing search results based on a user's search context is provided. The method for providing search results based on the user's search context may include a step (S710) of determining the user's search context based on the user's input and contextual information for a search. Furthermore, the method for providing search results based on the user's search context may include a step (S720) of determining a tolerance limit indicating the degree of user tolerance based on the determined user's search context. Furthermore, the method for providing search results based on the user's search context may include a step (S730) of obtaining search conditions for a search based on the determined tolerance limit. Furthermore, the method for providing search results based on the user's search context may include a step (S740) of providing search results according to the obtained search conditions.
[0178] Additionally, according to one embodiment of the present disclosure, the step of determining the user's search context (S710) may include a step of determining a plurality of search context factors that form the user's search context from the user's input and contextual information. Furthermore, the step of determining the tolerance limit (S720) may include a step of obtaining the tolerance limit based on a plurality of tolerance limit elements corresponding to the determined plurality of search context factors.
[0179] In addition, the step (S710) of determining the user's search context may include a step of determining a plurality of search context factors based on at least one of keywords extracted from the user's input, inferred meaning, and search-related constraints, and at least one of information about the user, time information, location information, and sensing information acquired from the user device (100) collected as contextual information.
[0180] In addition, the step of determining the tolerance limit (S720) may include a step of obtaining the tolerance limit according to an output value of a predetermined function or a predetermined learning model that takes at least one of a plurality of tolerance limit elements as an input.
[0181] Additionally, according to one embodiment of the present disclosure, the step of obtaining search conditions (S730) may include a step of obtaining query conditions that affect search time based on the determined tolerance limit. Furthermore, the step of providing search results (S740) may include a step of performing a search based on the query conditions.
[0182] Additionally, query conditions affecting search time may be based on at least one of a search scope in the user's personal knowledge graph and a limitation of knowledge attribute information of each node in the personal knowledge graph.
[0183] Additionally, the search scope may include at least one of the number of nodes to be searched among the nodes constituting the personal knowledge graph and the level of the node in the personal knowledge graph. The limitation of the knowledge attribute information of each node may include the specification of at least one knowledge attribute information from the list of knowledge attribute information defined for each node's class.
[0184] Additionally, the step of acquiring search conditions (S730) may further include a step of acquiring search environment conditions, including allocation of hardware resources of the user device (100) used for the search, based on the determined tolerance limit. The step of providing search results (S740) may further include a step of performing a search under the acquired search environment conditions.
[0185] Additionally, according to one embodiment of the present disclosure, the step (S740) of providing search results may include a step (S1110, S1120) of performing clustering on search results according to search conditions by knowledge attribute type. Additionally, the step (S740) of providing search results may include a step (S1130, S1140) of providing a predetermined number of upper knowledge attribute information categories and additional information for each knowledge attribute information category by clustered knowledge attribute type.
[0186] According to one embodiment of the present disclosure, a computer-readable recording medium having recorded thereon a program for executing a method for providing search results based on a search context of the user is provided.
[0187] According to one embodiment of the present disclosure, a user device (100) is provided that provides search results based on a user's search context. The user device (100) may include a memory (110) storing at least one instruction and at least one processor (120) operatively connected to the memory (110) and executing at least one instruction. In addition, the at least one processor (120) may execute at least one instruction to determine a user's search context based on a user's input and contextual information for a search. In addition, the at least one processor (120) may execute at least one instruction to determine a tolerance limit indicating a degree of user tolerance based on the determined user's search context. In addition, the at least one processor (120) may execute at least one instruction to obtain a search condition for a search based on the determined tolerance limit. In addition, the at least one processor (120) may execute at least one instruction to provide a search result according to the obtained search condition.
[0188] Additionally, according to one embodiment of the present disclosure, at least one processor (120) may execute at least one instruction to determine a plurality of search context factors that form a user's search context from the user's input and contextual information. Furthermore, at least one processor (120) may execute at least one instruction to obtain a tolerance limit based on a plurality of tolerance limit elements corresponding to the determined plurality of search context factors.
[0189] Additionally, at least one processor (120) may execute at least one instruction to determine a plurality of search context factors based on at least one of extracted keywords, inferred meanings, and search-related constraints from a user's input and at least one of information about the user, time information, location information, and sensing information acquired from a user device (100) collected as contextual information.
[0190] Additionally, at least one processor (120) can execute at least one instruction to obtain the tolerance limit according to an output value of a predetermined function or a predetermined learning model that takes at least one of a plurality of tolerance limit elements as an input.
[0191] Additionally, according to one embodiment of the present disclosure, at least one processor (120) may execute at least one instruction to obtain a query condition affecting a search time based on a determined tolerance limit, and perform a search according to the query condition.
[0192] Additionally, query conditions affecting search time may be based on at least one of a search scope in the user's personal knowledge graph and a limitation of knowledge attribute information of each node in the personal knowledge graph.
[0193] Additionally, the search scope may include at least one of the number of nodes to be searched among the nodes constituting the personal knowledge graph and the level of the node in the personal knowledge graph. Furthermore, the limitation of the knowledge attribute information of each node may include at least one specific knowledge attribute information from the list of knowledge attribute information defined for each node's class.
[0194] Additionally, at least one processor (120) may execute at least one instruction to obtain search environment conditions including allocation of hardware resources of the user device (100) used for search based on the determined tolerance limit, and perform a search under the obtained search environment conditions.
[0195] Additionally, according to one embodiment of the present disclosure, at least one processor (120) may execute at least one instruction to perform clustering by knowledge attribute type on the search results according to search conditions. Additionally, at least one processor (120) may execute at least one instruction to provide a predetermined number of knowledge attribute information categories and additional information for each category for each clustered knowledge attribute type.
[0196] Additionally, according to one embodiment of the present disclosure, the search may be a search utilized in a personalized artificial intelligence service using a personal knowledge graph.
[0197] The above description of the present disclosure is provided for illustrative purposes only, and those skilled in the art will readily appreciate that modifications to other specific forms can be made without altering the technical spirit or essential features of the present disclosure. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, components described as being single may be implemented in a distributed manner, and similarly, components described as being distributed may be implemented in a combined manner.
[0198] It will be appreciated that the various embodiments of the present disclosure, as described in the claims and detailed description of the specification, may be implemented in the form of hardware, software, or a combination of hardware and software.
[0199] Such software may be stored on a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium stores one or more programs (software modules) containing instructions that, when executed by one or more processors of the electronic device, cause the electronic device to perform the methods of the present disclosure.
[0200] Such software may be stored in the form of volatile or non-volatile storage, such as a storage device such as read-only memory (ROM), or memory such as random access memory (RAM), memory chips, devices, or integrated circuits, or optically or magnetically readable media such as compact disks (CDs), digital versatile discs (DVDs), magnetic disks, or magnetic tapes, whether erasable or rewritable. The storage device and storage medium may be understood to be various embodiments of non-transitory machine-readable storage suitable for storing a program or programs including instructions that, when executed, implement various embodiments of the present disclosure. Accordingly, various embodiments provide a program including code for implementing an apparatus or method as recited in any of the claims of this specification, and a non-transitory machine-readable storage storing such a program.
[0201] While the present disclosure has been illustrated and described with reference to various embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present disclosure as defined by the claims and their equivalents.
Claims
1. A step of determining a user's search context based on the user's input and situation information for search (S710); A step (S720) of determining a tolerance limit indicating the degree to which the user can tolerate from the search context of the user determined above; A step (S730) of obtaining search conditions for the search based on the determined tolerance limit; and A step (S740) of providing search results according to the above-obtained search conditions; A method for providing search results based on a user's search context, including:
2. In paragraph 1, The step (S710) of determining the search context of the user is as follows: A step of determining a plurality of search context factors forming a search context of the user from the user's input and the situation information, The step (S720) of determining the above tolerance limit is: A method comprising the step of obtaining the tolerance limit based on a plurality of tolerance limit elements corresponding to the plurality of search context factors.
3. In paragraph 1 or 2, The step (S710) of determining the search context of the user is as follows: A method comprising a step of determining the plurality of search context factors based on at least one of keywords extracted from the user's input, inferred meaning, and restrictions on the search, and at least one of information about the user, time information, location information, and sensing information acquired from the user device (100) collected as the context information.
4. In any one of paragraphs 1 to 3, The step (S720) of determining the above tolerance limit is: A method comprising a step of obtaining the tolerance limit according to an output value of a predetermined function or a predetermined learning model that takes at least one of the plurality of tolerance limit elements as an input.
5. In any one of paragraphs 1 to 4, The step (S730) of obtaining the above search conditions is: Based on the determined tolerance limit, a step of obtaining a query condition that affects the search time is included. The step (S740) of providing the above search results is: A method comprising the step of performing the search according to the query condition.
6. In any one of paragraphs 1 to 5, The query conditions that affect the above search time are: A method based on at least one of a search scope in the personal knowledge graph of the user and a limitation of knowledge attribute information of each node of the personal knowledge graph.
7. In any one of paragraphs 1 to 6, The above search scope is, The number of nodes to be searched among the nodes constituting the personal knowledge graph and at least one of the levels of the nodes in the personal knowledge graph are included, The limitations of the knowledge attribute information of each node above are: A method comprising including at least one specific piece of knowledge attribute information from a list of knowledge attribute information defined in the class of each node above.
8. In any one of paragraphs 1 to 7, The step (S730) of obtaining the above search conditions is: Based on the determined tolerance limit, the method further includes a step of obtaining search environment conditions including allocation of hardware resources of the user device (100) used for the search, The step (S740) of providing the above search results is: A method further comprising the step of performing the search under the above search environment conditions.
9. In any one of paragraphs 1 to 8, The step (S740) of providing the above search results is: A step (S1110, S1120) of performing clustering by knowledge attribute type on the search results according to the search conditions; and A step (S1130, S1140) of providing a predetermined number of knowledge attribute information categories and additional information for each knowledge attribute information category for each of the above clustered knowledge attribute types; A method comprising:
10. In one or more non-transitory computer-readable storage media, One or more computer programs stored in the computer-readable storage medium, when individually or jointly executed by one or more processors of the electronic device, cause the electronic device to: A step of determining the user's search context based on the user's input and context information for search; A step of determining a tolerance limit indicating the degree to which the user can tolerate from the determined search context of the user; A step of obtaining search conditions for the search based on the determined tolerance limit; and A step of providing search results according to the above-obtained search conditions; A computer-readable storage medium containing computer-executable instructions that instruct a computer to perform a task.
11. A memory (110) including one or more storage media storing one or more computer programs; and comprising one or more processors (120) communicatively connected to the above memory, The one or more computer programs, when individually or collectively executed by the one or more processors (120), cause the user device (100) to: A user device (100) comprising computer-executable instructions for determining a user's search context based on a user's input and context information for a search, determining a tolerance limit indicating a degree of tolerance that the user can tolerate from the determined user's search context, obtaining search conditions for the search based on the determined tolerance limit, and providing search results according to the obtained search conditions.
12. In paragraph 11, The one or more computer programs, when individually or collectively executed by the one or more processors (120), cause the user device (100) to: A user device (100) further comprising computer-executable instructions for determining a plurality of search context factors forming a search context of the user from the user's input and the situation information, and obtaining the tolerance limit based on a plurality of tolerance limit elements corresponding to the determined plurality of search context factors.
13. In paragraph 11 or 12, The one or more computer programs, when individually or collectively executed by the one or more processors (120), cause the user device (100) to: A user device (100) further comprising computer-executable instructions for obtaining query conditions affecting search time based on the determined tolerance limit and performing the search according to the query conditions.
14. In any one of paragraphs 11 to 13, The one or more computer programs, when individually or collectively executed by the one or more processors (120), cause the user device (100) to: A user device (100) further comprising computer-executable instructions for performing clustering by knowledge attribute type on the search results according to the search conditions, and providing a predetermined number of knowledge attribute information categories and additional information for each category by the clustered knowledge attribute type.
15. In any one of paragraphs 11 to 14, The above search is, A user device (100) that is used for a search in a personalized artificial intelligence service using a personal knowledge graph.
Citation Information
Patent Citations
Information providing device, information provision method and program for information provision
JP2006040266A
System, apparatus and method for providing a weight tosearch engines according to situation of user andcomputer readable medium processing the method
KR1020070009095A
Knowledge index system and method thereof
KR1020140145018A
Search system, search method, and program
US20170083574A1
KR20200042739A