The present disclosure relates to inferring a comparative advantage of multiple knowledge representations.
A conventional natural language-based query search system structuralizes a natural language graph through semantic interpretation of the natural language, and uses a method of searching, in a knowledge database, a graph with high similarity to the structuralized natural language graph, for example, a graph that is of the same shape as, and is semantically similar to, the structuralized natural language graph.
In other words, the conventional query search system performs a query search by calculating a graph similarity value by comparing the graph stored in the knowledge database to the structuralized natural language graph.
A conventional query search system performs a one-to-one mapping between at least one graph searched from the knowledge database and the structuralized natural language graph or a comparative recursion in the form of a sentence and thus requires multiple operations, causing a delay in search.
Also, a conventional query search system performs a processing method that is dependent on the graph structure, i.e., a method of matching and processing graphs. Thus, when the natural language is complicated or the structure of the graph stored in the knowledge database is complicated, the accuracy in query search is reduced.
The solutions described and recited herein solve the above-described problems of the prior art, generating a query knowledge graph that includes a subject keyword, an object keyword, and a query type of a natural language that are extracted from the natural language. Also, the solutions described and recited herein include searching a plurality of query knowledge graphs that include the subject keyword extracted from the natural language and deriving information relevant to the object keyword of the natural language from relation keyword-based map data that is generated based on information mapped to each of the plurality of searched query knowledge graphs. Further, the solutions described and recited herein include providing a query result for the natural language based on the derived information and the query type of the natural language.
The problems to be solved by the present disclosure are not limited to the above-described problems. There may be other problems to be solved by the present disclosure.
According to an aspect of the present disclosure, a server that provides a response to a natural language-based query includes a query knowledge graph generation unit that extracts a subject keyword, an object keyword, and a query type of a natural language from the natural language and generates a query knowledge graph including the subject keyword, the object keyword, and the query type; a query knowledge graph search unit that searches a plurality of query knowledge graphs including the subject keyword; an information deriving unit that derives information relevant to the object keyword from map data based on the subject keyword of each of the plurality of searched query knowledge graphs; and a search result providing unit that provides a query result for the natural language based on the derived information and the query type.
According to another aspect of the present disclosure, a method for providing a response to a natural language-based query by a server includes extracting a subject keyword, an object keyword, and a query type of a natural language from the natural language; generating a query knowledge graph including the subject keyword, the object keyword, and the query type; searching a plurality of query knowledge graphs including the subject keyword; deriving information relevant to the object keyword from map data based on the subject keyword of each of the plurality of searched query knowledge graphs; and providing a query result for the natural language based on the derived information and the query type.
According to the other aspect of the present disclosure, a computer program that is stored in a storage medium and includes a sequence of instructions for providing a response to a natural language-based query, wherein the computer program includes a sequence of instructions that, when executed by a computing device, causes the computing device to extract a subject keyword, an object keyword, and a query type of a natural language from the natural language; to generate a query knowledge graph including the subject keyword, the object keyword, and the query type; to search a plurality of query knowledge graphs including the subject keyword; to derive information relevant to the object keyword from map data based on the subject keyword of each of the plurality of searched query knowledge graphs; and to provide a query result for the natural language based on the derived information and the query type.
The above-described aspects are provided by way of illustration only and should not be construed as liming the present disclosure. Besides the above-described embodiments, there may be additional embodiments described in the accompanying drawings and the detailed description.
According to any one of the above-described means for solving the problems, a query knowledge graph that includes a subject keyword, an object keyword, and a query type of a natural language, which are extracted from the natural language, is generated. Also, a plurality of query knowledge graphs that include the subject keyword extracted from the natural language is searched and information relevant to the object keyword of the natural language from relation keyword-based map data that is generated based on information mapped to each of the plurality of searched query knowledge graphs is derived. Further, a query result for the natural language based on the derived information and the query type of the natural language is provided.
The solutions described and recited herein including searching the plurality of query knowledge graphs relevant to the subject keyword when the query knowledge graph corresponding to the natural language is generated and deriving the information relevant to the object keyword of the natural language in the plurality of searched query knowledge graphs, rather than searching a query search result by using the similarity of each knowledge graph. Accordingly, there is no need to calculate all relationships between components of the natural language and convert them into a similar graph.
The solutions described and recited herein significantly reduce the time required for search of a query result for the natural language and also improve the accuracy of query result.
Further, even for natural language that is complicated in structure, the solutions described and recited herein include generating a query knowledge graph having the same structure as the natural language rather than converting the natural language into a graph as it is.
Furthermore, by the solutions described and recited herein, an object keyword may be predicted using ranking data based on user preference even if the object keyword is not included in the natural language, a value corresponding to the predicted object keyword may be derived, and the value may be provided as a query result for the natural language.
Hereafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that the present disclosure may be readily implemented by a person with ordinary skill in the art. However, it is to be noted that the present disclosure is not limited to the embodiments but may be embodied in various other ways. In drawings, parts irrelevant to the description are omitted for the simplicity of explanation, and like reference numerals denote like parts through the whole document.
Throughout the whole document, the terms “connected to” and/or “coupled to” may be used to designate a connection or coupling of one element to another element includes both a case that an element is “directly connected or coupled to” another element and a case that an element is “electronically connected or coupled to” another element via still another element. Further, through the whole document, the term “comprises or includes” and/or “comprising or including” used in the document means that one or more other components, steps, operation and/or existence or addition of elements are not excluded in addition to the described components, steps, operation and/or elements unless context dictates otherwise.
Throughout the whole document, the term “unit” may pertain to a unit implemented by hardware, software, and/or both in combination. Further, one unit may be implemented by two or more pieces of hardware, and two or more units may be implemented by one piece of hardware.
Throughout the whole document, a part of an operation or function described as being carried out by a terminal or device may be carried out by a server connected to the terminal or device. Likewise, a part of an operation or function described as being carried out by a server may be carried out by a terminal or device connected to the server.
Hereafter, the present disclosure will be explained in detail with reference to the accompanying configuration views or process flowcharts.
Referring to
Hereafter, the description for
The query knowledge graph generation unit 100 may extract a subject keyword, an object keyword, and a query type of a natural language from the natural language. Herein, the query type of the natural language may be determined by the query type determination unit 102 based on the number of subject keywords included in the natural language and the presence or absence of an object keyword.
When the natural language includes a single subject keyword and an object keyword, the query type determination unit 102 may determine the query type of the natural language to be a single query. For example, when an example first natural language query “How old is Yeon-ah Kim?” is input by a user, as depicted in
In accordance with one or more other example embodiments, when the natural language includes a plurality of subject keywords and an object keyword, the query type determination unit 102 may determine the query type of the natural language to be a comparative advantage query, by which a comparative operation is performed with regard to the plurality of subject keywords. For example, when an example second natural language query “Who is older, Yeon-ah Kim or Ji-sung Park?” is input by the user, as depicted in
In accordance with one or more other example embodiments, when the natural language includes only a plurality of subject keywords but does not include any object keyword, the query type determination unit 102 may determine the query type of the natural language to be an abstract comparative advantage query. For example, when an example third natural language query “Who is better, Heung-min Son or Ji-sung Park?” is input by the user, as depicted in
Even if the natural language is of various type, the query knowledge graph generation unit 100 may generate a query knowledge graph having the same structure as a graph comparison reference model 20, as depicted in the non-limiting example of
That is, the query knowledge graph generated from the natural language, regardless of the complexity of the natural language, is of the same type as the graph comparison reference model 20. If the natural language is a multi-knowledge comparative query, a reference group of a subject keyword corresponding to multi-knowledge representation may expand, but an object keyword corresponding to a direct target of multi-knowledge representation comparison may be processed as a single flow graph.
At least one subject keyword 201 in the graph comparison reference model 20 may correspond to at least one subject of the input natural language, and the object keyword 203 in the graph comparison reference model 20 may correspond to an object of the input natural language.
The query knowledge graph generation unit 100 may generate a query knowledge graph including a subject keyword, an object keyword, and a query type, which are extracted from a natural language, based on the graph comparison reference model 20.
A conventional query search system is required to understand a natural language and semantically interpret (i.e., understand and interpret a standardized query grammar to query a knowledge database and a SPARQL conversion grammar) in order to search a graph pattern structure identical to the natural language.
However, by the solutions described and recited herein, it possible to generate a query knowledge graph by inserting a subject keyword, an object keyword, and a query type into respective components of the graph comparison reference model 20 without understanding or interpreting a natural language when the subject keyword, the object keyword, and the query type are extracted from the natural language.
For example, for the first natural language query “How old is Yeon-ah Kim?” as depicted in
As a further example, for the second natural language query “Who is older, Yeon-ah Kim or Ji-sung Park?” as depicted in
As yet another example, for the third natural language query “Who is better, Heung-min Son or Ji-sung Park?” as depicted in
The query knowledge graph search unit 110 may search a plurality of query knowledge graphs including the subject keyword.
Referring to
However, the natural language query result search structure (
The map data generation unit 120 may generate subject keyword-based map data including a plurality of relation keywords and values corresponding to the plurality of relation keywords, respectively, based on information mapped to each of the plurality of query knowledge graphs including the subject keyword searched from the first database 150. In this example, the plurality of relation keywords of the map data may correspond to object keywords included in the plurality of searched query knowledge graphs, respectively, and the values corresponding to the plurality of relation keywords, respectively, may be values corresponding to the object keywords included in the plurality of searched query knowledge graphs, respectively.
For example, referring to
The information deriving unit 130 may derive information relevant to the object keyword from relation keyword-based map data based on the information mapped to each of the plurality of searched query knowledge graphs.
For example, again referring to
The search result providing unit 140 may provide a query result for the natural language based on the derived information and the query type. For example, again referring to
When the natural language includes a plurality of subject keywords including a first subject keyword and a second subject keyword, the query knowledge graph search unit 110 may search a plurality of first query knowledge graphs including the first subject keyword and a plurality of second query knowledge graphs including the second subject keyword.
For example, referring to
Referring to
The map data generation unit 120 may generate first map data including a plurality of relation keywords and values corresponding to the plurality of relation keywords, respectively, based on information mapped to each of the plurality of searched first query knowledge graphs, and may generate second map data including a plurality of relation keywords and values corresponding to the plurality of relation keywords, respectively, based on information mapped to each of the plurality of searched second query knowledge graphs.
For example, again referring to
Again referring to
When the query type of the natural language is a comparative advantage query, the information deriving unit 130 may derive information relevant to the object keyword from the generated first map data and may derive information relevant to the object keyword from the generated second map data.
Specifically, when the query type of the natural language is a comparative advantage query, the information deriving unit 130 may derive a first value corresponding to the object keyword from the first map data and may derive a second value corresponding to the object keyword from the second map data.
For example, again referring to
Also, the information deriving unit 130 may detect data 411 including a relation keyword (“born”) relevant to “old,” which is the object keyword of the second natural language, and a value (“1981”) of the relation keyword (“born”) from the second map data 407 generated based on information mapped to each of a plurality of query knowledge graphs including “Ji-sung Park,” which is the second subject keyword of the second natural language, and may derive a second value corresponding to “old,” which is the object keyword, from the value (“1981”) of the relation keyword (“born”).
When the query type of the natural language is a comparative advantage query, the search result providing unit 140 may compare the first value and the second value corresponding to the object keyword of the natural language and derived from the first map data and the second map data, respectively, and may determine predominance among the first value and the second value based on the result of the comparison between the first value and the second value. Further, the search result providing unit 140 may provide a search result for the natural language.
For example, again referring to
When the query type of the natural language is an abstract comparative advantage query (a query in which an object keyword of the natural language is not clear), the information deriving unit 130 may infer a query result for the natural language by using user preference-based ranking data.
Herein, the user preference-based ranking data may be stored and kept in the second database 160. The user preference-based ranking data may be used to determine a comparative advantage (i.e., an abstract comparative advantage) between two knowledge representations without a direct reference to the object keyword in the natural language query. The user preference-based ranking data may be data ranked for a plurality of keywords appearing in a plurality of documents collected by subjects.
For example, referring to
Weights for a plurality of main keywords appearing a predetermined number of times or more in various structured and unstructured data (e.g., SNS data, news data, web documents, etc.) collected by subjects may be important attributes highly relevant to a subject keyword included in a query.
The user preference-based ranking data may be ranked based on a weight for a main keyword calculated through the user preference model 501 after various structured and unstructured data 503 collected by subjects are normalized, and stop words, which may affect the weight, are eliminated from the normalized document through text analysis on the normalized document and then stored in the second database 160.
When the query type of the natural language is an abstract comparative advantage query, the information deriving unit 130 may derive at least one predicted object keyword based on the user preference-based ranking data, derive information relevant to the predicted object keyword from the first map data, and derive information relevant to the predicted object keyword from the second map data.
Again referring to
Then, the information deriving unit 130 may derive a first value corresponding to the selected predicted object keyword from the first map data 413 and may derive a second value corresponding to the selected predicted object keyword from the second map data 415.
The search result providing unit 140 may advantageously compare the derived first and second values and may provide a search result for the natural language.
For example, referring to
Then, the search result providing unit 140 may compare the first value (the number of awards received by Heung-min Son: 17) and the second value (the number of awards received by Ji-sung Park: 25) corresponding to the first predicted object keyword (“awards”) and derived from the first map data 413 and the second map data 415, respectively, and may provide a search result (e.g., “Ji-sung Park has received more awards than Heung-min Son”) for the third natural language.
According to the solutions described and recited herein, even if the third natural language does not include any object keyword, it is possible to derive and infer new knowledge representations from factual grounds including a knowledge database or a query knowledge graph by comparing multi-knowledge, as described above with reference to
Referring to
The user preference-based ranking data ranked by the user preference model 501 may be used to extract a relation attribute of a query knowledge graph. For example, referring to
A person with ordinary skill in the art would understand that each of the query knowledge graph generation unit 100, the query type determination unit 102, the query knowledge graph search unit 110, the map data generation unit 120, the information deriving unit 130, the search result providing unit 140, the first database 150 and the second database 160 can be implemented separately or in combination with one another.
Referring to
In process S803, the natural language-based query result providing server 10 may generate a query knowledge graph including the extracted subject keyword, object keyword, and query type.
In process S805, the natural language-based query result providing server 10 may search a plurality of query knowledge graphs including the subject keyword.
In process S807, the natural language-based query result providing server 10 may derive information relevant to the object keyword from relation keyword-based map data generated based on information mapped to each of the plurality of searched query knowledge graphs.
In process S809, the natural language-based query result providing server 10 may provide a query result for the natural language based on the derived information and the query type.
Although not illustrated in
Although not illustrated in
Although not illustrated in
Although not illustrated in
Although not illustrated in
In the descriptions above, processes S801 through S809 may be divided into additional processes or combined into fewer processes depending on an exemplary embodiment. In addition, some of the processes may be omitted and the sequence of the processes may be changed if necessary.
The embodiments described and recited herein be embodied in a storage medium including instruction codes executable by a computer such as a program module executed by the computer. Besides, the data structure in accordance with the embodiment of the present disclosure can be stored in the storage medium executable by the computer. A computer-readable medium can be any usable medium which can be accessed by the computer and includes all volatile/non-volatile and removable/non-removable media. Further, the computer-readable medium may include computer storage medium. The computer storage medium includes all volatile/non-volatile and removable/non-removable media embodied by a certain method or technology for storing information such as computer-readable instruction code, a data structure, a program module or other data.
The above description of the present disclosure is provided for the purpose of illustration, and it would be understood by a person with ordinary skill in the art that various changes and modifications may be made without changing technical conception and essential features of the present disclosure. Thus, it is clear that the above-described embodiments are illustrative in all aspects and do not limit the present disclosure. For example, each component described to be of a single type can be implemented in a distributed manner. Likewise, components described to be distributed can be implemented in a combined manner.
The scope of the present disclosure is defined by the following claims rather than by the detailed description of the embodiment. It shall be understood that all modifications and embodiments conceived from the meaning and scope of the claims and their equivalents are included in the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2019-0062612 | May 2019 | KR | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2020/006120 | May 2020 | US |
Child | 17456604 | US |