WO2021054514A1 - 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 - Google Patents

지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 Download PDF

Info

Publication number
WO2021054514A1
WO2021054514A1 PCT/KR2019/013713 KR2019013713W WO2021054514A1 WO 2021054514 A1 WO2021054514 A1 WO 2021054514A1 KR 2019013713 W KR2019013713 W KR 2019013713W WO 2021054514 A1 WO2021054514 A1 WO 2021054514A1
Authority
WO
WIPO (PCT)
Prior art keywords
query
knowledge graph
user
entity
natural language
Prior art date
Application number
PCT/KR2019/013713
Other languages
English (en)
French (fr)
Inventor
김성현
양승원
Original Assignee
주식회사 솔트룩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 솔트룩스 filed Critical 주식회사 솔트룩스
Publication of WO2021054514A1 publication Critical patent/WO2021054514A1/ko
Priority to US17/697,614 priority Critical patent/US11960513B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Definitions

  • the present invention relates to a question-answering system, and in detail, to a question-answering system capable of performing a user-customized question-answering (QA) based on a knowledge graph.
  • QA question-answering
  • the present invention is derived from a research conducted by Saltlux Co., Ltd., hosted by the Electronic Components Research Institute as part of the Ministry of Science, ICT, and ICT information communication and broadcasting technology development project. [Research Period: 2018.01.01 ⁇ 2018.12.31., Research management professional institution: Information and Communication Technology Promotion Center, Research project name: Autonomous intelligence digital partner framework and applied R&D, project serial number: 2017-0-00255]
  • the Q&A system analyzes the user's natural language query, analyzes the correct answer type based on the analysis result, and generates a number of correct answer candidates using a document search and knowledge base based on key keywords in the query.
  • the existing Q&A system ranks the correct answer type and constraint information required by the query, and the correct answer candidates most similar to the context of the query, targeting the generated correct answer candidates, inferring the highest priority as the correct answer and performing a response. .
  • An object of the present invention is to provide a user-customized question answering system based on a knowledge graph capable of accurately answering questions.
  • a query response system for achieving the above technical problem includes: a user interface for receiving a query or reply in natural language form from a user through a network and transmitting a reply or reverse query to the user; A natural language understanding unit that performs natural language analysis and query classification for the query; An integrated knowledge graph that stores or manages a knowledge graph composed of multiple relational triples; Using the natural language analysis result of the query, a context knowledge graph having entity knowledge graphs consisting of primary relationship triples extracted from the integrated knowledge graph is generated, and the context knowledge graph using the query classification result for the query A knowledge graph management unit that selects at least one entity knowledge graph from among the entity knowledge graphs that the user has; And a query target ranking unit generating the response or the inverse query to the query from the selected at least one entity knowledge graph.
  • the natural language understanding unit may include a natural language analysis unit that provides a natural language analysis result for the query; And a query classifier for classifying the query by obtaining a property desired from the query by referring to the natural language analysis result of the query.
  • the knowledge graph management unit extracts the entity knowledge graphs consisting of a first-order relationship triple obtained from a natural language analysis result of the query as a subject of each entity of the query, and the entity knowledge graph A context knowledge graph generation unit for generating a context knowledge graph consisting of; And a knowledge graph query unit that selects at least one entity knowledge graph from among entity knowledge graphs of the context knowledge graph by using a property to be obtained from the query, which is a result of query classification for the query. can do.
  • It may further include a user knowledge graph for storing a user entity knowledge graph, which is an entity knowledge graph used to generate the response transmitted to the user, among the selected at least one entity knowledge graph.
  • the query subject ranking unit may generate the response from the selected one entity knowledge graph.
  • the query target ranking unit may determine the presence or absence of the two or more entity knowledge graphs selected in the user entity knowledge graph stored in the selected user knowledge graph.
  • the query target ranking unit may select the two or more entity knowledge graphs as ranking target entity knowledge graphs when there are not all the selected two or more entity knowledge graphs in the user entity knowledge graph stored in the selected user knowledge graph, and the When the response to the query or the inverse query is generated, and there are at least two of the two or more entity knowledge graphs selected in the user entity knowledge graph stored in the selected user knowledge graph, at least two user entity knowledge graphs are generated.
  • the response may be generated from one of the user entity knowledge graphs.
  • the query target ranking unit compares the selected ranking target entity knowledge graphs to determine whether there is a single triple in only one entity knowledge graph, and when the entity knowledge graph having the single triple has one single triple, 1
  • the inverse query is generated from the single triples and the entity knowledge graph having the single triple has two or more single triples, an object having a high frequency or triple relationship in the integrated knowledge graph If the inverse query is generated from single triples with a large number of values, and there is no entity knowledge graph having the single triple, among the overlapping triples of the selected ranking target entity knowledge graphs, the frequency of which exists in the integrated knowledge graph is high or a triple relationship
  • the inverse query can be generated from redundant triples having many objects having a.
  • the query target ranking unit is an object that is the same correct answer for a property to be obtained from the query, which is a result of query classification performed by the natural language understanding unit, among duplicate triples of the selected entity knowledge graphs.
  • an object that is the same correct answer may be generated as the response.
  • Each of the entity knowledge graphs uses the entities of the query obtained from the natural language analysis result of the query as a subject, and establishes a first order relationship that is only up to the relationship with another entity, which is an object. It can be represented as a triple of a subject-property-object structure.
  • the query response system creates a reverse query using a context knowledge graph before providing a response to the query to the user when a response, that is, a correct answer with high reliability, cannot be derived through the user's initial query. It is possible to increase the reliability of the answer provided to the user, that is, the correct answer to a query, by asking a question to a user in the country.
  • Fig. 1 is a block diagram showing a main configuration of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • Fig. 2 is a block diagram showing a main configuration of a natural language understanding unit of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • Fig. 3 is a block diagram showing a main configuration of a knowledge graph management unit of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • FIG. 4 is an exemplary schematic diagram of a context knowledge graph generated in a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a process of performing a query response based on a knowledge graph in a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating an operation of a query target ranking unit in a user-customized question answering system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • a component indicated or described as a single block may be a hardware block or a software block.
  • each of the components may be an independent hardware block that exchanges signals with each other, or may be a software block that is executed in one processor.
  • Fig. 1 is a block diagram showing a main configuration of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • a user-customized question and answer system based on a knowledge graph (1, hereinafter, a question answering system) receives a query in a natural language form from a user 10 through a network 20 and transmits a response. Includes (UI, 100).
  • the network 20 includes a wired Internet service, a local area network (LAN), a broadband communication network (WAN), an intranet, a wireless Internet service, a mobile computing service, a wireless data communication service, a wireless Internet access service, a satellite communication service, a wireless LAN, and Bluetooth. It can include all data that can be sent and received through wired/wireless.
  • the network 20 may be a wireless data communication service such as 3G, 4G, and 5G, a wireless LAN such as Wi-Fi, and Bluetooth.
  • the user interface 100 may provide an interface for accessing the query response system 1 through a terminal used by the user 10 or the like.
  • the user 10 may transmit a reply to a query and a reverse query to the query response system 1 through the user interface 100, and respond to the query provided by the query response system 1 through the user interface 100. Can receive inverse queries and responses.
  • 'question' refers to a question that the user 10 transmits to the question-and-answer system 1 in order for the user 10 to obtain the correct answer from the question-and-answer system 1
  • The'reverse query' refers to a question that the query response system 1 transmits to the user 10 in order to accurately grasp the'query' of the user 10.
  • the'response' refers to the answer that the question and answer system 1 infers as the correct answer for the user 10's query, and the answer that the question and answer system 1 transmits to the user 10 Means, and'reply', that is, a reply to an inverse query means an answer that the user 10 transmits to the query response system 1 with respect to the inverse query received from the query response system 1.
  • the query response system 1 manages the query analyzed by the natural language understanding unit 200 and the natural language understanding unit 200 that allows the user interface 100 to analyze a query in the form of a transmitted natural language, and manages the data server 400 It further includes a module server 300 that generates a response or a reverse query to the query by using ).
  • the natural language understanding unit 200 may include a natural language analysis unit 210 and a query classification unit 220.
  • the natural language analysis unit 210 may provide a natural language analysis result for a query of the user 10 as structured data having a table structure or a tree structure.
  • the structured data that can be provided by the natural language analysis unit 210 may be, for example, RDB (Relation DateBase), CSV (Comma-Seperated Variables), XML (eXtensible Markup Language), JSON (JavaScript Object Notation), or the like, It is not limited to this.
  • the natural language analysis unit 210 may divide the sentences constituting the natural language query of the user 10 into morpheme units, and then perform syntax analysis and entity name analysis on the sentences constituting the query divided into morpheme units. In addition, the natural language analysis unit 210 can generate a concise sentence by removing unnecessary features from the sentences constituting the query, and the intention of a query to which a semantic role is assigned based on the generated concise sentence. ) Classification and domain analysis can be performed, and semantic roles can be assigned (Labeling) for sentences constituting a query. The natural language analysis unit 210 will be described in detail in FIG. 2.
  • the query classification unit 220 classifies the query of the user 10 by referring to the natural language analysis result of the natural language query of the user 10 performed by the natural language analysis unit 210.
  • the query classifier 220 may classify the query of the user 10 and obtain a property to be obtained from the query of the user 10.
  • the property is also called a predicate.
  • the query classifier 220 may classify, for example, that the query'Is Soon-Shin's age?' is to obtain the age property of the person, and the query'What is the height of Mt. Baekdu?' of the object. You can classify it as what you want to get the height property. That is, the query classifier 220 may classify which property to be searched for in a triple of the knowledge graph formed in the form of a subject-property-object. .
  • the module server 300 may include a knowledge graph management unit 310, a query target ranking unit 320, and a natural language generation unit 330.
  • the data server 400 may include an integrated knowledge graph 410 and a user knowledge graph 430.
  • the data server 400 may store the context knowledge graph 420 generated by the knowledge graph management unit 310 with reference to the integrated knowledge graph 410.
  • the knowledge graph management unit 310 may manage and update the integrated knowledge graph 410.
  • the integrated knowledge graph 410 may have a space for storing a knowledge graph built in the query response system 1.
  • the integrated knowledge graph 410 may have a space for storing data in any form, such as NoSQL, a relational database, or a file system.
  • the integrated knowledge graph 410 has one storage device that is logically divided, has a division unit that logically divides one or a plurality of storage devices, or one storage device that is physically divided or one that is logically divided. Can have some of the divisional units of.
  • the integrated knowledge graph 410 is connected through the network 20 with at least one knowledge graph built outside the question answering system 1, and manages at least one knowledge graph built outside the question and answer system. May be a management module. In some other embodiments, the integrated knowledge graph 410 is managed by integrating a space for storing a knowledge graph built inside the question answering system 1 and at least one knowledge graph built outside the question answering system 1 You can have a management module to do it.
  • the knowledge graph refers to a semantic graph, which is a graph representing a semantic graph between entities so as to improve search results by accumulating semantic information from various sources.
  • Semantic information refers to the expression of information about the relationship between resources and resources. That is, the knowledge graph means that semantic information is collected and data is stored in the form of a graph.
  • the knowledge graph may be built using, for example, RDF (Resource Description Framework).
  • RDF Resource Description Framework
  • RDF is a model, language, and grammar for describing (description) properties, characteristics, and relationships of all resources (web pages, images, videos, etc.) with a URI (Uniform Resource Identifier), and is a graph-type data model.
  • RDF expresses the relationship between two resources, the subject and the object, and a property or predicate describes the characteristics and characteristics of this relationship.
  • a sentence with a structure of subject-property-object is called a triple, and the relationship can have a directionality.
  • the knowledge graph uses, for example, one entity as a subject and another entity as an object, and gives the relationship between one entity and another entity (subject)-property-object. It is represented as a triple of a structure, and uses another entity as a subject and another entity as an object to give a relationship between another entity and another entity. What is represented by a triple may be made of a repeating multi-order relationship triple.
  • the knowledge graph management unit 310 generates the context knowledge graph 420 from the integrated knowledge graph 410 by using entities of the query of the user 10 that are analyzed and extracted by the natural language understanding unit 200. I can.
  • the context knowledge graph 420 may be generated by cutting out only the primary relationship triple from the integrated knowledge graph 410 based on the objects of the extracted query of the user 10. That is, the context knowledge graph 420 uses each object of the extracted query of the user 10 as a subject, and only the relationship with another object, which is an object, is subject-property ( property)-may consist of primary relationship triples represented by triples of an object structure.
  • the primary relationship triple generated based on one entity is called an entity knowledge graph, and all entity knowledge graphs generated from each of the entities in the query of the user 10, or
  • the space in which the entity knowledge graphs are stored is referred to as a context knowledge graph 420. That is, the context knowledge graph 420 for one query of the user 10 may be composed of entity knowledge graphs generated from each of the entities extracted from one query of the user 10.
  • the user knowledge graph 430 may store, among the context knowledge graph 420, an entity knowledge graph used to respond to a query of the user 10.
  • the user knowledge graph 430 may store a plurality of entity knowledge graphs used for a response as the user's 10 query is repeated.
  • the entity knowledge graph stored in the user knowledge graph 430 may be referred to as a user entity knowledge graph.
  • the knowledge graph management unit 310 uses the result classified by the query classification unit 220 for the query of the user 10, that is, a property to be obtained from the query of the user 10 You can create a query for the query of ).
  • 'Query' refers to a computer language used to request information collection as a query language.
  • the context knowledge graph 420 receives a query for a query of the user 10 generated by the knowledge graph management unit 310, and receives a plurality of entity knowledge graphs and a user knowledge graph ( At least one entity knowledge graph corresponding to a query for a query of the user 10 among the plurality of user entity knowledge graphs 430 has may be transmitted to the knowledge graph management unit 310.
  • the query target ranking unit 320 may generate a response to the user 10's query or a reverse query by using at least one entity knowledge graph corresponding to a query of the user 10's query.
  • the natural language generation unit 330 may generate a response to the query of the user 10 generated by the query target ranking unit 320 or an inverse query in a natural language form. In some embodiments, the natural language generation unit 330 may generate a response to a query of the user 10 or an inverted query as a plurality of natural language type candidates having various expressions.
  • the Q&A system 1 may further include an answer ranking unit 500.
  • the answer ranking unit 500 determines a ranking for a number of natural language type candidates for a response to a query from the user 10 or an inverse query in the natural language generator 330, and then selects a candidate with a high ranking and selects the user ( 10) may be provided as a response or reverse query through the user interface 100.
  • the user 10 may transmit a reply to the reverse query to the query response system 1 through the user interface 100, and the query response system 1 synthesizes the query and the reply to the reverse query from the user 10.
  • a response may be provided to the user 10 or a reverse query may be provided again.
  • the entity knowledge graph used to generate the response provided to the user 10 may be stored in the user knowledge graph 430.
  • the query response system 1 fails to derive a response, that is, a correct answer with high reliability through the initial query of the user 10
  • a reverse query is provided before providing the answer to the query to the user 10. It is possible to increase the reliability of the response provided to the user 10, that is, the correct answer to the query, by generating and asking the user 10 a question.
  • Fig. 2 is a block diagram showing a main configuration of a natural language understanding unit of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • the natural language understanding unit 200 may include a natural language understanding unit 210 that interprets a natural language query received by the user interface 100.
  • the natural language understanding unit 210 includes a morpheme analysis unit 211, a syntax analysis unit 212, an entity name analysis unit 213, a filtering analysis unit 214, an intention classification unit 215, a domain analysis unit 216, and It may include a semantic roll labeling unit (SRL, 217).
  • SRL semantic roll labeling unit
  • the morpheme analysis unit 211 may separate the sentences constituting the query into morpheme units.
  • the syntax analysis unit 212 and the entity name analysis unit 213 may perform syntax analysis and entity name analysis on sentences constituting a query separated by morpheme units, respectively.
  • the filtering analysis unit 214 may generate a concise sentence by removing unnecessary features from among sentences constituting the query.
  • the intention classification unit 215 and the domain analysis unit 216 may classify an intention and analyze a domain of a query to which a semantic role is assigned based on the simplified sentence generated by the filtering analysis unit 214.
  • the semantic roll labeling unit SRL 217 may assign a semantic role to a sentence constituting a query.
  • Fig. 3 is a block diagram showing a main configuration of a knowledge graph management unit of a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • the natural language understanding unit 200 may include a natural language analysis unit 210 and a query classification unit 220.
  • the module server 300 may include a knowledge graph management unit 310, a query target ranking unit 320, and a natural language generation unit 330.
  • the data server 400 may include an integrated knowledge graph 410, a context knowledge graph 420, and a user knowledge graph 430.
  • the knowledge graph management unit 310 may include an integrated knowledge graph management unit 312, a context knowledge graph generation unit 314, and a knowledge graph query unit 316.
  • the integrated knowledge graph management unit 312 may manage and update the integrated knowledge graph 410.
  • the integrated knowledge graph 410 may have a space for storing a knowledge graph built in the query response system (1 of FIG. 1).
  • the integrated knowledge graph 410 may have a space for storing data in any form, such as NoSQL, a relational database, or a file system.
  • Can be The integrated knowledge graph 410 has one storage device that is logically divided, has a division unit that logically divides one or a plurality of storage devices, or one storage device that is physically divided or one that is logically divided. Can have some of the divisional units of.
  • the integrated knowledge graph 410 is connected through a network (20 in FIG. 1) and at least one knowledge graph built outside the question answering system (1 in FIG. 1), and at least one It may be a management module that manages the knowledge graph of.
  • the integrated knowledge graph 410 is a space for storing a knowledge graph built inside a question answering system (1 in FIG. 1) and at least one built-in outside of the query answering system (1 in FIG. 1). You can have a management module that integrates and manages knowledge graphs.
  • the context knowledge graph generation unit 314 uses entities of the query of the user (10 in FIG. 1) that are analyzed and extracted by the natural language analysis unit 210, and the context knowledge graph ( 420).
  • the context knowledge graph 420 may be generated by cutting out only the primary relationship triple from the integrated knowledge graph 410 based on the objects of the extracted query of the user 10. That is, the context knowledge graph 420 uses each object of the extracted query of the user 10 as a subject, and only the relationship with another object, which is an object, is subject-property ( property)-may be composed of entity knowledge graphs, which are primary relationship triples represented by triples of an object structure.
  • the knowledge graph query unit 316 uses the results classified by the query classification unit 220 with respect to the query of the user 10, that is, a property to be obtained from the query of the user 10. You can create a query for a query.
  • the context knowledge graph 420 receives a query for the query of the user 10 generated by the knowledge graph query unit 316, and the user 10 among a plurality of entity knowledge graphs of the context knowledge graph 420 ). At least one entity knowledge graph corresponding to a query for a query of) may be transmitted to the knowledge graph management unit 310.
  • the query target ranking unit 320 may generate a response to the user 10's query or a reverse query by using at least one entity knowledge graph corresponding to a query of the user 10's query.
  • the natural language generation unit 330 may generate a response to the query of the user 10 generated by the query target ranking unit 320 or an inverse query in a natural language form.
  • FIG. 4 is an exemplary schematic diagram of a context knowledge graph generated in a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention. Specifically, FIG. 4 exemplarily shows a part of the context knowledge graph generated when the query of the user (10 in FIG. 1) is'Where is Yi Sun-shin's birth?
  • the natural language analysis unit 210 selects'Lee Soon-shin' and'the place of birth' as entities. It may be extracted and transmitted to the context knowledge graph generation unit 314.
  • the context knowledge graph generation unit 314 gives each of'Yi Soon Shin' and'the place of birth' in the integrated knowledge graph 410 as a subject, and selects at least one other entity having a primary relationship, that is, a property. ) To extract a plurality of entity knowledge graphs (EKG1, EKG2), which are primary relationship triples, to generate a context knowledge graph (CKG).
  • EKG1, EKG2 entity knowledge graphs
  • the context knowledge graph (CKG) shows only the first-order relationship triple as a subject given'Lee Soon-shin', but the context knowledge graph (CKG) shows the first-order relationship triple as the subject (subject). It may contain more.
  • the context knowledge graph CKG may correspond to the context knowledge graph 420 shown in FIG. 1.
  • the context knowledge graph (CKG) is the first entity knowledge graph (EKG1), which is the primary relationship triple as the subject of the Chung-mu-gong Yi (E1), and Yi Sun-shin. It may include a second entity knowledge graph EKG2, which is a primary relationship triple with (E2) as a subject.
  • the first entity knowledge graph (EKG1) has the subject as Chungmugong Yi Sun-sin (E1), and properties such as nationality, birthplace (Bornin), job, development product (create), wife (Spouse), etc. property) may have an object having a primary triple relationship (T11, T12, T13, T14, T15), respectively.
  • the subject is unintentional Yi Sun-sin (E2), and for properties such as nationality, birthplace (Bornin), and job (Job), each of the first triples It can have an object having a relationship (T21, T22, T23).
  • FIG. 5 is a flowchart illustrating a process of performing a query response based on a knowledge graph in a user-customized query response system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • the query classification unit 220 classifies the'place of birth', which is a property to be obtained from the query of the user (10 in Fig. 1), and transmits it to the knowledge graph query unit 316 Then, the knowledge graph query unit 316 creates a query for the query of the user 10 using the classified result'Bornin', and makes a query to the context knowledge graph (CKG) (S10).
  • Entity knowledge graphs having'Bornin' as a property for the subject'Soon-Shin Yi' that is, the first entity knowledge graph (EKG1) and the second entity knowledge graph (EKG2) can be selected and delivered.
  • Yes S110
  • querying the context knowledge graph (CKG) (S10) means that a query, which is a computer language used for a request for information collection, is transmitted to the context knowledge graph (CKG) as a query language.
  • the context knowledge graph (CKG) has one entity knowledge graph having the'Bornin' as a property for the subject'Yi Soon Shin', for example, only the first entity knowledge graph (EKG1) In the case of having, it is possible to infer Hanseong Geoncheon-dong (T12), which is the birthplace (Bornin) of Chungmugong Yi Sun-shin (E1) as a correct answer, and provide it as a response to the user 10 (S20).
  • the query target ranking unit 320 includes a first entity knowledge graph (EKG1) and a second entity knowledge graph among user entity knowledge graphs, which are entity knowledge graphs used in response to a previous query of the user 10 of the user knowledge graph 430. It is determined whether there is an entity knowledge graph (EKG2) (S120). If only the first entity knowledge graph (EKG1) exists in the user knowledge graph 430, the first entity knowledge graph (EKG1) is selected from the user knowledge graph 430 (S150), Hanseong Geoncheondong (T12) may be inferred as the correct answer and provided as a response to the user 10 (S20).
  • EKG1 entity knowledge graph
  • S120 entity knowledge graph
  • T12 Hanseong Geoncheondong
  • the query target ranking unit 320 refers to the integrated knowledge graph 410.
  • Ranking for the query target is determined (S130), a reverse query is made to the user 10, and the result may be received (S140).
  • FIG. 6 is a flowchart illustrating an operation of a query target ranking unit in a user-customized question answering system based on a knowledge graph according to an exemplary embodiment of the present invention.
  • the query target ranking unit 320 has the same property.
  • the presence or absence of a single triple in only one of the first entity knowledge graph (EKG1) and the second entity knowledge graph (EKG2) is compared by comparing the first entity knowledge graph (EKG1) and the second entity knowledge graph (EKG2). It is determined (S310).
  • the first entity knowledge graph (EKG1) and the second entity knowledge graph (EKG2) each have a first-order triple relationship (T11, T12, T13 and T21, T22, T23) have a redundant triple with an object, but for the properties of create and spouse, only the first entity knowledge graph (EKG1) has a primary triple relationship. It has a single triple with an object with (T14, T15). When there are two or more single triples (T14, T15), a single triple for reverse query may be selected from among two or more single triples (T14, T15) (S320).
  • a single triple for inverse query may be selected from among objects of each of the single triples T14 and T15, including those having a high frequency existing in the integrated knowledge graph 410.
  • the single triple for inverse query is selected as the subject of the object of each of the single triples (T14, T15) in the integrated knowledge graph 410 and has a large number of objects having a triple relationship. can do.
  • the first entity knowledge graph (EKG1) and the second entity knowledge graph (EKG2) each have a first-order triple relationship for the properties of nationality, birthplace (Bornin), job (Job), and title (Artname). It is possible to have redundant triples having an object having (T11, T12, T13,'chungmugong' and T21, T22, T23,'unintentional ball'). Among them, Joseon (T11) and Joseon (T21), and general (T13) and general (T23) have the same object, so they are excluded from the double triple target for reverse query, and Geoncheon-dong, Hanseong (T12) and Siheung, Gyeonggi-do.
  • the user 10's query is'What is Yi Soon-shin's job?', the property of the job with each of Yi Sun-shin (E1) and Yi Sun-shin (E2) as a subject.
  • the general (T13) and the general (T23), which are the same correct answers have a duplicate triple with an object.
  • the user 10 infers the'general' without creating a separate duplicate triple for the inverse query. It can be provided as a response.
  • a response (S20) provided to the user 10 or an inverse query (S40) to the user 10 may be generated in a natural language form by the natural language generator 330.
  • the natural language generation unit 330 may generate a response or an inverse query to the query of the user 10 as a plurality of natural language type candidates having various expressions, and the answer ranking unit 500 is the natural language generation unit 330 ), a ranking for a number of natural language candidates for a response to a query from the user 10 or a reverse query is selected, and then a candidate with a high ranking is selected to respond to the user 10 through the user interface 100 or It can be provided as a reverse query.
  • the query response system 1 fails to derive a response, that is, a correct answer with high reliability through the initial query of the user 10.
  • context knowledge is provided before providing the answer to the query to the user 10.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

