KR20220014713A - 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법 - Google Patents

서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법 Download PDF

Info

Publication number
KR20220014713A
KR20220014713A KR1020200094686A KR20200094686A KR20220014713A KR 20220014713 A KR20220014713 A KR 20220014713A KR 1020200094686 A KR1020200094686 A KR 1020200094686A KR 20200094686 A KR20200094686 A KR 20200094686A KR 20220014713 A KR20220014713 A KR 20220014713A
Authority
KR
South Korea
Prior art keywords
knowledge graph
knowledge
triple
detailed
graph
Prior art date
Application number
KR1020200094686A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020200094686A priority Critical patent/KR20220014713A/ko
Priority to US17/599,973 priority patent/US20230177356A1/en
Priority to PCT/KR2021/009511 priority patent/WO2022025527A1/ko
Publication of KR20220014713A publication Critical patent/KR20220014713A/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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
    • 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/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • G06F16/3328Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages using graphical result space presentation or visualisation
    • 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
    • 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
    • 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/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

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

Abstract

서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법이 제공된다. 서버가 서비스의 제공을 위한 지식 그래프를 수정하는 방법은, 적어도 하나의 NLU 모델을 이용하여 텍스트를 해석함으로써 상기 사용자의 의도에 관련된 서비스를 식별하는 동작; 상기 식별된 서비스를 위한 상세 지식 그래프를 획득하는 동작; 상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 사용자의 의도에 따른 제약 사항을 나타내는 적어도 하나의 파라미터를 식별하는 동작; 상기 식별된 서비스에 관련된 복수의 공통 지식 그래프들 중에서, 상기 제약 사항을 나타내는 파라미터에 관련된 공통 지식 그래프를 선택하는 동작; 상기 선택된 공통 지식 그래프로부터 상기 제약 사항을 나타내는 파라미터에 관련된 제1 지식 트리플을 추출하는 동작; 및 상기 추출된 제1 지식 트리플 을 이용하여 상기 상세 지식 그래프를 수정하는 동작;을 포함한다.

Description

서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법 {SYSTEM AND METHOD FOR MODIFYING KNOWLEDGE GRAPH FOR PROVIDING SERVICE}
본 개시는 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법에 관한 발명으로서, 보다 구체적으로는 사용자에게 제공되는 서비스에 관한 지식 그래프를 사용자의 의도를 고려하여 수정하는 시스템 및 방법에 관한 것이다.
네트워크 및 정보 처리 기술이 발전함에 따라, 사용자에게 다양한 서비스를 제공하기 위하여 다양한 정보가 수집되고 이용될 수 있다. 특히, 서비스를 제공하는 서버는 사용자에게 보다 적절한 서비스를 제공하기 위하여, 다양한 카테고리에 대한 지식 그래프를 활용하고 있다. 하지만, 지식 그래프의 데이터의 양이 방대함에도 불구하고, 사용자의 다양한 의도를 고려하여 효과적으로 지식 그래프를 운용하기 어려운 문제가 있다.
이에 따라, 사용자의 다양한 의도를 반영하여, 지식 그래프를 효과적으로 수정하고 수정된 지식 그래프를 이용하여 사용자에게 특화된 서비스를 제공할 수 있는 기술이 요구되고 있으며, 사용자에게 서비스를 제공함에 있어서 정보 처리로 인하여 발생되는 딜레이를 감소시키기 위한 기술이 필요하다.
본 개시의 일 실시예는, 텍스트의 해석 결과를 이용하여 사용자의 의도에 관련된 상세 지식 그래프를 수정할 수 있는, 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법을 제공할 수 있다.
또한, 본 개시의 일 실시예는, 텍스트의 해석 결과에 따라, 공통 지식 그래프 내의 지식 트리플을 이용하여 상세 지식 그래프를 수정할 수 있는, 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법을 제공할 수 있다.
또한, 본 개시의 일 실시예는, 사용자의 의도에 따라 사용자에게 제공되는 서비스의 상세 지식 그래프 및 공통 지식 그래프를 수정할 수 있는, 서비스 제공을 위한 지식 그래프를 수정할 수 있는 시스템 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 사용자의 질의에 관련된 텍스트를 획득하는 동작; 적어도 하나의 NLU 모델을 이용하여 상기 텍스트를 해석함으로써 상기 사용자의 의도에 관련된 서비스를 식별하는 동작; 상기 식별된 서비스를 위한 상세 지식 그래프를 획득하는 동작; 상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 사용자의 의도에 따른 제약 사항을 나타내는 적어도 하나의 파라미터를 식별하는 동작; 상기 식별된 서비스에 관련된 복수의 공통 지식 그래프들 중에서, 상기 제약 사항을 나타내는 파라미터에 관련된 공통 지식 그래프를 선택하는 동작; 상기 선택된 공통 지식 그래프로부터 상기 제약 사항을 나타내는 파라미터에 관련된 제1 지식 트리플을 추출하는 동작; 및 상기 추출된 제1 지식 트리플을 이용하여 상기 상세 지식 그래프를 수정하는 동작;을 포함하는, 서버가 서비스의 제공을 위한 지식 그래프를 수정하는 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 저장부; 및 상기 하나 이상의 인스트럭션을 실행하여, 사용자의 질의에 관련된 텍스트를 획득하고, 적어도 하나의 NLU 모델을 이용하여 상기 텍스트를 해석함으로써 상기 사용자의 의도에 관련된 서비스를 식별하고, 상기 식별된 서비스를 위한 상세 지식 그래프를 획득하고, 상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 사용자의 의도에 따른 제약 사항을 나타내는 적어도 하나의 파라미터를 식별하고, 상기 식별된 서비스에 관련된 복수의 공통 지식 그래프들 중에서, 상기 제약 사항을 나타내는 파라미터에 관련된 공통 지식 그래프를 선택하고, 상기 선택된 공통 지식 그래프로부터 상기 제약 사항을 나타내는 파라미터에 관련된 제1 지식 트리플을 추출하고, 상기 추출된 제1 지식 트리플을 이용하여 상기 상세 지식 그래프를 수정하는 프로세서; 를 포함하는, 서비스의 제공을 위한 지식 그래프를 수정하는 서버를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 제1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 서비스의 제공을 위한 지식 그래프를 수정하는 시스템의 개요도이다.
도 2는 본 개시의 일 실시예에 따른 서버의 블록도이다.
도 3은 본 개시의 일 실시예에 따른 텍스트 해석 모듈(2310)이 텍스트를 해석하는 예시를 나타내는 도면이다.
도 4a는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관련된 상세 지식 그래프를 나타내는 도면이다.
도 4b는 본 개시의 일 실시예에 따른 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프를 나타내는 도면이다.
도 4c는 본 개시의 일 실시예에 따른 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프에서 매운 맛에 관한 지식 트리플에 추출되는 예시를 나타내는 도면이다.
도 4d는 본 개시의 일 실시예에 따른 추출된 지식 트리플이 어묵탕 레시피에 관한 상세 지식 그래프에 추가되는 예시를 나타내는 도면이다.
도 4e는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관한 상세 지식 그래프에서, 사용자의 의도에 관련된 음식 재료가 식별되는 예시를 나타내는 도면이다.
도 4f는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관한 상세 지식 그래프 내의 노드들을 수정하는 예시를 나타내는 도면이다.
도 5a는 본 개시의 일 실시예에 따른, 사용자의 의도에 따라 상세 지식 그래프 내의 노드의 값을 변경하는 예시를 나타내는 도면이다.
도 5b는 본 개시의 일 실시예에 따른, 사용자의 의도에 따라 공통 지식 그래프로부터 추출된 지식 트리플 내의 노드의 값을 변경하는 예시를 나타내는 도면이다.
도 5c는 본 개시의 일 실시예에 따른, 노드의 값이 변경된 공통 지식 그래프 및 노드의 값이 변경된 지식 트리플을 이용하여 수정된 공통 지식 그래프의 예시를 나타내는 도면이다.
도 6a는 본 개시의 일 실시예에 따른 하체 운동에 관한 상세 지식 그래프를 나타내는 도면이다.
도 6b는 본 개시의 일 실시예에 따른 운동 목적에 관한 공통 지식 그래프를 나타내는 도면이다.
도 6c는 본 개시의 일 실시예에 따른 하체 운동에 관한 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 7a는 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프에 추가될 지식 트리플을 획득하는 예시를 나타내는 도면이다.
도 7b는 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프 내의 노드 값 및 엣지 값을 변경하는 예시를 나타내는 도면이다.
도 7c는 본 개시의 일 실시예에 따른 추출된 지식 트리플 및 변경된 상세 지식 그래프에 기초하여, 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 서버(2000)가 상세 지식 그래프를 수정하고 사용자의 질의에 관련된 서비스를 제공하는 방법의 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
지식 그래프는 노드들 및 노드들을 연결하는 엣지들로 구성된 구조화된 정보의 집합으로서, 노드들 간의 연결 관계를 구조적으로 나타내는 지식 베이스이다. 지식 그래프는 노드들 및 노드들 간의 관계를 계층화하여 표현함으로써 생성될 수 있으며, 노드들이 엣지를 통해 연결되는 트리플 구조를 가질 수 있다. 노드에 대응되는 노드 값은 엔터티(entity)를 나타낼 수 있으며, 엣지에 대응되는 엣지 값은 연관 관계(relation) 또는 속성(property)을 나타낼 수 있다. 지식 그래프는, 예를 들어, RDF(Resource Description Framework), RDF 스키마(RDF-S) 및 OWL(Ontology Web Language) 등과 같이 온톨로지를 표현하는 언어로 구현될 수 있으나, 이에 제한되지 않는다.
지식 그래프는 사용자에게 소정의 서비스를 제공하는데 이용될 수 있으며. 서비스는, 예를 들어, 음식 레시피 제공 서비스, 운동 관리 서비스, 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 사전 정보 제공 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스를 포함할 수 있으나, 이에 제한되지 않는다.
상세 지식 그래프는 사용자의 의도에 따른 세부 서비스에 관련된 지식 그래프로서, 사용자의 특정 의도에 관련된 하위 카테고리의 서비스에 대응되는 지식 그래프일 수 있다. 예를 들어, 사용자가 어묵탕의 레시피를 제공받고자 하며, ‘음식 레시피 제공’이라는 상위 카테고리의 서비스의 하위 계층에, ‘어묵탕 레시피 제공’이라는 하위 카테고리의 서비스가 있는 경우에, ‘어묵탕 레시피 제공’에 관련된 지식 그래프가 상세 지식 그래프로 식별될 수 있다. 또한, 예를 들어, 사용자가 체중 감량을 위한 정보를 제공받고자 하며, ‘운동 관리’라는 상위 카테고리의 서비스의 하위 계층에, ‘체중 감량을 위한 운동 관리’라는 하위 카테고리의 서비스가 있는 경우에, ‘체중 감량을 위한 운동 관리 서비스’에 관련된 지식 그래프가 상세 지식 그래프로 식별될 수 있다.
공통 지식 그래프는 상세 지식 그래프들에 공통적으로 관련된 지식 그래프로서, 상세 지식 그래프들에 대응되는 하위 카테고리의 서비스들에 공통적으로 관련된 지식 그래프일 수 있다. 예를 들어, ‘음식 재료의 속성’에 관한 공통 지식 그래프는, ‘어묵탕 레시피 제공’, ‘햄버거 레시피 제공’ 및 ‘불고기 레시피 제공’ 등의 하위 카테고리의 서비스들에 대해 공통적으로 적용될 수 있는 지식 그래프일 수 있다. 또한, 예를 들어, ‘운동 종류에 따른 운동 효과’에 관한 공통 지식 그래프는, ‘체중 감량을 위한 운동 관리’, ‘근육량 증가를 위한 운동 관리’ 및 “체력 강화를 위한 운동 관리’ 등의 하위 카테고리의 서비스들에 공통적으로 적용될 수 있는 지식 그래프일 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른 서비스의 제공을 위한 지식 그래프를 수정하는 시스템의 개요도이다.
도 1을 참조하면, 서버(2000)는 디바이스(1000)로부터 사용자의 질의와 관련된 텍스트를 수신하고 사용자의 질의에 관련된 응답 정보를 디바이스(1000)에게 제공할 수 있다. 서버(2000)는 사용자의 질의에 관련된 서비스의 상세 지식 그래프를 사용자의 의도를 고려하여 수정하고, 수정된 상세 지식 그래프를 이용하여 사용자의 질의에 관련된 서비스를 제공할 수 있다.
디바이스(1000)는 사용자의 질의 입력을 사용자로부터 입력 받고, 질의 입력에 따른 텍스트를 서버(2000)에게 전송할 수 있다. 서버(2000)는 디바이스(1000)로부터 수신된 텍스트를 해석하여 사용자의 의도 및 사용자의 의도에 관련된 제약 사항을 식별하고, 식별된 의도 및 제약 사항에 기초하여 상세 지식 그래프 및 공통 지식 그래프를 획득하고 수정할 수 있다.
서버(2000)는 사용자의 의도 및 제약 사항을 고려하여, 상세 지식 그래프 내의 노드 값 또는 엣지 값을 변경하고, 상세 지식 그래프 내의 노드 또는 엣지를 삭제할 수 있다. 또한, 서버(2000)는 공통 지식 그래프로부터 지식 트리플을 추출하고, 추출된 지식 트리플을 상세 지식 트리플에 추가할 수 있다. 서버(2000)는 추출된 지식 트리플을 수정하고, 수정된 지식 트리플을 상세 지식 그래프에 추가할 수도 있다.
서버(2000)는 수정된 상세 지식 그래프를 이용하여, 사용자의 질의에 대한 응답 정보를 생성하고, 생성된 응답 정보를 디바이스(1000)에게 제공할 수 있다.
디바이스(1000)와 서버(2000)는 네트워크를 통해 통신 연결될 수 있으며, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다. 또한, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network) 또는 위성 통신망 중 적어도 둘 이상의 상호 조합을 포함할 수 있으며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함한다.
디바이스(1000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 서버(2000)로부터 네트워크를 통하여 객체를 수신하고 실행할 수 있는 모든 종류의 기기를 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따른 서버의 블록도이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 서버(2000)는 통신 인터페이스(2100) 및 프로세서(2200) 및 저장부(2300)를 포함할 수 있다.
통신 인터페이스(2100)는 디바이스(1000) 및 다른 서버(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 인터페이스(2100)는, 근거리 통신부, 이동 통신부 및 방송 수신부를 포함할 수 있다. 근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다.
또한, 통신 인터페이스(2100)는 디바이스(1000)의 사용자에게 제공될 서비스에 관한 상세 지식 그래프를 수정하기 위하여 필요한 정보를 디바이스(2100) 및 다른 서버(미도시)와 송수신할 수 있다.
저장부(2300)는 후술할 프로세서(2200)에 의해 실행될 프로그램을 저장할 수 있고, 서버(2000)로 입력되거나 서버(2000)로부터 출력되는 데이터를 저장할 수 있다.
저장부(2300)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
저장부(2300)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 텍스트 해석 모듈(2310), 지식 그래프 관리 모듈(2320), 응답 생성 모듈(2330)을 포함할 수 있다. 또한, 지식 그래프 관리 모듈(2320)은 상세 지식 그래프 추출 모듈(2321), 공통 지식 그래프 추출 모듈(2322), 공통 지식 그래프 수정 모듈(2323) 및 상세 지식 그래프 수정 모듈(2324)을 포함할 수 있다.
또한, 저장부(2300)는 지식 그래프 DB(2340) 및 인공 지능 모델 DB(2350)를 포함할 수 있다. 지식 그래프 DB(2340)는 상세 지식 그래프 DB(2341) 및 공통 지식 그래프 DB(2342)를 포함할 수 있다. 인공 지능 모델 DB(2350)는 적어도 하나의 NLU (Natural Language Understanding) 모델(2351), 적어도 하나의 지식 그래프 수정 모델(2352) 및 적어도 하나의 NLG (Natural Language Generation) 모델(2353)을 포함할 수 있다.
프로세서(2200)는 서버(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2200)는, 저장부(2300)에 저장된 프로그램들을 실행함으로써, 통신 인터페이스(2100) 및 저장부(23010)를 제어할 수 있다.
프로세서(2200)는 저장부(2300)에 저장된 텍스트 해석 모듈(2310)을 실행함으로써 디바이스(1000)로부터 수신되는 텍스트를 해석할 수 있다. 디바이스(1000)는 사용자의 질의 입력을 사용자로부터 입력받고, 질의 입력에 따른 텍스트를 서버(2000)에게 전송할 수 있다. 프로세서(2200)는 디바이스(1000)로부터 수신되는 텍스트를 NLU 모델(2351)에 입력하고 NLU 모델(2351)로부터 출력되는 값에 기초하여, 텍스트에 따른 사용자의 의도를 식별하고, 사용자의 의도에 관련된 서비스를 판단할 수 있다. 또한, 프로세서(2200)는 디바이스(1000)로부터 수신되는 텍스트를 NLU 모델(2351)에 입력하고 NLU 모델(2351)로부터 출력되는 값에 기초하여 사용자의 의도에 관련된 서비스의 제약 사항을 식별할 수 있다.
NLU 모델(2351)이 텍스트를 해석함으로써 생성되는 출력 값은, 예를 들어, 인텐트 및 파라미터를 포함할 수 있다. 인텐트는 NLU 모델(2351)을 이용하여 텍스트를 해석함으로써 결정되는 정보로서, 예를 들어, 사용자의 의도를 나타낼 수 있다. 인텐트는, 사용자의 의도를 나타내는 의도 정보뿐 아니라, 사용자의 의도를 나타내는 정보에 대응하는 수치 값을 포함할 수 있다. 수치 값은, 텍스트가 특정 의도를 나타내는 정보와 관련될 확률을 나타낼 수 있다. 예를 들어, NLU 모델(2351)을 이용하여 텍스트를 해석한 결과, 사용자의 의도를 나타내는 정보가 복수 개 획득되는 경우, 각 의도 정보에 대응되는 수치 값이 최대인 의도 정보가 인텐트로 결정될 수 있다.
또한, 파라미터는 인텐트와 관련된 세부 정보를 나타낼 수 있다. 파라미터는 인텐트와 관련된 정보로서, 하나의 인텐트에 복수 종류의 파라미터가 대응될 수 있다. 예를 들어, NLU 모델(2351)은 사용자의 의도에 따른 서비스를 제공하기 위한 제약 사항을 나타내는 파라미터인 컨스트레인트(constraint) 및 컨스트레인트 타입(constraint type)을 출력할 수 있다. 예를 들어, 프로세서(2200)가 ‘무척 매운 어묵탕을 어떻게 만들지?’라는 텍스트를 NLU 모델(2351)에 입력하고, NLU 모델(2351)로부터 ‘음식 레시피 제공’이라는 인텐트가 출력되고, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’과 같은 파라미터들이 출력될 수 있다.
한편, 프로세서(2200)는 하나의 NLU 모델(2351)에 텍스트를 입력함으로써, 사용자의 의도 및 제약 사항을 식별할 수 있다. 이 경우, 하나의 NLU 모델(2351)로부터 사용자의 의도를 나타내는 인텐트, 사용자의 의도에 따른 제약 사항을 나타내는 컨스트레인트, 컨스트레인트 타입이 함께 출력될 수 있다.
또는, 프로세서(2200)는 복수의 NLU 모델(2351)을 이용하여, 사용자의 의도 및 제약 사항을 식별할 수 있다. 이 경우, 프로세서(2200)는 사용자의 의도를 파악하기 위한 NLU 모델(2351)에 텍스트를 입력함으로써 사용자의 의도를 식별하고, 식별된 사용자의 의도에 따른 서비스를 식별할 수 있다. 이후, 프로세서(2200)는 식별된 서비스에 관련된 NLU 모델(2351)에 텍스트를 입력함으로써 사용자의 제약 사항을 식별할 수 있다.
프로세서(2200)는 저장부(2300)에 저장된 지식 그래프 관리 모듈(2320)을 실행함으로써, 텍스트에 관련된 응답을 생성하는데 이용되는 지식 그래프를 마련할 수 있다.
프로세서(2200)는 상세 지식 그래프 추출 모듈(2321)을 실행하여, 상세 지식 그래프 DB(2341)에 저장된 상세 지식 그래프들 중에서 사용자의 의도에 연관된 상세 지식 그래프를 추출할 수 있다. 상세 지식 그래프 DB(2341)는 서비스의 종류 별로 특화된 상세 지식 그래프들을 저장할 수 있다. 상세 지식 그래프는 사용자의 의도에 따른 세부 서비스에 관련된 지식 그래프로서, 사용자의 특정 의도에 관련된 하위 카테고리의 서비스에 대응되는 지식 그래프일 수 있다. 예를 들어, 사용자가 어묵탕의 레시피를 제공받고자 하며, ‘음식 레시피 제공’이라는 상위 카테고리의 서비스의 하위 계층에 ‘어묵탕 레시피 제공’이라는 하위 카테고리의 서비스가 있는 경우에, ‘어묵탕 레시피 제공’에 관련된 지식 그래프가 상세 지식 그래프로 식별될 수 있다. 또한, 예를 들어, 사용자가 체중 감량을 위한 정보를 제공받고자 하며, ‘운동 관리’라는 상위 카테고리의 서비스의 하위 계층에 ‘체중 감량을 위한 운동 관리’라는 하위 카테고리의 서비스가 있는 경우에, ‘체중 감량을 위한 운동 관리 서비스’에 관련된 지식 그래프가 상세 지식 그래프로 식별될 수 있다.
또한, 서비스의 세부 종류 별로 대응되는 상세 지식 그래프들이 상세 지식 그래프 DB(2341)에 미리 저장될 수 있으며, 예를 들어, 상세 지식 그래프는 NLU로부터 출력되는 인텐트, 파라미터 및 서비스 종류에 대응될 수 있다.
예를 들어, ‘무척 매운 어묵탕을 어떻게 만들지?’라는 텍스트로부터, ‘음식 레시피 제공’이라는 인텐트 및 ‘어묵탕(FOOD)’이라는 파라미터가 출력된 경우에, 프로세서(2200)는 어묵탕 레시피를 제공하는 서비스에 대응되는 상세 지식 그래프를 상세 지식 그래프 DB(2341)로부터 추출할 수 있다. 또한, 예를 들어, 프로세서(2200)는 추출된 상세 지식 그래프 내의 노드들 및 엣지들 중에서, 사용자의 의도에 관련된 부분을 선택하고, 선택된 부분에 대응되는 노드들 및 엣지들을 서비스 제공을 위하여 이용할 수 있으나, 이에 제한되지 않는다.
프로세서(2200)는 공통 지식 그래프 추출 모듈(2322)을 실행하여, 제약 사항에 관련된 공통 지식 그래프를 공통 지식 그래프 DB(2342)로부터 추출할 수 있다. 공통 지식 그래프는 상세 지식 그래프들에 공통적으로 관련되는 지식 그래프로서, 하위 카테고리의 서비스들에 대응되는 상세 지식 그래프들에 공통적으로 관련되는 지식 그래프일 수 있다. 상세 지식 그래프들에 관련된 공통 지식 그래프들은 미리 설정되어 저장될 수 있다. 예를 들어, ‘음식 재료의 속성’에 관한 지식 그래프는, ‘어묵탕 레시피 제공’, ‘햄버거 레시피 제공’ 및 ‘불고기 레시피 제공’ 등의 하위 카테고리의 서비스들에 대해 공통적으로 적용될 수 있는 공통 지식 그래프일 수 있다. 또한, 예를 들어, ‘운동 종류에 따른 운동 효과’에 관한 지식 그래프는, ‘체중 감량을 위한 운동 관리’, ‘근육량 증가를 위한 운동 관리’ 및 “체력 강화를 위한 운동 관리’ 등의 하위 카테고리의 서비스들에 공통적으로 적용될 수 있는 공통 지식 그래프일 수 있다.
프로세서(2200)는 NLU 모델(2351)로부터 출력된 값들 중에서 사용자의 의도에 따른 제약 사항을 나타내는 파라미터를 이용하여 공통 지식 그래프를 추출할 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘음식 레시피 제공’이라는 인텐트가 출력되고, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들이 출력된 경우에, 프로세서(2200)는 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프를 공통 지식 그래프 DB(2342)로부터 추출할 수 있다.
프로세서(2200)는 공통 지식 그래프 수정 모듈(2323)을 이용하여 공통 지식 그래프를 수정할 수 있다. 프로세서(2200)는 사용자의 제약 사항에 관련된 공통 지식 그래프로부터, 상세 지식 그래프에 추가될 지식 트리플을 추출할 수 있다. 지식 트리플은 지식 그래프 내에서 엣지와 엣지로 연결된 노드들의 세트일 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘매운(CONSTRAINT TYPE)’ 및 ‘무척(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력된 경우에, 프로세서(2200)는 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프에서 ‘청양 고추’ 및 ‘2EA/1인분’에 대응되는 노드들 및 이들을 연결하는 엣지를 포함하는 지식 트리플을 추출할 수 있다. 이 경우, 제약 사항에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 또는 제약 사항에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)이 저장부(2300)에 저장될 수 있으며, 프로세서(2200)는 지식 그래프 수정 모델(2352)을 이용하여 상세 지식 그래프에 포함될 지식 트리플을 공통 지식 그래프로부터 추출할 수 있다.
또한, 프로세서(2200)는 추출된 지식 트리플을 수정할 수 있다. 프로세서(2200)는 추출된 지식 트리플 내의 노드들에 대응되는 노드 값들 및 엣지에 대응되는 엣지 값 중 적어도 하나를 수정할 수 있다. 이 경우, 프로세서(2200)는 NLU 모델(2351)로부터 출력된 값들 및 상세 지식 그래프를 이용하여, 추출된 지식 트리플을 수정할 수 있다. 예를 들어, 사용자가 2인분의 어묵탕을 만드는 레시피를 요구하며, 맛에 따른 음식 재료에 관한 공통 지식 그래프에서 음식 재료의 양이 1인분에 대한 값인 경우에, 프로세서(2200)는 공통 지식 그래프에서 추출된 지식 트리플에서 음식 재료의 양에 대응되는 값이 2인분에 대응되는 값이 되도록 공통 지식 그래프를 수정할 수 있다. 예를 들어, 추출된 지식 트리플이 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 경우에, 프로세서(2200)는 추출된 지식 트리플 내의 노드 값 ‘2EA/1인분’을 ‘4EA’로 수정할 수 있다. 이 경우, 공통 지식 그래프의 어떤 부분을 어떻게 수정하여야 하는 지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 또는 공통 지식 그래프의 어떤 부분을 어떻게 수정하여야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)이 저장부(2300)에 저장될 수 있으며, 프로세서(2200)는 지식 그래프 수정 모델(2352)을 이용하여 공통 지식 그래프를 수정할 수 있다.
상기에서는, 프로세서(2200)가 공통 지식 그래프에서 지식 트리플을 추출하고, 추출된 지식 트리플을 수정하는 것으로 설명되었지만, 이에 제한되지 않는다. 예를 들어, 프로세서(2200)는 NLU 모델(2351)의 출력 값, 상세 지식 그래프 및 공통 지식 그래프를 지식 그래프 수정 모델(2352)에 입력하고, 지식 그래프 수정 모델(2352)로부터 출력되는 수정된 지식 트리플을 획득할 수 있다. 예를 들어, NLU 모델(2351)로부터 출력된 ‘음식 레시피 제공’이라는 인텐트, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들과, 어묵탕 레시피 제공에 관한 상세 지식 그래프, 및 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프를 지식 그래프 수정 모델(2352)로 입력할 수 있다. 이 경우, 지식 그래프 수정 모델(2352)은 공통 지식 그래프를 수정하고 사용자의 의도에 관련된 지식 그래프를 추출하기 위하여 미리 학습된 인공지능 모델일 수 있으며, 지식 그래프 수정 모델(2352)은 ‘청양 고추’ 및 ‘4EA’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 수정된 지식 트리플을 출력할 수 있다.
프로세서(2200)는 상세 지식 그래프 수정 모듈(2324)을 실행하여, 추출된 상세 지식 그래프를 수정할 수 있다.
프로세서(2200)는 상세 지식 그래프 내의 지식 트리플들 중 일부를 삭제할 수 있다. 프로세서(2200)는 추가될 지식 트리플에 저촉되는 지식 트리플을 상세 지식 그래프로부터 삭제할 수 있다. 예를 들어, 프로세서(2200)는 요리 재료들의 속성을 나타내는 공통 지식 그래프를 이용하여, 추가될 지식 트리플과 상세 지식 그래프 내의 지식 트리플들이 저촉되는 지를 식별할 수 있다. 예를 들어, 프로세서(2200)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가 상세 지식 그래프 내의 ‘양파’에 저촉됨을 식별할 수 있다. 또한, 예를 들어, 프로세서(2200)는 상세 지식 그래프 내의 ‘양파’, ‘amount’ 및 ‘50g’를 포함하는 지식 트리플을 상세 지식 그래프로부터 삭제할 수 있다.
프로세서(2200)는 상세 지식 그래프 내의 지식 트리플들 중 일부의 값을 변경할 수 있다. 프로세서(2200)는 추가될 지식 트리플과 유사한 속성의 값들을 가지는 지식 트리플을 변경할 수 있다. 예를 들어, 프로세서(2200)는 요리 재료들의 속성을 나타내는 공통 지식 그래프를 이용하여, 추가될 지식 트리플과 상세 지식 그래프 내의 지식 트리플들이 유사한 지를 식별할 수 있다. 예를 들어, 프로세서(2200)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가, 상세 지식 그래프 내의 ‘마늘’과 유사한 속성을 가짐을 식별할 수 있다. 또한, 프로세서(2200)는 상세 지식 그래프 내의 ‘마늘’, ‘amount’ 및 ‘20g’를 포함하는 지식 트리플에서, ‘20g’을 ‘15g으로 변경할 수 있다.
또는, 프로세서(2200)는 추가될 지식 트리플과 저촉되는 속성의 값들을 가지는 지식 트리플을 변경할 수 있다. 예를 들어, 프로세서(2200)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가 상세 지식 그래프 내의 ‘양파’에 저촉됨을 식별하고, 상세 지식 그래프 내의 ‘양파’, ‘amount’ 및 ‘50g’를 포함하는 지식 트리플에서 ‘50g’을 ‘25g’으로 변경할 수 있다.
프로세서(2200)는 NLU 모델(2351)에 의해 해석된 사용자의 의도에 기초하여, 상세 지식 그래프 내의 노드 값들을 변경할 수 있다. 예를 들어, 사용자가 2인분의 어묵탕을 만드는 레시피를 요구하고 있으며, 어묵탕 레시피에 관한 상세 지식 그래프가 1인분의 어묵탕을 만들기 위한 값들을 포함하는 경우에, 프로세서(2200)는 어묵탕 레시피에 관한 상세 지식 그래프 내의 재료들의 양을 나타내는 값들을 2인분에 대응되는 값들로 변경할 수 있다.
상기에서는, 프로세서(2200)가 추가될 지식 트리플과 저촉되거나 유사한 지식 트리플을 상세 지식 그래프로부터 식별하고, 식별된 지식 트리플을 삭제 또는 변경하는 것으로 설명하였지만, 이에 제한되지 않는다. 예를 들어, 프로세서(2200)는 NLU 모델(2351)의 출력 값, 상세 지식 그래프 및 공통 지식 그래프를 지식 그래프 수정 모델(2352)에 입력하고, 지식 그래프 수정 모델(2352)로부터 출력되는 변경된 상세 지식 그래프를 획득할 수 있다. 예를 들어, NLU 모델(2351)로부터 출력된 ‘음식 레시피 제공’이라는 인텐트, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들과, 어묵탕 레시피 제공에 관한 상세 지식 그래프, 및 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프를 지식 그래프 수정 모델(2352)로 입력할 수 있다. 이 경우, 지식 그래프 수정 모델(2352)은 상세 지식 그래프 내의 값들을 변경하기 위하여 미리 학습된 인공지능 모델일 수 있다.
프로세서(2200)는 변경된 상세 지식 그래프에 공통 지식 그래프로부터 추출된 지식 트리플을 추가할 수 있다.
한편, 상기에서는, 프로세서(2200)가 공통 지식 그래프로부터 지식 트리플을 추출하고, 상세 지식 그래프를 변경하고, 변경된 상세 지식 그래프에 추출된 지식 트리플을 추가하는 것으로 설명되었지만, 이에 제한되지 않는다. 예를 들어, 프로세서(2200)는 NLU 모델(2351)의 출력 값, 상세 지식 그래프 및 공통 지식 그래프를 지식 그래프 수정 모델(2352)에 입력하고, 지식 그래프 수정 모델(2352)로부터, 공통 지식 그래프의 지식 트리플이 추가되어 수정된 상세 지식 그래프를 획득할 수도 있다.
프로세서(2200)는 응답 생성 모듈(2330)을 실행하여, 수신된 텍스트에 관련된 응답 정보를 생성할 수 있다. 프로세서(2200)는 수정된 상세 지식 그래프 및 NLG 모델(2353)을 이용하여, 사용자에게 응답할 응답 메시지를 생성할 수 있다. 또한, 프로세서(2200)는, 예를 들어, 텍스트, 이미지, 동영상 등과 같이, 사용자에 제공할 응답 컨텐츠를 획득할 수 있다.
프로세서(2200)는 생성된 응답 정보를 디바이스(1000)에게 제공할 수 있다. 또는 프로세서(2200)는 수정된 상세 지식 그래프를 디바이스(1000)에게 제공하고, 디바이스(1000)가 수정된 상세 지식 그래프를 이용하여 사용자의 입력에 응답하도록 할 수도 있다.
도 3은 본 개시의 일 실시예에 따른 텍스트 해석 모듈(2310)이 텍스트를 해석하는 예시를 나타내는 도면이다.
도 3을 참조하면, 텍스트 해석 모듈(2310)은 디바이스(1000)로부터 수신되는 텍스트를 NLU 모델(2351)에 입력하고, NLU 모델(2351)로부터 출력되는 값들을 획득할 수 있다. NLU 모델(2351)은 복수의 네트워크 레이어를 포함하는 인공지능 모델일 수 있으며, 텍스트의 의미를 나타내는 데이터를 출력할 수 있다. NLU 모델(2351)이 텍스트를 해석함으로써 출력되는 데이터는, 예를 들어, 인텐트 및 파라미터를 포함할 수 있다. 인텐트는 NLU 모델(2351)을 이용하여 텍스트를 해석함으로써 결정되는 정보로서, 예를 들어, 사용자의 의도를 나타낼 수 있다. 또한, 파라미터는 인텐트와 관련된 세부 정보를 나타낼 수 있다. 파라미터는 인텐트와 관련된 정보로서, 하나의 인텐트에 복수 종류의 파라미터가 대응될 수 있다.
NLU 모델(2351)은 사용자의 의도를 나타내는 인텐트 및 사용자의 의도에 관련된 제약 사항을 나타내는 파라미터를 출력할 수 있다. 예를 들어, ‘무척 매운 어묵탕을 어떻게 만들지?’라는 텍스트가 NLU 모델(2351)에 입력되면, ‘음식 레시피 제공’이라는 인텐트, 및 ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’과 같은 파라미터들이 NLU 모델(2351)로부터 출력될 수 있다.
도 4a 내지 도 4f는 본 개시의 일 실시예에 따른 상세 지식 그래프가 수정되는 예시를 설명하기 위한 도면이다.
도 4a는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관련된 상세 지식 그래프를 나타내는 도면이다.
도 4a를 참조하면, 예를 들어, NLU 모델(2351)로부터 ‘어묵탕 레시피 제공’이라는 인텐트가 출력되면, 도 4a에서와 같은, 어묵탕 레시피에 관련된 상세 지식 그래프가 상세 지식 그래프 DB(3241)로부터 호출될 수 있다.
또한, 예를 들어, 어묵탕 레시피에 관한 상세 지식 그래프에서, ‘어묵탕’ 노드에 ‘어묵’ 노드, ‘양파’ 노드, ‘무’ 노드, ‘간장’ 노드, ‘마늘’ 노드 및 ‘다시마’ 노드가 각각 ‘재료(ingredient)’의 관계로 연결될 수 있다. 또한, ‘어묵탕’ 노드에 ‘1인분’ 노드가 ‘양(amount)’의 관계로 연결될 수 있다.
또한, 예를 들어, ‘어묵’ 노드, ‘양파’ 노드, ‘무’ 노드, ‘간장’ 노드, ‘마늘’ 노드 및 ‘다시마’ 노드에, 각각의 재료의 양을 나타내는 노드들이 각각 연결될 수 있다.
도 4b는 본 개시의 일 실시예에 따른 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프를 나타내는 도면이다.
도 4b를 참조하면, 예를 들어, NLU 모델(2351)로부터 ‘매운(CONSTRAINT TYPE)’ 및 ‘무척(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력되면, 도 4b에서와 같은, ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프가 공통 지식 그래프 DB(2342)로부터 호출될 수 있다.
또한, 예를 들어, 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프에서, ‘매운 재료(spicy ingredient)’ 노드에, ‘캡사이신 소스’ 노드 및 ‘청양 고추’ 노드가, ‘명칭(name)’이라는 관계로 각각 연결될 수 있다. 또한, 예를 들어, ‘캡사이신 소스’ 노드에 ‘Extreme’ 노드가 ‘level’의 관계로 연결되고, ‘캡사이신 소스’ 노드에 ‘3ts/1인분’ 노드가 ‘amount’의 관계로 연결될 수 있다. 또한, 예를 들어, ‘청양 고추’ 노드에 ‘High’ 노드가 ‘level’의 관계로 연결되고, ‘청양 고추’ 노드에 ‘2ea/1인분’ 노드가 ‘amount’의 관계로 연결될 수 있다.
도 4c는 본 개시의 일 실시예에 따른 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프에서 매운 맛에 관한 지식 트리플에 추출되는 예시를 나타내는 도면이다.
도 4c를 참조하면, 서버(2000)는 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프에서 ‘청양 고추’ 노드, ‘2EA/1인분’ 노드 및 ‘amount’ 엣지를 포함하는 지식 트리플을 추출할 수 있다. 이 경우, NLU 모델(2351)로부터 출력되는 인텐트 및 파라미터에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘매운(CONSTRAINT TYPE)’ 및 ‘무척(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력된 경우에, 서버(2000)는, 저장부(2300)에 미리 저장된 설정 정보에 따라, ‘매운(CONSTRAINT TYPE)’ 및 ‘무척(CONSTRAINT)’에 관련된 지식 트리플인 ‘청양 고추’ 노드, ‘2EA/1인분’ 노드 및 ‘amount’ 엣지를 포함하는 지식 트리플을 추출할 수 있다. 이 경우, 서버(2000)는 사용자가 선호하는 음식 재료 또는 사용자가 보유하고 있는 음식 재료에 관한 정보를 미리 획득하고, 획득된 음식 재료에 관한 정보를 이용하여 지식 트리플을 추출할 수도 있다.
또는, 서버(2000)는 NLU 모델(2351)로부터 출력되는 인텐트 및 파라미터에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)을 이용하여 상세 지식 그래프에 포함될 지식 트리플을 공통 지식 그래프로부터 추출할 수 있다. 예를 들어, 서버(2000)는 NLU 모델(2351)로부터 출력된 출력 값들, 어묵탕 레시피 제공에 관한 상세 지식 그래프, 및 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프를 지식 그래프 수정 모델(2352)로 입력하고, 지식 그래프 수정 모델(2352)로부터 출력되는 지식 트리플을 획득할 수 있다.
도 4d는 본 개시의 일 실시예에 따른 추출된 지식 트리플이 어묵탕 레시피에 관한 상세 지식 그래프에 추가되는 예시를 나타내는 도면이다.
도 4d를 참조하면, 예를 들어, ‘청양 고추’ 노드, ‘2EA/1인분’ 노드 및 ‘amount’ 엣지를 포함하는 지식 트리플의 ‘청양 고추’ 노드가, 어묵탕 레시피에 관한 상세 지식 그래프의 ‘어묵탕’ 노드에 연결될 수 있다. 이 경우, ‘청양 고추’ 노드는 ‘ingredient’ 엣지를 통해 ‘어묵탕’ 노드에 연결될 수 있다.
도 4e는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관한 상세 지식 그래프에서, 사용자의 의도에 관련된 음식 재료가 식별되는 예시를 나타내는 도면이다.
도 4e를 참조하면, 예를 들어, NLU 모델(2351)로부터 출력된 ‘음식 레시피 제공’이라는 인텐트와, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들이 출력된 경우에, 서버(2000)는 요리 재료의 맛에 관한 공통 지식 그래프를 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프에서 사용자의 의도에 저촉되는 음식 재료를 식별할 수 있다.
예를 들어, 서버(2000)는 요리 재료의 맛에 관한 공통 지식 그래프를 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프 내의 음식 재료들의 맛을 식별하고, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’이라는 파라미터에 저촉되는 음식 재료를 식별할 수 있다. 서버(2000)는 양파의 맛이 ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’이라는 파라미터에 저촉됨을 식별할 수 있다.
또한, 예를 들어, NLU 모델(2351)로부터 출력된 ‘음식 레시피 제공’이라는 인텐트와, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들이 출력된 경우에, 서버(2000)는 요리 재료의 맛에 관한 공통 지식 그래프를 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프에서 사용자의 의도와 유사한 음식 재료를 식별할 수 있다.
예를 들어, 서버(2000)는 요리 재료의 맛에 관한 공통 지식 그래프를 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프 내의 음식 재료들의 맛을 식별하고, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’이라는 파라미터와 유사한 음식 재료를 식별할 수 있다. 서버(2000)는 마늘의 맛이 ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’이라는 파라미터와 유사함을 식별할 수 있다.
도 4f는 본 개시의 일 실시예에 따른 어묵탕 레시피에 관한 상세 지식 그래프 내의 노드들을 수정하는 예시를 나타내는 도면이다.
도 4f를 참조하면, 서버(2000)는 어묵탕 레시피에 관한 상세 지식 그래프 내의 ‘어묵탕’ 노드에, ‘청양고추’ 노드, ‘amount’ 엣지 및 ‘2ea’ 노드를 포함하는 지식 트리플을 연결할 수 있다. 또한, 서버(2000)는 사용자의 의도에 저촉되는 지식 트리플인 ‘양파’ 노드, ‘amount’ 엣지 및 ‘2ea’ 노드를 포함하는 지식 트리플을, 어묵탕 레시피에 관한 상세 지식 그래프에서 삭제할 수 있다. 또한, 서버(2000)는 사용자의 의도와 유사되는 지식 트리플인 ‘마늘’ 노드, ‘amount’ 엣지 및 ‘20g’ 노드를 포함하는 지식 트리플에서 ‘20g’ 노드를 ‘15g’ 노드로 변경할 수 있다.
도 4e 및 도 4f에서는 서버(2000)가 어묵탕 레시피에 관한 상세 지식 그래프에서 사용자의 의도에 관련된 노드를 식별한 이후에, 식별된 노드를 변경하는 예시가 설명되었지만 이에 제한되지 않는다. 예를 들어, 서버(2000)는 NLU 모델(2351)의 출력 값, 어묵탕 레시피에 관한 상세 지식 그래프, 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프 및 음식 재료의 맛에 관한 공통 지식 그래프를, 지식 그래프 수정 모델(2352)에 입력할 수 있다. 이 경우, 서버(2000)는 도 4f와 같이 수정된 상세 지식 그래프를 지식 그래프 수정 모델(2352)로부터 출력되는 값을 통하여 획득할 수 있다.
도 5a 내지 도 5c는 본 개시의 일 실시예에 따른, 사용자의 의도에 따라, 상세 지식 그래프 내의 노드의 값 및 공통 지식 그래프로부터 추출되는 지식 트리플 내의 노드의 값을 변경하고, 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 5a는 본 개시의 일 실시예에 따른, 사용자의 의도에 따라 상세 지식 그래프 내의 노드의 값을 변경하는 예시를 나타내는 도면이다.
도 5a를 참조하면, 예를 들어, “매운 어묵탕 2인분을 어떻게 만들지?”라는 사용자의 텍스트가 수신되면, 서버(2000)는 어묵탕 레시피에 관한 상세 지식 그래프에서 음식의 양을 나타내는 노드 및 음식 재료의 양을 나타내는 노드들의 값을 변경할 수 있다. 서버(2000)는, 예를 들어, 어묵탕의 양을 나타내는 ‘1인분’ 노드를 ‘2인분’ 노드로 변경할 수 있다. 또한, 서버(2000)는, 예를 들어, 어묵탕의 음식 재료의 양을 나타내는 ‘30g’ 노드, ‘20g’ 노드, ‘45g’ 노드, ‘200g’ 노드, ‘50g’ 노드 및 ‘400g’ 노드를, ‘60g’ 노드, ‘40g’ 노드, ‘90g’ 노드, ‘400g’ 노드, ‘100g’ 노드 및 ‘800g’ 노드로 변경할 수 있다.
도 5b는 본 개시의 일 실시예에 따른, 사용자의 의도에 따라 공통 지식 그래프로부터 추출된 지식 트리플 내의 노드의 값을 변경하는 예시를 나타내는 도면이다.
도 5b를 참조하면, 예를 들어, “매운 어묵탕 2인분을 어떻게 만들지?”라는 사용자의 텍스트가 수신되면, 서버(2000)는 매운 맛을 가지는 음식 재료에 관한 공통 지식 그래프에서, ‘청양고추’ 노드, ‘amount’ 엣지 및 ‘2ea/1인분’ 노드를 포함하는 지식 트리플을 추출할 수 있다. 또한, 서버(2000)는 ‘청양고추’ 노드, ‘amount’ 엣지 및 ‘2ea/1인분’ 노드를 포함하는 지식 트리플에서 ‘2ea/1인분’ 노드를 ‘4ea’ 노드로 변경할 수 있다.
도 5c는 본 개시의 일 실시예에 따른, 노드의 값이 변경된 공통 지식 그래프 및 노드의 값이 변경된 지식 트리플을 이용하여 수정된 공통 지식 그래프의 예시를 나타내는 도면이다.
도 5c를 참조하면, 도 5a에서 노드의 값이 변경된 공통 지식 그래프에, 도 5b에서 노드의 값이 변경된 지식 트리플이 연결될 수 있다.
도 6a 내지 도 6c는 본 개시의 일 실시예에 따른 하체 운동에 관한 상세 지식 그래프를 수정하는 일례를 나타내는 도면이다.
도 6a는 본 개시의 일 실시예에 따른 하체 운동에 관한 상세 지식 그래프를 나타내는 도면이다.
도 6a를 참조하면, 예를 들어, ‘빨리 체중을 감량할 수 있는 하체 운동의 루틴을 알려줘”라는 텍스트로부터, NLU 모델(2351)에 의해 ‘하체 운동’ 이라는 인텐트가 출력되면, 도 6a에서와 같은, 하체 운동에 관련된 상세 지식 그래프가 상세 지식 그래프 DB(3241)로부터 호출될 수 있다.
또한, 예를 들어, 하체 운동에 관한 상세 지식 그래프에서, ‘하체 운동’ 노드에 ‘사이클’ 노드, ‘레그 프레스’ 노드 및 ‘스쿼트’ 노드 가 각각 ‘exercise’의 관계로 연결될 수 있다. 또한, ‘하체 운동’ 노드에 ‘1min’ 노드가 ‘rest’의 관계로 연결될 수 있다.
또한, 예를 들어, ‘사이클’ 노드에 ‘20km/h’ 노드가 ‘speed’ 관계로 연결되고, ‘사이클’ 노드에 ‘5km’ 노드가 ‘distance’ 관계로 연결될 수 있다. 또한, 예를 들어, ‘레그 프레스’ 노드에 ‘12’ 노드가 ‘repeat’ 관계로 연결되고, ‘레그 프레스’ 노드에 ‘4’ 노드가 ‘set’ 관계로 연결될 수 있다. 또한, 예를 들어, ‘스쿼트’ 노드에 ‘10’ 노드가 ‘repeat’ 관계로 연결되고, ‘스쿼트’ 노드에 ‘5’ 노드가 ‘set’ 관계로 연결될 수 있다.
도 6b는 본 개시의 일 실시예에 따른 운동 목적에 관한 공통 지식 그래프를 나타내는 도면이다.
도 6b를 참조하면, 예를 들어, NLU 모델(2351)로부터 ‘빨리(CONSTRAINT TYPE)’ 및 ‘체중 감량(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력되면, 도 6b에서와 같은, 운동 목적에 관한 공통 지식 그래프가 공통 지식 그래프 DB(2342)로부터 호출될 수 있다.
또한, 예를 들어, 운동 목적에 관한 공통 지식 그래프에서, ‘Running’ 노드, ‘3km’ 노드 및 ‘distance’ 엣지를 포함하는 지식 트리플, 및 ‘Running’ 노드, ‘12km/h’ 노드 및 ‘speed’ 엣지를 포함하는 지식 트리플을 추출할 수 있다. 추출된 지식 트리플들에서 ‘Running’ 노드가 공통될 수 있다. 이 경우, NLU 모델(2351)로부터 출력되는 인텐트 및 파라미터에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘빨리(CONSTRAINT TYPE)’ 및 ‘체중 감량(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력된 경우에, 서버(2000)는, 저장부(2300)에 미리 저장된 설정 정보에 따라, ‘빨리(CONSTRAINT TYPE)’ 및 ‘체중 감량(CONSTRAINT)’에 관련된 지식 트리플들을 추출할 수 있다. 이 경우, 서버(2000)는 사용자가 선호하는 운동 종류에 관한 정보를 미리 획득하고, 획득된 운동 종류에 관한 정보를 이용하여 지식 트리플을 추출할 수도 있다.
또는, 서버(2000)는 NLU 모델(2351)로부터 출력되는 인텐트 및 파라미터에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)을 이용하여 상세 지식 그래프에 포함될 지식 트리플을 공통 지식 그래프로부터 추출할 수 있다. 예를 들어, 서버(2000)는 NLU 모델(2351)로부터 출력된 출력 값들, 하체 운동에 관한 상세 지식 그래프, 및 운동 목적에 관한 공통 지식 그래프를 지식 그래프 수정 모델(2352)로 입력하고, 지식 그래프 수정 모델(2352)로부터 출력되는 지식 트리플을 획득할 수 있다.
도 6c는 본 개시의 일 실시예에 따른 하체 운동에 관한 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 6c를 참조하면, 서버(2000)는 하체 운동에 관한 상세 지식 그래프 내의 ‘하체 운동’ 노드에, ‘Running’ 노드, ‘3km’ 노드 및 ‘distance’ 엣지를 포함하는 지식 트리플, 및 ‘Running’ 노드, ‘12km/h’ 노드 및 ‘speed’ 엣지를 포함하는 지식 트리플을 연결할 수 있다. 또한, 서버(2000)는 사용자의 의도에 따라 ‘스쿼트’ 노드에 ‘repeat’ 관계로 연결된 ‘10’ 노드를 ‘15’ 노드로 변경할 수 있다. 또한, 서버(2000)는 ‘Running’ 노드를 포함하는 지식 트리플과 유사한 속성을 가지는 ‘사이클’ 노드를 포함하는 지식 트리플들을 삭제할 수 있다.
도 6b 및 도 6c에서는 서버(2000)가 하체 운동에 관한 상세 지식 그래프에서 사용자의 의도에 관련된 노드를 식별한 이후에, 식별된 노드를 변경하는 예시가 설명되었지만 이에 제한되지 않는다. 예를 들어, 서버(2000)는 NLU 모델(2351)의 출력 값, 하체 운동에 관한 상세 지식 그래프, 운동 목적에 관한 공통 지식 그래프를, 지식 그래프 수정 모델(2352)에 입력할 수 있다. 이 경우, 서버(2000)는 도 6c와 같이 수정된 상세 지식 그래프를 지식 그래프 수정 모델(2352)로부터 출력되는 값을 통하여 획득할 수 있다.
도 7a 내지 도 7c는 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 7a는 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프에 추가될 지식 트리플을 획득하는 예시를 나타내는 도면이다.
도 7a를 참조하면, 서버(2000)는, 제1 지식 그래프 수정 모델(2352-1)을 이용하여, 매운 맛의 음식 재료에 관한 공통 지식 그래프(72)로부터, 어묵탕 레시피에 관한 상세 지식 그래프(71)에 추가될 지식 트리플(77)을 획득할 수 있다. 서버(2000)는 NLU 모델(2351)로부터 출력된 출력 데이터(70), 어묵탕 레시피에 관한 상세 지식 그래프(71) 및 매운 맛의 음식 재료에 관한 공통 지식 그래프(72)를 제1 지식 그래프 수정 모델(2351-1)에 입력할 수 있으며, 제1 지식 그래프 수정 모델(2351-1)로부터 출력되는 지식 트리플(77)을 획득할 수 있다. 도 7a에서는 매운 맛의 음식 재료에 관한 공통 지식 그래프(72)로부터 지식 트리플(77)이 추출되는 것으로 설명되었지만, 이에 제한되지 않는다. 공통 지식 그래프(72)로부터 지식 트리플(77)이 수정되어 추출될 수도 있다. 이 경우, 제1 지식 그래프 수정 모델(2351-1)은 공통 지식 그래프로부터 지식 트리플을 수정하고 추출하기 위하여 미리 학습된 인공지능 모델일 수 있다.
도 7b는 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프 내의 노드 값 및 엣지 값을 변경하는 예시를 나타내는 도면이다.
도 7b를 참조하면, 서버(2000)는, 제2 지식 그래프 수정 모델(2352-2)을 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프(71)에서 노드 값 또는 엣지 값이 변경된 상세 지식 그래프(78)를 획득할 수 있다. 서버(2000)는 NLU 모델(2351)로부터 출력된 출력 데이터(70), 어묵탕 레시피에 관한 상세 지식 그래프(71), 매운 맛의 음식 재료에 관한 공통 지식 그래프(72) 및 요리 재료의 맛에 관한 공통 지식 그래프(73)를 제2 지식 그래프 수정 모델(2351-2)에 입력할 수 있으며, 제2 지식 그래프 수정 모델(2351-2)로부터 출력되는 변경된 상세 지식 그래프(78)를 획득할 수 있다. 이 경우, 제2 지식 그래프 수정 모델(2351-2)은 공통 지식 그래프 내의 노드 값 및 엣지 값을 변경하기 위하여 미리 학습된 인공지능 모델일 수 있다.
도 7c는 본 개시의 일 실시예에 따른 추출된 지식 트리플 및 변경된 상세 지식 그래프에 기초하여, 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 7c를 참조하면, 서버(2000)는 제1 지식 그래프 수정 모델(2352-1)로부터 획득된 지식 트리플(77) 및 제2 지식 그래프 수정 모델(2352-2)로부터 획득된 변경된 상세 지식 그래프(78)을 병합하여, 수정된 상세 지식 그래프(79)를 획득할 수 있다. 예를 들어, 서버(2000)는 제1 지식 그래프 수정 모델(2352-1)로부터 획득된 지식 트리플(77)의 ‘청양 고추’ 노드를, 제2 지식 그래프 수정 모델(2352-2)로부터 획득된 변경된 상세 지식 그래프(78) 내의 ‘어묵탕’ 노드에 연결할 수 있다.
도 8은 본 개시의 일 실시예에 따른 지식 그래프 수정 모델을 이용하여 상세 지식 그래프를 수정하는 예시를 나타내는 도면이다.
도 8을 참조하면, 서버(2000)는, 제3 지식 그래프 수정 모델(2352-3)을 이용하여, 어묵탕 레시피에 관한 상세 지식 그래프(71)를 수정할 수 있다. 서버(2000)는 NLU 모델(2351)로부터 출력된 출력 데이터(70), 어묵탕 레시피에 관한 상세 지식 그래프(71), 매운 맛의 음식 재료에 관한 공통 지식 그래프(72) 및 요리 재료의 맛에 관한 공통 지식 그래프(73)를 제3 지식 그래프 수정 모델(2351-3)에 입력할 수 있으며, 제3 지식 그래프 수정 모델(2351-3)로부터 출력되는 수정된 상세 지식 그래프(79)를 획득할 수 있다. 이 경우, 제3 지식 그래프 수정 모델(2351-3)은 공통 지식 그래프를 수정하기 위하여 미리 학습된 인공지능 모델일 수 있다.
도 9는 본 개시의 일 실시예에 따른 서버(2000)가 상세 지식 그래프를 수정하고 사용자의 질의에 관련된 서비스를 제공하는 방법의 흐름도이다.
동작 S900에서 서버(2000)는 사용자의 질의에 관련된 텍스트를 획득할 수 있다. 디바이스(1000)는 사용자의 질의 입력을 사용자로부터 입력받고, 질의 입력에 따른 텍스트를 서버(2000)에게 전송할 수 있으며, 서버(2000)는 디바이스(1000)로부터 전송된 텍스트를 수신할 수 있다.
동작 S910에서 서버(2000)는 적어도 하나의 NLU 모델(2351)을 이용하여 사용자의 의도에 관련된 서비스를 식별할 수 있다. 서버(2000)는 디바이스(1000)로부터 수신되는 텍스트를 NLU 모델(2351)에 입력하고 NLU 모델(2351)로부터 출력되는 값에 기초하여, 텍스트에 따른 사용자의 의도를 식별하고, 사용자의 의도에 관련된 서비스를 판단할 수 있다. NLU 모델(2351)이 텍스트를 해석함으로써 생성되는 출력 값은, 예를 들어, 사용자의 의도를 나타내는 인텐트를 포함할 수 있으며, 서버(2000)는 인텐트에 대응되는 서비스를 사용자의 의도에 관련된 서비스로 식별할 수 있다.
동작 S920에서 서버(2000)는 사용자의 의도에 따른 제약 사항을 식별할 수 있다. 서버(2000)는 디바이스(1000)로부터 수신되는 텍스트를 NLU 모델(2351)에 입력하고 NLU 모델(2351)로부터 출력되는 값에 기초하여 사용자의 의도에 관련된 서비스의 제약 사항을 식별할 수 있다. NLU 모델(2351)이 텍스트를 해석함으로써 생성되는 출력 값은 사용자의 의도에 관련된 제약 사항을 나타내는 파라미터를 포함할 수 있으며, 서버(2000)는 파라미터에 기초하여 사용자의 의도에 따른 제약 사항을 식별할 수 있다.
한편, 서버(2000)는 하나의 NLU 모델(2351)에 텍스트를 입력함으로써, 사용자의 의도 및 제약 사항을 식별할 수 있다. 이 경우, 하나의 NLU 모델(2351)로부터 사용자의 의도를 나타내는 인텐트, 사용자의 의도에 따른 제약 사항을 나타내는 컨스트레인트, 컨스트레인트 타입이 함께 출력될 수 있다.
또는, 서버(2000)는 복수의 NLU 모델(2351)을 이용하여, 사용자의 의도 및 제약 사항을 식별할 수 있다. 이 경우, 프로세서(2200)는 사용자의 의도를 파악하기 위한 NLU 모델에 텍스트를 입력함으로써 사용자의 의도를 식별하고, 식별된 사용자의 의도에 따른 서비스를 식별할 수 있다. 이후, 서버(2000)는 식별된 서비스에 관련된 NLU 모델에 텍스트를 입력함으로써 사용자의 제약 사항을 식별할 수 있다.
동작 S930에서 서버(2000)는 식별된 서비스를 위한 상세 지식 그래프를 획득할 수 있다. 서버(2000)는 상세 지식 그래프 DB(2341)에 저장된 상세 지식 그래프들 중에서 식별된 서비스에 대응되는 상세 지식 그래프를 추출할 수 있다. 상세 지식 그래프 DB(2341)는 서비스의 종류 별로 특화된 상세 지식 그래프들을 저장할 수 있다. 예를 들어, 상세 지식 그래프는 NLU로부터 출력되는 인텐트, 파라미터 및 서비스 종류에 대응될 수 있다. 예를 들어, ‘무척 매운 어묵탕을 어떻게 만들지?’라는 텍스트로부터, ‘음식 레시피 제공’이라는 인텐트 및 ‘어묵탕(FOOD)’이라는 파라미터가 출력된 경우에, 프로세서(2200)는 어묵탕 레시피를 제공하는 서비스에 대응되는 상세 지식 그래프를 상세 지식 그래프 DB(2341)로부터 추출할 수 있다. 또한, 예를 들어, 서버(2000)는 추출된 상세 지식 그래프 내의 노드들 및 엣지들 중에서, 사용자의 의도에 관련된 부분을 선택하고, 선택된 부분에 대응되는 노드들 및 엣지들을 서비스 제공을 위하여 이용할 수 있으나, 이에 제한되지 않는다.
동작 S940에서 서버(2000)는 식별된 제약 사항에 관련된 공통 지식 그래프를 획득할 수 있다. 서버(2000)는 제약 사항에 관련된 공통 지식 그래프를 공통 지식 그래프 DB(2342)로부터 추출할 수 있다. 서버(2000)는 NLU 모델(2351)로부터 출력된 값들 중에서 사용자의 의도에 따른 제약 사항을 나타내는 파라미터를 이용하여 공통 지식 그래프를 추출할 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘음식 레시피 제공’이라는 인텐트가 출력되고, ‘어묵탕(FOOD)’, ‘매운(CONSTRAINT TYPE)’, ‘무척(CONSTRAINT)’라는 파라미터들이 출력된 경우에, 프로세서(2200)는 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프를 공통 지식 그래프 DB(2342)로부터 추출할 수 있다.
동작 S950에서 서버(2000)는 공통 지식 그래프로부터 지식 트리플을 추출할 수 있다. 서버(2000)는 사용자의 제약 사항에 관련된 공통 지식 그래프로부터, 상세 지식 그래프에 추가될 지식 트리플을 추출할 수 있다. 예를 들어, NLU 모델(2351)로부터 ‘매운(CONSTRAINT TYPE)’ 및 ‘무척(CONSTRAINT)’이라는 제약 사항을 나타내는 파라미터들이 출력된 경우에, 서버(2000)는 ‘매운 맛을 가지는 음식 재료’에 관한 공통 지식 그래프에서 ‘청양 고추’ 및 ‘2EA/1인분’에 대응되는 노드들 및 이들을 연결하는 엣지를 포함하는 지식 트리플을 추출할 수 있다. 이 경우, 제약 사항에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 또는 제약 사항에 따라 공통 지식 그래프의 어떤 부분이 추출되어야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)이 저장부(2300)에 저장될 수 있으며, 서버(2000)는 지식 그래프 수정 모델(2352)을 이용하여 상세 지식 그래프에 포함될 지식 트리플을 공통 지식 그래프로부터 추출할 수 있다.
또한, 서버(2000)는 추출된 지식 트리플을 수정할 수 있다. 프로세서(2200)는 추출된 지식 트리플 내의 노드들에 대응되는 노드 값들 및 엣지에 대응되는 엣지 값 중 적어도 하나를 수정할 수 있다. 이 경우, 서버(2000)는 NLU 모델(2351)로부터 출력된 값들 및 상세 지식 그래프를 이용하여, 추출된 지식 트리플을 수정할 수 있다. 이 경우, 공통 지식 그래프의 어떤 부분을 어떻게 수정하여야 하는 지에 관한 설정 정보가 저장부(2300)에 미리 저장되어 있을 수 있다. 또는 공통 지식 그래프의 어떤 부분을 어떻게 수정하여야 하는 지가 학습된 인공 지능 모델인 지식 그래프 수정 모델(2352)이 저장부(2300)에 저장될 수 있으며, 서버(2000)는 지식 그래프 수정 모델(2352)을 이용하여 공통 지식 그래프를 수정할 수 있다. 서버(2000)는 노드 값 또는 엣지 값이 수정된 지식 트리플을 공통 지식 그래프로부터 추출할 수도 있다.
동작 S960에서 서버(2000)는 상세 지식 그래프를 수정할 수 있다. 서버(2000)는 상세 지식 그래프 내의 지식 트리플들 중 일부를 삭제할 수 있다. 서버(2000)는 추가될 지식 트리플에 저촉되는 지식 트리플을 상세 지식 그래프로부터 삭제할 수 있다. 예를 들어, 서버(2000)는 요리 재료들의 속성을 나타내는 공통 지식 그래프를 이용하여, 추가될 지식 트리플과 상세 지식 그래프 내의 지식 트리플들이 저촉되는 지를 식별할 수 있다. 예를 들어, 서버(2000)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가 상세 지식 그래프 내의 ‘양파’에 저촉됨을 식별할 수 있다. 또한, 예를 들어, 서버(2000)는 상세 지식 그래프 내의 ‘양파’, ‘amount’ 및 ‘50g’를 포함하는 지식 트리플을 상세 지식 그래프로부터 삭제할 수 있다.
서버(2000)는 상세 지식 그래프 내의 지식 트리플들 중 일부의 값을 변경할 수 있다. 서버(2000)는 추가될 지식 트리플과 유사한 속성의 값들을 가지는 지식 트리플을 변경할 수 있다. 예를 들어, 프로세서(2200)는 요리 재료들의 속성을 나타내는 공통 지식 그래프를 이용하여, 추가될 지식 트리플과 상세 지식 그래프 내의 지식 트리플들이 유사한 지를 식별할 수 있다. 예를 들어, 프로세서(2200)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가, 상세 지식 그래프 내의 ‘마늘’과 유사한 속성을 가짐을 식별할 수 있다. 또한, 프로세서(2200)는 상세 지식 그래프 내의 ‘마늘’, ‘amount’ 및 ‘20g’를 포함하는 지식 트리플에서, ‘20g’을 ‘15g으로 변경할 수 있다.
또는, 서버(2000)는 추가될 지식 트리플과 저촉되는 속성의 값들을 가지는 지식 트리플을 변경할 수 있다. 예를 들어, 서버(2000)는 ‘청양 고추’ 및 ‘2EA/1인분’의 노드 값들 및 ‘amount’의 엣지 값을 포함하는 지식 트리플 내의 ‘청양 고추’가 상세 지식 그래프 내의 ‘양파’에 저촉됨을 식별하고, 상세 지식 그래프 내의 ‘양파’, ‘amount’ 및 ‘50g’를 포함하는 지식 트리플에서 ‘50g’을 ‘25g’으로 변경할 수 있다.
서버(2000)는 NLU 모델(2351)에 의해 해석된 사용자의 의도에 기초하여, 상세 지식 그래프 내의 노드 값들을 변경할 수 있다. 예를 들어, 사용자가 2인분의 어묵탕을 만드는 레시피를 요구하고 있으며, 어묵탕 레시피에 관한 상세 지식 그래프가 1인분의 어묵탕을 만들기 위한 값들을 포함하는 경우에, 서버(2000)는 어묵탕 레시피에 관한 상세 지식 그래프 내의 재료들의 양을 나타내는 값들을 2인분에 대응되는 값들로 변경할 수 있다.
서버(2000)는 변경된 상세 지식 그래프에 공통 지식 그래프로부터 추출된 지식 트리플을 추가할 수 있다. 서버(2000)는 공통 지식 그래프로부터 추출된 지식 그래프의 노드를 변경된 상세 지식 그래프 내의 노드에 연결할 수 있다.
동작 S970에서 서버(2000)는 수정된 상세 지식 그래프를 이용하여, 사용자의 질의에 관련된 응답 정보를 제공할 수 있다. 서버(2000)는 디바이스(1000)로부터 수신된 텍스트에 관련된 응답 정보를 생성할 수 있다. 예를 들어, 서버(2000)는 수정된 상세 지식 그래프 및 NLG 모델(2353)을 이용하여, 사용자에게 응답할 응답 메시지를 생성할 수 있다. 또한, 예를 들어, 서버(2000)는 텍스트, 이미지, 동영상 등과 같이, 사용자에 제공할 응답 컨텐츠를 획득할 수 있다.
서버(2000)는 생성된 응답 정보를 디바이스(1000)에게 제공할 수 있다. 또는 서버(2000)는 수정된 상세 지식 그래프를 디바이스(1000)에게 제공하고, 디바이스(1000)가 수정된 상세 지식 그래프를 이용하여 사용자의 입력에 응답하도록 할 수도 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
또한, 본 명세서에서, “a, b 또는 c 중 적어도 하나를 포함한다”는 “a만 포함하거나, b만 포함하거나, c만 포함하거나, a 및 b를 포함하거나, b 및 c를 포함하거나, a 및 c를 포함하거나, a, b 및 c를 모두 포함하는 것을 의미할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
본 개시에 따른 디바이스로부터 수신되는 텍스트는 사용자의 음성 입력으로부터 변환된 텍스트일 수 있다. 사용자의 음성을 인식하고 의도를 해석하기 위한 방법으로, 아날로그 신호인 사용자의 음성 신호가, ASR(Automatic Speech Recognition)모델에 의해 컴퓨터로 판독 가능한 텍스트로 변환될 수 있다. 자연어 이해(Natural Language Understanding, NLU) 모델을 이용하여 변환된 텍스트를 해석하여, 사용자의 발화 의도가 획득될 수 있다. 여기서 ASR 모델 또는 NLU 모델은 인공지능 모델일 수 있다. 인공지능 모델은 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서에 의해 처리될 수 있다. 인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리(Natural Language Processing), 기계 번역(Machine Translation), 대화 시스템(Dialog System), 질의 응답(Question Answering), 음성 인식/합성(Speech Recognition/Synthesis) 등을 포함한다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 서버가 서비스의 제공을 위한 지식 그래프를 수정하는 방법에 있어서,
    사용자의 질의에 관련된 텍스트를 획득하는 동작;
    적어도 하나의 NLU 모델을 이용하여 상기 텍스트를 해석함으로써 상기 사용자의 의도에 관련된 서비스를 식별하는 동작;
    상기 식별된 서비스를 위한 상세 지식 그래프를 획득하는 동작;
    상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 사용자의 의도에 따른 제약 사항을 나타내는 적어도 하나의 파라미터를 식별하는 동작;
    상기 식별된 서비스에 관련된 복수의 공통 지식 그래프들 중에서, 상기 제약 사항을 나타내는 파라미터에 관련된 공통 지식 그래프를 선택하는 동작;
    상기 선택된 공통 지식 그래프로부터 상기 제약 사항을 나타내는 파라미터에 관련된 제1 지식 트리플을 추출하는 동작; 및
    상기 추출된 제1 지식 트리플을 이용하여 상기 상세 지식 그래프를 수정하는 동작;
    을 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 공통 지식 그래프로부터 추출된 상기 제1 지식 트리플을 수정하는 동작;
    을 더 포함하며,
    상기 상세 지식 그래프를 수정하는 동작은, 상기 수정된 제1 지식 트리플을 상기 상세 지식 그래프에 추가하는 동작을 포함하는 것인, 방법.
  3. 제1 항에 있어서,
    상기 상세 지식 그래프를 수정하는 동작은,
    상기 추출된 제1 지식 트리플에 기초하여, 상기 상세 지식 그래프 내의 지식 트리플들 중 제2 지식 트리플을 선택하는 동작; 및
    상기 상세 지식 그래프로부터 상기 선택된 제2 지식 트리플을 삭제하는 동작;
    을 포함하는 것인, 방법.
  4. 제3 항에 있어서,
    상기 제2 지식 트리플을 선택하는 동작은,
    상기 추출된 제1 지식 트리플에 포함된 노드들 및 엣지에 대응되는 값들에 저촉되는 값들을 가지는 제2 지식 트리플을 선택하는 것인, 방법.
  5. 제1 항에 있어서,
    상기 상세 지식 그래프를 수정하는 동작은,
    상기 추출된 제1 지식 트리플에 기초하여, 상기 상세 지식 그래프 내의 지식 트리플들 중 수정될 제3 지식 트리플을 선택하는 동작; 및
    상기 선택된 제3 지식 트리플에 포함된 노드들에 대응되는 값들을 수정하는 동작;
    을 포함하는 것인, 방법.
  6. 제5 항에 있어서,
    상기 제3 지식 트리플을 선택하는 동작은,
    상기 추출된 제1 지식 트리플에 포함된 노드들 및 엣지에 대응되는 값들과 동일한 속성의 값들을 가지는 제3 지식 트리플을 선택하는 것인, 방법.
  7. 제1 항에 있어서,
    상기 상세 지식 그래프를 수정하는 동작은,
    상기 NLU 모델의 출력 값, 상기 획득된 상세 지식 그래프 및 상기 선택된 공통 지식 그래프를, 상세 지식 그래프의 수정을 위해 훈련된 인공 지능 모델에 입력함으로써, 상기 상세 지식 그래프를 수정하는 것인, 방법.
  8. 제1 항에 있어서,
    상기 사용자의 의도에 관련된 서비스를 식별하는 동작은, 상기 NLU 모델로부터 출력되는 인텐트(intent)에 대응되는 서비스를 식별하는 것인, 방법.
  9. 제1 항에 있어서,
    상기 수정된 상세 지식 그래프 및 NLG 모델을 이용하여, 상기 사용자의 질의에 관련된 응답 정보를 생성하는 동작;
    을 더 포함하는 것인, 방법.
  10. 제1 항에 있어서,
    상기 서비스의 제공을 위하여, 상기 수정된 상세 지식 그래프를 상기 사용자의 디바이스로 전송하는 동작;
    을 더 포함하는 것인, 방법.
  11. 서비스의 제공을 위한 지식 그래프를 수정하는 서버에 있어서,
    통신 인터페이스;
    하나 이상의 인스트럭션을 저장하는 저장부; 및
    상기 하나 이상의 인스트럭션을 실행하여, 사용자의 질의에 관련된 텍스트를 획득하고, 적어도 하나의 NLU 모델을 이용하여 상기 텍스트를 해석함으로써 상기 사용자의 의도에 관련된 서비스를 식별하고, 상기 식별된 서비스를 위한 상세 지식 그래프를 획득하고, 상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 사용자의 의도에 따른 제약 사항을 나타내는 적어도 하나의 파라미터를 식별하고, 상기 식별된 서비스에 관련된 복수의 공통 지식 그래프들 중에서, 상기 제약 사항을 나타내는 파라미터에 관련된 공통 지식 그래프를 선택하고, 상기 선택된 공통 지식 그래프로부터 상기 제약 사항을 나타내는 파라미터에 관련된 제1 지식 트리플을 추출하고, 상기 추출된 제1 지식 트리플을 이용하여 상기 상세 지식 그래프를 수정하는 프로세서;
    를 포함하는, 서버.
  12. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 적어도 하나의 NLU 모델을 이용한 상기 텍스트의 해석 결과에 기초하여, 상기 공통 지식 그래프로부터 추출된 상기 제1 지식 트리플을 수정하며,
    상기 수정된 제1 지식 트리플을 상기 상세 지식 그래프에 추가하는 동작을 포함하는 것인, 서버.
  13. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 추출된 제1 지식 트리플에 기초하여, 상기 상세 지식 그래프 내의 지식 트리플들 중 제2 지식 트리플을 선택하고, 상기 상세 지식 그래프로부터 상기 선택된 제2 지식 트리플을 삭제하는 것인, 서버.
  14. 제13 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 추출된 제1 지식 트리플에 포함된 노드들 및 엣지에 대응되는 값들에 저촉되는 값들을 가지는 제2 지식 트리플을 선택하는 것인, 서버.
  15. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 추출된 제1 지식 트리플에 기초하여, 상기 상세 지식 그래프 내의 지식 트리플들 중 수정될 제3 지식 트리플을 선택하고, 상기 선택된 제3 지식 트리플에 포함된 노드들에 대응되는 값들을 수정하는 것인, 서버.
  16. 제15 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 추출된 제1 지식 트리플에 포함된 노드들 및 엣지에 대응되는 값들과 동일한 속성의 값들을 가지는 제3 지식 트리플을 선택하는 것인, 서버.
  17. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 NLU 모델의 출력 값, 상기 획득된 상세 지식 그래프 및 상기 선택된 공통 지식 그래프를, 상세 지식 그래프의 수정을 위해 훈련된 인공 지능 모델에 입력함으로써, 상기 상세 지식 그래프를 수정하는 것인, 서버.
  18. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 NLU 모델로부터 출력되는 인텐트(intent)에 대응되는 서비스를 식별하는 것인, 서버.
  19. 제11 항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행하여, 상기 수정된 상세 지식 그래프 및 NLG 모델을 이용하여, 상기 사용자의 질의에 관련된 응답 정보를 생성하는 것인, 서버.
  20. 제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020200094686A 2020-07-29 2020-07-29 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법 KR20220014713A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200094686A KR20220014713A (ko) 2020-07-29 2020-07-29 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법
US17/599,973 US20230177356A1 (en) 2020-07-29 2021-07-22 System and method for modifying knowledge graph for providing service
PCT/KR2021/009511 WO2022025527A1 (ko) 2020-07-29 2021-07-22 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200094686A KR20220014713A (ko) 2020-07-29 2020-07-29 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20220014713A true KR20220014713A (ko) 2022-02-07

Family

ID=80035779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200094686A KR20220014713A (ko) 2020-07-29 2020-07-29 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법

Country Status (3)

Country Link
US (1) US20230177356A1 (ko)
KR (1) KR20220014713A (ko)
WO (1) WO2022025527A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858265B1 (en) * 2016-06-08 2018-01-02 Rovi Guides, Inc. Systems and methods for determining context switching in conversation
US20190057297A1 (en) * 2017-08-17 2019-02-21 Microsoft Technology Licensing, Llc Leveraging knowledge base of groups in mining organizational data
KR20200052448A (ko) * 2018-10-30 2020-05-15 삼성전자주식회사 지식 그래프에 기초하여 데이터베이스들을 통합하는 시스템 및 방법
CN110275894B (zh) * 2019-06-24 2021-12-14 恒生电子股份有限公司 一种知识图谱的更新方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20230177356A1 (en) 2023-06-08
WO2022025527A1 (ko) 2022-02-03

Similar Documents

Publication Publication Date Title
RU2745632C1 (ru) Серверное устройство автоматизированного ответа, оконечное устройство, система ответа, способ ответа и программа
US20190311070A1 (en) Method and apparatus for generating visual search queries augmented by speech intent
WO2016197767A2 (zh) 一种表情输入方法、装置、终端和计算机可读存储介质
US11586689B2 (en) Electronic apparatus and controlling method thereof
WO2019056628A1 (zh) 关注点文案的生成
KR20200135607A (ko) 학습 네트워크 모델 기반의 언어 처리 방법 및 장치
CN111785246A (zh) 虚拟角色语音处理方法、装置及计算机设备
JP6927318B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20220004589A1 (en) Service providing apparatus and method for providing search intent
EP4096231A1 (en) System for providing customized video producing service using cloud-based voice combining
US20210050008A1 (en) Platform selection for performing requested actions in audio-based computing environments
US11093708B2 (en) Adaptive human to machine interaction using machine learning
KR20210045229A (ko) 컴퓨팅 장치 및 그 동작 방법
CN116304007A (zh) 一种信息推荐方法、装置、存储介质及电子设备
US20230134852A1 (en) Electronic apparatus and method for providing search result related to query sentence
KR20190031033A (ko) 컨텐트를 제공하는 방법 및 단말기
US11605382B2 (en) Platform selection for performing requested actions in audio-based computing environments
CN110727871A (zh) 基于卷积分解深度模型的多模态数据采集及综合分析平台
US20210110816A1 (en) Electronic apparatus and method of providing sentence thereof
KR20220014713A (ko) 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법
CN117131179A (zh) 一种对话处理方法、装置、存储介质及电子设备
CN117010992A (zh) 用于多任务多场景推荐的推荐模型的训练方法和推荐方法
KR20220058745A (ko) 대용어를 포함하는 텍스트에 관한 보이스 어시스턴트 서비스를 제공하는 시스템 및 방법
KR20220064868A (ko) 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법
US20220138427A1 (en) System and method for providing voice assistant service regarding text including anaphora

Legal Events

Date Code Title Description
A201 Request for examination