WO2020111314A1 - 개념 그래프 기반 질의응답 장치 및 방법 - Google Patents

개념 그래프 기반 질의응답 장치 및 방법 Download PDF

Info

Publication number
WO2020111314A1
WO2020111314A1 PCT/KR2018/014860 KR2018014860W WO2020111314A1 WO 2020111314 A1 WO2020111314 A1 WO 2020111314A1 KR 2018014860 W KR2018014860 W KR 2018014860W WO 2020111314 A1 WO2020111314 A1 WO 2020111314A1
Authority
WO
WIPO (PCT)
Prior art keywords
corpus
query
sentence embedding
vector
sentence
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2018/014860
Other languages
English (en)
French (fr)
Inventor
맹성현
김경민
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Korea Advanced Institute of Science and Technology KAIST
Original Assignee
Korea Advanced Institute of Science and Technology KAIST
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 Korea Advanced Institute of Science and Technology KAIST filed Critical Korea Advanced Institute of Science and Technology KAIST
Publication of WO2020111314A1 publication Critical patent/WO2020111314A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Definitions

  • the present invention relates to a concept graph-based question and answer technique.
  • an extended graph is generated using two concept graphs, and a question answer is generated using concept graph matching to find a correct answer node based on a question graph and an extended graph generated based on a question input from the outside to derive the correct answer to the question.
  • a query is answered using this question and answer method, matching between the question graph and all document graphs is required, which takes a long time, and thus has a problem of slowing down the speed of query response.
  • the present invention provides a technique for providing a response to a query by applying a high weight to a context word among words constituting sentences in a query and a corpus in generating an embedding vector in a conceptual graph-based query response device.
  • a question and answer device extracts a corpus context word from a corpus, applies weights to the corpus context words according to a weight rule, extracts a query context word from an input query, and according to the weight rules
  • a weighting unit applying weight to the query context word, generating a plurality of corpus sentence embedding vectors for a weighted corpus and a query sentence embedding vector for a weighted input query, and the plurality of corpus sentence embedding vectors
  • a context similarity determining unit determining a target sentence embedding vector among the plurality of corpus sentence embedding vectors based on the vector similarity between the query sentence embedding vector, and determining a target concept graph corresponding to the target sentence embedding vector
  • a candidate response determination unit determining at least one candidate concept corresponding to the input query by calculating a graph matching score for each of the at least one concepts included in the target concept graph, and a preset number of candidate concepts And a response determination unit determining the concept
  • the weight applying unit extracts the corpus context word and the query context word from the corpus and the input query using a text analysis algorithm.
  • the corpus context word and the query context word are words corresponding to a specific category, and the weight applying unit applies preset weights to the corpus context word and the query context word.
  • the specific category includes at least one of a time category or a place category.
  • the preset weight is higher than a weight applied to the corpus context word and a word that does not correspond to the query context word among words included in the corpus and the input query.
  • the context similarity determining unit generates the plurality of corpus sentence embedding vectors and the query sentence embedding vector using a vectorization algorithm for the weighted corpus and the weighted input query.
  • the context similarity determining unit calculates a vector similarity between the plurality of corpus sentence embedding vectors and the query sentence embedding vector respectively using a vector similarity determination algorithm, and among the plurality of corpus sentence embedding vectors, the vector similarity sentence is high
  • the embedding vector is determined as the target sentence embedding vector.
  • the question and answer device extracts concepts, relationships, and attributes from the corpus, generates a plurality of conceptual graphs for the corpus using the extracted concepts, relationships, and attributes, and conceptual graphs and corpus that originate from the same sentence in the corpus Further comprising a concept graph management unit for storing a sentence embedding vector in correspondence, the candidate response determining unit determines a concept graph resulting from the same sentence as the target sentence embedding vector among the plurality of concept graphs as the target concept graph.
  • the response determining unit determines, as a response to the input query, a concept of the preset number having a high graph matching score among the plurality of candidate concepts.
  • weighting is applied to context words extracted from an input query according to a weighting rule, and weighting is applied to context words extracted from a corpus according to the weighting rules.
  • a context word is extracted from the input query and the corpus using a text analysis algorithm, and a preset weight is applied to the extracted context word.
  • the extracted context word corresponds to at least one of a time information category and a place information category.
  • the preset weight is higher than a weight applied to a word that does not correspond to the extracted context word among words included in the input query and the corpus.
  • the step of generating the query sentence embedding vector and the plurality of corpus sentence embedding vectors may include the query sentence embedding vector and the plurality of corpus sentence embedding vectors using a vectorization algorithm for the weighted input query and the corpus with weights. Create them.
  • step of determining the embedding vector having high vector similarity as a target sentence embedding vector vector similarity between the plurality of corpus sentence embedding vectors and the query sentence embedding vector is calculated using a vector similarity determination algorithm, and the plurality of Among the corpus sentence embedding vectors, the embedding vector having the highest vector similarity is determined as the target sentence embedding vector.
  • the method of determining a response may include extracting concepts, relationships, and attributes from the corpus prior to determining the target concept graph, and generating a plurality of conceptual graphs for the corpus using the extracted concepts, relationships, and attributes.
  • the method further includes storing a concept graph derived from the same sentence in the corpus and a sentence embedding vector in correspondence.
  • a concept graph resulting from the same sentence as the target sentence embedding vector is determined as the target concept graph.
  • the concept of the preset number having a high graph matching score is determined as a response to the input query.
  • the context word since a higher weight than a general word is applied to a context word corresponding to a specific category among words constituting sentences in a query and a corpus, the context word can be effectively distinguished from a general word, and through this, It can improve the performance of the response response decision.
  • FIG. 1 is a view showing an apparatus for answering questions according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example in which a weight applying unit applies weights to context words of a sentence, and a context similarity determining unit generates a sentence embedding vector using the weighted sentence.
  • FIG. 3 is a diagram for explaining a method of calculating similarity between sentence embedding vectors by a context similarity determining unit.
  • FIG. 4 is a diagram for explaining a method of generating conceptual graphs by a conceptual graph manager.
  • FIG. 5 is a diagram for explaining a method for determining a response of an input query by a question and answer device.
  • concise word refers to a word that includes information about at least one of a place or time in sentences in a query or corpus. For example, in the sentence “In 1705, who was the first scientist to be knighted?", the word “context” is the word “1705” indicating information about time, and the words “In” other than the word “context” ", ",", “who”, “was”, “the”, “first”, “scientist”, “to”, “be”, knighted” and “?” are common words.
  • sentence embedding vector refers to a fixed-length k-dimensional vector representing an implicit meaning to a sentence.
  • a corpus sentence embedding vector refers to a fixed-length k-dimensional vector representing an implicit meaning to sentences constituting a corpus
  • a query sentence embedding vector refers to a sentence type query. It refers to a k-dimensional vector of fixed length that represents an implicit meaning.
  • FIG. 1 is a diagram illustrating a question-and-answer apparatus according to an embodiment of the present invention
  • FIG. 2 is a sentence embedding vector using a weighting unit weighting context words of a sentence and a context similarity determining unit weighted sentence
  • 3 is a diagram illustrating an example of generating a similarity
  • FIG. 3 is a diagram illustrating a method of calculating similarity between sentence embedding vectors by a context similarity determining unit
  • FIG. 4 is a diagram illustrating a method of generating conceptual graphs by a conceptual graph manager to be.
  • the question-and-answer apparatus 100 may be a computing device driven by at least one processor, a weight application unit 110, a context similarity determination unit 120, a concept graph management unit 130, and a candidate It includes a response determining unit 140 and a response determining unit 150.
  • a weight application unit 110 may be a computing device driven by at least one processor, a weight application unit 110, a context similarity determination unit 120, a concept graph management unit 130, and a candidate It includes a response determining unit 140 and a response determining unit 150.
  • the weight application unit 110 extracts the corpus context word from the corpus, and extracts the query context word from the input query.
  • the weight application unit 110 extracts a corpus context word and a query context word from corpus and input query, respectively, using a text analysis algorithm.
  • the corpus context word and the query context word are words corresponding to a specific category
  • the specific category may include at least one of a time category or a place category.
  • the weight application unit 110 includes information about a place from a corpus or input query using a Named-Entity Recognition (NER) in conjunction with a geographical name dictionary database (not shown) such as GeoNames. Contextual words can be extracted.
  • NER Named-Entity Recognition
  • GeoNames a geographical name dictionary database
  • the weight applying unit 110 may extract a context word including information about time from a corpus or an input query in a rule-based method. Since a method of extracting a word from a specific sentence is a well-known technique, a detailed description is omitted in this specification.
  • corpus context words are words including information on at least one of a place or time in sentences constituting corpus
  • the query context word is a place in a sentence type query Or it means a word that contains information about at least one of the times.
  • the weight applying unit 110 applies weights to the corpus context word and the query context word according to the weight rule.
  • the weight applying unit 110 applies a preset weight to the corpus context word and the query context word, and the preset weight does not correspond to the corpus context word and the query context word among words included in the corpus and input query. It may be higher than the weight applied to the word that is not.
  • the context similarity determining unit 120 generates a plurality of corpus sentence embedding vectors and a query sentence embedding vector using a vectorization algorithm for a weighted corpus and a weighted input query.
  • FIG. 2 is a diagram illustrating an example in which a weight applying unit applies weights to context words of a sentence, and a context similarity determining unit generates a sentence embedding vector using the weighted sentence.
  • the weight applying unit 110 when the context similarity determining unit generates the sentence embedding vector for the sentence “H. Gilbert is an American 20c singer,” the weight applying unit 110 is placed in a place among words constituting the sentence. Higher weights than normal words may be applied to the context word “American”, which includes information about the time, and “20c”, the context word that includes information about the time. For example, the weight applying unit 110 may apply a weight of 0.5 to general words and a weight of 0.5 to 1 to context words.
  • the context similarity determining unit 120 applies a higher weight than the normal words to the context words by using the context attention on the word embedding vector for each word constituting the sentence.
  • L_Att is a contextual attention processing high weight to a word embedding vector of a context word corresponding to a place information category
  • T_Att is a contextual attention processing high weight to a word embedding vector of a context word corresponding to a time information category. to be.
  • the context similarity determining unit 120 determines similarity between words and generates a sentence embedding vector for the entire sentence.
  • context words have a higher weight than normal words, so the word embedding vectors associated with context words are learned with a higher weight than the embedding vectors associated with general words. It has a high impact.
  • the neural network classifier (for example, Bi-LSTM) incorrectly classifies context words because the frequency of use of context words in the training data is less than that of normal words. Although the probability of doing this is high, the sentence embedding vector generated as described above has a higher influence on the context words than the general words, so that the context words constituting the sentence in the neural network classifier can be more easily classified, which results in a response to the query. The performance of crystals can be improved.
  • the context similarity determining unit 120 determines a target sentence embedding vector among a plurality of corpus sentence embedding vectors based on the vector similarity between a plurality of corpus sentence embedding vectors and a query sentence embedding vector.
  • FIG. 3 is a diagram for explaining a method of calculating similarity between sentence embedding vectors by a context similarity determining unit.
  • the context similarity determiner 120 calculates vector similarity between a plurality of corpus sentence embedding vectors and a query sentence embedding vector, respectively, using a vector similarity determination algorithm.
  • the context similarity determining unit 120 may calculate a mathematical similarity between any one of a plurality of corpus sentence embedding vectors and a query sentence embedding vector using a vector similarity determination algorithm, and calculated The mathematical similarity can be determined as the vector similarity between two vectors.
  • the context similarity determining unit 120 determines a sentence embedding vector having a high vector similarity among a plurality of corpus sentence embedding vectors as a target sentence embedding vector having a context similar to a query sentence embedding vector. For example, the context similarity determining unit 120 may determine a sentence embedding vector having the highest vector similarity among a plurality of corpus sentence embedding vectors as a target sentence embedding vector.
  • the concept graph management unit 130 extracts concepts, relationships, and attributes from the corpus, generates a plurality of conceptual graphs for the corpus using the extracted concepts, relationships, and attributes, and embeds the conceptual graph and corpus sentences originating from the same sentence in the corpus Store the vectors in correspondence.
  • the concept graph management unit 130 extracts concepts, relationships, and attributes from sentences in a corpus, respectively.
  • the method of extracting the concept, relationship, and attribute from a specific sentence can be executed in various ways, so the embodiment of the present invention is not limited to any one method.
  • FIG. 4 is a diagram for explaining a method of generating conceptual graphs by a conceptual graph manager.
  • the concept graph management unit 130 is the concept and relation ⁇ ⁇ robot, is_a, word>: Wikipedia:robot), ( ⁇ robot, appear, play>: Wikipedia:robot) ⁇ can be extracted, and a conceptual graph can be generated.
  • the concept graph management unit 130 may store the corpus sentence embedding vector and the concept graph of the sentence "The word'robot' firstly written in a play” (from wikipedia document titled'robot'). The 130 may correlate and store the corpus sentence embedding vector and the concept graph for each of the sentences in the corpus.
  • the candidate response determining unit 140 determines a target concept graph corresponding to the target sentence embedding vector.
  • the candidate response determination unit 140 determines a concept graph resulting from the same sentence as the target sentence embedding vector among the plurality of concept graphs as the target concept graph. To this end, the candidate response determination unit 140 may search a plurality of concept graphs stored in the concept graph management unit 130 using the target sentence embedding vector.
  • the candidate response determination unit 140 calculates a graph matching score for each of the at least one concept included in the target concept graph, and determines at least one candidate concept corresponding to the input query.
  • the graph matching score is described as an example using a center-piece algorithm or the like, but is not necessarily limited to this.
  • the centerpiece algorithm is an already known algorithm, and detailed description is omitted herein.
  • the response determination unit 150 determines a predetermined number of concepts among candidate concepts as a response to the input query.
  • the response determination unit 150 determines a predetermined number of concepts having a high graph matching score among a plurality of candidate concepts as a response to the input query. For example, the response determination unit 150 extracts the concepts of the upper predetermined number that is semantically close to the target concept graph based on the calculated graph matching score, and determines the extracted concepts in response to an input query to the user Can provide.
  • FIG. 5 is a diagram for explaining a method for determining a response of an input query by a question and answer device.
  • FIG. 5 the same contents as in FIGS. 1 to 4 are omitted.
  • the question-and-answer apparatus 100 extracts a context word from an input query and a corpus (S100).
  • the question-and-answer apparatus 100 extracts context words from the input query and the corpus, respectively, using a text analysis algorithm.
  • the extracted context word corresponds to at least one of a time information category or a place information category.
  • the question-answering apparatus 100 applies weights to the extracted context words according to a weight rule (S101).
  • the question and answer device 100 applies a preset weight to the extracted context word, and the preset weight is higher than a weight applied to words that do not correspond to the extracted context word among words included in the input query and the corpus. Can be.
  • the query response device 100 generates a query sentence embedding vector for a weighted input query and a plurality of corpus sentence embedding vectors for a weighted corpus (S103).
  • the question-and-answer apparatus 100 generates query sentence embedding vectors and corpus sentence embedding vectors, respectively, using a vectorization algorithm for a weighted input query and a weighted corpus.
  • the question and answer device 100 calculates vector similarity between the query sentence embedding vector and the corpus sentence embedding vectors (S105).
  • the question-and-answer apparatus 100 calculates vector similarity between a plurality of corpus sentence embedding vectors and a query sentence embedding vector, respectively, using a vector similarity determination algorithm.
  • the question-answering apparatus 100 determines a sentence embedding vector having a high vector similarity among corpus sentence embedding vectors as a target sentence embedding vector (S107).
  • the question-answering apparatus 100 determines an embedding vector having the highest vector similarity among a plurality of corpus sentence embedding vectors as a target sentence embedding vector.
  • the question-and-answer device 100 generates a concept graph for sentences in the corpus, and stores the generated concept graph in correspondence with the corpus sentence embedding vector (S109).
  • the question-and-answer apparatus 100 extracts concepts, relationships, and attributes from the corpus, and generates a plurality of conceptual graphs for the corpus using the extracted concepts, relationships, and attributes. Thereafter, the question-and-answer apparatus 100 stores the concept graph resulting from the same sentence in the corpus and the sentence embedding vector in correspondence.
  • the concept graph and the sentence embedding vector are stored in correspondence after determining the target sentence embedding vector in FIG. 5, the concept graph and the sentence embedding vector are determined before determining the target concept graph corresponding to the target sentence embedding vector in a later step. It is enough to store it in correspondence.
  • the question and answer device 100 determines a target concept graph corresponding to the target sentence embedding vector (S111).
  • the question-and-answer apparatus 100 determines a concept graph derived from the same sentence as the target sentence embedding vector among the plurality of concept graphs as the target concept graph.
  • the question and answer device 100 calculates a graph matching score for each of the at least one concept included in the target concept graph, and determines at least one candidate concept corresponding to the input query (S113).
  • the question and answer device 100 determines a predetermined number of concepts from among candidate concepts as a response to the input query (S115).
  • the question-and-answer apparatus 100 determines a predetermined number of concepts having a high graph matching score among a plurality of candidate concepts as a response to the input query.
  • contextual expression words which are words corresponding to a specific category, among words constituting text in a query and a corpus
  • contextual expression words can be effectively distinguished from general words, . Through this, it is possible to improve the performance of determining the response to a query.