정확한 질의 응답을 할 수 있는 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템을 제공한다. 본 발명에 따른 질의 응답 시스템은, 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스, 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부, 다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프, 질의에 대한 자연어 분석 결과를 이용하여 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고 질의에 대한 질의 분류 결과를 이용하여 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부, 및 선택된 적어도 하나의 엔티티 지식 그래프로부터 질의에 대한 응답 또는 역질의를 생성하는 질의 대상 랭킹부를 포함한다.

Description

지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
본 발명은 질의 응답 시스템에 관한 것으로, 자세하게는 지식 그래프를 기반으로 사용자 맞춤형으로 질의 응답(QA, Question-Answering)을 수행할 수 있는 질의 응답 시스템에 관한 것이다.
본 발명은 과학기술정보통신부 정보통신·방송 기술개발사업의 일환으로 전자부품연구원에서 주관하고, (주)솔트룩스에서 수행된 연구로부터 도출된 것이다. [연구기간: 2018.01.01~2018.12.31., 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: 자율지능 디지털 동반자 프레임워크 및 응용 연구개발, 과제 고유번호: 2017-0-00255]
질의 응답 시스템은 사용자의 자연어 질의를 분석하고, 그 분석 결과를 기반으로 정답 타입을 분석하고, 질의 내의 핵심 키워드들 기반의 문서 검색과 지식베이스를 이용하여 수많은 정답후보들을 생성한다. 이러한 기존의 질의응답 시스템은 생성된 정답후보들을 대상으로 질의에서 요구하는 정답 타입과 제약 정보, 질의의 문맥과 가장 유사한 정답후보들을 순위화함으로써 가장 높은 순위를 가지는 것을 정답으로 추론하여 응답을 수행한다.
그러나 질의 내의 키워드나 정보가 부족한 경우, 그리고 소수의 정답 추론에 위배되는 정답 후보를 정답으로 추론하는 경우가 빈번하게 발생하여, 정답에 대한 신뢰성을 보장할 수 없다.
본 발명의 기술적 과제는, 정확한 질의 응답을 할 수 있는 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 질의 응답 시스템은, 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 상기 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스; 상기 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부; 다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프; 상기 질의에 대한 자연어 분석 결과를 이용하여 상기 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고, 상기 질의에 대한 질의 분류 결과를 이용하여 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부; 및 선택된 상기 적어도 하나의 엔티티 지식 그래프로부터 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하는 질의 대상 랭킹부;를 포함한다.
상기 자연어 이해부는, 상기 질의에 대한 자연어 분석 결과를 제공하는 자연어 분석부; 및 상기 질의에 대한 자연어 분석 결과를 참조하여 상기 질의에서 얻고자 하는 프로퍼티(property)를 구하여 상기 질의를 분류하는 질의 분류부;를 포함할 수 있다.
상기 지식 그래프 관리부는, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들 각각을 주어(subject)로 한 1차 관계 트리플로 이루어지는 상기 엔티티 지식 그래프들을 추출하여, 상기 엔티티 지식 그래프들로 이루어지는 컨텍스트 지식 그래프를 생성하는 컨텍스트 지식 그래프 생성부; 및 상기 질의에 대한 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)를 사용하여, 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 질의부;를 포함할 수 있다.
상기 선택된 상기 적어도 하나의 엔티티 지식 그래프 중 상기 사용자에게 송신하는 상기 응답을 생성하는데 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프를 저장하는 사용자 지식 그래프를 더 포함할 수 있다.
상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 1개인 경우, 선택된 1개의 상기 엔티티 지식 그래프로부터 상기 응답을 생성할 수 있다.
상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 2개 이상인 경우, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프의 유무를 판단할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프가 모두 없는 경우, 상기 2개 이상의 엔티티 지식 그래프를 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 적어도 2개가 있는 경우, 적어도 2개의 상기 사용자 엔티티 지식 그래프를 상기 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 1개만 있는 경우, 1개의 상기 사용자 엔티티 지식 그래프로부터 상기 응답을 생성할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 랭킹 대상 엔티티 지식 그래프들을 비교하여, 하나의 엔티티 지식 그래프에만 있는 단독 트리플 유무를 판단하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 1개의 상기 단독 트리플을 가지는 경우, 1개의 상기 단독 트리플로부터 상기 역질의를 생성하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 2개 이상의 상기 단독 트리플을 가지는 경우, 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 단독 트리플로부터 상기 역질의를 생성하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 없는 경우, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 중복 트리플로부터 상기 역질의를 생성할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중, 상기 자연어 이해부에서 수행된 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)에 대하여 동일한 정답인 목적어(object)를 가지는 중복 트리플이 있는 경우, 상기 동일한 정답인 목적어(object)를 상기 응답으로 생성할 수 있다.
상기 엔티티 지식 그래프들 각각은, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만인 1차 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타낼 수 있다.
본 발명에 따른 질의 응답 시스템은, 사용자의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자에게 해당 질의의 응답을 제공하기 전에, 컨텍스트 지식 그래프를 이용하여 역질의를 생성해내 사용자에게 질문함으로써 사용자에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
도 1은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 주요 구성을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.
도 3은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 지식 그래프 관리부의 주요 구성을 나타내는 블록도이다.
도 4는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 생성되는 컨텍스트 지식 그래프의 예시적인 개략도이다.
도 5는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 지식 그래프를 기반으로 질의 응답을 수행하는 과정을 나타내는 순서도이다.
도 6은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 질의 대상 랭킹부의 동작을 설명하기 위한 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다.
도 1은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 주요 구성을 나타내는 블록도이다.
도 1을 참조하면, 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템(1, 이하, 질의 응답 시스템)은 네트워크(20)를 통하여 사용자(10)로부터 자연어 형태의 질의를 수신하고, 응답을 송신하는 유저 인터페이스(UI, 100)를 포함한다.
네트워크(20)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고 받을 수 있는 것을 모두 포함할 수 있다. 네트워크(20)이 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(20)은 3G, 4G, 5G 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다.
유저 인터페이스(100)는 사용자(10)가 사용하는 단말기 등을 통하여 질의 응답 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)에 질의 및 역질의에 대한 회신을 전송할 수 있고, 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)의 제공하는 질의에 대한 역질의 및 응답을 수신할 수 있다.
본 명세서에서는 특별한 언급이 없는 한, '질의'는 사용자(10)가 질의 응답 시스템(1)로부터 정답을 얻기 위하여, 사용자(10)가 질의 응답 시스템(1)에 전송하는 질문을 의미하고, '역질의'는 질의 응답 시스템(1)이 사용자(10)의 '질의'를 정확히 파악하기 위하여 사용자(10)에게 전송하는 질문을 의미한다.
또한, 본 명세서에서는 특별한 언급이 없는 한 '응답'은 사용자(10)의 질의에 대하여 질의 응답 시스템(1)가 정답으로 추론한 것을, 질의 응답 시스템(1)이 사용자(10)에게 전송하는 답변을 의미하고, '회신', 즉 역질의에 대한 회신은 사용자(10)가 질의 응답 시스템(1)로부터 전송받은 역질의에 대하여 질의 응답 시스템(1)에 전송하는 답변을 의미한다.
질의 응답 시스템(1)은 유저 인터페이스(100)가 전달받은 자연어 형태의 질의를 분석할 수 있도록 하는 자연어 이해부(200), 및 자연어 이해부(200)에서 분석된 질의를 관리하고 데이터 서버(400)를 이용하여 질의에 대한 응답 또는 역질의를 생성하는 모듈 서버(300)를 더 포함한다.
자연어 이해부(200)는 자연어 분석부(210) 및 질의 분류부(220)를 포함할 수 있다.
자연어 분석부(210)는 사용자(10)의 질의에 대한 자연어 분석 결과를 테이블(table) 구조 또는 트리(tree) 구조를 가지는 정형 데이터로 제공하도록 할 수 있다. 자연어 분석부(210)에 의하여 제공될 수 있는 정형 데이터는 예를 들면, RDB(Relation DateBase), CSV(Comma-Seperated Variables), XML(eXtensible Markup Language), JSON(JavaScript Object Notation) 등일 수 있으나, 이에 한정되지 않는다.
자연어 분석부(210)는 사용자(10)의 자연어 형태의 질의를 구성하는 문장을 형태소 단위로 분리한 후, 형태소 단위로 분리된 질의를 구성하는 문장에 구문 분석 및 개체명 분석을 할 수 있다. 또한, 자연어 분석부(210)는 질의를 구성하는 문장 중 불필요한 피쳐(feature)를 제거하여 간결화된 문장을 생성할 수 있고, 생성한 간결화된 문장을 기초로 의미 역할이 부여된 질의의 의도(intention) 분류 및 도메인 분석을 할 수 있고, 질의를 구성하는 문장에 대한 의미 역할(Semantic Role)을 부여(Labeling)할 수 있다. 자연어 분석부(210)에 대해서는 도 2에서 자세히 설명한다.
질의 분류부(220)는 자연어 분석부(210)에서 수행된 사용자(10)의 자연어 형태의 질의에 대한 자연어 분석 결과를 참조하여, 사용자(10)의 질의를 분류한다. 예를 들면, 질의 분류부(220)는 사용자(10)의 질의를 분류하여, 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 얻을 수 있다. 프로퍼티(property)는 술어(predicate)라고도 호칭된다.
질의 분류부(220)는 예를 들어, '이순신의 나이는?'이라는 질의가 인물의 나이 프로퍼티(age property)를 얻고자 하는 것이라고 분류할 수 있고, '백두산의 높이는?'이라는 질의가 객체의 높이 프로퍼티(height property)를 얻고자 하는 것이라고 분류할 수 있다. 즉, 질의 분류부(220)는 주어(subject)-프로퍼티(property)-목적어(object)의 형태로 구성되는 지식 그래프의 트리플(triple)에서, 어떤 프로퍼티(property)를 검색해야하는지를 분류할 수 있다.
모듈 서버(300)는 지식 그래프 관리부(310), 질의 대상 랭킹부(320), 및 자연어 생성부(330)를 포함할 수 있다. 데이터 서버(400)는 통합 지식 그래프(410), 및 사용자 지식 그래프(430)를 포함할 수 있다. 데이터 서버(400)는, 통합 지식 그래프(410)를 참조하여 지식 그래프 관리부(310)가 생성한 컨텍스트 지식 그래프(420)를 저장할 수 있다.
지식 그래프 관리부(310)는 통합 지식 그래프(410)를 관리하고, 업데이트할 수 있다. 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 내부에 구축된 지식 그래프를 저장하는 공간을 가질 수 있다. 통합 지식 그래프(410)는 예를 들면, NoSQL, 관계형 데이터베이스, 파일시스템 등 어떠한 형태로든 데이터를 저장할 수 있는 공간을 가질 수 있다. 통합 지식 그래프(410)는 논리적으로 구분되는 하나의 저장 장치를 가지거나, 하나 또는 복수의 저장 장치를 논리적으로 구분하는 구분 단위를 가지거나, 물리적으로 구분되는 하나의 저장 장치 또는 논리적으로 구분되는 하나의 구분 단위 중 일부를 가질 수 있다.
다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 외부에 구축된 적어도 하나의 지식 그래프와 네트워크(20)를 통하여 연결되어, 외부에 구축된 적어도 하나의 지식 그래프를 관리하는 관리 모듈일 수 있다. 또 다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 내부에 구축된 지식 그래프를 저장하는 공간 및 질의 응답 시스템(1) 외부에 구축된 적어도 하나의 지식 그래프를 통합하여 관리하는 관리 모듈을 가질 수 있다.
지식 그래프는 다양한 소스로부터 시맨틱 정보를 축적하여, 검색 결과를 향상시킬 수 있도록, 개체들 사이의 의미적 그래프를 나타내는 그래프인 시맨틱 그래프를 의미한다. 시맨틱 정보란 자원과 자원 사이의 관계를 어떠한 정보로 표현한 것을 의미한다. 즉 지식 그래프는, 시맨틱 정보들을 모아 그래프 형태로서 데이터를 저장한 것을 의미한다.
지식 그래프는 예를 들면, RDF(Resource Description Framework)를 사용하여 구축될 수 있다. RDF는 URI(Uniform Resource Identifie)를 갖는 모든 리소스(웹 페이지, 이미지, 동영상 등)들의 속성, 특성, 관계 등을 기술(설명)하기 위한 모델, 언어, 문법으로, 그래프 방식의 데이터 모델이다. RDF는 주어와 목적어의 두 자원간의 관계를 표현한 것으로, 프로퍼티(property) 또는 술어(predicate)는 이 관계의 특성, 특징을 설명한다. 주어(subject)-프로퍼티(property)-목적어(object) 구조의 문장을 트리플(triple)이라고 부르며, 관계는 방향성을 가질 수 있다.
지식 그래프는 예를 들면, 하나의 개체를 주어(subject)로, 다른 개체를 목적어(object)로 사용하여 하나의 개체와 다른 개체의 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내고, 다른 개체를 주어(subject), 또 다른 개체를 목적어(object)로 사용하여 다른 개체와 또 다른 개체의 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 것이 반복되는 다차 관계 트리플로 이루어질 수 있다.
지식 그래프 관리부(310)는 자연어 이해부(200)에서 분석되어 추출된 사용자(10)의 질의가 가지는 개체(entity)들을 이용하여, 통합 지식 그래프(410)로부터 컨텍스트 지식 그래프(420)를 생성할 수 있다. 컨텍스트 지식 그래프(420)는 통합 지식 그래프(410)에서, 추출된 사용자(10)의 질의가 가지는 개체들을 기준으로 1차 관계 트리플만을 잘라내서 생성할 수 있다. 즉 컨텍스트 지식 그래프(420)는, 추출된 사용자(10)의 질의가 가지는 개체들 각각을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만을 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 1차 관계 트리플들로 이루어질 수 있다.
본 명세서에서는, 설명의 편의를 위하여 1개의 개체를 기준으로 생성된 1차 관계 트리플은 엔티티 지식 그래프라고 호칭하고, 사용자(10)의 질의가 가지는 개체들 각각으로부터 생성된 엔티티 지식 그래프들 전체, 또는 엔티티 지식 그래프들이 저장된 공간을 컨텍스트 지식 그래프(420)라고 호칭한다. 즉, 사용자(10)의 하나의 질의에 대한 컨텍스트 지식 그래프(420)는, 사용자(10)의 하나의 질의로부터 추출된 개체들 각각으로부터 생성된 엔티티 지식 그래프들로 이루어질 수 있다.
사용자 지식 그래프(430)는, 컨텍스트 지식 그래프(420) 중에서, 사용자(10)의 질의에 대한 응답에 사용된 엔티티 지식 그래프가 저장될 수 있다. 사용자 지식 그래프(430)는 사용자(10)의 질의가 반복됨에 따라서, 응답에 사용된 복수개의 엔티티 지식 그래프가 저장될 수 있다. 사용자 지식 그래프(430)에 저장된 엔티티 지식 그래프는 사용자 엔티티 지식 그래프라 호칭할 수 있다.
이와는 별도로, 지식 그래프 관리부(310)는 사용자(10)의 질의에 대하여 질의 분류부(220)에서 분류된 결과, 즉 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성할 수 있다. '쿼리(query)'는 질의어로 정보 수집에 대한 요청에 쓰이는 컴퓨터 언어를 의미한다.
컨텍스트 지식 그래프(420)는 지식 그래프 관리부(310)에서 생성한 사용자(10)의 질의에 대한 쿼리(query)를 전달받아, 컨텍스트 지식 그래프(420)가 가지는 복수개의 엔티티 지식 그래프와 사용자 지식 그래프(430)가 가지는 복수개의 사용자 엔티티 지식 그래프 중 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 지식 그래프 관리부(310)로 전달할 수 있다.
질의 대상 랭킹부(320)는 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 이용하여 사용자(10)의 질의에 대한 응답 또는 역질의를 생성할 수 있다.
자연어 생성부(330)는 질의 대상 랭킹부(320)에서 생성한 사용자(10)의 질의에 대한 응답 또는 역질의를 자연어 형태로 생성할 수 있다. 일부 실시 예에서, 자연어 생성부(330)는 사용자(10)의 질의에 대한 응답 또는 역질의를 다양한 표현을 가지는 다수의 자연어 형태의 후보들로 생성할 수 있다.
일부 실시 예에서, 질의 응답 시스템(1)은 답변 랭킹부(500)를 더 포함할 수 있다. 답변 랭킹부(500)는 자연어 생성부(330)에서 사용자(10)의 질의에 대한 응답 또는 역질의에 대한 다수의 자연어 형태의 후보들에 대한 랭킹을 정한 후, 랭킹이 높은 후보를 선정하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답 또는 역질의로 제공할 수 있다.
사용자(10)는 역질의에 대한 회신을 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)에 전송할 수 있으며, 질의 응답 시스템(1)은 사용자(10)의 질의 및 역질의에 대한 회신을 종합하여, 전술한 과정을 반복하여 사용자(10)에게 응답을 제공하거나, 다시 역질의를 제공할 수 있다.
사용자(10)에게 제공된 응답을 생성하는데 사용된 엔티티 지식 그래프는 사용자 지식 그래프(430)에 저장될 수 있다.
본 발명에 따른 질의 응답 시스템(1)은 사용자(10)의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자(10)에게 해당 질의의 응답을 제공하기 전에, 역질의를 생성해내 사용자(10)에게 질문함으로써 사용자(10)에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
도 2는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.
도 2를 참조하면, 자연어 이해부(200)는 유저 인터페이스(100)가 수신한 자연어 형태의 질의를 해석하는 자연어 이해부(210)를 포함할 수 있다. 자연어 이해부(210)는 형태소 분석부(211), 구문 분석부(212), 개체명 분석부(213), 필터링 분석부(214), 의도 분류부(215), 도메인 분석부(216) 및 시맨틱 롤 라벨링부(SRL, 217)를 포함할 수 있다.
형태소 분석부(211)는 질의를 구성하는 문장을 형태소 단위로 분리할 수 있다. 구문 분석부(212) 및 개체명 분석부(213)는 각각 형태소 단위로 분리된 질의를 구성하는 문장에 구문 분석 및 개체명 분석을 할 수 있다. 필터링 분석부(214)는 질의를 구성하는 문장 중 불필요한 피쳐를 제거하여 간결화된 문장을 생성할 수 있다. 의도 분류부(215) 및 도메인 분석부(216)는 필터링 분석부(214)에서 생성한 간결화된 문장을 기초로 의미 역할이 부여된 질의의 의도 분류 및 도메인 분석을 할 수 있다. 시맨틱 롤 라벨링부(SRL, 217)은 질의를 구성하는 문장에 대한 의미 역할을 부여할 수 있다.
도 3은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 지식 그래프 관리부의 주요 구성을 나타내는 블록도이다.
도 3을 참조하면, 자연어 이해부(200)는 자연어 분석부(210) 및 질의 분류부(220)를 포함할 수 있다. 모듈 서버(300)는 지식 그래프 관리부(310), 질의 대상 랭킹부(320), 및 자연어 생성부(330)를 포함할 수 있다. 데이터 서버(400)는 통합 지식 그래프(410), 컨텍스트 지식 그래프(420) 및 사용자 지식 그래프(430)를 포함할 수 있다.
지식 그래프 관리부(310)는 통합 지식 그래프 관리부(312), 컨텍스트 지식 그래프 생성부(314) 및 지식 그래프 질의부(316)를 포함할 수 있다.
통합 지식 그래프 관리부(312)는, 통합 지식 그래프(410)를 관리하고, 업데이트할 수 있다. 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 내부에 구축된 지식 그래프를 저장하는 공간을 가질 수 있다. 통합 지식 그래프(410)는 예를 들면, NoSQL, 관계형 데이터베이스, 파일시스템 등 어떠한 형태로든 데이터를 저장할 수 있는 공간을 가질 수 있다. 일 수 있다. 통합 지식 그래프(410)는 논리적으로 구분되는 하나의 저장 장치를 가지거나, 하나 또는 복수의 저장 장치를 논리적으로 구분하는 구분 단위를 가지거나, 물리적으로 구분되는 하나의 저장 장치 또는 논리적으로 구분되는 하나의 구분 단위 중 일부를 가질 수 있다.
다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 외부에 구축된 적어도 하나의 지식 그래프와 네트워크(도 1의 20)를 통하여 연결되어, 외부에 구축된 적어도 하나의 지식 그래프를 관리하는 관리 모듈일 수 있다. 또 다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 내부에 구축된 지식 그래프를 저장하는 공간 및 질의 응답 시스템(도 1의 1) 외부에 구축된 적어도 하나의 지식 그래프를 통합하여 관리하는 관리 모듈을 가질 수 있다.
컨텍스트 지식 그래프 생성부(314)는 자연어 분석부(210)에서 분석되어 추출된 사용자(도 1의 10)의 질의가 가지는 개체(entity)들을 이용하여, 통합 지식 그래프(410)로부터 컨텍스트 지식 그래프(420)를 생성할 수 있다. 컨텍스트 지식 그래프(420)는 통합 지식 그래프(410)에서, 추출된 사용자(10)의 질의가 가지는 개체들을 기준으로 1차 관계 트리플만을 잘라내서 생성할 수 있다. 즉 컨텍스트 지식 그래프(420)는, 추출된 사용자(10)의 질의가 가지는 개체들 각각을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만을 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 1차 관계 트리플인 엔티티 지식 그래프들로 이루어질 수 있다.
지식 그래프 질의부(316)는 사용자(10)의 질의에 대하여 질의 분류부(220)에서 분류된 결과, 즉 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성할 수 있다.
컨텍스트 지식 그래프(420)는 지식 그래프 질의부(316)에서 생성한 사용자(10)의 질의에 대한 쿼리(query)를 전달받아, 컨텍스트 지식 그래프(420)가 가지는 복수개의 엔티티 지식 그래프 중 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 지식 그래프 관리부(310)로 전달할 수 있다.
질의 대상 랭킹부(320)는 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 이용하여 사용자(10)의 질의에 대한 응답 또는 역질의를 생성할 수 있다.
자연어 생성부(330)는 질의 대상 랭킹부(320)에서 생성한 사용자(10)의 질의에 대한 응답 또는 역질의를 자연어 형태로 생성할 수 있다.
도 4는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 생성되는 컨텍스트 지식 그래프의 예시적인 개략도이다. 구체적으로 도 4는 사용자(도 1의 10)의 질의가 '이순신의 출생지는?'인 경우에 생성되는 컨텍스트 지식 그래프의 일부를 예시적으로 보인다.
도 3 및 도 4를 함께 참조하면, 사용자(도 1의 10)의 질의가 '이순신의 출생지는?'인 경우, 자연어 분석부(210)에서는 개체(entity)로 '이순신', '출생지'를 추출하여 컨텍스트 지식 그래프 생성부(314)에 전달할 수 있다. 컨텍스트 지식 그래프 생성부(314)는 통합 지식 그래프(410)에서 '이순신' 및 '출생지' 각각을 주어(subject)로 1차 관계, 즉 프로퍼티(property)를 가지는 적어도 하나의 다른 개체를 목적어(object)로 사용하여 1차 관계 트리플인 복수의 엔티티 지식 그래프(EKG1, EKG2)를 추출하여 컨텍스트 지식 그래프(CKG)를 생성할 수 있다. 도 4에는 컨텍스트 지식 그래프(CKG)가 '이순신'을 주어(subject)로 한 1차 관계 트리플만을 도시하였으나, 컨텍스트 지식 그래프(CKG)는 '출생지'를 주어(subject)로 한 1차 관계 트리플을 더 포함할 수 있다. 컨텍스트 지식 그래프(CKG)는 도 1에 보인 컨텍스트 지식 그래프(420)에 대응될 수 있다.
'이순신'이 충무공 이순신 외에 무의공 이순신도 있는 경우, 컨텍스트 지식 그래프(CKG)는 충무공 이순신(E1)을 주어(subject)로 한 1차 관계 트리플인 제1 엔티티 지식 그래프(EKG1) 및 무의공 이순신(E2)을 주어(subject)로 한 1차 관계 트리플인 제2 엔티티 지식 그래프(EKG2)를 포함할 수 있다.
제1 엔티티 지식 그래프(EKG1)는 주어(subject)를 충무공 이순신(E1)으로 하고, 국적(Nationality), 출생지(Bornin), 직업(Job), 개발품(create), 부인(Spouse) 등의 프로퍼티(property)에 대하여, 각각 1차 트리플 관계(T11, T12, T13, T14, T15)를 가지는 목적어(object)를 가질 수 있다. 제2 엔티티 지식 그래프(EKG2)는 주어(subject)를 무의공 이순신(E2)으로 하고, 국적(Nationality), 출생지(Bornin), 직업(Job) 등의 프로퍼티(property)에 대하여, 각각 1차 트리플 관계(T21, T22, T23)를 가지는 목적어(object)를 가질 수 있다.
도 5는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 지식 그래프를 기반으로 질의 응답을 수행하는 과정을 나타내는 순서도이다.
도 3 내지 도 5를 함께 참조하면, 질의 분류부(220)에서는 사용자(도 1의 10)의 질의에서 얻고자 하는 프로퍼티(property)인 '출생지'를 분류하여 지식 그래프 질의부(316)에 전달하고, 지식 그래프 질의부(316)는 분류된 결과인 '출생지(Bornin)'을 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성하여 컨텍스트 지식 그래프(CKG)에 질의하여(S10) 주어(subject) '이순신'에 대하여 '출생지(Bornin)'를 프로퍼티(property)로 가지는 엔티티 지식 그래프, 즉 제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)을 선택하여 전달받을 수 있다(S110). 여기에서, 컨텍스트 지식 그래프(CKG)에 질의한다(S10)는 것은, 질의어로 정보 수집에 대한 요청에 쓰이는 컴퓨터 언어인 쿼리(query)를 컨텍스트 지식 그래프(CKG)에 전달한다는 것을 의미한다.
만일, 컨텍스트 지식 그래프(CKG)가 주어(subject) '이순신'에 대하여 '출생지(Bornin)'를 프로퍼티(property)로 가지는 엔티티 지식 그래프가 1개, 예를 들면 제1 엔티티 지식 그래프(EKG1)만을 가지는 경우, 충무공 이순신(E1)의 출생지(Bornin)인 한성 건천동(T12)을 정답으로 추론하여 사용자(10)에게 응답으로 제공할 수 있다(S20).
질의 대상 랭킹부(320)는 사용자 지식 그래프(430)가 가지는 사용자(10)의 이전 질의에 대한 응답에 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프 중, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)의 유무를 판단한다(S120). 만일 사용자 지식 그래프(430)에 제1 엔티티 지식 그래프(EKG1)만이 존재하는 경우, 사용자 지식 그래프(430)에서 제1 엔티티 지식 그래프(EKG1)을 선택하여(S150) 충무공 이순신(E1)의 출생지인 한성 건천동(T12)을 정답으로 추론하여 사용자(10)에게 응답으로 제공할 수 있다(S20).
만일 사용자 지식 그래프(430)에 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)가 모두 없거나, 모두 있는 경우, 질의 대상 랭킹부(320)는 통합 지식 그래프(410)를 참조하여, 질의 대상에 대한 랭킹을 정하여(S130), 사용자(10)에게 역질의를 하고 그 결과를 수신할 수 있다(S140).
도 6은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 질의 대상 랭킹부의 동작을 설명하기 위한 순서도이다.
도 3 내지 도 6을 함께 참조하면, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)가 랭킹 대상 엔티티 지식 그래프로 선택된 경우(S30), 질의 대상 랭킹부(320)는 동일한 프로퍼티(property) 중 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)를 비교하여, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2) 중 하나에만 있는 단독 트리플 유무를 판단한다(S310).
국적(Nationality), 출생지(Bornin), 및 직업(Job)의 프로퍼티(property)에 대해서는 제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)이 각각 1차 트리플 관계(T11, T12, T13과 T21, T22, T23)를 가지는 목적어(object)를 가지는 중복 트리플을 가지나, 개발품(create)과 부인(Spouse)의 프로퍼티(property)에 대해서는 제1 엔티티 지식 그래프(EKG1)만이 1차 트리플 관계(T14, T15)를 가지는 목적어(object)를 가지는 단독 트리플을 가진다. 단독 트리플(T14, T15)이 2개 이상인 경우, 2개 이상의 단독 트리플(T14, T15) 중 역질의용 단독 트리플을 선정할 수 있다(S320). 일부 실시 예에서, 역질의용 단독 트리플은 단독 트리플(T14, T15) 각각의 목적어(object) 중, 통합 지식 그래프(410)에 존재하는 빈도가 높은 것이 포함되는 것을 선정할 수 있다. 다른 일부 실시 예에서, 역질의용 단독 트리플은 통합 지식 그래프(410)에서 단독 트리플(T14, T15) 각각의 목적어(object)를 주어(subject)로 하여 트리플 관계를 가지는 목적어(object)가 많은 것을 선정할 수 있다.
예를 들면, 통합 지식 그래프(410)에 방수진(T15)보다 거북선(T14)이 존재하는 빈도가 높거나, '거북선'을 주어(subject)로 하여 트리플 관계를 가지는 목적어(object)가 많은 경우, 충무공 이순신(E1)을 주어(subject)로 하는 개발품(create)의 프로퍼티(property)에 대하여 거북선(T14)인 단독 트리플을 역질의용 단독 트리플로 선정(S320)하여 사용자(도 1의 10)에게 역질의를 할 수 있다(S40).
만일, 단독 트리플이 없는 경우, 도 4에는 별도의 트리플로 도시하지는 않았으나 호(Artname)인 '충무공'과 '무의공'에 대해서도 별도의 트리플을 가지는 경우를 가정하여 설명한다.
제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)은 가각 국적(Nationality), 출생지(Bornin), 직업(Job), 호(Artname)의 프로퍼티(property)에 대해서는 각각 1차 트리플 관계(T11, T12, T13, '충무공'과 T21, T22, T23, '무의공')를 가지는 목적어(object)를 가지는 중복 트리플을 가질 수 있다. 이중, 조선(T11)과 조선(T21), 그리고 장군(T13)과 장군(T23)은 동일한 목적어(object)를 가지므로, 역질의용 중복 트리플 대상에서 제외되고, 한성 건천동(T12)과 경기도 시흥(T22), '충무공'과 '무의공'이 중복 트리플 대상이 될 수 있다. 이 중에서, 통합 지식 그래프(410)에 존재하는 빈도가 높거나, 트리플 관계를 가지는 목적어(object)가 많은 것을 역질의용 중복 트리플로 선정할 수 있다. 예를 들면, 충무공 이순신(E1)을 주어(subject)로 하는 호(Artname)의 프로퍼티(property)에 대하여 '충무공'인 중복 트리플을 역질의용 중복 트리플로 선정(S330)하여 사용자(도 1의 10)에게 역질의를 할 수 있다(S40).
만일, 사용자(10)의 질의가 '이순신의 직업은 무엇인가?'인 경우, 충무공 이순신(E1) 및 무의공 이순신(E2) 각각을 주어(subject)로 하는 직업(Job)의 프로퍼티(property)에 대하여 동일한 정답인 장군(T13)과 장군(T23)을 목적어(object)를 가지는 중복 트리플을 가지므로, 이 경우에는 역질의용 중복 트리플을 별도로 생성하지 않고 '장군'을 추론하여 사용자(10)에게 응답으로 제공할 수 있다.
도 1, 도 5, 및 도 6을 함께 참조하면, 사용자(10)에게 제공하는 응답(S20) 또는 사용자(10)에게 하는 역질의(S40)은 자연어 생성부(330)에서 자연어 형태로 생성될 수 있다. 이때, 자연어 생성부(330)는 사용자(10)의 질의에 대한 응답 또는 역질의를 다양한 표현을 가지는 다수의 자연어 형태의 후보들로 생성할 수 있으며, 답변 랭킹부(500)는 자연어 생성부(330)에서 사용자(10)의 질의에 대한 응답 또는 역질의에 대한 다수의 자연어 형태의 후보들에 대한 랭킹을 정한 후, 랭킹이 높은 후보를 선정하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답 또는 역질의로 제공할 수 있다.
본 발명에 따른 질의 응답 시스템(1)은 사용자(10)의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자(10)에게 해당 질의의 응답을 제공하기 전에, 컨텍스트 지식 그래프를 이용하여 역질의를 생성해내 사용자(10)에게 질문함으로써 사용자(10)에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.

