KR20210045837A - 지식 그래프를 업데이트하는 시스템 및 방법 - Google Patents

지식 그래프를 업데이트하는 시스템 및 방법 Download PDF

Info

Publication number
KR20210045837A
KR20210045837A KR1020190129328A KR20190129328A KR20210045837A KR 20210045837 A KR20210045837 A KR 20210045837A KR 1020190129328 A KR1020190129328 A KR 1020190129328A KR 20190129328 A KR20190129328 A KR 20190129328A KR 20210045837 A KR20210045837 A KR 20210045837A
Authority
KR
South Korea
Prior art keywords
knowledge graph
server
nodes
knowledge
edges
Prior art date
Application number
KR1020190129328A
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 KR1020190129328A priority Critical patent/KR20210045837A/ko
Priority to PCT/KR2020/012246 priority patent/WO2021075729A1/en
Priority to EP20877417.4A priority patent/EP3973414A4/en
Priority to US17/028,542 priority patent/US11386064B2/en
Publication of KR20210045837A publication Critical patent/KR20210045837A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • 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/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

Landscapes

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

Abstract

지식 그래프를 업데이트하는 시스템 및 방법이 제공된다. 서버가 서버 지식 그래프를 업데이트하는 방법은, 서버 지식 그래프를 획득하는 동작; 디바이스 지식 그래프를 복수의 디바이스들 각각으로부터 수신하여 복수의 디바이스 지식 그래프들을 획득하는 동작; 상기 복수의 디바이스 지식 그래프로부터, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 동작; 및 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 서버 지식 그래프에 반영 하는 동작;을 포함한다.

Description