Landscapes

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

Abstract

질의응답 장치로서, 말뭉치에서 말뭉치 맥락 단어를 추출하고, 가중치 규칙에 따라 상기 말뭉치 맥락 단어에 가중치를 적용하고, 입력 질의에서 질의 맥락 단어를 추출하고, 상기 가중치 규칙에 따라 상기 질의 맥락 단어에 가중치를 적용하는 가중치 적용부, 가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들 및 가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 기준으로 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 대상 문장 임베딩 벡터를 결정하는 맥락 유사도 결정부, 상기 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하고, 상기 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 상기 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정하는 후보 응답 결정부, 그리고 상기 후보 개념들 중에서 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 응답 결정부를 포함한다.

Description

개념 그래프 기반 질의응답 장치 및 방법
본 발명은 개념 그래프 기반 질의응답 기술에 관한 것이다.
질의응답을 위해 다양한 방법들이 연구되고 있다.
우선, 두 개의 개념 그래프를 이용하여 확장 그래프를 생성하고, 외부로부터 입력되는 질문을 토대로 생성한 질문 그래프와 확장 그래프를 토대로 정답 노드를 찾아 질문에 대한 정답을 도출하는, 개념 그래프 매칭을 이용한 질의응답 방법이 있다. 이 질의응답 방법을 이용하여 질의에 응답하는 경우 질문 그래프와 모든 문서 그래프간 매칭이 필요하기 때문에 오랜 시간이 소요되어, 질의 응답 속도가 느려지는 문제점이 있다.
최근에는 질의 및 질의에 대한 응답 문장들로 구성된 말뭉치의 임베딩 벡터를 생성하고, 임베딩 벡터들 사이의 벡터 유사도를 기준으로 질의에 대한 응답을 결정하는 방법이 활용되었다. 그러나, 이러한 방법은 임베딩 벡터를 생성하는 과정에서 미리 추출된 맥락 단어만을 활용하므로, 질의 및 말뭉치에서 맥락 단어와 일반 단어간의 관계성을 활용하지 못해 일반 단어로만 구성된 질의에 대해 말뭉치 내에서 검색 성능이 떨어지는 문제가 있었다.
본 발명은 개념 그래프 기반 질의응답 장치에서 임베딩 벡터를 생성하는데 있어, 질의 및 말뭉치 내 문장들을 구성하는 단어들 중 맥락 단어에 높은 가중치를 적용하여 질의에 대한 응답을 제공하는 기술을 제공한다.
본 발명의 일 실시예에 따른 질의응답 장치는 말뭉치에서 말뭉치 맥락 단어를 추출하고, 가중치 규칙에 따라 상기 말뭉치 맥락 단어에 가중치를 적용하고, 입력 질의에서 질의 맥락 단어를 추출하고, 상기 가중치 규칙에 따라 상기 질의 맥락 단어에 가중치를 적용하는 가중치 적용부, 가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들 및 가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 기준으로 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 대상 문장 임베딩 벡터를 결정하는 맥락 유사도 결정부, 상기 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하고, 상기 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 상기 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정하는 후보 응답 결정부, 그리고 상기 후보 개념들 중에서 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 응답 결정부를 포함한다.
상기 가중치 적용부는 텍스트 분석 알고리즘을 이용하여 상기 말뭉치 및 상기 입력 질의로부터 상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어를 추출한다.
상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어는 특정 카테고리에 해당하는 단어이고, 상기 가중치 적용부는 상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어에 미리 설정된 가중치를 적용한다.
상기 특정 카테고리는 시간 카테고리 또는 장소 카테고리 중 적어도 하나를 포함한다.
상기 미리 설정된 가중치는 상기 말뭉치 및 상기 입력 질의에 포함된 단어들 중에서, 상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높다.
상기 맥락 유사도 결정부는 상기 가중치가 적용된 말뭉치 및 상기 가중치가 적용된 입력 질의에 대해 벡터화 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들 및 상기 질의 문장 임베딩 벡터를 생성한다.
상기 맥락 유사도 결정부는 벡터 유사도 판단 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 높은 문장 임베딩 벡터를 상기 대상 문장 임베딩 벡터로 결정한다.
상기 질의응답 장치는 상기 말뭉치로부터 개념, 관계 및 속성을 추출하고, 상기 추출한 개념, 관계 및 속성을 이용하여 상기 말뭉치에 대한 복수의 개념 그래프들을 생성하고, 상기 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 말뭉치 문장 임베딩 벡터를 대응시켜 저장하는 개념 그래프 관리부를 더 포함하고, 상기 후보 응답 결정부는 상기 복수의 개념 그래프들 중에서, 상기 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 상기 대상 개념 그래프로 결정한다.
상기 응답 결정부는 상기 복수의 후보 개념들 중에서 상기 그래프 매칭 점수가 높은 상기 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정한다.
본 발명의 일 실시예에 따른 질의응답 장치가 입력 질의의 응답을 결정하는 방법은 입력 질의에서 추출한 맥락 단어에 가중치 규칙에 따라 가중치를 적용하고, 말뭉치에서 추출한 맥락 단어에 상기 가중치 규칙에 따라 가중치를 적용하는 단계, 가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들을 생성하는 단계, 상기 질의 문장 임베딩 벡터와 상기 복수의 말뭉치 문장 임베딩 벡터들 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 높은 문장 임베딩 벡터를 대상 문장 임베딩 벡터로 결정하는 단계, 상기 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하고, 상기 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 상기 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정하는 단계, 그리고 상기 후보 개념들 중에서 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 단계를 포함한다.
상기 가중치를 적용하는 단계는 텍스트 분석 알고리즘을 이용하여 상기 입력 질의 및 상기 말뭉치로부터 맥락 단어를 추출하고, 추출한 맥락 단어에 미리 설정된 가중치를 적용한다.
상기 추출한 맥락 단어는 시간 정보 카테고리 또는 장소 정보 카테고리 중 적어도 하나에 해당한다.
상기 미리 설정된 가중치는 상기 입력 질의 및 상기 말뭉치에 포함된 단어들 중에서, 상기 추출한 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높다.
상기 질의 문장 임베딩 벡터 및 상기 복수의 말뭉치 문장 임베딩 벡터들을 생성하는 단계는 상기 가중치가 적용된 입력 질의 및 상기 가중치가 적용된 말뭉치에 대해 벡터화 알고리즘을 이용하여 상기 질의 문장 임베딩 벡터 및 상기 복수의 말뭉치 문장 임베딩 벡터들을 생성한다.
상기 벡터 유사도가 높은 임베딩 벡터를 대상 문장 임베딩 벡터로 결정하는 단계는 벡터 유사도 판단 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 가장 높은 임베딩 벡터를 상기 대상 문장 임베딩 벡터로 결정한다.
상기 응답 결정 방법은 상기 대상 개념 그래프를 결정하는 단계 이전에, 상기 말뭉치로부터 개념, 관계 및 속성을 추출하는 단계, 상기 추출한 개념, 관계 및 속성을 이용하여 상기 말뭉치에 대한 복수의 개념 그래프들을 생성하는 단계, 그리고 상기 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 문장 임베딩 벡터를 대응시켜 저장하는 단계를 더 포함한다.
상기 대상 개념 그래프를 결정하는 단계는 상기 복수의 개념 그래프들 중에서, 상기 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 상기 대상 개념 그래프로 결정한다.
상기 입력 질의에 대한 응답으로 결정하는 단계는 상기 후보 개념들 중에서 상기 그래프 매칭 점수가 높은 상기 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정한다.
본 발명에 따르면, 질의 및 말뭉치 내 문장들을 구성하는 단어들 중 특정 카테고리에 해당하는 맥락 단어에 일반 단어보다 높은 가중치를 적용하는바, 맥락 단어를 일반 단어와 효율적으로 구분할 수 있고, 이를 통해 질의에 대한 응답 결정의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 질의응답 장치를 도시한 도면이다.
도 2는 가중치 적용부가 문장의 맥락 단어들에 가중치를 적용하고, 맥락 유사도 결정부가 가중치가 적용된 문장을 이용하여 문장 임베딩 벡터를 생성하는 예시를 설명하는 도면이다.
도 3은 맥락 유사도 결정부가 문장 임베딩 벡터 사이의 유사도를 계산하는 방법을 설명하는 도면이다.
도 4는 개념 그래프 관리부가 개념 그래프들을 생성하는 방법을 설명하는 도면이다.
도 5는 질의응답 장치가 입력 질의의 응답을 결정하는 방법을 설명하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서, "맥락 단어"는 질의 또는 말뭉치 내 문장들에서 장소 또는 시간 중 적어도 하나에 대한 정보를 포함하는 단어를 지칭한다. 예를 들면, 문장 "In 1705, who was the first scientist to be knighted?"에서, "맥락 단어"는 시간에 대한 정보를 나타내는 단어 "1705"이고, "맥락 단어"가 아닌 이외의 단어들 "In", ",", "who", "was", "the", "first", "scientist", "to", "be", knighted" 및 "?"는 일반 단어에 해당한다.
또한, 본 명세서에서, "문장 임베딩 벡터"는 문장에 대한 함축적인 의미를 나타내는 고정 길이의 k차원의 벡터를 지칭한다. 따라서, 본 명세서에서, "말뭉치 문장 임베딩 벡터"는 말뭉치를 구성하는 문장들에 대한 함축적인 의미를 나타내는 고정 길이의 k차원의 벡터를 지칭하며, "질의 문장 임베딩 벡터"는 문장 형태의 질의에 대한 함축적인 의미를 나타내는 고정 길이의 k차원의 벡터를 지칭한다.
이하 도면을 참조로 하여 본 발명의 실시예에 따른 개념 그래프 기반 질의응답 장치 및 이를 이용한 질의응답 방법에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 질의응답 장치를 도시한 도면이고, 도 2는 가중치 적용부가 문장의 맥락 단어들에 가중치를 적용하고, 맥락 유사도 결정부가 가중치가 적용된 문장을 이용하여 문장 임베딩 벡터를 생성하는 예시를 설명하는 도면이고, 도 3은 맥락 유사도 결정부가 문장 임베딩 벡터 사이의 유사도를 계산하는 방법을 설명하는 도면이고, 도 4는 개념 그래프 관리부가 개념 그래프들을 생성하는 방법을 설명하는 도면이다.
도 1을 참고하면, 질의응답 장치(100)는 적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 디바이스일 수 있으며, 가중치 적용부(110), 맥락 유사도 결정부(120), 개념 그래프 관리부(130), 후보 응답 결정부(140) 및 응답 결정부(150)를 포함한다. 본 발명의 실시예에서는 설명의 편의를 위하여 상기의 구성 요소만을 언급하고 있으나, 질의응답에 필요한 추가 구성 요소들을 포함할 수 있다.
가중치 적용부(110)는 말뭉치에서 말뭉치 맥락 단어를 추출하고, 입력 질의에서 질의 맥락 단어를 추출한다.
구체적으로, 가중치 적용부(110)는 텍스트 분석 알고리즘을 이용하여 말뭉치 및 입력 질의로부터 말뭉치 맥락 단어 및 질의 맥락 단어를 각각 추출한다.
이 경우, 말뭉치 맥락 단어 및 질의 맥락 단어는 특정 카테고리에 해당하는 단어이고, 특정 카테고리는 시간 카테고리 또는 장소 카테고리 중 적어도 하나를 포함할 수 있다.
예를 들면, 가중치 적용부(110)는 GeoNames와 같은 지명 사전 데이터베이스(미도시)와 연동하여 개체명 인식 알고리즘(Named-Entity Recognition, NER)을 이용해 말뭉치 또는 입력 질의로부터 장소에 대한 정보를 포함하는 맥락 단어를 추출할 수 있다.
또한, 가중치 적용부(110)는 규칙 기반 방법으로 말뭉치 또는 입력 질의로부터 시간에 대한 정보를 포함하는 맥락 단어를 추출할 수 있다. 특정 문장에서 단어를 추출하는 방법은 이미 공지된 기술이므로 본 명세서에서는 자세한 설명을 생략한다.
본 명세서에서 "맥락 단어"에 대해 앞서 정의한 바에 따라, 말뭉치 맥락 단어들은 말뭉치를 구성하는 문장들에서 장소 또는 시간 중 적어도 하나에 대한 정보를 포함하는 단어이고, 질의 맥락 단어는 문장 형태의 질의에서 장소 또는 시간 중 적어도 하나에 대한 정보를 포함하는 단어를 의미한다.
가중치 적용부(110)는 가중치 규칙에 따라 말뭉치 맥락 단어 및 질의 맥락 단어에 가중치를 적용한다.
구체적으로, 가중치 적용부(110)는 말뭉치 맥락 단어 및 질의 맥락 단어에 미리 설정된 가중치를 적용하며, 미리 설정된 가중치는 말뭉치 및 입력 질의에 포함된 단어들 중에서, 말뭉치 맥락 단어 및 질의 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높을 수 있다.
맥락 유사도 결정부(120)는 가중치가 적용된 말뭉치 및 가중치가 적용된 입력 질의에 대해 벡터화 알고리즘을 이용하여 복수의 말뭉치 문장 임베딩 벡터들 및 질의 문장 임베딩 벡터를 생성한다.
도 2는 가중치 적용부가 문장의 맥락 단어들에 가중치를 적용하고, 맥락 유사도 결정부가 가중치가 적용된 문장을 이용하여 문장 임베딩 벡터를 생성하는 예시를 설명하는 도면이다.
도 2를 참고하면, 예를 들어 문장 "H.Gilbert is an American 20c singer"에 대해 맥락 유사도 결정부가 문장 임베딩 벡터를 생성하는 경우, 가중치 적용부(110)는 문장을 구성하는 단어들 중 장소에 대한 정보를 포함하는 맥락 단어인 "American" 및 시간에 대한 정보를 포함하는 맥락 단어인 "20c"에 일반 단어들보다 높은 가중치를 적용할 수 있다. 예를 들면, 가중치 적용부(110)는 일반 단어들에 0.5의 가중치를 적용하고, 맥락 단어들에 0.5 내지 1의 가중치를 적용할 수 있다.
맥락 유사도 결정부(120)는 문장을 구성하는 각 단어들에 대한 단어 임베딩 벡터를 대상으로 맥락 어텐션을 이용하여 맥락 단어들에 일반 단어들 보다 높은 가중치를 적용한다. 도 2에서, L_Att는 장소 정보 카테고리에 해당하는 맥락 단어의 단어 임베딩 벡터에 높은 가중치를 처리하는 맥락 어텐션이고, T_Att는 시간 정보 카테고리에 해당하는 맥락 단어의 단어 임베딩 벡터에 높은 가중치를 처리하는 맥락 어텐션이다.
이후, 맥락 유사도 결정부(120)는 단어들 사이의 유사성을 결정하고, 문장 전체에 대한 문장 임베딩 벡터를 생성한다. 문장 임베딩 벡터 생성 과정에서 일반 단어보다 맥락 단어들에 높은 가중치가 적용되는바, 맥락 단어들과 관련된 단어 임베딩 벡터는 일반 단어와 관련된 임베딩 벡터보다 높은 가중치로 학습되어 생성된 문장 임베딩 벡터에서 맥락 단어들은 높은 영향을 미치게 된다.
맥락 단어들과 일반 단어들에 동일한 가중치가 적용되는 경우, 학습 데이터에서 맥락 단어들의 사용 빈도가 일반 단어들에 비해 적은 편이기 때문에 신경망 분류기(예를 들면, Bi-LSTM)가 맥락 단어들을 잘못 분류할 확률이 높으나, 위와 같이 생성된 문장 임베딩 벡터는 맥락 단어들이 일반 단어들보다 높은 영향을 가지게 되어 신경망 분류기에서 문장을 구성하는 맥락 단어들을 보다 용이하게 분류할 수 있고, 이는 결과적으로 질의에 대한 응답 결정의 성능을 향상시킬 수 있다.
맥락 유사도 결정부(120)는 복수의 말뭉치 문장 임베딩 벡터들과 질의 문장 임베딩 벡터 사이의 벡터 유사도를 기준으로 복수의 말뭉치 문장 임베딩 벡터들 중에서 대상 문장 임베딩 벡터를 결정한다.
도 3은 맥락 유사도 결정부가 문장 임베딩 벡터 사이의 유사도를 계산하는 방법을 설명하는 도면이다.
구체적으로, 맥락 유사도 결정부(120)는 벡터 유사도 판단 알고리즘을 이용하여 복수의 말뭉치 문장 임베딩 벡터들과 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산한다.
예를 들면, 도 3을 참고하면, 맥락 유사도 결정부(120)는 복수의 말뭉치 문장 임베딩 벡터 중 어느 하나와 질의 문장 임베딩 벡터 사이의 수학적 유사도를 벡터 유사도 판단 알고리즘을 이용하여 계산할 수 있고, 계산된 수학적 유사도를 두 벡터 사이의 벡터 유사도로 결정할 수 있다.
이후, 맥락 유사도 결정부(120)는 복수의 말뭉치 문장 임베딩 벡터들 중에서 벡터 유사도가 높은 문장 임베딩 벡터를 질의 문장 임베딩 벡터와 유사한 맥락을 가진 대상 문장 임베딩 벡터로 결정한다. 예를 들면, 맥락 유사도 결정부(120)는 복수의 말뭉치 문장 임베딩 벡터들 중에서 벡터 유사도가 가장 높은 문장 임베딩 벡터를 대상 문장 임베딩 벡터로 결정할 수 있다.
개념 그래프 관리부(130)는 말뭉치로부터 개념, 관계 및 속성을 추출하고, 추출한 개념, 관계 및 속성을 이용하여 말뭉치에 대한 복수의 개념 그래프들을 생성하고, 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 말뭉치 문장 임베딩 벡터를 대응시켜 저장한다.
구체적으로, 개념 그래프 관리부(130)는 말뭉치 내 문장들로부터 개념, 관계 및 속성을 각각 추출한다. 특정 문장으로부터 개념, 관계 및 속성을 추출하는 방법은 다양한 방법으로 실행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
도 4는 개념 그래프 관리부가 개념 그래프들을 생성하는 방법을 설명하는 도면이다.
도 4를 참고하면, 예를 들면, 말뭉치 내 문장 "The word 'robot' firstly written in a play" (from wikipedia document titled 'robot')"에 대해, 개념 그래프 관리부(130)는 개념 및 관계로 {<robot, is_a, word> : Wikipedia:robot), (<robot, appear, play> : Wikipedia:robot)}를 추출하고, 이에 대한 개념 그래프를 생성할 수 있다.
이후, 개념 그래프 관리부(130)는 문장 "The word 'robot' firstly written in a play" (from wikipedia document titled 'robot')"의 말뭉치 문장 임베딩 벡터와 개념 그래프를 대응시켜 저장할 수 있다. 개념 그래프 관리부(130)는 말뭉치 내 문장들 각각에 대해 위와 같은 방법으로 말뭉치 문장 임베딩 벡터와 개념 그래프를 대응시켜 저장할 수 있다.
후보 응답 결정부(140)는 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정한다.
구체적으로, 후보 응답 결정부(140)는 복수의 개념 그래프들 중에서, 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 대상 개념 그래프로 결정한다. 이를 위해 후보 응답 결정부(140)는 대상 문장 임베딩 벡터를 이용하여 개념 그래프 관리부(130)에 저장된 복수의 개념 그래프들을 검색할 수 있다.
후보 응답 결정부(140)는 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정한다. 이때, 본 명세서에서는 그래프 매칭 점수는 센터피스(center-piece) 알고리즘 등을 사용하여 구하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 또한, 센터피스 알고리즘은 이미 알려진 알고리즘으로, 본 명세서에서는 상세한 설명은 생략한다.
응답 결정부(150)는 후보 개념들 중에서 미리 설정된 수만큼의 개념을 입력 질의에 대한 응답으로 결정한다.
구체적으로, 응답 결정부(150)는 복수의 후보 개념들 중에서 그래프 매칭 점수가 높은 미리 설정된 수만큼의 개념을 입력 질의에 대한 응답으로 결정한다. 예를 들면, 응답 결정부(150)는 계산한 그래프 매칭 점수를 토대로 대상 개념 그래프와 의미적으로 가까운 상위 미리 설정된 수만큼의 개념들을 추출하고, 추출한 개념들을 입력 질의에 대한 응답으로 결정하여 사용자에게 제공할 수 있다.
도 5는 질의응답 장치가 입력 질의의 응답을 결정하는 방법을 설명하는 도면이다.
도 5에서, 도 1 내지 도 4와 동일한 내용은 그 자세한 설명을 생략한다.
도 5를 참고하면, 질의응답 장치(100)는 입력 질의 및 말뭉치에서 맥락 단어를 추출한다(S100).
구체적으로, 질의응답 장치(100)는 텍스트 분석 알고리즘을 이용하여 입력 질의 및 말뭉치로부터 맥락 단어를 각각 추출한다. 이 경우, 추출한 맥락 단어는 시간 정보 카테고리 또는 장소 정보 카테고리 중 적어도 하나에 해당한다.
질의응답 장치(100)는 추출한 맥락 단어에 가중치 규칙에 따라 가중치를 적용한다(S101).
구체적으로, 질의응답 장치(100)는 추출한 맥락 단어에 미리 설정된 가중치를 적용하며, 미리 설정된 가중치는 입력 질의 및 말뭉치에 포함된 단어들 중에서, 추출한 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높을 수 있다.
질의응답 장치(100)는 가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들을 생성한다(S103).
구체적으로, 질의응답 장치(100)는 가중치가 적용된 입력 질의 및 가중치가 적용된 말뭉치에 대해 벡터화 알고리즘을 이용하여 질의 문장 임베딩 벡터 및 말뭉치 문장 임베딩 벡터들을 각각 생성한다.
질의응답 장치(100)는 질의 문장 임베딩 벡터와 말뭉치 문장 임베딩 벡터들 사이의 벡터 유사도를 각각 계산한다(S105).
구체적으로, 질의응답 장치(100)는 벡터 유사도 판단 알고리즘을 이용하여 복수의 말뭉치 문장 임베딩 벡터들과 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산한다.
질의응답 장치(100)는 말뭉치 문장 임베딩 벡터들 중에서 벡터 유사도가 높은 문장 임베딩 벡터를 대상 문장 임베딩 벡터로 결정한다(S107).
구체적으로, 질의응답 장치(100)는 복수의 말뭉치 문장 임베딩 벡터들 중에서 벡터 유사도가 가장 높은 임베딩 벡터를 대상 문장 임베딩 벡터로 결정한다.
질의응답 장치(100)는 말뭉치 내 문장들에 대한 개념 그래프를 생성하고, 생성한 개념 그래프를 말뭉치 문장 임베딩 벡터와 대응시켜 저장한다(S109).
구체적으로, 질의응답 장치(100)는 말뭉치로부터 개념, 관계 및 속성을 추출하고, 추출한 개념, 관계 및 속성을 이용하여 말뭉치에 대한 복수의 개념 그래프들을 생성한다. 이후, 질의응답 장치(100)는 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 문장 임베딩 벡터를 대응시켜 저장한다.
한편, 비록 도 5에서는 대상 문장 임베딩 벡터를 결정한 이후 개념 그래프와 문장 임베딩 벡터를 대응시켜 저장하였으나, 이후 단계에서 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하기 이전에 개념 그래프와 문장 임베딩 벡터를 대응시켜 저장하면 족하다.
질의응답 장치(100)는 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정한다(S111).
구체적으로, 질의응답 장치(100)는 복수의 개념 그래프들 중에서, 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 대상 개념 그래프로 결정한다.
질의응답 장치(100)는 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정한다(S113).
질의응답 장치(100)는 후보 개념들 중에서 미리 설정된 수만큼의 개념을 입력 질의에 대한 응답으로 결정한다(S115).
구체적으로, 질의응답 장치(100)는 복수의 후보 개념들 중에서 그래프 매칭 점수가 높은 미리 설정된 수만큼의 개념을 입력 질의에 대한 응답으로 결정한다.
본 발명에 따르면, 질의 및 말뭉치 내 텍스트를 구성하는 단어들 중 특정 카테고리에 해당하는 단어들인 맥락 표현 단어들에 일반 단어보다 높은 가중치를 적용하는바, 맥락 표현 단어들을 일반 단어와 효율적으로 구분할 수 있고, 이를 통해 질의에 대한 응답 결정의 성능을 향상시킬 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (18)

  1. 질의응답 장치로서,
    말뭉치에서 말뭉치 맥락 단어를 추출하고, 가중치 규칙에 따라 상기 말뭉치 맥락 단어에 가중치를 적용하고, 입력 질의에서 질의 맥락 단어를 추출하고, 상기 가중치 규칙에 따라 상기 질의 맥락 단어에 가중치를 적용하는 가중치 적용부,
    가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들 및 가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 기준으로 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 대상 문장 임베딩 벡터를 결정하는 맥락 유사도 결정부,
    상기 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하고, 상기 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 상기 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정하는 후보 응답 결정부, 그리고
    상기 후보 개념들 중에서 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 응답 결정부
    를 포함하는 질의응답 장치.
  2. 제1항에 있어서,
    상기 가중치 적용부는
    텍스트 분석 알고리즘을 이용하여 상기 말뭉치 및 상기 입력 질의로부터 상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어를 추출하는 질의응답 장치.
  3. 제1항에 있어서,
    상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어는
    특정 카테고리에 해당하는 단어이고,
    상기 가중치 적용부는
    상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어에 미리 설정된 가중치를 적용하는 질의응답 장치.
  4. 제3항에 있어서,
    상기 특정 카테고리는
    시간 카테고리 또는 장소 카테고리 중 적어도 하나를 포함하는 질의응답 장치.
  5. 제3항에 있어서,
    상기 미리 설정된 가중치는
    상기 말뭉치 및 상기 입력 질의에 포함된 단어들 중에서, 상기 말뭉치 맥락 단어 및 상기 질의 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높은 질의응답 장치.
  6. 제1항에 있어서,
    상기 맥락 유사도 결정부는
    상기 가중치가 적용된 말뭉치 및 상기 가중치가 적용된 입력 질의에 대해 벡터화 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들 및 상기 질의 문장 임베딩 벡터를 생성하는 질의응답 장치.
  7. 제1항에 있어서,
    상기 맥락 유사도 결정부는
    벡터 유사도 판단 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 높은 문장 임베딩 벡터를 상기 대상 문장 임베딩 벡터로 결정하는 질의응답 장치.
  8. 제1항에 있어서,
    상기 말뭉치로부터 개념, 관계 및 속성을 추출하고, 상기 추출한 개념, 관계 및 속성을 이용하여 상기 말뭉치에 대한 복수의 개념 그래프들을 생성하고, 상기 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 말뭉치 문장 임베딩 벡터를 대응시켜 저장하는 개념 그래프 관리부
    를 더 포함하고,
    상기 후보 응답 결정부는
    상기 복수의 개념 그래프들 중에서, 상기 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 상기 대상 개념 그래프로 결정하는 질의응답 장치.
  9. 제1항에 있어서,
    상기 응답 결정부는
    상기 복수의 후보 개념들 중에서 상기 그래프 매칭 점수가 높은 상기 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 질의응답 장치.
  10. 질의응답 장치가 입력 질의의 응답을 결정하는 방법으로서,
    입력 질의에서 추출한 맥락 단어에 가중치 규칙에 따라 가중치를 적용하고, 말뭉치에서 추출한 맥락 단어에 상기 가중치 규칙에 따라 가중치를 적용하는 단계,
    가중치가 적용된 입력 질의에 대한 질의 문장 임베딩 벡터를 생성하고, 가중치가 적용된 말뭉치에 대한 복수의 말뭉치 문장 임베딩 벡터들을 생성하는 단계,
    상기 질의 문장 임베딩 벡터와 상기 복수의 말뭉치 문장 임베딩 벡터들 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 높은 문장 임베딩 벡터를 대상 문장 임베딩 벡터로 결정하는 단계,
    상기 대상 문장 임베딩 벡터에 대응하는 대상 개념 그래프를 결정하고, 상기 대상 개념 그래프에 포함된 적어도 하나 이상의 개념들 각각에 대한 그래프 매칭 점수를 계산하여, 상기 입력 질의에 대응하는 적어도 하나 이상의 후보 개념들을 결정하는 단계, 그리고
    상기 후보 개념들 중에서 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 단계
    를 포함하는 응답 결정 방법.
  11. 제10항에 있어서,
    상기 가중치를 적용하는 단계는
    텍스트 분석 알고리즘을 이용하여 상기 입력 질의 및 상기 말뭉치로부터 맥락 단어를 추출하고, 추출한 맥락 단어에 미리 설정된 가중치를 적용하는 응답 결정 방법.
  12. 제11항에 있어서,
    상기 추출한 맥락 단어는
    시간 정보 카테고리 또는 장소 정보 카테고리 중 적어도 하나에 해당하는 응답 결정 방법.
  13. 제11항에 있어서,
    상기 미리 설정된 가중치는
    상기 입력 질의 및 상기 말뭉치에 포함된 단어들 중에서, 상기 추출한 맥락 단어에 해당하지 않는 단어에 적용되는 가중치보다 높은 응답 결정 방법.
  14. 제10항에 있어서,
    상기 질의 문장 임베딩 벡터 및 상기 복수의 말뭉치 문장 임베딩 벡터들을 생성하는 단계는
    상기 가중치가 적용된 입력 질의 및 상기 가중치가 적용된 말뭉치에 대해 벡터화 알고리즘을 이용하여 상기 질의 문장 임베딩 벡터 및 상기 복수의 말뭉치 문장 임베딩 벡터들을 생성하는 응답 결정 방법.
  15. 제10항에 있어서,
    상기 벡터 유사도가 높은 임베딩 벡터를 대상 문장 임베딩 벡터로 결정하는 단계는
    벡터 유사도 판단 알고리즘을 이용하여 상기 복수의 말뭉치 문장 임베딩 벡터들과 상기 질의 문장 임베딩 벡터 사이의 벡터 유사도를 각각 계산하고, 상기 복수의 말뭉치 문장 임베딩 벡터들 중에서 상기 벡터 유사도가 가장 높은 임베딩 벡터를 상기 대상 문장 임베딩 벡터로 결정하는 응답 결정 방법.
  16. 제10항에 있어서,
    상기 대상 개념 그래프를 결정하는 단계 이전에,
    상기 말뭉치로부터 개념, 관계 및 속성을 추출하는 단계,
    상기 추출한 개념, 관계 및 속성을 이용하여 상기 말뭉치에 대한 복수의 개념 그래프들을 생성하는 단계, 그리고
    상기 말뭉치 내 동일한 문장에서 비롯된 개념 그래프와 문장 임베딩 벡터를 대응시켜 저장하는 단계
    를 더 포함하는 응답 결정 방법.
  17. 제16항에 있어서,
    상기 대상 개념 그래프를 결정하는 단계는
    상기 복수의 개념 그래프들 중에서, 상기 대상 문장 임베딩 벡터와 동일한 문장에서 비롯된 개념 그래프를 상기 대상 개념 그래프로 결정하는 응답 결정 방법.
  18. 제10항에 있어서,
    상기 입력 질의에 대한 응답으로 결정하는 단계는
    상기 후보 개념들 중에서 상기 그래프 매칭 점수가 높은 상기 미리 설정된 수만큼의 개념을 상기 입력 질의에 대한 응답으로 결정하는 응답 결정 방법.
PCT/KR2018/014860 2018-11-27 2018-11-28 개념 그래프 기반 질의응답 장치 및 방법 Ceased WO2020111314A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180148013A KR102138130B1 (ko) 2018-11-27 2018-11-27 개념 그래프 기반 질의응답 장치 및 방법
KR10-2018-0148013 2018-11-27

Publications (1)

Publication Number Publication Date
WO2020111314A1 true WO2020111314A1 (ko) 2020-06-04

Family

ID=70853271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/014860 Ceased WO2020111314A1 (ko) 2018-11-27 2018-11-28 개념 그래프 기반 질의응답 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102138130B1 (ko)
WO (1) WO2020111314A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183111A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 长文本语义相似度匹配方法、装置、电子设备及存储介质
CN113505599A (zh) * 2021-09-10 2021-10-15 北京惠每云科技有限公司 病历文书中实体概念的提取方法、装置及可读存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526501B1 (ko) * 2020-09-02 2023-04-27 고려대학교 산학협력단 질의에 대한 응답 결정 장치, 방법 및 시스템
CN112200547B (zh) * 2020-11-12 2021-06-15 北京三维天地科技股份有限公司 一种实验室科学数据管理系统
KR102593907B1 (ko) * 2020-11-23 2023-10-25 한국과학기술원 의미역 결정 기반 신경망 연산 방법 및 장치
KR102464998B1 (ko) * 2021-02-08 2022-11-09 숭실대학교산학협력단 상식적인 질문 답변 추론 방법 및 장치
KR102517453B1 (ko) * 2021-05-14 2023-04-03 울산과학기술원 국가간 무역 유사도 그래프를 이용한 항만 물동량 예측 시스템 및 그 방법
KR102648990B1 (ko) * 2021-09-30 2024-04-23 (주)듣는교과서 또래 학습 추천 방법 및 장치
KR102850753B1 (ko) * 2021-11-25 2025-08-26 아일리스프런티어 주식회사 금융 용어 언어 모델에 기반하여 금융 도메인의 다양한 질의에 대한 의도를 분류하고 및 답변을 검색하는 방법 및 시스템
CN116361423B (zh) * 2021-12-23 2026-02-13 腾讯科技(深圳)有限公司 语句生成方法、装置以及计算机可读存储介质
KR102899850B1 (ko) * 2023-02-22 2025-12-18 성균관대학교산학협력단 질의 중심 기반의 문서 요약 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302156A1 (en) * 2010-06-08 2011-12-08 Microsoft Corporation Re-ranking search results based on lexical and ontological concepts
US20160357855A1 (en) * 2015-06-02 2016-12-08 International Business Machines Corporation Utilizing Word Embeddings for Term Matching in Question Answering Systems
KR20170096282A (ko) * 2016-02-15 2017-08-24 한국과학기술원 단어 자질 가중치를 적용한 딥 러닝 기반 개체 유형 분류 방법
KR20180092808A (ko) * 2017-02-08 2018-08-20 한국과학기술원 개념 그래프 기반 질의응답 시스템 및 이를 이용한 문맥 검색 방법
KR20180125746A (ko) * 2017-05-16 2018-11-26 동아대학교 산학협력단 문장 임베딩 및 유사 질문 검색을 위한 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302156A1 (en) * 2010-06-08 2011-12-08 Microsoft Corporation Re-ranking search results based on lexical and ontological concepts
US20160357855A1 (en) * 2015-06-02 2016-12-08 International Business Machines Corporation Utilizing Word Embeddings for Term Matching in Question Answering Systems
KR20170096282A (ko) * 2016-02-15 2017-08-24 한국과학기술원 단어 자질 가중치를 적용한 딥 러닝 기반 개체 유형 분류 방법
KR20180092808A (ko) * 2017-02-08 2018-08-20 한국과학기술원 개념 그래프 기반 질의응답 시스템 및 이를 이용한 문맥 검색 방법
KR20180125746A (ko) * 2017-05-16 2018-11-26 동아대학교 산학협력단 문장 임베딩 및 유사 질문 검색을 위한 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183111A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 长文本语义相似度匹配方法、装置、电子设备及存储介质
CN113505599A (zh) * 2021-09-10 2021-10-15 北京惠每云科技有限公司 病历文书中实体概念的提取方法、装置及可读存储介质