Claims (10)

  1. 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 상기 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스;
    상기 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부;
    다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프;
    상기 질의에 대한 자연어 분석 결과를 이용하여 상기 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고, 상기 질의에 대한 질의 분류 결과를 이용하여 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부; 및
    선택된 상기 적어도 하나의 엔티티 지식 그래프로부터 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하는 질의 대상 랭킹부;를 포함하는 질의 응답 시스템.
  2. 제1 항에 있어서,
    상기 자연어 이해부는,
    상기 질의에 대한 자연어 분석 결과를 제공하는 자연어 분석부; 및
    상기 질의에 대한 자연어 분석 결과를 참조하여 상기 질의에서 얻고자 하는 프로퍼티(property)를 구하여 상기 질의를 분류하는 질의 분류부;를 포함하는 것을 특징으로 하는 질의 응답 시스템.
  3. 제2 항에 있어서,
    상기 지식 그래프 관리부는,
    상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들 각각을 주어(subject)로 한 1차 관계 트리플로 이루어지는 상기 엔티티 지식 그래프들을 추출하여, 상기 엔티티 지식 그래프들로 이루어지는 컨텍스트 지식 그래프를 생성하는 컨텍스트 지식 그래프 생성부; 및
    상기 질의에 대한 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)를 사용하여, 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 질의부;를 포함하는 것을 특징으로 하는 질의 응답 시스템.
  4. 제1 항에 있어서,
    선택된 상기 적어도 하나의 엔티티 지식 그래프 중 상기 사용자에게 송신하는 상기 응답을 생성하는데 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프를 저장하는 사용자 지식 그래프를 더 포함하는 것을 특징으로 하는 질의 응답 시스템.
  5. 제4 항에 있어서,
    상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 1개인 경우, 선택된 1개의 상기 엔티티 지식 그래프로부터 상기 응답을 생성하는 것을 특징으로 하는 질의 응답 시스템.
  6. 제4 항에 있어서,
    상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 2개 이상인 경우, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프의 유무를 판단하는 것을 특징으로 하는 질의 응답 시스템.
  7. 제6 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프가 모두 없는 경우, 상기 2개 이상의 엔티티 지식 그래프를 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 적어도 2개가 있는 경우, 적어도 2개의 상기 사용자 엔티티 지식 그래프를 상기 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 1개만 있는 경우, 1개의 상기 사용자 엔티티 지식 그래프로부터 상기 응답을 생성하는 것을 특징으로 하는 질의 응답 시스템.
  8. 제7 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 랭킹 대상 엔티티 지식 그래프들을 비교하여, 하나의 엔티티 지식 그래프에만 있는 단독 트리플 유무를 판단하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 1개의 상기 단독 트리플을 가지는 경우, 1개의 상기 단독 트리플로부터 상기 역질의를 생성하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 2개 이상의 상기 단독 트리플을 가지는 경우, 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 단독 트리플로부터 상기 역질의를 생성하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 없는 경우, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 중복 트리플로부터 상기 역질의를 생성하는 것을 특징으로 하는 질의 응답 시스템.
  9. 제8 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중, 상기 자연어 이해부에서 수행된 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)에 대하여 동일한 정답인 목적어(object)를 가지는 중복 트리플이 있는 경우, 상기 동일한 정답인 목적어(object)를 상기 응답으로 생성하는 것을 특징으로 하는 질의 응답 시스템.
  10. 제1 항에 있어서,
    상기 엔티티 지식 그래프들 각각은, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만인 1차 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 것을 특징으로 하는 질의 응답 시스템.
PCT/KR2019/013713 2019-09-18 2019-10-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 WO2021054514A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/697,614 US11960513B2 (en) 2019-09-18 2022-03-17 User-customized question-answering system based on knowledge graph

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190114970A KR102252459B1 (ko) 2019-09-18 2019-09-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
KR10-2019-0114970 2019-09-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/697,614 Continuation US11960513B2 (en) 2019-09-18 2022-03-17 User-customized question-answering system based on knowledge graph

Publications (1)

Publication Number Publication Date
WO2021054514A1 true WO2021054514A1 (ko) 2021-03-25

Family

ID=74883207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013713 WO2021054514A1 (ko) 2019-09-18 2019-10-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템

Country Status (3)

Country Link
US (1) US11960513B2 (ko)
KR (1) KR102252459B1 (ko)
WO (1) WO2021054514A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989005A (zh) * 2021-04-16 2021-06-18 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统
CN113672693A (zh) * 2021-08-23 2021-11-19 东北林业大学 基于知识图谱和标签关联的在线问答平台的标签推荐方法
CN114153961A (zh) * 2022-02-07 2022-03-08 杭州远传新业科技有限公司 一种基于知识图谱的问答方法及系统
CN114625843A (zh) * 2022-04-06 2022-06-14 山东省科院易达科技咨询有限公司 基于知识图谱的查询方法及装置
US20230009946A1 (en) * 2021-07-12 2023-01-12 International Business Machines Corporation Generative relation linking for question answering

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687570B2 (en) * 2020-02-03 2023-06-27 Samsung Electronics Co., Ltd. System and method for efficient multi-relational entity understanding and retrieval
US11151320B1 (en) * 2020-04-21 2021-10-19 Microsoft Technology Licensing, Llc Labeled knowledge graph based priming of a natural language model providing user access to programmatic functionality through natural language input
US20220351716A1 (en) * 2021-04-28 2022-11-03 Robert Bosch Gmbh System and method for a personalized dialogue system using knowledge-based entity services
CN114996419A (zh) * 2022-05-09 2022-09-02 成都数之联科技股份有限公司 武器装备的智能问答方法、装置、电子设备及存储介质
CN117235220B (zh) * 2023-09-15 2024-03-15 之江实验室 基于图数据库知识增强的可扩展大语言模型调用装置
CN117591657B (zh) * 2023-12-22 2024-05-07 宿迁乐享知途网络科技有限公司 一种基于ai的智能对话管理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103911A (ko) * 2015-02-24 2016-09-02 한국과학기술원 개념 그래프 매칭을 이용한 질의응답 방법 및 시스템
US20170109355A1 (en) * 2015-10-16 2017-04-20 Baidu Usa Llc Systems and methods for human inspired simple question answering (hisqa)
KR101835345B1 (ko) * 2016-02-29 2018-03-07 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
KR101987915B1 (ko) * 2017-12-22 2019-06-12 주식회사 솔트룩스 자연어 질의로부터 지식 베이스에 대한 쿼리의 생성에 사용되는 템플릿을 생성하는 시스템 및 이를 포함하는 질의 응답 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436469B2 (en) * 2017-07-31 2022-09-06 Microsoft Technology Licensing, Llc Knowledge graph for conversational semantic search
US11727243B2 (en) * 2019-01-30 2023-08-15 Baidu Usa Llc Knowledge-graph-embedding-based question answering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103911A (ko) * 2015-02-24 2016-09-02 한국과학기술원 개념 그래프 매칭을 이용한 질의응답 방법 및 시스템
US20170109355A1 (en) * 2015-10-16 2017-04-20 Baidu Usa Llc Systems and methods for human inspired simple question answering (hisqa)
KR101835345B1 (ko) * 2016-02-29 2018-03-07 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
KR101987915B1 (ko) * 2017-12-22 2019-06-12 주식회사 솔트룩스 자연어 질의로부터 지식 베이스에 대한 쿼리의 생성에 사용되는 템플릿을 생성하는 시스템 및 이를 포함하는 질의 응답 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989005A (zh) * 2021-04-16 2021-06-18 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统
CN112989005B (zh) * 2021-04-16 2022-07-12 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统
US20230009946A1 (en) * 2021-07-12 2023-01-12 International Business Machines Corporation Generative relation linking for question answering
CN113672693A (zh) * 2021-08-23 2021-11-19 东北林业大学 基于知识图谱和标签关联的在线问答平台的标签推荐方法
CN113672693B (zh) * 2021-08-23 2022-05-10 东北林业大学 基于知识图谱和标签关联的在线问答平台的标签推荐方法
CN114153961A (zh) * 2022-02-07 2022-03-08 杭州远传新业科技有限公司 一种基于知识图谱的问答方法及系统
CN114153961B (zh) * 2022-02-07 2022-05-06 杭州远传新业科技有限公司 一种基于知识图谱的问答方法及系统
CN114625843A (zh) * 2022-04-06 2022-06-14 山东省科院易达科技咨询有限公司 基于知识图谱的查询方法及装置

Also Published As

Publication number Publication date
KR102252459B1 (ko) 2021-05-14
KR20210033348A (ko) 2021-03-26
US20220207067A1 (en) 2022-06-30
US11960513B2 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
WO2021054514A1 (ko) 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
US11373047B2 (en) Method, system, and computer program for artificial intelligence answer
US11853352B2 (en) Method and apparatus for establishing image set for image recognition, network device, and storage medium
KR102491172B1 (ko) 자연어 질의응답 시스템 및 그 학습 방법
WO2021049706A1 (ko) 앙상블 질의 응답을 위한 시스템 및 방법
WO2023029506A1 (zh) 病情分析方法、装置、电子设备及存储介质
Rubiolo et al. Knowledge discovery through ontology matching: An approach based on an Artificial Neural Network model
WO2011126458A1 (en) Automatic frequently asked question compilation from community-based question answering archive
WO2020055071A1 (en) System and method for dynamic trend clustering
Li et al. Knowledge graph based natural language generation with adapted pointer-generator networks
JP7169125B2 (ja) 質問回答システム、質問回答処理方法、及び質問回答統合システム
WO2024075911A1 (ko) Ai에 의한 재난안전지식 통합관리시스템
US20170103125A1 (en) Apparatus and method of exploring and accessing relevant data from big data repository
WO2019039659A1 (ko) 감성 기반의 사용자 관리 방법 및 이를 수행하는 장치들
KR20210057308A (ko) 머신러닝에 기반한 챗봇 서비스 제공방법 및 시스템
WO2021107446A1 (ko) 지식 그래프 기반 마케팅 정보 분석 챗봇 서비스 제공 방법 및 그 장치
WO2012046904A1 (ko) 다중 자원 기반 검색정보 제공 장치 및 방법
WO2014148664A1 (ko) 단어의 의미를 기반으로 하는 다국어 검색 시스템, 다국어 검색 방법 및 이를 이용한 이미지 검색 시스템
WO2024090712A1 (ko) 공감대 형성을 통한 심리 치료용 인공지능 대화 시스템
WO2020242086A1 (ko) 다중 지식의 비교 우위를 추론하는 서버, 방법 및 컴퓨터 프로그램
Ting et al. Semantic-Awareness Recommendation with Linked Open Data in Web-Based Investigative Learning
KR102256664B1 (ko) 다국어 질의 응답 시스템
US20200380012A1 (en) System and method for enabling interoperability between a first knowledge base and a second knowledge base
WO2024106626A1 (ko) 인공지능 기반의 대화형 질의 응답 시스템
WO2021054512A1 (ko) 지식 베이스 보강을 위한 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19945603

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19945603

Country of ref document: EP

Kind code of ref document: A1