KR102131099B1 - 지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법 - Google Patents

지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법 Download PDF

Info

Publication number
KR102131099B1
KR102131099B1 KR1020150019445A KR20150019445A KR102131099B1 KR 102131099 B1 KR102131099 B1 KR 102131099B1 KR 1020150019445 A KR1020150019445 A KR 1020150019445A KR 20150019445 A KR20150019445 A KR 20150019445A KR 102131099 B1 KR102131099 B1 KR 102131099B1
Authority
KR
South Korea
Prior art keywords
cluster
electronic device
knowledge
user
knowledge graph
Prior art date
Application number
KR1020150019445A
Other languages
English (en)
Other versions
KR20150095577A (ko
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 EP15748455.1A priority Critical patent/EP3105668A4/en
Priority to US14/619,553 priority patent/US10140384B2/en
Priority to CN201580008712.0A priority patent/CN106030571B/zh
Priority to PCT/KR2015/001389 priority patent/WO2015122691A1/en
Publication of KR20150095577A publication Critical patent/KR20150095577A/ko
Priority to US16/181,990 priority patent/US10977311B2/en
Application granted granted Critical
Publication of KR102131099B1 publication Critical patent/KR102131099B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/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
    • 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/90324Query formulation using system suggestions
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • G06N5/025Extracting rules from data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Abstract

본 문헌의 실시예들은 제1 전자 장치의 UI(User Interface)의 하나 이상의 요소를 동적으로 수정하기 위한 방법 및 시스템을 설명한다. 그 방법은 제1 전자 장치에서 하나 이상의 데이터 소스의 사용 정보를 수집하는 단계를 포함한다. 더욱이, 그 방법은 하나 이상의 지식 클러스터로 수집된 사용 정보를 분류하는 단계를 포함한다. 게다가, 그 방법은 하나 이상의 지식 클러스터를 이용하여 지식 그래프를 형성하는 단계를 포함한다. 더욱이, 그 방법은 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하는 단계를 포함한다.

Description

지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법{Dynamically modifying elements of User Interface based on knowledge graph}
본 문헌의 실시예들은 지식 시스템에 관한 것으로, 보다 상세하게는, 지식 그래프에 기초한 사용자 인터페이스(UI: User Interface)의 하나 이상의 요소들을 동적으로 수정하는 메커니즘에 관한 것이다.
사용자의 지식은 끊임없이 네트워크상에서 정보를 교환하는 커뮤니티들 또는 지식 공급 대화형 포탈을 통해 사용자 상호작용으로 기하급수적으로 확장되고 있다. 다른 시스템들 및 방법들이 사용자의 지식 그래프를 유지하기 위하여 제안된다. 메커니즘에 있어서, 포괄적인 지식 그래프(generic knowledge-graph)의 형식에서 데이터는 원격 데이터베이스에 저장되며, 저장된 데이터는 사용자 전자 장치 상에서 쿼리를 제공하는 것에 의해 검색될(retrieved) 수 있다. 네트워크 내에서 쿼리에 기초하여 데이터를 식별하는 것은 네트워크 대역폭 사용을 증가시킬 수 있다. 식별된 데이터는 쿼리에 위치적으로 관련되지 않거나 또는 (예컨대, 위치와 같은) 현재 사용자 상황 및 사용자 지식을 고려하지 않는다. 더욱이, 원격 데이터베이스에 저장된 데이터는 관리자 또는 소유자와 같은 개체가 데이터를 수동으로 업데이트할 때까지 정적이거나, 또는 배치된 시스템으로부터 반-자동 지원을 가진다. 추가적으로, 지식 그래프 데이터는 사용자의 개인 정보가 아니라, 데이터는 일반적으로 전 세계 개체들에 관련된다.
다른 메커니즘에 있어서, 현재 지식 그래프는 개체(entity) 기반이다. 즉, 그들은 세계에서 개체들 간의 관계를 담아낸다. 종래의 분류 시스템에서, 관리 모델은 주제들 및 그 주제들의 토큰(token)들이 사용자에 의해 수동으로 업데이트되는 곳에 사용된다. 사용자는 분류를 위한 관리 모델들을 지속적으로 업데이트해야 한다(즉, 웹 페이지 분류). 더욱이, 종래의 방법 및 시스템은 관심과 지식을 구분하지 않을 수 있고, 사용자의 관심을 지식으로 전환할 때 측정을 가지지 않을 수 있다.
따라서 사용자의 지식 레벨을 담아내는 사용자의 지식 그래프를 자동으로 구성하기 위한 강건한 시스템 및 방법의 요구가 존재한다.
본 발명의 다양한 실시예에 따른 전자 장치 내에 구성되는 지식 그래프에 기초하여 전자 장치의 하나 이상의 UI 요소들을 동적으로 수정하는 방법 및 장치를 제공하는 것이다.
본 발명의 다양한 실시예는 사용자의 지식 레벨에 따라 사용자의 지식을 담아내는 사용자의 지식 그래프를 구성하는 메커니즘을 제공하는 것이다.
지식 기반 지원 네트워크(knowledge-based assistive network)에서 제1 전자 장치와 제2 전자 장치의 지식 그래프를 공유하는 메커니즘을 제공하기 위한 것이다.
사용자 관심 및 지식을 구분하기 위한 메커니즘을 제공하기 위한 것이다.
본 발명의 다양한 실시예에 따른 제1 전자 장치의 사용자 인터페이스(UI: User Interface)의 하나 이상의 요소를 동적으로 수정하기 위한 방법을 제공한다. 상기 방법은 상기 제1 전자 장치에서 적어도 하나의 데이터 소스의 사용 정보를 수집하는 단계를 포함한다. 더욱이, 상기 방법은 상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하는 단계를 포함한다. 게다가, 상기 방법은 상기 적어도 하나의 지식 클러스터를 이용하여 지식 그래프를 형성하는 단계를 포함한다. 더욱이, 상기 방법은 상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하는 단계를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 제1 전자 장치의 사용자 인터페이스(UI: User Interface)의 적어도 하나의 요소를 동적으로 수정하기 위한 시스템을 제공한다. 상기 시스템은 상기 제1 전자 장치에서 적어도 하나의 데이터 소스의 사용 정보를 수집하는 단계를 수행하도록 구성된다. 더욱이, 상기 시스템은 적어도 하나의 지식 클러스터로 상기 수집된 사용 정보를 분류하는 단계를 수행하도록 구성된다. 또한, 상기 시스템은 상기 적어도 하나의 지식 클러스터를 이용하여 지식 그래프를 형성하는 단계를 수행하도록 구성된다. 더욱이, 상기 시스템은 상기 지식 그래프에 기초한 상기 UI의 상기 적어도 하나의 요소를 동적으로 수정하는 단계를 수행하도록 구성될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 전자 장치에 있어서, 통신 모듈; 사용자 인터페이스(이하, UI)를 표시할 수 있는 디스플레이; 사용자 터치 입력을 수신할 수 있는 터치 감응 장치; 및 프로세서를 포함하며, 상기 프로세서는 상기 전자 장치에서 적어도 하나의 데이터 소스의 사용 정보를 수집하고, 상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하며, 상기 적어도 하나의 지식 클러스터를 이용하여 지식 그래프를 형성하고, 상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정할 수 있다.
본 발명이 첨부 도면에 도시되며, 도면 전체를 통해 같은 참조 문자는 다양한 도면에서 대응하는 부분을 나타낸다. 개시된 실시예들은 도면을 참조한 다음의 설명으로부터 더 잘 이해될 것이다.
도 1a 및 도 1b는 여기에 개시된 실시예들에 따라 제1 전자 장치(102)의 UI(User Interface)의 하나 이상의 요소들을 동적으로 수정하기 위한 시스템의 상위 레벨의 개요를 일반적으로 도시한다.
도 2는 여기에 개시된 실시예들에 따라 사용자와 관련된 사용 정보를 동적으로 수집하기 위한 제1 전자 장치 또는 제2 전자 장치에서 하나 이상의 데이터 소스들을 포함하는 시스템의 다른 가능한 구현을 도시한다.
도 3은 여기에 개시된 실시예들에 따라 사용자 지식 그래프에 기초한 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 제1 전자 장치 또는 제2 전자 장치의 다양한 모듈들을 도시한다.
도 4는 여기에 개시된 실시예들에 따라 지식 그래프에 기초한 전자 장치의 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 방법을 도시하는 흐름도이다.
도 5는 여기에 개시된 실시예들에 따른 클러스터 모듈의 다양한 컴포넌트들을 도시한다.
도 6은 여기에 개시된 실시예들에 따른 클러스터를 라벨링하기 위한 방법을 도시하는 흐름도이다.
도 7은 여기에 개시된 실시예들에 따른 제1 전자 장치 또는 제2 전자 장치에서 지식 그래프를 동적으로 수정하기 위한 방법을 도시하는 흐름도이다.
도 8은 여기에 개시된 실시예들에 따라 제1 전자 장치 또는 제2 전자 장치에 저장된 지식 그래프의 포괄적인 표현을 도시한다.
도 9는 여기에 개시된 실시예들에 따른 하나 이상의 도메인들에서 제1 사용자 지식과 관련된 제1 전자 장치에서 지식 그래프를 표현하는 예시적인 도면을 나타낸다.
도 10a 및 도 10b는 여기에 개시된 실시예들에 따라 제1 전자 장치에 저장된 지식 그래프 및 제2 전자 장치에 저장된 지식 그래프와 관련된 정보의 차이를 판단하는 다른 예시적인 도면이다.
도 11은 여기에 개시된 실시예들에 따라 제1 전자 장치 상에서 데이터를 브라우징하는 동안 제1 사용자의 묵시적 의도를 판단하는 예시적인 도면이다.
도 12a 및 도 12b는 여기에 개시된 실시예들에 따라 어플리케이션과 관련된 검색 쿼리에 기초하여 사용자의 사회적 관계망(social circles)에서 전문가를 결정하기 위한 예시적인 도면을 보인다.
도 13은 여기에 개시된 실시예들에 따라 제1 전자 장치의 제1 사용자에 의해 브라우징된 URL(Uniform Resource Locator)을 동적으로 수정하기 위한 예시적인 도면을 도시한다.
도 14는 여기에 개시된 실시예들에 따라 제1 사용자의 제1 전자 장치에 의해 오픈 탭을 동적으로 수정하기 위한 예시적인 도면이다.
도 15a 및 도 15b는 여기에 개시된 실시예들에 따라 사용자의 의도를 지원하기 위하여 제2 전자 장치와 관련된 하나 이상의 전문가들을 표시하고 사용자의 의도를 결정하는 예시적인 도면이다.
도 16은 여기에 개시된 실시예들에 따라 사용자 지식 그래프에 기초하여 전자 장치의 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 방법 및 시스템을 구현하는 컴퓨팅 환경을 도시한다.
여기에 개시된 실시예들 및 다양한 특징들과 세부사항들은 첨부된 도면들에 도시되고 다음의 설명에서 상세하게 설명되는 비제한적인 실시예들을 참조하여 보다 상세하게 설명된다. 잘 알려진 컴포넌트들 및 프로세싱 기술들의 설명은 개시된 실시예들을 불필요하게 모호하게 하지 않기 위하여 생략된다. 또한, 일부 실시예들이 새로운 실시예를 형성하기 위하여 하나 이상의 다른 실시예들과 조합될 수 있기 때문에, 여기에 설명된 다양한 실시예들은 상호 배타적일 필요는 없다. 여기에 사용되는 용어 “또는(or)”은 다르게 지시되지 않는 한, 배타적이지 않은 또는(non-exclusive or)을 나타낸다. 여기에 사용되는 예들은 단지 여기에 개시된 실시예들이 실행될 수 있는 방법들의 이해를 용이하게 하고, 더 나아가 본 기술 분야에서 통상의 지식을 가진 자가 여기에 개시된 실시예들을 실행할 수 있도록 하기 위한 것이다. 따라서 그 예들은 여기에 개시된 실시예들의 범위를 제한하는 것으로 해석되어서는 안 된다.
본 실시예들을 상세하게 설명하기에 앞서, 여기에서 사용되는 주요 용어들 및 개념들에 대한 정의를 제공하는 것이 유용할 것이다. 별도로 정의된 것이 없으면, 여기에서 사용되는 모든 기술적이고 과학적인 용어들은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 바와 동일한 의미를 가진다.
지식 기반 지원 네트워크(Knowledge-based assistive network)는 사용자가 효과적인 결정을 하도록 돕기 위한 데이터를 사용자가 검색하도록 돕는 네트워크를 나타낸다. 지원 네트워크는 각 전자 장치에 지역적으로 저장된 그들의 지식 그래프에 따라 하나 이상의 전자 장치들을 포함한다. 각 전자 장치는 노드를 나타내며, 상호간에 연결되어 지식 기반 지원 네트워크를 형성한다. 더욱이, 지원 네트워크는 사용자가 의도를 제공하도록 하고, 브로커 서버(broker server)의 사용을 통한 피어 투 피어(peer-to-peer) 또는 포인트 투 포인트(point-to-point)가 지역 쿼리를 이용하는 것을 기반으로 하나 이상의 전자 장치들에 걸친 지식 기반 검색을 하도록 허용한다. 피어 투 피어 또는 포인트 투 포인트 지식 기반 검색은 지원 네트워크 내의 각 전자 장치에 유효한 지식 데이터 및 사용자의 의도 간의 시맨틱 유사도(semantic similarity)를 연산하는 것에 의해 구현된다.
지식 클러스터(Knowledge cluster)는 전자 장치 상에 표시될 수 있는 관심의 주제 또는 도메인 지식과 관련된 정보를 나타낸다. 지식 클러스터는 사용자가 그것을 인지하거나 그에 관한 지식을 가지는 도메인(들)을 나타내는 하나 이상의 주제들로 분류될 수 있다. 예를 들면, 사용자는 재임 중의 정치(politics in office) 및 영화 속의 정치(politics in Bollywood)에 대한 지식을 가지고 있다. 그러면, “정치”로서의 지식 클러스터는 “재임 중의 정치” 및 “영화 속의 정치”와 같은 다른 주제들로 분류되어 생성될 수 있다. 하나의 실시예에서, 지식 클러스터는 예컨대, 사람, 회사, 개체(entity) 등과 관련될 수 있다.
지식 그래프(Knowledge graph)는 시각적으로 관심을 끄는 그래프적인 설명을 이용하여 표현될 수 있는 지식 베이스(knowledge base)를 나타낸다. 지식 그래프는 전자 장치에서 노드, 지식, 클러스터, 주제, 하부주제, 키워드의 형식으로 정보를 조직한다. 지식 그래프에서 클러스터 또는 노드는 이에 제한되지는 않지만, 예컨대, 포괄적인 주제, 특정 주제, 장소, 조직, 스포츠, 팀, 일, 영화 등과 같은 적어도 하나의 도메인에서 개별적인 지식을 표현한다. 예를 들면, 사용자가 정치, 지적 재산권 등에 관한 지식을 가지고 있으면, “정치” 및 “지적 재산권” 클러스터가 생성될 수 있다. “정치” 클러스터는 사용자가 지식을 인지하는 주제들을 나타내는 “재임 중의 정치” 및 “영화 속의 정치”와 같은 다양한 주제들을 포함할 수 있다. 마찬가지로, “지적 재산권” 클러스터는 “특허”, “상표”, 및 “저작권”과 같은 주제들을 포함할 수 있다.
지역 쿼리(Localized query)는 개별 지식 그래프에서 데이터를 지역적으로 검색하기 위하여 지식 기반 지원 네트워크에서 이용할 수 있게 연결되는 각 전자 장치로 개별적으로 혹은 분리되어 전송되거나 하나 이상의 전자 장치들로부터 수신되는 의도 또는 지시 클러스터 정의에 기초하여 서버 상에서 구성되는 쿼리를 나타낸다.
의도(Intent)는 전자 장치 상에서 행위(activity)를 수행하는 것에 의하여 전자 장치에서 사용자가 찾는 관심의 주제를 나타낸다. 의도는 어플리케이션 상에서 하나 이상의 행위를 수행하는 것에 의해 전자 장치에서 사용자에 의해 묵시적 또는 명시적으로 특정될 수 있다.
행위(Activity)는 데이터 소스 상에서 수행되는 임의의 사용자의 행위를 나타낸다. 사용자 행위의 전형적인 예는 이에 한정되는 것은 아니지만, 예컨대, 브라우징, 검색 쿼리 타이핑, 키워드 선택, 코멘팅(commenting), 좋아요 선택(liking), 포스팅(posting), 공유, 저장 등을 포함할 수 있다.
워드 벡터(Word vector)는 주제의 상황 하에서 콘텐츠의 정도 및 방향을 나타낸다. 한 가지 실시예에 있어서, 워드 벡터는 지식 그래프에서 식별되는 키워드에 기초한 주제의 상황 및 동일한 주제의 콘텐트 간에 상관을 사용할 수 있다.
토큰(Token)은 데이터 소스 또는 지식 그래프에서 다양한 주제, 키워드 등을 식별하는 고유의 식별자를 나타낸다.
시맨틱 유사도(Semantic similarity)는 데이터 소스들로부터 추출된 사용 정보의 시맨틱 상관도를 결정하기 위하여 데이터 소스에서 키워드, 주제를 분석한 것을 나타낸다. 한 가지 실시예에 있어서, 여기에 설명된 데이터 소스는 전자 장치에서 구동되는 임의의 어플리케이션 또는 아이템들이 저장될 수 있다. 예를 들면, 데이터 소스는 SMS(Short Messaging Service), 통화 기록 어플리케이션, 사용자 문서, 브라우저 어플리케이션, 통화 어플리케이션, 하나 이상의 사회적 네트워크 서비스 어플리케이션들 등이 될 수 있다.
개시된 실시예들은 제1 전자 장치의 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 방법 및 시스템을 이루어낸다. 방법은 제1 전자 장치에서 하나 이상의 데이터 소스들의 사용 정보를 수집하는 단계를 포함한다. 더욱이, 그 방법은 수집된 사용 정보를 하나 이상의 지식 클러스터들로 분류하는 단계를 더 포함한다.
한 가지 실시예에 있어서, 수집된 사용 정보를 지식 클러스터들로 분류하는 단계는 제1 전자 장치에서 각 데이터 소스로부터 수집된 사용 정보로부터 시맨틱 콘텐츠를 추출하는 단계를 포함한다. 한 가지 실시예에 있어서, 시맨틱 콘텐츠는 워드 벡터 또는 구조 데이터 또는 주제 또는 토큰을 포함한다. 토큰은 예컨대 이에 한정되는 것은 아니지만, 키워드, URL(Uniform Resource Locator) 등이 될 수 있다. 추출된 시맨틱 콘텐츠는 수집된 사용 정보를 점증 모델(incremental model)을 이용하여 지식 클러스터로 분류되도록 매핑된다.
더욱이, 상기 방법은 지식 그래프를 형성하기 위하여 지식 클러스터를 연관시키는 단계를 포함한다. 종래의 시스템과 달리, 지식 그래프는 제1 전자 장치를 지역적으로 저장할 수 있다. 게다가, 상기 방법은 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하는 단계를 포함한다. 더욱이, 상기 방법은 제1 전자 장치에서 데이터 소스의 사용 정보를 빈번하게 모니터링 하는 단계를 포함한다. 모니터링 결과에 기초하여, 지식 클러스터는 예컨대, 지식 클러스터에 시맨틱 콘텐츠를 추가하거나, 지식 클러스터를 분할하거나, 지식 클러스터를 병합하는 등을 통하여 업데이트될 수 있다.
본 문헌에서 설명되는 방법 및 시스템은 사용자 지식 그래프에 기초한 UI의 하나 이상의 요소들을 자동으로 수정하는 것에 대하여 간단하고 강건하다.
종래의 시스템에서, 사용자의 관심 및 지식은 효과적으로 구분되지 않을 수 있고, 언제 사용자의 관심이 지식으로 전환되는지를 모니터링하고 측정하는 메커니즘을 가지고 있지 않을 수 있다. 사용자의 정적인 정보를 포함하는 일반적인 지식 그래프는 생성되고 유지되며, 지도 학습 모델(supervised learning models)을 이용하여 서버에서 완전하게 남아 있다. 여기서, 모든 사용자는 이에 접속할 수 있다. LDA(Latent Dirichlet Allocation)를 이용하여 그리고 오픈 소스 데이터를 이용하여 생성된 훈련 모델(trained model)이 먼저 생성되고, 주제에 각각 대응하는 제1 세트의 모델이 라벨링된다. 그런 다음, 이 모델은 사용자 문서로부터 추출된 관심 벡터에 대조되어 프로세스에 매칭하는 것에 사용된다. 추출된 사용자 관심에 기초하여, 생성된 초기 세트의 모델이 또한 업데이트된다. 따라서 충분한 시간이 흐르면서 그 사용자의 관심을 보다 반영하기 시작하고 사용자에 대하여 정교하게 조율한다. 종래 시스템과 달리, 개별 지식 그래프는 생성되고, 유지되며 그리고 개별 전자 장치 자체에서 지역적으로 완전하게 저장된다. 정적 관심과 마찬가지로 개별 동적 관심은 개별 지식 그래프를 생성하는 데에 사용된다. 더욱이, 데이터는 벡터를 이용하여 클러스터링 되고, 주제 모델을 구축하는 데에 사용된다. 여기서, 각 주제 모델의 가중치는 주제 그래프의 크기를 결정하여 연산될 수 있다. 이 정보는 적응하기 위하여 어플리케이션에 의해 사용될 수 있다. 예를 들면, 카메라 UI는 사용자가 사진에 관해 배울 때, 제어 설정, 조명 측량, 셔터 스피드, 파라미터 촬영 등에 관한 지식의 사용자 레벨에 기초로 사용자에게 그 자체를 적응한다. 그렇지 않으면, 카메라 UI는 사용자에게 기본 설정을 제공한다. 지식 그래프는 전자 장치 제체에서 지역적으로 생성되고 유지될 수 있기 때문에, 제안된 시스템 및 방법은 사용자 데이터의 사생활을 유지하기 위하여 사용될 수 있다.
일반적으로, 사용자의 지식 그래프는 주제에 기초하여 (브라우징, 사회적 채팅, SMS(Short Messaging Service) 등을 통해) 사용자의 이해를 동적으로 성장시킨다. 예를 들면, 사용자가 뉴스 카테고리 및 스포츠 카테고리에 속한 하나 이상의 URL(uniform resource locators)를 브라우징하는 시나리오를 고려하라. 대안적으로, 사용자의 전자 장치에서 미리 로드된 클러스터 모델(즉, 뉴스 클러스터 및 스포츠 클러스터)은 사용자가 클러스터 프로세스를 시작하기 위하여 브라우징한 (또는 브라우징하고 있는) URL의 매핑을 시작하는 데에 사용된다. 사용자의 브라우징된 (또는 브라우징하고 있는) URL은 예컨대, 지식 그래프에 기초한 브라우저의 UI 요소를 동적으로 수정하는 것과 같이, 점증 모델링을 이용하여 뉴스 클러스터 및 스포츠 클러스터에 매핑될 수 있다.
“제1” 및 “제2”와 같은 라벨들은 단지 실시예들을 설명하기 위하여 사용되는 것이며, 본 발명의 범위를 한정하기 위한 것이 아니다.
이제 도면을 참조하면, 보다 상세히 도 1 내지 도 16을 참조하면, 바람직한 실시예들이 도시된다. 여기서, 유사한 참조 번호는 도면들을 통해 고려되는 대응하는 특징들을 나타낸다.
도 1a 및 도 1b는 여기에 개시된 실시예들에 따라 제1 전자 장치(102)의 UI(User Interface)의 하나 이상의 요소들을 동적으로 수정하기 위한 시스템의 상위 레벨의 개요를 일반적으로 도시한다. 한 가지 실시예에 있어서, 시스템(100)은 제1 전자 장치(102), 하나 이상의 제2 전자 장치(1041-N)(이하에서, 제2 전자 장치(104)로 나타냄) 및 지식 기반 지원 네트워크(106)를 포함한다. 제1 전자 장치(102) 또는 제2 전자 장치(104)는 예를 들면, 모바일 폰, 스마트 폰, PDA(Personal Digital Assistant), 태블릿, 패블릿(phablet), 컴퓨터, 통신기 또는 임의의 다른 전자 장치가 될 수 있고, 이에 한정되는 것은 아니다.
각 전자 장치는 지식 그래프(108)를 포함할 수 있다. 한 가지 실시예에 있어서, 지식 그래프(108)는 클러스터(즉, 노드), 주제, 서브 주제 및 키워드를 포함하는 그래프의 형식에서 전자 장치와 관련된 각 사용자의 정보를 표현한다. 하나 이상의 제2 전자 장치(1041-N)는 하나 이상의 지식 그래프(1101-N)를 포함한다(이하에서, 지식 그래프(110)로 나타냄). 지식 그래프(110)는 제2 전자 장치(104)와 관련된 제2 사용자의 정보를 나타낸다.
제1 전자 장치(102) 또는 제2 전자 장치(104)는 사용자와 관련된 하나 이상의 데이터 소스의 사용 정보를 동적으로 수집하도록 구성될 수 있다. 예를 들면, 제1 전자 장치(102)는 제1 사용자와 관련된 데이터 소스의 사용 정보를 동적으로 수집한다. 다른 예에 있어서, 제2 전자 장치(104)는 제2 사용자와 관련된 데이터 소스의 사용 정보를 동적으로 수집한다. 한 가지 실시예에 있어서, 데이터 소스는 SMS(Short Messaging Service) 어플리케이션, 통화 기록 어플리케이션, 사용자 문서, 블로그, 브라우저 어플리케이션, 브라우징 행위 정보, 채팅 어플리케이션 및 SNS(Social Networking Site) 소스를 포함할 수 있다. 한 가지 실시예에 있어서, 사용자 정보는 예컨대, 이에 한정되는 것은 아니지만, 데이터 소스로부터 동적으로 수집된 브라우징 히스토리, SNS 정보, 어플리케이션 사용 데이터를 포함할 수 있다. 다른 실시예에 있어서, 사용자의 사용 정보는 예를 들면, 사용자에 의해 방문된 웹페이지 URL들, 사용자에 의해 전송된 이메일들, 사용자에 의해 수신된 이메일들, 사용자에 의해 전송된 텍스트 메시지들, 사용자에 의해 수신된 텍스트 메시지들, 사용자에 의해 보여진 문서들, 사용자에 의해 편집된 문서들, 사용자에 의해 전송된 인스턴트 메시지들, 사용자에 의해 수신된 인스턴트 메시지들, 사용자-장치 간의 상호작용 데이터들, 사용자의 동적 상황 정보 등을 포함한다. 제1 전자 장치(102) 또는 제2 전자 장치(104)와 관련된 데이터 소스들의 세부사항은 도 2와 함께 설명된다.
제1 전자 장치(102) 또는 제2 전자 장치(104)는 하나 이상의 지식 클러스터로 수집된 사용 정보를 분류한다. 제1 전자 장치(102) 또는 제2 전자 장치(104)는 지식 그래프를 형성하기 위하여 각 지식 클러스터를 연관시키며, 이는 제1 전자 장치(102) 또는 제2 전자 장치(104) 자체에 지역적으로 저장될 수 있다. 지식 그래프에 기초하여, 제1 전자 장치(102) 또는 제2 전자 장치(104)의 UI는 동적으로 수정될 수 있다.
한 가지 실시예에 있어서, 제1 전자 장치(102)와 관련된 제1 사용자의 지식 그래프는 네트워크(106)를 통해 제2 전자 장치(104)와 공유될 수 있다. 다른 실시예에 있어서, 제2 전자 장치(104)와 관련된 제2 사용자의 지식 그래프는 제1 전자 장치(102)와 공유될 수 있다. 예를 들면, 아버지의 선택 지식 클러스터는 안전 브라우징을 위하여 딸의 전자 장치와 공유될 수 있다. 더욱이, 제1 전자 장치(102) 또는 제2 전자 장치(104)는 지식 기반 지원 네트워크(106) 상에서 다양한 다른 장치들과 직접 또는 간접으로 통신하기 위한 적합한 인터페이스를 포함할 수 있다.
본 문헌에서 설명된 지식 기반 지원 네트워크(106)는 예를 들면, 이에 한정되는 것은 아니지만, 인터넷, 전용 네트워크(private network), GSM(Global System for Mobile communications) 네트워크, GPRS(General Packet Radio Service), LAN(Local Area Network), WAN(Wide Area Network), MAN(Metropolitan Area Network), 셀룰러 네트워크, PSTN(Public Switched Telephone Network), PAN(Personal Area Network), 그들의 조합, 또는 임의의 다른 네트워크와 같은, 공용 네트워크, 유선 라인 네트워크, 무선 네트워크가 될 수 있다.
더욱이, 제1 전자 장치(102) 또는 제2 전자 장치(104)는 데이터 소스의 사용 정보를 빈번하게 모니터링 되도록 구성될 수 있다. 사용 정보에서 임의의 업데이트가 검출되는 것이 결정되면, 지식 클러스터는 점증 모델을 이용하여 시맨틱 콘텐츠를 추가하거나, 지식 클러스터를 분할하거나, 지식 클러스터를 병합하는 것에 의해 업데이트된다. 예를 들면, 지식 클러스터의 업데이트는 사용 정보가 이용할 수 있을 때, 점증적으로 및/또는 주기적으로(예를 들면, 모든 N 수의 시간, 매일, 매주) 수행될 수 있다.
더욱이, 도 1b에서 도시된 바와 같이, 시스템(100)은 제1 전자 장치(102), 하나 이상의 제2 전자 장치(1041-N)(이하에서, 제2 전자 장치(104)로 나타냄), 지식 기반 지원 네트워크(106) 및 서버(112)를 포함할 수 있다. 또한, 본 문헌에 설명된 실시예들은 본 발명의 범위로부터 벗어남이 없이 서버(112)의 도움으로 수행될 수 있다. 서버(112)는 장치들 양자 모두가 무감독 지식 클러스터(unsupervised knowledge clusters)를 위한 동일한 정의 및 동일한 라벨을 가질 수 있기 위하여 제1 전자 장치(102) 및 제2 전자 장치(104) 간의 무감독 지식 클러스터를 동기화하는 데에 사용된다.
한 가지 실시예에 있어서, 서버(112)는 제1 전자 장치(102) 및 제2 전자 장치(104)로부터 무감독 지식 클러스터 정의(즉, 토큰의 워드 벡터)를 수신한다. 한 가지 실시예에 있어서, 서버(112)는 하나 이상의 전자 장치로부터 무감독 지식 클러스터를 수신할 수 있다. 무감독 지식 클러스터 정의를 수신하면, 서버(112)는 유사한 지식 클러스터 정의를 비교하고, 지식 클러스터로 단일 레벨을 할당한다. 더욱이, 서버(112)는 제1 전자 장치(102) 및 제2 전자 장치(104)에 할당된 단일 라벨을 전송하고, 그렇게 함으로써, 지식 클러스터의 라벨이 동기화된다. 종래의 시스템과 달리, 이는 사용자가 지식 클러스터 라벨을 수동으로 업데이트하는 것을 방지한다. 예를 들면, 서버(112)가 제1 전자 장치(102)로부터 무감독 지식 클러스터 정의 “IPL in Bollywood” 및 제2 전자 장치(104)로부터 무감독 지식 클러스터 정의 “IPL of star heroes”를 수신하는 시나리오를 고려한다. 서버(112)는 지식 클러스터 정의 “IPL in Bollywood” 및 지식 클러스터 정의 “IPL of star heroes”를 비교하고, “IPL”로 공통 라벨을 할당한다. 서버(112)는 제1 전자 장치(102) 및 제2 전자 장치(104)로 단일 라벨 “IPL”을 전송한다. 공통 라벨 “IPL”을 수신하면, 제1 전자 장치(102)는 단일 라벨 “IPL”로 무감독 지식 클러스터 정의 “IPL in Bollywood”을 대체하며, 제2 전자 장치(104)는 단일 라벨 "IPL"로 무감독 지식 클러스터 정의 “IPL of star heroes”를 대체한다. 이에 따라, 제1 전자 장치(102) 및 제2 전자 장치(104)의 무감독 지식 클러스터 정의는 서버(112)를 이용하여 동기화된다.
다른 실시예에 있어서, 새로운 데이터를 위한 주제 또는 클러스터는 모든 전자 장치에서 클러스터 라벨을 동기화하는 서버(112)를 이용하여 클러스터 및 라벨을 식별하고, 동기화한다. 그렇게 함으로써, 클러스터들을 위한 균일한 어휘 및 균일한 정의를 유지한다. 장치 관리자(미도시)는 각 클러스터가 “숙성(matures)”될 때, 즉, 새로운 또는 유사한 URL들은 (즉, (클러스터로부터 이동되지 않은) 라벨 및 기존의 URL들에서) 임의의 수정을 겪게 되는 클러스터 없는 클러스터에 매핑될 때, 형성된 클러스터들의 트랙을 유지하고, 결정한다. 각 클러스터는 (오직 사용자 장치 내에서 해결할 수 있는) 고유한 ID가 주어진다. 장치 관리자는 서버(112)로 주제 벡터의 세트와 더불어, 클러스터를 정의하는 ID, 라벨, 중요한 URL 벡터 패턴에 따라 클러스터의 연속된 버전을 전송한다. 서버(112)는 장치 및 클러스터 패턴 간의 주제 벡터의 공동 비교를 수행한다. 유사 패턴을 가지는 클러스터는 동일한 라벨이 주어지고, 장치 내에서 해결(resolution)을 위한 클러스터 ID를 가지는 장치로 전송된다. 일부 경우에 있어서, 서버(112)는 또한 전자 장치로 공통 벡터 리스트를 전송하여 워드 벡터를 수정하도록 요청할 수 있다. 서버(112)는 주제 벡터 리스트, 클러스터 정의(벡터 리스트의 패턴) 및 클러스터 라벨을 유지한다. 따라서 장치에서 클러스터 형성의 성숙 레벨(maturity levels)에 기초하여, 서버(112)는 수렴될 수 있고, 동적인 동기화된 보편적인 모델(universal model)을 구성한다.
다른 실시예에 있어서, 서버(112)는 유사한 제1 전자 장치(102)와 관련된 제1 사용자와 근접성에서 하나 이상의 사용자들을 결정하도록 구성될 수 있다. 제1 사용자는 제1 전자 장치(102)를 이용하여 서버(112)로 쿼리 또는 벡터를 전송한다. 예를 들면, 기계류에 관심 있는 제1 사용자 근처 사용자들을 결정하기 위하여, 주제 “기계류”의 벡터는 서버(112)로 전송된다. 서버(112)는 쿼리 “기계류”를 전송한 제1 사용자 근처의 가상-경계(geo-fence)를 생성한다. 서버(112)는 (즉, 제1 전자 장치(102) 근처 50 미터 내) 근접한 사용자를 결정하고, 근접한 제2 전자 장치(104)로 쿼리를 전송한다. 쿼리를 수신하면, 각 제2 전자 장치(104)는 저장된 지식 클러스터와 쿼리를 비교한다. 충분한 매치를 가지는 제2 전자 장치(104)와 관련된 임의의 제2 사용자가 결정되면, 통지(notification)는 서버(112)를 통해 제1 전자 장치(102)로 전송된다. 여기서, 서버(112)는 제2 전자 장치(104)를 수용하고 제1 사용자의 프로파일 데이터는 제2 전자 장치(104)와 공유하지 않는다. 제2 전자 장치(104)의 리스트는 제1 전자 장치(102)의 UI 상에 표시된다.
도 1a 및 도 1b는 시스템(100)의 한정된 개요를 보인다. 하지만, 다른 실시예들이 이에 한정되는 것은 아님을 이해하여야 한다. 더욱이, 시스템(100)은 상호 간에 통신하는 다른 하드웨어 또는 소프트웨어 컴포넌트와 함께 임의의 수의 전자 장치 및 서버를 포함할 수 있다. 예를 들면, 컴포넌트는 이에 한정되는 것은 아니지만, 제어기 또는 프로세서에서 구동되는 프로세스, 객체, 실행 프로세스, 실행의 스레드, 프로그램 또는 컴퓨터가 될 수 있다. 예로써, 장치에서 구동되는 어플리케이션 및 장치 자체 양자 모두는 컴포넌트가 될 수 있다.
도 2는 여기에 개시된 실시예들에 따라 사용자와 관련된 사용 정보를 동적으로 수집하기 위한 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 하나 이상의 데이터 소스(202)들을 포함하는 시스템(200)의 다른 가능한 구현을 도시한다. 한 가지 실시예에 있어서, 시스템(200)은 제1 전자 장치(102)와 제2 전자 장치(104) 그리고 하나 이상의 데이터 소스(202)를 포함한다. 데이터 소스(202)는 SMS(Short Messaging Service) 어플리케이션(204), 통화 기록 어플리케이션(206), 사용자 문서(208), 브라우저 어플리케이션(210), 통화 어플리케이션(212) 및 하나 이상의 SNS 소스(2141-N)(이하, SNS 소스(214)로 나타냄)를 포함할 수 있다. 한 가지 실시예에 있어서, SNS 소스(214)는 예를 들면, 이에 한정되는 것은 아니지만, 이미지 어플리케이션, 팬 팔로잉 페이지 어플리케이션, 채팅 어플리케이션, 메신저 어플리케이션, 사용자 이벤트 데이터, 달력 데이터, 사용자 개인정보 보호 정책 데이터, 미디어 데이터(예컨대, 사진 또는 비디오 클립) 등을 포함할 수 있다.
제1 전자 장치(102)는 제1 사용자와 관련된 하나 이상의 데이터 소스들의 사용 정보를 동적으로 수집한다. 제2 전자 장치(104)는 제2 사용자와 관련된 하나 이상의 데이터 소스들의 사용 정보를 동적으로 수집한다. 더욱이, 제1 사용자의 사용 정보는 제1 전자 장치(102)에서 미리 결정된 양의 시간 마다 동적으로 업데이트될 수 있다. 제2 사용자의 사용 정보는 제2 전자 장치(104)에서 미리 결정된 양의 시간 마다 동적으로 업데이트될 것이다. 한 가지 실시예에 있어서, 사용 정보는 예를 들면, 이에 한정되는 것은 아니지만, 브라우저 데이터 또는 브라우저 행위 정보가 될 수 있다. 브라우저 데이터는 예를 들면, 이에 한정되는 것은 아니지만, 임의의 어플리케이션과 관련된 히스토리 데이터, 임의의 오픈 탭 데이터(open tabs data), 임의의 SMS 히스토리 데이터, 이메일 데이터, SNS 데이터 등이 될 수 있다. 종래의 시스템과 달리, 데이터 소스(202)로부터의 제1 사용자 및 제2 사용자의 사용 정보는 동적으로 결정될 수 있다. 그렇게 함으로써, 하나 이상의 지식 클러스터로 수집된 사용 정보를 자동으로 분류한다.
도 3은 여기에 개시된 실시예들에 따라 사용자 지식 그래프에 기초한 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 제1 전자 장치(102) 또는 제2 전자 장치(104)의 다양한 모듈을 도시한다. 한 가지 실시예에 있어서, 제1 전자 장치(102) 또는 제2 전자 장치(104)는 데이터 분석 모듈(302), 시맨틱 분석 모듈(304), 클러스터 모듈(306), 지식 그래프 모듈(308), UI 모듈(310), 제어 모듈(312), 스토리지 모듈(314) 및 통신 모듈(316)을 포함한다.
데이터 분석 모듈(302)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 하나 이상의 데이터 소스(202)의 사용 정보를 수집하도록 구성될 수 있다. 한 가지 실시예에 있어서, 브라우저 URL 히스토리, 브라우저 웹 페이지, 브라우저 피드, 사회적 네트워크 업데이트 등과 같은 사용자의 히스토리 데이터는 다양한 어플리케이션에 저장된다. 데이터 분석 모듈(302)은 데이터 소스(202)의 수집된 사용 정보로부터 내장된 광고, 반복된 컨텐츠(예를 들면, 모든 웹페이지에서 반복되는 뉴스 웹 페이지들에서의 헤드라인)를 제거하도록 구성될 수 있다. 데이터 분석 모듈(302)은 데이터 소스(202)에서 내장된 링크들과 관련된 데이터를 수집하도록 구성될 수 있다. 게다가, 임의의 사회적 피드(social feed)의 메타데이터에 언급된 어떤 이미지도 존재하지 않으면, 데이터 분석 모듈(302)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에 형성된 주제를 그리기 위하여 내장된 링크로부터 주요 기사와 함께 주요 이미지를 추출한다.
데이터 분석 모듈(302)은 시맨틱 분석 모듈(304)로 수집된 정보를 전송하도록 구성될 수 있다. 수집된 정보를 수신하면, 시맨틱 분석 모듈(304)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 각 데이터 소스(202)의 수집된 사용 정보로부터 시맨틱 콘텐츠를 추출한다. 한 가지 실시예에 있어서, 시맨틱 콘텐츠는 예를 들면, 이에 한정되는 것은 아니지만, 워드 벡터 또는 구조화된 데이터 또는 주제 또는 토큰 등을 포함한다. 한 가지 실시예에 있어서, 시맨틱 분석 모듈(304)은 각 데이터 소스(202)로부터 추출된 문서에서 제공되는 주제 워드 벡터를 추출한다. 수정된 버전이 추출된 워드가 웹페이지 내에서 제공되는 (LDA 정제를 위한) 주제 모델의 세밀한 단위(fine grained)의 리스트를 얻기 위하여, 일부 기존 또는 미리 로드된 웹 컨텐츠를 가지는 (클리닝(cleaning) 및 모폴로지(morphology) 이후) 웹 컨텐츠로부터 추출된 단어들이 조합되는 것에 사용된다. 더욱이, 웹 페이지 내에서 제공되는 각 주제를 설명하는 워드 벡터의 리스트가 표시된다. 게다가, 각 워드 벡터 내에서 제공되는 키워드(키워드의 세트)를 이용하는 인덱싱 모듈이 웹 페이지에서 각 주체의 존재를 식별하기 위하여 사용된다. 이는 웹 페이지 내의 대응하는 위치 식별자를 가지는 워드 벡터의 세트를 나타내는 인덱스를 형성할 수 있다. 이 인덱스는 사용자가 웹 페이지의 개별 위치에서 브라우징 하는 특정 주제에 관한 정보를 줄 수 있다.
시맨틱 분석 모듈(304)은 추출된 시맨틱 콘텐츠를 클러스터 모듈(306)로 전송한다. 추출된 시맨틱 콘텐츠를 수신하면, 클러스터 모듈(306)은 점증 모델을 이용하여 지식 클러스터로 수집된 사용 정보를 분류하기 위하여 각 데이터 소스(202)의 시맨틱 콘텐츠를 매핑하도록 구성될 수 있다. 지식 클러스터로 수집된 사용 정보를 분류하기 위한 점증 모델의 세부적인 설명은 도 5와 함께 설명된다. 클러스터 모듈(306)은 지식 그래프 모듈(308)로 지식 클러스터를 전송하도록 구성될 수 있다. 지식 클러스터를 수신하면, 지식 그래프 모듈(308)은 지식 그래프를 형성하기 위하여 지식 클러스터를 상관하도록 구성될 수 있다. 지식 그래프 모듈(308)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 지식 그래프의 형상으로 사용 정보를 도시하도록 구성될 수 있다.
한 가지 실시예에 있어서, 동적 지식 클러스터는 지식 그래프에서 지식 노드로 변환된다. 그들 중 모든 지식 노드 및 링크는 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 지식 그래프로 저장된다. 지식 노드는 사용자의 지식의 동적 네이처(dynamic nature)를 설명하기 위하여 비선형적으로 가중된다. 지식 그래프는 지식 그래프의 꼭대기에 추가 어플리케이션을 생성하기 위하여 서드 파티에 노출될 수 있다. 더욱이, 지식 그래프 모듈(308)은 UI 모듈(310)로 지식 그래프를 전송하도록 구성된다. UI 모듈(310)은 지식 그래프 모듈(308)로부터 수신된 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하도록 구성될 수 있다. UI 모듈(310)은 지식 그래프로부터 지식 클러스터를 동적으로 선택하고, 하나 이상의 규칙에 기초하여 UI 상에 선택된 지식 클러스터를 표시한다. 지식 클러스터를 표시하는 상세한 규칙들은 도 4와 함께 설명된다.
한 가지 실시예에 있어서, UI 모듈(310)은 서버(112)로부터 제2 전자 장치(104)에 의해 지역 쿼리를 수신하도록 구성될 수 있다. 시맨틱 분석 모듈(304)은 제2 전자 장치(104)에 저장된 시맨틱 콘텐츠 및 지식 그래프 간의 시맨틱 유사도를 연산한다. UI 모듈(310)은 제1 전자 장치(102)의 UI의 요소 상에 제2 전자 장치(102)에 관한 데이터를 포함하는 권고 메시지를 표시한다.
제어 모듈(312)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 데이터 소스(202)의 사용 정보를 빈번하게 모니터링 하도록 구성될 수 있다. 제어 모듈(312)은 점증 모듈을 이용한 모니터링에 기초하여 지식 클러스터를 업데이트하도록 구성될 수 있다. 여기서, 지식 클러스터를 업데이트하는 것은 지식 클러스터에 시맨틱 콘텐츠를 추가하거나, 지식 클러스터를 분할하거나, 또는, 지식 클러스터를 병합하는 것을 포함한다. 스토리지 모듈(314)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 지식 그래프를 저장하도록 구성될 수 있다. 더욱이, 스토리지 모듈(304)은 여기에 설명된 다양한 동작을 수행하기 위하여 사용되는 제어 명령 및 동작을 저장한다. 통신 모듈(316)은 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 지원되는 다양한 컴포넌트 간의 통신 세션을 수립한다. 한 가지 실시예에 있어서, 통신 모듈(316)은 제1 전자 장치(102)와 관련된 제1 사용자의 지식 그래프를 지식 기반 지원 네트워크(106)에서 제2 전자 장치(104)와 관련된 제2 사용자와 공유한다. 다른 실시예들에 있어서, 통신 모듈(316)은 지식 기반 지원 네트워크(106)에서 제1 전자 장치(102)와 관련된 제1 사용자와 제2 전자 장치(104)와 관련된 제2 사용자의 지식 그래프를 공유한다.
제 1 전자 장치(102) 및 제 2 전자 장치(104)는 데이터 분석 모듈(302), 시맨틱 분석 모듈(304), 클러스터 모듈(306), 지식 그래프 모듈(308), UI 모듈(310), 제어 모듈(312), 스토리지 모듈(314) 및 통신 모듈(316)을 통해 교환되는 데이터를 프로세서를 처리할 수 있다. 프로세서는 데이터 분석 모듈(302), 시맨틱 분석 모듈(304), 클러스터 모듈(306), 지식 그래프 모듈(308), UI 모듈(310), 제어 모듈(312), 스토리지 모듈(314) 및 통신 모듈(316) 중 적어도 하나를 포함할 수 있다. 제 1 전자 장치(102) 및 제 2 전자 장치(104)는 프로세서를 통해 처리된 데이터를 디스플레이를 통해 표시할 수 있다. 일 실시예에서, 제 1 전자 장치(102) 및 제 2 전자 장치(104)는 UI 모듈(310)을 통해 UI에 관한 데이터를 프로세서를 통해 처리하고, 프로세서 제어 하에 UI를 디스플레이에 표시하게 할 수 있다.
제 1 전자 장치(102) 및 제 2 전자 장치(104)는 터치 감응 장치를 포함하며, 터치 감응 장치를 통해, 사용자 입력(예를 들어, 사용자 터치 입력)을 수신할 수 있다.
도 3은 제1 전자 장치(102) 또는 제2 전자 장치(104)의 한정된 개요를 도시한다. 하지만, 다른 실시예가 이에 한정되지 않는 것으로 이해하여야 할 것이다. 더욱이, 제1 전자 장치(102) 또는 제2 전자 장치(104)는 시스템(100)의 다른 컴포넌트와 함께 상호간에 통신하는 임의의 수의 모듈을 포함할 수 있다.
도 4는 여기에 개시된 실시예들에 따라 지식 그래프에 기초한 전자 장치의 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 방법(400)을 도시하는 흐름도이다. 한 가지 실시예에 있어서, 본 문헌에 설명된 전자 장치는 예를 들면, 이에 한정되는 것은 아니지만 제1 전자 장치(102) 또는 제2 전자 장치(104)가 될 수 있다.
402 단계에서, 방법(400)은 전자 장치에서 데이터 소스(202)의 사용 정보를 수집하는 단계를 포함한다. 방법(400)은 데이터 분석 모듈(302)이 전자 장치에서 데이터 소스(202)의 사용 정보를 수집하도록 한다. 한 가지 실시예에 있어서, 사용 정보는 예를 들면, 이에 한정되는 것은 아니지만, 브라우징 히스토리, SNS 정보, 어플리케이션 사용 데이터 등을 포함할 수 있다. 404 단계에서, 방법(400)은 전자 장치에서 데이터 소스(202)의 사용 정보로부터 시맨틱 콘텐츠를 추출하는 단계를 포함한다. 여기서, 시맨틱 콘텐츠는 워드 벡터 또는 구조 데이터 또는 주제 또는 토큰을 포함한다. 한 가지 실시예에 있어서, 토큰은 예를 들면, 이에 한정되는 것은 아니지만, 키워드 또는 URL이 될 수 있다. 방법(400)은 시맨틱 분석 모듈(304)이 전자 장치에서 데이터 소스(202)의 사용 정보로부터 시맨틱 콘텐츠를 추출하도록 한다. 여기서, 시맨틱 콘텐츠는 워드 벡터 또는 구조 데이터 또는 주제 또는 토큰을 포함한다.
406 단계에서, 방법(400)은 점증 모델을 이용하여 지식 클러스터로 수집된 사용 정보를 분류하기 위하여 데이터 소스(202)의 시맨틱 콘텐츠를 매핑하는 단계를 포함한다. 방법(400)은 클러스터 모듈(306)이 점증 모델을 이용하여 지식 클러스터로 수집된 사용 정보를 분류하기 위하여 데이터 소스(202)의 시맨틱 콘텐츠를 매핑하도록 한다. 408 단계에서, 방법(400)은 지식 그래프에 지식 클러스터를 연관시키는 단계를 포함한다. 방법(400)은 지식 그래프 모듈(308)이 지식 그래프를 형성하도록 지식 클러스터를 상관하도록 한다. 410 단계에서, 방법(400)은 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하도록 하는 단계를 포함한다. 종래 시스템과 달리, 방법(400)은 UI 모듈(310)이 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하도록 허용 한다. 한 가지 실시예에 있어서, 요소는 예를 들면, 이에 한정되는 것은 아니지만, 카메라 제어, 브라우저 콘텐츠 표시, 어플리케이션 UI, 권고 제공 등이 될 수 있다.
한 가지 실시예에 있어서, 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하는 단계는 지식 그래프로부터 지식 클러스터를 동적으로 선택하는 단계를 포함한다. 선택된 지식 클러스터는 하나 이상의 규칙들(즉, 비주얼 규칙(visual rules))에 기초하여 UI 상에 표시된다. 하나 이상의 비주얼 규칙은 아래에 설명된 바와 같다:
● 지식 클러스터에서 제공된 URL의 수에 의해 유도되는 클러스터 크기
●최대 크기(즉, 오직 1 클러스터의 경우) - 양 측에 패딩을 남기고 페이지의 폭에 걸쳐 가로지르는 최대 크기
● 최대 크기(즉, 오직 2 클러스터의 경우) - (양 측에 패딩을 남기고) 페이지의 폭에 걸쳐 가로지르는 넓은 클러스터 및 이전 크기의 비율이 되는 작은 클러스터
● 최대 크기(3 클러스터의 경우) - 전술한 규칙에 따름
● 최대 크기(3 클러스터 이상의 경우) - 연이어 최소 2 클러스터(최대 3 클러스터)에 맞춰 그리고 그렇게 함으로써, 최대 클러스터 크기, 작은 클러스터를 최대 클러스터의 비율이 되게 정의함
● 클러스터를 수직 축에 대하여 중심에 정렬함. 클러스터(수직+수평) 간에 (가이드라인에 따라) 상수 패딩 및 UI의 왼쪽 및 오른쪽 에지에 동일한 공간을 남김
● 주제 클러스터 페이지는 수직으로 스크롤 가능함
● 최상위에서 최하위로 최신 순서의 주제 클러스터
● 클러스터 이미지: 가장 최근 URL의 최상위 이미지(최적 해상도, 가장 관련 있는, 등). 아무것도 발견되지 않은 경우, 이미지를 위한 그 다음 최근의 URL을 검사함
● 페이지 백그라운드 이미지: 가장 넓은 클러스터로부터의 최상위 이미지. 아무것도 발견되지 않으면, 두 번째 큰 클러스터를 검사함. 블러 이미지(Blur image)는 전경(클러스터)으로 비침입되도록 함
● 클러스터에 대한 사용자의 터치 입력(또는 터치 인터랙션)을 수신하면, 페이지의 중간으로 스크롤하고, 페이지는 사용자의 터치 입력을 수신한 클러스터의 중간으로부터 분할되며, 클러스터 내의 URL을 보여줌.
또는, 상위 클러스터에 대해서 사용자의 터치 입력(또는 터치 인터랙션)을 수신하면, 하위 클러스터에 포함된 내용을 보여줌. 하위 클러스터에 대해서 사용자의 터치 입력(또는 터치 인터랙션)을 수신하면, 상위 클럭스터에 포함된 내용을 보여줌.
● 클러스터를 탭하면(Tapping), 페이지의 중간으로 수직으로 스크롤하고, 페이지는 탭된 클러스터의 중간으로부터 분할되며, 클러스터 내의 URL을 보여줌.
● URL의 리스트 뷰는 분할된 공간 내에서 수직으로 스크롤 가능함. 분할 공간 외부를 사용자의 터치 입력(예, 탭, 핀치 줌-인)을 수신하거나 백 키(back key)를 누르는 것은 리스트 뷰를 닫고(분할 공간은 중간으로부터 닫힘), 주제 클러스터 뷰로 되돌아감
다른 실시예에 있어서, 지식 그래프에 기초하여 UI의 요소를 동적으로 수정하는 단계는 서버(112)로부터 제2 전자 장치(104)에 의해 지역 쿼리를 수신하는 단계를 포함한다. 여기서, 지역 쿼리는 시맨틱 콘텐츠를 포함한다. 제2 전자 장치(104)에 저장된 지식 그래프와 시맨틱 콘텐츠 간의 시맨틱 유사도가 연산된다. 그리고 제2 전자 장치(104)에 저장된 데이터를 포함하는 권고 메시지가 시맨틱 유사도에 기초하여 제1 전자 장치(102)의 UI의 요소에 표시된다.
410 단계에서,방법(400)은 전자 장치에서 표시된 UI 요소를 동적으로 수정하도록 하는 것은 전자 장치에 포함된 터치 감응 장치를 통해, 사용자에 터치 입력에 따라 인터랙션하며, 터치 인터랙션에 따라 UI 요소를 변경하는 것을 포함할 수 있다.412 단계에서, 방법(400)은 전자 장치에서 데이터 소스(202)의 사용 정보를 빈번하게 모니터링 하는 단계를 포함한다. 방법(400)은 제어 모듈(312)이 전자 장치에서 데이터 소스(202)의 사용 정보를 빈번하게 모니터링 하도록 한다. 414 단계에서 사용 정보에서 변경이 검출된 것으로 판단되면, 416 단계에서 방법(400)은 점증 모델을 이용하여 지식 클러스터를 업데이트하는 단계를 포함한다. 여기서, 업데이트하는 단계는 지식 클러스터에 시맨틱 콘텐츠를 추가하는 단계, 지식 클러스터를 분할하는 단계 또는 지식 클러스터를 병합하는 단계를 포함한다. 방법(400)은 제어 모듈(312)이 점증 모델을 이용하여 지식 클러스터를 업데이트하도록 한다. 여기서, 업데이트하는 단계는 지식 클러스터에 시맨틱 콘텐츠를 추가하는 단계, 지식 클러스터를 분할하는 단계 또는 지식 클러스터를 병합하는 단계를 포함한다. 414 단계에서 사용 정보에서 변경이 검출되지 않는 것으로 판단되면, 412 단계에서 방법(400)은 전자 장치에서 데이터 소스(202)의 사용 정보를 빈번하게 모니터링 하는 단계를 포함한다. 방법(400)은 제어 모듈(312)이 전자 장치에서 데이터 소스(202)의 사용 정보를 빈번하게 모니터링 하도록 한다.
방법(400)에서 다양한 액션(actions), 액트(acts), 블록, 단계 등은 제공되는 순서대로, 다른 순서대로 또는 동시에 수행될 수 있다. 더욱이, 일부 실시예들에서, 일부 액션, 액트, 블록, 단계 등은 본 발명의 범위를 벗어남이 없이 생략되거나, 추가되거나, 수정되거나, 스킵 등이 될 수 있다.
방법(400)에서 모니터링된 클러스터는 UI 요소로 전자 장치의 디스플레이를 통해 표시될 수 있다.
도 5는 여기에 개시된 실시예들에 따른 클러스터 모듈(306)의 다양한 컴포넌트들을 도시한다. 주제 모델은 먼저 프리로딩된 주제 특정 문서로부터 구성된다. 주제 모델은 더욱이 사용자 브라우저가 전자 장치를 이용하는 주제/URL에 기초하여 업데이트된다. 한 가지 실시예에 있어서, 전자 장치는 제1 전자 장치(102) 또는 제2 전자 장치(104)가 될 수 있다. 프리로딩된 주제 특정 문서는 항상 사용자에 대하여 마스크 되며, 초기 주제 모델을 구성하는 데에 사용된다. 전체 주제 모델이 항상 구성되는 종래의 LDA 모델링 방법과 달리, 점증 모델링이 사용되며, 이는 사용자가 새로운 주제 또는 URL을 브라우징할 때마다 주제 모델을 업데이트하도록 한다. 시작 포인트로부터 전체 LDA 모델을 구성할 필요가 없는 것과 마찬가지로, 전체 워드 코퍼스(word corpus)를 저장할 필요는 없다. 대신, 오직 주제 워드 벡터(즉, 그들의 가능성 값과 함께 주제를 정의하는 워드 벡터)가 저장된다. 점증 모델을 이용하는 것에 의해, 전자 장치의 배터리 및 메모리 사용 양자 모두를 포함하는 리소스가 감소될 수 있다.
사용자가 URL을 브라우징할 때, 브라우징된 URL이 기사 텍스트가 되기에 적합하면, 즉, 충분한 텍스트를 포함하면, 클러스터링 프로세스가 시작된다. URL에서 중단 워드의 제거 후(즉, LDA 모듈 내부에서 스테밍(stemming)이 발생한 후), 워드 코퍼스가 LDA 모델로 전송된다. 전형적으로, LDA 기반 클러스터링 프로세스는 브라우징 후 즉시 시작되지 않을 수 있다. 하지만, 단순 거리 매칭(코사인)이 배터리 전력을 저장하기 위하여 전자 장치에서 프리로딩된 지식 클러스터에 즉각적으로 매칭하기 위하여 채택될 수 있다. 클러스터 모델(306)은 클러스터링 프로세스를 시작하기 전, 사용자에 의해 브라우징되는 1-N(예컨대, 5 URL) URL를 기다릴 수 있다. 한 가지 실시예에 있어서, 클러스터링 프로세스는 또한 프리로딩된 주제 모델에 대응하여 수행되며, 그리고 사용자에 의해 브라우징된 새로운 URL의 도착에 기인한 프리로딩된 주제 벡터에 대한 변경 또한 업데이트된다. 클러스터할당의 프로세스 동안 문서 주제 맵이 클러스터링 프로세스에 사용된다. 문서 내에서 상위 주제 분산은 어떤 클러스터가 브라우징된 URL에 속할 수 있는지를 결정하는 데에 사용된다. 매칭은 전자 장치에서 프리로딩된 클러스터 모델의 주제 벡터 및 문서 주제 벡터 간의 코사인 또는 다른 거리 매트릭에 기초하여 수행된다. 매칭은 특정 임계치 내에 있지 않은 것으로 판단되면, 문서를 위한 새로운 지식 클러스터는 프리로딩된 지식 클러스터에 추가로 사용자를 위하여 생성될 수 있다.
한 가지 실시예에 있어서, 사용자에 의해 새로운 브라우저 URL에 기초하여 형성된 새로운 지식 클러스터 및 프리로딩된 지식 클러스터에서 새로운 문서의 추가에 기초하여, 지시 클러스터를 위한 클러스터 라벨이 업데이트된다. 클러스터 라벨 또한 워드 벡터 할당을 가지지만, 오직 벡터로부터 특정 토큰이 지식 클러스터를 라벨링하기 위하여 취해진다. 클러스터 라벨링 프로세스의 세부적인 설명은 도 6과 함께 설명된다. 클러스터 라벨링의 프로세스 후, 가장 중요한 문서(즉, 주제에 가장 적절한 문서)로부터 이미지는 지식 클러스터를 위한 클러스터 백그라운드로 취해진다. 지식 클러스터에서 URL은 타임라인 대신 관련성에 기초하여 배치된다. URL은 임의의 임계치를 초과하는 관련성의 정도에 기초하여 하나 이상의 지식 클러스터에 속할 수 있다. 타이틀 벡터와 함께, 지식 클러스터, URL 및 클러스터 이미지는 도 5에 보인 바와 같이, 클러스터 특정 데이터베이스(DB)에 저장된다.
한 가지 실시예에 있어서, 다중 레벨 클러스터링(즉, 지식 클러스터 내의 클러스터)을 위하여, 클러스터 라벨 벡터는 관계를 결정하기 위한 사용자이다. 여기서, 콘텐츠 주제 모델은 사용되지 않으며, 주제 관계에 기초하여 부모-자식-형제 관계가 클러스터 간에 수립된다. 클러스터의 부모-자식-형제 관계 계층이 매칭 및 병합의 프로세스를 통해 클러스터 데이터베이스에 저장된다. 클러스터 뷰어는 전자 장치의 UI에 대한 랜더링을 위한 사용자 동작에 기초하여 클러스터 데이터베이스로부터 직접 지식 클러스터를 수신한다.
한 가지 실시예에 있어서, 사용자는 어느 하나의 클러스터로부터 다른 클러스터로 URL을 전송하는 것에 의해 클러스터 정의를 수정할 수 있다. 다른 실시예에 있어서, 사용자는 또한 클러스터 라벨을 가지는 새로운 클러스터를 생성할 수 있고, 기존의 클러스터로부터 새로운 클러스터로 URL을 전송할 수 있다. 일단 URL이 전송되면, 클러스터 정의는 자동으로 업데이트된다. 따라서 클러스터의 URL에 매칭되는 임의의 새로운 사용자 브라우징 URL이 사용자에 의해 다시 변경될 때까지 새로운 클러스터로 자동으로 업데이트될 것이다. 클러스터 백그라운드를 위한 이미지 추출은 사용자가 새로운 URL을 클러스터로 전송하면 시작된다. 사용자는 클러스터 내에서 이의 위치를 변경하여 URL의 관련성을 상승시킬 수 있다.
한 가지 실시예에 있어서, 점증 클러스터링(incremental clustering) 및 하이브리드 클러스터링(hybrid clustering) 프로세스가 아래에서 설명된다.
점증 클러스터링(Incremental clustering): 종래 LDA 방법에 있어서, 샘플링은 전체 자료 크기, 예컨대 약 6분이 소요되는 25 주제 및 2000번 반복을 가지는 300 URL에 대하여 수행된다. 사용자 히스토리 데이터가 시간별로 증가하기 때문에, 알고리즘 시간이 지수 인자(exponential factor)에 의해 증가되며, 클라이언트 전자 장치에서 이를 구동하는 것이 매우 어렵다. 런타임을 감소시키기 위하여, 점증 클러스터링 프로세스가 구현되며, 이는 알고리즘의 런타임을 감소시키는 데에 상당한 향상을 가져온다.
점증 프로세스(Incremental Process):
● 이전에 저장된 지식 클러스터 모델을 로드함
● 이전 지식 클러스터 모델에 기초하여 URL 기사 데이터의 새로운 세트에 대한 다항 샘플링(multinomial sampling)을 수행함
● 워드의 주제 및 빈도에 할당된 워드의 수에 기초하여, 시맨틱 유사도가 기사 URL 및 주제 간에 연산됨
● 새로운 클러스터 모델은 프로세스의 끝에 생성됨
● 이전에 로드된 지식 클러스터에 새로운 클러스터 모델을 부착함
● 새로운 클러스터 모델을 저장함
종래 시스템과 달리, 점증 클러스터링 프로세스는 특정 주제에 대한 클러스터링 프로세스를 시작하기 위하여 프리로딩 클러스터 모델을 요구한다. 점증 클러스터링 프로세스는 전자 장치의 배터리 파워를 저장한다. 프로세스가 전자 장치에서 완전하게 구동되기 때문에, IC(Integrated Circuit)는 리소스 절약에서 큰 이득을 제공한다.
하이브리드 클러스터링(Hybrid clustering): 하이브리드 클러스터링 프로세스에 있어서, 최상위 레벨 주제의 세트가 식별되고(예컨대, 스포츠, 건강, 정치, 문환 및 예술, 미디어 등과 같은 15 최상위 주제), 클러스터 모델은 주제와 관련된 웹 페이지를 크롤링(crawling)하여 주제에 대한 구성된다. 최상위 주제 클러스터에 추가로, “기타(Others)”로 칭해지는 다른 클러스터가 존재할 것이다. 여기서, 감독 주제(supervised topics)에 매핑되지 않는 임의의 URL이 축적될 것이다. 모든 주요 클러스터는 또한 “기타”로 칭해지는 서브 클러스터를 가질 것이다. “기타” 서브 클러스터의 동작은 주요 레벨이든지 또는 서브 클러스터 레벨이든지 동일하다. “기타” 카테고리에 매핑되는 URL의 수가 미리 설정된 수(예컨대, 20)를 초과하면, 무감독 LDA는 주제의 수의 추정을 제공하는 콘텐츠에 대하여 트리거 된다. LDA는 얼마나 많은 주제가 콘텐츠에서 제공되는지 요구하며, 얼마나 많은 주제가 제공되는지 이해하기 위하여 밀도 기반 접근법(density based approach)이 사용된다. 밀도 기반 접근법은 다른 문서에 대한 더 밀접한 관련성을 가지는 문서를 클럽(club)하기 위하여 노력하며, 그리고 결국에는, 이는 형성하기 위하여 필요한 그룹의 예측된 수를 리턴 한다.
그런 다음, LDA는 새로운 클러스터를 생성하기 위하여 주제의 수로 “기타” 카테고리에 대하여 계속된다. 새로운 클러스터가 “기타” 내의 콘텐츠로 형성되며, 새로운 클러스터가 “기타” 클러스터 밖에 추가된다. 따라서 새로운 클러스터는 서브 클러스터 레벨에서 또는 주요 레벨에서 병합될 것이다. 새로운 클러스터는 기존의 모델에 부가된다. 이에 따라, 엔트리는 점증 모델링을 위한 새로운 클러스터링에 대하여 생성된다. 따라서 다음번 새로운 URL이 사용자에 의해 브라우징되는 때에, 클러스터 정의(또는 주제 매핑)는 또한 어떤 클러스터가 새로운 URL에 속하는지 검사하도록 고려된다.
한 가지 실시예에 있어서, 하이브리드 모드에서 다중의 보다 작은 클러스터 모델이 유지된다. 한 가지 실시예에 있어서, 각 주요 카테고리는 또한 이의 서브 클러스터와 관련된 이 자신의 점증 모델을 유지할 것이다. 종래 시스템과 달리, 오직 “기타” 카테고리 내의 콘텐츠는 “기타” 내의 콘텐츠가 클러스터링을 위하여 트리거될 때까지 유지된다. 이후, 콘텐츠가 또한 제거될 수 있고; 그렇게 함으로써, 공간 절약이 이루어진다.
도 6은 여기에 개시된 실시예들에 따른 클러스터를 라벨링하기 위한 방법(600)을 도시하는 흐름도이다. 602 단계에서, 방법(600)은 개별 지식 클러스터의 모든 URL 및 타이틀을 추출하는 단계를 포함한다. 방법(600)은 클러스터 모듈(306)이 개별 지식 클러스터의 모든 URL 및 타이틀을 추출하도록 한다. 604 단계에서, 방법(600)은 지식 클러스터의 추출된 URL 및 타이틀로부터 정지 워드를 제거하는 단계를 포함한다. 방법(600)은 클러스터 모듈(306)이 지식 클러스터의 추출된 URL 및 타이틀로부터 정지 워드를 제거하도록 한다. 606 단계에서, 방법(600)은 TF(term frequency) 및 IDF(Inverse Document frequency) 값에 기초하여 각 워드의 스코어를 산출하는 단계를 포함한다. 방법(600)은 클러스터 모듈(306)이 TF 및 IDF 값에 기초하여 각 워드의 스코어를 산출하도록 한다. 608 단계에서, 방법(600)은 모든 워드의 리스트로부터 스코어에 기초하여 최대 3개의 정지 워드를 추출하는 단계를 포함한다. 방법(600)은 클러스터 모듈(306)이 모든 워드의 리스트로부터 스코어에 기초하여 최대 3개의 정지 워드를 추출하도록 한다. 610 단계에서, 방법(600)은 지식 클러스터를 위하여 라벨을 할당하는 단계를 포함한다. 방법(600)은 클러스터 모듈(306)이 지식 클러스터를 위하여 라벨을 할당하도록 한다.
한 가지 실시예에 있어서, 주제 또는 클러스터 라벨링 프로세스는 지식 클러스터를 형성하는 콘텐츠에 기초하여 수행된다. 클러스터 라벨링을 수행하기 위한 몇 가지 방법들이 존재한다. 즉,
● 전통적인 방법 중 하나는 구성되는 클러스터를 정의하며 라벨로 가장 적합한 컨트리뷰터(contributor)를 선택하는 주제 벡터에서 각 워드의 정보 엔트로피를 찾는 것이다.
● 다른 전통적인 방법은 예컨대, centroid 등의 주요 통계자료를 이용하여 라벨을 사용하기 위한 것이다.
종래 시스템과 달리, 거리 기반(distance-based) 방법은 클러스터 라벨링에 사용된다. 클러스터 라벨링 프로세스는 아래에서 설명된다:
데이터세트(Dataset):
● Word tokens in the URL excluding domain names
● 도메인 명칭이 제거된 URL에서 워드 토큰
● Title token sets and weight of each document in topic
● 타이틀 토큰 세트 및 주제에서 각 문서의 가중치
클러스터 라벨링 프로세스(Cluster labeling process):
● 모든 URL로부터 추출된 모든 워드들, 각 클러스터로부터 타이틀을 토큰화(Tokenize)한다.
● 얻어진 워드로부터 정지 워드를 제거한다.
● 워드 및 대응하는 스코어를 가지는 나머지 워드로부터 라벨 벡터를 생성한다. 워드에 대한 스코어 연산 = ∑(클러스터에서 워드의 TF(term frequency) / 워드에 대한 IDF(Inverse document frequency) 클러스터에서 워드의 TF = ∑(개별 URL에서 워드의 TF * URL의 가중치 / URL의 정규화 팩터(normalization factor)) URL의 정규화 팩터 = URL에서 각 워드에 대하여 ∑(TF * TF)
● 스코어의 감소되는 순서로 상위 10 워드를 고려하여 형성된 라벨 벡터로부터 라벨을 생성한다.
종래 시스템과 달리, 타이틀이 고려된다. 왜냐하면 이는 문서의 본질을 전달하기 때문이다. 이는 하나의 라인으로 문선의 의미를 전달한다. 따라서 엔드 유저는 이 워드가 제공되면 클러스터를 인식할 수 있다. 도메인 외에 URL 워드가 고려된다. 왜냐하면, 대부분의 웹사이트는 “domain_name/sports/iref=**” 또는 “domain_name/news/health_ref=**”과 같은 정렬된 포맷으로 문서를 저장하기 위하여 노력한다. 그렇게 함으로써, 어떤 주제가 문서에 속하는지를 캡처할 수 있다. 또한, 문서의 가중치가 지식 클러스터에서 문서의 관련성을 캡처하기 위하여 사용된다. 여기서, “TF/IDF”이 “TF*IDF” 대신 사용된다. 왜냐하면, “IDF”는 검색 엔진의 경우 코퍼스에 걸쳐 더 많은 횟수가 발생한 워드를 정규화하는 데에 사용되는 정규화된 팩터이기 때문이다. 그 워드가 개별 클러스터의 라벨일 가능성이 더 큰 것과 같이 더 많은 회수가 발생된 워드가 필요하기 때문에 “TF/IDF”가 사용된다.
방법(600)에서 다양한 액션(actions), 액트(acts), 블록, 단계 등은 제공되는 순서대로, 다른 순서대로 또는 동시에 수행될 수 있다. 더욱이, 일부 실시예들에서, 일부 액션, 액트, 블록, 단계 등은 본 발명의 범위를 벗어남이 없이 생략되거나, 추가되거나, 수정되거나, 스킵 등이 될 수 있다.
도 7은 여기에 개시된 실시예들에 따른 제1 전자 장치(102) 또는 제2 전자 장치(104)에서 지식 그래프를 동적으로 수정하기 위한 방법(700)을 도시하는 흐름도이다. 702 단계에서, 방법(700)은 사용자와 관련된 데이터 소스(202)의 프로세스된 사용 정보를 추출하는 단계를 포함한다. 방법(700)은 데이터 분석 모듈(302)이 사용자와 관련된 데이터 소스(202)의 프로세스된 사용 정보를 추출하도록 한다. 704 단계에서, 방법(700)은 사용자의 사용 정보로부터 잠재 벡터(latent vectors)(즉, 시맨틱 콘텐츠)를 추출하는 단계를 포함한다. 방법(700)은 시맨틱 분석 모듈(304)이 사용자의 사용 정보로부터 잠재 벡터를 추출하도록 한다.
706 단계에서 사용 정보로부터 추출된 시맨틱 콘텐츠가 지식 기준(knowledge criterion)을 만족하는 것이 검출된 것으로 판단되면, 708 단계에서, 방법(700)은 지식 클러스터에 시맨틱 콘텐츠를 추가하는 단계를 포함한다. 방법(700)은 클러스터 모듈(306)이 지식 클러스터에 시맨틱 콘텐츠를 추가하도록 허용 한다. 712 단계에서, 방법(700)은 거리 매트릭(distance metrics)에 기초하여 주제를 클러스터링 하는 단계를 포함한다. 방법(700)은 클러스터 모듈(306)이 거리 매트릭에 기초하여 주제를 클러스터링 하도록 허용한다. 714 단계에서, 방법(700)은 지식 그래프를 수정하는 단계를 포함한다. 방법(700)은 제어 모듈(312)이 지식 그래프를 수정하도록 허용 한다. 716 단계에서, 방법(700)은 쿼리 서비스에 대하여 지식 그래프를 노출하는 단계를 포함한다. 방법(700)은 제어 모듈(312)이 쿼리 서비스에 대하여 지식 그래프를 노출하도록 허용 한다.
706 단계에서 사용 정보로부터 추출된 시맨틱 콘텐츠가 지식 기준(knowledge criterion)을 만족하는 것이 검출되지 않은 것으로 판단되면, 718 단계에서, 방법(700)은 거리 매트릭에 기초하여 주제를 클러스터링 하는 단계를 포함한다. 방법(700)은 클러스터 모듈(306)이 거리 매트릭에 기초하여 주제를 클러스터링 하도록 허용한다. 720 단계에서, 방법(700)은 클러스터 라벨링 프로세스를 수행하는 단계를 포함한다. 방법(700)은 클러스터 모듈(306)이 클러스터 라벨링 프로세스를 수행하도록 허용한다. 722 단계에서, 방법(700)은 필요한 경우 클러스터 형성을 수정하는 단계를 포함한다. 방법(700)은 클러스터 모듈(306)이 필요한 경우 클러스터 형성을 수정하도록 허용한다.
방법(700)에서 다양한 액션(actions), 액트(acts), 블록, 단계 등은 제공되는 순서대로, 다른 순서대로 또는 동시에 수행될 수 있다. 더욱이, 일부 실시예들에서, 일부 액션, 액트, 블록, 단계 등은 본 발명의 범위를 벗어남이 없이 생략되거나, 추가되거나, 수정되거나, 스킵 등이 될 수 있다.
도 8은 여기에 개시된 실시예들에 따라 제1 전자 장치(102) 또는 제2 전자 장치(104)에 저장된 지식 그래프의 포괄적인 표현을 도시한다. 도 8에 도시된 바와 같이, 지식 그래프는 관심의 주제 또는 도메인 지식을 도시하는 1-N으로부터 복수의 클러스터를 가진다. 더욱이, 각 지식 클러스터는 각 주제 및 서브 주제에 대하여 표시되는 다른 전문 레벨을 가지는 하나 이상의 주제 및 서브 주제를 포함한다. 또한, 주제 및 서브 주제 내에서 식별되는 키워드는 지식 그래프에 대하여 하나 이상의 워드 벡터를 결정하기 위하여 사용될 수 있다. 예를 들면, 클러스터-1 및 클러스터-N은 지식 그래프에서 식별된 지식 클러스터이며, 이들 클러스터 각각은 주제-1, 주제-2, 주제-3 등과 같은 주제들을 포함한다. 더욱이, 이들 주제들 각각은 서브 주제-1, 서브 주제-2, 서브 주제-3 등과 같은 서브 주제들을 포함한다. 또한, 주제들 및 서브 주제들 각각은 전문지식-1, 전문지식-2, 전문지식-3 등을 포함하는 다른 전문 레벨로 표현된다. 게다가, 다른 주제들 및 서브 주제들을 연결하는 점선 라인은 지식 그래프에서 워드 벡터를 나타낸다. 예를 들면, 클러스터-1은 주제 정치에 대하여 도메인 지식을 나타낼 수 있다. 그리고 클러스터-N은 주제 과학에 대하여 도메인 지식을 나타낼 수 있다. 더욱이, 클러스터(정치 및 과학) 각각은 주제들 공적 정치, 정부 정치 및 물리학, 화학 각각을 포함할 수 있다. 또한, 주제들 각각은 형이상학, 나노 기술, 유기 화학, 금속 공학 등과 같은 서브 주제를 포함할 수 있다. 게다가, 이들 주제들, 서브 주제들 각각은 전문 레벨과 관련될 수 있다.
도 9는 여기에 개시된 실시예들에 따른 하나 이상의 도메인들에서 제1 사용자 지식과 관련된 제1 전자 장치(102)에서 지식 그래프(108)를 표현하는 예시적인 도면을 보인다. 도 9에 도시된 바와 같이, 제1 전자 장치(102)는 물리학 및 질병과 같은 2개의 클러스터들을 가지는 지식 그래프(108)를 가진다. 2개의 클러스터는 제1 전자 장치(102)와 관련된 제1 사용자가 물리학 및 질병 도메인에서 지식을 가지는 것을 나타낸다. 물리학 클러스터는 자력, 초-물리학, 원자핵, 나노 기술과 같은 주제들을 포함한다. 더욱이, 이 주제들 각각은 자성체, 지구 자기장, 기계학, 방사능, 방사선, 핵 구조 및 핵력, 감쇠 경로 및 동위 원소와 같은 서브 주제들을 포함한다. 게다가, 이 주제들 및 서브 주제들 각각은 다른 전문 레벨로 나타낸다. 질병 클러스터는 형태(Types)로 나타내는 질병의 형태, 치료(Treatment)로 나타내는 질병을 위한 치료 세부사항, 환자 세부사항(Patient details)으로 나타내는 질병의 형식에 대한 환자 세부사항 및 최신 뉴스(Latest News)로 나타내어지는 질병에 관한 최근 뉴스와 같은 주제들을 포함할 수 있다. 더욱이, 내분비, 창자, 치료, 지리에 기초한 수, 남성대여성 비율, 치료된 환자의 수, 치료의 선호하는 모드와 같은 서브 주제들과 관련된다. 또한, 주제들 및 서브 주제들 각각은 다른 전문 레벨로 할당된다. 추가로, 워드 벡터는 2개의 다른 클러스터 보다 적게 고려되는 2개의 서브 주제들 사이에서 생성되며, 워드 벡터는 다른 키워드를 위하여 동일한 클러스터 내에서 생성된다. 예를 들면, 지식 그래프(108)에 보인 워드 벡터 중 하나는 자성 물질을 이용하여 질병을 위한 치료 요법으로 해석될 수 있다. 지식 그래프(108)에 보인 다른 워드 벡터는 질병 기반 방사선을 위한 치료로 해석될 수 있다. 워드 벡터는 클러스터 또는 2개의 다른 클러스터 내에서 주제, 서브 주제, 키워드를 연결한다.
도 10a 및 도 10b는 여기에 개시된 실시예들에 따라 제1 전자 장치(102)에 저장된 지식 그래프(108) 및 제2 전자 장치(104)에 저장된 지식 그래프(110)와 관련된 정보의 차이를 판단하는 다른 예시적인 도면이다. 도 10a는 제1 전자 장치(102)에 저장된 지식 그래프(108)를 도시한다. 지식 그래프(108)는 제1 전자 장치(102)와 관련된 도메인 지식을 나타내는 2 클러스터 물리학 및 질병을 포함한다. 더욱이, 지식 그래프(108)는 제1 전자 장치(102)가 방사능(Radio-activity)에서 상위 전문 레벨을 가지는 것을 나타낸다. 또한, 지식 그래프(108)는 서브 주제 지리에 기초한 수(number based on geography) 하위의 서브 주제 남자 대 여자 비율(male to female ratio)을 가지는 다른 클러스터 질병을 포함한다.
도 10b는 제2 전자 장치(104)에 저장된 지식 그래프(110)를 도시한다. 지식 그래프(110)는 제2 전자 장치(104)의 도메인 지식을 도시하는 클러스터 물리학 및 질병을 포함한다. 더욱이, 지식 그래프(110)는 동일한 방사능(radio activity)에 대하여 제1 전자 장치(102)에 나타내는 지식 레벨과 비교하여 제2 전자 장치(104)가 방사능(radio activity)에서 더 낮은 지식 레벨을 가지는 것을 나타낸다. 게다가, 클러스터로 질병을 포함하는 제1 전자 장치(102)에 도시된 지식 그래프(108)는 서브 주제 지리에 기초한 수(Number based on geography) 하위에 서브 주제 남성대여성 비율(Male to female ratio)을 가지지 않는다. 이러한 이유로, 제1 전자 장치(102)에 저장된 지식 그래프(108) 그리고 제2 전자 장치(104)에 저장된 지식 그래프(110)는 동일한 도메인 지식을 도시한다. 하지만, 전문 레벨 및 다른 레벨에서 제공되는 정보의 레벨은 제1 전자 장치(102) 및 제2 전자 장치(104) 각각에서 달라진다.
도 11은 여기에 개시된 실시예들에 따라 제1 전자 장치(102) 상에서 데이터를 브라우징하는 동안 제1 사용자의 묵시적 의도를 판단하는 예시적인 도면이다. 도 11에 도시된 바와 같이, 제1 전자 장치(102)는 브라우저상에 물리학에 대한 주제와 관련된 웹페이지를 표시한다. 더욱이, 데이터 분석 모듈(302)은 브라우저상에 표시되는 하나 이상의 키워드를 추출하도록 구성된다. 예를 들면, 정전기(static electricity), 유전기(current electricity), 파장(waves), 음파 및 음악(sound waves and music), 광파 및 컬러(light waves and color)와 같은 키워드가 웹페이지로부터 추출된다. 더욱이, 시맨틱 분석 모듈(304)은 공명 및 정상파(resonance and standing waves), 악기의 물리학(physics of musical instruments), 회절 및 간섭(diffraction and interferences) 등과 같은 시맨틱적으로 관련된 추출된 키워드를 결정하도록 구성될 수 있다. 게다가, 제어 모듈(312)은 하나 이상의 전자 장치(104)로부터 물리학과 관련된 정보를 얻기 위하여 제1 사용자의 묵시적 의도를 결정하도록 구성될 수 있다.
도 12a 및 도 12b는 여기에 개시된 실시예들에 따라 어플리케이션과 관련된 검색 쿼리에 기초하여 사용자의 사회적 관계망(social circles)에서 전문가를 결정하기 위한 예시적인 도면을 보인다. 도 12a에 도시된 바와 같이, 제1 전자 장치(102)는 제1 전자 장치(102)의 UI 상에 쿼리 옴니버스(query omnibus)를 표시한다. 더욱이, 방법은 제1 사용자가 제1 전자 장치(102)의 UI 상에 쿼리를 특정하도록 허용한다. 예를 들면, 자동차와 관련된 정보를 고려한 쿼리는 제1 사용자에 의해 제1 전자 장치(102)의 UI 상에서 제공된다. 더욱이, 방법은 제어 모듈(312)이 쿼리를 변역하도록 허용하고, 제1 레벨의 연락처의 지식 그래프에 저장된 정보 및 쿼리 간에 연산된 시맨틱 유사도에 기초하여 연락처의 제1 레벨의 리스트(즉, 제1 레벨 연락처-1, 제1 레벨 연락처-2 및 제1 레벨 연락처-3)를 제공한다. 도 12a에 도시된 바와 같이, 제1 레벨의 연락처는 해석된 쿼리에 대한 정보를 제공할 수 있는 제1 관계망의 친구(first circle of friends)이다.
한 가지 실시예에 있어서, 제1 관계망의 친구 리스트는 데이터 소스(202)(즉, 어플리케이션)에 저장된다. 여기서, 검색 쿼리가 제공된다.
더욱이, 제1 레벨 연락처-1a는 검색 쿼리에 대한 정보를 제공할 수 있는 제2 관계망 연락처를 포함한다. 또한, 사용자는 제1 레벨의 연락처-1 외에 제공된 생략부분(ellipses)을 선택하여 제2 관계망의 연락처(즉, 제1 레벨의 연락처-1a, 제1 레벨의 연락처-1b 및 제1 레벨의 연락처-1c)를 볼 수 있다. 도 12b에 도시된 바와 같이, 제1 전자 장치(102)는 제2 전자 장치(104)와 관련된 제1 레벨의 연락처-1에서 이용할 수 있는 제2 관계망의 연락처를 나열한다. 예를 들면, 제1 레벨의 연락처-1에 대한 제2 관계망의 연락처는 제1 레벨 연락처-1a, 제1 레벨 연락처-1b 및 제1 레벨 연락처-1c를 포함한다. 제1 전자 장치(102) 상에서 제공되는 연락처 리스트에 기초하여, 방법은 통신 모듈(316)이 정보를 공유하기 위하여 제1 레벨의 연락처의 리스트로부터 선택된 연락처와 제1 사용자 간의 연결을 수립하도록 허용 한다.
도 13은 여기에 개시된 실시예들에 따라 제1 전자 장치(102)의 제1 사용자에 의해 브라우징된 URL(Uniform Resource Locator)를 동적으로 수정하기 위한 예시적인 도면을 도시한다. 제1 사용자가 도 13에서 보인 바와 같이 URL을 브라우징한(또는 브라우징하고 있는) 시나리오를 고려한다. 제1 전자 장치(102)는 클러스터링 프로세스를 시작하기 전 제1 사용자에 의해 브라우징된 고정된 수의 URL을 기다린다. 여기서, 제1 사용자는 3 뉴스 사이트 URL, 1 주식 시장 URL, 1 야구 URL 및 1 음악 URL을 브라우징한다. 처음에, 제1 전자 장치(102)는 사용자가 대응하는 클러스터로 브라우징한(또는 브라우징하고 있는) 하나 이상의 URL에 대한 매핑을 시작하기 위하여 스포츠 클러스터, 뉴스 클러스터, 음악 클러스터, CNN 클러스터 및 IPL 클러스터와 같은 프리로딩된 클러스터 모델을 이용할 것이다. 대응하는 클러스터에 대하여 사용자 브라우징 URL을 매핑하기 전, 제1 전자 장치(102)는 브라우징된 URL로부터 시맨틱 콘텐츠를 추출한다. 여기서, 시맨틱은 워드 벡터 또는 구조 데이터 또는 주제 또는 토큰을 포함한다. 제1 전자 장치(102)는 점증 모델을 이용하여 지식 클러스터로 사용자 브라우징 URL을 분류하기 위하여 시맨틱 콘텐츠를 매핑한다.
도 13에 보인 바와 같이, 제1 전자 장치(102)는 3 뉴스 사이트 URL을 뉴스 클러스터로 분류하고, 1 야구 URL을 스포츠 클러스터로 분류하며, 1 음악 URL을 음악 클러스터로 분류한다. 주식 시장에 대하여 어떤 개별 클러스터도 존재하지 않기 때문에, 1 주식 시장 URL은 스포츠 클러스터 아래의 다른 클러스터로 분류된다. 그렇게 함으로써, 제1 전자 장치(102)의 UI의 브라우저 콘텐츠 표시를 동적으로 수정할 수 있다.
제 1 전자 장치(102)는 URL을 분류한 개별 클러스터들을 클러스터 UI로 표시할 수 있다. 클러스터 UI는 메시지 버블(message bubble)이나 윈도우(window)형태의 GUI(Graphical User Interface)로서, 도 4의 410 단계에서 설명한 비주얼 규칙(visual rules)을 다른 수 있다.
메시지 버블(message bubble)이나 윈도우(window)형태의 GUI(Graphical User Interface)을 갖는 클러스터 UI에는 클러스터의 주제나 타이틀을 텍스트 또는 대표 이미지(예를 들어, 섬네일)로 디스플레이를 통해 표시할 수 있다. 이때, 클러스터 UI에는 클러스터의 주제나 타이틀을 텍스트 또는 대표 이미지(예를 들어, 섬네일)에 추가적으로 클러스터와 관련된 URL의 수를 숫자로서 표시할 수 있다.
제 1 전자 장치(102)는 주제 클러스터 레벨-1과 관계된 클러스터들을(예를 들어, 스포츠 클러스터, 뉴스 클러스터, 음악 클러스터, CNN 클러스터, IPL 클러스터) 클러스터 UI로 디스플레이를 통해 표시하고, 제 1 사용자로부터 입력된 터치 입력(또는, 터치 인터랙션)을 수신한다. 도 4의 410 단계에서 설명한 바와 같이, 터치 입력은 탭 입력 또는 핀치 줌 동작일 수 있다. 제 1 전자 장치(102)는 주제 클러스터 레벨-1과 관계된 클러스터들에 대해서, 제 1 사용자로부터 터치 입력을 수신하면, 서브 클러스터(또는 주제 클러스터 레벨-2)를 표시할 수 있다.
일 실시예에서, 제 1 전자 장치(102)는 주제 클러스터 레벨-1과 관계된 클러스터들에 대해서, 제 1 사용자로부터 탭 입력 또는 핀치 줌 아웃 입력을 수신하면, 적어도 하나 이상의 서브 클러스터(또는 주제 클러스터 레벨-2)를 디스플레이를 통해 표시할 수 있다.
예를 들어, 제 1 사용자로부터 스포츠 클러스터에 대한 탭 입력 또는 핀치 줌 아웃 입력을 수신하면, 제 1 전자 장치(102)는 스포츠 클러스터의 서브 클러스터(또는 주제 클러스터 레벨-2)인 크리켓 클러스터, 하키 클러스터, 야구 클러스터, 수영 클러스터, 카드 클러스터, 체스 클러스터를 클러스터 UI로 디스플레이를 통해 표시할 수 있다.
서브 클러스터(또는 주제 클러스터 레벨-2) 역시, 주제 클러스터 레벨-1과 마찬가지로 메시지 버블(message bubble)이나 윈도우(window)형태의 GUI(Graphical User Interface)로서 클러스터들을 클러스터 UI로 표시할 수 있다. 이때, 클러스터 UI에는 클러스터의 주제나 타이틀을 텍스트 또는 대표 이미지(예를 들어, 섬네일)에 추가적으로 클러스터와 관련된 URL의 수를 숫자로서 표시할 수 있다.
도 13에 보인 바와 같이, 스포츠 클러스터는 크리켓 클러스터, 하키 클러스터, 야구 클러스터, 수영 클러스터, 카드 클러스터 및 체스 클러스터와 같은 서브 클러스터를 가진다. 예를 들면, 미리 정의된 클러스터 모델은 제1 전자 장치(102)에 저장된다. 미리 정의된 클러스터와 함께, 일반 클러스터 모델이 또한 제1 전자 장치(102)에 저장된다. 제1 사용자가 임의의 수의 URL을 브라우징할 때마다, 제1 전자 장치(102)는 브라우징된 URL 및 미리 정의된 클러스터 간의 주제 유사도를 판단한다. 주제 유사도가 검출되는 것으로 판단되면, 제1 전자 장치(102)는 미리 정의된 클러스터에 사용자 브라우징 URL을 매핑한다. 주제 유사도가 검출되지 않는 것으로 판단되면, 제1 전자 장치(102)는 일반 클러스터에 그 URL을 매핑한다. 일반 클러스터가 임의의 수의 URL을 초과하면, 제1 전자 장치(102)는 새로운 클러스터를 결정하기 위하여 일반 클러스터에 대하여 LDA 클러스터링을 수행한다.
서브 클러스터가 제 1 전자 장치(102) 상에 디스플레이를 통해 표시된 상태에서, 다시 탭 입력 또는 핀치 줌-인 입력을 제 1 사용자로부터 수신하면, 주제 클러스터 레벨 1 의 클러스터 UI를 표시할 수 있다.
도 14는 여기에 개시된 실시예들에 따라 제1 사용자의 제1 전자 장치(102)에 의해 오픈 탭을 동적으로 수정하기 위한 예시적인 도면이다. 브라우저 어플리케이션에서 하나 이상의 탭(예컨대, 50 개 탭까지)을 오픈하는 것에 의해 제1 사용자가 동시에 다른 웹 페이지에 접속하는 시나리오를 고려한다. 제1 사용자는 도 14에 보인 바와 같이(편의상 단지 2 개의 오픈 탭이 도시됨) 제1 전자 장치(102)의 브라우저 어플리케이션에서 6 개의 탭을 오픈하여 3 개의 뉴스 웹 페이지 및 3 개의 영화 웹 페이지에 접속한다. 다른 시나리오에서, 사용자는 브라우저 어플리케이션에서 50 개의 탭을 오픈하여 최대 50 개의 웹페이지를 동시 접속할 수 있다. 시맨틱 유사도에 기초하여, 동시에 6 개의 탭을 오픈하는 것에 의해 사용자에 의해 접속되는 웹페이지는 지식 클러스터로 그룹화될 수 있다. 도 14에 보인 바와 같이, 뉴스 웹 페이지에 대응하는 3 개의 오픈 탭은 뉴스 클러스터 아래에 분류되고, 영화 웹 페이지에 대응하는 3 개의 오픈 탭은 영화 클러스터에 아래에 분류된다.
도 15a 및 도 15b는 여기에 개시된 실시예들에 따라 사용자의 의도를 지원하기 위하여 제2 전자 장치(104)와 관련된 하나 이상의 전문가들을 표시하고 사용자의 의도를 결정하는 예시적인 도면이다.
사용자가 특정 정보를 가지는 웹사이트를 브라우징하고 있으면, 전자 장치는특정 정보에 대한 정보 검색을 원하는 것으로 사용자의 의도를 파악할 수 있다. 전자 장치는 사용자의 의도를 식별한 후에, 특정 정보와 관련된 전문가 또는 관련 있는 사람의 연락처를 디스프레이를 통해 UI로 표시할 수 있다. 연락처와 함께, 연락처 주인의 위치, 연락처 주인의 통신 가능 여부, 통신 수단에 대해 적어도 하나 이상을 표시할 수 있다.
도 15a에 도시된 바와 같이, 사용자는 임신성당뇨병(gestational diabetes)에 관한 정보를 가지는 웹사이트를 브라우징하고 있다. 더욱이, 제1 전자 장치(102)와 관련된 제1 사용자가 임신성당뇨병에 관련된 주제에 대하여 추가로 브라우징하기 때문에, 제1 전자 장치(102)는 사용자의 의도를 즉, “임신성당뇨병”으로 결정한다. 사용자의 의도를 식별한 후, 제안된 방법은 네트워크(106) 내의 그리고 사용자의 인근의 하나 이상의 전문가를 표시한다. 더욱이, 방법은 사용자가 전문가의 사용 가능성에 기초하여 브라우저에 표시되는 하나 이상의 전문가와 통신하도록 허용한다. 더욱이, 도 15b는 제안된 방법이 제1 사용자가 제1 전자 장치(102)에서 구동되는 어플리케이션과 관련된 옴니버스 바에서 검색 쿼리를 제공하도록 허용하는 것을 도시한다. 현재 예에 있어서, 제1 사용자는 제1 전자 장치(102)에 저장된 제1 사용자의 제1 관계망의 연락처에서 자동차와 관련된 정보를 검색하기 위한 쿼리를 제공하고 있다. 쿼리에 기초하여, 제1 전자 장치(102)는 제1 전자 장치(102)에 저장된 제1 관계망의 연락처를 표시하고, 제1 사용자가 제1 관계망의 연락처로부터 제2 관계망의 연락처를 선택하도록 한다. 더욱이, 제1 사용자는 자동차에 관한 추가 정보를 검색하기 위하여 제1 전자 장치(102) 상 표시되는 하나 이상의 연락처를 선택할 수 있다.
도 16은 여기에 개시된 실시예들에 따라 사용자 지식 그래프에 기초하여 전자 장치의 UI의 하나 이상의 요소들을 동적으로 수정하기 위한 방법 및 시스템을 구현하는 컴퓨팅 환경을 도시한다. 도면에 도시된 바와 같이, 컴퓨팅 환경(1602)은 제어 유닛(1604) 및 ALU(Arithmetic Logic Unit, 1606)이 장착된 프로세싱 유닛(1608), 메모리(1610), 스토리지 유닛(1612), 복수의 네트워크 장치(1616) 및 복수의 I/O(Input/output) 장치(1614) 중 적어도 하나를 포함한다. 프로세싱 유닛(1608)은 알고리즘의 명령을 프로세싱 하는 것을 담당한다. 프로세싱 유닛(1608)은 이 명령의 프로세싱을 수행하기 위하여 제어 유닛으로부터 명령을 수신한다. 더욱이, 명령의 실행에 포함된 임의의 논리적 그리고 산술적 동작이 ALU(1606)의 도움으로 연산된다.
전반적인 컴퓨팅 환경(1602)은 동종의 및/또는 이종의 코어들, 다른 종류의 다중 CPU들, 특정 미디어 및 다른 가속기로 구성될 수 있다. 프로세싱 유닛(1608)은 알고리즘의 명령을 프로세싱 하는 것을 담당한다. 더욱이, 복수의 프로세싱 유닛(1608)은 단일 클립 또는 다중 클립 상에 위치될 수 있다.
구현을 위하여 요구되는 명령 및 코드를 포함하는 알고리즘은 메모리 유닛(1610) 또는 스토리지(1612) 또는 양자 모두에 저장된다. 실행한 때에, 명령은 대응하는 메모리(1610) 및/또는 스토리지(1612)로부터 패치될 수 있고(fetched), 프로세싱 유닛(1608)에 의해 실행된다.
임의의 하드웨어 구현의 경우에, 다양한 네트워크 장치(1616) 또는 외부 I/O 장치(1614)는 네트워크 유닛 및 I/O 장치 유닛을 통한 구현을 지원하기 위하여 컴퓨팅 환경에 연결될 수 있다.
본 문헌에 설명된 실시예는 요소를 제어하기 위한 네트워크 관리 기능을 수행하고 적어도 하나의 하드웨어 장치에서 구동되는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다. 도 1a, 1b, 2, 3, 5, 12a, 12b, 13, 14 및 16에서 보인 요소는 적어도 하나의 하드웨어 장치, 또는 하드웨어 장치 및 소프트웨어 모듈의 조합이 될 수 있는 블록들을 포함한다.
특정 실시예들 상기 설명은 여기에 개시된 실시예들의 일반적인 본질을 충분히 밝힐 것이며, 현재 지식을 적용함으로써 다른 사람들은 포괄적인 사상을 벗어남이 없이 그러한 특정 실시예들을 손쉽게 수정하고 다양하게 응용할 수 있을 것이다. 그러므로 그러한 수정 및 응용은 개시된 실시예들의 균등의 의미 및 범위 내에 포함되어야 하며 포함되는 것으로 의도된 것이다. 여기에 채택된 어법 및 용어는 설명을 위한 것이며 한정을 위한 것이 아님을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 바람직한 실시예들의 관점에서 설명되었지만, 이 기술 분야에서 통상의 지식을 가진 자는 본 실시예들이 여기에 설명된 바와 같은 실시예들의 사상 및 범위 내에서 수정되어 실행될 수 있음을 이해할 수 있을 것이다.

Claims (29)

  1. 제1 전자 장치의 사용자 인터페이스(UI: User Interface)의 적어도 하나의 요소를 동적으로 수정하기 위한 방법에 있어서,
    상기 제1 전자 장치에서 사용자와 관련된 적어도 하나의 데이터 소스의 사용 정보를 수집하는 단계;
    상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하는 단계;
    적어도 하나의 노드 및 상기 적어도 하나의 노드들 사이의 적어도 하나의 링크 형태를 가지는 상기 적어도 하나의 지식 클러스터를 포함하는 지식 그래프를 저장하는 단계; 및
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하는 단계;를 포함하며,
    상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하는 단계는 상기 사용 정보로부터 시맨틱 콘텐츠를 추출하는 단계; 및 상기 수집된 사용 정보가 상기 적어도 하나의 지식 클러스터로 분류되도록 상기 추출된 시맨틱 콘텐츠를 매핑하는 단계를 포함하며,
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하는 단계는 상기 지식 그래프로부터 상기 적어도 하나의 지식 클러스터를 동적으로 선택하는 단계; 및 적어도 하나의 규칙에 기초하여 상기 UI에 대하여 상기 선택된 적어도 하나의 지식 클러스터를 표시하는 단계를 포함하며,
    각 데이터 소스는 상기 제1 전자 장치에서 사용되는 적어도 하나의 아이템 또는 상기 제1 전자 장치에서 실행되는 임의의 어플리케이션인 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 지식 그래프는 상기 제1 전자 장치에 지역적으로 저장되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 시맨틱 콘텐츠는 단어 벡터, 구조 데이터, 제목 및 토큰 중 적어도 하나를 포함하며,
    상기 적어도 하나의 지식 클러스터는 점증적으로 업데이트되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    지식 기반 지원 네트워크(knowledge-based assistive network)에서 제2 전자 장치와 상기 제1 전자 장치의 지식 그래프를 공유하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 3항에 있어서,
    상기 단어 벡터는
    상기 지식 그래프 상에서 적어도 3개의 엔트리에 매핑된 상기 추출된 시맨틱 콘텐츠와 연결되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하는 단계는
    적어도 하나의 시맨틱 콘텐츠를 포함하는 지역 쿼리를 서버로부터 제2 전자 장치에 의해 수신하는 단계;
    상기 제2 전자 장치에 저장된 상기 시맨틱 콘텐츠 및 지식 그래프 간의 시맨틱 유사도를 연산하는 단계; 및
    상기 시맨틱 유사도에 기초하여 상기 제1 전자 장치의 UI의 적어도 하나의 요소에 상기 제2 전자 장치에 관한 데이터를 포함하는 추천 메시지를 표시하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 제1 전자 장치에서 상기 적어도 하나의 데이터 소스의 상기 사용 정보를 모니터하는 단계; 및
    점증 모델을 이용한 상기 모니터링에 기초하여 상기 적어도 하나의 지식 클러스터를 업데이트하는 단계;
    를 더 포함하며,
    상기 업데이트 단계는 상기 적어도 하나의 지식 클러스터에 시맨틱 콘텐츠를 추가하는 단계와, 상기 적어도 하나의 지식 클러스터를 분할하는 단계와, 상기 적어도 하나의 지식 클러스터를 병합하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하는 단계는
    하나 이상의 규칙에 따라 하나 이상의 클러스터를 상기 UI로 표시하는 단계; 및
    사용자의 터치 입력에 따라 상기 하나 이상의 클러스터의 하위 클러스터 또는 상위 클러스터를 상기 UI로 표시하는 단계를 포함하는 방법.
  9. 제 8항에 있어서,
    상기 상위 클러스터에 대한 상기 사용자의 터치 입력이 핀치 줌 아웃 입력인 경우, 상기 하위 클러스터에 대한 상기 UI로 표시하는 단계; 및
    상기 하위 클러스터에 대한 상기 사용자의 터치 입력이 핀치 줌 인 입력인 경우, 상기 상위 클러스터에 대한 상기 UI로 표시하는 단계를 포함하는 방법.
  10. 제1 전자 장치의 사용자 인터페이스(UI: User Interface)의 적어도 하나의 요소를 동적으로 수정하기 위한 시스템에 있어서,
    상기 제1 전자 장치에서 사용자와 관련된 적어도 하나의 데이터 소스의 사용 정보를 수집하고,
    상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하며, 적어도 하나의 노드 및 상기 적어도 하나의 노드들 사이의 적어도 하나의 링크 형태를 가지는 상기 적어도 하나의 지식 클러스터를 포함하는 지식 그래프를 저장하고,
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하며,
    상기 수집된 사용 정보로부터 시맨틱 콘텐츠를 추출하고, 상기 수집된 사용 정보가 상기 적어도 하나의 지식 클러스터로 분류되도록 상기 추출된 시맨틱 콘텐츠를 매핑하며, 상기 지식 그래프로부터 상기 적어도 하나의 지식 클러스터를 동적으로 선택하고, 적어도 하나의 규칙에 기초하여 상기 UI에 대하여 상기 선택된 적어도 하나의 지식 클러스터를 표시하며, 각 데이터 소스는 상기 제1 전자 장치에서 사용되는 적어도 하나의 아이템 또는 상기 제1 전자 장치에서 실행되는 임의의 어플리케이션인 것을 특징으로 하는 시스템.
  11. 제10항에 있어서,
    상기 지식 그래프는 상기 제1 전자 장치에서 지역적으로 저장되는 것을 특징으로 하는 시스템.
  12. 제10항에 있어서,
    상기 시맨틱 콘텐츠는 단어 벡터, 구조 데이터, 제목 및 토큰 중 적어도 하나를 포함하며, 상기 적어도 하나의 지식 클러스터는 점증적으로 업데이트되는 것을 특징으로 하는 시스템.
  13. 제10항에 있어서,
    상기 시스템은
    지식 기반 지원 네트워크(knowledge-based assistive network)에서 제2 전자 장치와 상기 제1 전자 장치의 지식 그래프를 공유하는 것을 특징으로 하는 시스템.
  14. 제12항에 있어서,
    상기 단어 벡터는
    상기 지식 그래프 상에서 적어도 3개의 엔트리에 매핑된 상기 추출된 시맨틱 콘텐츠와 연결되는 것을 특징으로 하는 시스템.
  15. 제10항에 있어서,
    상기 시스템은
    적어도 하나의 시맨틱 콘텐츠를 포함하는 지역 쿼리를 서버로부터 제2 전자 장치에 의해 수신하고,
    상기 제2 전자 장치에 저장된 상기 시맨틱 콘텐츠 및 지식 그래프 간의 시맨틱 유사도를 연산하며,
    상기 시맨틱 유사도에 기초하여 상기 제1 전자 장치의 UI의 적어도 하나의 요소에 상기 제2 전자 장치에 관한 데이터를 포함하는 추천 메시지를 표시하는 시스템.
  16. 제10항에 있어서,
    상기 시스템은
    상기 제1 전자 장치에서 상기 적어도 하나의 데이터 소스의 상기 사용 정보를 모니터하고,
    점증 모델을 이용한 상기 모니터링에 기초하여 상기 적어도 하나의 지식 클러스터를 업데이트하며,
    상기 적어도 하나의 지식 클러스터에 시맨틱 콘텐츠를 추가하고, 상기 적어도 하나의 지식 클러스터를 분할하는 단계; 및 상기 적어도 하나의 지식 클러스터를 병합하는 시스템.
  17. 전자 장치에 있어서,
    통신 모듈;
    사용자 인터페이스(이하, UI)를 표시할 수 있는 디스플레이;
    사용자 터치 입력을 수신할 수 있는 터치 감응 장치; 및
    프로세서를 포함하며,
    상기 프로세서는
    상기 전자 장치에서 사용자와 관련된 적어도 하나의 데이터 소스의 사용 정보를 수집하고,
    상기 수집된 사용 정보를 적어도 하나의 지식 클러스터로 분류하며, 적어도 하나의 노드 및 상기 적어도 하나의 노드들 사이의 적어도 하나의 링크 형태를 가지는 상기 적어도 하나의 지식 클러스터를 포함하는 지식 그래프를 저장하고,
    상기 지식 그래프에 기초하여 상기 UI의 적어도 하나의 요소를 동적으로 수정하며,
    상기 수집된 사용 정보로부터 시맨틱 콘텐츠를 추출하고, 상기 수집된 사용 정보가 상기 적어도 하나의 지식 클러스터로 분류되도록 상기 추출된 시맨틱 콘텐츠를 매핑하며, 상기 지식 그래프로부터 상기 적어도 하나의 지식 클러스터를 동적으로 선택하고, 적어도 하나의 규칙에 기초하여 상기 UI에 대하여 상기 선택된 적어도 하나의 지식 클러스터를 표시하며, 각 데이터 소스는 상기 전자 장치에서 사용되는 적어도 하나의 아이템 또는 상기 전자 장치에서 실행되는 임의의 어플리케이션인 것을 특징으로 하는 전자 장치.
  18. 제 17항에 있어서,
    상기 지식 그래프는 상기 전자 장치에 지역적으로 저장되는 것을 특징으로 하는 전자 장치.
  19. 제17항에 있어서,
    상기 시맨틱 콘텐츠는
    단어 벡터, 구조 데이터, 제목 및 토큰 중 적어도 하나를 포함하며,
    상기 적어도 하나의 지식 클러스터는 점증적으로 업데이트되는 것을 특징으로 하는 전자 장치.
  20. 제 17항에 있어서,
    상기 프로세서는
    지식 기반 지원 네트워크(knowledge-based assistive network)에서 다른 전자 장치와 지식 그래프를 공유할 수 있게 제어하는 전자 장치.
  21. 제 19항에 있어서,
    상기 단어 벡터는
    상기 지식 그래프 상에서 적어도 3개의 엔트리에 매핑된 상기 추출된 시맨틱 콘텐츠와 연결되는 것을 특징으로 하는 전자 장치.
  22. 제 17항에 있어서,
    상기 프로세서는
    적어도 하나의 시맨틱 콘텐츠를 포함하는 지역 쿼리를 서버로부터 다른 전자 장치에 의해 수신하고, 상기 다른 전자 장치에 저장된 상기 시맨틱 콘텐츠 및 지식 그래프 간의 시맨틱 유사도를 연산하며, 상기 시맨틱 유사도에 기초하여 상기 전자 장치의 UI의 적어도 하나의 요소에 상기 다른 전자 장치에 관한 데이터를 포함하는 추천 메시지를 디스플레이를 통해 표시할 수 있게 하는 전자 장치.
  23. 제 17항에 있어서,
    상기 프로세서는
    상기 전자 장치에서 상기 적어도 하나의 데이터 소스의 상기 사용 정보를 모니터하고, 점증 모델을 이용한 상기 모니터링에 기초하여 적어도 하나의 지식 클러스터를 업데이트하는 전자 장치.
  24. 제 17항에 있어서,
    상기 프로세서는
    상기 적어도 하나의 지식 클러스터에 시맨틱 콘텐츠를 추가하는 것, 상기 적어도 하나의 지식 클러스터를 분할하는 것, 및 상기 적어도 하나의 지식 클러스터를 병합하는 것 중 적어도 하나를 통하여, 상기 적어도 하나의 지식 클러스터를 업데이트하는 전자 장치.
  25. 제17항에 있어서,
    상기 프로세서는
    하나 이상의 규칙에 따라 하나 이상의 클러스터를 상기 UI로 상기 디스플레이 상에 표시하게 제어하고, 상기 터치 감응 장치를 통해 입력되는 사용자의 터치 입력에 따라 상기 하나 이상의 클러스터의 하위 클러스터 또는 상위 클러스터를 상기 UI로 표시하게 제어하는 전자 장치.
  26. 제25항에 있어서,
    상기 프로세서는
    상기 상위 클러스터에 대한 상기 사용자의 터치 입력이 핀치 줌 아웃 입력인 경우, 상기 하위 클러스터에 대한 상기 UI를 상기 디스플레이에 표시하게 제어하고, 상기 하위 클러스터에 대한 상기 사용자의 터치 입력이 핀치 줌 인 입력인 경우, 상기 상위 클러스터에 대한 상기 UI를 디스플레이에 표시하게 제어하는 전자 장치.
  27. 삭제
  28. 삭제
  29. 삭제
KR1020150019445A 2014-02-13 2015-02-09 지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법 KR102131099B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15748455.1A EP3105668A4 (en) 2014-02-13 2015-02-11 Dynamically modifying elements of user interface based on knowledge graph
US14/619,553 US10140384B2 (en) 2014-02-13 2015-02-11 Dynamically modifying elements of user interface based on knowledge graph
CN201580008712.0A CN106030571B (zh) 2014-02-13 2015-02-11 基于知识图动态地修改用户界面的元素
PCT/KR2015/001389 WO2015122691A1 (en) 2014-02-13 2015-02-11 Dynamically modifying elements of user interface based on knowledge graph
US16/181,990 US10977311B2 (en) 2014-02-13 2018-11-06 Dynamically modifying elements of user interface based on knowledge graph

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN673/CHE/2014??? 2014-10-10
IN673CH2014 IN2014CH00673A (ko) 2014-02-13 2015-02-11

Publications (2)

Publication Number Publication Date
KR20150095577A KR20150095577A (ko) 2015-08-21
KR102131099B1 true KR102131099B1 (ko) 2020-08-05

Family

ID=54058549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150019445A KR102131099B1 (ko) 2014-02-13 2015-02-09 지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법

Country Status (6)

Country Link
US (2) US10140384B2 (ko)
EP (1) EP3105668A4 (ko)
KR (1) KR102131099B1 (ko)
CN (1) CN106030571B (ko)
IN (1) IN2014CH00673A (ko)
WO (1) WO2015122691A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023068398A1 (ko) * 2021-10-20 2023-04-27 엘지전자 주식회사 무선 통신 시스템에서 시멘틱 통신을 지원을 하기 위한 방법 및 그 장치

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285719B1 (en) 2008-08-08 2012-10-09 The Research Foundation Of State University Of New York System and method for probabilistic relational clustering
US9959364B2 (en) * 2014-05-22 2018-05-01 Oath Inc. Content recommendations
US10078651B2 (en) * 2015-04-27 2018-09-18 Rovi Guides, Inc. Systems and methods for updating a knowledge graph through user input
CN106295337B (zh) * 2015-06-30 2018-05-22 安一恒通(北京)科技有限公司 用于检测恶意漏洞文件的方法、装置及终端
US20170024375A1 (en) * 2015-07-26 2017-01-26 Microsoft Technology Licensing, Llc Personal knowledge graph population from declarative user utterances
US10558718B2 (en) * 2015-11-03 2020-02-11 Dell Products, Lp Systems and methods for website improvement
WO2017100970A1 (en) 2015-12-14 2017-06-22 Microsoft Technology Licensing, Llc Facilitating discovery of information items using dynamic knowledge graph
CN105808526B (zh) * 2016-03-30 2019-07-30 北京京东尚科信息技术有限公司 商品短文本核心词提取方法和装置
US10503832B2 (en) * 2016-07-29 2019-12-10 Rovi Guides, Inc. Systems and methods for disambiguating a term based on static and temporal knowledge graphs
US10229184B2 (en) * 2016-08-01 2019-03-12 International Business Machines Corporation Phenomenological semantic distance from latent dirichlet allocations (LDA) classification
US10242002B2 (en) * 2016-08-01 2019-03-26 International Business Machines Corporation Phenomenological semantic distance from latent dirichlet allocations (LDA) classification
US9740368B1 (en) * 2016-08-10 2017-08-22 Quid, Inc. Positioning labels on graphical visualizations of graphs
US9787705B1 (en) 2016-08-19 2017-10-10 Quid, Inc. Extracting insightful nodes from graphs
US10558657B1 (en) * 2016-09-19 2020-02-11 Amazon Technologies, Inc. Document content analysis based on topic modeling
US11176423B2 (en) * 2016-10-24 2021-11-16 International Business Machines Corporation Edge-based adaptive machine learning for object recognition
US20180144257A1 (en) * 2016-11-21 2018-05-24 Sap Se Cognitive enterprise system
US11275894B2 (en) 2016-11-21 2022-03-15 Sap Se Cognitive enterprise system
CN106682221B (zh) * 2017-01-04 2020-04-21 上海智臻智能网络科技股份有限公司 问答交互的响应方法、装置及问答系统
US10165064B2 (en) 2017-01-11 2018-12-25 Google Llc Data packet transmission optimization of data used for content item selection
KR101914853B1 (ko) 2017-02-08 2018-11-02 경북대학교 산학협력단 논리적 속성이 반영된 지식 그래프 임베딩 방법 및 시스템, 이를 수행하기 위한 기록매체
CN108875760A (zh) * 2017-05-11 2018-11-23 阿里巴巴集团控股有限公司 聚类方法和装置
WO2018214164A1 (en) 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Recommending friends in automated chatting
US10235365B2 (en) * 2017-06-20 2019-03-19 Microsoft Technology Licensing, Llc Transforming spoken thoughts to a visual representation
US10311405B2 (en) * 2017-07-20 2019-06-04 Ca, Inc. Software-issue graphs
US20190042950A1 (en) * 2017-08-01 2019-02-07 Ca, Inc. Learning computing activities and relationships using graphs
US10885065B2 (en) * 2017-10-05 2021-01-05 International Business Machines Corporation Data convergence
US10691747B2 (en) * 2017-11-16 2020-06-23 Google Llc Association of data items and objects
US10824675B2 (en) * 2017-11-17 2020-11-03 Microsoft Technology Licensing, Llc Resource-efficient generation of a knowledge graph
US10534587B1 (en) 2017-12-21 2020-01-14 Intuit Inc. Cross-platform, cross-application styling and theming infrastructure
US11157259B1 (en) 2017-12-22 2021-10-26 Intuit Inc. Semantic and standard user interface (UI) interoperability in dynamically generated cross-platform applications
US10732952B1 (en) 2018-02-06 2020-08-04 Intuit, Inc. Deployment and customization of applications at the widget level
US10713441B2 (en) * 2018-03-23 2020-07-14 Servicenow, Inc. Hybrid learning system for natural language intent extraction from a dialog utterance
US11146514B2 (en) * 2018-05-07 2021-10-12 Apple Inc. Sharing content in a messaging application
CN108846429B (zh) * 2018-05-31 2023-04-07 清华大学 基于无监督学习的网络空间资源自动分类方法及装置
US11250041B2 (en) * 2018-06-03 2022-02-15 Apple Inc. Expanding indexed terms for searching files
US10776337B2 (en) * 2018-07-06 2020-09-15 International Business Machines Corporation Multi-dimensional knowledge index and application thereof
US10915820B2 (en) * 2018-08-09 2021-02-09 Accenture Global Solutions Limited Generating data associated with underrepresented data based on a received data input
KR20200047205A (ko) * 2018-10-26 2020-05-07 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN109634698B (zh) * 2018-11-12 2023-01-20 平安科技(深圳)有限公司 菜单显示方法、装置、计算机设备及存储介质
US11475318B2 (en) * 2019-05-29 2022-10-18 Kyndryl, Inc. Automated resolution of over and under-specification in a knowledge graph
CN110232157B (zh) * 2019-06-18 2024-02-02 绍兴文理学院 一种基于内容的隐私保护图书推荐方法及系统
US11227018B2 (en) * 2019-06-27 2022-01-18 International Business Machines Corporation Auto generating reasoning query on a knowledge graph
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
CN110609903B (zh) * 2019-08-01 2022-11-11 华为技术有限公司 信息表示方法及装置
US11194840B2 (en) 2019-10-14 2021-12-07 Microsoft Technology Licensing, Llc Incremental clustering for enterprise knowledge graph
US11709878B2 (en) 2019-10-14 2023-07-25 Microsoft Technology Licensing, Llc Enterprise knowledge graph
KR20210045837A (ko) * 2019-10-17 2021-04-27 삼성전자주식회사 지식 그래프를 업데이트하는 시스템 및 방법
US11216492B2 (en) 2019-10-31 2022-01-04 Microsoft Technology Licensing, Llc Document annotation based on enterprise knowledge graph
US11769240B2 (en) * 2019-11-26 2023-09-26 International Business Machines Corporation Collaborative cognitive analysis of digital media streams
KR102183053B1 (ko) * 2020-02-14 2020-11-25 국방과학연구소 지식 그래프를 정제하기 위한 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US11176137B2 (en) 2020-02-19 2021-11-16 Bank Of America Corporation Query processing platform for performing dynamic cluster compaction and expansion
US11921764B2 (en) * 2020-03-12 2024-03-05 Accenture Global Solutions Limited Utilizing artificial intelligence models to manage and extract knowledge for an application or a system
US11763044B2 (en) 2020-04-15 2023-09-19 Canva Pty Ltd Systems and methods for automatically grouping design elements
CN111563166B (zh) * 2020-05-28 2024-02-13 浙江学海教育科技有限公司 一种针对数学问题分类的预训练模型方法
US20210406270A1 (en) * 2020-06-30 2021-12-30 Microsoft Technology Licensing, Llc Leveraging Interlinking Between Information Resources to Determine Shared Knowledge
JP7353247B2 (ja) * 2020-07-31 2023-09-29 ウーブン・バイ・トヨタ株式会社 情報検索表示システム
CN112100405B (zh) * 2020-09-23 2024-01-30 中国农业大学 一种基于加权lda的兽药残留知识图谱构建方法
CN112925918B (zh) * 2021-02-26 2023-03-24 华南理工大学 一种基于疾病领域知识图谱的问答匹配系统
US11556316B2 (en) * 2021-03-31 2023-01-17 Intuit Inc. Distributed extensible dynamic graph
US20230029058A1 (en) * 2021-07-26 2023-01-26 Microsoft Technology Licensing, Llc Computing system for news aggregation
CN115423569B (zh) * 2022-09-23 2023-09-01 厦门淦启莱科技有限公司 一种基于大数据的推荐方法及基于大数据的推荐系统
KR102520414B1 (ko) * 2022-11-23 2023-04-11 주식회사 큐레아 지식 그래프를 생성하는 기법
CN116911269B (zh) * 2023-06-05 2024-02-20 杭州观远数据有限公司 一种聚合数据修改拆分至明细的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020566A1 (en) 2004-07-23 2006-01-26 Yuh-Cherng Wu Modifiable knowledge base
US20090248678A1 (en) 2008-03-28 2009-10-01 Kabushiki Kaisha Toshiba Information recommendation device and information recommendation method
US20130318025A1 (en) 2012-05-23 2013-11-28 Research In Motion Limited Apparatus, and associated method, for slicing and using knowledgebase

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038560A (en) * 1997-05-21 2000-03-14 Oracle Corporation Concept knowledge base search and retrieval system
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
WO2000046701A1 (en) * 1999-02-08 2000-08-10 Huntsman Ici Chemicals Llc Method for retrieving semantically distant analogies
WO2001055870A1 (en) * 2000-01-26 2001-08-02 Yefim Zhuk Distributed active knowledge and process base
CN100545856C (zh) * 2006-10-11 2009-09-30 北京新岸线网络技术有限公司 视频内容分析系统
US20080227440A1 (en) 2007-03-16 2008-09-18 Vinay Kumar Chowdary Settepalli Methods and apparatus for discovering and updating a mobile device via user behavior
US7933856B2 (en) * 2007-10-12 2011-04-26 Los Alamos National Security Llc System and method for knowledge based matching of users in a network
US8306987B2 (en) * 2008-04-03 2012-11-06 Ofer Ber System and method for matching search requests and relevant data
US9092437B2 (en) * 2008-12-31 2015-07-28 Microsoft Technology Licensing, Llc Experience streams for rich interactive narratives
CN101820398A (zh) * 2009-02-27 2010-09-01 国际商业机器公司 一种动态管理通讯组的即时通讯工具及其方法
US8924419B2 (en) * 2010-03-31 2014-12-30 Salesforce.Com, Inc. Method and system for performing an authority analysis
US20120158791A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Feature vector construction
KR101229752B1 (ko) * 2011-06-01 2013-02-05 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
JP5238872B2 (ja) * 2011-12-02 2013-07-17 株式会社東芝 情報処理装置、表示制御方法およびプログラム
US9576042B2 (en) * 2012-08-01 2017-02-21 Google Inc. Categorizing search terms
US9390174B2 (en) * 2012-08-08 2016-07-12 Google Inc. Search result ranking and presentation
KR20140036858A (ko) * 2012-09-18 2014-03-26 삼성전자주식회사 평가 정보를 제공하기 위한 사용자 단말 장치와 네트워크 서버 장치 및 그 방법들
US20140236570A1 (en) * 2013-02-18 2014-08-21 Microsoft Corporation Exploiting the semantic web for unsupervised spoken language understanding
CN104008106B (zh) * 2013-02-25 2018-07-20 腾讯科技(深圳)有限公司 一种获取热点话题的方法及装置
US20140297644A1 (en) * 2013-04-01 2014-10-02 Tencent Technology (Shenzhen) Company Limited Knowledge graph mining method and system
US10216842B2 (en) * 2013-06-03 2019-02-26 Google Llc Method for clustering results from a same channel
US20150310491A1 (en) * 2014-04-29 2015-10-29 Yahoo! Inc. Dynamic text ads based on a page knowledge graph
US9997157B2 (en) * 2014-05-16 2018-06-12 Microsoft Technology Licensing, Llc Knowledge source personalization to improve language models
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US20160098645A1 (en) * 2014-10-02 2016-04-07 Microsoft Corporation High-precision limited supervision relationship extractor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020566A1 (en) 2004-07-23 2006-01-26 Yuh-Cherng Wu Modifiable knowledge base
US20090248678A1 (en) 2008-03-28 2009-10-01 Kabushiki Kaisha Toshiba Information recommendation device and information recommendation method
US20130318025A1 (en) 2012-05-23 2013-11-28 Research In Motion Limited Apparatus, and associated method, for slicing and using knowledgebase

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023068398A1 (ko) * 2021-10-20 2023-04-27 엘지전자 주식회사 무선 통신 시스템에서 시멘틱 통신을 지원을 하기 위한 방법 및 그 장치

Also Published As

Publication number Publication date
IN2014CH00673A (ko) 2015-08-14
WO2015122691A1 (en) 2015-08-20
US10140384B2 (en) 2018-11-27
EP3105668A1 (en) 2016-12-21
KR20150095577A (ko) 2015-08-21
EP3105668A4 (en) 2017-11-08
US20160103932A1 (en) 2016-04-14
CN106030571B (zh) 2020-07-03
CN106030571A (zh) 2016-10-12
US10977311B2 (en) 2021-04-13
US20190073434A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
KR102131099B1 (ko) 지식 그래프에 기초한 사용자 인터페이스 요소의 동적 수정 방법
US11709901B2 (en) Personalized search filter and notification system
CN107851092B (zh) 个人实体建模
US10728203B2 (en) Method and system for classifying a question
CN111753198B (zh) 信息推荐方法和装置、以及电子设备和可读存储介质
US20150262069A1 (en) Automatic topic and interest based content recommendation system for mobile devices
US8200667B2 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
US20180089541A1 (en) Training Image-Recognition Systems Using a Joint Embedding Model on Online Social Networks
US20150286709A1 (en) Method and system for retrieving information from knowledge-based assistive network to assist users intent
US20110320441A1 (en) Adjusting search results based on user social profiles
Tran et al. Hashtag recommendation approach based on content and user characteristics
JP6109970B2 (ja) オンライン・ソーシャル・ネットワーク上での画像に対するタグ付けの提案
US9251473B2 (en) Identifying salient items in documents
US9836525B2 (en) Categorizing hash tags
US20200195594A1 (en) Method and system for dynamically generating a card
US11216735B2 (en) Method and system for providing synthetic answers to a personal question
US9767400B2 (en) Method and system for generating a card based on intent
De Maio et al. Online query-focused twitter summarizer through fuzzy lattice
JP7080198B2 (ja) 推定装置、推定方法および推定プログラム
Smitha et al. Topic Based Temporal Generative Short Text Clustering
CN116451798A (zh) 一种解释结果的生成方法和装置
Blamey Lifelogging with SAESNEG: a system for the automated extraction of social network event groups
Ganiev et al. Twitter Crawling System
Ignetious Implementation of a Facebook Crawler for Opinion Monitoring and Trend Analysis Purposes: A Case Study of Government Service Delivery in Dwesa
Nakasumi A Context Aware Decision Making Aid by Behavioral Characteristic

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant