KR20210044188A - 장면 작성기를 위한 시스템 및 방법 - Google Patents

장면 작성기를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210044188A
KR20210044188A KR1020207037802A KR20207037802A KR20210044188A KR 20210044188 A KR20210044188 A KR 20210044188A KR 1020207037802 A KR1020207037802 A KR 1020207037802A KR 20207037802 A KR20207037802 A KR 20207037802A KR 20210044188 A KR20210044188 A KR 20210044188A
Authority
KR
South Korea
Prior art keywords
scene
request
extracted
intent features
intent
Prior art date
Application number
KR1020207037802A
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 삼성전자주식회사
Publication of KR20210044188A publication Critical patent/KR20210044188A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기계 학습 알고리즘을 사용하여 조직화된 인텐트 클러스터 또는 장면을 생성하는 시스템 및 방법이 제공된다. 조직화된 인텐트 클러스터 또는 장면을 생성하는 방법은 다수의 요청 입력과 관련된 인텐트 특징(intent features)을 추출하는 것을 포함한다. 상기 방법은 또한 추출된 인텐트 특징을 포함하는 다수의 그룹을 생성하는 동작을 포함한다. 상기 방법은 동시-발생하는 추출된 인텐트 특징에 기초하여 클러스터를 식별하는 동작을 포함하고, 상기 동시-발생하는 추출된 인텐트 특징은 다수의 도메인에 속한다. 상기 방법은 클러스터 내에서 추출된 인텐트 특징을 순위화하는 것에 부분적으로 기초하여 원형-장면(proto-scene)을 생성하는 동작을 더 포함한다.

Description