Also Published As

Publication number Publication date
KR102138130B1 (ko) 2020-07-27
KR102138130B9 (ko) 2020-07-27
KR20200062521A (ko) 2020-06-04

Similar Documents

Publication Publication Date Title
WO2021049706A1 (ko) 앙상블 질의 응답을 위한 시스템 및 방법
KR102138130B1 (ko) 개념 그래프 기반 질의응답 장치 및 방법
WO2021100902A1 (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
CN113590810B (zh) 摘要生成模型训练方法、摘要生成方法、装置及电子设备
WO2020242086A1 (ko) 다중 지식의 비교 우위를 추론하는 서버, 방법 및 컴퓨터 프로그램
WO2021095987A1 (ko) 다중타입 엔티티에 기반한 지식 보완 방법 및 장치
WO2022163996A1 (ko) 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법
WO2012165929A2 (ko) 웹을 이용한 정보 검색 방법 및 이를 사용하는 음성 대화 방법
WO2018128238A1 (ko) 디스플레이 장치를 이용한 가상 상담 시스템 및 방법
WO2019093675A1 (ko) 빅데이터 분석을 위한 데이터 병합 장치 및 방법
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
WO2018088664A1 (ko) 러프 셋을 이용한 형태소 품사 태깅 코퍼스 오류 자동 검출 장치 및 그 방법
WO2021118072A1 (ko) 음성 및 영상 정보를 활용한 의미있는 구간을 검출하기 위한 방법 및 이를 위한 장치
WO2022114447A1 (ko) 유사 임상 시험 데이터 제공 방법 및 이를 실행하는 서버
WO2022260392A1 (ko) 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템
WO2023080392A1 (ko) 지식베이스를 이용한 멀티-홉 자연어 문서 검색 방법
WO2025249857A1 (ko) 비정형 데이터 기반 문항 자동생성 서비스 시스템
WO2022149758A1 (ko) 풀이 경험이 없는 추가된 문제 컨텐츠에 대한 예측된 정답 확률을 기초로, 문제를 평가하는 학습 컨텐츠 평가 장치, 시스템 및 그것의 동작 방법
WO2022060061A1 (ko) 딥러닝 기반의 단어 의미 명확화 모델을 이용한 어휘 문제 자동 생성 방법, 그 컴퓨터 프로그램 및 그 서버 장치
WO2012060534A1 (ko) 병렬 말뭉치를 이용한 동사구 번역 패턴 구축 장치 및 그 방법
McClendon et al. The Use of Paraphrase Identification in the Retrieval of Appropriate Responses for Script Based Conversational Agents.
WO2022107989A1 (ko) 질의문과 지식 그래프 관계 학습을 이용한 지식 완성 방법 및 장치
WO2023054829A1 (ko) 소스코드 해설을 포함한 질의응답 서비스 제공 장치, 시스템, 및 방법, 그리고, 이를 이용한 챗봇 서비스 제공 방법
WO2022108206A1 (ko) 설명 가능한 지식그래프 완성 방법 및 장치
WO2022050724A1 (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: 18941528

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: 18941528

Country of ref document: EP

Kind code of ref document: A1