KR20240034459A - 질문 답변 방법 및 이를 위한 장치 - Google Patents
질문 답변 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- KR20240034459A KR20240034459A KR1020220113471A KR20220113471A KR20240034459A KR 20240034459 A KR20240034459 A KR 20240034459A KR 1020220113471 A KR1020220113471 A KR 1020220113471A KR 20220113471 A KR20220113471 A KR 20220113471A KR 20240034459 A KR20240034459 A KR 20240034459A
- Authority
- KR
- South Korea
- Prior art keywords
- graph
- information
- user
- node
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000009471 action Effects 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000006399 behavior Effects 0.000 claims description 103
- 230000001186 cumulative effect Effects 0.000 claims description 11
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 10
- 230000003542 behavioural effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000614201 Adenocaulon bicolor Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 108020001568 subdomains Proteins 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 질문 답변(Question Answering)을 위한 방법 및 이를 위한 장치에 관한 것으로서, 구체적으로는 특정 사용자의 질문 데이터를 수신하는 것; 및 적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함하는 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따르면 질문 답변 시스템에서 추상적인 질문에 대한 답변을 효과적으로 획득하고 제공할 수 있다.
Description
본 발명은 질문 답변(Question Answering, QA)에 관한 것으로서, 보다 구체적으로는 지식 그래프에 기반하여 질문 답변을 수행하는 방법 및 이를 위한 장치에 관한 것이다.
지식 베이스 기반 질문 답변(Knowledge Base Question Answering, KBQA) 시스템은 지식 베이스의 명시적 그래프 관계를 중심으로 질문에 대한 답을 탐색하고 추론하여 답변을 생성하도록 구성된다. 질문이 명시적이고 명확한 답이 있는 분야의 질문인 경우 기존의 KBQA 시스템은 적절한 답변을 제공할 수 있지만, 질문이 추상적이고 답 또한 명확하지 않은 경우 기존의 방법으로는 적절한 답변을 제공할 수 없다.
사람의 대화는 자유도가 높으며 정해진 단계 및 규칙에 따라 대화를 하지 않는다. 사람은 명확한 지식을 가지고 대화를 하기보다 추상적인 질문을 통해서 원하는 답을 찾아가는 경우가 있다. 예를 들어, 특정 사용자가 “지금 나에게 필요한 상품은 뭐에요?”와 같은 추상적인 질문을 한다면, 어떤 정보를 어떻게 조합했을 때 가장 최적인지에 대한 정답이 없는 문제이기 때문에 상기 사용자 질문에 적합한 답변을 기존의 방법으로는 제공할 수 없는 문제가 있다.
이와 같이 질문이 명시적이지 않고 질문의 답이 명확하지 않은 추상적인 질문에 대한 답변을 찾기 위해서는 지식 그래프에서 추상적인 질문에 적합한 답에 근사한 노드(node) 및 경로(path)를 효과적으로 추론하고 답변을 생성할 수 있는 방법이 요구된다.
본 발명의 목적은 지식 그래프 기반의 질문 답변(QA) 시스템에서 추상적 질문에 대한 답변을 효과적으로 제공할 수 있는 방법 및 이를 위한 장치를 제공하는 데 있다.
구체적으로, 본 발명의 목적은 추상적 질문에 대한 지식 그래프 탐색 비용을 감소시킬 수 있도록 사용자 별로 사용자 행동을 그래프 구조로 표현하고 관리할 수 있는 방법 및 이를 위한 장치를 제공하는 데 있다.
또한, 본 발명의 목적은 사용자 별 행동을 표현하는 그래프 데이터를 지식 그래프와 연동함으로써 추상적인 질문에 대한 지식 그래프 탐색 영역을 효과적으로 추론할 수 있는 방법 및 이를 위한 장치를 제공하는 데 있다.
본 발명의 다른 목적은 인공 지능 컨택 센터, 인공 지능 통화 비서와 같은 서비스에서 사용자 질문에 대한 답변을 효과적으로 처리할 수 있는 방법 및 이를 위한 장치를 제공하는 데 있다.
본 발명에서 해결하고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제는 본 명세서에 기재된 내용으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 제1 양상으로, 장치에서 수행되는 방법이 제공되며, 상기 방법은: 특정 사용자의 질문 데이터를 수신하는 것; 및 적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함할 수 있다.
본 발명의 제2 양상으로, 프로세서; 및 메모리를 포함하는 장치가 제공되며, 상기 메모리는 상기 프로세서에 의해 수행될 때 상기 장치가 특정 동작을 구현하도록 구성된 명령어를 포함하고, 상기 특정 동작은: 특정 사용자의 질문 데이터를 수신하는 것; 및 적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함할 수 있다.
본 발명의 제3 양상으로, 프로세서에 의해 실행될 때 상기 프로세서를 포함하는 장치로 하여금 특정 동작을 구현하도록 구성된 명령어들을 저장하고 있는 컴퓨터 판독가능한 저장 매체가 제공되며, 상기 특정 동작은: 특정 사용자의 질문 데이터를 수신하는 것; 및 적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함할 수 있다.
바람직하게는, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드, 상기 제1 노드에 연결되는 제3 노드, 및 상기 제3 노드에 연결되는 제4 노드를 포함하는 제1 그래프에 기반하여 생성되며, 상기 제1 노드는 상기 적어도 하나의 사용자 별 그래프 데이터를 포함하는 제2 그래프에서 상기 제1 정보를 포함하는 노드에 연결되고, 상기 제3 노드는 상기 제2 그래프에서 상기 제3 정보를 포함하는 첫 번째 노드에 연결되고, 상기 제4 노드는 상기 제2 그래프에서 상기 제4 정보를 포함하는 노드에 연결되도록 구성될 수 있다.
바람직하게는, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 상기 사용자 행동과 관련된 시간 또는 장소에 관한 제2 정보를 더 포함할 수 있다.
바람직하게는, 상기 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드, 상기 제1 노드에 연결되는 제2 노드, 상기 제2 노드에 연결되는 제3 노드, 및 상기 제3 노드에 연결되는 제4 노드를 포함하는 제1 그래프에 기반하여 생성되며, 상기 제1 노드는 상기 적어도 하나의 사용자 별 그래프 데이터를 포함하는 제2 그래프에서 상기 제1 정보를 포함하는 노드에 연결되고, 상기 제2 노드는 상기 제2 그래프에서 상기 제2 정보를 포함하는 노드에 연결되고, 상기 제3 노드는 상기 제2 그래프에서 상기 제3 정보를 포함하는 첫 번째 노드에 연결되고, 상기 제4 노드는 상기 제2 그래프에서 상기 제4 정보를 포함하는 노드에 연결되도록 구성될 수 있다.
바람직하게는, 상기 제1 정보는 나이, 성별, 출생 년도, 출생 월, 출생 일, 직업 중 적어도 하나에 관한 정보를 포함할 수 있다.
바람직하게는, 상기 지식 그래프에서 상기 사용자 행동에 대한 응답 획득을 위해 사용된 개체는 상기 지식 그래프에서 상기 사용자 행동에 대한 응답과 관련된 사실(fact)을 포함하는 노드를 포함할 수 있다.
바람직하게는, 상기 질문 데이터에 대한 답변 데이터를 획득하는 것은: 상기 적어도 하나의 사용자 별 그래프 데이터에서 상기 제4 정보와 상기 제1 정보가 상기 특정 사용자의 질문 의도 및 개인 프로파일에 대응하는 그래프 데이터를 추출하는 것; 및 상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수와 상기 제3 정보의 경로 길이에 기초하여 상기 답변 데이터 획득을 위한 지식 그래프 영역을 추론하는 것을 포함할 수 있다.
바람직하게는, 상기 답변 데이터 획득을 위한 지식 그래프 영역을 추론하는 것은: 상기 제3 정보의 누적 횟수와 상기 제3 정보의 경로 길이에 기초하여 적어도 하나의 경로에 우선 순위를 부여하고 상기 우선 순위에 따라 상기 지식 그래프 영역을 추론하는 것을 포함할 수 있다.
바람직하게는, 상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하고 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하여 상기 제3 정보의 경로 길이가 가장 짧은 경로에 가장 높은 우선 순위가 부여될 수 있다.
바람직하게는, 상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하여 조합된 경로와 상기 가장 짧은 경로를 제외한 경로 중에서 길이가 짧은 경로 순으로 높은 우선 순위가 부여될 수 있다.
바람직하게는, 상기 추출된 그래프 데이터에 포함된 개체를 모두 포함하는 경로에 가장 낮은 우선 순위가 부여될 수 있다.
본 발명에 따르면, 지식 그래프 기반의 질문 답변(QA) 시스템에서 추상적 질문에 대한 답변을 효과적으로 제공할 수 있다.
또한, 본 발명에 따르면, 사용자 별로 사용자 행동을 그래프 구조로 표현하고 관리함으로써 추상적 질문에 대한 지식 그래프 탐색 비용을 감소시킬 수 있다.
또한, 본 발명에 따르면, 사용자 별 행동을 표현하는 그래프 데이터를 지식 그래프와 연동함으로써 추상적인 질문에 대한 지식 그래프 탐색 영역을 효과적으로 추론할 수 있다.
또한, 본 발명에 따르면, 인공 지능 컨택 센터, 인공 지능 통화 비서와 같은 서비스에서 사용자 질문에 대한 답변을 효과적으로 처리할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과는 본 명세서에 기재된 내용으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
첨부 도면은 본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되고 상세한 설명과 함께 본 발명의 실시예와 기술적 특징을 설명한다.
도 1은 본 발명의 제안 방법에 따른 행동 그래프를 예시한다.
도 2는 본 발명의 제안 방법에 따라 사용자 별로 누적된 행동 그래프를 예시한다.
도 3은 본 발명의 제안 방법에 따라 행동 그래프와 지식 그래프를 연동한 대용량 그래프(Large-scale graph)를 예시한다.
도 4는 지식 그래프에서의 사실 기반 서브-그래프의 경로를 예시한다.
도 5는 본 발명의 제안 방법에 따라 특정 사용자의 질문에 대한 답변을 추론하는 과정을 예시한다.
도 6은 본 발명의 제안 방법의 순서도를 예시한다.
도 7은 본 발명의 제안 방법이 적용될 수 있는 장치를 예시한다.
도 1은 본 발명의 제안 방법에 따른 행동 그래프를 예시한다.
도 2는 본 발명의 제안 방법에 따라 사용자 별로 누적된 행동 그래프를 예시한다.
도 3은 본 발명의 제안 방법에 따라 행동 그래프와 지식 그래프를 연동한 대용량 그래프(Large-scale graph)를 예시한다.
도 4는 지식 그래프에서의 사실 기반 서브-그래프의 경로를 예시한다.
도 5는 본 발명의 제안 방법에 따라 특정 사용자의 질문에 대한 답변을 추론하는 과정을 예시한다.
도 6은 본 발명의 제안 방법의 순서도를 예시한다.
도 7은 본 발명의 제안 방법이 적용될 수 있는 장치를 예시한다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.
이하의 실시예는 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, “포함” 또는 “구비”와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
지식 베이스(Knowledge Base)는 전문가 시스템의 구성 요소의 하나로서 지적 활동과 경험을 통해서 축적한 전문 지식 그리고 문제 해결에 필요한 사실과 규칙 등이 저장되어 있는 데이터베이스를 지칭하고, 지식 그래프(Knowledge Graph)는 그래프 구조의 데이터 모델을 사용하는 지식 베이스를 지칭한다. 그래프는 노드(node)(또는 버텍스(vertex))와 에지(edge)(또는 간선)에 기반하여 데이터를 표현하는 자료 구조를 지칭한다. 지식 그래프는 머리 개체(head entity), 관계(relation), 꼬리 개체(tail entity)의 트리플(triple) 형태로 표현되며, 특정 지식을 머리 개체에서 노드 형태로 표현하고 특정 지식과 관계가 있는 지식을 꼬리 개체에서 노드 형태로 표현하며 에지 형태로 관계를 머리 개체에서 꼬리 개체로 표현한다. 지식 그래프는 머리 개체를 중심으로 관계에 따라 꼬리 개체로 연결하는 방식으로 지식을 확장하면서 지식 그래프 공간을 구성할 수 있다.
본 발명의 제안 방법
본 발명에서는 지식 베이스 기반 질문 답변(Knowledge Base Question Answering, KBQA) 시스템 또는 지식 그래프 기반 질문 답변(Knowledge Graph Question Answering, KGQA) 시스템과 같은 질문 답변(Question Answering, QA) 시스템에서 대용량(Large-scale) 그래프 기반의 (다중) 행동(Behavior) 추론 방법을 제안한다. 본 발명의 제안 방법은 공개 도메인 질문 답변(Open Domain QA)에서와 같이 적절한 답변을 찾기 어려운 질문(예, NP-Hard 문제)이나 추상적인 질문에 대한 답변을 효과적으로 획득하고 제공하는데 적용될 수 있다.
보다 구체적으로, 본 발명에서는 다음과 같은 방법을 제안한다.
1.
사용자 개인의 행동(Behavior)에 관한 정보를 컨텍스트(Context) 정보가 포함된 그래프 구조로 표현하고 관리하며 이용. 설명의 편의를 위해, 본 발명에서 제안하는 사용자 개인의 행동에 관한 정보와 컨텍스트 정보를 포함하는 그래프 구조의 데이터를 행동 그래프(Behavior Graph)(예, 도 1 및 관련 설명 참조)라고 지칭한다.
2.
행동 그래프를 기존의 지식 그래프와 결합하여 대용량(Large-scale) 그래프로 표현하고 관리하며 이용(예, 도 3 및 관련 설명 참조).
3.
(다중) 행동 그래프를 기반으로 지식 그래프에서 행동(예, 질문) 의도(goal)에 대한 최적 경로 후보를 추론(예, 도 5 및 관련 설명 참조). 즉, (다중) 행동 그래프 기반의 경로 찾기(path finder)를 제안.
본 발명의 제안 방법은 인공 지능(Artificial Intelligence, AI) 통화 비서, AI 컨택 센터(AI Contact Center, AICC), KBQA, KGQA 등과 같이 기계 또는 컴퓨터가 사람과 직접 대화를 하거나 고객의 적절한 요구 사항을 이해하고 필요한 답변 또는 동작을 제공하는 서비스에서 사용자 개인 행동을 기반으로 질문에 대한 답변을 추론하는 기술에 활용할 수 있다.
본 발명의 제안 방법에 따르면, 적절한 답변을 찾기 어려운 질문이나 추상적인 질문에 대한 답변을 찾기 위해 지식 그래프 공간을 전역적으로 탐색해야 하는 상황에서 행동 그래프(Behavior Graph)를 통해 전역적 탐색에 들어가는 비용을 감소시킴으로써 기존 서비스와 달리 적은 비용으로 질문에 대한 답변을 생성할 수 있으며 서비스 완성도를 향상시킬 수 있다.
또한, 본 발명의 제안 방법에 따르면, 사용자 별로 행동 그래프(Behavior Graph)를 구축하고 기존 지식 그래프와 결합하여 대용량(Large-scale) 그래프 공간을 구성하고, 사용자 별로 구축된 행동 그래프에서 사용자 행동(예, 질문) 의도(goal)를 달성할 때까지의 그래프 경로(path)에 대하여 그래프 연산을 수행하여 특정 사용자 질문 의도를 만족할 수 있는 최적 경로 후보 또는 지식 그래프 영역을 효과적으로 추론할 수 있다.
이하, 도 1 내지 도 6을 참조하여 본 발명의 제안 방법에 대해 자세히 설명한다.
도 1은 본 발명의 제안 방법에 따른 행동 그래프(100)를 예시한다.
도 1을 참조하면, 본 발명의 제안 방법에 따른 행동 그래프(100)는 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 정보(102), 행동과 관련된 컨텍스트(context)에 관한 정보(104), 지식 그래프 개체(entity)에 관한 정보(106), 및 행동 의도(goal)에 관한 정보(108)를 포함한다. 구체적으로, 행동 그래프(100)에서 개인 프로파일에 관한 정보(102), 컨텍스트에 관한 정보(104), 지식 그래프 개체에 관한 정보(106), 의도에 관한 정보(108)는 그래프 구조의 노드(또는 버텍스)에 포함되고, 사용자 행동에 따라 연관된 정보들을 포함하는 노드들이 그래프 구조의 에지(edge)(또는 간선)로 연결될 수 있다. 예를 들어, 사용자 행동은 질문일 수 있지만, 본 발명의 제안 방법에 따른 행동은 이에 제한되지 않으며 다양한 행동을 포함할 수 있다.
혹은, 본 발명의 제안 방법에 따른 행동 그래프(100)는 개인 프로파일(profile)에 관한 정보(102)와 컨텍스트(context)에 관한 정보(104) 중 적어도 하나의 정보, 지식 그래프 개체(entity)에 관한 정보(106), 및 행동 의도(goal)에 관한 정보(108)를 포함할 수도 있다. 일 예로, 본 발명의 제안 방법에 따른 행동 그래프(100)는 개인 프로파일(profile)에 관한 정보(102), 지식 그래프 개체(entity)에 관한 정보(106), 및 행동 의도(goal)에 관한 정보(108)를 포함할 수 있다.
일 예로, 개인 프로파일에 관한 정보(102)는 사용자 개인에 대한 프로파일 정보로서 사용자 개인을 구분 지을 수 있는 메타(meta) 정보(예, 나이, 성별, 출생 년도, 출생 월, 출생 일, 직업 중 적어도 하나에 관한 정보)를 포함할 수 있다. 예를 들어, 개인 프로파일에 관한 정보(102)는 사용자에 의해 미리 설정되거나 사용자의 행동 시에 사용자로부터 획득할 수 있다. 개인 프로파일에 관한 정보는 개인 메타 정보, 개인 구별 정보, 개인 식별 정보 등의 다른 용어로 지칭될 수 있다. 본 명세서에서 개인 프로파일에 관한 정보(102)는 제1 정보로 지칭될 수 있다.
일 예로, 컨텍스트에 관한 정보(104)는 언제, 어디서와 같이 행동(예, 질문)이 일어난 시간 및/또는 장소에 관한 정보를 포함할 수 있으며, 시공간에서 사용자 개인의 행동 반경을 나타낼 수 있다. 예를 들어, 시간에 관한 정보는 사용자가 행동을 한 시간에 관한 정보를 포함할 수 있고, 장소에 관한 정보는 IP(Internet Protocol) 주소 등에 기초하여 획득한 위치 정보를 포함할 수 있다. 본 명세서에서 컨텍스트에 관한 정보(104)는 제2 정보로 지칭될 수 있다.
일 예로, 지식 그래프 개체에 관한 정보(106)는 지식 또는 사실(fact)과 같이 사용자 행동(예, 질문)에 대한 응답을 획득 또는 액션(action)(예, 답변)을 제공하는데 사용된 적어도 하나의 지식 그래프 개체(entity)를 가리키는 정보를 포함한다. 개체(entity)는 그래프 구조의 노드(또는 버텍스)를 지칭하며, 지식 그래프 개체는 지식 그래프의 노드(또는 버텍스)를 지칭한다. 따라서, 지식 그래프 개체는 지식 그래프에서 사용자 행동(예, 질문)에 대한 응답을 획득 또는 액션(action)(예, 답변)을 제공하는데 사용된 지식 또는 사실을 포함하는 노드를 포함할 수 있다. 본 명세서에서 지식 그래프 개체에 관한 정보(106)는 제3 정보로 지칭될 수 있다.
일 예로, 의도에 관한 정보(108)는 행동(예, 질문)에 대한 의도와 같이 레이블링 추론 목표에 해당하는 결과 값을 포함한다. 본 명세서에서, 의도는 목표, 목적 등과 같은 다른 용어와 혼용될 수 있다. 예를 들어, 사용자가 하나 이상의 일련의 행동(예, 질문)을 통해 원하는 결과를 얻었다고 가정하면, 의도에 관한 정보(108)는 하나 이상의 행동(예, 질문) 전체에 대한 사용자 의도를 나타내는 정보를 포함할 수 있다. 다른 예로, 의도에 관한 정보(108)는 하나 이상의 행동(예, 질문) 중에서 최초 행동(예, 질문)에 대한 사용자 의도를 나타내는 정보를 포함할 수 있다. 본 명세서에서 의도(goal)에 관한 정보(108)는 제4 정보로 지칭될 수 있다.
본 발명의 제안 방법에 따른 행동 그래프(100)는 개인 프로파일(예, 누가) -> 컨텍스트(예, 언제 및/또는 어디서) -> 지식 그래프 개체(예, 무엇) -> 의도(또는 목표) 형태로 또는 개인 프로파일(예, 누가) -> 지식 그래프 개체(예, 무엇) -> 의도(또는 목표) 형태로 사용자의 행동을 나타낼 수 있으며, 사용자 별로 행동 그래프를 누적하여 행동 그래프 공간 또는 데이터베이스를 형성할 수 있다.
도 2 및 도 5를 참조하여 설명하는 바와 같이, 행동 그래프 공간 또는 데이터베이스 상에서 제1 정보를 포함하는 노드와 제4 정보를 포함하는 노드는 행동 그래프 인스턴스(또는 제2 그래프, 도 2 관련 설명 참조)를 이용한 연산의 기준점으로 이용될 수 있다. 예를 들어, 연산은 그래프 우선 순위 결정, 지식 그래프 탐색 지역 추론 등을 포함할 수 있으며, 행동 그래프 공간 또는 데이터베이스에서 제4 정보를 포함하는 노드와 제1 정보를 포함하는 노드를 기준으로 하나 이상의 행동 그래프 인스턴스(또는 제2 그래프)를 추출하고 추출된 행동 그래프 인스턴스를 기반으로 연산을 수행할 수 있다.
도 2는 본 발명의 제안 방법에 따라 사용자 별로 누적된 행동 그래프(210, 220)를 예시한다. 예를 들어, 도 2는 장치(700)에 의해 수행될 수 있다. 도 2는 오로지 본 발명의 이해를 돕기 위한 예시일 뿐이며 본 발명을 제한하는 것이 아니다. 예를 들어, 도 2에서 컨텍스트와 관련된 노드(204, C1, C2, C1)는 생략될 수 있고, 이 경우 개인 프로파일과 관련된 노드(202, B, C)가 각각 지식 그래프 개체와 관련된 노드(206, E1, E6)로 직접 연결될 수 있다(예, 202->206->208, B->E1->E2->E3->E4->G1, B->E6->E7->G2, C->E1->E3->E5->G1).
도 2를 참조하면, 행동 그래프(210, 220)는 도 1을 참조하여 설명한 바와 같이 그래프 구조에 기반한 상위의 방향성이 있는 논리적(Logical) 표현 정보로 각 개인의 행동 그래프를 대표할 수 있는 추상화된 정보를 포함하는 그래프(210)와 그래프(210)에 기반하여 각 개인의 행동에 관한 정보를 나타내는 행동 그래프를 누적 생성하여 복수의 행동 그래프를 포함하는 그래프(220)를 포함할 수 있다.
본 명세서에서 편의상, 그래프(210)는 제1 (행동) 그래프로 지칭될 수 있고 그래프(220)는 제2 (행동) 그래프로 지칭될 수 있다. 제1 그래프(210)에 기반하여 생성된 각 개인의 행동에 관한 정보를 나타내는 행동 그래프(220) 각각은 행동 그래프 인스턴스(Behavior Graph Instance), 행동 인스턴스, 또는 그래프 인스턴스로 지칭될 수 있다. 본 명세서에서, 제1 그래프(210)에 포함된 개인 프로파일과 관련된 노드(202)를 제1 노드라고 지칭하고, 제1 그래프(210)에 포함된 컨텍스트와 관련된 노드(204)를 제2 노드라고 지칭하고, 제1 그래프(210)에 포함된 지식 그래프 개체와 관련된 노드(206)를 제3 노드라고 지칭하고, 제1 그래프(210)에 포함된 의도(또는 목표)와 관련된 노드(208)를 제4 노드라고 지칭한다.
제2 그래프(220)를 구성하는 행동 그래프 각각(또는 행동 그래프 인스턴스)은 독립적으로 분리 표현이 가능하며, 각각으로 독립된 분리 표현은 각 그래프 인스턴스 별로 복수의 비교 연산 및 서로 다른 그래프 신경망으로 표현할 수 있음을 의미한다.
누적되는 제2 그래프(220)는 제1 그래프(210)의 논리 구조(예, 제1 노드(202) -> 제2 노드(204) -> 제3 노드(206) -> 제4 노드(208) 형태 또는 제1 노드(202) -> 제3 노드(206) -> 제4 노드(208) 형태)에 따라 각 영역별 구분이 가능하다. 제2 그래프(220)에서는 복수의 노드 구조(예, B->C1->E1->E2->E3->E4->G1, B->C2->E6->E7->G2, C->C1->E1->E3->E5->G1)가 생성될 수 있으며, 노드의 의미적 관계를 제1 그래프(210)에 의해 구분하여 각 노드가 가지는 의미를 기반으로 관계 추론이 가능하다. 제1 그래프(210)는 각각 분리 표현된 제2 그래프(220)의 의미적으로 구분되는 노드 또는 시작 노드를 가리키도록 연결함으로써 제2 그래프(220)에서 의미적인 구분을 가능하게 한다. 예를 들어, 제1 그래프(210)의 제1 노드(202)는 개인 프로파일에 관한 의미적 그래프 인스턴스들의 모음이고, 제2 노드(204)는 컨텍스트, 제3 노드(206)는 지식 그래프 개체, 제4 노드(208)는 의도(또는 목표)와 관련된 의미를 가질 수 있다. 도 2에 예시된 바와 같이, 제1 그래프(210)의 제3 노드(206)는 다수의 제2 그래프(220)의 노드(E1, E6, E1)와 연결되어 연속된 지식 그래프 개체와 연관된 노드(예, E1->E2->E3->E4, E6->E7, E1->E3->E5)의 시작 지점(예, E1, E6, E1)을 가리키게 된다.
따라서, 행동 그래프(210, 220)의 제1 그래프(210)와 제2 그래프(220)의 관계를 기반으로 그래프 연산에 필요한 부분을 분기할 수 있다. 예를 들어, 특정 사용자의 의도(예, G1)와 관련된 그래프 연산을 위해서 제1 그래프(210)의 제4 노드(208)와 연관된 노드(예, G1, G2, G1) 중에서 특정 사용자와 동일한 의도를 가진 노드(G1)를 제2 그래프(220)에서 검색하고, 제1 그래프(210)의 제1 노드(202)와 연관된 노드(예, B, C) 중에서 노드(G1)와 연관된 노드(예, B, C)를 추론하여 제2 그래프(220)의 그래프 노드(예, B->C1->E1->E2->E3->E4->G1, C->C1->E1->E3->E5->G1)를 추출할 수 있다. 이후, 제1 그래프(210)의 제3 노드(206)와 연관된 노드(예, E1->E2->E3->E4, E1->E3->E5)를 중심으로 지식 그래프 유망 지역에 대한 추론을 한다.
도 2를 참조하여 제2 그래프(220)를 누적 생성하는 예를 설명한다.
사용자 B는 컨텍스트 C1(예, 시간 및/또는 장소)에 기반하여 자신이 찾고자 하는 상품이 무엇인지를 판단하면서 몇 번의 대화를 진행할 수 있다. 예를 들어, Q1:“요금제 중에서 가장 싼 요금제는 어떤게 있어요?” -> Q2:“인터넷 사용을 많이 하는데, 데이터가 그래도 충분하게 사용할 수 있는건 어떤게 있을까요?” -> Q3:“우리 나이대 사람들이 많이 사용하는 상품들은요?” -> Q4:”요금 할인이 가장 많이 되는 상품은요?”와 같이 자신에게 가장 적합하고 가성비 좋은 상품을 찾기 위해서 여러 질문들을 통해 적합한 답변을 찾아갈 수 있다. 이 경우, 질문 Q1, Q2, Q3, Q4에 대해 각각 지식 그래프 개체 E1, E2, E3, E4를 탐색하여 답변을 생성하였고, 의도 G1은 “적합한 상품 추천”으로 결정되었다고 가정하면, 사용자 B에 대한 행동 그래프(또는 행동 그래프 인스턴스)는 B->C1->E1->E2->E3->E4->G1 형태로 행동 그래프 공간(210, 220)(또는 제2 그래프(220))에 구성될 수 있다.
만일 사용자 B가 다른 컨텍스트 C2(예, 시간 및/또는 장소)에 기반하여 질문 Q6, Q7을 하였고 질문 Q6, Q7에 대한 답변이 각각 지식 그래프 개체 E6, E7을 탐색하여 생성되었으며 의도 G2가 결정되었다고 가정하면, 사용자 B에 대한 행동 그래프(또는 행동 그래프 인스턴스)는 B->C2->E6->E7->G2를 추가로 포함하도록 행동 그래프 공간(210, 220)(또는 제2 그래프(220))에 누적되고 확장될 수 있다.
컨텍스트 C1에 연결된 지식 그래프 공간의 E1->E2->E3->E4 에 대한 정보는 의도 G1에 부합하는 결과로 추론될 수 있으며 지식 그래프 개체 E1, E2, E3, E4 는 지식 그래프에서 탐색 유망 영역이 될 수 있다. 다른 컨텍스트 C2는 또 다른 지식 그래프 개체 E6, E7와 연결되어 새로운 의도 G2에 부합하는 결과로 추론될 수 있다. 컨텍스트(또는 컨텍스트에 관한 정보(104)) 별로 지식 그래프의 해당 영역이 달리 결정될 수 있다.
또한, 다른 사용자 C는 더 적은 횟수의 질문을 통해 사용자 B와 동일한 의도 G1에 해당하는 답변을 얻을 수 있다. 만일 다른 사용자 C가 컨텍스트 C1(예, 시간 및/또는 장소)에 기반하여 의도 G1으로 질문 Q1, Q3, Q5를 통해 자신이 원하는 답변을 얻었고, 질문 Q1, Q3, Q5에 대한 답변이 각각 지식 그래프 개체 E1, E3, E5를 탐색하여 생성되었다고 가정하면, 사용자 C에 대한 행동 그래프(또는 행동 그래프 인스턴스)는 C->C1->E1->E3->E5->G1 형태로 행동 그래프 공간(210, 220)(또는 제2 그래프(220))에 추가될 수 있다.
이와 같이, 본 발명의 제안 방법에 따르면, 제1 그래프(210)에 기반하여 사용자 별로 행동 그래프(220)를 누적 생성하여 행동 그래프 공간 또는 데이터베이스(210, 220)를 형성할 수 있고, 개인 프로파일(또는 개인 프로파일에 관한 정보(102)) 및/또는 컨텍스트(또는 컨텍스트에 관한 정보(104)) 별로 지식 그래프의 해당 영역이 달리 결정될 수 있다. 또한, 제1 그래프(210)의 각 노드를 제2 그래프(220)의 연관 노드 또는 시작 노드에 연결함으로써 행동 그래프 공간(210, 220)에서 각 노드에 대한 의미적인 구분이 가능하다.
도 3은 본 발명의 제안 방법에 따라 행동 그래프(310, 312, 314)와 지식 그래프(320)를 연동한 대용량 그래프(Large-scale graph)(300)를 예시한다. 구체적으로, 도 3은 대용량 그래프(300)을 구성하는 행동 그래프(310, 312, 314)와 지식 그래프(320)의 주요 구성 및 관계를 예시한다. 예를 들어, 도 3의 예는 장치(700)에 의해 구현될 수 있다. 도 3은 본 발명의 이해를 돕기 위한 예시일 뿐이며 본 발명이 도 3의 예로 제한되는 것은 아니다. 예를 들어, 행동 그래프의 개수는 3개가 아닌 다른 값으로 수정 또는 변경되더라도 본 발명은 동일하게 적용될 수 있다.
도 3을 참조하면, 사용자 B, C, … 별로 행동 그래프(Behavior Graph, BG) BGB, BGC, …(310, 312, 314)가 구성될 수 있으며 도 2를 참조하여 설명한 바와 같이 사용자 행동에 따라 행동 그래프가 누적 및/또는 확장되어 행동 그래프 공간(210, 220)을 형성할 수 있다. 도 1 및 도 2를 참조하여 설명한 바와 같이, 행동 그래프(310, 312, 314) 각각은 사용자 별로 개인 프로파일 정보(102)(예, 도 2의 B, C), 컨텍스트 정보(104)(예, 도 2의 C1, C2), 해당 사용자에게 제공한 응답 또는 액션(action)(예, 답변)과 관련된 지식 그래프(320)의 개체 또는 노드에 관한 정보(106)(예, 도 2의 E1 내지 E7), 사용자 행동 의도에 관한 정보(108)(예, 도 2의 G1, G2)를 포함한다. 도 2를 참조하여 설명한 바와 같이, 행동 그래프(310, 312, 314)는 사용자 개인 별로 누적 및/또는 확장되어 (다중) 행동 그래프(310, 312, 314)가 도출될 수 있다.
지식 그래프(320)는 적어도 하나의 서브-도메인(sub-domain)(322)을 포함하며 복합 서브-도메인(322)이 하나의 그래프 공간(320)을 구성할 수 있다. 그래프 공간(320)의 각 개체 또는 노드는 의미적으로 연결된 명시적인 정보로 표현될 수 있다. 지식 그래프(320)는 각 개체 또는 노드를 중심으로 그래프 확장(graph propagation)이 일어날 수 있고, 확장 홉(propagation hop) 횟수가 커질수록 중심 노드와는 의미적으로 멀어지는 값을 가진다.
도 4는 지식 그래프(320)에서의 사실 기반 서브-그래프(factual sub-graph)의 경로(path)를 예시한다.
사실 기반 서브-그래프(factual sub-graph)(402, 404, 406, 408)는 지식 그래프(320)를 질의(query)하고 획득한 결과인 사실(fact)에 대한 주변 지식 그래프 영역을 지칭하고, 사실 기반 서브-그래프의 경로(path)는 전체 지식 그래프(320) 내에서 서브-그래프(402, 404, 406, 408)의 중심 노드(E1, E2, E3, E4)와 연결된다. 본 명세서에서 사실 기반 서브-그래프(402, 404, 406, 408)는 간략히 서브-그래프로 지칭될 수 있다.
행동 그래프(100, 220, 310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 관한 정보)(106)(예, 도 2의 E1 내지 E7)는 사용자 행동(예, 질문)에 대한 응답 획득 또는 액션(예, 답변)을 제공하기 위해 지식 그래프(320)를 탐색하여 획득한 (정답에 해당하는) 결과에 해당한다. 각 서브-그래프(402, 404, 406, 408)는 중심 노드(E1, E2, E3, E4)를 기반으로 그래프 확장(graph propagation)되며, 그래프 확장에 따라 중심 노드(E1, E2, E3, E4)는 서브-그래프(402, 404, 406, 408)의 영역 특성을 나타낼 수 있다. 따라서, 행동 그래프(100, 220, 310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 관한 정보)(106)(예, 도 2의 E1 내지 E7)는 지식 그래프(320)에서의 각 서브-도메인의 그래프 특성을 가지고 있으며 각 서브-그래프(402, 404, 406, 408) 영역에서 이미 가장 적합한 정답을 찾은 국부 최적점(Local Optimal)에 해당될 수 있다.
따라서, 국부 최적점에 해당하는 사실(fact)들(예, E1 내지 E7)의 조합은 찾고자 하는 최적 지식의 전역 최적점(Global Optimal)에 해당하는 근사점으로 추론될 수 있다.
도 2를 참조하여 설명한 바와 같이, E1->E2->E3->E4로 연결된 개체들의 경로는 사용자의 각기 다른 행동(예, Q1, Q2, Q3, Q4)에 대해 지식 그래프(320)를 질의(query) 탐색한 결과로 얻어진 경로이다. 각 노드 E1, E2, E3, E4 는 해당 서브 그래프(402, 404, 406, 408)의 중심 노드를 의미하고, 각 서브-그래프(402, 404, 406, 408)는 중심 노드(E1, E2, E3, E4)를 기반으로 그래프 확장(graph propagation)되며 그래프 확장에 따라 서브-그래프(402, 404, 406, 408)의 영역 특성으로 표현될 수 있다.
예를 들어, 질문 Q1, Q2, Q3, Q4에 해당하는 답변이 각각 명시적 그래프 E1, E2, E3, E4로 매핑되어 연결된 것이다(예, 도 2 및 관련 설명 참조). 답변에 해당하는 개체 E1, E2, E3, E4는 질문의 성격에 따라 다중 홉 추론(Multi-hop reasoning)을 하고 나온 결과일 수 있다.
도 5는 본 발명의 제안 방법에 따라 특정 사용자의 질문에 대한 답변을 추론하는 과정을 예시한다. 예를 들어, 도 5의 예는 장치(700)에 의해 수행될 수 있다. 도 5의 예는 본 발명의 이해를 돕기 위한 예시일 뿐이며 본 발명은 도 5의 예로만 제한되는 것은 아니다.
도 5를 참조하면, 도 2를 참조하여 설명한 과정을 통해 사용자 B와 사용자 C에 대한 (다중) 행동 그래프가 구성되어 있는 상태에서, 사용자 A가 예를 들어 “지금 나에게 필요한 상품은 뭐에요?”와 같이 질문의 답이 명확하지 않고 질문 자체도 추상적인 질문을 했다고 가정한다. 이 경우, 장치(700)는 사용자 A의 질문 의도 G1 파악을 기반으로 사용자 A의 개인 프로파일 정보, 시간 및/또는 장소와 같은 컨텍스트 정보 뿐만 아니라 상품 지식들을 조합하여 가장 최적의 상품을 이해하고 있어야 답변이 가능하다. 사용자 A의 질문과 같은 추상적 질문에 대응하기 위해선 미리 확보된 지식 공간의 각 서브-도메인의 최적해를 찾기 위한 탐색 과정이 필요하지만, 어떤 정보를 어떻게 조합했을 때 가장 최적인지에 대한 정답이 없는 질문이기 때문에 장치(700)는 사용자 A에게 적합한 정답(510)을 제공할 수 없다. 따라서, 종래 기술에 따르면 추상적 질문에 대한 의도 G1를 이해하더라도 지식 그래프(320) 탐색을 위한 최적 경로에 대한 추론 또는 최적화가 이루어지지 않았기 때문에 적절한 답변을 찾을 수 없는 문제가 있다.
반면, 본 발명의 제안 방법에 따르면, 장치(700)는 사용자(예, 사용자 B, 사용자 C) 별로 구성된 행동 그래프(310, 312, 314)와 (사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(예, E1 내지 E5)에 관한 정보(106)를 통해) 지식 그래프(320)와 연결하여 대용량 그래프 공간을 적은 비용으로 효율적으로 탐색할 수 있다. 구체적으로, 같은 유형의 사용자이고 의도(또는 의도에 관한 정보(108))(예, G1)가 같다면, 이들 사용자(예, 사용자 B, 사용자 C)를 통해 얻은 지식을 통해서 아직 누적된 행동 그래프가 없는 사용자 A에게 최적의 결과를 바로 알려줄 수 있다. 같은 유형의 사용자인 것은 예를 들어 개인 프로파일에 관한 정보(102)(예, B 또는 C) 및/또는 컨텍스트에 관한 정보(104)(예, 도 2의 C1 또는 C2)가 서로 대응하거나 동일한 경우를 지칭할 수 있고, 의도가 같은 것은 예를 들어 의도에 관한 정보(108)(예, G1)가 서로 대응하거나 동일한 경우를 지칭할 수 있다.
도 5를 참조하면, 사용자(예, 사용자 B, 사용자 C, …) 별 행동 그래프(310, 312, 314)를 기반으로 지식 그래프(320)에서의 유망 영역 탐색 경로(Path)가 예시되어 있다. 사용자 B의 경우 컨텍스트 C1(예, 도 2 참조)에 기반하여 E1->E2->E3->E4 경로의 지식 경험을 거쳐 목표 G1에 도달하고, 사용자 C의 경우 컨텍스트 C2(예, 도 2 참조)에 기반하여 E1->E3->E5 경로의 지식 경험을 거쳐 동일한 목표 G1에 도달한다.
도 5의 예에서, 사용자 A는 목표 G1으로 가기 위한 지식 경험이 적은 냉 시동(Cold start) 문제가 있으므로, 장치(700)는 사용자 B와 사용자 C의 행동 그래프를 기반으로 유망 영역 B:{E1, E2, E3, E4}, C:{E1, E3, E5}에 해당하는 지식 그래프(320) 영역의 경로를 사용자 A의 질문에 대해 지식 그래프를 질의하는데 할당할 수 있고, 가장 적은 비용으로 목표 G1에 도달한 C:{E1, E3, E5}에 B:{E1, E2, E3, E4}보다 높은 우선 순위를 부여하여, 사용자 A의 질문에 대한 답변을 찾기 위한 유망 탐색 영역으로 할당할 수 있다. 본 발명의 제안 방법에 따르면, 사용자 A에 대해서는 E1, E2, E3, E4, E5에 해당하는 행동 경험이 없었지만, 목표 G1에 부합하는 답변을 효과적으로 탐색하여 결과를 제공할 수 있다.
본 발명의 제안 방법에서, 장치(700)는 사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 대한 정보)(106)(예, E1 내지 E5)의 누적 횟수와 목표(108)에 도달할 때까지의 지식 그래프 개체(106)의 경로 길이에 기초하여 지식 그래프(320)에서 유망 탐색 영역 또는 경로를 추론하기 위한 우선 순위를 부여할 수 있다. 구체적으로, 장치(700)는 사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 대한 정보)(106)(예, E1 내지 E5)의 누적 횟수가 많고 목표(108)(예, G1)에 도달할 때까지의 지식 그래프 개체(106)의 경로 길이가 짧은 순으로 유망 탐색 영역 또는 경로를 추론하기 위한 우선 순위를 부여할 수 있다.
일 예로, 사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 대한 정보)(106)(예, E1 내지 E5)의 누적 횟수가 가장 많고 지식 그래프 개체(106)의 경로 길이가 가장 짧은 경로에 가장 높은 우선 순위가 부여될 수 있다. 도 5의 예에서, E1, E3의 누적 횟수가 2회로 가장 많고 E1, E3를 포함하는 경로 중에서 C:{E1, E3, E5}의 경로 길이가 가장 짧으므로 행동 그래프 C:{E1, E3, E5}(312)에 가장 높은 우선 순위가 부여될 수 있다.
일 예로, 사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 대한 정보)(106)(예, E1 내지 E5)의 누적 횟수가 가장 많은 개체를 포함하여 조합된 경로와 가장 높은 우선 순위가 부여된 경로(또는 가장 짧은 길이의 경로)를 제외한 경로 중에서 경로 길이가 짧은 순으로 높은 우선 순위가 부여될 수 있다. 도 5의 예에서, 누적 횟수가 가장 많은 개체 E1, E3를 포함하여 {E1, E3, E4}의 경로를 조합하고 B:{E1, E2, E3, E4}와 비교하여 경로 길이가 짧은 순으로, 즉 {E1, E3, E4}, B:{E1, E2, E3, E4} 순으로 높은 우선 순위가 부여될 수 있다.
일 예로, 사용자 별 행동 그래프(310, 312, 314)에서 지식 그래프 개체(또는 지식 그래프 개체에 대한 정보)(106)(예, E1 내지 E5)를 모두 포함하는 경로에 가장 낮은 우선 순위가 부여될 수 있다. 도 5의 예에서, 모든 지식 그래프 개체를 포함하는 경로 {E1, E2, E3, E4, E5}에 가장 낮은 우선 순위가 부여될 수 있다.
장치(700)는 상기 설명한 바와 같이 부여된 우선 순위 대로 해당 지식 그래프 영역을 탐색하여 최적의 답변을 효과적으로 획득할 수 있다.
이와 같이, 본 발명의 제안 방법을 적용할 경우, 대용량(Large-scale) 그래프를 전역적으로 탐색하는 대신 사용자 별 행동 그래프를 이용하여 지식 그래프에서 탐색이 필요한 유망 영역을 효과적으로 추론함으로써 추상적 질문에 대한 적절한 탐색 경로를 미리 확보하고 적은 비용으로 최적의 답변을 만들어 낼 수 있다.
도 6은 본 발명의 제안 방법의 순서도를 예시한다. 도 6에 예시된 방법은 장치(700)에서 수행될 수 있다.
도 6을 참조하면, 장치(700)는 특정 사용자의 질문 데이터를 수신할 수 있다(S602). 특정 사용자의 질문 데이터는 인터넷을 통해 텍스트 형태로 수신될 수도 있고, 전화망(public switched telephone network, PSTN) 또는 이동 통신망을 통해 전송되는 사용자의 음성 데이터를 장치(700)가 수신하여 음성 인식 처리하여 텍스트 형태로 변환하거나 또는 외부 장치에서 음성 인식 처리된 후 텍스트 형태로 수신될 수도 있다. 장치(700)는 이 외에도 다양한 방식을 통해 다양한 형태로 사용자의 질문에 대응하는 데이터를 수신할 수 있다.
장치(700)는 적어도 하나의 사용자 별 그래프 데이터(예, (행동) 그래프 인스턴스 또는 제2 (행동) 그래프(220))와 지식 그래프(320)에 기초하여 S602에서 수신된 질문 데이터에 대한 답변 데이터를 획득할 수 있다(S604). 예를 들어, 적어도 하나의 사용자 별 그래프 데이터는 사용자 별 행동 그래프(100, 220, 310, 312, 314)를 포함할 수 있고, 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보(102)(예, 도 2 또는 도 5의 B, C), 컨텍스트(또는 사용자 행동과 관련된 시간 또는 장소)에 관한 제2 정보(104)(예, 도 2의 C1, C2), 지식 그래프 개체(또는 지식 그래프(320)에서 해당 사용자 행동에 대한 응답 획득을 위해 사용된 개체)에 관한 제3 정보(106)(예, 도 2의 E1 내지 E7 또는 도 5의 E1 내지 E5), 및 의도(또는 사용자 행동의 의도)에 관한 제4 정보(108)(예, 도 2의 G1, G2 또는 도 5의 G1)를 포함할 수 있다. 예를 들어, 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드(202), 제1 노드(202)에 연결되는 제2 노드(204), 제2 노드(204)에 연결되는 제3 노드(206), 및 제3 노드(206)에 연결되는 제4 노드(208)를 포함하는 (행동) 그래프 구조(또는 제1 그래프)(210)에 기반하여 생성될 수 있으며, 제1 노드(202)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제1 정보를 포함하는 노드(예, 도 2 또는 도 5의 B, C)에 연결되고, 제2 노드(204)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제2 정보를 포함하는 노드(예, 도 2의 C1, C2)에 연결되고, 제3 노드(206)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제3 정보를 포함하는 첫 번째(또는 시작) 노드(예, 도 2의 E1, E6 또는 도 5의 E1)에 연결되고, 제4 노드(208)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제4 정보를 포함하는 노드(예, 도 2의 G1, G2 또는 도 5의 G1)에 연결되도록 구성될 수 있다.
혹은, 예를 들어, 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보(102)(예, 도 2 또는 도 5의 B, C)와 컨텍스트(또는 사용자 행동과 관련된 시간 또는 장소)에 관한 제2 정보(104)(예, 도 2의 C1, C2) 중 적어도 하나의 정보, 지식 그래프 개체(또는 지식 그래프(320)에서 해당 사용자 행동에 대한 응답 획득을 위해 사용된 개체)에 관한 제3 정보(106)(예, 도 2의 E1 내지 E7 또는 도 5의 E1 내지 E5), 및 의도(또는 사용자 행동의 의도)에 관한 제4 정보(108)(예, 도 2의 G1, G2 또는 도 5의 G1)를 포함할 수 있다. 보다 구체적인 예로, 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보(102), 지식 그래프 개체에 관한 제3 정보(106), 및 의도(또는 사용자 행동의 의도)에 관한 제4 정보(108)를 포함할 수 있다. 예를 들어, 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드(202), 제1 노드(202)에 연결되는 제3 노드(206), 및 제3 노드(206)에 연결되는 제4 노드(208)를 포함하는 (행동) 그래프 구조(또는 제1 그래프)(210)에 기반하여 생성될 수 있으며, 제1 노드(202)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제1 정보를 포함하는 노드(예, 도 2 또는 도 5의 B, C)에 연결되고, 제3 노드(206)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제3 정보를 포함하는 첫 번째(또는 시작) 노드(예, 도 2의 E1, E6 또는 도 5의 E1)에 연결되고, 제4 노드(208)는 적어도 하나의 사용자 별 그래프 데이터(또는 제2 그래프(220))에서 제4 정보를 포함하는 노드(예, 도 2의 G1, G2 또는 도 5의 G1)에 연결되도록 구성될 수 있다.
도 1을 참조하여 설명한 바와 같이, 제1 정보는 나이, 성별, 출생 년도, 출생 월, 출생 일, 직업 중 적어도 하나에 관한 정보를 포함할 수 있고, 제3 정보는 지식 그래프에서 사용자 행동에 대한 응답 또는 액션과 관련된 지식 또는 사실(fact)을 포함하는 노드(예, 지식 그래프(320)에서의 서브-그래프(402, 404, 406, 408)의 중심 노드(E1, E2, E3, E4), 도 4 및 관련 설명 참조)를 포함할 수 있다.
S604에서, 장치(700)는 적어도 하나의 사용자 별 그래프 데이터(예, 사용자 별 행동 그래프(100, 220, 310, 312, 314))에서 의도(또는 제4 정보)(108)(예, 도 5의 G1) 및/또는 개인 프로파일(또는 제1 정보)(102)(예, 도 5의 B, C)이 특정 사용자의 의도(예, 도 5의 G1) 및/또는 개인 프로파일(예, 도 5의 A)에 대응하거나(또는 관련되거나) 또는 동일한 그래프 데이터(예, 도 5의 B->E1->E2->E3->E4->G1 및 C->E1->E3->E5)를 추출하고, 추출된 그래프 데이터 중에서 지식 그래프 개체(또는 제3 정보)(106)(예, 도 5의 E1 내지 E5)의 누적 횟수와 지식 그래프 개체(또는 제3 정보)(106)의 경로 길이에 기초하여 답변 데이터 획득을 위한 지식 그래프 영역을 추론할 수 있다(예, 도 5 및 관련 설명 참조). 예를 들어, S604에서, 장치(700)는 지식 그래프 개체(또는 제3 정보)(106)(예, 도 5의 E1 내지 E5)의 누적 횟수와 지식 그래프 개체(또는 제3 정보)(106)의 경로 길이에 기초하여 적어도 하나의 경로에 우선 순위를 부여하고 부여된 우선 순위에 따라 답변 데이터 획득을 위한 지식 그래프 영역을 추론할 수 있다(예, 도 5 및 관련 설명 참조).
일 예로, S604에서, 장치(700)는 적어도 하나의 사용자 별 그래프 데이터(예, 사용자 별 행동 그래프(100, 220, 310, 312, 314))에서 추출된 그래프 데이터(또는 의도(또는 제4 정보)(108) 및/또는 개인 프로파일(또는 제1 정보)(102)이 특정 사용자의 의도 및/또는 개인 프로파일에 대응하거나 또는 관련되거나 또는 동일한 그래프 데이터) 중에서 지식 그래프 개체(또는 제3 정보)(106)(예, 도 5의 E1 내지 E5)의 누적 횟수가 가장 많은 개체(예, 도 5의 예에서 E1, E3)를 포함하고 지식 그래프 개체(또는 제3 정보)(106)의 누적 횟수가 가장 많은 개체(예, 도 5의 예에서 E1, E3)를 포함하여 지식 그래프 개체(또는 제3 정보)(106)의 경로 길이가 가장 짧은 경로(예, 도 5의 예에서 C:{E1, E3, E5})에 가장 높은 우선 순위를 부여할 수 있다(예, 도 5 및 관련 설명 참조).
일 예로, S604에서, 장치(700)는 적어도 하나의 사용자 별 그래프 데이터(예, 사용자 별 행동 그래프(100, 220, 310, 312, 314))에서 추출된 그래프 데이터(또는 의도(또는 제4 정보)(108) 및/또는 개인 프로파일(또는 제1 정보)(102)가 특정 사용자의 의도 및/또는 개인 프로파일에 대응하거나 또는 관련되거나 또는 동일한 그래프 데이터) 중에서 지식 그래프 개체(또는 제3 정보)(106)(예, 도 5의 E1 내지 E5)의 누적 횟수가 가장 많은 개체(예, 도 5의 예에서 E1, E3)를 포함하여 조합된 경로(예, 도 5의 예에서 {E1, E3, E4})와 가장 짧은 경로를 제외한 경로(예, 도 5의 예에서 B:{E1, E2, E3, E4}) 중에서 길이가 짧은 경로 순으로 높은 우선 순위를 부여할 수 있다(예, 도 5 및 관련 설명 참조).
일 예로, S604에서, 장치(700)는 적어도 하나의 사용자 별 그래프 데이터(예, 사용자 별 행동 그래프(100, 220, 310, 312, 314))에서 추출된 그래프 데이터(또는 의도(또는 제4 정보)(108) 및/또는 개인 프로파일(또는 제1 정보)(102)가 특정 사용자의 의도 및/또는 개인 프로파일에 대응하거나 또는 관련되거나 또는 동일한 그래프 데이터)에 포함된 개체를 모두 포함하는 경로(예, 도 5의 예에서 {E1, E2, E3, E4, E5})에 가장 낮은 우선 순위를 부여할 수 있다(예, 도 5 및 관련 설명 참조).
도 6의 순서도에 예시된 구성 이외에 다른 구성이 추가되는 등 수정 또는 변형이 가해질 수 있으며, 이러한 경우에도 본 발명의 제안 방법은 동일하게 적용될 수 있다.
본 발명의 제안 방법이 적용될 수 있는 장치
도 7은 본 발명의 제안 방법이 적용될 수 있는 장치(700)를 예시한다.
도 7을 참조하면, 장치(700)는 본 발명의 제안 방법을 구현하도록 구성될 수 있다. 일 예로, 장치(700)는 사용자 행동(예, 질문)에 기초하여 사용자 별 행동 그래프(100, 220, 310, 312, 314)를 구현하고, 사용자 별 행동 그래프(100, 220, 310, 312, 314)와 지식 그래프(320)를 연동하여 대용량 그래프(300)를 구현하며, 사용자 별 행동 그래프(100, 220, 310, 312, 314)와 지식 그래프(320)에 기초하여 사용자의 추상적인 질문에 대한 지식 그래프(320)의 최적 탐색 영역을 추론하고 최적의 답변을 제공하도록 구성될 수 있다. 예를 들어, 장치(700)는 AI 통화 비서, AI 컨택 센터를 위한 서버 장치 또는 단말 장치를 포함할 수 있다.
예를 들어, 본 발명의 제안 방법이 적용될 수 있는 장치(700)는 리피터, 허브, 브리지, 스위치, 라우터, 게이트웨이 등과 같은 네트워크 장치, 데스크톱 컴퓨터, 워크스테이션 등과 같은 컴퓨터 장치, 스마트폰 등과 같은 이동 단말, 랩톱 컴퓨터 등과 같은 휴대용 기기, 디지털 TV 등과 같은 가전 제품, 자동차 등과 같은 이동 수단 등을 포함할 수 있다. 다른 예로, 본 발명이 적용될 수 있는 장치(700)는 SoC(System On Chip) 형태로 구현된 ASIC(Application Specific Integrated Circuit)의 일부로 포함될 수 있다.
메모리(704)는 프로세서(702)의 처리 및 제어를 위한 프로그램 및/또는 명령어들을 저장할 수 있고, 본 발명에서 사용되는 데이터와 정보, 본 발명에 따른 데이터 및 정보 처리를 위해 필요한 제어 정보, 데이터 및 정보 처리 과정에서 발생하는 임시 데이터 등을 저장할 수 있다. 메모리(704)는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등과 같은 저장 장치로서 구현될 수 있다.
프로세서(702)는 장치(700) 내 각 모듈의 동작을 제어한다. 특히, 프로세서(702)는 본 발명의 제안 방법을 수행하기 위한 각종 제어 기능을 수행할 수 있다. 프로세서(702)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 본 발명의 제안 방법은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명을 구현하는 경우에는, 본 발명을 수행하도록 구성된 ASIC(Application Specific Integrated Circuit) 또는 DSP(Digital Signal Processor), DSPD(Digital Signal Processing Device), PLD(Programmable Logic Device), FPGA(Field Programmable Gate Array) 등이 프로세서(702)에 구비될 수 있다. 한편, 펌웨어나 소프트웨어를 이용하여 본 발명의 제안 방법을 구현하는 경우에는 펌웨어나 소프트웨어는 본 발명의 제안 방법을 구현하는 데 필요한 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등과 관련된 명령어(instruction)들을 포함할 수 있으며, 명령어들은 메모리(704)에 저장되거나 메모리(704)와 별도로 컴퓨터 판독가능한 기록 매체(미도시)에 저장되어 프로세서(702)에 의해 실행될 때 장치(700)가 본 발명의 제안 방법을 구현하도록 구성될 수 있다.
또한, 장치(700)는 네트워크 인터페이스 모듈(Network Interface Module, NIM)(706)을 포함할 수 있다. 네트워크 인터페이스 모듈(706)은 프로세서(702)와 동작시 연결(operatively connected)되며, 프로세서(702)는 네트워크 인터페이스 모듈(706)을 제어하여 무선/유선 네트워크를 통해 정보 및/또는 데이터, 신호, 메시지 등을 나르는 무선/유선 신호를 전송 또는 수신할 수 있다. 네트워크 인터페이스 모듈(706)은 예를 들어 IEEE 802 계열, 3GPP LTE(-A), 3GPP 5G 등과 같은 다양한 통신 규격을 지원하며, 해당 통신 규격에 따라 제어 정보 및/또는 데이터 신호를 송수신할 수 있다. 네트워크 인터페이스 모듈(706)은 필요에 따라 장치(700) 밖에 구현될 수도 있다.
이상에서 설명된 실시예들은 본 발명의 구성 요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성 요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성 요소 또는 특징은 다른 구성 요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성 요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명은 AI 통화 비서, AI 컨택 센터 등과 같은 다양한 서비스를 위한 서버 장치 또는 단말 장치에 이용될 수 있다.
100: 행동 그래프
102: 개인 프로파일에 관한 정보
104: 컨텍스트에 관한 정보 106: 지식 그래프 개체에 관한 정보
108: 의도에 관한 정보
202: 개인 프로파일과 관련된 제1 노드
204: 컨텍스트와 관련된 제2 노드
206: 지식 그래프 개체와 관련된 제3 노드
208: 의도(또는 목표)와 관련된 제4 노드
210: 제1 (행동) 그래프 220: 제2 (행동) 그래프
300: 대용량 그래프
310, 312, 314: 사용자 별 행동 그래프
320: 지식 그래프 322: 지식 그래프 복합 서브-도메인
402, 404, 406, 408, 410: 서브-그래프
510: 사용자 A에게 적합한 정답
700: 장치 702: 프로세서
704: 메모리 706: 네트워크 인터페이스 모듈
104: 컨텍스트에 관한 정보 106: 지식 그래프 개체에 관한 정보
108: 의도에 관한 정보
202: 개인 프로파일과 관련된 제1 노드
204: 컨텍스트와 관련된 제2 노드
206: 지식 그래프 개체와 관련된 제3 노드
208: 의도(또는 목표)와 관련된 제4 노드
210: 제1 (행동) 그래프 220: 제2 (행동) 그래프
300: 대용량 그래프
310, 312, 314: 사용자 별 행동 그래프
320: 지식 그래프 322: 지식 그래프 복합 서브-도메인
402, 404, 406, 408, 410: 서브-그래프
510: 사용자 A에게 적합한 정답
700: 장치 702: 프로세서
704: 메모리 706: 네트워크 인터페이스 모듈
Claims (13)
- 장치에서 수행되는 방법으로서,
특정 사용자의 질문 데이터를 수신하는 것; 및
적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함하는, 방법. - 청구항 1에 있어서,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드, 상기 제1 노드에 연결되는 제3 노드, 및 상기 제3 노드에 연결되는 제4 노드를 포함하는 제1 그래프에 기반하여 생성되며,
상기 제1 노드는 상기 적어도 하나의 사용자 별 그래프 데이터를 포함하는 제2 그래프에서 상기 제1 정보를 포함하는 노드에 연결되고, 상기 제3 노드는 상기 제2 그래프에서 상기 제3 정보를 포함하는 첫 번째 노드에 연결되고, 상기 제4 노드는 상기 제2 그래프에서 상기 제4 정보를 포함하는 노드에 연결되도록 구성되는, 방법. - 청구항 1에 있어서,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 상기 사용자 행동과 관련된 시간 또는 장소에 관한 제2 정보를 더 포함하는, 방법. - 청구항 3에 있어서,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 제1 노드, 상기 제1 노드에 연결되는 제2 노드, 상기 제2 노드에 연결되는 제3 노드, 및 상기 제3 노드에 연결되는 제4 노드를 포함하는 제1 그래프에 기반하여 생성되며,
상기 제1 노드는 상기 적어도 하나의 사용자 별 그래프 데이터를 포함하는 제2 그래프에서 상기 제1 정보를 포함하는 노드에 연결되고, 상기 제2 노드는 상기 제2 그래프에서 상기 제2 정보를 포함하는 노드에 연결되고, 상기 제3 노드는 상기 제2 그래프에서 상기 제3 정보를 포함하는 첫 번째 노드에 연결되고, 상기 제4 노드는 상기 제2 그래프에서 상기 제4 정보를 포함하는 노드에 연결되도록 구성되는, 방법. - 청구항 1에 있어서,
상기 제1 정보는 나이, 성별, 출생 년도, 출생 월, 출생 일, 직업 중 적어도 하나에 관한 정보를 포함하는, 방법. - 청구항 1에 있어서,
상기 지식 그래프에서 상기 사용자 행동에 대한 응답 획득을 위해 사용된 개체는 상기 지식 그래프에서 상기 사용자 행동에 대한 응답과 관련된 사실(fact)을 포함하는 노드를 포함하는, 방법. - 청구항 1에 있어서,
상기 질문 데이터에 대한 답변 데이터를 획득하는 것은:
상기 적어도 하나의 사용자 별 그래프 데이터에서 상기 제4 정보와 상기 제1 정보가 상기 특정 사용자의 질문 의도 및 개인 프로파일에 대응하는 그래프 데이터를 추출하는 것; 및
상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수와 상기 제3 정보의 경로 길이에 기초하여 상기 답변 데이터 획득을 위한 지식 그래프 영역을 추론하는 것을 포함하는, 방법. - 청구항 7에 있어서,
상기 답변 데이터 획득을 위한 지식 그래프 영역을 추론하는 것은:
상기 제3 정보의 누적 횟수와 상기 제3 정보의 경로 길이에 기초하여 적어도 하나의 경로에 우선 순위를 부여하고 상기 우선 순위에 따라 상기 지식 그래프 영역을 추론하는 것을 포함하는, 방법. - 청구항 8에 있어서,
상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하고 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하여 상기 제3 정보의 경로 길이가 가장 짧은 경로에 가장 높은 우선 순위가 부여되는, 방법. - 청구항 9에 있어서,
상기 추출된 그래프 데이터 중에서 상기 제3 정보의 누적 횟수가 가장 많은 개체를 포함하여 조합된 경로와 상기 가장 짧은 경로를 제외한 경로 중에서 길이가 짧은 경로 순으로 높은 우선 순위가 부여되는, 방법. - 청구항 10에 있어서,
상기 추출된 그래프 데이터에 포함된 개체를 모두 포함하는 경로에 가장 낮은 우선 순위가 부여되는, 방법. - 프로세서; 및 메모리를 포함하는 장치에 있어서,
상기 메모리는 상기 프로세서에 의해 수행될 때 상기 장치가 특정 동작을 구현하도록 구성된 명령어를 포함하고, 상기 특정 동작은:
특정 사용자의 질문 데이터를 수신하는 것; 및
적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함하는, 장치. - 프로세서에 의해 실행될 때 상기 프로세서를 포함하는 장치로 하여금 특정 동작을 구현하도록 구성된 명령어들을 저장하고 있는 컴퓨터 판독가능한 저장 매체에 있어서, 상기 특정 동작은:
특정 사용자의 질문 데이터를 수신하는 것; 및
적어도 하나의 사용자 별 그래프 데이터와 지식 그래프에 기초하여 상기 질문 데이터에 대한 답변 데이터를 획득하는 것을 포함하되,
상기 적어도 하나의 사용자 별 그래프 데이터 각각은 그래프 구조에 기반하여 개인 프로파일(profile)에 관한 제1 정보, 상기 지식 그래프에서 사용자 행동에 대한 응답 획득을 위해 사용된 개체(entity)에 관한 제3 정보, 및 상기 사용자 행동의 의도(goal)에 관한 제4 정보를 포함하는, 컴퓨터 판독가능한 저장 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220113471A KR20240034459A (ko) | 2022-09-07 | 2022-09-07 | 질문 답변 방법 및 이를 위한 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220113471A KR20240034459A (ko) | 2022-09-07 | 2022-09-07 | 질문 답변 방법 및 이를 위한 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240034459A true KR20240034459A (ko) | 2024-03-14 |
Family
ID=90249260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220113471A KR20240034459A (ko) | 2022-09-07 | 2022-09-07 | 질문 답변 방법 및 이를 위한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240034459A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200042739A (ko) | 2018-10-16 | 2020-04-24 | 삼성전자주식회사 | 지식 그래프에 기초하여 콘텐트를 제공하는 시스템 및 방법 |
-
2022
- 2022-09-07 KR KR1020220113471A patent/KR20240034459A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200042739A (ko) | 2018-10-16 | 2020-04-24 | 삼성전자주식회사 | 지식 그래프에 기초하여 콘텐트를 제공하는 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220086104A1 (en) | Resource prioritization and communication-channel establishment | |
US20210201244A1 (en) | Dynamic analytics and forecasting for messaging staff | |
Yang et al. | TDMA-based control channel access for IEEE 802.11 p in VANETs | |
US20120226642A1 (en) | Method and apparatus for considering multi-user preference based on multi-user-criteria group | |
Arnaboldi et al. | A personalized recommender system for pervasive social networks | |
JP7423768B2 (ja) | 異種エンドポイントへの動的な通信ルーティング | |
Vodopivec et al. | A multihoming clustering algorithm for vehicular ad hoc networks | |
US20140293810A1 (en) | Method for identifying optimal influencial paths in a distributed network for transmitting information | |
US20240242095A1 (en) | Artificial intelligence device for multi-purpose retrieval for knowledge base question and answering and control method thereof | |
JP2018169913A (ja) | レコメンドシステム及びレコメンド方法 | |
Kim | R-learning-based team game model for Internet of things quality-of-service control scheme | |
US20200380020A1 (en) | Enhanced multi-workspace chatbot | |
KR20240034459A (ko) | 질문 답변 방법 및 이를 위한 장치 | |
Jeon et al. | A dynamic Markov chain prediction model for delay-tolerant networks | |
Xie et al. | A multi-responsibility–oriented coalition formation framework for dynamic task allocation in mobile–distributed multi-agent systems | |
JP2018049588A (ja) | 生成装置、生成方法及び生成プログラム | |
Sales Fonteles et al. | Trajectory recommendation for task accomplishment in crowdsourcing–a model to favour different actors | |
Zhang et al. | Role-based collaborative task planning of heterogeneous multi-autonomous underwater vehicles | |
Chen et al. | Efficient group-based discovery for wireless sensor networks | |
JP6165306B1 (ja) | 生成装置、生成方法及び生成プログラム | |
Rigby et al. | Enhancing launch pads for decision-making in intelligent mobility on-demand | |
CN106712995B (zh) | 一种多跳邻居节点的获取方法和装置 | |
Bach et al. | Knowledge is at the edge! How to search in distributed machine learning models | |
CN114036277A (zh) | 一种对话机器人路由跳转方法、装置、电子设备和介质 | |
WO2019177102A1 (ja) | Aiスピーカーシステム、aiスピーカーシステムの制御方法、及びプログラム |