장면 작성기를 위한 시스템 및 방법
본 개시는 일반적으로 컴퓨팅 시스템 및 방법에 관한 것으로, 특히 조직화된 인텐트 클러스터 또는 장면(intent clusters or scenes)을 생성하기 위한 기계 학습 기반 접근법에 관한 것이다.
현대 의미론(semantics)은 자연어(natural language)의 의미가 구성적이라는 사고에 기반을 두고 있는바, 이는 발화(말하기: utterance)의 단어들과 그들의 서로의 관계에서 발생한다. 자연어 처리 커뮤니티(Natural Language Processing community)는 기계가 자연어의 의미를 이해하도록 하기 위한 다양한 시도를 하였다. 더 성공적인 시도 중 하나는 FrameNet이다. FrameNet에서 동사 및 해당 동사를 이해하는 데 필수적인 다른 단어를 중심으로 스키마(schema)가 생성된다. FrameNet의 가장 큰 단점은 전문가가 수동으로 수동 구성(manual construction)을 수행한다는 것인데, 이는 매우 고가이고 판매할 수 없는 것이다. 단어의 문자적 의미를 이해하는 정확하고 알맞은 시스템을 생성하는 것은 이미 어렵기 때문에, 장면이나 일반적인 서술과 같은 보다 추상적인 레벨의 표현들을 이해하는 도구는 드물다.
본 개시는 현대의 기계 학습 알고리즘(machine learning algorithms) 및 자연어 프로그래밍(Natural Language Programing: NLP) 및 자연어 이해(Natural Language Understanding: NLU) 솔루션을 활용하여 조직화된 인텐트 클러스터 또는 장면을 생성하기 위한 시스템 및 방법을 제공한다.
제1 실시 예에 있어, 컴퓨팅 시스템의 동작 방법은 다수의 요청 입력을 수신하는 동작을 포함한다. 상기 방법은 다수의 요청 입력과 관련된 인텐트 특징(intent features)을 추출하는 동작을 포함한다. 상기 방법은 또한 상기 추출된 인텐트 특징을 포함하는 다수의 그룹을 생성하는 동작을 포함한다. 상기 방법은 동시-발생한 추출된 인텐트 특징에 기초하여 클러스터를 식별하는 동작을 포함하고, 상기한 공동 발생한 추출된 인텐트 특징은 다수의 도메인에 속한다. 상기 방법은 또한 상기 클러스터 내에서 상기 추출된 인텐트 특징의 순위(ranking)를 매기는 것에 부분적으로 기초하여 원형-장면(프로토-씬: proto-scene)을 생성하는 동작을 더 포함한다.
제2 실시 예에 있어, 컴퓨팅 시스템은 다수의 요청 입력을 수신하도록 구성된 입력 인터페이스를 포함한다. 컴퓨팅 시스템은 입력 인터페이스에 연결된 적어도 하나의 프로세서를 포함한다. 컴퓨팅 시스템은 프로세서에 연결된 메모리를 더 포함한다. 메모리는 다수의 요청 입력과 관련된 인텐트 특징을 추출하기 위해 적어도 하나의 프로세서에 의해 실행 가능한 명령을 포함하고; 상기 추출된 인텐트 특징을 포함하는 다수의 그룹을 생성하고; 상기 다수의 그룹으로부터 공동 발생하는 추출된 인텐트 특징에 기초하여 클러스터를 식별하되, 상기 공동 발생하는 추출된 인텐트 특징은 다수의 도메인에 속하며; 상기 클러스터 내에서 상기 추출된 인텐트 특징의 순위를 매김으로써 원형-장면을 생성한다.
제3 실시 예에서, 다수의 명령어를 저장하도록 구성된 비-일시적 컴퓨터 판독 가능 매체가 제공된다. 상기 다수의 명령어는, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 다수의 요청 입력과 관련된 인텐트 특징을 추출하도록 구성되고; 상기 추출된 인텐트 특징을 포함하는 다수의 그룹을 생성하고; 상기 다수의 그룹으로부터 공동 발생하는 추출된 인텐트 특징에 기초하여 클러스터를 식별하고, 상기 공동 발생하는 추출된 인텐트 특징은 다수의 도메인에 속하며; 그리고 상기 클러스터 내에서 추출된 인텐트 특징의 순위를 매김으로써 원형-장면을 생성한다.
아래의 상세한 설명을 수행하기 전에, 본 특허 명세서 전체에서 걸쳐 사용되는 특정 단어 및 구절들에 대한 정의를 제시하는 것이 바람직할 수 있다. 용어 "송신한다", "수신한다", "통신한다" 및 그 파생어들은 직접 및 간접인 통신을 모두 망라한다. 용어 "포함한다", "가진다(갖는다)" 및 그 파생어들은 제한 없는 포함을 의미한다. 용어 “ 또는(or)"은 “ 및/또는(and/or)”을 의미하는 포괄적인 의미이다. 용어 "연관(관련)된" 및 그 파생어들은 포함하는, 내부에 포함되는, 상호 연결된, 함유하는, 내부에 함유되는, 연결하는 또는 연결되는, 접속하는 또는 접속되는, 통신 가능한, 협동하는, 상호 배치된(interleave), 병치되는(juxtapose), 근접하는, ~에 얽매인(bound to), 가지는(갖는), ~의 속성을 갖는, ~과 관계가 있는, 또는 이와 유사한 것을 의미한다.
더욱이, 아래에서 설명되는 다양한 기능은 하나 또는 다수의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 이들 각각은 컴퓨터 판독 가능한 프로그램 코드로 형성되고 컴퓨터 판독 가능한 매체에 구현된다. 용어 "애플리케이션" 및 "프로그램"은 하나 또는 다수의 컴퓨터 프로그램, 소프트웨어 구성 요소, 명령어 세트, 절차, 기능, 객체, 클래스, 사실(인스턴스), 관련 데이터 또는 적절한 컴퓨터 판독 가능한 프로그램 코드로써의 구현을 위해 개조된 그것들의 일부를 의미한다. "컴퓨터 판독 가능한 프로그램 코드"라는 구절은 소스 코드, 객체 코드 및 실행 코드를 포함하는 모든 유형의 컴퓨터 코드를 포함한다. "컴퓨터 판독 가능한 매체"라는 문구는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브, 컴팩트 디스크(CD), 디지털 비디오 디스크(DVD), 또는 기타 유형의 메모리와 같은 컴퓨터에 의해 액세스 가능한 모든 유형의 매체를 포함한다. "비 일시적" 컴퓨터 판독 가능한 매체는 일시적인 전기 신호 또는 기타 신호를 전송하는 유선, 무선, 광학 또는 기타 통신 링크를 제외한다. 비-일시적 컴퓨터 판독 가능한 매체는 데이터가 영구적으로 저장될 수 있는 매체 및 재-기록 가능한 광 디스크 또는 소거 가능한 메모리 장치와 같이 데이터가 저장되고 나중에 덮어쓰기 가능한 매체를 포함한다.
여기에 사용된 바와 같이, 어떤 특징(예컨대, 숫자, 기능, 연산 또는 부품과 같은 구성 요소와 같은)을 “갖는다(가진다)”, "가질 수 있다", "포함한다", 또는 "포함할 수 있다"와 같은 용어 및 구절들은 해당 특징의 존재를 나타내는 것으로서 다른 기능의 존재를 배제하지 않는다. 또한, 여기에 사용되는 것과 같이, "A 또는 B", "A 및/또는 B 중 적어도 하나" 또는 "A 및/또는 B 중 하나 또는 다수"라는 구절은 A와 B의 가능한 모든 조합을 포함할 수 있다. 예를 들어, "A 또는 B", "A 및 B 중 적어도 하나" 및 "A 또는 B 중 적어도 하나"는 (1) 적어도 하나의 A를 포함하는 것, (2) 적어도 하나의 B를 포함하는 것, 또는 (3) 적어도 하나의 A와 적어도 하나의 B를 포함하는 것의 모두를 포함할 수도 있다.
여기서 사용되는 바와 같이, 용어 "제1” 및 "제2"는 중요도에 관계없이 다양한 구성 요소를 한정할 수 있으며 그 구성 요소를 제한하지 않는다. 이들 용어는 단지 어느 한 구성 요소를 다른 구성 요소와 구별하는 데만 사용된다. 예를 들어, 제1 사용자 장치와 제2 사용자 장치는 장치의 순서나 중요성에 관계 없이 서로 다른 사용자 장치를 나타낼 수 있다. 본 개시의 범위를 벗어나지 않고 제1 구성 요소는 제2 구성 요소로 지칭될 수도 있고, 그 반대도 가능하다.
어느 한 요소(예컨대, 제1 요소)가 다른 요소(예컨대, 제2 요소)와 (작동적으로 또는 통신적으로) "접속"되거나 "연결"된 것으로 언급될 때, 그것은 다른 요소와 직접 또는 제3의 요소를 통해 접속되거나 연결될 수 있다는 것을 이해하여야 할 것이다. 대조적으로, 한 요소(예컨대, 제1 요소)가 다른 요소(예컨대, 제2 요소)에 "직접 접속"되거나 "직접 연결"되는 것으로 언급될 때, 어떤 다른 요소(예컨대, 제3의 요소)는 상기 요소와 다른 요소 사이에 개재하지 않는다는 것을 이해하여야 할 것이다.
여기에서 사용된 바와 같이, "~ 구성된(또는 설정된)"이라는 문구는 "~에 적합한", " 기능(능력)을 갖는", "설계된", "적응된", "구성된" 또는 "상황에 따라 “가능한”과 같은 어구들과 상호교환 가능하게 사용될 수 있다. "구성된(또는 설정)"이라는 문구는 본질적으로 "하드웨어에서 특별히 설계된" 것을 의미하지는 않는다. 오히려, "구성된"이라는 문구는 어떤 장치가 다른 장치 또는 부품과 함께 동작을 수행할 수 있음을 의미할 수 있다. 예를 들어, "A, B 및 C를 수행하도록 구성(또는 설정)된 프로세서"라는 문구는 메모리 장치에 저장된 하나 또는 다수의 소프트웨어 프로그램을 실행하여 동작을 수행할 수 있는 범용 프로세서(예컨대, CPU 또는 애플리케이션 프로세서) 또는 상기 동작을 수행하기 위한 전용 프로세서(예컨대, 임베디드 프로세서)를 의미할 수 있다
여기에 사용된 용어 및 문구는 본 개시의 일부 실시 예들을 설명하기 위해 제공되고 있지만, 본 개시의 다른 실시 예들의 범위를 제한하지 않는다. 단수 표현의 형태(예컨대, 영문에서 "a", "an” 및 "the"와 같은)는 문맥이 달리 명확하게 지시하지 않는 한 복수에 대한 언급도 포함한다는 것을 이해하여야 할 것이다. 여기서 사용되는 기술적 및 과학적 용어와 문구를 포함한 모든 용어 및 문구는 본 개시의 실시 예가 속하는 기술 분야의 통상의 기술자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에서 정의된 것과 같은 용어 및 구절들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 여기서 명시적으로 그렇게 정의되지 않는 한 이상화되거나 과도하게 형식적인 의미로 해석되지 않을 것임을 또한 이해하여야 할 것이다. 일부 경우에, 여기에 정의된 용어 및 문구는 본 개시의 실시 예를 배제하도록 해석될 수도 있다.
본 발명의 실시 예들에 따른 "전자 기기"의 예로는 스마트폰, 태블릿 PC, 휴대폰, 비디오 폰, 전자책 리더기, 데스크톱 PC, 랩톱 컴퓨터, 넷북 컴퓨터, 워크스테이션, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), MP3 플레이어, 모바일 의료기기, 카메라 또는 웨어러블 기기(예컨대, 스마트 안경, 헤드 장착 장치(head-mounted device: HMD), 전자 의류, 전자 팔찌, 전자 목걸이, 전자 액세서리, 전자 문신, 스마트 거울 또는 스마트 시계 등) 중의 적어도 하나를 포함할 수 있다. 전자 장치의 다른 예로는 스마트 가전이 포함되는바, 스마트 가전의 예로는 텔레비전, DVD(Digital Video Disc) 플레이어, 오디오 플레이어, 냉장고, 에어컨, 청소기, 오븐, 전자 레인지, 세탁기, 건조기, 공기 청정기, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, TV 박스(예컨대, SAMSUNG HOMESYNC, APPLETV 또는 GOOGLE TV와 같은), 게임 콘솔(예컨대, XBOX, PLAYSTATION 또는 NINTENDO와 같은), 전자 사전, 전자 키, 캠코더 또는 전자 액자 중의 적어도 하나가 포함될 수 있다. 전자 장치의 또 다른 예로는 다양한 의료 장치(예컨대, 각종 휴대용 의료 측정 장치(예컨대, 혈당 측정 장치, 심장 박동 측정 장치 또는 체온 측정 장치), 자기공명 혈관 조영술(magnetic resonance angiography: MRA) 장치, 자기공명 이미징(magnetic resource imaging: MRI) 장치, 컴퓨터 단층 촬영(computed tomography: CT) 장치, 이미징 장치 또는 초음파 장치), 내비게이션 장치, GPS(Global Positioning System) 수신기, EDR(Event Data Recorder), 비행 데이터 레코더(flight data recorder: FDR), 자동차 인포테인먼트 장치, 항해용 전자 장치(예컨대, 항해용 내비게이션 또는 자이로 나침반), 항공전자공학, 보안 장치, 차량 헤드 유닛, 산업용 또는 가정용 로봇, 현금 자동 입출금기(automatic teller machine: ATM), POS(Point of Sales) 장치 또는 사물인터넷(IoT) 장치(예컨대, 조명용 전구, 각종 센서, 전기 또는 가스 계량기, 스프링클러, 화재경보기, 온도 조절기(thermostat), 가로등, 토스터, 피트니스 장비, 온수 탱크, 히터, 또는 보일러 등) 중의 적어도 하나가 포함될 수 있다. 전자 장치의 다른 예로는 가구 또는 건물/구조물, 전자 보드, 전자 서명 수신장치, 프로젝터 또는 다양한 측정 장치(예컨대, 물, 전기, 가스 또는 전자기파 측정 장치) 중의 적어도 일부를 포함할 수 있다. 본 개시의 실시 예들에 따르면, 전자 장치는 위에 나열된 장치들 중의 하나 또는 조합일 수 있음에 유의하여야 할 것이다. 본 개시의 일부 실시 예들에 따르면, 전자 장치는 플렉시블 전자장치일 수도 있다. 본 명세서에 개시된 전자 장치는 위에 나열된 장치에만 국한되지 않으며 기술의 발전에 따라 새로운 전자 장치를 포함할 수도 있다.
이하의 설명에서, 본 개시의 실시 예들에 따른 전자 장치들이 첨부된 도면들을 참조하여 설명된다. 여기서 사용되는 바와 같이, "사용자(user)"라는 용어는 해당 전자 장치를 사용하는 사람 또는 다른 장치(예컨대, 인공지능 전자 장치)를 의미할 수 있다.
다른 특정한 단어 및 어귀에 대한 정의가 본 특허 명세서 전체에 걸쳐 제공될 수 있다. 당해 기술분야의 전문가라면, 대부분의 경우는 아니지만 많은 경우에, 그러한 정의는 그렇게 정의된 단어 및 어귀의 종래의 사용뿐만 아니라 미래의 사용에도 적용된다는 것을 이해하여야 할 것이다.
본 개시 및 그의 이점에 대한 보다 완전한 이해를 위해, 첨부된 도면과 결부하여 다음의 설명을 참조할 것이다.
도 1은 본 개시의 실시 예에 따른 예시적인 통신 시스템을 도시한다.
도 2는 본 개시의 실시 예에 따른 예시적인 서버를 도시한다.
도 3은 본 개시의 실시 예에 따른 예시적인 전자 장치를 도시한다.
도 4a 및 4b는 본 개시의 실시 예에 따라, 사용자 인텐트를 넘어 도메인을 가로 질러 가서 장면을 생성하는 장면 작성기(Scene Builder)의 능력을 도시한다.
도 5는 본 개시의 실시 예들에 따른 장면들을 생성하기 위한 예시적인 아키텍처를 도시한다.
도 6은 본 개시의 실시 예들에 따른 URH에서의 예시적인 사용자 정보를 도시한다.
도 7a 및 7b는 본 개시의 실시 예들에 따른, URH에 적용되는 슬라이스 임계치(slice thresholds)를 도시한다.
도 8a 및 8b는 본 개시의 실시 예들에 따른 슬라이싱 전후의 사용자 요청 정보의 집합으로서 URH를 도시한다.
도 9는 본 개시의 실시 예에 따른 슬라이스를 비트-벡터(bit-vectors)로 변환하는 예를 도시한다.
도 10은 본 개시의 실시 예들에 따른 비-계층적 클러스터링 알고리즘으로부터 발생하는 클러스터들의 예를 도시한다.
도 11은 본 개시 내용의 실시 예에 따른 순위 모듈(Ranking Module)을 사용하여 클러스터 내에서 인텐트를 조직하는 과정을 도시한다.
도 12는 사용자 활동과 관련된 도메인에 걸쳐 동시-발생하는 사용자 인텐트를 포함하는 원형-장면을 생성하고 저장하는 머신 러닝 알고리즘의 예시적인 방법을 예시하는 블록도이다.
아래에서 설명하는 도 1 내지 12, 및 본 특허 명세서에서 본 개시의 원리를 설명하기 위해 사용되는 다양한 실시 예들은 단지 예시의 목적을 위한 것이며, 본 개시의 범위를 제한하는 어떤 방식으로 해석되어서는 안 된다. 당해 기술분야의 전문가라면 본 개시의 원리가 임의의 적절하게 배열된 시스템에서 구현될 수 있음을 이해할 것이다.
본 개시는 일반적으로 서술형 스키마(narrative schema)를 생성하도록 설계된 도구 인 장면 작성기(씬 빌더: Scene Builder)를 제공한다. 본 개시의 실시 예들에 따르면, 이러한 스키마들은 자연어 이해(Natural Language Understanding: NLU) 시스템에 의해 지원되는 클러스터 된 머신-실행 가능한 인텐트(intent)로 구성된다. 예를 들어, NLU 시스템에 대한 머신-실행 가능한 인텐트는 "내 일정표 열기(open my calendar)", "빌에게 이메일 시작하기(start an email to Bill)”또는 "오후 5시에 알람 설정하기(set an alarm for 5pm)"일 수 있다. 사용 가능한 모든 장치 정보와 함께 이러한 요청은 NLU 시스템에 의해 사용자의 인텐트를 해석하는 데 사용된다. 시간이 지나면서 상기 시스템은 풍부한 사용자 요청의 이력을 축적한다. 사용자 요청 이력(User Request Histories: URHs)은 장면 작성기의 초석(cornerstone)이다. 실시 예에 따르면, URH는 요청 시점에서 디바이스의 상태 정보를 갖는 사용자 요청, 그 요청을 이행하는 데 병행되는 상태, 및 요청이 해결되는 상태를 포함한다. 디바이스 상태 또는 도메인은 그 디바이스가 어떻게 사용되고 있는지를 반영한다. 예를 들어, 디바이스 상태는 홈 화면을 보고 있는지 또는 브라우저 애플리케이션이나 YOUTUBE™와 같은 다른 애플리케이션이 실행 중인지를 반영한다. 사용자 요청은 구두 또는 수동으로 시스템에 제공될 수 있다. 본 개시의 실시 예들에 따르면, 사용자 요청은 구두 또는 수동 입력에 한정되지 않고, 시스템이 데이터 수집 프로세스의 일부로서 수신하도록 구성되는 임의의 입력을 포함한다. 가능한 경우, 장면 생성(scene generation)에 추가 정보가 활용될 수 있다. 이것에는 실행 위치, 연결된 장치, 사용자 속성 등이 포함된다. 시간이 지남에 따라, 장면 작성기는 디바이스 상태 또는 도메인에 걸쳐 있는 전자 장치와 상호 작용할 때 사용자에게 공통적인 다양한 활동들을 반영하는 장면의 데이터베이스를 생성한다.
본 개시의 실시 예들에 따르면, 장면(Scene)의 일례는 영화 관람과 관련된 활동에 기초하여 구성될 것이다. 예를 들어, 사용자는 먼저 웹에서 지역 극장 및 극장 영화 목록을 검색할 수 있다. 그 다음, 사용자는 몇 편의 영화에 대한 예고편을 볼 수도 있다. 사용자는 이어서 웹 사이트 또는 모바일 애플리케이션을 사용하여 티켓을 구매할 수 있다. 그 다음, 사용자는 영화관으로 가는 방향을 물을 수 있다. 일단 극장에 가면, 사용자는 자신의 전화기를 무음으로 전환할 것이다. 이러한 활동들은 함께 그룹화되어 영화를 검색하고 궁극적으로는 영화관에 가는 과정에 걸쳐 사용자에게 자동으로 안내하는 "영화 관람" 장면을 생성할 것이다.
도 1은 본 개시의 실시 예에 따른 예시적인 통신 시스템(100)을 도시한다. 도 1에 도시된 시스템(100)의 실시 예는 단지 설명을 위한 것이다. 상기 시스템(100)의 다른 실시 예들이 본 개시의 범위를 벗어남이 없이 사용될 수 있다.
상기 시스템(100)은 시스템(100)의 다양한 구성 요소들 사이의 통신을 용이하게 하는 네트워크(102)를 포함한다. 예를 들어, 네트워크(102)는 네트워크 주소들 사이에서 인터넷 프로토콜(IP) 패킷, 프레임 릴레이 프레임, 비동기형 전송 모드(Asynchronous Transfer Mode: ATM) 셀, 또는 다른 정보를 전달할 수 있다. 상기 네트워크(102)는 하나 또는 다수의 근거리 통신망(Local Area Network: LAN), 대도시 통신망(Metropolitan Area Network: MAN), 원거리 통신망(Wide Area Network: WAN), 인터넷과 같은 글로벌 네트워크의 전부 또는 일부, 또는 하나의 또는 다수의 위치에서의 임의의 다른 통신 시스템(들)을 포함한다.
이러한 예에서, 네트워크(102)는 서버(104)와 다양한 클라이언트 장치들(106-114) 사이의 통신을 용이하게 한다. 클라이언트 장치(106-114)는, 예를 들어, 텔레비전(TV), 스마트폰, 태블릿 컴퓨터, 랩톱, 개인용 컴퓨터, 웨어러블 장치, 헤드 마운트 디스플레이(HMD) 등일 수 있다. 서버(104)는 하나 또는 다수의 서버를 나타낼 수 있다. 각각의 서버(104)는 클라이언트 장치(106-114)와 같은 하나 또는 다수의 클라이언트 장치에 대한 컴퓨팅 서비스를 제공할 수 있는 임의의 적절한 컴퓨팅 또는 프로세싱 장치를 포함한다. 각각의 서버(104)는, 예를 들어, 하나 또는 다수의 프로세싱 장치, 명령 및 데이터를 저장하는 하나 또는 다수의 메모리, 및 네트워크(102)를 통한 통신을 용이하게 하는 하나 또는 다수의 네트워크 인터페이스를 포함할 수 있다.
각 클라이언트 장치(106-114)는 네트워크(102)를 통해 적어도 하나의 서버(예컨대, 서버(104)) 또는 다른 컴퓨팅 장치(들)와 상호 작용하는 임의의 적합한 컴퓨팅 또는 프로세싱 장치를 나타낸다. 본 예에서, 클라이언트 장치(106-114)는 데스크톱 컴퓨터(106), TV(107), 휴대폰 또는 모바일 장치(108)(스마트폰과 같은), PDA(110), 랩톱 컴퓨터(112), 및 태블릿 컴퓨터(114) 등을 포함한다. 그러나 임의의 다른 또는 추가적인 클라이언트 장치가 상기 시스템(100)에 사용될 수도 있다. 스마트폰은 음성, 단문 메시지 서비스(SMS), 및 인터넷 데이터 통신을 위한 모바일 운영 체제 및 통합 모바일 광대역 셀룰러 네트워크 연결을 갖는 휴대용 장치인 모바일 장치(108)의 클래스를 나타낸다. 아래에서 더 자세히 설명되는 바와 같이, 전자 장치(데스크톱 컴퓨터 106, TV 107, 모바일 장치 108, PDA 110, 랩톱 컴퓨터 112, 또는 태블릿 컴퓨터 114와 같은)는 터치 스크린에서 사용자에게 표시되는 하나 또는 다수의 사용자 인터페이스 버튼을 변경하는 사용자 인터페이스 엔진을 포함할 수 있다.
이 예에서, 일부 클라이언트 장치(108-114)는 네트워크(102)와 간접적으로 통신한다. 예를 들어, 클라이언트 장치(108 및 110)(각각 모바일 장치 108 및 PDA 110)는 셀룰러 기지국 또는 eNodeB(eNB)와 같은 하나 또는 다수의 기지국(116)을 경유해 통신한다. 또한, 클라이언트 장치(112 및 114)(각각 랩톱 컴퓨터 112 및 태블릿 컴퓨터 114)는 IEEE 802.11 무선 액세스 포인트와 같은 하나 또는 다수의 무선 액세스 포인트(118)를 경유해 통신한다. 이들은 단지 예시를 위한 것으로서 각각의 클라이언트 장치(106-114)는 네트워크(102)와 직접적으로 또는 임의의 적절한 중간 장치(들) 또는 네트워크(들)를 경유해 네트워크(102)와 간접적으로 통신할 수 있다는 것을 유의하여야 할 것이다.
일부 실시 예들에서, 클라이언트 장치(106-114) 중 어떤 것은, 예를 들어, 서버(104)와 같은 다른 장치에 안전하고 효율적으로 정보를 전송한다. 또한, 어떤 클라이언트 장치(106-114)는 자신과 서버(104) 간의 정보 전송을 유발할 수도 있다.
도 1은 통신 시스템(100)의 일례를 도시하고 있지만, 도 1에 다양한 변경이 이루어질 수도 있다. 예를 들어, 통신 시스템(100)은 임의의 적절한 배열로 임의의 수의 각 구성 요소를 포함할 수 있다. 일반적으로 컴퓨팅 및 통신 시스템은 다양한 구성으로 제공되며, 도 1은 본 개시 내용의 범위를 특정 구성으로 제한하지 않는다. 도 1은 본 특허 문서에 개시된 다양한 기능이 사용될 수 있는 하나의 운영 환경을 예시하고 있지만, 이들 기능은 임의의 다른 적절한 시스템에서 사용될 수도 있다.
도 2 및 3은 본 개시의 실시 예에 따른, 도 1의 통신 시스템(100)과 같은 통신 시스템의 예시적인 장치를 도시한다. 특히, 도 2는 예시적인 서버(200)를 도시하고, 상기 서버(200)는 도 1의 서버(104)를 나타낼 수 있다. 서버(200)는 하나 또는 다수의 로컬 서버, 하나 또는 다수의 원격 서버, 클러스터 된 컴퓨터, 및 원활한 자원, 클라우드 기반의 서버, 신경망 등의 하나의 풀의 역할을 하는 구성 요소를 나타낼 수 있다. 상기 서버(200)는 클라이언트 장치들(106-114) 중의 하나 또는 다수에 의해 액세스될 수 있다.
도 2에 도시된 바와 같이, 서버(200)는 적어도 하나의 프로세싱 장치(210), 적어도 하나의 저장 장치(215), 적어도 하나의 통신 인터페이스(220) 및 적어도 하나의 입력/출력(I/O) 장치(225) 사이의 통신을 지원하는 버스 시스템(205)을 포함한다.
프로세서와 같은 프로세싱 장치(210)는 메모리(230)에 저장될 수 있는 명령을 실행한다. 상기 프로세싱 장치(210)는 임의의 적절한 수(들) 및 유형(들)의 프로세서 또는 임의의 적절한 배열의 다른 장치를 포함할 수 있다. 프로세싱 장치(210)의 예시적인 유형은 마이크로프로세서, 마이크로컨트롤러, 디지털 시그널 프로세서, 필드 프로그래밍 가능한 게이트 어레이, 주문형 집적 회로(ASIC) 및 이산 회로를 포함한다.
메모리(230) 및 영구적 저장 장치(235)는 정보(데이터, 프로그램 코드, 또는 임시적 또는 영구적 기반의 다른 적절한 정보와 같은)의 저장 및 검색을 용이하게 할 수 있는 임의의 구조(들)를 나타내는 저장 장치(215)의 예이다. 상기 메모리(230)는 RAM 또는 임의의 다른 적절한 휘발성 또는 비-휘발성 저장 장치(들)를 나타낼 수 있다. 영구적 저장 장치(235)는 하드 드라이브, ROM, 플래시 메모리 또는 광 디스크와 같은 데이터의 장기 저장을 지원하는 하나 또는 다수의 구성 요소 또는 장치를 포함할 수 있다.
통신 인터페이스(220)는 다른 시스템 또는 장치와의 통신을 지원한다. 예를 들어, 통신 인터페이스(220)는 네트워크(102)를 통한 통신을 용이하게 하는 네트워크 인터페이스 카드 또는 무선 송수신기를 포함할 수 있다. 통신 인터페이스(220)는 임의의 적절한 물리적 또는 무선 통신 링크(들)를 통해 통신을 지원할 수 있다.
I/O 장치(225)는 데이터의 입력 및 출력을 허용한다. 예를 들어, I/O 장치(225)는 키보드, 마우스, 키패드, 터치 스크린 또는 다른 적절한 입력 장치를 통해 사용자 입력을 위한 연결을 제공할 수 있다. I/O 장치(225)는 또한 디스플레이, 프린터, 또는 다른 적절한 출력 장치로 출력을 보낼 수 있다. 그러나, I/O 장치(225)는, 예를 들어, 서버(200)와의 I/O 상호 작용이 네트워크 연결을 통해 발생할 때와 같이 생략될 수 있다는 점에 유의하여야 할 것이다.
도 2는 도 1의 서버(104)를 나타내는 것으로 기술되었지만, 동일하거나 유사한 구조가 다양한 클라이언트 장치(106-114) 중 하나 또는 다수에서 사용될 수 있다는 점에 유의하여야 할 것이다. 예를 들어, 데스크톱 컴퓨터(106) 또는 랩톱 컴퓨터(112)는 도 2에 도시된 것과 동일하거나 유사한 구조를 가질 수 있다.
도 3은 예시적인 전자 장치(300)를 도시하고, 상기 전자 장치(300)는 도 1의 클라이언트 장치(106-114) 중의 하나 또는 다수를 나타낼 수 있다. 일부 실시 예에서, 전자 장치(300)는 서버로부터 정보의 제공 및 수신과 같은 데이터 전송 애플리케이션과 함께 사용 가능하다. 전자 장치는 TV(예컨대, SAMSUNG SMART TV®일 수 있다. 전자 장치(300)는 디지털 비디오 디스크(DVD) 플레이어, TV 박스(예컨대, SAMSUNG HOMESYNC, APPLETV 또는 GOOGLE TV), 게임 콘솔(예컨대, XBOX, PLAYSTATION 또는 NINTENDO) 또는 기타 전술한 유형의 임의의 전자 장치일 수 있다. 전자 장치(300)는, 예를 들어, 모바일 스테이션, 가입자 스테이션, 무선 단말기, 데스크톱 컴퓨터(도 1의 데스크톱 컴퓨터(106)와 유사함), 휴대용 전자 디바이스(도 1의 모바일 장치(108), PDA(110), 랩톱 컴퓨터(112), 또는 태블릿 컴퓨터(114)) 등과 같은 모바일 통신 장치일 수 있다.
도 3에 도시된 바와 같이, 전자 장치(300)는 안테나(305), 통신 유닛(310), 송신(TX) 프로세싱 회로(315), 마이크로폰(320) 및 수신(RX) 프로세싱 회로(325)를 포함할 수 있다. 통신 유닛(310)은, 예컨대, 무선주파수(RF) 트랜시버, BLUETOOTH 트랜시버, WI-FI 트랜시버, ZIGBEE 트랜시버, 적외선 트랜시버 등을 포함할 수 있다. 전자 장치(300)는 또한 스피커(330), 프로세서(들)(340), 입/출력(I/O) 인터페이스(IF)(345), 입력 장치(350), 디스플레이(355), 메모리(360) 및 센서(들)(365)를 포함한다. 메모리(360)는 운영 체제(OS)(361) 및 하나 또는 다수의 애플리케이션(362)을 포함한다.
통신 유닛(310)은 안테나(305)로부터 액세스 포인트(예컨대, 기지국, WI-FI 라우터 또는 블루투스 장치) 또는 네트워크(102)의 다른 장치(예컨대, WI-FI Bluetooth, 셀룰러, 5G, LTE, LTE-A, WiMAX 또는 기타 유형의 무선 네트워크)에서 전송된 수신(incoming) RF 신호를 수신한다. 통신 유닛(310)은 입력되는 RF 신호를 하향 변환하여 중간 주파수 또는 기저대역 신호를 생성한다. 중간 주파수 또는 기저대역 신호는 상기 기저대역 또는 중간 주파수 신호를 필터링, 디코딩 및/또는 디지털화함으로써 처리된 기저대역 신호를 생성하는 RX 프로세싱 회로(325)로 전송된다. RX 프로세싱 회로(325)는 상기 처리된 기저대역 신호를 스피커(330)(예컨대, 음성 데이터를 위해) 또는 추가적인 프로세싱(예컨대, 웹 브라우징 데이터를 위해)를 위하여 프로세서(340)로 전송한다.
TX 프로세싱 회로(315)는 마이크로폰(320)으로부터 아날로그 또는 디지털 음성 데이터 또는 프로세서(340)로부터의 다른 발신(outgoing) 기저대역 데이터를 수신한다. 상기 발신 기저대역 데이터는 웹 데이터, 이메일 또는 대화형 비디오 게임 데이터를 포함할 수 있다. TX 프로세싱 회로(315)는 발신 기저대역 데이터를 인코딩, 다중화 및/또는 디지털화하여 처리된 기저대역 또는 중간 주파수 신호를 생성한다. 통신 유닛(310)은 상기 발신 처리된 기저대역 또는 중간 주파수 신호를 TX 프로세싱 회로(315)로부터 수신하고 상기 기저대역 또는 중간 주파수 신호를 안테나(305)를 통해 전송되는 RF 신호로 상향 변환한다.
프로세서(340)는 하나 또는 다수의 프로세서 또는 다른 프로세싱 장치를 포함할 수 있다. 프로세서(340)는 전자 장치(300)의 전반적인 동작을 제어하기 위하여 OS(361)와 같은 메모리(360)에 저장된 명령을 실행할 수 있다. 예를 들어, 프로세서(340)는 공지된 원리에 따라 통신 유닛(310), RX 프로세싱 회로(325), 및 TX 프로세싱 회로(315)에 의한 순방향 채널 신호 및 역방향 채널 신호의 수신 및 전송을 제어할 수 있다. 프로세서(340)는 임의의 적절한 수 및 유형의 임의의 적절한 배열의 프로세서들 또는 다른 장치들을 포함할 수 있다. 예를 들어, 일부 실시 예에서, 프로세서(340)는 적어도 하나의 마이크로 프로세서 또는 마이크로 컨트롤러를 포함한다. 프로세서(340)의 예시적인 유형에는 마이크로프로세서, 마이크로 컨트롤러, 디지털 신호 프로세서, 필드 프로그래밍 가능 게이트 어레이, 주문형 집적 회로(ASIC) 및 개별 회로가 포함된다.
프로세서(340)는 또한 신경망에 입력을 제공함으로써 수신, 저장 및 적시에 지시하는 동작과 같은 메모리(360)에 상주하는 다른 프로세스 및 프로그램을 실행할 수 있다. 프로세서(340)는 실행 프로세스에 의해 요구되는 대로 메모리(360) 안팎으로 데이터를 이동할 수 있다. 일부 실시 예에서, 프로세서(340)는 OS(361)에 기초하여 또는 외부 소스(들) 또는 오퍼레이터로부터 수신된 신호에 응답하여 다수의 애플리케이션(362)을 실행하도록 구성된다. 예시적인 애플리케이션(362)은 카메라 애플리케이션(정지 영상 및 동영상 용), 화상전화 애플리케이션, 이-메일 클라이언트, 소셜 미디어 클라이언트, SMS 메시징 클라이언트, 가상 어시스턴트 등을 포함할 수 있다. 프로세서(340)는 또한 클라이언트 장치(104-116)와 같은 다른 장치에 연결할 수 있는 능력을 전자 장치(300)에 제공하는 I/O 인터페이스(345)에 결합된다. I/O 인터페이스(345)는 이들 액세서리와 프로세서(340) 사이의 통신 경로이다.
프로세서(340)는 또한 입력(350) 및 디스플레이(355)에 결합된다. 전자 장치(300)의 오퍼레이터는 상기 입력(350)을 사용하여 전자 장치(300)에 데이터 또는 입력을 입력할 수 있다. 입력(350)은 키보드, 터치 스크린, 마우스, 트랙 볼, 음성 입력, 또는 사용자가 전자 장치(300)와 상호 작용할 수 있도록 사용자 인터페이스 역할을 할 수 있는 다른 장치일 수 있다. 예를 들어, 입력(350)은 음성 인식 처리를 포함할 수 있고, 이에 의해 사용자가 음성 명령을 입력할 수 있게 한다. 다른 예로서, 상기 입력(350)은 터치 패널, (디지털) 펜 센서, 키 또는 초음파 입력 장치를 포함할 수 있다. 터치 패널은, 예를 들면, 정전 용량 방식, 감압 방식, 적외선 방식, 초음파 방식 같은 것 중의 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 상기 입력(350)은 프로세서(340)에 추가 입력을 제공함으로써 센서(들)(365) 및/또는 카메라와 연관될 수 있다. 일부 실시 예에서, 센서(365)는 (가속도계, 자이로스코프 및 자력계와 같은) 하나 또는 다수의 관성 측정 유닛(IMU), 모션 센서, 광학 센서, 카메라, 압력 센서, 심박동 센서, 고도계 등을 포함할 수 있다. 상기 입력(350)은 또한 제어 회로를 포함할 수 있다. 정전 용량 방식에서 입력(350)은 터치 또는 근접 상태를 인식할 수 있다.
디스플레이(355)는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 LED(OLED), 능동 매트릭스 OLED(AMOLED), 또는 웹 사이트, 비디오, 게임, 이미지 등과 같은 텍스트 및/또는 그래픽을 렌더링할 수 있는 기타 디스플레이일 수 있다..
메모리(360)는 프로세서(340)에 접속된다. 메모리(360)의 일부는 RAM을 포함할 수 있고, 메모리(360)의 다른 부분은 플래시 메모리 또는 다른 ROM을 포함할 수 있다. 메모리(360)는 정보(데이터, 프로그램 코드 및/또는 다른 적절한 정보와 같은)를 저장하고 검색을 용이하게 할 수 있는 임의의 구조(들)를 나타내는 영구 저장소(도시되지 않음)를 포함할 수 있다. 메모리(360)는 읽기 전용 메모리, 하드 드라이브, 플래시 메모리 또는 광 디스크와 같은 데이터의 장기간의 저장을 지원하는 하나 또는 다수의 구성 요소 또는 장치를 포함할 수 있다.
전자 장치(300)는 물리 량을 측정하거나 전자 장치(300)의 활성화 상태를 감지하고 측정 또는 감지된 정보를 전기 신호로 변환할 수 있는 하나 또는 다수의 센서(365)를 더 포함한다. 예를 들어, 센서(365)는 터치 입력을 위한 하나 또는 다수의 버튼, 카메라, 제스처 센서, IMU 센서(예컨대, 자이로스코프 또는 자이로 센서 및 가속도계), 기압 센서, 자기 센서 또는 자력계, 그립 센서, 근접 센서, 컬러 센서, 생체-물리 센서, 온도/습도 센서, 조도 센서, 자외선(UV) 센서, 근전도(electromyography: EMG) 센서, 뇌파(electroencephalogram: EEG) 센서, 심전도(electrocardiogram: ECG) 센서, 적외선(IR) 센서, 초음파 센서, 홍채 센서, 지문 센서 등을 포함할 수 있다. 상기 센서(365)는 그 안에 포함된 센서들 중의 어떤 것을 제어하기 위한 제어 회로를 더 포함할 수 있다. 이들 센서(들)(365) 중 임의의 것은 전자 장치(300) 내에 위치할 수 있다.
도 2 및 3은 통신 시스템에서 장치들 예를 보여주고 있지만, 도 2 및 3에 대한 여러 가지의 변경이 이루어질 수 있다. 예를 들어, 도 2 및 3의 다양한 구성 요소가 특정 요구에 따라 조합되거나, 더 세분화되거나, 생략하고, 추가 구성 요소가 추가될 수도 있다. 특정 예로서, 프로세서(340)는 하나 또는 다수의 중앙처리장치(CPU) 및 하나 또는 다수의 그래픽 프로세싱 장치(GPU)와 같은 다중의 프로세서들로 분할될 수 있다. 또한, 컴퓨팅 및 통신 네트워크와 마찬가지로, 전자 장치 및 서버는 다양한 구성으로 제공될 수 있으며, 도 2 및 3은 본 개시를 특정 전자 장치 또는 서버로 한정하지 않는다.
도 4a 및 4b는 본 개시의 실시 예들에 따라, 사용자 인텐트(user intent)를 넘어서 도메인을 가로질러 도달하여 장면을 생성하는 장면 작성기(Scene Builder)의 예시적인 능력을 도시한다. 도 4A 및 4B에 도시된 장면 작성기의 실시 예는 단지 예시의 목적을 위한 것으로서 다른 실시 예들이 본 개시의 범위를 벗어나지 않고 사용될 수 있다.
도 4a 및 4b의 비제한적인 예를 참조하면, 장면 작성기는 인간이 단어를 사용하여 의미를 구성하는 방법에 기반하여 명령을 실행하는 자동 음성 인식 애플리케이션을 넘어서는 것이 가능하다. 장면 작성기는 행동의 조합 뒤에 있는 인간의 문화 및 공유 행동, 즉 사회학(sociology)에 집중하는 것이 가능하다. 예를 들어, 도 4A에 표시된 것처럼, 현재 기술은 사용자로부터 "비디오 재생(play video)"을 요청하거나 명령을 실행할 수 있다. 전자 장치는 비디오 재생 명령을 인텐트(405)로 인식할 수 있다. 전자 장치는 YOUTUBE™ 애플리케이션을 사용하여 비디오를 재생하려는 인텐트를 인식할 수 있지만 요청과 관련된 후속 행위를 결정할 때 애플리케이션의 도메인(410) 내에 또한 머무를 것이다. 장면 작성기는, 도 4B에 도시된 바와 같이 장면(415)과 연관된 전자 장치의 다양한 애플리케이션 및 기능들과 관계를 사용하기 위해 도메인들을 가로지를 수도 있다. 장면 작성기는 사용자로부터의 "비디오 재생" 명령을 인텐트(405)와 연계하여 휴대폰의 애플리케이션을 사용하여 비디오를 재생할 뿐만 아니라 FANDANGO™와 같은 다른 휴대폰 애플리케이션을 사용하여 영화를 찾는 인텐트(405)와도 그것을 연결할 수 있다. 이러한 방식으로, 장면 작성기는 전자 장치와의 일반적인 상호 작용과 관련된 인간 행동을 학습하고 도메인들(410)을 가로질러 확장되는 인텐트들(405)을 망라하는 장면들(415)을 생성한다.
도 5는 본 개시의 실시 예들에 따른 장면들을 생성하기 위한 예시적인 아키텍처를 도시한다. 도 5에 도시된 장면을 생성하기 위한 아키텍처의 실시 예는 단지 예시를 위한 것으로서, 본 개시의 범위를 벗어나지 않고 이며, 다른 실시 예들이 사용될 수 있다.
도 5의 비제한적인 예를 참조하면, 도 3의 전자 장치(300)와 같은 전자 장치(501)는 시스템 입력(505)을 NLU(Natural Language Understanding) 시스템(515)으로 전송한다. 본 개시의 실시 예들에 따르면, 전자 장치(501)는 휴대폰인 것으로 이해된다. 상기 시스템 입력(505)은 전자 장치(501)에 의해 검출된 사용자 요청 및 장치 정보를 포함한다. 시스템 입력(505)의 예는 "근처에서 상영중인 영화 찾아줘"과 같은 명령을 말하는 사용자일 수 있다. 상기 시스템 입력(505)은 시스템에 대한 구두 또는 수동 언어 요청에만 한정되지 않는다. 예를 들어, 시스템은 장면 생성과 관련된 카메라에 의해 캡쳐 된 비디오 입력과 같이 전자 장치에 의해 감지된 임의의 입력을 포함하도록 구성될 수 있다. 본 개시의 실시 예들에 따르면, 장면 생성을 가능하게 하기 위해 전자 장치(501)에 의해 사용자로부터 수신된 명령을 지칭할 때, “요청” 및 “사용자 요청”이라는 용어가 상호 교환적으로 사용된다.
본 개시의 실시 예들에 따르면, NLU 시스템(515)은 사용자 요청(505)을 처리하여 상기 요청의 단어 및 구(phrase)에 대한 어휘적(lexical), 구문론적(syntactic) 및 의미론적 특징들을 추출한다. 이 프로세스는 장치에 대해 실행 순서를 생성하기 위해 사용자 입력을 분석하는 일반적인 자동 음성 인식 프로세스와 유사하다. 어휘적 특징에는 품사(parts of speech), 단어 형상, 명명된 개체 정보 등이 포함된다. 추출된 구문론적 특징은 종속성(dependency) 또는 요소성(constituency) 정보를 반영한다. 의미론적 특징은 지식-그래프(knowledge-graph)/온톨로지(ontology) 관계를 포함하지만, 이에 국한되지는 않는다. NLU 시스템(515)은 요청에 대한 실행 명령(520)을 출력하고 상기 추출된 특징을 사용자 요청 이력(User Request Histories: URH) 데이터베이스(525)에서의 사용을 위해 서버로 전송한다. 상기 실행 명령(520)은 '실행된 인텐트(Executed Intent)'로서 URH에 반영된다(도 6에 도시된 바와 같이). 상기 실행된 인텐트는 NLU 시스템(515) 프로세스의 결과로서 사용자 요청(505)에 응답하여 전자 장치에 의해 취해지는 동작이다. 상기 추출된 '실행된 인텐트' 특징은 시스템이 전자 장치(501)에서 사용자의 인텐트를 실행하도록 설계되거나 또는 상기 인텐트를 실행하기 위한 애플리케이션을 실행하려는 목적을 가지고 있기 때문에 목표라고도 지칭된다. URH(525)는 사용자 요청의 '실행된 인텐트' 또는 목표를 반영하는 추출된 기능 및 상기 기능과 관련된 시간적(temporal) 및 디바이스 상태 정보를 포함한다. 본 개시의 실시 예들에 따르면, URH는 위치를 포함하는 사용자 및 장치와 관련된 다양한 다른 정보의 조각들을 포함할 수 있지만, 그에 한정되지는 않는다.
도 6은 본 개시의 실시 예에 따른 URH(525)에서 예시적인 추출된 특징을 도시한다. 도 6에 도시된 바와 같이, URH에서 상기 추출된 특징의 실시 예는 단지 예시를 위한 것이며, 본 개시의 범위를 벗어나지 않고 다른 실시 예들이 사용될 수도 있다.
본 개시의 실시 예들에 따르면, 장면 생성기(540)는 클러스터링 알고리즘을 사용하여 원형-장면(proto-scene)(548)을 생성한다. 클러스터링 알고리즘의 예에는 K-평균 클러스터링(K-means clustering), 계층적 응집 클러스터링(hierarchical agglomerative clustering: HAC), 평균 이동 클러스터링(mean-shift clustering), 가우시안 혼합 모델(Gaussian Mixture Models: GMM)을 사용하는 기대-최대화(Expectation-Maximization: EM) 클러스터링, 또는 노이즈를 갖는 애플리케이션의 밀도 기반 공간 클러스터링(Density-based Spatial Clustering of Applications with Noise: DBSCAN)이 포함되지만 이에 국한되지는 않는다. 장면 생성기(540)는 슬라이스 임계 값(slice threshold)에 따라 URH의 레코드를 먼저 슬라이스 또는 분할한다. 슬라이스 임계 값은 더 작은 데이터 그룹화를 달성하기 위해 URH에서 레코드를 분할하는 방법을 결정하는 데 사용되는 파라미터이다. 예를 들어, URH의 레코드는 시간 파라미터에 따라 분할될 수 있으며, 여기서 데이터는 30분 증분 단위의 그룹으로 분할된다. 슬라이스 임계 값에는 다수의 동작, 시간, 다수의 디바이스 상태 변경, 위치 및 인텐트가 포함되지만 이에 국한되지는 않는다.
도 7a 및 7b는 본 개시의 실시 예들에 따른, URH에 적용되는 슬라이스 임계 값 또는 URH 데이터베이스(525) 내의 추출된 특징(605)을 도시한다. 도 7a 및 7b에 도시된 바와 같은 추출된 특징(605)에 적용되는 슬라이싱 프로세스의 실시 예들은 단지 예시를 위한 것으로서 본 개시의 범위를 벗어나지 않고 다른 실시 예들이 사용될 수도 있다.
도 7a의 비제한적인 예를 참조하면, 슬라이스 임계 값은 시간(615)을 기반으로 한다. 30 분의 슬라이스 임계 값이 추출된 특징(605)에 적용된다. 처음 3 개의 항목들은 이 슬라이스 임계 값의 30 분을 기반으로 슬라이스(710)에 포함된다. 마찬가지로, 도 7b는 슬라이스 임계 값이 상태(610) 변경, 즉, 예를 들어, 2개의 상태마다 반영하도록 구성되기 때문에 슬라이스(720)는 상기 추출된 특징(605)으로부터의 2개의 항목만을 포함한다는 것을 예시한다.
도 8a 및 8b는 본 개시의 실시 예들에 따른 슬라이싱 전후에 추출된 인텐트 특징들의 집합으로서 URH의 예를 예시한다. 도 8a 및 8b에 도시된 URH의 실시 예들은 단지 예시를 위한 것이며, 다른 실시 예들이 본 개시의 범위를 벗어나지 않고 사용될 수도 있다.
도 8a의 비제한적인 예를 참조하면, URH(525)는 개별 추출된 특징(805) 또는 레코드의 집합으로서 예시되고 있으며, 사용자 요청 입력(505)으로부터 생기는 인텐트 특징 또는 목표만을 포함한다. 예를 들어, User_503n9는 요청 또는 인텐트로서, “이메일 확인; 콘서트 티켓 구매; 목록에 치즈 추가; 물 알림 설정; 청구서 지불; 은행 앱 열기; 페이 열기” 등을 포함한다. 도 8b는 본 개시 내용의 실시 예들에 따른 슬라이서(Slicer)(541)로부터의 출력을 예시한다. 슬라이서는 추출된 인텐트 특징(805)의 보다 정확하고 강건한 비교를 가능하게 하기 위해 더 작은 데이터 세트로 슬라이스(분할) 되는 개별 추출된 인텐트 특징들(805)의 집합을 출력한다. 본 개시의 실시 예들에 따르면, 사용자의 요청 이력은 그 자체로는 거의 완전한 장면이 아니지만 일련의 장면이 분리된 요청들로 산재되어 있기 때문에, 의미 있는 벡터를 생성하기 위해 슬라이싱이 사용된다. 슬라이서가 장면을 형성하지 않는 일련의 인텐트를 생성하는 경우, 충분한 데이터와 함께 이러한 비-장면 슬라이스들이 모델의 노이즈에 상당하고 의미 있는 클러스터를 형성하지 않을 것으로 예상된다. 도 5의 비제한적인 예를 다시 참조하면, URH(525)가 일단 슬라이스 또는 그룹(542)으로 분할되면, 각 슬라이스는 벡터화기(Vectorizer)(543)에 의해 처리되어 슬라이스 콘텐트를 클러스터링 모듈(545)에 대한 판독 가능한 포맷으로 변환한다.
도 9는 본 개시의 실시 예에 따라 슬라이스를 비트-벡터(bit-vector)로 변환하는 예를 도시한다. 도 9에 도시된 벡터화 프로세스의 실시 예는 단지 예시를 위한 것으로서 본 개시의 범위를 벗어나지 않고 다른 실시 예들이 사용될 수도 있다.
도 9의 비제한적인 예를 참조하면, 슬라이스(542)는 URH(525)에서 모든 가능한 추출된 인텐트 특징 또는 목표(920)의 목록 또는 벡터를 사용하여 비트 벡터로 변환된다. 상기 슬라이스(542)가 목표를 포함한다면, 그것은 목표 벡터(544)에서 '1'로 표시된다. 만일 상기 슬라이스(542)에 목표가 없으면, 그것은 목표 벡터(544)에서 '0'으로 표시된다. 예를 들어, 'find.email' 및 'reply.msg'는 예시적인 슬라이스(542)에 있으므로, 이들 이벤트는 목표 벡터(544)에서의 1에 해당한다. 벡터화기(543)는 다수의 슬라이스(542)에 대응하는 벡터화된 슬라이스들(544)과 같은 목표 벡터들을 출력한다.
도 10은 본 개시 내용의 실시 예에 따른 비-계층적 클러스터링 알고리즘(non-hierarchal clustering algorithm)으로부터 발생하는 클러스터(546)의 예를 도시한다. 도 10에 도시된 클러스터를 생성하기 위해 사용되는 비-계층적 클러스터링 알고리즘의 실시 예는 단지 예시를 위한 것으로서, 다른 실시 예들이 본 개시의 범위를 벗어나지 않고 사용될 수도 있다.
도 10의 비제한적인 예를 참조하면, 도 5를 다시 참조하여, 벡터화기(543)로부터 출력된 벡터화된 슬라이스(544)는 클러스터링 모듈(545)과 순위(Ranking) 모듈(547)에 공급된다. 먼저, 벡터화된 슬라이스(544)는 유사한 벡터화된 슬라이스(544)를 식별하기 위해 비-계층적 클러스터링 알고리즘을 사용하여 클러스터링 된다. 클러스터링 모듈(545)의 출력은 클러스터(546)이다. 클러스터링 알고리즘은 벡터화된 슬라이스(544)에 포함된 추출된 인텐트 특징 또는 목표를 비교하여 유사한 동시-발생 인텐트 또는 목표를 식별한다. 그 다음, 클러스터링 알고리즘은 클러스터(546)를 생성하여 서로 관련된 동시-발생 인텐트 또는 목표들을 그룹화한다. 이들 클러스터(546)는 공통의 활동과 관련되도록 도메인을 가로 질러 도달하는 인텐트 또는 목표를 포함한다.
도 10은 본 개시의 실시 예들에 따른 비-계층적 클러스터링 알고리즘에 의해 상기 벡터화 슬라이스(544)를 처리한 후의 3개의 예시적인 클러스터들(1010, 1020, 1030)을 도시한다. 예를 들어, 'Cluster13'(1020)에는 밤에 잠자리에 드는 것과 관련된 인텐트 또는 목표인 '오전 6시에 알람 설정(Set alarm for 6 am)' 및 '화면 어둡게 하기(Dim screen)'가 포함된다. 'Cluster21'(1020)에는 영화관에 가는 것과 관련된 인텐트 또는 목표인, '티켓 구매(Buy tickets)', '영화 검색(Search for movies)', '길 찾기(Get directions)'가 포함된다. 'Cluster56'(1030)에는 달리기나 조깅과 관련된 인텐트 또는 목표인 '음악 시작' 및 '추적기(tracker) 시작'이 포함되어 있다. 상기한 세 개의 클러스터에는 도메인에 걸쳐 분산된 인텐트 또는 목표가 포함된다. 예를 들어, 'Cluster21'(1020)에는 영화 관람과 관련된 목표가 포함되어 있지만, '티켓 구매'의 목표 또는 인텐트는 '길 찾기'의 목표 또는 인텐트를 실행하는 응용 프로그램과는 다른 응용 프로그램에서 실행된다.
도 11은 본 개시 내용의 실시 예에 따른, 순위 모듈(Ranking Module)(547)을 사용하여 클러스터 내에서 인텐트 또는 목표를 구성하는 프로세스를 도시한다. 도 11에 도시된 클러스터 내에서 인텐트 또는 목표를 구성하는 순위 모듈의 실시 예는 단지 예시를 위한 것으로서 다른 실시 예들이 본 개시의 범위를 벗어나지 않고 사용될 수도 있다.
도 11의 비제한적인 예를 참조함에 있어, 도 5를 다시 참조하면, 클러스터(546)가 순위 모듈(Ranking Module)(547)에 공급된다. 상기 순위 모듈(547)은 서로 유사한 클러스터(546)에 대해 순위 집계(rank aggregation)를 수행한다. 실시 예에 따르면, 데이터 세트 크기, 시스템 용량 및 분석 시간 제한에 따라서, Kendall Tau Distance 또는 Spearman Footrule Distance와 같은 다양한 거리 측정법이 사용될 수 있다. 상기 순위 집계 방법에 의해 클러스터(546)를 취하고 명령된 목표 세트를 반환할 것인데, 여기서 목표는 NLU 시스템의 특정 인텐트에 대응하고 목표 세트는 활동에 해당한다. 이러한 순위를 원형-장면(proto-scenes)(548)이라 지칭한다. 도 11은 'Cluster21'에 해당하는 예제 원형-장면 'Scene21'(1110)을 예시한다. 순위 모듈(547)은 'Cluster21'에서 세 개의 목표 또는 인텐트를 가져와 그것들을 목표가 발생하는 가장 논리적 순서를 반영하도록 명령하였다. 예시된 것과 같이, 'Scene21'은 영화 관람하기 활동을 둘러싸는 목표가 '영화 검색' 목표에 이어 '티켓 구매' 목표로 이어지고 상기 예시적인 원형-장면(1110)에서 마지막 목표인 '길 찾기' 목표로 이어지도록 명령될 가능성이 가장 높을 수 있음을 반영한다.
여기서, 도 5의 비제한적인 예를 다시 참조하면, 장면 생성기(540)의 출력인 원형-장면(548)은 본 개시 내용의 실시 예에 따라 장면 작성기(530)의 제2 구성 요소인 장면 관리자(550)로 공급된다. 상기 장면 관리자(550)는 각각의 원형-장면(548)을 장면 데이터베이스(560)의 승인된 장면과 비교한다.
본 개시의 실시 예들에 따르면, 장면 관리자(550)는 비교 모듈(551) 및 편집기(553)를 포함한다. 먼저, 비교 모듈(551)은 원형-장면(548)을 장면 데이터베이스(560)의 기존 장면과 비교한다. 비교 모듈(551)은 원형-장면(548)과 기존 장면 사이에 오버랩 되는 다수의 목표에 기초한 목표 오버랩 점수를 계산한다. 비교 모듈(551)은 또한 원형-장면(548)이 새로운 것인지 여부를 결정한다. 상기 목표 오버랩 점수 또는 신규성 평가에 기초하여, 장면 관리자(550)는 원형-장면(548)이 장면 데이터베이스(560)에 추가되어야 하는지, 기존 장면에 추가되어야 하는지, 또는 폐기되어야 하는지를 결정한다. 장면 관리자(550)가 원형-장면(548)으로부터의 적어도 하나의 목표가 기존 장면에 추가되어야 한다고 결정하면 편집기(553)는 기존 장면을 편집할 것이다.
본 개시의 실시 예들에 따르면, 장면 작성기(530)의 최종 구성 요소는 장면 데이터베이스(560)이다. 장면 데이터베이스(560)는 다른 시스템 구성 요소에 의해 사용하기 위해 승인된 장면을 저장한다.
도 12는 본 개시 내용의 실시 예들에 따른 사용자 활동과 관련된 도메인들에 걸쳐 동시-발생하는 사용자 인텐트를 포함하는 원형-장면을 생성하고 저장하는 머신 러닝 알고리즘의 예시적인 방법(1200)을 도시하는 블록도이다. 상기 방법(1200)은 서버(104) 또는 도 1의 클라이언트 장치(106-114), 도 2의 서버(200), 도 3의 전자 장치(300), 또는 임의의 다른 적절한 장치 또는 시스템에 의해 수행될 수 있다. 흐름도는 일련의 순차적 동작들을 묘사하고 있지만, 명시적으로 언급하지 않는 한, 특정한 수행의 순서, 동시적 또는 오버랩 방식이 아니라 순차적으로 과정들 또는 그 일부의 수행, 또는 개입 또는 중간 과정의 발생 없이 배타적으로 묘사된 과정들의 수행에 관하여 해당 시퀀스에서 어떤 추론도 행하여져는 안 된다.
블록 1210에서, 서버(104)는 전자 장치(300)로부터 사용자 요청 입력을 수신한다. 사용자 요청 입력은 전자 장치에 의해 수신된 구두, 수동 또는 다른 언어 명령을 통해 전자 장치에 의해 획득될 수 있다.
블록 1215에서, 인텐트 특징이 자연어 처리(Natural Language Processing: NLP) 또는 자연어 이해(Natural Language Understanding: NLU) 방법을 사용하여 추출된다. 인텐트 특징(intent features)은 사용자 요청에 대한 응답으로 전자 장치에 의해 실행되는 것과 관련된다. 인텐트 특징은 상기 요청이 이루어졌을 때 사용자가 의도한 것과, 전자 장치가 상기 요청을 실행한 방법을 반영한다. 상기 인텐트 특징은 목표라고도 지칭된다.
블록 1220에서, 사용자 요청 이력(User Request Histories: URH)이 서버(104)에 의해 생성된다. URH는 사용자 요청 및 장치 정보와 관련된 정보를 반영하는 다수의 사용자 정보 레코드를 포함한다. 예를 들어, URH는 본 개시의 실시 예들에 따른 디바이스 상태, 시간, 사용자 요청 및 사용자 요청의 실행 인텐트에 관한 정보를 포함한다.
블록 1225에서, URH는 더 작은 데이터 그룹화를 생성하기 위해 슬라이싱 또는 분할된다. URH는 미리 결정된 슬라이스 임계 값에 따라 슬라이싱 되는데, 이것은 다수의 행위들, 시간, 다수의 디바이스 상태 변경, 위치 및 인텐트를 포함하지만, 이에 제한되지 않는다.
블록 1230에서, URH의 슬라이스가 벡터로 변환된다. 벡터는 각 슬라이스의 특징에 해당한다. 특징에는 목표, 워드 임베딩(word embeddings), 날짜 및 시간 정보, 지리적 좌표 및/또는 장치 정보가 포함되지만, 이들에만 국한되지는 않는다.
블록 1235에서, 벡터에 적용된 비-계층적 클러스터링 알고리즘은 인텐트 클러스터를 생성한다. 인텐트 클러스터는 활동 또는 장면과 관련된 도메인에 걸쳐서 인텐트 또는 목표를 반영한다.
블록 1240에서, 순위 집계 방법이 각 클러스터에 적용된다. 순위화 방법은 각 클러스터를 가져와서 그것을 원형-장면이라 지칭되는 명령된 인텐트 또는 목표들의 세트로서 반환할 것이다. 여기서 각 원형-장면은 활동에 해당한다.
블록 1245에서, 원형-장면은 장면 데이터베이스의 기존 장면과 비교된다. 서버는 원형-장면을 데이터베이스에 추가해야 하는지, 폐기해야 하는지 또는 기존 씬이 수정되어야 하는지 여부를 결정한다. 상기 원형-장면이 새로운 경우 서버는 그 원형-장면을 장면 데이터베이스에 추가한다. 서버가 기존 장면을 수정해야 한다고 결정하면, 서버는 편집 명령을 실행하여 원형-장면이 적어도 하나의 인텐트 또는 목표를 포함하도록 기존 장면의 수정을 수행할 것이다.
다양한 특징이 도면에 도시되고 위에서 설명되었지만, 도면에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 도 1 내지 12에 도시된 구성 요소의 크기, 모양, 배열 및 레이아웃은 단지 예시를 위한 것이다. 각 구성 요소는 적절한 크기, 모양 및 치수를 가질 수 있으며, 다수의 구성 요소들이 적절한 배열 및 레이아웃을 가질 수 있다. 또한, 도 1 내지 12의 다양한 구성 요소가 결합되거나, 더 세분화되거나, 생략될 수도 있고, 특정 요구에 따라 추가적인 구성 요소가 부가될 수도 있다. 또한, 장치 또는 시스템의 각 구성 요소는 설명된 기능(들)을 수행하기 위한 임의의 적절한 구조(들)를 사용하여 구현될 수 있다. 또한, 도 12는 다양한 일련의 동작을 예시하고 있지만, 도 12의 다양한 동작은 중첩하거나, 병렬로 발생하거나, 여러 번 발생하거나, 다른 순서로 발생할 수도 있다.
본 출원의 설명은 특정 요소, 과정 또는 기능이 청구 범위에 포함되어야 하는 필수 요소임을 암시하는 것으로 이해되어서는 안 될 것이다. 특허되는 주제의 범위는 청구 범위에 의해서만 정의된다.

Claims (15)

  1. 복수의 요청 입력들을 수신하는 동작;
    상기 복수의 요청 입력들과 관련된 인텐트(intent) 특징들을 추출하는 동작;
    상기 추출된 인텐트 특징들을 포함하는 복수의 그룹들을 생성하는 동작;
    상기 복수의 그룹으로부터 동시-발생하는 추출된 인텐트 특징들에 기초하여 클러스터를 식별하되, 상기 동시-발생하는 추출된 인텐트 특징들은 복수의 도메인들에 속하는 것인 동작; 및
    상기 클러스터 내에서 상기 추출된 인텐트 특징들의 순위화에 부분적으로 기반으로 하여 원형-장면(proto-scene)을 생성하는 동작을 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 그룹들을 생성하는 동작은,
    상기 복수의 요청 입력들에 기초하여 상기 추출된 인텐트 특징들을 포함하는 요청 이력들을 생성하는 동작; 및
    슬라이스 임계 값들에 따라 상기 요청 이력들을 슬라이싱하는 동작을 포함하는 것인 방법.
  3. 제2항에 있어서,
    상기 슬라이스 임계 값들은 동작들의 수, 지속 시간, 디바이스 상태 변경들의 횟수, 위치 정보 또는 인텐트 중의 적어도 하나에 기초하는 것인 방법.
  4. 제1항에 있어서,
    상기 추출된 인텐트 특징들은 요청, 목표, 상기 요청의 시간, 또는 상기 요청과 관련된 디바이스 상태 중 적어도 하나를 포함하는 것인 방법.
  5. 제1항에 있어서,
    상기 추출된 인텐트 특징들을 순위(랭킹)화 하는 동작은 순위 집계 방법 중 적어도 하나에 의해 수행되는 것인 방법.
  6. 제1항에 있어서,
    상기 원형-장면은 활동과 관련된 복수의 목표들을 반영하는 것인 방법.
  7. 제6항에 있어서,
    장면 관리를 위한 목표 오버랩 임계 값에 따라 장면 데이터베이스의 기존 장면들과 상기 원형-장면을 비교하는 동작을 더 포함하고,
    상기 장면 관리는 상기 원형-장면을 상기 장면 데이터베이스에 추가하는 동작, 상기 원형-장면으로부터의 적어도 하나의 목표를 통합하기 위해 상기 장면 데이터베이스로부터의 기존 장면을 수정하는 동작, 또는 상기 원형-장면을 폐기하는 동작을 포함하는 것인 방법.
  8. 컴퓨팅 시스템에 있어서,
    복수의 요청 입력들을 수신하도록 구성된 입력 인터페이스;
    상기 입력 인터페이스에 연결된 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 결합된 메모리를 포함하고, 상기 메모리는 상기 적어도 하나의 프로세서에 의해,
    상기 복수의 요청 입력들과 관련된 인텐트(intent) 특징들을 추출하고,
    상기 추출된 인텐트 특징들을 포함하는 복수의 그룹들을 생성하고,
    상기 복수의 그룹들로부터 동시-발생하는 추출된 인텐트 특징들에 기초하여 클러스터를 식별하고 -상기 동시-발생하는 추출된 인텐트 특징은 다수의 도메인들에 속함-, 및
    상기 클러스터 내에서 상기 추출된 인텐트 특징들의 순위화에 기초하여 원형-장면을 생성하는 것을 수행하도록 실행 가능한 명령어를 포함하는 것인 컴퓨팅 시스템.
  9. 제8항에 있어서, 상기 메모리는,
    상기 복수의 요청 입력들에 기초하여 상기 추출된 인텐트 특징들을 포함하는 요청 이력들을 생성하고; 및
    슬라이스 임계 값들에 따라 상기 요청 이력들을 슬라이싱 함으로써,
    상기 복수의 그룹을 생성하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령어를 포함하는 컴퓨팅 시스템.
  10. 제9항에 있어서,
    상기 슬라이스 임계 값들은 동작들의 수, 지속 시간, 디바이스 상태 변경들의 횟수, 위치 정보 또는 인텐트 중의 적어도 하나에 기초하는 것인 컴퓨팅 시스템.
  11. 제8항에 있어서,
    상기 추출된 인텐트 특징들은 요청, 목표, 상기 요청의 시간, 또는 상기 요청과 관련된 디바이스 상태 중 적어도 하나를 포함하는 것인 컴퓨팅 시스템.
  12. 제8항에 있어서,
    상기 메모리는 순위 집계 방법 중 적어도 하나를 실행함으로써 상기 추출된 인텐트 특징들의 순위화를 달성하기 위해 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령어를 포함하는 것인 컴퓨팅 시스템.
  13. 제8항에 있어서,
    상기 원형-장면은 활동과 관련된 복수의 목표들을 반영하는 것인 컴퓨팅 시스템.
  14. 제13항에 있어서, 상기 메모리는,
    장면 관리를 위한 목표 오버랩 임계 값에 따라 장면 데이터베이스의 기존 장면들과 원형-장면을 비교하는 동작을 수행하도록 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령들을 포함하고,
    상기 장면 관리는 상기 원형-장면을 상기 장면 데이터베이스에 추가하는 동작, 상기 원형-장면으로부터의 적어도 하나의 목표를 통합하기 위해 상기 장면 데이터베이스로부터의 기존 장면을 수정하는 동작, 또는 상기 원형-장면을 폐기하는 동작을 포함하는 컴퓨팅 시스템.
  15. 비-일시적 컴퓨터 판독 가능 매체에 있어서, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가,
    입력 인터페이스를 통해 수신된 복수의 요청 입력들로부터 상기 복수의 요청 입력들과 관련된 인텐트 특징들을 추출하고,
    상기 추출된 인텐트 특징들을 포함하는 복수의 그룹들을 생성하고,
    상기 복수의 그룹들로부터 동시-발생하는 추출된 인텐트 특징들에 기초하여 클러스터를 식별하고 - 상기 동시-발생하는 추출된 인텐트 특징들은 복수의 도메인들에 속함-, 및
    상기 클러스터 내에서 추출된 인텐트 특징들의 순위화에 기초하여 원형-장면을 생성하되, 상기 원형-장면은 활동과 관련된 복수의 목표들을 반영하도록 구성되는 다수의 명령들을 저장하도록 구성된 비-일시적 컴퓨터 판독 가능 매체.
KR1020207037802A 2018-09-12 2019-09-11 장면 작성기를 위한 시스템 및 방법 KR20210044188A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862730487P 2018-09-12 2018-09-12
US62/730,487 2018-09-12
US16/566,459 US11481558B2 (en) 2018-09-12 2019-09-10 System and method for a scene builder
US16/566,459 2019-09-10
PCT/KR2019/011818 WO2020055156A1 (en) 2018-09-12 2019-09-11 System and method for a scene builder

Publications (1)

Publication Number Publication Date
KR20210044188A true KR20210044188A (ko) 2021-04-22

Family

ID=69720877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037802A KR20210044188A (ko) 2018-09-12 2019-09-11 장면 작성기를 위한 시스템 및 방법

Country Status (3)

Country Link
US (1) US11481558B2 (ko)
KR (1) KR20210044188A (ko)
WO (1) WO2020055156A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616419B1 (en) * 2018-12-12 2020-04-07 Mitel Networks Corporation Devices, systems and methods for communications that include social media clients
CN115134614B (zh) * 2021-03-29 2024-01-02 北京字节跳动网络技术有限公司 任务参数配置方法、装置、电子设备及计算机可读存储介质
CN113687878B (zh) * 2021-08-23 2023-12-01 北京京东振世信息技术有限公司 一种信息交互方法、装置、设备及存储介质
CN117706954B (zh) * 2024-02-06 2024-05-24 青岛海尔科技有限公司 一种用于场景生成的方法及装置、存储介质、电子装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6499013B1 (en) 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
JP2000293685A (ja) 1999-04-06 2000-10-20 Toyota Motor Corp シーン認識装置
US7496500B2 (en) 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7657519B2 (en) 2004-09-30 2010-02-02 Microsoft Corporation Forming intent-based clusters and employing same by search
US9530405B2 (en) 2012-11-30 2016-12-27 Mitsubishi Electric Corporation Intention estimating device and intention estimating method
CN105574067B (zh) 2014-10-31 2020-01-21 株式会社东芝 项目推荐装置以及项目推荐方法
KR101624184B1 (ko) 2015-03-11 2016-06-07 연세대학교 산학협력단 에이전트 시스템을 위한 행동학습 모델의 의도-대응 인터페이스 장치 및 방법
EP3267368B1 (en) 2016-07-06 2020-06-03 Accenture Global Solutions Limited Machine learning image processing
KR20180055189A (ko) 2016-11-16 2018-05-25 삼성전자주식회사 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치
US10394954B2 (en) 2017-02-27 2019-08-27 Intel Corporation Natural language intent and location determination method and apparatus

Also Published As

Publication number Publication date
US11481558B2 (en) 2022-10-25
US20200081981A1 (en) 2020-03-12
WO2020055156A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
US11810576B2 (en) Personalization of experiences with digital assistants in communal settings through voice and query processing
US11481558B2 (en) System and method for a scene builder
KR101959368B1 (ko) 사용자 디바이스의 활성 페르소나 결정
US20170223392A1 (en) Automatic recognition of entities in media-captured events
KR20160071732A (ko) 음성 입력을 처리하는 방법 및 장치
US10860801B2 (en) System and method for dynamic trend clustering
US11451875B2 (en) Machine learning-based approach to demographic attribute inference using time-sensitive features
US11232783B2 (en) System and method for dynamic cluster personalization
CN114357278B (zh) 一种话题推荐方法、装置及设备
CN112269867A (zh) 用于推送信息的方法、装置、设备以及存储介质
US11545144B2 (en) System and method supporting context-specific language model
CN111611369B (zh) 基于人工智能的交互方法和相关装置
KR102569998B1 (ko) 어플리케이션에 대한 알림을 관리하는 방법 및 그 전자 장치
WO2024030244A1 (en) System and method of providing search and replace functionality for videos
KR102427085B1 (ko) 학습 서비스를 제공하는 전자 장치 및 이의 동작 방법
US20230048920A1 (en) System and method for implementing federated learning engine for integration of vertical and horizontal ai
US20230017951A1 (en) Artificial intelligence-based multi-goal-aware device sampling
US11423225B2 (en) On-device lightweight natural language understanding (NLU) continual learning
US20170171292A1 (en) Generating Software Application Search Results Using Shared Application Connections
Wang Scaling Wearable Cognitive Assistance
CN111949821A (zh) 视频推荐方法、装置、电子设备和存储介质
US20220374935A1 (en) Method of deep learning user interface and automatically recommending winner of different variants for user interface based experiments
US11868414B1 (en) Graph-based prediction for contact suggestion in a location sharing system
US20240169711A1 (en) Multi-modal understanding of emotions in video content
KR20170078088A (ko) 차량정보시스템

Legal Events

Date Code Title Description
A201 Request for examination