지식 그래프를 업데이트하는 시스템 및 방법 {SYSTEM AND METHOD FOR UPDATING KNOWLEDGE GRAPH}
본 개시는 지식 그래프를 업데이트하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 서버 지식 그래프 또는 디바이스 지식 그래프를 업데이트하는 시스템 및 방법에 관한 것이다.
네트워크 및 정보 처리 기술이 발전함에 따라, 사용자에게 다양한 서비스를 제공하기 위하여 다양한 정보가 수집되고 이용될 수 있다. 특히, 서비스를 제공하는 서버는 사용자에게 보다 적절한 서비스를 제공하기 위하여, 다양한 카테고리에 대한 지식 그래프를 활용하고 있다. 하지만, 사용자가 선호하는 정보는 상황에 따라 자주 변화하며, 이러한 변화를 고려하여 서버가 사용자가 선호하는 서비스를 효과적으로 제공하기 힘든 문제가 있다.
이에 따라, 사용자에게 특화된 지식 그래프를 활용함으로써 서비스의 제공에 이용되는 지식 그래프를 효과적으로 업데이트할 수 있는 기술이 요구되고 있으며, 사용자에게 서비스를 제공함에 있어서 정보 처리로 인하여 발생되는 딜레이를 감소시키기 위한 기술이 필요하다.
본 개시의 일 실시예는, 디바이스에서 생성되는 디바이스 지식 그래프를 활용하여 서버 지식 그래프를 업데이트할 수 있는 시스템 및 방법을 제공할 수 있다.
또한, 본 개시의 일 실시예는, 디바이스에서 실행된 동작들에 관련된 디바이스 지식 그래프를 이용하여, 서버 지식 그래프를 확장할 수 있는 시스템 및 방법을 제공할 수 있다.
또한, 본 개시의 일 실시예는, 디바이스에서 실행된 공통된 동작들 및 상황에 관한 정보를 서버 지식 그래프에 반영할 수 있는 시스템 및 방법을 제공할 수 있다.
또한, 본 개시의 일 실시예는, 업데이트된 서버 지식 그래프를 디바이스가 활용할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 한 측면은, 서버 지식 그래프를 획득하는 동작; 디바이스 지식 그래프를 복수의 디바이스들 각각으로부터 수신하여 복수의 디바이스 지식 그래프들을 획득하는 동작; 상기 복수의 디바이스 지식 그래프로부터, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 동작; 및 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 서버 지식 그래프에 반영하는 동작;을 포함하는, 서버가 서버 지식 그래프를 업데이트하는 방법을 제공할 수 있다.
또한, 본 개시의 다른 측면은, 통신부; 적어도 하나의 인스트럭션을 저장하는 저장부; 상기 적어도 하나의 인스트럭션을 실행함으로써, 서버 지식 그래프를 획득하고, 디바이스 지식 그래프를 복수의 디바이스들 각각으로부터 수신하여 복수의 디바이스 지식 그래프들을 획득하고, 상기 복수의 디바이스 지식 그래프로부터, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하고, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 서버 지식 그래프에 반영하는 프로세서;를 포함하는, 서버 지식 그래프를 업데이트하는 서버를 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 서비스를 위해 이용되는 지식 그래프를 확장하는 시스템의 개요도이다.
도 2는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프를 업데이트하는 방법의 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 서버가 디바이스 지식 그래프를 이용하여 서버 지식 그래프를 업데이트하는 방법의 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 서버가 복수의 디바이스 지식 그래프로부터 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 예시를 나타내는 도면이다.
도 5는 본 개시의 일 실시예에 따른 서버가 가중치를 고려하여 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 예시를 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프를 확장하는 방법의 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 확장을 위한 지식 그래프 및 서버 지식 그래프 내의 노드들을 서로 연결하는 방법의 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프를 확장하는 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 서버가 클래스의 명칭의 유사도를 기반으로 노드 및 노드를 연결하는 예시를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 서버가 인스턴스의 유사도를 기반으로 노드 및 노드를 연결하는 예시를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 서버가 지식 그래프 내의 구조의 유사도를 기반으로 노드 및 노드를 연결하는 예시를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 노드들의 명칭에 기초하여 노드들에 대하여 산출된 유사도의 예시를 나타내는 도면이다.
도 13은 본 개시의 일 실시예에 따른 서버가 명칭의 유사도 및 구조의 유사도를 함께 고려하여 노드들의 유사도를 판단하는 예시를 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 확장에 이용된 지식 그래프를 디바이스에게 제공하는 방법의 흐름도이다.
도 15는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 일부를 디바이스에게 제공하는 방법의 흐름도이다.
도 16은 본 개시의 일 실시예에 따른 디바이스가 디바이스 지식 그래프를 업데이트하는 방법의 흐름도이다.
도 17은 본 개시의 일 실시예에 따른 디바이스가 디바이스의 동작 패턴을 바탕으로 생성된 지식 트리플들의 예시를 설명하기 위한 도면이다.
도 18는 본 개시의 일 실시예에 따른 디바이스가 서버 지식 그래프를 이용하여 디바이스 지식 그래프를 생성하고 확장하는 예시를 나타내는 도면이다.
도 19는 본 개시의 일 실시예에 따른 디바이스가 서버 지식 그래프의 일부를 이용하여 디바이스 지식 그래프를 확장하는 방법의 흐름도이다.
도 20은 본 개시의 일 실시예에 따른 디바이스가 업데이트된 서버 지식 그래프를 이용하여 디바이스 지식 그래프를 확장하는 예시를 나타내는 도면이다.
도 21은 본 개시의 일 실시예에 따른 서버의 블록도이다.
도 22는 본 개시의 일 실시예에 따른 서버 내의 소프트웨어 모듈들의 동작을 설명하기 위한 블록도이다.
도 23은 본 개시의 일 실시예에 따른 디바이스의 블록도이다.
도 24는 본 개시의 일 실시예에 따른 디바이스의 블록도이다.
도 25는 본 개시의 일 실시예에 따른 디바이스 내의 소프트웨어 모듈들의 동작을 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른 서비스를 위해 이용되는 지식 그래프를 확장하는 시스템의 개요도이다.
도 1을 참조하면, 서비스를 위해 이용되는 지식 그래프를 업데이트하는 시스템은 서버(2000) 및 적어도 하나의 디바이스(1000)를 포함할 수 있다.
서비스를 위해 이용되는 지식 그래프를 업데이트하는 시스템에서, 서버()는 서버 지식 그래프의 적어도 일부를 디바이스(1000)에게 제공하며, 디바이스(1000)는 디바이스 지식 그래프의 적어도 일부를 서버(1000)에게 제공할 수 있다.
서버(2000)는 서버 지식 그래프를 획득하고 관리할 수 있으며, 디바이스(1000)로부터 수신되는 디바이스 지식 그래프를 이용하여 서버 지식 그래프를 업데이트할 수 있다. 서버(2000)는 복수의 디바이스 지식 그래프의 적어도 일부들을 복수의 디바이스(1000) 각각으로부터 수신하고, 수신된 복수의 디바이스 지식 그래프의 적어도 일부들을 이용하여 서버 지식 그래프를 업데이트할 수 있다. 서버(2000)는 수신된 복수의 디바이스 지식 그래프로부터 서버 지식 그래프의 확장을 위한 지식 그래프를 획득할 수 있으며, 서버 지식 그래프의 확장을 위한 지식 그래프를 서버 지식 그래프에 반영할 수 있다.
서버(2000)는 서버 지식 그래프 내의 지식을 계속하여 업데이트하기 위하여, 많은 데이터를 수집하고 저장하고 분석해야 하는데, 본 개시의 일 실시예에 의하면, 서버(2000)는 복수의 디바이스(1000)에서 생성한 디바이스 지식 그래프를 활용하여 서버 지식 그래프를 업데이트할 수 있다. 이에 따라, 서버(2000)는 서버(2000)의 리소스를 절약하면서 보다 상세한 지식을 서버 지식 그래프에 반영할 수 있게 된다.
디바이스(1000)는 서버 지식 그래프의 적어도 일부를 서버(2000)로부터 수신할 수 있으며, 서버(2000)로부터 수신되는 서버 지식 그래프의 적어도 일부를 이용하여 디바이스 지식 그래프를 생성 및 업데이트할 수 있다. 또한, 디바이스(1000)는 확장된 서버 지식 그래프의 적어도 일부를 서버(2000)로부터 수신할 수 있으며, 서버(2000)로부터 수신되는 확장된 서버 지식 그래프의 적어도 일부를 이용하여 디바이스 지식 그래프를 확장할 수 있다.
서버(2000)와 디바이스(1000)는 서버 지식 그래프 및 디바이스 지식 그래프를의 일부를 서로 공유함으로써, 보다 효율적으로 지식 그래프를 관리할 수 있게 된다.
네트워크는, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
디바이스(1000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수도 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 서버(2000)로부터 네트워크를 통하여 지시 그래프를 송수신하고 이용할 수 있는 모든 종류의 기기를 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프를 업데이트하는 방법의 흐름도이다.
동작 S200에서 서버(2000)는 서버 지식 그래프를 획득할 수 있다. 서버 지식 그래프는 서버(2000)에 의해 이용되고 관리되는 지식 기반의 온톨로지 그래프로서, 컨셉의 속성에 기반하여 생성되는 그래프일 수 있다. 지식 그래프는 컨셉들, 및 컨셉들 간의 연관 관계를 구조적으로 나타낸 온톨로지 그래프이다. 지식 그래프는 컨셉들 및 컨셉들 간의 관계를 계층화하여 표현함으로써 생성될 수 있으며, 컨셉에 대응되는 노드들이 연관 관계를 나타내는 엣지를 통해 연결되는 트리플 구조를 가질 수 있다.
노드에 대응되는 컨셉은, 예를 들어, 클래스(class) 및 인스턴스(instance)를 포함하며, 엣지에 대응되는 연관 관계는, 예를 들어, 관계(relation) 및 속성(property)을 포함할 수 있다. 클래스(class)는 일반적으로 현실 세계(real world)에서 명명된(named) 객체(object)를 의미할 수 있다. 예를 들어, “키보드”, “모니터”, “사랑” 은 클래스일 수 있다. 인스턴스(instance)는, 해당 클래스의 실제로 구체화된 컨셉을 의미하며, 사물이나 개념의 구체물이나 사건 등의 실질적인 형태로 표현될 수 있다. 예를 들어, “삼성 싱크마스터 Wide LCD 모니터”, “로미오와 줄리엣의 사랑”은 인스턴스일 수 있다. 클래스와 인스턴스의 구분은 응용과 사용 목적에 따라서 상이할 수 있다. 같은 표현의 컨셉이 어떠한 경우에는 클래스가 되었다가 다른 경우에는 인스턴스가 될 수 있다. 속성(property)은 클래스나 인스턴스의 특정한 성질, 성향 등을 나타내기 위하여 클래스나 인스턴스를 특정한 값(value)과 연결시킨 것이다. 예를 들어, “삼성 싱크마스터 Wide LCD 모니터는 XX인치이다.”라는 것을 표현하기 위하여, hasSize와 같은 속성을 정의할 수 있다. 관계(relation)는 클래스, 인스턴스 간에 존재하는 관계들을 말하며, 일반적으로 taxonomic relation과 non-taxonomic relation으로 구분될 수 있다. Taxonomic Relation은 개념 분류를 위하여 보다 폭넓은 개념과 구체적인 개념들로 구분하여 계층적으로 표현하는 관계이다. 지식 그래프의 온톨로지를 표현하는 언어로는, 예를 들어, RDF(Resource Description Framework), RDF 스키마(RDF-S) 및 OWL(Ontology Web Language) 등이 있을 수 있으나, 이에 제한되지 않는다. 또한, 지식 그래프 내의 정보는, 예를 들어, 주어-술어-목적어(subject-predicate-object) 간의 관계가 노드-엣지-노드의 그래프 형태로 표현될 수 있다.
서버(2000)는 서버 지식 그래프를 생성할 수 있다. 서버(2000)는 컨셉의 의미 및 컨셉의 속성에 기반하여 서버 지식 그래프로서 생성할 수 있다. 서버(2000)는 다양한 컨셉들에 관련된 로우 데이터를 수집하고, 수집된 로우 데이터를 바탕으로 컨셉들을 결정하고, 컨셉들의 의미, 속성 및 관계를 파악할 수 있다. 또한, 서버(2000)는 컨셉들의 의미, 속성 및 관계에 기초하여 컨셉들에 대응되는 노드들을 연결함으로써 서버 지식 그래프를 생성할 수 있다. 서버(2000)는 생성된 서버 지식 그래프에 노드 및 엣지를 추가함으로써 서버 지식 그래프를 확장하거나, 생성된 서버 지식 그래프에 내의 노드 및 엣지를 수정할 수 있다. 또한, 서버(2000)는 생성된 서버 지식 그래프에 다른 지식 그래프를 연결함으로써 서버 지식 그래프를 확장할 수 있다.
또한, 서버(2000)는 서버 지식 그래프를 다른 서버(미도시)로부터 수신할 수 있다. 이 경우, 다른 서버(2000)는 지식 그래프를 생성하고 관리하는 별도의 서버일 수 있다. 다른 서버(미도시)로부터 수신되는 서버 지식 그래프는, 예를 들어, 검색 서비스를 위한 지식 그래프, 질의/응답 서비스를 위한 사전 정보를 포함하는 지식 그래프 등을 포함할 수 있으나, 이에 제한되지 않는다. 서버(2000)는 다른 서버(미도시)로부터 수신된 서버 지식 그래프에 서버(2000)에서 생성된 지식 그래프 또는 다른 서버(미도시)로부터 수신된 다른 서버 지식 그래프를 연결함으로써 서버 지식 그래프를 확장할 수도 있다. 서버(2000)는 카테고리 별로 서버 지식 그래프를 수신하고, 카테고리 별로 수신된 서버 지식 그래프들을 서로 연결할 수도 있다.
카테고리 별 서버 지식 그래프는, 예를 들어, 대화 서비스를 위한 서버 지식 그래프, 검색 서비스를 위한 서버 지식 그래프, 추천 서비스를 위한 서버 지식 그래프, 연관성을 판단하기 위한 서버 지식 그래프 등을 포함할 수 있으나, 이에 제한되지 않는다. 서버 지식 그래프의 카테고리는, 서버 지식 그래프가 이용되는 서비스의 종류, 서버 지식 그래프 내의 정보가 이용되는 목적 등에 의해 결정될 수 있으나, 이에 제한되지 않는다.
이러한 서버 지식 그래프는 사용자에게 소정의 서비스를 제공하는데 이용될 수 있다. 서비스는, 예를 들어, 방송 서비스, 콘텐트 공유 서비스, 콘텐트 제공 서비스, 전력 관리 서비스, 게임 제공 서비스, 채팅 서비스, 문서 작성 서비스, 검색 서비스, 사전 정보 제공 서비스, 통화 서비스, 사진 촬영 서비스, 교통 수단 추천 서비스 및 동영상 재생 서비스를 포함할 수 있으나, 이에 제한되지 않는다.
동작 S210에서 서버(2000)는 디바이스 지식 그래프를 복수의 디바이스(1000) 각각으로부터 수신할 수 있다. 디바이스 지식 그래프는, 디바이스에 의해 이용되고 관리되는 지식 기반의 온톨로지 그래프로서, 디바이스에서 실행된 동작(operation)에 기반하여 생성되는 그래프일 수 있다. 디바이스 지식 그래프는 컨셉에 대응되는 노드들이 연관 관계를 나타내는 엣지를 통해 연결되는 트리플 구조를 가질 수 있다.
디바이스 지식 그래프는, 디바이스(1000)에서 실행된 다양한 동작에 기반하여 디바이스(1000)에 의해 생성될 수 있다. 디바이스 지식 그래프는 디바이스(1000)에서 실행된 순차적인 동작들을 나타내는 노드들 및 엣지들을 포함할 수 있다. 디바이스 지식 그래프 내의 노드들 및 엣지들은 디바이스(1000)에서 실행된 일련의 시계열적 동작들에 기초하여 정의될 수 있다. 또한, 디바이스(1000)에서 실행된 동작들을 나타내기 위한 노드들 및 엣지들은 디바이스(1000)에서 실행된 동작들에 관련된 컨텍스트 정보를 바탕으로 결정될 수 있다. 디바이스(1000)에서 실행된 동작들에 관련된 컨텍스트 정보는 디바이스(1000)에서 실행된 기능, 디바이스(1000)에서 실행된 콘텐트, 디바이스(1000)의 상태, 디바이스(1000)의 주변 환경 등에 관련된 정보를 포함할 수 있다. 디바이스(1000)에서 실행된 동작에 관련된 컨텍스트 정보는, 예를 들어, 디바이스(1000)의 주변 환경 정보, 디바이스(1000)의 상태 정보, 디바이스(1000)의 사용자의 상태 정보, 사용자의 디바이스(1000) 사용 이력 정보 및 사용자의 일정 정보 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 디바이스(1000)의 주변 환경 정보는, 디바이스(1000)로부터 주변의 환경을 나타내는 정보로서, 예를 들어, 날씨 정보, 온도 정보, 습도 정보, 조도 정보, 소음 정보, 소리 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 디바이스(1000)의 상태 정보는, 디바이스(1000)의 동작 모드 정보(예컨대, 대기 모드, 절전 모드, 소리 모드, 진동 모드, 무음 모드, 멀티 윈도우 모드, 자동 회전 모드 등), 디바이스(1000)의 위치 정보, 시간 정보, 통신 모듈의 활성화 정보(예컨대, Wi-Fi ON / Bluetooth OFF / GPS ON/ NFC ON 등), 디바이스(1000)의 네트워크 접속 상태 정보, 디바이스(1000)에서 실행되는 애플리케이션 정보(예컨대, 애플리케이션의 식별 정보, 애플리케이션 종류, 애플리케이션 이용 시간, 애플리케이션 이용 주기) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 사용자의 상태 정보는 사용자의 움직임, 생활 패턴 등에 관한 정보로서, 사용자의 걷는 상태, 운동하는 상태, 운전 중인 상태, 수면 상태, 사용자의 기분 상태 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 사용자의 디바이스(1000) 사용 이력 정보는, 사용자가 디바이스(1000)를 이용한 이력에 관한 정보로서, 애플리케이션의 실행 이력, 애플리케이션에서 실행된 기능의 이력, 사용자의 통화 내역, 및 사용자의 문자 내역 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
디바이스(1000)는 디바이스(1000)의 동작과 관련된 로우 데이터를 수집함으로써, 디바이스(1000)의 동작과 관련된 컨텍스트 정보를 획득할 수 있다. 또한, 디바이스(1000)는 수집된 로우 데이터를 바탕으로 디바이스(1000)의 동작과 관련된 컨셉들을 결정하고, 컨셉들의 의미, 속성 및 관계를 파악할 수 있다. 또한, 디바이스(1000)는 컨셉들의 의미, 속성 및 관계에 기초하여 컨셉들에 대응되는 노드들을 연결함으로써 디바이스 지식 그래프를 생성할 수 있다. 디바이스(1000)는 생성된 디바이스 지식 그래프에 노드 및 엣지를 추가함으로써 디바이스 지식 그래프를 확장하거나, 생성된 디바이스 지식 그래프 내의 노드 및 엣지를 수정할 수 있다. 디바이스(1000)는 생성 또는 수정된 디바이스 지식 그래프에 다른 지식 그래프를 연결함으로써 디바이스 지식 그래프를 확장할 수도 있다.
서버(2000)는 각각의 디바이스(1000)가 이용하고 관리하는 디바이스 지식 그래프를 각각의 디바이스(1000)로부터 수신할 수 있다. 예를 들어, 서버(2000)는 제1 디바이스(1100)에서 생성된 제1 디바이스 지식 그래프를 제1 디바이스(1100)로부터 수신하고, 제2 디바이스(1200)에서 생성된 제2 디바이스 지식 그래프를 제2 디바이스(1200)로부터 수신하고, 제3 디바이스(1300)에서 생성된 제3 디바이스 지식 그래프를 제3 디바이스(1300)로부터 수신할 수 있다.
동작 S220에서 서버(2000)는 복수의 디바이스 지식 그래프로부터 서버 지식 그래프의 확장에 이용될 지식 그래프를 획득할 수 있다.
서버(2000)는 복수의 디바이스 지식 그래프에 기초하여, 복수의 디바이스 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 일례로, 서버(2000)는 복수의 디바이스 지식 그래프들을 서로 비교함으로써, 소정 임계치 이상으로 중복되는 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 중복되는 노드들 및 연결 관계에 기초하여, 서버 지식 그래프의 확장에 이용될 지식 그래프를 생성할 수 있다. 예를 들어, 서버(2000)는 제1 디바이스(1100)로부터 수신된 제1 디바이스 지식 그래프 내의 제1 노드들 및 제1 엣지들, 제2 디바이스(1200)로부터 수신된 제2 디바이스 지식 그래프 내의 제2 노드들 및 제2 엣지들, 및 제3 디바이스(1300)로부터 수신된 제3 노드들 및 제3 엣지들을 비교할 수 있다. 또한, 서버(2000)는 제1 노드들, 제1 엣지들, 제2 노드들, 제2 엣지들, 제3 노드들 및 제3 엣지들 중에서 소정 임계치 이상 중복되는 노드들 및 엣지들을 선택할 수 있다. 또한, 서버(2000)는 선택된 노드들 및 엣지들로부터 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다.
서버 지식 그래프의 확장을 위한 지식 그래프는 서버 지식 그래프를 확장하기 위하여 서버에 의해 이용되는 지식 그래프일 수 있다. 디바이스 지식 그래프가 디바이스(1000)의 동작에 기반하여 생성된 지식 그래프인 경우에, 서버 지식 그래프의 확장을 위한 지식 그래프는 디바이스(1000)에서 실행된 동작들에 관한 노드들 및 엣지들을 포함하는 지식 트리플들의 집합들로 구성될 수 있다..
한편, 서버(2000)는 디바이스(1000)에 대한 우선 순위에 기초하여 서버 지식 그래프의 확장에 이용될 지식 그래프를 생성할 수 있다. 이 경우, 서버(2000)는 우선 순위가 높은 디바이스(1000)로부터 수신된 디바이스 지식 그래프 내의 노드들 및 엣지들에 대하여 높은 가중치를 부여하여, 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다.
서버(2000)가 복수의 디바이스(1000)로부터 디바이스 지식 그래프들을 수신하여 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 방법은 도 7 내지 도 8에서 보다 상세히 설명하기로 한다.
동작 S230에서 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프를 서버 지식 그래프에 반영할 수 있다. 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프를 이용하여, 서버 지식 그래프 내의 노드들, 엣지들 및 이들의 연결 구조 중 적어도 일부를 업데이트할 수 있다. 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중 적어도 일부를 서버 지식 그래프에 연결하거나, 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 및 엣지들에 기초하여, 서버 지식 그래프 내의 노드들 및 엣지들 중 적어도 일부를 변경할 수 있다.
서버(2000)는 동작 S220에서 생성된 지식 노드들 중 적어도 하나를 서버 지식 그래프 내의 노드들 중 적어도 하나와 연결할 수 있다. 서버(2000)는 서버 지식 그래프 내의 노드들 및 노드들 간의 연결 관계, 및 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 분석함으로써, 서버 지식 그래프의 확장을 위한 지식 그래프의 적어도 일부를 서버 지식 그래프에 연결할 수 있다.
서버(2000)는 서버 지식 그래프 내의 노드들 및 엣지들과, 서버 지식 그래프의 확장을 위한 지식 그래프의 노드들 및 엣지들의 유사도에 기초하여, 서버 지식 그래프의 확장을 위한 지식 그래프를 서버 지식 그래프에 반영할 수 있다.
예를 들어, 서버(2000)는 서버 지식 그래프 내의 컨셉과 서버 지식 그래프의 확장을 위한 지식 그래프 내의 컨셉의 유사도에 기초하여, 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드를 서버 지식 그래프 내의 노드에 연결할 수 있다. 또한, 예를 들어, 서버(2000)는 서버 지식 그래프 내의 인스턴스와 서버 지식 그래프의 확장을 위한 지식 그래프 내의 인스턴스의 유사도에 기초하여, 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드를 서버 지식 그래프 내의 노드에 연결할 수 있다. 또한, 예를 들어, 서버 지식 그래프의 구조 및 지식 그래프의 확장을 위한 지식 그래프의 구조의 유사도에 기초하여, 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드를 서버 지식 그래프 내의 노드에 연결할 수 있다.
서버(2000)가 서버 지식 그래프의 확장을 위한 지식 그래프를 이용하여 서버 지식 그래프를 확장하는 방법은 도 9 내지 도 15에서 보다 상세히 설명하기로 한다.
도 3은 본 개시의 일 실시예에 따른 서버가 디바이스 지식 그래프를 이용하여 서버 지식 그래프를 업데이트하는 방법의 흐름도이다.
동작 S600에서 서버(2000)는 제1 디바이스(1000-1)로부터 제1 디바이스 지식 그래프를 수신할 수 있다. 서버(2000)는 서버 지식 그래프를 업데이트하기 위하여 제1 디바이스(1000-1)에게 제1 디바이스 지식 그래프를 요청할 수 있으며, 제1 디바이스(1000-1)로부터 제1 디바이스 지식 그래프를 수신할 수 있다.
서버(2000)는 특정 카테고리에 관한 지식 그래프를 제공해 줄 것을 제1 디바이스(1000-1)에게 요청할 수 있으며, 제1 디바이스(1000-1)는 제1 디바이스 지식 그래프 중에서, 요청된 카테고리에 관련된 일부를 서버(2000)에게 제공할 수 있다. 이 경우, 제1 디바이스(1000-1)는 제1 디바이스 지식 그래프를 소정 레벨에 따라 추상화하고, 추상화된 제1 디바이스 지식 그래프를 서버(2000)에게 제공할 수 있다. 제1 디바이스(1000-1)는 제1 디바이스 지식 그래프 내의 노드들 및 노드들 연결 관계를 추상화하여 표현함으로써, 제1 디바이스 지식 그래프를 추상화할 수 있다.
서버(2000)는, 소정 주기에 따라 또는 특정 이벤트가 발생되면, 제1 디바이스(1000-1)에게 제1 디바이스 지식 그래프를 요청할 수 있다. 또는, 제1 디바이스(1000-1)에서 제1 디바이스 지식 그래프가 업데이트되는 경우에, 서버(2000)는 제1 디바이스(1000-1)로부터 제1 디바이스 지식 그래프를 수신할 수 있다.
제1 디바이스 지식 그래프는 제1 디바이스(1000-1)에서 생성된 지식 그래프일 수 있다. 제1 디바이스 지식 그래프는 제1 디바이스(1000-1)에서 실행된 동작(operation) 및 제1 디바이스(1000-1)에서 수집된 정보에 기초하여 생성될 수 있다. 제1 디바이스 지식 그래프는, 제1 디바이스(1000-1)에서 실행된 다양한 동작에 기반하여 디바이스(1000)에 의해 생성될 수 있다. 제1 디바이스 지식 그래프는 제1 디바이스(1000-1)에서 실행된 순차적인 동작들을 나타내는 노드들 및 엣지들을 포함할 수 있다. 제1 디바이스 지식 그래프 내의 노드들 및 엣지들은 제1 디바이스(1000-1)에서 실행된 일련의 시계열적 동작들에 기초하여 정의될 수 있다. 또한, 제1 디바이스(1000-1)에서 실행된 동작들을 나타내기 위한 노드들 및 엣지들은 제1 디바이스(1000-1)에서 실행된 동작들에 관련된 컨텍스트 정보를 바탕으로 결정될 수 있다.
동작 S605에서 서버(2000)는 제1 디바이스 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 제1 디바이스 지식 그래프 내의 컨셉들, 및 컨셉들의 의미, 속성 및 관계를 식별할 수 있다. 예를 들어, 서버(2000)는 제1 디바이스 지식 그래프 내의 노드에 대응되는 컨셉으로서, 클래스(class) 및 인스턴스(instance)를 식별할 수 있다. 또한, 서버(2000)는 제1 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계로서, 관계(relation) 및 속성(property)을 식별할 수 있다.
동작 S610에서 서버(2000)는 제2 디바이스(1000-2)로부터 제2 디바이스 지식 그래프를 수신할 수 있다. 서버(2000)는 서버 지식 그래프를 업데이트하기 위하여 제2 디바이스(1000-2)에게 제2 디바이스 지식 그래프를 요청할 수 있으며, 제2 디바이스(1000-2)로부터 제2 디바이스 지식 그래프를 수신할 수 있다.
서버(2000)는 특정 카테고리에 관한 지식 그래프를 제공해 줄 것을 제2 디바이스(1000-2)에게 요청할 수 있으며, 제2 디바이스(1000-2)는 제2 디바이스 지식 그래프 중에서, 요청된 카테고리에 관련된 일부를 서버(2000)에게 제공할 수 있다. 이 경우, 제2 디바이스(1000-2)는 제2 디바이스 지식 그래프를 소정 레벨에 따라 추상화하고, 추상화된 제2 디바이스 지식 그래프를 서버(2000)에게 제공할 수 있다. 제2 디바이스(1000-2)는 제2 디바이스 지식 그래프 내의 노드들 및 노드들 연결 관계를 추상화하여 표현함으로써, 제2 디바이스 지식 그래프를 추상화할 수 있다.
서버(2000)는, 소정 주기에 따라 또는 특정 이벤트가 발생되면, 제2 디바이스(1000-2)에게 제2 디바이스 지식 그래프를 요청할 수 있다. 또는, 제2 디바이스(1000-2)에서 제2 디바이스 지식 그래프가 업데이트되는 경우에, 서버(2000)는 제2 디바이스(1000-2)로부터 제2 디바이스 지식 그래프를 수신할 수 있다.
제2 디바이스 지식 그래프는 제2 디바이스(1000-2)에서 생성된 지식 그래프일 수 있다. 제2 디바이스 지식 그래프는 제2 디바이스(1000-2)에서 실행된 동작(operation) 및 제2 디바이스(1000-2)에서 수집된 정보에 기초하여 생성될 수 있다. 제2 디바이스 지식 그래프는, 제2 디바이스(1000-2)에서 실행된 다양한 동작에 기반하여 디바이스(1000)에 의해 생성될 수 있다. 제2 디바이스 지식 그래프는 제2 디바이스(1000-2)에서 실행된 순차적인 동작들을 나타내는 노드들 및 엣지들을 포함할 수 있다. 제2 디바이스 지식 그래프 내의 노드들 및 엣지들은 제2 디바이스(1000-2)에서 실행된 일련의 시계열적 동작들에 기초하여 정의될 수 있다. 또한, 제2 디바이스(1000-2)에서 실행된 동작들을 나타내기 위한 노드들 및 엣지들은 제2 디바이스(1000-2)에서 실행된 동작들에 관련된 컨텍스트 정보를 바탕으로 결정될 수 있다.
동작 S615에서 서버(2000)는 제2 디바이스 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 제2 디바이스 지식 그래프 내의 컨셉들, 및 컨셉들의 의미, 속성 및 관계를 식별할 수 있다. 예를 들어, 서버(2000)는 제2 디바이스 지식 그래프 내의 노드에 대응되는 컨셉으로서, 클래스(class) 및 인스턴스(instance)를 식별할 수 있다. 또한, 서버(2000)는 제2 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계로서, 관계(relation) 및 속성(property)을 식별할 수 있다.
동작 S620에서 서버(2000)는 제3 디바이스(1000-3)로부터 제3 디바이스 지식 그래프를 수신할 수 있다. 서버(2000)는 서버 지식 그래프를 업데이트하기 위하여 제3 디바이스(1000-3)에게 제1 디바이스 지식 그래프를 요청할 수 있으며, 제3 디바이스(1000-3)로부터 제3 디바이스 지식 그래프를 수신할 수 있다.
서버(2000)는 특정 카테고리에 관한 지식 그래프를 제공해 줄 것을 제3 디바이스(1000-3)에게 요청할 수 있으며, 제3 디바이스(1000-3)는 제3 디바이스 지식 그래프 중에서, 요청된 카테고리에 관련된 일부를 서버(2000)에게 제공할 수 있다. 이 경우, 제3 디바이스(1000-3)는 제3 디바이스 지식 그래프를 소정 레벨에 따라 추상화하고, 추상화된 제3 디바이스 지식 그래프를 서버(2000)에게 제공할 수 있다. 제3 디바이스(1000-3)는 제3 디바이스 지식 그래프 내의 노드들 및 노드들 연결 관계를 추상화하여 표현함으로써, 제3 디바이스 지식 그래프를 추상화할 수 있다.
서버(2000)는, 소정 주기에 따라 또는 특정 이벤트가 발생되면, 제3 디바이스(1000-3)에게 제3 디바이스 지식 그래프를 요청할 수 있다. 또는, 제3 디바이스(1000-3)에서 제3 디바이스 지식 그래프가 업데이트되는 경우에, 서버(2000)는 제3 디바이스(1000-3)로부터 제3 디바이스 지식 그래프를 수신할 수 있다.
제3 디바이스 지식 그래프는 제3 디바이스(1000-3)에서 생성된 지식 그래프일 수 있다. 제3 디바이스 지식 그래프는 제3 디바이스(1000-3)에서 실행된 동작(operation) 및 제3 디바이스(1000-3)에서 수집된 정보에 기초하여 생성될 수 있다. 제1 디바이스 지식 그래프는, 제3 디바이스(1000-3)에서 실행된 다양한 동작에 기반하여 디바이스(1000)에 의해 생성될 수 있다. 제3 디바이스 지식 그래프는 제3 디바이스(1000-3)에서 실행된 순차적인 동작들을 나타내는 노드들 및 엣지들을 포함할 수 있다. 제3 디바이스 지식 그래프 내의 노드들 및 엣지들은 제3 디바이스(1000-3)에서 실행된 일련의 시계열적 동작들에 기초하여 정의될 수 있다. 또한, 제3 디바이스(1000-3)에서 실행된 동작들을 나타내기 위한 노드들 및 엣지들은 제3 디바이스(1000-3)에서 실행된 동작들에 관련된 컨텍스트 정보를 바탕으로 결정될 수 있다.
동작 S625에서 서버(2000)는 제3 디바이스 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 제3 디바이스 지식 그래프 내의 컨셉들, 및 컨셉들의 의미, 속성 및 관계를 식별할 수 있다. 예를 들어, 서버(2000)는 제3 디바이스 지식 그래프 내의 노드에 대응되는 컨셉으로서, 클래스(class) 및 인스턴스(instance)를 식별할 수 있다. 또한, 서버(2000)는 제3 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계로서, 관계(relation) 및 속성(property)을 식별할 수 있다.
동작 S630에서 서버(2000)는 식별된 노드들 및 노드들의 연결관계에 기초하여, 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다. 서버(2000)는 식별된 노드들 및 노드들의 연결 관계를 비교함으로써, 복수의 디바이스 지식 그래프들에서 중복되는 지식 트리플을 식별할 수 있다. 서버(2000)는 제1 디바이스 지식 그래프 내의 노드에 대응되는 컨셉, 제2 디바이스 지식 그래프 내의 노드에 대응되는 컨셉 및 제3 디바이스 지식 그래프 내의 노드에 대응되는 컨셉의 유사도를 판단할 수 있다. 예를 들어, 컨셉들 간의 유사도를 판단하는 것은, 클래스들 간의 유사도를 판단하는 것 및 인스턴스들 간의 유사도를 판단하는 것을 포함할 수 있다. 또한, 서버(2000)는 제1 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계, 제2 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계 및 제3 디바이스 지식 그래프 내의 엣지에 대응되는 연관 관계의 유사도를 판단할 수 있다. 엣지들 간의 유사도를 판단하는 것은, 예를 들어, 속성들 간의 유사도 및 관계들 간의 유사도를 판단하는 것을 포함할 수 있다.
또한, 서버(2000)는 동일 또는 유사하다고 판단되는 노드들 중에서 동일 또는 유사한 엣지들이 연결된 노드들을 식별함으로써, 제1 디바이스 지식 그래프, 제2 디바이스 지식 그래프 및 제3 디바이스 지식 그래프에서 서로 중복되는 노드들 및 엣지들을 식별할 수 있다. 서버(2000)는 기설정된 수치 이상으로 중복되는 노드들 및 엣지들을 식별하고, 식별된 노드들 및 엣지들을 이용하여 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다.
또한, 서버(2000)는 복수의 디바이스 지식 그래프에 상이한 가중치를 부여하고, 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다. 예를 들어, 서버(2000)는 제1 디바이스 지식 그래프에 제1 가중치를 부여하고, 제2 디바이스 지식 그래프에 제2 가중치를 부여하고, 제3 디바이스 지식 그래프에 제3 가중치를 부여할 수 있으며, 제1 가중치, 제2 가중치 및 제3 가중치를 고려하여 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다. 이에 따라 높은 가중치를 가지는 디바이스 지식 그래프 내의 노드들 및 엣지들이, 서버 지식 그래프를 확장하기 위한 지식 그래프 내에 많이 반영될 수 있다.
이 경우, 서버(2000)는, 예를 들어, 디바이스 지식 그래프의 카테고리, 디바이스 지식 그래프가 생성되는데 활용된 데이터의 수, 디바이스 지식 그래프를 생성한 사용자가 디바이스를 이용한 횟수 등을 고려하여, 디바이스 지식 그래프에 대한 가중치를 결정할 수 있다.
도 4는 본 개시의 일 실시예에 따른 서버가 복수의 디바이스 지식 그래프로부터 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 예시를 나타내는 도면이다.
도 4를 참조하면, 서버(2000)는 제1 디바이스 지식 그래프(71), 제2 디바이스 지식 그래프(72), 제3 디바이스 지식 그래프(73) 및 제4 디바이스 지식 그래프(74)로부터, 서버 지식 그래프의 확장을 위한 지식 그래프(76)를 생성할 수 있다.
제1 디바이스 지식 그래프(71), 제2 디바이스 지식 그래프(72), 제3 디바이스 지식 그래프(73) 및 제4 디바이스 지식 그래프(74)에서, “Pattern-patternType-ContextAfterPatternType”이 4회 중복되고, “Pattern-hasUserAction-운동”이 3회 중복되고, “Pattern-hasUserContext-유튜브”가 3회 중복되고, “Pattern-hasUserAction-웹툰”이 2회 중복된다.
이에 따라, 서버(2000)는 3회 이상 중복되는 지식 트리플인 “Pattern-patternType-ContextAfterPatternType”, “Pattern-hasUserAction-운동”, 및 “Pattern-hasUserContext-유튜브”로부터, 서버 지식 그래프의 확장을 위한 지식 그래프(76)를 생성할 수 있다.
도 5는 본 개시의 일 실시예에 따른 서버가 가중치를 고려하여 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 예시를 나타내는 도면이다.
도 5를 참조하면, 서버(2000)는 제1 디바이스 지식 그래프(81), 제2 디바이스 지식 그래프(82), 제3 디바이스 지식 그래프(83) 및 제4 디바이스 지식 그래프(84)로부터, 서버 지식 그래프의 확장을 위한 지식 그래프(86)를 생성할 수 있다.
이 경우, 서버(2000)는 제3 디바이스 지식 그래프(83)에 높은 가중치를 부여하고, 제3 디바이스(1000-3) 지식 그래프(83) 내의 노드들 및 엣지들이, 서버 지식 그래프를 위한 지식 그래프(86) 내에 우선적으로 포함되도록 할 수 있다. 예를 들어, 제3 디바이스 지식 그래프(83)를 생성하는데 많은 로우 데이터가 이용된 경우, 또는 제3 디바이스 지식 그래프(83)의 카테고리가 서버 지식 그래프를 확장하기 위해 필요로 하는 데이터의 카테고리와 동일한 경우, 제3 디바이스 지식 그래프(83)에 높은 가중치가 부여될 수 있다.
제3 디바이스 지식 그래프(83)에 높은 가중치를 부여됨에 따라, 복수의 디바이스 지식 그래프들(81, 82, 83, 84))에서 2회 중복되는 지식 트리플인 “Pattern-hasUserAction-웹툰”가 서버 지식 그래프의 확장을 위한 지식 그래프(86)에 포함될 수 있다.
도 6은 본 개시의 일 실시예에 따른 서버(2000)가 서버 지식 그래프를 확장하는 방법의 흐름도이다.
동작 S900에서 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 컨셉들, 및 컨셉들의 의미, 속성 및 관계를 식별할 수 있다. 예를 들어, 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드에 대응되는 컨셉으로서, 클래스(class) 및 인스턴스(instance)를 식별할 수 있다. 또한, 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 엣지에 대응되는 연관 관계로서, 관계(relation) 및 속성(property)을 식별할 수 있다.
동작 S910에서 서버(2000)는 서버 지식 그래프 내의 노드들 및 노드들 간의 연결 관계를 식별할 수 있다. 서버(2000)는 서버 지식 그래프 내의 컨셉들, 및 컨셉들의 의미, 속성 및 관계를 식별할 수 있다. 예를 들어, 서버(2000)는 서버 지식 그래프 내의 노드에 대응되는 컨셉으로서, 클래스(class) 및 인스턴스(instance)를 식별할 수 있다. 또한, 서버(2000)는 서버 지식 그래프 내의 엣지에 대응되는 연관 관계로서, 관계(relation) 및 속성(property)을 식별할 수 있다.
동작 S920에서 서버(2000)는 서버 지식 그래프 내의 노드들 및 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중에서, 서로 연결될 노드들을 선택할 수 있다.
서버(2000)는 서버 지식 그래프 내의 노드들 및 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중에서, 서로 동일 또는 유사한 노드들을 식별할 수 있다. 서버(2000)는 동일 또는 유사한 클래스들, 및 동일 또는 유사한 인스턴스들을 식별할 수 있다. 서버(2000)는 서버 지식 그래프 내의 노드들 및 서버 지식 그래프의 확장을 위한 지식 그래프 내의 엣지들 중에서, 서로 동일 또는 유사한 엣지들을 식별할 수 있다. 서버(2000)는 동일 또는 유사한 속성들, 및 동일 또는 유사한 관계들을 식별할 수 있다. 또한, 서버(2000)는 미리 설정된 기준에 따라 동일 또는 유사한 노드들 중 서로 연결될 노드들을 선택할 수 있다.
예를 들어, 도 9를 참조하면, 서버(2000)는 클래스의 명칭의 유사도를 기반으로 연결될 노드들을 선택할 수 있다. 서버 지식 그래프(120) 내의 “author”는 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “author”와 동일한 명칭을 가지며, 서버 지식 그래프(120) 내의 “title”은 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “title”과 동일한 명칭을 가질 수 있다. 또한, 서버(2000)는 서버 지식 그래프(120) 내의 “author”를 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “author”와 연결하고, 서버 지식 그래프(120) 내의 “title”을 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “title”과 연결하도록 노드들을 선택할 수 있다.
또한, 서버 지식 그래프(120) 내의 “Person”은 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “Human”와 유사하다고 판단될 수 있다. 이 경우, 서버(2000)는 기등록된 유사어 사전을 이용하여 “Person”과 “Human”이 유사하다고 판단할 수 있다. 또한, 서버(2000)는 서로 유사하다고 판단된 노드들인 “Person”과 “Human”을 서로 연결될 노드들로 선택할 수 있다.
또한, 서버 지식 그래프(120) 내의 “Book”은 서버 지식 그래프의 확장을 위한 지식 그래프(121) 내의 “Volume”과 유사하다고 판단될 수 있다. 이 경우, 서버(2000)는 “Book”에 연결된 하위 노드들인 “author”, “Paperback”, 및 “Hardcover”의 의미 및 속성을, “Volume”에 연결된 하위 노드들인 “pages”, “isbn”, “author” 및 “title”의 의미 및 속성과 비교함으로써, “Book”과 “Volume”가 유사한 지를 판단할 수 있다. 또한, 서버(2000)는 서로 유사하다고 판단된 노드들인 “Book”과 “Volume”을 서로 연결될 노드들로 선택할 수 있다.
또한, 예를 들어, 도 10을 참조하면, 서버(2000)는 인스턴스의 유사도를 기반으로 연결될 노드들을 선택할 수 있다. 서버 지식 그래프(130) 내의 “Book”(134)에 관한 인스턴스인 “Bertrand Russell: My life”는 서버 지식 그래프의 확장을 위한 지식 그래프(131) 내의 “Autobiography”에 관한 인스턴스인 “Bertrand Russell: My life”와 동일할 수 있다. 또한, 서버 지식 그래프(130) 내의 “Book”(134)에 관한 인스턴스인 “Albert Camus: La chute”는 서버 지식 그래프의 확장을 위한 지식 그래프(131) 내의 “Literature”에 관한 인스턴스인 “Albert Camus: La chute”와 동일할 수 있다.
서버(2000)는 “Bertrand Russell: My life” 및 “Albert Camus: La chute”가 연결된 “Book”(134)을, “Bertrand Russell: My life” 및“Albert Camus: La chute”와 직접 또는 간접적으로 연결된 “Volume”(135)과 서로 연결되도록 할 수 있다.
또한, 예를 들어, 도 11를 참조하면, 서버(2000)는 지식 그래프 내의 구조의 유사도를 기반으로 연결될 노드들을 선택할 수 있다. 서버(2000)는 서버 지식 그래프(140) 내의 노드들 중 “title” 및 “author”가, 서버 지식 그래프의 확장을 위한 지식 그래프(141) 내의 노드들 중 “title” 및 “author”와 동일함을 판단할 수 있다.
또한, 서버(2000)는 서버 지식 그래프(140) 내에서 “title” 및 “author”과 연결된 다른 노드들 및 지식 트리플들의 구조를, 서버 지식 그래프의 확장을 위한 지식 그래프(141) 내에서 “title” 및 “author”와 연결된 다른 노드들 및 지식 트리플들의 구조와 비교할 수 있다.
예를 들어, 서버(2000)는 서버 지식 그래프(140) 내에서, “author”의 상위 노드인 “Book”과 연결된 하위 노드인 “price” 및 “pp”의 속성이 “integer”임을 식별하고, “Book”과 연결된 하위 노드인 “title”의 속성이 “string”임을 식별하고, “Book”과 연결된 하위 노드인 “doi”의 속성이 “uri”임을 식별할 수 있다. 또한, 서버(2000)는 지식 그래프(141) 내에서 “Volume”과 연결된 하위 노드인 “pages”의 속성이 “integer”임을 식별하고, “Volume”과 연결된 하위 노드인 “title”의 속성이 “string”임을 식별하고, “Volume”과 연결된 하위 노드인 “isbn”의 속성이 “uri”임을 식별할 수 있다. 또한, 서버(2000)는 명칭 및 속성이 유사한 하위 노드들이 연결되며 연결된 하위 노드들의 구조가 서로 유사한 상위 노드인 “Book” 및 “volume”을 서로 연결되도록 할 수 있다.
또한, 예를 들어, 도 12를 참조하면, 서버()는 노드들의 명칭에 기초하여 노드들에 대하여 유사도를 산출할 수 있다. 서버(2000)는 노드들에 대응되는 클래스 또는 인스턴스의 명칭을 비교함으로써 노드들의 유사도를 산출할 수 있다. 예를 들어, 서버(2000)는 “John Smith” 내의 문자들 및 “Johan Smith” 내의 문자들이 서로 일치하는 지를 비교함으로써, “John Smith” 와 “Johan Smith”의 유사도를 “0.8”로 산출할 수 있다.
또한, 서버(2000)는 “Software Eng.” 내의 단어들 및 “Software Dev Eng.”의 단어들을 비교함으로써, “Software Eng.” 및 “Software Dev Eng.”의 유사도를 “0.7”로 산출할 수 있다. 이 경우, 서버(2000)는 “Software Eng.” 내의 단어들 및 “Software Dev Eng.”의 단어들을 비교하기 위하여 서버(2000)에 기등록된 사전 정보를 이용할 수 있다.
또한, 예를 들어, 서버(2000)는 “Seattle”과 “Seattle”이 일치함을 확인하고, “Seattle”과 “Seattle”의 유사도를 “1.0”으로 산출할 수 있다.
또한, 예를 들어, 도 13을 참조하면, 서버(2000)는 명칭의 유사도 및 구조의 유사도를 함께 고려하여 노드들의 유사도를 판단할 수 있다. 서버(2000)는 서로 연결될 노드들을 결정하기 위하여 노드들의 명칭의 유사도 및 노드들의 구조의 유사도를 함께 고려할 수 있다. 도 16의 그래프에서, 노드들의 명칭의 유사도 및 노드들의 구조의 유사도가 소정 임계치(160)보다 높은 영역(162)에 해당되는 경우에, 서버(2000)는 해당 노드들을 서로 연결해야 할 노드들로 결정할 수 있다.
동작 S930에서 서버(2000)는 서버 지식 그래프 내의 노드들 및 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중에서 선택된 노드들을 서로 연결할 수 있다. 서버(2000)는 동작 S920에서 선택된 노드들의 연결 관계를 결정하고, 결정된 연결 관계에 따라 동작 S920에서 선택된 노드들을 엣지를 통해 서로 연결할 수 있다.
도 7은 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 확장을 위한 지식 그래프 및 서버 지식 그래프 내의 노드들을 서로 연결하는 방법의 흐름도이다.
S1000에서 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 및 서버 지식 그래프 내의 클래스, 인스턴스, 관계 및 속성을 비교할 수 있다. 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 클래스와 동일 또는 유사한 명칭의 클래스가 서버 지식 그래프 내에 존재하는 지를 판단할 수 있다. 서버(2000)는 클래스의 유사도를 판단하기 위하여 유사어에 관한 정보를 포함하는 사전 정보를 이용할 수 있다. 또는 서버(2000)는 클래스의 유사도를 판단하기 위하여 기 설정된 NLU (Natural Language Understanding) 모델을 이용할 수도 있다.
서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프 내의 인스턴스와 동일 또는 유사한 명칭의 인스턴스가 서버 지식 그래프 내에 존재하는 지를 판단할 수 있다. 서버(2000)는 인스턴스의 유사도를 판단하기 위하여 유사어에 관한 정보를 포함하는 사전 정보를 이용할 수 있다. 또는 서버(2000)는 인스턴스의 유사도를 판단하기 위하여 기 설정된 NLU 모델을 이용할 수도 있다.
또한, 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프의 구조와 서버 지시 그래프의 구조를 비교할 수 있다. 서버(2000)는 동일 또는 유사한 노드들과 연결된 엣지들에 대응되는 관계 및 속성을 서로 비교할 수 있다. 서버(2000)는 동일 또는 유사한 노드들에 동일 또는 유사한 엣지가 연결되었는 지를 판단함으로써, 서버 지식 그래프의 확장을 위한 지식 그래프 내의 지식 트리플과 동일 또는 유사한 지식 트리플이 서버 지시 그래프 내에 존재하는 지를 판단할 수 있다.
S1010에서 서버(2000)는 비교 결과에 기초하여, 서로 연결될 노드들을 선택할 수 있다. 서버(2000)는 노드들의 유사도를 우선적으로 고려하여, 동일 또는 유사한 노드들을 서로 연결될 노드들로 선택할 수 있다. 또는, 서버(2000)는 구조의 유사도를 우선적으로 고려하여 동일 또는 유사한 지식 트리플 내의 노드들을 서로 연결될 노드들로 선택할 수 있다. 또는 서버(2000)는 노드들의 유사도 및 구조의 유사도를 복합적으로 고려하여, 서로 연결될 노드들을 선택할 수 있다.
S1020에서 서버(2000)는 선택된 노드들의 역할 및 연결 관계를 결정할 수 있다. 서버(2000)는 선택된 노드들에 대하여 헤드 역할 또는 테일 역할을 부여할 수 있다. 서버(2000)는 선택된 노드들 중에서 서로 연결될 2개의 노드들에 대하여 헤드 역할 및 테일 역할을 부여할 수 있다. 예를 들어, 서버(2000)는 제1 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계를 식별하고, 제2 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계를 식별할 수 있다. 서버(2000)는 서버(2000)는 제1 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계, 제2 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계를 해석하기 위하여, 기 설정된 NLU 모델을 이용할 수도 있다. 서버(2000)는 식별 결과 또는 해석 결과에 기초하여, 제1 노드에 대하여 헤드 역할을 부여하고, 제2 노드에 대하여 테일 역할을 부여할 수 있다.
또한, 서버(2000)는 제1 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계, 제2 노드에 연결된 하위 노드 및 하위 노드와의 연결 관계를 해석하고, 해석 결과에 기초하여 제1 노드와 제2 노드 간의 관계를 결정할 수 있다.
S1030에서 서버(2000)는 결정된 역할 및 연결 관계에 기초하여, 노드들을 서로 연결할 수 있다. 예를 들어, 서버(2000)는 헤드 역할을 가지는 제1 노드에 테일 역할을 가지는 제2 노드를, 동작 S1020에서 결정된 관계를 가지는 엣지를 통해, 서로 연결할 수 있다.
도 8은 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프를 확장하는 예시를 나타내는 도면이다.
도 8을 참조하면, 서버 지식 그래프(110)는 지식 정보를 나타내는 지식 그래프로부터 확장된 지식 그래프일 수 있다. 지식 정보를 나타내는 지식 그래프는 상하위 개념을 가지는 노드들이 서로 연결됨으로써 생성된 지식 그래프로서, 검색 서비스를 위하여 이용되는 지식 그래프일 수 있다. 또한, 예를 들어, 서버 지식 그래프(110) 내에서 노드(112)가 나타내는 컨셉은, 서버 지식 그래프의 확장을 위한 지식 그래프(111) 내의 노드(113)가 나타내는 컨셉과 동일한 값인 “운동”일 수 있다. 예를 들어, 서버 지식 그래프(110) 내에서 노드(114)가 나타내는 컨셉은, 서버 지식 그래프의 확장을 위한 지식 그래프(111) 내의 노드(115)가 나타내는 컨셉과 동일한 값인 “유투브”일 수 있다.
또한, 서버(2000)는 노드(112) 및 노드(114)의 역할을 헤드로 부여하고, 노드(113) 및 노드 (115)의 역할을 테일로 부여할 수 있으며, “운동”을 나타내는 노드(112) 및 노드(113)을 서로 연결하고, “유투브”를 나타내는 노드(113) 및 노드(115)를 서로 연결할 수 있다.
서버(2000)는 서버 지식 그래프(110) 내에서 노드(112)에 연결된 다른 노드 및 연결 관계, 및 서버 지식 그래프의 확장을 위한 지식 그래프(111) 내에서 노드(113)에 연결된 다른 노드 및 연결 관계에 기초하여, 노드(112)와 노드(113) 간의 연결 관계를 결정할 수 있다.
도 14는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 확장에 이용된 지식 그래프를 디바이스에게 제공하는 방법의 흐름도이다.
동작 S1700 내지 S1720은 도 2의 동작 S200 내지 S220에 대응되므로, 동작 S1700 내지 S1720에 대한 설명은 편의상 생략하기로 한다.
동작 S1730에서 서버(2000)는 서버 지식 그래프의 확장을 위한 지식 그래프를 디바이스에게 제공할 수 있다. 서버(2000)는 디바이스(1000)로부터의 요청에 응답하여, 서버 지식 그래프의 확장을 위한 지식 그래프를 디바이스(1000)에게 전송할 수 있다. 이 경우, 서버(2000)는 디바이스 지식 그래프를 제공하지 않은 디바이스(1000)에게 서버 지식 그래프의 확장을 위한 지식 그래프를 전송할 수 있다. 또한, 디바이스(1000)는 서버 지식 그래프의 확장을 위한 지식 그래프를 이용하여 디바이스 지식 그래프를 업데이트할 수 있다.
도 15는 본 개시의 일 실시예에 따른 서버가 서버 지식 그래프의 일부를 디바이스에게 제공하는 방법의 흐름도이다.
동작 S1800에서 서버(2000)는 디바이스(1000)로부터 서버 지식 그래프의 요청을 수신할 수 있다. 디바이스(1000)는 서버(2000)에게 서버 지식 그래프를 요청하면서, 자신이 필요한 지식 그래프의 카테고리를 나타내는 값을 서버(2000)에게 알릴 수 있다.
동작 S1810에서 서버(2000)는 디바이스(1000)에서 필요한 지식 그래프의 카테고리를 식별할 수 있다. 서버 지식 그래프는 서버 지식 그래프 내에 포함된 하위 서버 지식 그래프의 카테코리들 중에서, 디바이스(1000)로부터 수신한 카테고리 값에 해당하는 카테고리를 식별할 수 있다. 예를 들어, 서버 지식 그래프 내에 포함된 하위 서버 지식 그래프의 카테코리는, 대화, 검색, 추천, 사전 등을 포함할 수 있으나, 이에 제한되지 않는다.
동작 S1820에서 서버(2000)는 서버 지식 그래프로부터, 식별된 카테고리의 지식 그래프를 추출할 수 있다. 서버(2000)는 서버 지식 그래프 내의 하위 서버 지식 그래프들 중에서, 식별된 카테고리에 대응되는 하위 서버 지식 그래프를 추출할 수 있다. 한편, 서버(2000)는 식별된 카테고리에 대응되는 하위 서버 지식 그래프의 일부를 추출할 수도 있다. 이 경우, 서버(2000)는 디바이스(1000)로부터 디바이스 지식 그래프에 포함된 노드들 및 엣지들에 관한 정보를 수신하고, 디바이스 지식 그래프에 포함된 노드들 및 엣지들에 관련된 지식 트리플들의 집합을 하위 서버 지식 그래프로부터 추출할 수 있다.
동작 S1830에서 서버(2000)는 추출된 지식 그래프를 디바이스(1000)에게 제공할 수 있다. 디바이스(1000)는 추출된 지식 그래프를 이용하여 디바이스 지식 그래프를 업데이트할 수 있다.
도 16은 본 개시의 일 실시예에 따른 디바이스가 디바이스 지식 그래프를 업데이트하는 방법의 흐름도이다.
동작 S1900에서 디바이스(1000)는 디바이스(1000)에서 실행된 동작에 관련된 로그 이력 정보를 수집할 수 있다. 로그 이력 정보는, 디바이스(1000)에서 실행된 동작들에 관련된 컨텍스트 정보가 시간에 따라 기록된 것일 수 있다. 로그 이력 정보는, 디바이스(1000)에서 실행된 동작과 관련된 디바이스(1000)의 내부 또는 외부의 상황을 나타낼 수 있다. 디바이스(1000)에서 실행된 동작들에 관련된 컨텍스트 정보는 디바이스(1000)에서 실행된 기능, 디바이스(1000)에서 실행된 콘텐트, 디바이스(1000)의 상태, 디바이스(1000)의 주변 환경 등에 관련된 정보를 포함할 수 있다.
동작 S1910에서 디바이스(1000)는 로그 이력 정보로부터 디바이스에서 실행된 동작들을 나타내는 지식 트리플들을 생성할 수 있다. 디바이스(1000)는 수집된 로그 이력 정보를 디바이스 지식 그래프를 생성하기 위하여 이용될 수 있는 데이터로 가공할 수 있다. 디바이스(1000)는 수집된 로그 이력 정보를 지식화함으로써, 디바이스(1000)에서 실행된 일련의 순차적인 동작을 나타내는 지식 트리플들을 생성할 수 있다.
디바이스(1000)는 미리 설정된 온톨로지 스키마에 따라, 로그 이력 정보를 해석함으로써 디바이스 지식 그래프를 생성할 수 있다. 온톨로지 스키마에 따라 지식 그래프 내에 어떤 노드들이 포함되며, 노드들 간에 관계가 어떤 관계일 수 있는지가 정의될 수 있다. 디바이스(1000)는, 예를 들어, 사용자(USER)를 나타내는 노드를 중심으로, 욕구(Need)를 나타내는 노드, 활동(Activity)을 나타내는 노드 또는 프로필(Profile)을 나타내는 노드 등의 관계를 연결하는 온톨로지 스키마를 이용하여 디바이스 지식 그래프(2302)를 생성할 수 있다. 이 경우, 디바이스(1000)는 로그 이력 정보를 해석함으로써, 예를 들어, 사용자의 활동(Activity)과 관련하여, ‘사용자(USER)는 활동(Activity)를 가지고 있다(hasActivity)’라는 정보를 획득할 수 있으며, 획득된 정보를 온톨로지 스키마에 따라 노드들 및 엣지에 부여함으로써, 디바이스 지식 그래프에 포함될 지식 트리플들을 생성할 수 있다. 또한, 디바이스(1000)는 생성된 지식 트리플들을 온톨로지 스키마에 따라 연결함으로써 디바이스 지식 그래프를 생성할 수 있다.
또한, 디바이스(1000)는 디바이스 지식 그래프(2302) 및 서버 지식 그래프(2301)를 비교하고, 디바이스 지식 그래프(2302) 내의 적어도 하나의 노드를 서버 지식 그래프(2301) 내의 적어도 하나의 노드에 연결함으로써, 디바이스 지식 그래프(2302)를 확장할 수 있다.
디바이스(1000)는 로그 이력 정보로부터 디바이스에서 실행된 동작들을 분석함으로써, 디바이스(1000)의 동작 패턴을 나타내는 지식 트리플들을 생성할 수 있다. 디바이스(1000)의 동작 패턴은, 특정 상황에서 소정 임계치 이상 반복되는 디바이스(1000)의 일련의 동작들을 나타낼 수 있다. 예를 들어, 디바이스(1000)는 로그 이력 정보로부터 디바이스(1000)가 어떤 상황에서 어떤 동작을 실행하였는 지를 분석함으로써, 디바이스(1000)가 특정 상황(예: 야구 경기를 예약하는 상황)에서 특정 동작(예: 야구와 관련된 유튜브를 시청)을 하는 경우가 소정 임계치 이상 반복됨을 식별할 수 있다. 또한, 디바이스(1000)는 특정 상황(예: 야구 경기를 예약하는 상황)을 나타내는 노드와 특정 행동(예: 야구와 관련된 유튜브를 시청)을 나타내는 노드를 연결함으로써, 디바이스의 동작 패턴을 나타내는 지식 트리플을 생성할 수 있다.
동작 S1920에서 디바이스(1000)는 디바이스(1000)에서 실행된 동작들을 나타내는 지식 트리플들을 서로 연결함으로써 디바이스 지식 그래프를 생성할 수 있다. 디바이스(1000)는 지식 트리플들을 구성하는 노드들 및 엣지들을 비교함으로써, 노드들의 역할을 부여하고, 노드들 간의 관계에 기초하여 노드들을 서로 연결할 수 있다.
디바이스(1000)는 확률적인 매칭 모델(probabilistic matching model), 거리 기반(distance based) 모델, 선언적 매칭 규칙 및 제약(declarative matching rules and constraints)등에 기초하여, 로우 데이터 또는 지식 트리플로부터, 서로 매칭되는 컨셉들을 검출할 수 있다. 또한, 디바이스(1000)는 검출된 컨셉들에 대하여, 지식 정제(knowledge refinement) 동작을 수행할 수 있다. 예를 들어, 서버(2000)는 지식 퓨전(knowledge fusion), 오류 검출(error detection), 사실 추론(fact inference) 등의 기법을 이용하여, 검출된 컨셉들을 정제할 수 있다. 상술된 과정을 통하여, 디바이스(1000)는 지식 그래프의 생성과 관련된 지식 트리플들을 획득하고, 획득된 지식 트리플들을 구조화하여 서로 연결함으로써 디바이스 지식 그래프를 생성할 수 있다.
디바이스 지식 그래프는 사용자의 디바이스의 로그 이력 정보를 기초로 생성되므로, 디바이스 지식 그래프는 사용자에게 특화된 지식이 강화된 그래프일 수 있다.
동작 S1930에서 디바이스(1000)는 서버(2000)로부터 서버 지식 그래프를 수신할 수 있다. 디바이스(1000)는 서버(2000)에게 서버 지식 그래프를 요청하고, 서버(2000)로부터 제공되는 서버 지식 그래프를 서버(2000)로부터 수신할 수 있다. 디바이스(1000)는 디바이스(1000)에서 제공되는 서비스의 카테고리를 식별하기 위한 정보를 서버(2000)에게 제공하면서 서버(2000)에게 서버 지식 그래프의 요청할 수 있다. 이 경우, 서버(2000)는 디바이스(1000)에서 제공되는 서비스의 카테고리에 대응되는 서버 지식 그래프의 적어도 일부를 디바이스(1000)에게 제공할 수 있다. 서비스의 카테고리는, 예를 들어, 방송, 콘텐트 공유, 콘텐트 제공, 전력 관리, 게임 제공, 채팅, 문서 작성, 사전 정보 제공, 검색, 통화, 사진 촬영, 교통 수단 추천 및 동영상 재생 등을 포함할 수 있으나, 이에 제한되지 않는다.
동작 S1940에서 디바이스(1000)는 노드들의 의미, 속성 및 관계에 기초하여 디바이스 지식 그래프 내의 노드를 서버 지식 그래프 내의 노드와 연결할 수 있다. 디바이스(1000)는 확률적인 매칭 모델(probabilistic matching model), 거리 기반(distance based) 모델, 선언적 매칭 규칙 및 제약(declarative matching rules and constraints)등에 기초하여, 서버 지식 그래프 및 지식 트리플로부터, 서로 매칭되는 노드들을 검출할 수 있다. 또한, 디바이스(1000)는 검출된 노드들에 대하여, 지식 정제(knowledge refinement) 동작을 수행할 수 있다. 예를 들어, 서버(2000)는 지식 퓨전(knowledge fusion), 오류 검출(error detection), 사실 추론(fact inference) 등의 기법을 이용하여, 검출된 노드들을 정제할 수 있다. 상술된 과정을 통하여, 디바이스(1000)는 서버 지식 그래프 및 지식 트리플들을 구조화하여 서로 연결함으로써 디바이스 지식 그래프를 확장할 수 있다.
도 17은 본 개시의 일 실시예에 따른 디바이스가 디바이스의 동작 패턴을 바탕으로 생성된 지식 트리플들의 예시를 설명하기 위한 도면이다.
도 17을 참조하면, 디바이스(1000)는 디바이스(1000)의 동작들을 바탕으로, 디바이스(1000)의 동작 패턴을 나타내는 지식 트리플들을 생성할 수 있다.
디바이스(1000)는 디바이스(1000)에서 실행된 동작에 관련된 로그 이력 정보로부터, 디바이스(1000)가 실행한 동작들 및 디바이스(1000)의 동작 시간을 분석할 수 있다. 예를 들어, 디바이스(1000)는 디바이스(1000)에서 실행된 동작들인 “Activity 1”, “Activity 2”, “Activity 3”, “Activity 4”, “Activity 5”, 및 “Activity 6” 및 이러한 동작들의 실행 시간들을 식별할 수 있다. 예를 들어, 디바이스(1000)는 “Activity 1”이 2019년 8월 1일 20시에 실행되고, “Activity 2”가 2019년 8월 1일 21시에 실행되고, “Activity 3”이 2019년 8월 3일 17시에 실행되고, “Activity 4”이 2019년 8월 3일 18시에 실행되고, “Activity 5”가 2019년 8월 4일 21시에 실행되고, “Activity 6”이 2019년 8월 4일 22시에 실행됨을 식별할 수 있다. 또한, “Activity 2”, “Activity 4”, 및 “Activity 6” 은 운동 예약에 관한 동작들이며, “Activity 1”, “Activity 3”, 및 “Activity 5”는 유투브 애플리케이션에 관한 동작들임을 식별할 수 있다. 또한, 디바이스(1000)는 식별된 각각의 동작들이 실행된 상황을 나타내는 지식 트리플들을 각각의 동작 별로 생성할 수 있다.
또한, 디바이스(1000)는 식별된 동작들을 바탕으로, 운동 예약에 관한 동작들이 3회 반복되고, 유투브 애플리케이션에 관한 동작들이 3회 반복됨을 식별할 수 있다. 이에 따라, 디바이스(1000)는 운동 예약한 이후에 유투브 애플리케이션을 실행하는 동작 패턴을 식별할 수 있다.
예를 들어, 디바이스(1000)는 운동 예약한 이후에 유투브 애플리케이션을 실행하는 동작 패턴으로부터, 사용자의 동작 패턴에 관한 지식 트리플임을 나타내는 “USER-hasPattern-Pattern1”, 특정 상황 이후의 동작에 관한 지식 트리플임을 나타내는 “Pattern1-patternType-ContextAfterPatternType”, 동작 패턴에 관련된 특정 상황을 나타내는 “Pattern1-hasUserAction-유투브”, 및 동작 패턴에 관련된 특정 동작을 나타내는 “Pattern1-hasUserAction-운동”과 같은 지식 트리플들을 생성할 수 있다. 동작 패턴에 기초한 지식 트리플들은 “Activity 1”, “Activity 2”, “Activity 3”, “Activity 4”, “Activity 5”, 및 “Activity 6” 을 나타내는 지식 트리플보다 추상화된 정보로 구성될 수 있으나, 이에 제한되지 않는다.
한편, 디바이스(1000)는 저장된 DB에 저장된 데이터로부터 반복되는 데이터 컬럼이나 로그를 기반으로 동작 패턴을 생성할 수 있다. 이 경우, 예를 들어, 디바이스(1000)는 DB에 저장된 데이터의 종류 및 데이터의 저장 순서를 식별하고, 데이터의 종류 및 데이터의 저장 순서를 분석함으로써, 디바이스(1000)에서 실행된 동작들에 관한 동작 패턴을 식별할 수 있다.
도 18은 본 개시의 일 실시예에 따른 디바이스가 서버로부터 수신된 서버 지식 그래프를 이용하여 디바이스 지식 그래프를 생성하고 확장하는 예시를 나타내는 도면이다.
도 21을 참조하면, 사용자가 디바이스(1000)의 특정 동작을 실행시키면 디바이스 지식 그래프가 생성되고 확장될 수 있다. 디바이스(1000)의 사용자가 유튜브 애플리케이션을 이용하여 특정 시간(예: 20시~21시)에 ‘LA 다저스’ 경기를 시청하는 경우에, 디바이스(1000)는 디바이스(1000)의 동작에 관련된 로그 이력 정보를 이용하여 디바이스 지식 그래프(2302)를 생성할 수 있다.
디바이스(1000)는 미리 설정된 온톨로지 스키마에 따라, 로그 이력 정보를 해석함으로써 디바이스 지식 그래프(2302)를 생성할 수 있다. 온톨로지 스키마에 따라 지식 그래프 내에 어떤 노드들이 포함되며, 노드들 간에 관계가 어떤 관계일 수 있는지가 정의될 수 있다. 디바이스(1000)는, 예를 들어, 사용자(USER)를 나타내는 노드를 중심으로, 욕구(Need)를 나타내는 노드, 활동(Activity)을 나타내는 노드 또는 프로필(Profile)을 나타내는 노드 등의 관계를 연결하는 온톨로지 스키마를 이용하여 디바이스 지식 그래프(2302)를 생성할 수 있다. 이 경우, 예를 들어, 사용자의 활동(Activity)과 관련하여, ‘사용자(USER)는 활동(Activity)를 가지고 있다(hasActivity)’와 같은 정보가 디바이스 지식 그래프 내에 포함될 수 있다.
또한, 디바이스(1000)는 디바이스 지식 그래프(2302) 및 서버로부터 수신된 서버 지식 그래프(2301)를 비교하고, 디바이스 지식 그래프(2302) 내의 적어도 하나의 노드를 서버 지식 그래프(2301) 내의 적어도 하나의 노드에 연결함으로써, 디바이스 지식 그래프(2302)를 확장할 수 있다.
예를 들어, 디바이스 지식 그래프(2302)의 Event 노드는 서버 지식 그래프(2301)의 ‘LA 다저스’ 노드와 연결될 수 있다. 이에 따라, 디바이스(1000)는 ‘LA 다저스’ 노드에서 ‘야구 News’ 노드까지의 연결 관계를 통하여 사용자(USER)에게 야구 뉴스를 추천해줄 수 있다. 디바이스(1000)는 사용자에게 콘텐트를 추천할 때, 온톨로지 스키마(Ontology Schema)에 기초한 쿼리 및 룰(rule)을 이용한 추론 등을 이용할 수 있다. 예를 들면, 디바이스(1000)는 사용자(USER) 노드에 직접 또는 간접적으로 ‘hasSuggestion’ 엣지를 통해 연결되어 있는 노드를 찾는 쿼리를 이용하여 추천 컨텐트를 선택할 수 있다.
도 19는 본 개시의 일 실시예에 따른 디바이스가 서버 지식 그래프의 일부를 이용하여 디바이스 지식 그래프를 확장하는 방법의 흐름도이다.
동작 S2500에서 디바이스(1000)는 업데이트된 서버 지식 그래프를 서버(2000)로부터 수신할 수 있다. 서버(2000)는 서버 지식 그래프의 일부가 업데이트되는 경우, 디바이스(1000)는 업데이트된 부분에 해당하는 서버 지식 그래프의 일부를 서버(2000)로부터 수신할 수 있다. 예를 들어, 서버 지식 그래프에 일부 지식이 추가되거나 수정된 경우에, 디바이스(1000)는 추가 또는 수정된 일부 지식을 포함하는 지식 트리플들로 구성된 서버 지식 그래프의 일부를 수신할 수 있다. 예를 들어, 도 26을 참조하면, 서버(2000)는 서버 지식 그래프(2601)가 업데이트 되는 경우에, 업데이트된 서버 지식 그래프의 일부(2605)를 디바이스(1000)에게 제공할 수 있다.
동작 S2510에서 디바이스(1000)는 수신된 업데이트된 서버 지식 그래프를 디바이스 지식 그래프와 비교할 수 있다. 디바이스(1000)는 업데이트된 서버 지식 그래프에 포함된 노드들 및 엣지들을, 디바이스 지식 그래프 내의 노드들 및 엣지들과 비교할 수 있다. 디바이스(1000)는, 예를 들어, 컨셉의 명칭의 유사도, 인스턴스의 유사도 및 구조의 유사도에 기초하여, 업데이트된 서버 지식 그래프에 포함된 노드들 및 엣지들이, 지식 그래프 내의 노드들 및 엣지들과 동일한 지를 판단할 수 있다. 예를 들어, 도 20을 참조하면, 디바이스(1000)는 업데이트된 서버 지식 그래프의 일부(2605)를 디바이스 지식 그래프(2602)와 비교함으로써, 업데이트된 서버 지식 그래프의 일부(2605) 내에 포함된 노드들 중에서 커쇼 노드, 류현진 노드 및 추신수 노드(2606) 이외의 다른 노드들이 디바이스 지식 그래프(2602) 내에 존재함을 식별할 수 있다.
동작 S2520에서 디바이스(1000)는 비교 결과에 기초하여, 업데이트된 서버 지식 그래프로부터 디바이스 지식 그래프에 반영될 노드들 및 엣지들을 선택할 수 있다. 디바이스(1000)는 업데이트된 서버 지식 그래프 내에 포함된 노드들 및 엣지들 중에서, 디바이스 지식 그래프 내의 노드들 및 엣지들과 상이한 노드들 및 엣지들을 선택할 수 있다. 예를 들어, 도 20을 참조하면, 업데이트된 서버 지식 그래프의 일부(2605) 내에 포함된 커쇼 노드, 류현진 노드 및 추신수 노드(2606)가 디바이스 지식 그래프(2602) 내에 존재하지 않음을 식별할 수 있다. 또한, 디바이스(1000)는 디바이스 지식 그래프(2602)에서 커쇼 노드를 LA 다저스 노드에 연결하고, 류현진 노드를 KBO 노드 및 LA 다저스 노드에 연결하고, 추신수 노드를 KBO 노드 및 텍사스 레인저스 노드에 연결할 것을 결정할 수 있다.
동작 S2530에서 디바이스(1000)는 선택된 노드들 및 엣지들을 디바이스 지식 그래프에 반영할 수 있다. 디바이스(1000)는 선택된 노드들이 연결될 디바이스 지식 그래프 내의 노드들을 식별하고, 선택된 노드들을 디바이스 지식 그래프 내의 노드들에 연결할 수 있다. 또는 디바이스(1000)는 디바이스 지식 그래프 내의 노드들 및 엣지들을, 선택된 노드들 및 엣지들로 대체할 수 있다.
도 21은 본 개시의 일 실시예에 따른 서버의 블록도이다.
도 21에 도시된 바와 같이, 본 개시의 일 실시예에 따른 서버(2000)는 통신부(2800), 제어부(2810) 및 저장부(2820)를 포함할 수 있다. 또한, 저장부(2820)는 로우 데이터 수집 모듈(2821), 로우 데이터 DB(2822), 디바이스 지식 그래프 관리 모듈(2823), 디바이스 지식 그래프 DB(2824), 서버 지식 그래프 관리 모듈(2825) 및 서버 지식 그래프 DB(2826)를 포함할 수 있다.
통신부(2800)는, 네트워크를 통하여 디바이스(1000) 및 다른 서버(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2800)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 무선 네트워크를 통하여 통신을 하기 위한 하드웨어 인터페이스를 포함할 수 있다. 통신부(2800)는, 서버 지식 그래프를 생성하고 업데이트하기 위하여 필요한 정보를, 디바이스(1000) 및 다른 서버(미도시)와 송수신할 수 있다.
저장부(2820)는, 제어부(1300)의 처리 및 제어를 위한 데이터를 저장할 수 있다. 저장부(2820)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
저장부(2820)에 저장된 프로그램 또는 데이터는 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 로우 데이터 수집 모듈(2821), 로우 데이터 DB(2822), 디바이스 지식 그래프 관리 모듈(2823), 디바이스 지식 그래프 DB(2824), 서버 지식 그래프 관리 모듈(2825) 및 서버 지식 그래프 DB(2826)로 분류될 수 있다.
제어부(2830)는 서버(2000)의 전반적인 동작을 제어한다. 제어부(2830)는 저장부(2820)에 저장된 프로그램들을 실행함으로써, 통신부(1500) 및 저장부(2820)를 전반적으로 제어할 수 있다. 제어부(2830)는 로우 데이터 수집 모듈(2821), 로우 데이터 DB(2822), 디바이스 지식 그래프 관리 모듈(2823), 디바이스 지식 그래프 DB(2824), 서버 지식 그래프 관리 모듈(2825) 및 서버 지식 그래프 DB(2826)을 통하여, 도 1 내지 도 27에 기재된 서버(2000)의 기능을 수행할 수 있다.
도 22는 본 개시의 일 실시예에 따른 서버 내의 소프트웨어 모듈들의 동작을 설명하기 위한 블록도이다.
도 22에 기재된 소프트웨어 모듈들은 제어부(2830)에 의해 실행되어 각각의 기능을 실행할 수 있다. 도 29를 참조하면, 로우 데이터 수집 모듈(2821)은 서버 지식 그래프의 생성을 위한 로우 데이터를 수집하고, 수집된 로우 데이터를 로우 데이터 DB(2822)에 저장할 수 있다. 또한, 로우 데이터 수집 모듈(2821)은 수집된 로우 데이터를 서버 지식 그래프 관리 모듈(2825)에게 제공할 수 있다.
서버 지식 그래프 관리 모듈(2825)은 서버 지식 그래프를 생성하고 업데이트하고 관리할 수 있다. 서버 지식 그래프 관리 모듈(2825)은 로우 데이터 수집 모듈(2821)로부터 제공된 로우 데이터를 분석함으로써 서버 지식 그래프 내에 포함될 지식 트리플들을 생성하고, 생성된 지식 트리플들을 연결함으로써 서버 지식 그래프를 생성할 수 있다. 또한, 서버 지식 그래프 관리 모듈(2825)은 디바이스 지식 그래프 관리 모듈(2823)로부터 서버 지식 그래프의 확장을 위한 지식 그래프를 수신하고, 수신된 서버 지식 그래프의 확장을 위한 지식 그래프를 이용하여 서버 지식 그래프를 업데이트할 수 있다. 또한, 서버 지식 그래프 관리 모듈(2825)은 서버 지식 그래프의 적어도 일부를 디바이스(1000)에게 제공할 수 있다. 서버 지식 그래프 관리 모듈(2825)은 생성된 서버 지식 그래프 및 업데이트된 서버 지식 그래프를 서버 지식 그래프 DB(2826)에 저장할 수 있다.
디바이스 지식 그래프 관리 모듈(2823)은 디바이스(1000)로부터 수신되는 디바이스 지식 그래프를 관리할 수 있다. 디바이스 지식 그래프 관리 모듈(2823)은 복수의 디바이스(1000)로부터 수신되는 디바이스 지식 그래프를 비교함으로써, 서버 지식 그래프의 확장을 위한 지식 그래프를 생성할 수 있다. 또한, 디바이스 지식 그래프 관리 모듈(2823)은 서버 지식 그래프의 확장을 위한 지식 그래프를 디바이스(1000)에게 제공할 수 있다. 디바이스 지식 그래프 관리 모듈(2823)은 서버 지식 그래프의 확장을 위한 지식 그래프 및 디바이스 지식 그래프를 디바이스 지식 그래프 DB(2824)에 저장할 수 있다.
도 23 및 도 24는 본 개시의 일 실시예에 따른 디바이스의 블록도이다.
도 23에 도시된 바와 같이, 일 실시예에 따른 디바이스(1000)는 사용자 입력부(1100), 디스플레이부(1210), 통신부(1500) 및 제어부(1300)를 포함할 수 있다. 그러나 도 23에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 23에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 23에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다. 예를 들어, 도 31은 본 개시의 일 실시예에 따른 디바이스(1000)의 구체적인 블록도를 도시한다.
도 24에 도시된 바와 같이, 일 실시예에 따른 디바이스(1000)는 사용자 사용자 입력부(1100), 디스플레이부(1210), 통신부(1500) 및 제어부(1300) 이외에, 센싱부(1400), A/V 입력부(1600), 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 터치 패드, 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력부(1100)는, 디바이스 지식 그래프를 위한 디바이스(1000)의 동작에 관련된 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 진동 모터(1230)는 진동 신호를 출력할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다. 센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(1500)는, 서버(2000), 다른 서버(미도시) 및 다른 디바이스와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(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+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다.
또한, 통신부(1500)는, 디바이스 지식 그래프의 생성, 업데이트 및 관리를 위한 데이터를 서버(2000), 다른 서버(미도시) 및 다른 디바이스와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수 있다. 메모리(1700)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730), 로그 정보 관리 모듈(1740), 로그 이력 정보 DB(1750), 디바이스 지식 그래프 관리 모듈(1760) 및 디바이스 지식 그래프 DB(1770) 등으로 분류될 수 있다. 메모리(1700)에 저장된 프로그램들은 제어부(1300)에 의해 실행됨으로써 그 기능을 수행할 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다. 알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
로그 정보 관리 모듈(1740)는 디바이스 지식 그래프의 생성을 위한 로그 정보를 수집하고 관리할 수 있다. 로그 정보 관리 정보는 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600)로부터 로그 정보를 수집하고 관리할 수 있다. 로그 이력 정보 DB(1750)는 수집된 로그 정보를 누적하여 저장할 수 있다. 디바이스 지식 그래프 관리 모듈(1760)은 디바이스 지식 그래프를 생성하고 업데이트하고 관리할 수 있다. 디바이스 지식 그래프 DB(1770)는 디바이스 지식 그래프를 저장할 수 있다.
제어부(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다.
제어부(1300)는 로그 정보 관리 모듈(1740), 로그 이력 정보 DB(1750), 디바이스 지식 그래프 관리 모듈(1760), 디바이스 지식 그래프 DB(1770)를 통하여, 도 1 내지 도 27에 기재된 디바이스(1000)의 기능을 수행할 수 있다.
도 25는 본 개시의 일 실시예에 따른 디바이스 내의 소프트웨어 모듈들의 동작을 설명하기 위한 블록도이다.
도 25에 기재된 소프트웨어 모듈들은 제어부(1300)에 의해 실행되어 각각의 기능을 실행할 수 있다. 도 32를 참조하면, 로그 정보 관리 모듈(1740)은 디바이스(1000)에서 실행된 동작에 관련된 로그 이력 정보를 수집하고, 수집된 로그 이력 정보를 지식 트리플 생성 모듈(1762)에게 제공할 수 있다.
지식 트리플 생성 모듈(1762)은 수집된 로그 이력 정보를 디바이스 지식 그래프를 생성하기 위하여 이용될 수 있는 데이터로 가공할 수 있다. 지식 트리플 생성 모듈(1762)은 수집된 로그 이력 정보를 지식화함으로써, 디바이스(1000)에서 실행된 일련의 순차적인 동작을 나타내는 지식 트리플들을 생성할 수 있다. 지식 트리플 생성 모듈(1762)은 생성된 지식 트리플들을 지식 트리플 연결 모듈(1764)에게 제공할 수 있다.
지식 트리플 연결 모듈(1764)은 디바이스(1000)에서 실행된 동작들을 나타내는 지식 트리플들을 서로 연결함으로써 디바이스 지식 그래프를 생성할 수 있다. 디바이스(1000)는 지식 트리플들을 구성하는 노드들 및 엣지들을 비교함으로써, 노드들의 역할을 부여하고, 노드들 간의 관계에 기초하여 노드들을 서로 연결할 수 있다.
또한, 지식 트리플 연결 모듈(1764)은 서버(2000)로부터 서버 지식 그래프 또는 서버 지식 그래프의 확장을 위한 지식 그래프를 수신할 수 있다. 지식 트리플 연결 모듈(1764)은, 수신된 서버 지식 그래프 또는 서버 지식 그래프의 확장을 위한 지식 그래프에 지식 트리플들을 연결함으로써 디바이스 지식 그래프를 확장할 수 있다.
패턴화 모듈(1766)은 지식 트리플 연결 모듈(1764)로부터 연결된 지식 트리플들을 수신하고, 수신된 지식 트리플들에 기초하여 디바이스(1000)의 동작 패턴을 나타내는 지식 트리플들을 생성할 수 있다. 패턴화 모듈(1766)은 수신된 지식 트리플들로부터 디바이스(1000)가 어떤 상황에서 어떤 동작을 실행하였는 지를 분석함으로써, 디바이스(1000)가 특정 상황(예: 야구 경기를 예약하는 상황)에서 특정 동작(예: 야구와 관련된 유튜브를 시청)을 하는 경우가 소정 임계치 이상 반복됨을 식별할 수 있다. 또한, 패턴화 모듈(1766)은 특정 상황(예: 야구 경기를 예약하는 상황)을 나타내는 노드와 특정 행동(예: 야구와 관련된 유튜브를 시청)을 나타내는 노드를 연결함으로써, 디바이스의 동작 패턴을 나타내는 지식 트리플들을 생성할 수 있다. 또한, 패턴화 모듈(1766)은 디바이스의 동작 패턴을 나타내는 지식 트리플들을 지식 트리플 연결 모듈(1764)에게 제공할 수 있다. 이 경우, 지식 트리플 연결 모듈(1764)은 디바이스의 동작 패턴을 나타내는 지식 트리플들을 이용하여 디바이스 지식 그래프를 생성 또는 업데이트 할 수 있다.
또한, 패턴화 모듈(1766)은 디바이스의 동작 패턴을 나타내는 지식 트리플들을 포함하는 디바이스 지식 그래프를 서버(2000)에게 제공할 수 있다.
디바이스 지식 그래프 관리 모듈(1760)은 확률적인 매칭 모델(probabilistic matching model), 거리 기반(distance based) 모델, 선언적 매칭 규칙 및 제약(declarative matching rules and constraints)등에 기초하여, 로우 데이터 또는 지식 트리플로부터, 서로 매칭되는 컨셉들을 검출할 수 있다. 또한, 디바이스(1000)는 검출된 컨셉들에 대하여, 지식 정제(knowledge refinement) 동작을 수행할 수 있다. 예를 들어, 서버(2000)는 지식 퓨전(knowledge fusion), 오류 검출(error detection), 사실 추론(fact inference) 등의 기법을 이용하여, 검출된 컨셉들을 정제할 수 있다. 상술된 과정을 통하여, 디바이스(1000)는 지식 그래프의 생성과 관련된 지식 트리플들을 획득하고, 획득된 지식 트리플들을 구조화하여 서로 연결함으로써 디바이스 지식 그래프를 생성 및 업데이트 할 수 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
또한, 본 명세서에서, “a, b 또는 c 중 적어도 하나를 포함한다”는 “a만 포함하거나, b만 포함하거나, c만 포함하거나, a 및 b를 포함하거나, b 및 c를 포함하거나, a 및 c를 포함하거나, a, b 및 c를 모두 포함하는 것을 의미할 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 서버가 서버 지식 그래프를 업데이트하는 방법에 있어서,
    서버 지식 그래프를 획득하는 동작;
    디바이스 지식 그래프를 복수의 디바이스들 각각으로부터 수신하여 복수의 디바이스 지식 그래프들을 획득하는 동작;
    상기 복수의 디바이스 지식 그래프로부터, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 동작; 및
    상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 서버 지식 그래프에 반영하는 동작;
    을 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 동작은,
    상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들을 비교하는 동작;
    상기 비교 결과에 기초하여, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중 일부를 선택하는 동작; 및
    상기 선택된 일부의 노드들 및 엣지들을 연결함으로써, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 동작;
    을 포함하는 것인, 방법.
  3. 제2 항에 있어서,
    상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중 일부를 선택하는 동작은, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중에서 서로 중복되는 노드들 및 엣지들을 선택하는 것인, 방법.
  4. 제3 항에 있어서,
    상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중 일부를 선택하는 동작은, 상기 복수의 디바이스들에 대한 가중치를 고려하여, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중에서 서로 중복되는 노드들 및 엣지들을 선택하는 것인, 방법.
  5. 제1 항에 있어서,
    상기 디바이스 지식 그래프는, 상기 디바이스에서 수집되는 디바이스 동작 이력에 관한 로그 정보에 기초하여 상기 디바이스에 의해 생성되며, 상기 디바이스에서 실행된 동작 및 상기 동작이 실행될 때의 상황에 관한 정보를 포함하는 것인, 방법.
  6. 제5 항에 있어서,
    상기 디바이스 지식 그래프는, 상기 디바이스에서 소정 임계치 이상 반복되어 실행된 일련의 동작들을 나타내도록 상기 디바이스 지식 그래프 내의 노드 및 엣지에 대응되는 값들이 추상화된 것인, 방법.
  7. 제5 항에 있어서,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프는, 상기 복수의 디바이스들에서 공통되게 실행된 일련의 동작들을 나타내도록 생성되는 것인, 방법.
  8. 제1 항에 있어서,
    상기 반영하는 단계는,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중 적어도 하나를 상기 서버 지식 그래프 내의 노드들 중 적어도 하나에 연결함으로써, 상기 서버 지식 그래프를 확장하는 것인, 방법.
  9. 제8 항에 있어서, 상기 연결된 노드들은, 노드의 명칭의 유사도, 노드에 관련된 인스턴스의 유사도 또는 지식 그래프의 구조의 유사도 중 적어도 하나에 기초하여 결정된 것인, 방법.
  10. 제1 항에 있어서,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 복수의 디바이스들과 다른 디바이스에게 제공하는 단계;
    를 더 포함하며,
    상기 다른 디바이스에게 제공된 상기 서버 지식 그래프의 확장을 위한 지식 그래프는, 상기 다른 디바이스에 의해, 상기 다른 디바이스의 디바이스 지식 그래프를 업데이트하는데 이용되는 것인, 방법.
  11. 제1 항에 있어서,
    상기 서버 지식 그래프를 상기 복수의 디바이스들 중 적어도 하나에게 제공하는 동작;
    을 더 포함하며,
    상기 제공된 서버 지식 그래프는, 상기 복수의 디바이스들 중 상기 적어도 하나가 디바이스 지식 그래프를 업데이트하는데 이용되는 것인, 방법.
  12. 서버 지식 그래프를 업데이트하는 서버에 있어서,
    통신부;
    적어도 하나의 인스트럭션을 저장하는 저장부;
    상기 적어도 하나의 인스트럭션을 실행함으로써, 서버 지식 그래프를 획득하고, 디바이스 지식 그래프를 복수의 디바이스들 각각으로부터 수신하여 복수의 디바이스 지식 그래프들을 획득하고, 상기 복수의 디바이스 지식 그래프로부터, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하고, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 서버 지식 그래프에 반영하는 프로세서;
    를 포함하는, 서버.
  13. 제12 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들을 비교하고, 상기 비교 결과에 기초하여, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중 일부를 선택하고, 상기 선택된 일부의 노드들 및 엣지들을 연결함으로써, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 생성하는 것인, 서버.
  14. 제13 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중에서 서로 중복되는 노드들 및 엣지들을 선택하는 것인, 서버.
  15. 제14 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 복수의 디바이스들에 대한 가중치를 고려하여, 상기 복수의 디바이스 지식 그래프들 내의 노드들 및 엣지들 중에서 서로 중복되는 노드들 및 엣지들을 선택하는 것인, 서버.
  16. 제12 항에 있어서,
    상기 디바이스 지식 그래프는, 상기 디바이스에서 수집되는 디바이스 동작 이력에 관한 로그 정보에 기초하여 상기 디바이스에 의해 생성되며, 상기 디바이스에서 실행된 동작 및 상기 동작이 실행될 때의 상황에 관한 정보를 포함하는 것인, 서버.
  17. 제16 항에 있어서,
    상기 디바이스 지식 그래프는, 상기 디바이스에서 소정 임계치 이상 반복되어 실행된 일련의 동작들을 나타내도록 상기 디바이스 지식 그래프 내의 노드 및 엣지에 대응되는 값들이 추상화된 것인, 서버.
  18. 제16 항에 있어서,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프는, 상기 복수의 디바이스들에서 공통되게 실행된 일련의 동작들을 나타내도록 생성되는 것인, 서버.
  19. 제11 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 서버 지식 그래프의 확장을 위한 지식 그래프 내의 노드들 중 적어도 하나를 상기 서버 지식 그래프 내의 노드들 중 적어도 하나에 연결하여, 상기 서버 지식 그래프를 확장하는 것인, 서버.
  20. 제12 항에 있어서,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 서버 지식 그래프의 확장을 위한 지식 그래프를 상기 복수의 디바이스들과 다른 디바이스에게 제공하며,
    상기 다른 디바이스에게 제공된 상기 서버 지식 그래프의 확장을 위한 지식 그래프는, 상기 다른 디바이스에 의해, 상기 다른 디바이스의 디바이스 지식 그래프를 업데이트하는데 이용되는 것인, 서버.
KR1020190129328A 2019-10-17 2019-10-17 지식 그래프를 업데이트하는 시스템 및 방법 KR20210045837A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190129328A KR20210045837A (ko) 2019-10-17 2019-10-17 지식 그래프를 업데이트하는 시스템 및 방법
PCT/KR2020/012246 WO2021075729A1 (en) 2019-10-17 2020-09-10 System and method for updating knowledge graph
EP20877417.4A EP3973414A4 (en) 2019-10-17 2020-09-10 KNOWLEDGE GRAPH UPDATING SYSTEM AND METHOD
US17/028,542 US11386064B2 (en) 2019-10-17 2020-09-22 System and method for updating knowledge graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190129328A KR20210045837A (ko) 2019-10-17 2019-10-17 지식 그래프를 업데이트하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210045837A true KR20210045837A (ko) 2021-04-27

Family

ID=75491979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190129328A KR20210045837A (ko) 2019-10-17 2019-10-17 지식 그래프를 업데이트하는 시스템 및 방법

Country Status (4)

Country Link
US (1) US11386064B2 (ko)
EP (1) EP3973414A4 (ko)
KR (1) KR20210045837A (ko)
WO (1) WO2021075729A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102522089B1 (ko) * 2022-02-04 2023-04-14 주식회사 에스투더블유 분산 그래프를 이용하여 통합 그래프 생성하는 방법
US12001482B2 (en) 2022-02-04 2024-06-04 S2W Inc. Method of generating integrated graph using distributed graph

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271525A (zh) * 2018-08-08 2019-01-25 北京百度网讯科技有限公司 用于生成知识图谱的方法、装置、设备以及计算机可读存储介质
CN113792123B (zh) * 2021-11-17 2022-02-15 广州极天信息技术股份有限公司 一种基于数据驱动的领域知识图谱构建方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817983B2 (en) 2005-03-14 2010-10-19 Qualcomm Incorporated Method and apparatus for monitoring usage patterns of a wireless device
US10303999B2 (en) * 2011-02-22 2019-05-28 Refinitiv Us Organization Llc Machine learning-based relationship association and related discovery and search engines
US9070141B2 (en) * 2012-11-30 2015-06-30 Facebook, Inc. Updating features based on user actions in online systems
KR102131099B1 (ko) * 2014-02-13 2020-08-05 삼성전자 주식회사 지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법
KR20150084706A (ko) * 2015-06-26 2015-07-22 경북대학교 산학협력단 온톨로지의 지식 학습 장치 및 그의 방법
US10664757B2 (en) * 2015-09-16 2020-05-26 International Business Machines Corporation Cognitive operations based on empirically constructed knowledge graphs
US10628490B2 (en) * 2015-11-05 2020-04-21 Microsoft Technology Licensing, Llc Techniques for digital entity correlation
US20170169351A1 (en) * 2015-12-10 2017-06-15 TCL Research America Inc. Heterogenous network (r-knowledge) for bridging users and apps via relationship learning
US10423652B2 (en) * 2016-08-08 2019-09-24 Baidu Usa Llc Knowledge graph entity reconciler
US11392598B2 (en) * 2016-10-19 2022-07-19 Ebay Inc. Applying a quantitative range for qualitative terms
US10140286B2 (en) * 2017-02-22 2018-11-27 Google Llc Optimized graph traversal
US20190012405A1 (en) * 2017-07-10 2019-01-10 International Business Machines Corporation Unsupervised generation of knowledge learning graphs
US20190080245A1 (en) * 2017-09-08 2019-03-14 Niantic, Inc. Methods and Systems for Generation of a Knowledge Graph of an Object
US20200097615A1 (en) * 2018-09-20 2020-03-26 Microsoft Technology Licensing, Llc Difference-based comparisons in log-structured graph databases
KR20200042739A (ko) * 2018-10-16 2020-04-24 삼성전자주식회사 지식 그래프에 기초하여 콘텐트를 제공하는 시스템 및 방법
US11403328B2 (en) * 2019-03-08 2022-08-02 International Business Machines Corporation Linking and processing different knowledge graphs
US10679133B1 (en) * 2019-06-07 2020-06-09 Peritus.AI, Inc. Constructing and utilizing a knowledge graph for information technology infrastructure
KR20210033770A (ko) * 2019-09-19 2021-03-29 삼성전자주식회사 지식 그래프에 기초하여 콘텐트를 제공하는 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102522089B1 (ko) * 2022-02-04 2023-04-14 주식회사 에스투더블유 분산 그래프를 이용하여 통합 그래프 생성하는 방법
US12001482B2 (en) 2022-02-04 2024-06-04 S2W Inc. Method of generating integrated graph using distributed graph

Also Published As

Publication number Publication date
EP3973414A4 (en) 2022-06-22
EP3973414A1 (en) 2022-03-30
WO2021075729A1 (en) 2021-04-22
US11386064B2 (en) 2022-07-12
US20210117402A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
WO2021180062A1 (zh) 意图识别方法及电子设备
KR101674852B1 (ko) 클라이언트 디바이스 상의 애플리케이션들 관리
CN107209781B (zh) 使用自然语言的上下文搜索
JP6695092B2 (ja) デバイスがユーザ・インターフェースをディスプレイする方法及びそのデバイス
KR101645149B1 (ko) 데이터 동기화
KR102139662B1 (ko) 애플리케이션을 실행하는 방법 및 디바이스
KR20210045837A (ko) 지식 그래프를 업데이트하는 시스템 및 방법
US20130300546A1 (en) Remote control method and apparatus for terminals
KR20190011286A (ko) 음성 액션 검색 가능 시스템
KR102300415B1 (ko) 이동통신단말기의 음성메모에 기초한 이벤트실행 시스템, 그 단말기 제어서버 및 이동통신단말기 제어방법, 이동통신단말기 및 어플리케이션 실행방법
KR102089459B1 (ko) 무선 통신에 기반한 데이터 송수신 방법 및 장치
KR101995260B1 (ko) 앱 서비스 제공 방법 및 시스템
KR20210033770A (ko) 지식 그래프에 기초하여 콘텐트를 제공하는 방법 및 장치
WO2018031743A1 (en) Methods, systems, and media for presenting a user interface customized for a predicted user activity
JP2018174000A (ja) デバイスがユーザ・インターフェースをディスプレイする方法及びそのデバイス
KR20130033721A (ko) 휴대용 단말기의 컨텐츠 정보를 기반으로 하는 클립장치 및 방법
KR20190076870A (ko) 연락처 정보를 추천하는 방법 및 디바이스
US11340925B2 (en) Action recipes for a crowdsourced digital assistant system
CN113366520A (zh) 用于更新人工智能模型的电子设备、服务器及其操作方法
CN114117225A (zh) 图书推荐方法及图书推荐设备
US20200012688A1 (en) Method and device for retrieving content
KR102307349B1 (ko) 검색 장치 및 방법
Alti et al. Cloud semantic-based dynamic multimodal platform for building mHealth context-aware services
JP2019204287A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US11900926B2 (en) Dynamic expansion of acronyms in audio content