KR20190017619A - 대화에서 문맥 전환을 결정하기 위한 시스템 및 방법 - Google Patents

대화에서 문맥 전환을 결정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190017619A
KR20190017619A KR1020177037435A KR20177037435A KR20190017619A KR 20190017619 A KR20190017619 A KR 20190017619A KR 1020177037435 A KR1020177037435 A KR 1020177037435A KR 20177037435 A KR20177037435 A KR 20177037435A KR 20190017619 A KR20190017619 A KR 20190017619A
Authority
KR
South Korea
Prior art keywords
query
type
token
control circuitry
entity
Prior art date
Application number
KR1020177037435A
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 KR20190017619A publication Critical patent/KR20190017619A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • 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/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/3332Query translation
    • G06F16/3338Query expansion
    • 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
    • G06F17/277
    • G06F17/279
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

문맥을 유지할 것인지 또는 유지하지 않을 것인지의 여부를 대화 시스템에게 훈련시키기 위해 인공 신경망을 활용하는 새로운 기술을 통해 종래의 대화 시스템에서의 단점을 해결하기 위한 시스템 및 방법이 설명된다. 몇몇 양태에서, 상호 작용식 미디어 안내 애플리케이션은, 제1 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정한다. 상호 작용식 미디어 안내 애플리케이션은 제1 질의에서 제1 토큰을 그리고 제2 질의에서 제2 토큰을 결정한다. 상호 작용식 미디어 안내 애플리케이션은 제1 및 제2 토큰에 대한 엔티티 데이터를 식별한다. 상호 작용식 미디어 안내 애플리케이션은, 지식 그래프로부터, 제1 및 제2 토큰에 대한 엔티티 데이터 사이의 그래프 연결을 검색한다. 상호 작용식 미디어 안내 애플리케이션은 이 데이터를 인공 신경망에 대한 입력으로 적용한다. 상호 작용식 미디어 안내 애플리케이션은 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 결정한다.

Description

대화에서 문맥 전환을 결정하기 위한 시스템 및 방법
배경
문맥 유지 또는 전환은 임의의 대화 시스템에 의해 이루어져야 하는 중요한 결정이다. 예를 들면, "show me action movies(액션 영화를 보여줘)"라는 질의(query)와 "with Tom Cruise(톰 크루즈(Tom Cruise)가 나오는)"라는 다른 후속하는 질의가 있는 경우, 대화 시스템은 질의 전체에 걸쳐 문맥을 유지할 것으로 기대된다. 그러나 제2 질의가 "how about some comedy(코미디는 어때)"였다면, 대화 시스템은 문맥을 전환할 것으로 예상된다. 이 문제를 해결하기 위한 종래의 접근법은, 후속 질의가 제1 질의에 연결되는지 여부를 결정하는 일련의 규칙을 갖는 것이다. 그러나, 규칙 기반 시스템은 엄격하고 자연 언어 대화(natural language conversation) 동안 발생할 수도 있는 모든 가능한 상황을 해결하기 위해 프로그래머가 관여되어야 하는 것을 필요로 한다.
개요
문맥을 유지할 것인지 또는 유지하지 않을 것인지의 여부를 대화 시스템에게 훈련시키기 위해 인공 신경망(artificial neural network)을 활용하는 새로운 기술을 통해 종래의 대화 시스템에서의 단점을 해결하기 위한 시스템 및 방법이 설명된다. 몇몇 양태에서는, 상호 작용식 미디어 안내 애플리케이션에서, 유저는 자연 언어 질의를 통해 미디어 자산을 요청할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은, 자연 언어 질의를 프로세싱하기 위한 대화 시스템을 포함할 수도 있다. 대화 시스템은, 질의에 걸쳐 문맥을 유지할지 또는 유지하지 않을지의 여부를 결정하기 위해 인공 신경망을 사용하여 훈련될 수도 있다. 입력 레이어에서, 인공 신경망은 이전 및 다음 질의의 예를 제공 받을 수도 있다. 공통 단어 또는 필러 워드(filler word), 예를 들면, 기사를 필터링하기 위해, 그리고 잠재적인 피쳐로서 작용할 수 있는 단어만을 고려하기 위해, 초기 레이어가 옵션적으로(optionally) 추가될 수도 있다. 그 다음, 이전 및 다음 질의의 모든 단어 및 어구가 잠재적인 피쳐로 간주된다. 또한, 질의에서의 엔티티는 엔티티 타입에 의해 대체될 수도 있다. 예를 들면, "movies with Tom Cruise(톰 크루즈가 나오는 영화)"는 "movies with(~가 나오는 영화)"로 대체될 수도 있다. 이런 식으로, 특정한 예는 질의의 전체 클래스를 나타낼 수 있다.
몇몇 실시형태에서, 인공 신경망의 훈련은, 문맥이 보존되는 이전-다음 질의의 다수의 예를 제공하는 것 및 문맥이 보존되지 않는 이전-다음 질의의 다수의 예를 제공하는 것을 수반한다. 은닉 레이어(hidden layer)의 수는 인공 신경망의 정확성을 제어하기 위해 사용할 수 있는 파라미터일 수 있다. 일단 인공 신경망이 훈련되면, 그것은 실제 유저 질의에서 문맥 전환을 검출하기 위해 사용될 수 있다. 이 방법의 한 가지 이점은, 실패할 때마다 더 많은 예를 가지고 네트워크를 계속 훈련시키고 따라서 시간이 지남에 따라 네트워크가 모든 가능한 상황을 학습할 수도 있다는 능력이다. 예를 들면, 네트워크가 문맥 전환 검출에 실패하는 경우 또는 아무 것도 존재하지 않는 곳에서 문맥 전환을 나타내는 경우 유저는 피드백을 제공할 수도 있다.
몇몇 양태에서, 제어 회로부(circuitry) 상에서 구현되는 상호 작용식 미디어 안내 애플리케이션은 제1 질의 및 제2 질의를 수신한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 질의 "movies of Tom Cruise(톰 크루즈의 영화)" 및 제2 질의 "with Nicole Kidman(니콜 키드만(Nicole Kidman)이 함께 나오는)"을 수신할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 각각의 질의를 복수의 토큰으로 분리한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 질의를 토큰 "movies of(~의 영화)" 및 "Tom Cruise(톰 크루즈)"로 분리하고 제2 질의를 토큰 "with(~가 함께 나오는)" 및 "Nicole Kidman(니콜 키드만)"로 분리할 수도 있다. 각각의 토큰의 경우, 상호 작용식 미디어 안내 애플리케이션은 토큰에 대한 가능한 엔티티 타입 및 그 엔티티 타입에 속하는 토큰의 확률을 결정한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 토큰 "Tom Cruise(톰 크루즈)"에 대한 가능한 엔티티 타입 "Actor(배우)" 및 엔티티 타입에 속하는 토큰의 확률이 0.99인 것을 그리고 다른 가능한 엔티티 타입 "Location(위치)" 및 엔티티 타입에 속하는 토큰의 확률이 0.01인 것을 결정할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 토큰 "Nicole Kidman(니콜 키드만)"에 대한 가능한 엔티티 타입 "Actor(배우)" 및 엔티티 타입에 속하는 토큰의 확률이 1인 것을 결정할 수도 있다.
토큰에 걸친 가능한 엔티티 타입의 각각의 쌍에 대해, 상호 작용식 미디어 안내 애플리케이션은 가능한 엔티티 타입의 쌍에 대한 그래프 연결(graph connection)을 검색한다. 상호 작용식 미디어 안내 애플리케이션은 이 데이터를 인공 신경망의 입력에 적용한다. 상호 작용식 미디어 안내 애플리케이션은, 제1 질의와 제2 질의 사이의 대화 연속성(conversation continuity) 및 대화 연속성의 타입을 나타내는 출력을 수신한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 제1 질의와 제2 질의 사이의 대화 연속성의 병합 타입이 존재한다는 것을 나타내는 출력을 수신할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 출력에 기초하여 제2 질의를 업데이트한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 제2 질의를 제1 질의와 병합하는 것에 의해 제2 질의를 업데이트할 수도 있다, 즉, "movies of Tom Cruise with Nicole Kidman(니콜 키드만과 함께 나오는 톰 크루즈의 영화)". 상호 작용식 미디어 안내 애플리케이션은 제2 질의에 대한 결과를 수신한다.
몇몇 실시형태에서, 인공 신경망으로의 입력으로서 제공되는 피쳐는, 이전 및 현재 질의의 단어/토큰, 각각의 토큰이 참조하는 엔티티 타입의 확률(예를 들면, R은 R 등급뿐만 아니라 "R"이라는 제목의 영화를 나타낼 수도 있다), 다양한 엔티티 사이의의 그래프 연결, 및 다른 적절한 피쳐를 포함한다. 피쳐는 네트워크로의 상이한 입력으로서 제공된다. 네트워크는, 대화 연속성의 타입을 나타내는 다중 클래스를 나타내는 출력을 나중에 생성하기 위한 하나 이상의 은닉 레이어를 구비할 수도 있다.
예를 들면, 대화 연속성의 하나의 타입은 병합 연속성(merge continuity)이다. 이 상황에서, 다음 질의가 이전 질의의 연속인 경우 이전 질의와 다음 질의는 병합된다. 이전 및 다음 질의의 예시적인 세트는 "movies of Tom Cruise(톰 크루즈의 영화)" 및 "with Nicole Kidman(니콜 키드만이 함께 나오는)"일 수도 있다. 이전 및 다음 질의의 다른 예시적인 세트는 "get me some good Sci-Fi movies(좋은 공상 영화를 좀 보여줘)" 및 "on NETFLIX(넷플릭스에서)"일 수도 있다. 이전 및 다음 질의의 여전히 다른 예시적인 세트는 "looking for Tom Cruise flicks(톰 크루즈 영화를 찾아줘)" 및 "interested in the ones with Nicole Kidman(니콜 키드만과 함께 나오는 영화에 관심이 있어)"일 수도 있다.
예를 들면, 다른 타입의 대화 연속성은 대체 연속성(replacement continuity)이다. 이러한 경우, 이전 질의의 일부가 다음 질의의 일부로 대체된다. 이전 질의와 다음 질의의 예시적인 세트는 "is there any Red Sox game tonight(오늘 밤 레드 삭스 경기가 있어)"와 "how about tomorrow(내일은 어때?)"일 수도 있다. 이 상황에서, 다음 질의로부터의 "tomorrow(내일)"은 이전 질의의 "tonight(오늘 밤)"을 대체한다.
예를 들면, 다른 타입의 대화 연속성은 명확화 연속성(clarification continuity)이다. 이 상황에서, 다음 질의는, 이전 질의에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의로부터의 앞선 엔티티를 명확하게 한다. 이전 및 다음 질의의 예시적인 세트는 "who won the Broncos game(누가 브롱코스 게임을 이겼지?)" 및 "I meant the college team(대학 팀을 말한 거야)"일 수도 있다. 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다. 이전 질의 및 다음 질의의 다른 예시적인 세트는, "Beethoven movies(베토벤 영화)" 및 "I meant the dog(개를 말한거야)"일 수도 있다. 마찬가지로 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다.
몇몇 양태에서, 본원에서 설명되는 시스템 및 방법은, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 상호 작용식 미디어 안내 애플리케이션을 제공한다. 상호 작용식 미디어 안내 애플리케이션은 유저 입력 디바이스를 통해 유저로부터 제1 질의를 수신한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 질의 "Give me some Beethoven movies(베토벤 영화를 좀 보여줘)"를 수신할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스로부터 제1 질의에 대한 제1 검색 결과(search result)를 검색한다(retrieve). 상호 작용식 미디어 안내 애플리케이션은 디스플레이를 위해 제1 검색 결과를 생성한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 디스플레이를 위해 검색 결과 "Beethoven: A Documentary(베토벤: 다큐멘터리)" 및 "Beethoven Musical Genius(베토벤 음악 천재)"를 검색 및 생성할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 유저 입력 디바이스를 통해 유저로부터 제2 질의를 수신한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제2 질의 "I meant the Dog(개를 말한거야)"를 수신할 수도 있다.
상호 작용식 미디어 안내 애플리케이션은 제1 질의에서 제1 토큰을 결정한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 질의에서 제1 토큰 "Beethoven(베토벤)"을 결정할 수도 있다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 제1 질의에서 제1 용어(term) 및 제2 용어를 식별하는 것, 제1 용어가 필러 워드이다는 것을 결정하는 것, 제2 용어가 필러 워드가 아니다는 것을 결정하는 것, 및 제2 용어를 제1 토큰인 것으로 할당하는 것에 의해, 제1 질의에서 제1 토큰을 결정한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 제1 질의의 다른 용어 중에서도, "some(좀)" 및 "Beethoven(베토벤)"을 식별할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 "some(좀)"이 필러 워드가 된다는 것 및 "Beethoven(베토벤)"이 필러 워드가 아니다는 것을 결정할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 "베토벤"을 제1 토큰으로 할당할 수도 있다.
상호 작용식 미디어 안내 애플리케이션은 제2 질의에서 제2 토큰을 결정한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 제2 질의에서 "Dog(개)"가 제2 토큰이 되는 것을 결정할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 제1 토큰에 대한 제1 엔티티 데이터를 식별한다. 제1 엔티티 데이터는, 제1 토큰에 대한 제1 엔티티 타입, 제1 엔티티 타입이 제1 토큰에 대응하는 제1 확률, 제1 토큰에 대한 제2 엔티티 타입, 및 제2 엔티티 타입이 제1 토큰에 대응하는 제2 확률을 포함한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 엔티티 타입 "Musician(음악가)"과 0.75의 제1 확률 및 제2 엔티티 타입 "Dog(개)"와 0.25의 제2 확률을 식별할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 제2 토큰에 대한 제2 엔티티 데이터를 식별한다. 제2 엔티티 데이터는, 제2 토큰에 대한 제3 엔티티 타입, 제3 엔티티 타입이 제2 토큰에 대응하는 제3 확률, 제2 토큰에 대한 제4 엔티티 타입, 및 제4 엔티티 타입이 제2 토큰에 대응하는 제4 확률을 포함한다.
상호 작용식 미디어 안내 애플리케이션은, 지식 그래프(knowledge graph)로부터, 제1 엔티티 데이터와 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색한다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 토큰 "Beethoven(베토벤)"에 대한 제1 엔티티 데이터와 제2 토큰 "Dog(개)"에 대한 제2 엔티티 데이터 사이의 그래프 연결을 검색할 수도 있다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 제1 엔티티 타입인 제1 토큰과 제3 엔티티 타입인 제2 토큰 사이의 제1 그래프 연결을 검색하는 것, 제2 엔티티 타입인 제1 토큰과 제3 엔티티 타입인 제2 토큰 사이의 제2 그래프 연결을 검색하는 것, 제1 엔티티 타입인 제1 토큰과 제4 엔티티 타입인 제2 토큰 사이의 제3 그래프 연결을 검색하는 것, 및 제2 엔티티 타입인 제1 토큰과 제4 엔티티 타입인 제2 토큰 사이의 제4 그래프 연결을 검색하는 것에 의해, 제1 엔티티 데이터와 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색한다.
상호 작용식 미디어 안내 애플리케이션은, 제1 토큰, 제2 토큰, 제1 엔티티 데이터, 제2 엔티티 데이터, 및 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용한다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 제1 토큰에 대한 제1 값을 인공 신경망의 입력 레이어의 제1 가중치와 승산하는 것, 제2 토큰에 대한 제2 값을 인공 신경망의 입력 레이어의 제2 가중치와 승산하는 것, 제1 엔티티 데이터에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것, 제2 엔티티 데이터에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것, 및 하나 이상의 그래프 연결에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것에 의해, 제1 토큰, 제2 토큰, 제1 엔티티 데이터, 제2 엔티티 데이터, 및 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용한다.
상호 작용식 미디어 안내 애플리케이션은, 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 인공 신경망으로부터 결정한다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을, 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하는 것 및 승산으로부터의 결과 값을 가산하여 출력 값을 결정하는 것에 의해, 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 인공 신경망으로부터 결정한다.
상호 작용식 미디어 안내 애플리케이션은 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 대화 연속성의 타입을 병합 타입인 것으로 식별하는 것 및 대화 연속성의 타입을 병합 타입인 것으로 식별하는 것에 기초하여 제2 질의를 제1 질의와 병합하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 이전 및 다음 질의는, 다음 질의가 이전 질의의 연속인 경우 병합될 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "movies of Tom Cruise(톰 크루즈의 영화)" 및 "with Nicole Kidman(니콜 키드만이 함께 나오는)"일 수도 있다. 이전 및 다음 질의의 다른 예시적인 세트는 "get me some good Sci-Fi movies(좋은 공상 영화를 보여줘)" 및 "on NETFLIX(넷플릭스에서)"일 수도 있다. 이전 및 다음 질의의 여전히 다른 예시적인 세트는 "looking for Tom Cruise flicks(톰 크루즈 영화를 찾아줘)" 및 "interested in the ones with Nicole Kidman(니콜 키드만과 함께 나오는 영화에 관심이 있어)"일 수도 있다.
몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 대화 연속성의 타입을 대체 타입인 것으로 식별하는 것, 제1 질의의 일부를 대체하는 제2 질의의 일부를 결정하는 것, 및 제1 질의의 일부가 제2 질의의 일부로 대체되면 제2 질의가 제1 질의가 된다는 것을 결정하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 이전 질의의 일부는 다음 질의의 일부로 대체될 수도 있다. 이전 질의와 다음 질의의 예시적인 세트는 "is there any Red Sox game tonight(오늘 밤 레드 삭스 경기가 있어?)"와 "how about tomorrow(내일은 어때?)"일 수도 있다. 이 상황에서, 다음 질의로부터의 "tomorrow(내일)"은 이전 질의의 "tonight(오늘 밤)"을 대체한다.
몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 대화 연속성의 타입을 명확화 타입(clarification type)인 것으로 식별하는 것, 제2 질의에 기초하여 제1 질의의 제1 토큰에 대한 대안적인 엔티티 타입을 결정하는 것, 및 제1 토큰이 대안적인 엔티티 타입이면 제2 질의가 제1 질의가 된다는 것을 결정하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 다음 질의는, 이전 질의에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의로부터의 앞선 엔티티를 명확하게 할 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "who won the Broncos game(누가 브롱코스 게임을 이겼지?)" 및 "I meant the college team(대학 팀을 말한 거야)"일 수도 있다. 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다. 이전 질의 및 다음 질의의 다른 예시적인 세트는, "Beethoven movies(베토벤 영화)" 및 "I meant the dog(개를 말한거야)"일 수도 있다. 마찬가지로 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다.
몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 대화 연속성의 타입을 연속성 타입이 아닌 것으로 식별하는 것 및 제2 질의를 업데이트된 제2 질의인 것으로 할당하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 다음 질의는 이전 질의와는 독립적일 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "action movies(액션 영화)" 및 "comedy movies(코미디 영화)"일 수도 있다. 이 상황에서, 이전 질의와 다음 질의 사이에는 대화 연속성이 없다.
상호 작용식 미디어 안내 애플리케이션은 데이터베이스로부터 업데이트된 제2 질의에 대한 제2 검색 결과를 검색한다. 상호 작용식 미디어 안내 애플리케이션은 디스플레이를 위해 제2 검색 결과를 생성한다. 몇몇 실시형태에서, 상호 작용식 미디어 안내 애플리케이션은, 유저 입력 디바이스로부터, 대화 연속성의 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신한다. 상호 작용식 미디어 안내 애플리케이션은 대화 연속성의 보정된 타입에 기초하여 인공 신경망에서의 하나 이상의 가중치를 업데이트한다.
본 개시의 프로세스 및 예가 한 쌍의 질의와 관련하여 논의되지만, 설명되는 시스템 및 방법은 두 개보다 많은 질의에도 동일하게 적용 가능하다. 시스템 및 방법은 다수의 질의에 걸쳐 연속성을 추적할 수도 있고 적절한 경우 문맥을 유지할 수도 있다. 추가적으로, 본 개시의 프로세스 및 예가 인공 신경망과 관련하여 논의되지만, 설명되는 시스템 및 방법은 다수의 인공 신경망에 또는 다른 머신 러닝 기술과 조합하여 동등하게 적용 가능하다. 상기에서 설명되는 시스템, 방법, 장치 및/또는 양태는, 본 개시에서 설명되는 다른 시스템, 방법, 장치, 및/또는 양태에 적용될 수도 있거나, 또는 그들에 따라 사용될 수도 있다는 것을 유의해야 한다.
도면의 간단한 설명
본 개시의 상기 및 다른 목적 및 이점은, 첨부된 도면과 연계하여 취해지는 다음의 상세한 설명의 고려시, 명백할 것인데, 첨부의 도면에서, 동일한 도면 부호는 전체에 걸쳐 동일한 부분을 나타내고, 첨부의 도면에서:
도 1은, 본 개시의 몇몇 실시형태에 따른, 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린의 예시적인 예를 도시한다;
도 2는, 본 개시의 몇몇 실시형태에 따른, 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린의 다른 예시적인 예를 도시한다;
도 3은, 본 개시의 몇몇 실시형태에 따른, 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린의 여전히 다른 예시적인 예를 도시한다;
도 4는 본 개시의 몇몇 실시형태에 따른 지식 그래프를 도시한다;
도 5는 본 개시의 몇몇 실시형태에 따른 인공 신경망을 도시한다;
도 6은, 본 개시의 몇몇 실시형태에 따른, 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린의 여전히 다른 예시적인 예를 도시한다;
도 7은, 본 개시의 몇몇 실시형태에 따른, 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린의 여전히 다른 예시적인 예를 도시한다;
도 8은, 본 개시의 몇몇 실시형태에 따른, 예시적인 유저 기기(user equipment) 디바이스의 블록도이다;
도 9는, 본 개시의 몇몇 실시형태에 따른, 예시적인 미디어 시스템의 블록도이다;
도 10은, 본 개시의 몇몇 실시형태에 따른, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 예시적인 프로세스의 플로우차트이다;
도 11은, 본 개시의 몇몇 실시형태에 따른, 자연 언어 질의에서 하나 이상의 토큰을 결정하기 위한 예시적인 프로세스의 플로우차트이다; 그리고
도 12는, 본 개시의 몇몇 실시형태에 따른, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트하기 위한 예시적인 프로세스의 플로우차트이다.
상세한 설명
문맥을 유지할 것인지 또는 유지하지 않을 것인지의 여부를 대화 시스템에게 훈련시키기 위해 인공 신경망을 활용하는 새로운 기술을 통해 종래의 대화 시스템에서의 단점을 해결하기 위한 시스템 및 방법이 설명된다. 몇몇 양태에서, 제어 회로부, 예를 들면, 제어 회로부(804)(도 8)를 사용하여 구현되는 상호 작용식 미디어 안내 애플리케이션에서, 유저는 텍스트 질의를 통해 미디어 자산을 요청할 수도 있다. 몇몇 양태에서, 제어 회로부, 예를 들면, 제어 회로부(804)(도 8)를 사용하여 구현되는 상호 작용식 미디어 안내 애플리케이션에서, 유저는 자연 언어 질의를 통해 미디어 자산을 요청할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은, 질의를 프로세싱하고 이전 질의로부터 다음 질의로 대화 연속성이 있는지의 여부를 결정하는 대화 시스템을 포함할 수도 있다.
도 1은 상호 작용식 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린(100)의 예시적인 예를 도시한다. 유저가 질의(102) "Movies of Tom Cruise(톰 크루즈의 영화)"를 통해 미디어 자산을 요청한다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(104)에서 검색 결과를 생성한다. 유저는 질의(106) "With Nicole Kidman(니콜 키드만과 함께 나오는)"을 입력한다. 상호 작용식 미디어 안내 애플리케이션은 이 상황에서 대화 연속성의 타입이 병합 연속성이다는 것을 결정한다. 이 상황에서, 다음 질의가 이전 질의의 연속인 경우 이전 질의와 다음 질의는 병합된다. 두 개의 질의(102 및 106)는 병합되고 검색 결과는 병합된 질의에 기초하여 검색된다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(108)에서 검색 결과를 생성한다.
도 2는 상호 작용식 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린(200)의 다른 예시적인 예를 도시한다. 유저가 질의(202) "is there any Red Sox game tonight(오늘 밤 레드 삭스 경기가 있어?)"를 통해 미디어 자산을 요청한다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(204)에서 검색 결과를 생성한다. 유저는 질의(206) "How about tomorrow(내일은 어때)"를 입력한다. 상호 작용식 미디어 안내 애플리케이션은 이 상황에서 대화 연속성의 타입이 대체 연속성이다는 것을 결정한다. 이러한 경우, 이전 질의의 일부가 다음 질의의 일부로 대체된다. 질의(206)로부터의 용어 "tomorrow(내일)"는 질의(202)에서의 "tonight(오늘 밤)"을 대체한다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(208)에서 검색 결과를 생성한다.
도 3은 상호 작용식 미디어 안내 애플리케이션에 의해 생성되는 디스플레이 스크린(300)의 여전히 다른 예시적인 예를 도시한다. 유저가 질의(302) "Give me some Beethoven movies(베토벤 영화를 좀 보여줘)"를 통해 미디어 자산을 요청한다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(304)에서 검색 결과를 생성한다. 유저는 질의(306) "I meant the Dog(개를 말한거야)"를 입력한다. 상호 작용식 미디어 안내 애플리케이션은 이 상황에서 대화 연속성의 타입이 명확화 연속성이다는 것을 결정한다. 이 상황에서, 다음 질의는, 이전 질의에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의로부터의 앞선 엔티티를 명확하게 한다. 질의(306)로부터의 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 질의(302)에서의 앞선 엔티티를 명확하게 한다. 질의(302)는 질의(306)의 엔티티 타입에 기초하여 업데이트된다. 상호 작용식 미디어 안내 애플리케이션은 데이터베이스, 예를 들면, 미디어 콘텐츠 소스(916)(도 9)로부터 검색 결과를 검색하고, 디스플레이를 위해 응답(308)에서 검색 결과를 생성한다.
도 4는 본 개시의 몇몇 실시형태에 따른 지식 그래프(400)를 도시한다. 상호 작용식 미디어 안내 애플리케이션은 메모리, 예를 들면, 스토리지(808)(도 8)에 저장되는 지식 그래프로부터 엔티티 사이의 그래프 연결을 검색할 수도 있다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 두 배우가 출연하는 영화에 대한 노드(402) "Tom Cruise(톰 크루즈)" 및 노드(408) "Nicole Kidman(니콜 키드만)"에 공통인 그래프 연결, 즉 노드(410 및 412)를 검색할 수도 있다. 노드(416)는 그들이 둘 모두 배우이다는 것을 나타낸다. 노드(404, 406)는 노드(414)에 의해 나타내어지는 바와 같이 영화이고 또한 노드(402)와의 그래프 연결에 의해 나타내어지는 바와 같이 "Tom Cruise(톰 크루즈)"를 주연으로 한다. 다른 예에서, 상호 작용식 미디어 안내 애플리케이션은 스포츠 게임 "Yankees v. Red Sox(양키스 대 레드 삭스)"에 대한 노드(428)와 노드(418) "Red Sox(레드 삭스) 사이의 그래프 연결을 검색할 수도 있다. 노드(432)는 게임이 (노드(412)인 영화 "The Queen(더 퀸)"과 함께) "Fox(폭스)" 채널에서 방영 중이다는 것을 나타낸다. 노드(428)와 노드(424) "Yankee Stadium(양키 스타디움)" 사이의 그래프 연결은, 스포츠 게임(노드(422))이 양키스(노드(430))의 스타디움에서 개최된다는 것을 나타낸다. 노드(418) "Red Sox(레드 삭스)"와 노드(420) 사이의 그래프 연결은, 그들이 스포츠 팀이다는 것을 나타낸다. 노드(418)와 노드(426) 사이의 그래프 연결은, 그들의 경기장이 "Fenway Park(펜웨이 파크)"이다는 것을 나타낸다. 여전히 다른 예에서, 상호 작용식 미디어 안내 애플리케이션은 노드(434) "Beethoven(베토벤)"과 노드(440) "Dog(개)" 사이의 그래프 연결을 검색할 수도 있다. 공통 노드(442 및 444)는, 그들이 "Beethoven(베토벤)"이라는 "Dog(개)"를 주연으로 하는 영화이다는 것을 나타낸다. 대안적으로, 상호 작용식 미디어 안내 애플리케이션은 노드(434) "Beethoven(베토벤)"과 노드(446) "Musician(음악가)" 사이의 그래프 연결을 검색할 수도 있다. 공통 노드(436 및 428)는, 그들이 "Beethoven(Beethoven)"이라는 "Musician(음악가)"를 주연으로 하는 영화이다는 것을 나타낸다.
도 5는 본 개시의 몇몇 실시형태에 따른 인공 신경망(500)을 도시한다. 상호 작용식 미디어 안내 애플리케이션에서 구현되는 대화 시스템은, 질의에 걸쳐 문맥을 유지할지 또는 유지하지 않을지의 여부를 결정하기 위해 인공 신경망을 사용하여 훈련될 수도 있다. 입력 레이어에서, 인공 신경망은 이전 및 다음 질의(502 및 506)의 예 및 관련 엔티티 데이터를 공급 받을 수도 있다. 인공 신경망으로의 입력으로서 제공되는 피쳐는, 이전 및 현재 질의의 단어/토큰, 각각의 토큰이 참조하는 엔티티 타입의 확률(예를 들면, R은 R 등급뿐만 아니라 "R"이라는 제목의 영화를 나타낼 수도 있다), 다양한 엔티티 사이의의 그래프 연결, 및 다른 적절한 피쳐를 포함할 수도 있다. 피쳐는 상이한 입력(502 및 506)으로서 네트워크에 공급된다. 네트워크는, (필요에 따라 516에서 정규화되는) 대화 연속성의 타입을 나타내는 다중 클래스를 나타내는 출력(518)을 나중에 생성하기 위한 하나 이상의 은닉 레이어(512)를 구비할 수도 있다. 공통 단어 또는 필러 워드, 예를 들면, 기사를 필터링하기 위해, 그리고 잠재적인 피쳐로서 작용할 수 있는 단어만을 고려하기 위해, 초기 레이어(504, 508)가 추가될 수도 있다. 그 다음, 이전 및 다음 질의의 모든 단어 및 어구가 잠재적인 피쳐로 간주된다. 또한, 질의에서의 엔티티는 엔티티 타입에 의해 대체될 수도 있다. 예를 들면, "movies with Tom Cruise(톰 크루즈가 나오는 영화)"는 "movies with(~가 나오는 영화)"로 대체될 수도 있다. 이런 식으로, 특정한 예는 질의의 전체 클래스를 나타낼 수 있다.
인공 신경망의 훈련은, 문맥이 보존되는 이전-다음 질의의 다수의 예를 제공하는 것 및 문맥이 보존되지 않는 이전-다음 질의의 다수의 예를 제공하는 것을 수반할 수도 있다. 훈련이 진행함에 따라 가중치(510 및 514)가 업데이트될 수도 있다. 은닉 레이어(512)의 수는, 인공 신경망의 정확성을 제어하기 위해 사용할 수 있는 파라미터일 수 있다. 일단 인공 신경망이 훈련되면, 그것은 출력(518)을 통해 실제 유저 질의에서 문맥 전환을 검출하기 위해 사용될 수 있다. 이 방법의 한 가지 이점은, 실패할 때마다 더 많은 예를 가지고 네트워크를 계속 훈련시키고 따라서 시간이 지남에 따라 네트워크가 모든 가능한 상황을 학습할 수도 있다는 능력이다. 예를 들면, 네트워크가 문맥 전환 검출에 실패하는 경우 또는 아무 것도 존재하지 않는 곳에서 문맥 전환을 나타내는 경우 유저는 피드백을 제공할 수도 있다.
예를 들면, 상호 작용식 미디어 안내 애플리케이션은 제1 질의 "movies of Tom Cruise(톰 크루즈의 영화)" 및 제2 질의 "with Nicole Kidman(니콜 키드만(Nicole Kidman)이 함께 나오는)"을 수신할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 제1 질의를 토큰 "movies of(~의 영화)" 및 "Tom Cruise(톰 크루즈)"로 분리하고 제2 질의를 토큰 "with(~가 함께 나오는)" 및 "Nicole Kidman(니콜 키드만)"로 분리할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 토큰 "Tom Cruise(톰 크루즈)"에 대한 가능한 엔티티 타입 "Actor(배우)" 및 엔티티 타입에 속하는 토큰의 확률이 0.99인 것을 그리고 다른 가능한 엔티티 타입 "Location(위치)" 및 엔티티 타입에 속하는 토큰의 확률이 0.01인 것을 결정할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 토큰 "Nicole Kidman(니콜 키드만)"에 대한 가능한 엔티티 타입 "Actor(배우)" 및 엔티티 타입에 속하는 토큰의 확률이 1인 것을 결정할 수도 있다.
토큰에 걸친 가능한 엔티티 타입의 각각의 쌍에 대해, 상호 작용식 미디어 안내 애플리케이션은 가능한 엔티티 타입의 쌍에 대한 그래프 연결을 검색할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은 이 데이터를 인공 신경망(500)의 입력에 적용할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은, 제1 질의와 제2 질의 사이의 대화 연속성 및 대화 연속성의 타입을 나타내는 출력(518)을 수신할 수도 있다. 예를 들면, 상호 작용식 미디어 안내 애플리케이션은, 제1 질의와 제2 질의 사이의 대화 연속성의 병합 타입이 존재한다는 것을 나타내는 출력을 수신할 수도 있다. 상호 작용식 미디어 안내 애플리케이션은, 제2 질의를 제1 질의와 병합하는 것에 의해 제2 질의를 업데이트할 수도 있다, 즉, "movies of Tom Cruise with Nicole Kidman(니콜 키드만과 함께 나오는 톰 크루즈의 영화)". 상호 작용식 미디어 안내 애플리케이션은 제2 질의에 대한 결과를 수신한다.
임의의 주어진 콘텐츠 전달 시스템에서 유저가 이용 가능한 콘텐츠의 양은 상당할 수 있다. 결과적으로, 많은 유저는, 유저가 콘텐츠 셀렉션(content selection)을 효율적으로 탐색하는 것 및 그들이 소망할 수도 있는 콘텐츠를 쉽게 식별하는 것을 허용하는 인터페이스를 통한 미디어 안내의 형태를 소망한다. 이러한 안내를 제공하는 애플리케이션은 본원에서는 상호 작용식 미디어 안내 애플리케이션으로, 때로는, 미디어 안내 애플리케이션 또는 안내 애플리케이션으로 칭해진다.
상호 작용식 미디어 안내 애플리케이션은, 그들이 안내를 제공하는 콘텐츠에 따라 다양한 형태를 취할 수도 있다. 하나의 통상적인 타입의 미디어 안내 애플리케이션은 상호 작용식 텔레비전 프로그램 가이드이다. 상호 작용식 텔레비전 프로그램 가이드(종종 전자 프로그램 가이드로 칭해짐)는, 다른 것들 중에서도, 유저가 많은 타입의 콘텐츠 또는 미디어 자산 사이에서 탐색하는 것 및 많은 타입의 콘텐츠 또는 미디어 자산의 위치를 결정하는 것을 허용하는 널리 알려진 안내 애플리케이션이다. 상호 작용식 미디어 안내 애플리케이션은, 유저가 콘텐츠 사이를 탐색하고, 콘텐츠의 위치를 결정하고, 콘텐츠를 선택하는 것을 가능하게 하는 그래픽 유저 인터페이스 스크린을 생성할 수도 있다. 본원에서 언급되는 바와 같이, 용어 "미디어 자산" 및 "콘텐츠"는, 텔레비전 프로그램뿐만 아니라, 유료 시청(pay-per-view) 프로그램, (주문형 비디오(video-on-demand; VOD) 시스템에서와 같은) 주문형 프로그램(on-demand program), 인터넷 콘텐츠(예를 들면, 스트리밍 콘텐츠, 다운로드 가능한 콘텐츠, 웹 캐스트, 등등), 비디오 클립, 오디오, 콘텐츠 정보, 그림, 회전 이미지, 문서, 재생 목록, 웹사이트, 기사, 서적, 전자책, 블로그, 채팅 세션, 소셜 미디어, 애플리케이션, 게임, 및/또는 임의의 다른 미디어 또는 멀티미디어 및/또는 이들의 조합과 같은 전자적으로 소비 가능한 유저 자산을 의미하는 것으로 이해되어야 한다. 안내 애플리케이션은, 유저가 콘텐츠 사이를 탐색하는 것 및 콘텐츠의 위치를 결정하는 것을 허용한다. 본원에서 언급되는 바와 같이, 용어 "멀티미디어"는, 상기에서 설명되는 적어도 두 개의 상이한 콘텐츠 형태, 예를 들면, 텍스트, 오디오, 이미지, 비디오, 또는 상호 작용식 콘텐츠 형태를 활용하는 콘텐츠를 의미하는 것으로 이해되어야 한다. 콘텐츠는 유저 기기 디바이스에 의해 녹화, 재생, 디스플레이 또는 액세스될 수도 있지만, 그러나 또한 라이브 공연의 일부일 수 있다.
본원에서 논의되는 실시형태 중 임의의 것을 수행하기 위한 임의의 명령어 및/또는 미디어 안내 애플리케이션은, 컴퓨터 판독 가능 매체 상에 인코딩될 수도 있다. 컴퓨터 판독 가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독 가능 매체는, 전기 신호 또는 전자기 신호를 전파하는 것을 포함하지만 그러나 이것으로 제한되지는 않는 일시적인 것일 수도 있거나, 또는 휘발성 및 불휘발성 컴퓨터 메모리 또는 스토리지 디바이스 예컨대 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리(Random Access Memory; "RAM"), 등등을 포함하는, 그러나 이들로 제한되지는 않는 비일시적인 것일 수도 있다.
인터넷, 모바일 컴퓨팅, 및 고속 무선 네트워크의 출현으로, 유저는, 그들이 전통적으로는 하지 않았던 유저 기기 디바이스 상에서 미디어에 액세스하고 있다. 본원에서 언급되는 바와 같이, 어구 "유저 기기 디바이스", "유저 기기", "유저 디바이스", "전자 디바이스", "전자 기기", "미디어 기기 디바이스, "또는 "미디어 디바이스"는, 상기에서 설명되는 콘텐츠에 액세스하기 위한 임의의 디바이스, 예컨대 텔레비전, 스마트 TV, 셋톱 박스, 위성 텔레비전을 핸들링하기 위한 통합 수신기 디코더(integrated receiver decoder; IRD), 디지털 스토리지 디바이스, 디지털 미디어 수신기(digital media receiver; DMR), 디지털 미디어 어댑터(digital media adapter; DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 연결된 DVD, 로컬 미디어 서버, BLU-RAY(블루레이) 플레이어, BLU-RAY 레코더, 퍼스널 컴퓨터(personal computer; PC), 랩탑 컴퓨터 , 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(personal computer television; PC/TV), PC 미디어 서버, PC 미디어 센터, 핸드헬드 컴퓨터, 고정식 전화기, 개인 휴대 정보 단말기(personal digital assistant; PDA), 이동 전화 , 휴대용 비디오 플레이어, 휴대용 뮤직 플레이어, 휴대용 게임기, 스마트 폰, 또는 임의의 다른 텔레비전 기기, 컴퓨팅 기기, 또는 무선 디바이스, 및/또는 이들의 조합을 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 유저 기기 디바이스는 전면 대향 스크린 및 후면 대향 스크린, 다수의 전면 스크린, 또는 다수의 경사진 스크린(angled screen)을 구비할 수도 있다. 몇몇 실시형태에서, 유저 기기 디바이스는 전면 대향 카메라 및/또는 후면 대향 카메라를 구비할 수도 있다. 이들 유저 기기 디바이스 상에서, 유저는 텔레비전을 통해 이용 가능한 동일한 콘텐츠를 탐색하고 그 동일한 콘텐츠의 위치를 결정할 수도 있다. 결과적으로, 미디어 안내는 이들 디바이스 상에서도 또한 이용 가능할 수도 있다. 제공되는 안내는, 텔레비전을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 다른 타입의 유저 기기 디바이스 중 하나 이상을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 또는 다른 타입의 유저 기기 디바이스 중 하나 이상 및 텔레비전 양자를 통해 이용 가능한 콘텐츠에 대한 것일 수도 있다. 미디어 안내 애플리케이션은 온라인 애플리케이션(즉, 웹 사이트 상에서 제공됨)으로서, 또는 유저 기기 디바이스 상의 클라이언트 또는 독립형 애플리케이션으로서 제공될 수도 있다. 미디어 안내 애플리케이션을 구현할 수도 있는 다양한 디바이스 및 플랫폼이 이하에서 더욱 상세하게 설명된다.
미디어 안내 애플리케이션의 기능 중 하나는, 미디어 안내 데이터를 유저에게 제공하는 것이다. 본원에서 언급되는 바와 같이, 어구 "미디어 안내 데이터" 또는 "안내 데이터"는, 안내 애플리케이션을 동작시킴에 있어서 사용되는 데이터 또는 콘텐츠에 관련되는 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들면, 안내 데이터는, 프로그램 정보, 안내 애플리케이션 설정, 유저 선호도, 유저 프로파일 정보, 미디어 목록, 미디어 관련 정보(예를 들면, 방송 시간, 방송 채널, 제목, 설명, 등급 정보(예를 들면, 자녀 보호 등급(parental control rating), 평론가의 등급, 등등), 장르 또는 카테고리 정보, 배우 정보, 방송국의 또는 공급자의 로고에 대한 로고 데이터, 등등), 미디어 포맷(예를 들면, 표준 화질(standard definition), 고화질(high definition), 3D, 등등), 주문형 정보, 블로그, 웹사이트, 및 유저가 소망하는 콘텐츠 셀렉션을 탐색하고 콘텐츠 셀렉션의 위치를 결정하는 데 도움이 되는 임의의 다른 타입의 안내 데이터를 포함할 수도 있다.
도 6 및 도 7은 미디어 안내 데이터를 제공하기 위해 사용될 수도 있는 예시적인 디스플레이 스크린을 도시한다. 도 6 및 도 7에서 도시되는 디스플레이 스크린은 임의의 적절한 유저 기기 디바이스 또는 플랫폼 상에서 구현될 수도 있다. 도 6 및 도 7의 디스플레이가 전체 스크린 디스플레이로서 예시되지만, 이들은 디스플레이되고 있는 콘텐츠 위에 전체적으로 또는 부분적으로 중첩될 수도 있다. 유저는, 디스플레이 스크린에서 제공되는 선택 가능한 옵션(예를 들면, 메뉴 옵션, 목록 옵션, 아이콘, 하이퍼링크, 등등)을 선택하는 것에 의해 또는 리모콘 또는 다른 유저 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들면, GUIDE 버튼)을 누르는 것에 의해, 콘텐츠 정보에 액세스하려는 소망을 나타낼 수도 있다. 유저의 표시에 응답하여, 미디어 안내 애플리케이션은, 그리드 모양의 채널 및 시간별, 시간별, 채널별, 소스별, 콘텐츠 타입별, 카테고리(예를 들면, 영화, 스포츠, 뉴스, 어린이, 또는 다른 카테고리의 프로그램)별, 또는 다른 미리 정의된, 유저 정의의, 또는 다른 편제 기준과 같은 여러 가지 방식 중 하나로 편제되는 미디어 안내 데이터를 디스플레이 스크린에 제공할 수도 있다.
도 6은, 단일 디스플레이에서 상이한 타입의 콘텐츠에 대한 액세스를 또한 가능하게 하는, 시간 및 채널별로 배열되는 프로그램 목록 디스플레이(600)의 예시적인 그리드를 도시한다. 디스플레이(600)는 다음을 갖는 그리드(602)를 포함할 수도 있다: (1) 채널/콘텐츠 타입 식별자 - 각각의 채널/콘텐츠 타입 식별자(이것은 열 내의 셀임)는 이용 가능한 상이한 채널 또는 콘텐츠 타입을 식별함 - 의 열(column)(604); 및 (2) 시간 식별자 - 각각의 시간 식별자(이것은 행 내의 셀임)는 프로그램의 시간 블록을 식별함 - 의 행(row)(606). 그리드(602)는 또한 프로그램 목록(608)과 같은 프로그램 목록의 셀을 포함하는데, 여기서, 각각의 목록은 목록의 관련 채널 및 시간 상에 제공되는 프로그램의 제목을 제공한다. 유저 입력 디바이스를 사용하여, 유저는 하이라이트 영역(610)을 이동시키는 것에 의해 프로그램 목록을 선택할 수 있다. 하이라이트 영역(610)에 의해 선택되는 프로그램 목록에 관한 정보는 프로그램 정보 영역(612)에서 제공될 수도 있다. 영역(612)은, 예를 들면, 프로그램 제목, 프로그램 설명, 프로그램이 제공되는 시간(적용 가능한 경우), 프로그램이 방송되는 채널(적용 가능한 경우), 프로그램의 등급, 및 다른 소망하는 정보를 포함할 수도 있다.
선형적인 프로그램(예를 들면, 미리 결정된 시간에 복수의 유저 기기 디바이스로 전송되도록 스케줄링되고 스케줄에 따라 제공되는 콘텐츠)에 대한 액세스를 제공하는 것 이외에도, 미디어 안내 애플리케이션은 또한, 선형적이지 않은 프로그램(예를 들면, 임의의 시간에 유저 기기 디바이스가 액세스할 수 있는 그리고 스케줄에 따라 제공되지 않는 콘텐츠)에 대한 액세스를 제공한다. 선형적이지 않은 프로그램은, 주문형 콘텐츠(예를 들면, VOD), 인터넷 콘텐츠(예를 들면, 스트리밍 미디어, 다운로드 가능한 미디어, 등등), 로컬 저장 콘텐츠(예를 들면, 상기에서 설명되는 임의의 유저 기기 디바이스 또는 다른 스토리지 디바이스 상에 저장되어 있는 콘텐츠), 또는 다른 시간 독립적인 콘텐츠를 포함하는 상이한 콘텐츠 소스로부터의 콘텐츠를 포함할 수도 있다. 주문형 콘텐츠는 특정한 콘텐츠 공급자(예를 들면, "The Sopranos" 및 "Curb Your Enthusiasm"를 제공하는 HBO On Demand)에 의해 제공되는 임의의 다른 콘텐츠 또는 영화를 포함할 수도 있다. HBO ON DEMAND는 Time Warner Company L.P. 등등이 소유한 서비스 마크이며, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc.가 소유한 상표이다. 인터넷 콘텐츠는, 채팅 세션 또는 웹캐스트와 같은 웹 이벤트, 또는 인터넷 웹사이트 또는 다른 인터넷 액세스(예를 들면, FTP)를 통해 스트리밍 콘텐츠 또는 다운로드 가능한 콘텐츠로서 요청에 따라(on-demand) 이용 가능한 콘텐츠를 포함할 수도 있다.
그리드(602)는 주문형 목록(on-demand listing)(614), 녹화된 콘텐츠 목록(616), 및 인터넷 콘텐츠 목록(618)을 포함하는 선형적이지 않은 프로그램에 대한 미디어 안내 데이터를 제공할 수도 있다. 상이한 타입의 콘텐츠 소스로부터의 콘텐츠에 대해 미디어 안내 데이터를 결합하는 디스플레이는, 종종, "혼합 미디어" 디스플레이로 칭해진다. 디스플레이(600)와는 상이한, 디스플레이될 수도 있는 미디어 안내 데이터의 타입의 다양한 조합은, 유저 선택 또는 안내 애플리케이션 정의(예를 들면, 녹화된 및 방송된 목록만의, 주문형 및 방송 목록만의, 등등의 디스플레이)에 기초할 수도 있다. 예시되는 바와 같이, 목록(614, 616 및 618)은, 이들 목록의 선택이 주문형 목록, 녹화된 목록, 또는 인터넷 목록에 각각 전용되는 디스플레이에 대한 액세스를 제공할 수도 있다는 것을 나타내기 위해, 그리드(602)에서 디스플레이되는 전체 시간 블록에 걸쳐 확장하는 것으로 도시된다. 몇몇 실시형태에서, 이들 콘텐츠 타입에 대한 목록은 그리드(602)에 직접적으로 포함될 수도 있다. 추가적인 미디어 안내 데이터는, 유저가 네비게이션 아이콘(620) 중 하나를 선택하는 것에 응답하여 디스플레이될 수도 있다. (유저 입력 디바이스 상의 화살표 키를 누르는 것은, 네비게이션 아이콘(620)을 선택하는 것과 유사한 방식으로 디스플레이에 영향을 줄 수도 있다.)
디스플레이(600)는 또한 비디오 영역(622), 및 옵션 영역(626)을 포함할 수도 있다. 비디오 영역(622)은, 유저가 현재 이용 가능한, 이용 가능할, 또는 이용 가능했던 프로그램을 유저가 보는 것 및/또는 미리 보는 것을 허용할 수도 있다. 비디오 영역(622)의 콘텐츠는 그리드(602)에서 디스플레이되는 목록 중 하나의 목록에 대응할 수도 있거나, 또는 그 하나의 목록과는 독립적일 수도 있다. 비디오 영역을 포함하는 그리드 디스플레이는 픽쳐 인 가이드(picture-in-guide; PIG) 디스플레이로 칭해진다. PIG 디스플레이 및 그들의 기능성(functionality)은, 2003년 5월 13일자로 발행된 Satterfield 등등의 미국 특허 제6,564,378호 및 2001년 5월 29일자로 발행된 Yuen 등등의 미국 특허 제6,239,794호에서 상세히 설명되는데, 이들 특허는 참조에 의해 그 전체가 본원에 통합된다. PIG 디스플레이는 본원에서 설명되는 실시형태의 다른 미디어 안내 애플리케이션 디스플레이 스크린에 포함될 수도 있다.
옵션 영역(626)은, 유저가 상이한 타입의 콘텐츠, 미디어 안내 애플리케이션 디스플레이, 및/또는 미디어 안내 애플리케이션 피쳐에 액세스하는 것을 허용할 수도 있다. 옵션 영역(626)은 디스플레이(600)(및 본원에서 설명되는 다른 디스플레이 스크린)의 일부일 수도 있거나, 또는 온 스크린(on-screen) 옵션을 선택하거나 유저 입력 디바이스 상의 전용 또는 할당 가능한 버튼을 누르는 것에 의해, 유저에 의해 호출될 수도 있다. 옵션 영역(626) 내의 선택 가능한 옵션은 그리드(602) 내의 프로그램 목록에 관련되는 피쳐에 관련될 수도 있거나, 또는 메인 메뉴 디스플레이로부터 이용 가능한 옵션을 포함할 수도 있다. 프로그램 목록과 관련되는 피쳐는 다른 방송 시간을 검색을 검색하는 것 또는 프로그램 수신 방식, 프로그램 녹화, 프로그램의 일련의 녹화를 가능하게 하는 것, 프로그램 및/또는 채널을 즐겨찾기로 설정하는 것, 프로그램 구매, 또는 다른 피쳐를 포함할 수도 있다. 메인 메뉴 디스플레이로부터 이용 가능한 옵션은, 검색 옵션, VOD 옵션, 자녀 보호 옵션, 인터넷 옵션, 클라우드 기반 옵션, 디바이스 동기화 옵션, 제2 스크린 디바이스 옵션, 다양한 타입의 미디어 안내 데이터 디스플레이에 액세스하는 옵션, 프리미엄 서비스에 가입하는 옵션, 유저 프로파일 편집 옵션, 브라우저 오버레이에 액세스하는 옵션, 또는 다른 옵션을 포함할 수도 있다.
미디어 안내 애플리케이션은 유저의 선호도에 기초하여 개인 맞춤될 수도 있다. 개인 맞춤형 미디어 안내 애플리케이션은, 미디어 안내 애플리케이션을 사용하여 개인 맞춤된 "경험"을 생성하도록, 유저가 디스플레이 및 피쳐를 커스텀화하는 것을 허용한다. 이 개인 맞춤된 경험은, 유저가 이들 커스텀화를 입력하는 것을 허용하는 것에 의해 및/또는 미디어 안내 애플리케이션이 유저 활동을 모니터링하여 다양한 유저 선호도를 결정하는 것에 의해 생성될 수도 있다. 유저는, 안내 애플리케이션에 로그인하거나 또는 다르게는 자신을 안내 애플리케이션에 식별시키는 것에 의해, 그들의 개인 맞춤된 안내 애플리케이션에 액세스할 수도 있다. 미디어 안내 애플리케이션의 커스텀화는, 유저 프로파일에 따라 이루어질 수도 있다. 커스텀화는, 다양한 표시 스킴(presentation scheme)(예를 들면, 디스플레이의 컬러 스킴, 텍스트의 글꼴 사이즈, 등등), 디스플레이되는 콘텐츠 목록의 양태(예를 들면, HDTV 전용 또는 3D 프로그램 전용, 즐겨찾기 채널 선택에 기초한 유저 지정 방송 채널, 채널 디스플레이의 재배치, 추천 콘텐츠, 등등), 소망하는 녹화 피쳐(예를 들면, 특정한 유저에 대한 녹화 또는 일련의 녹화, 녹화 품질, 등등), 자녀 보호 설정, 인터넷 콘텐츠의 커스텀화된 표시(예를 들면, 소셜 미디어 콘텐츠, 전자 메일, 전자적으로 전달된 기사, 등등의 표시) 및 다른 소망하는 커스텀화를 포함할 수도 있다.
미디어 안내 애플리케이션은, 유저가 유저 프로파일 정보를 제공하는 것을 허용할 수도 있거나, 또는 유저 프로파일 정보를 자동적으로 수집할 수도 있다. 미디어 안내 애플리케이션은, 예를 들면, 유저가 액세스하는 콘텐츠 및/또는 유저가 안내 애플리케이션과 가질 수도 있는 다른 상호 작용을 모니터링할 수도 있다. 추가적으로, 미디어 안내 애플리케이션은, (예를 들면, www.allrovi.com과 같이 유저가 액세스하는 인터넷 상의 다른 웹 사이트로부터, 유저가 액세스하는 다른 미디어 안내 애플리케이션으로부터, 유저가 액세스하는 다른 상호 작용식 애플리케이션으로부터, 유저의 다른 유저 기기 디바이스로부터, 등등으로부터) 특정한 유저와 관련되는 다른 유저 프로파일의 전체 또는 일부를 획득할 수도 있고, 및/또는 미디어 안내 애플리케이션이 액세스할 수도 있는 다른 소스로부터 유저에 관한 정보를 획득할 수도 있다. 결과적으로, 유저는 유저의 상이한 유저 기기 디바이스에 걸쳐 통일된 안내 애플리케이션 경험을 제공 받을 수 있다. 이 타입의 유저 경험은 도 9와 연계하여 하기에서 상세히 설명된다. 추가적인 개인 맞춤된 미디어 안내 애플리케이션 피쳐는, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2005/0251827호, 2007년 1월 16일자로 발행된 Boyer 등등의 미국 특허 제7,165,098호, 및 2002년 2월 21일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2002/0174430호에서 상세히 개시되어 있는데, 이들 문헌은 참조에 의해 그 전체가 본원에 통합된다.
미디어 안내를 제공하기 위한 다른 디스플레이 장치(arrangement)가 도 7에 도시되어 있다. 비디오 모자이크 디스플레이(700)는, 콘텐츠 타입, 장르, 및/또는 다른 편제 기준에 기초하여 편제되는 콘텐츠 정보에 대한 선택 가능한 옵션(702)을 포함한다. 디스플레이(700)에서, 텔레비전 목록 옵션(704)이 선택되고, 따라서 방송 프로그램 목록으로서 목록(706, 708, 710 및 712)을 제공한다. 디스플레이(700)에서, 목록은 커버 아트, 콘텐츠로부터의 스틸 이미지, 비디오 클립 프리뷰, 콘텐츠로부터의 라이브 비디오, 또는 미디어 안내 데이터에 의해 설명되고 있는 콘텐츠를 목록에서 유저에게 나타내는 다른 타입의 콘텐츠를 포함하는 그래픽 이미지를 제공할 수도 있다. 그래픽 목록의 각각은 또한, 목록과 관련되는 콘텐츠에 대한 추가 정보를 제공하기 위해, 텍스트를 수반할 수도 있다. 예를 들면, 목록(708)은 미디어 부분(714) 및 텍스트 부분(716)을 포함하는 하나보다 많은 부분을 포함할 수도 있다. 미디어 부분(714) 및/또는 텍스트 부분(714)은 전체 스크린에서 콘텐츠를 보기 위해 또는 미디어 부분(716)에서 디스플레이되는 콘텐츠에 관련되는 정보를 보기 위해(예를 들면, 비디오가 디스플레이되는 채널에 대한 목록을 보기 위해) 선택 가능할 수도 있다.
디스플레이(700)에서의 목록은 상이한 사이즈를 가지지만(즉, 목록(706)은 목록(708, 710 및 712)보다 더 크지만), 그러나, 소망되는 경우, 모든 목록은 동일한 사이즈일 수도 있다. 목록은, 유저가 관심을 갖는 정도를 나타내기 위해 또는 소정의 콘텐츠를 강조하기 위해, 콘텐츠 공급자가 원하는 대로 또는 유저 선호도에 기초하여, 상이한 사이즈를 가질 수도 있거나 또는 그래픽적으로 강조될 수도 있다. 콘텐츠 목록을 그래픽적으로 강조하기 위한 다양한 시스템 및 방법은, 예를 들면, 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 공보 제2010/0153885호에서 논의되는데, 이 출원 공개 공보는 참조에 의해 그 전체가 본원에 통합된다.
유저는, 자신의 유저 기기 디바이스 중 하나 이상으로부터 콘텐츠 및 미디어 안내 애플리케이션(및 상기 및 하기에서 설명되는 그것의 디스플레이 스크린)에 액세스할 수도 있다. 도 8은 예시적인 유저 기기 디바이스(800)의 일반화된 실시형태를 도시한다. 유저 기기 디바이스의 보다 구체적인 구현예는, 도 9와 연계하여 이하에서 논의된다. 유저 기기 디바이스(800)는 입력/출력(input/output)(이하, "I/O") 경로(802)를 통해 콘텐츠 및 데이터를 수신할 수도 있다. I/O 경로(802)는 콘텐츠(예를 들면, 방송 프로그램, 주문형 프로그램, 인터넷 콘텐츠, 근거리 통신망(local area network; LAN) 또는 광역 네트워크(wide area network; WAN)를 통해 이용 가능한 콘텐츠, 및/또는 다른 콘텐츠) 및 데이터를 제어 회로부(304)로 제공할 수도 있는데, 제어 회로부(804)는 프로세싱 회로부(806) 및 스토리지(808)를 포함한다. 제어 회로부(804)는 I/O 경로(802)를 사용하여 커맨드, 요청, 및 다른 적절한 데이터를 전송 및 수신하기 위해 사용될 수도 있다. I/O 경로(802)는 제어 회로부(804)(및 구체적으로는 프로세싱 회로부(806))를 하나 이상의 통신 경로(하기에 설명됨)에 연결할 수도 있다. I/O 기능은 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 피하기 위해, 도 8에서는 단일 경로로서 도시된다.
제어 회로부(804)는 프로세싱 회로부(806)와 같은 임의의 적절한 프로세싱 회로부에 기초할 수도 있다. 본원에서 언급되는 바와 같이, 프로세싱 회로부는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래머블 로직 디바이스, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 주문형 반도체(Application-Specific Integrated Circuit; ASIC), 등등을 기반으로 하는 회로부를 의미하는 것으로 이해되어야 하고, 다중 코어 프로세서(예를 들면, 듀얼 코어, 쿼드 코어, 헥사 코어, 또는 임의의 적절한 수의 코어) 또는 수퍼 컴퓨터를 포함할 수도 있다. 몇몇 실시형태에서, 프로세싱 회로부는, 다수의 별개의 프로세서 또는 프로세싱 유닛, 예를 들면, 다수의 동일한 타입의 프로세싱 유닛(예를 들면, 두 개의 인텔 코어 i7(Intel Core i7) 프로세서) 또는 다수의 상이한 프로세서(예를 들면, 인텔 코어 i5 프로세서 및 인텔 코어 i7 프로세서)에 걸쳐 분산될 수도 있다. 몇몇 실시형태에서, 제어 회로부(804)는 메모리(즉, 스토리지(808))에 저장되는 미디어 안내 애플리케이션에 대한 명령어를 실행한다. 구체적으로는, 제어 회로부(804)는 미디어 안내 애플리케이션에 의해 상기 및 하기에서 논의되는 기능을 수행하도록 지시 받을 수도 있다. 예를 들면, 미디어 안내 애플리케이션은 미디어 안내 디스플레이를 생성하도록 제어 회로부(804)에게 명령어를 제공할 수도 있다. 몇몇 구현예에서, 제어 회로부(804)에 의해 수행되는 임의의 액션은 미디어 안내 애플리케이션으로부터 수신되는 명령어에 기초할 수도 있다.
클라이언트-서버 기반 실시형태에서, 제어 회로부(804)는 안내 애플리케이션 서버 또는 다른 네트워크 또는 서버와 통신하기에 적절한 통신 회로부를 포함할 수도 있다. 상기에서 언급된 기능성을 수행하기 위한 명령어는 안내 애플리케이션 서버 상에 저장될 수도 있다. 통신 회로부는, 케이블 모뎀, 통합 서비스 디지털 네트워크(Integrated Services Digital Network; ISDN) 모뎀, 디지털 가입자 회선(Digital Subscriber Line; DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 기기와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로부를 포함할 수도 있다. 이러한 통신은 인터넷 또는 임의의 다른 적절한 통신 네트워크 또는 경로(이것은 도 9와 연계하여 더 상세하게 설명됨)를 수반할 수도 있다. 또한, 통신 회로부는, 유저 기기 디바이스의 피어 투 피어(peer-to-peer) 통신, 또는 서로 멀리 떨어져 있는 위치에 있는 유저 기기 디바이스의 통신(하기에서 더 상세히 설명됨)을 가능하게 하는 회로부를 포함할 수도 있다.
메모리는 제어 회로부(804)의 일부인 스토리지(808)로서 제공되는 전자 스토리지 디바이스일 수도 있다. 본원에서 언급되는 바와 같이, 어구 "전자 스토리지 디바이스" 또는 "스토리지 디바이스"는, 랜덤 액세스 메모리, 리드 온리 메모리, 하드 드라이브, 광학 드라이브, 디지털 비디오 디스크(digital video disc; DVD), 콤팩트 디스크(compact disc; CD) 레코더, BLU-RAY 디스크(BD) 레코더, BLU-RAY 3D 디스크 레코더, 디지털 비디오 레코더(digital video recorder)(DVR, 종종 개인용 비디오 레코더(personal video recorder), 또는 PVR로 칭해짐), 솔리드 스테이트 디바이스, 퀀텀 스토리지 디바이스(quantum storage device), 게임용 콘솔, 게임용 미디어, 또는 임의의 다른 적절한 고정식 또는 착탈식 스토리지 디바이스, 및/또는 이들의 임의의 조합과 같은, 전자 데이터, 컴퓨터 소프트웨어, 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 스토리지(808)는 본원에서 설명되는 다양한 타입의 콘텐츠뿐만 아니라, 상기에서 설명되는 미디어 안내 데이터를 저장하기 위해 사용될 수도 있다. (예를 들면, 부트업 루틴 및 다른 명령어를 론칭하기 위해) 불휘발성 메모리가 또한 사용될 수도 있다. 도 9와 관련하여 설명되는 클라우드 기반 스토리지는, 스토리지(808)를 보충하기 위해 또는 스토리지(808) 대신 사용될 수도 있다.
제어 회로부(804)는, 비디오 생성 회로부 및 튜닝 회로부, 예컨대 하나 이상의 아날로그 튜너, 하나 이상의 MPEG-2 디코더 또는 다른 디지털 디코딩 회로부, 고선명 튜너, 또는 임의의 다른 적절한 튜닝 또는 비디오 회로 또는 이러한 회로의 조합을 포함할 수도 있다. 또한, (예를 들면, 저장을 위해, 공중파, 아날로그 또는 디지털 신호를 MPEG 신호로 변환하기 위한) 인코딩 회로부가 제공될 수도 있다. 제어 회로부(804)는 또한, 콘텐츠를 유저 기기(800)의 선호되는 출력 포맷으로 상향 변환 및 하향 변환하기 위한 스케일러 회로부(scaler circuitry)를 포함할 수도 있다. 회로부(804)는 또한, 디지털 신호와 아날로그 신호 사이를 변환하기 위한 디지털 아날로그 변환기 회로부 및 아날로그 디지털 변환기 회로부를 포함할 수도 있다. 튜닝 및 인코딩 회로부는, 콘텐츠를 수신하여 디스플레이하기 위해, 재생하기 위해, 또는 녹화하기 위해, 유저 기기 디바이스에 의해 사용될 수도 있다. 튜닝 및 인코딩 회로부는 또한, 안내 데이터를 수신하기 위해 사용될 수도 있다. 예를 들면, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호해독, 스케일러, 및 아날로그/디지털 회로부를 비롯한, 본원에서 설명되는 회로부는, 하나 이상의 범용 또는 특수 프로세서 상에서 실행하는 소프트웨어를 사용하여 구현될 수도 있다. 동시적 튜닝 기능(예를 들면, 시청 및 녹화 기능, 픽쳐 인 픽쳐(picture-in-picture; PIP) 기능, 다중 튜너 녹화, 등등)을 핸들링하기 위해, 다수의 튜너가 제공될 수도 있다. 스토리지(808)가 유저 기기(808)와는 별개의 디바이스로서 제공되는 경우, 튜닝 및 인코딩 회로부(다수의 튜너를 포함함)는 스토리지(800)와 관련될 수도 있다.
유저는 유저 입력 인터페이스(810)를 사용하여 제어 회로부(804)로 명령어를 전송할 수도 있다. 유저 입력 인터페이스(810)는, 원격 제어, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치 패드, 스타일러스 입력, 조이스틱, 음성 인식 인터페이스, 또는 다른 유저 입력 인터페이스와 같은 임의의 적절한 유저 인터페이스일 수도 있다. 디스플레이(812)는 독립형 디바이스로서 제공될 수도 있거나 또는 유저 기기 디바이스(800)의 다른 엘리먼트와 통합될 수도 있다. 예를 들면, 디스플레이(812)는 터치 스크린 또는 터치 감지 디스플레이일 수도 있다. 이러한 환경에서, 유저 입력 인터페이스(810)는 디스플레이(812)와 통합될 수도 있거나 또는 결합될 수도 있다. 디스플레이(812)는, 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(liquid crystal display; LCD), 비정질 실리콘 디스플레이, 저온 폴리 실리콘 디스플레이, 전자 잉크 디스플레이, 전기영동 디스플레이(electrophoretic display), 액티브 매트릭스 디스플레이, 전자 습윤 디스플레이(electro-wetting display), 전기 유체 디스플레이(electrofluidic display), 음극선관 디스플레이, 발광 다이오드 디스플레이, 전자 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이(high-performance addressing display), 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면 전도 전자 방출 디스플레이(surface-conduction electron-emitter display; SED), 레이저 텔레비전, 탄소 나노 튜브, 퀀텀 닷 디스플레이(quantum dot display), 간섭계 변조기 디스플레이(interferometric modulator display), 또는 시각적 이미지를 디스플레이하기 위한 임의의 다른 적절한 기기 중 하나 이상일 수도 있다. 몇몇 실시형태에서, 디스플레이(812)는 HDTV에 대응할 수도 있다. 몇몇 실시형태에서, 디스플레이(812)는 3D 디스플레이일 수도 있고, 상호 작용식 미디어 안내 애플리케이션 및 임의의 적절한 콘텐츠는 3D로 디스플레이될 수도 있다. 비디오 카드 또는 그래픽 카드가 디스플레이(812)로의 출력을 생성할 수도 있다. 비디오 카드는, 3D 장면 및 2D 그래픽의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력, 또는 다수의 모니터를 연결하는 성능과 같은 다양한 기능을 제공할 수도 있다. 비디오 카드는 제어 회로부(804)와 관련하여 상기에서 설명되는 임의의 프로세싱 회로부일 수도 있다. 비디오 카드는 제어 회로부(804)와 통합될 수도 있다. 스피커(814)는 유저 기기 디바이스(800)의 다른 엘리먼트와 통합된 것으로서 제공될 수도 있거나 또는 독립형 유닛일 수도 있다. 디스플레이(812) 상에 디스플레이되는 비디오 및 다른 콘텐츠의 오디오 성분은 스피커(814)를 통해 재생될 수도 있다. 몇몇 실시형태에서, 오디오는, 스피커(814)를 통해 오디오를 프로세싱 및 출력하는 수신기(도시되지 않음)로 분배될 수도 있다.
안내 애플리케이션은 임의의 적절한 아키텍쳐를 사용하여 구현될 수도 있다. 예를 들면, 그것은 유저 기기 디바이스(800) 상에서 전적으로 구현되는 독립형 애플리케이션일 수도 있다. 이러한 접근법에서, 애플리케이션의 명령어는 로컬하게(예를 들면, 스토리지(808)에) 저장되고, 애플리케이션에 의한 사용을 위한 데이터는 (예를 들면, 대역 외 피드로부터, 인터넷 리소스로부터, 또는 다른 적절한 접근법을 사용하여) 주기적 기반으로 다운로드된다. 제어 회로부(804)는 스토리지(808)로부터 애플리케이션의 명령어를 검색할 수도 있고 본원에서 논의되는 디스플레이 중 임의의 것을 생성하기 위해 명령어를 프로세싱할 수도 있다. 프로세싱된 명령어에 기초하여, 제어 회로부(804)는, 입력 인터페이스(810)로부터 입력이 수신될 때 어떤 액션을 수행할지를 결정할 수도 있다. 예를 들면, 디스플레이 상에서의 커서의 상/하 움직임은, 상/하 버튼이 선택되었다는 것을 입력 인터페이스(810)가 나타낼 때 프로세싱된 명령어에 의해 나타내어질 수도 있다.
몇몇 실시형태에서, 미디어 안내 애플리케이션은 클라이언트-서버 기반 애플리케이션이다. 유저 기기 디바이스(800) 상에서 구현되는 씩 클라이언트(thick client) 또는 씬 클라이언트(thin client )에 의한 사용을 위한 데이터는, 유저 기기 디바이스(800)에 대해 원격인 서버로 요청을 발행하는 것에 의해 요청에 따라 검색된다. 클라이언트-서버 기반 안내 애플리케이션의 하나의 예에서, 제어 회로부(804)는 원격 서버에 의해 제공되는 웹 페이지를 해석하는 웹 브라우저를 실행한다. 예를 들면, 원격 서버는 애플리케이션에 대한 명령어를 스토리지 디바이스에 저장할 수도 있다. 원격 서버는 회로부(예를 들면, 제어 회로부(804))를 사용하여 저장된 명령어를 프로세싱할 수도 있고 상기 및 하기에서 논의되는 디스플레이를 생성할 수도 있다. 클라이언트 디바이스는 원격 서버에 의해 생성되는 디스플레이를 수신할 수도 있고, 디스플레이의 콘텐츠를 기기 디바이스(800) 상에서 로컬하게 디스플레이할 수도 있다. 이러한 방식에서, 명령어의 프로세싱은 서버에 의해 원격으로 수행되고, 한편, 결과적으로 나타나는 디스플레이는 기기 디바이스(800) 상에서 로컬하게 제공된다. 기기 디바이스(800)는 입력 인터페이스(810)를 통해 유저로부터 입력을 수신할 수도 있고 대응하는 디스플레이를 프로세싱 및 생성하기 위해 이들 입력을 원격 서버로 전송할 수도 있다. 예를 들면, 기기 디바이스(800)는, 상/하 버튼이 입력 인터페이스(810)를 통해 선택되었다는 것을 나타내는 통신을 원격 서버로 전송할 수도 있다. 원격 서버는 그 입력에 따라 명령어를 프로세싱할 수 있고 입력에 대응하는 애플리케이션의 디스플레이(예를 들면, 커서를 상/하로 이동시키는 디스플레이)를 생성할 수도 있다. 그 다음, 생성된 디스플레이는, 유저에 대한 표시를 위해, 기기 디바이스(800)로 전송된다.
몇몇 실시형태에서, 미디어 안내 애플리케이션은 인터프리터 또는 가상 머신(제어 회로부(804)에 의해 실행됨)에 의해 다운로드되고 해석되거나 또는 다르게는 실행된다. 몇몇 실시형태에서, 안내 애플리케이션은 ETV 바이너리 상호교환 포맷(ETV Binary Interchange Format; EBIF)으로 인코딩될 수도 있고, 적절한 피드의 일부로서 제어 회로부(804)에 의해 수신될 수도 있고, 제어 회로부(804) 상에서 실행하는 유저 에이전트에 의해 해석될 수도 있다. 예를 들면, 안내 애플리케이션은 EBIF 애플리케이션일 수도 있다. 몇몇 실시형태에서, 안내 애플리케이션은 제어 회로부(804)에 의해 실행되는 다른 적절한 미들웨어 또는 로컬 가상 머신에 의해 수신되고 실행되는 일련의 JAVA 기반 파일에 의해 정의될 수도 있다. 이러한 실시형태(예를 들면, MPEG-2 또는 다른 디지털 매체 인코딩 스킴을 활용하는 실시형태) 중 몇몇에서, 안내 애플리케이션은, 예를 들면, 인코딩되어 프로그램의 MPEG 오디오 및 비디오 패킷을 갖는 MPEG-2 객체 주기 전송(object carousel)에서 전송될 수도 있다.
도 8의 유저 기기 디바이스(800)는, 도 9의 시스템(900)에서 유저 텔레비전 기기(902), 유저 컴퓨터 기기(904), 무선 유저 통신 디바이스(906), 또는 콘텐츠에 액세스하는 데 적절한 임의의 다른 타입의 유저 기기, 예컨대 비 휴대용 게임용 머신으로서 구현될 수 있다. 간략화를 위해, 이들 디바이스는 본원에서 총칭하여 유저 기기 또는 유저 기기 디바이스로 지칭될 수도 있으며, 상기에서 설명되는 유저 기기 디바이스와 실질적으로 유사할 수도 있다. 미디어 안내 애플리케이션이 구현될 수도 있는 유저 기기 디바이스는 독립형 디바이스로서 기능할 수도 있고 또는 디바이스의 네트워크의 일부일 수도 있다. 디바이스의 다양한 네트워크 구성이 구현될 수도 있으며, 이하에서 더 상세하게 설명된다.
도 8과 연계하여 상기에서 설명되는 시스템 피쳐 중 적어도 일부를 활용하는 유저 기기 디바이스는, 오로지, 유저 텔레비전 기기(902), 유저 컴퓨터 기기(904), 또는 무선 유저 통신 디바이스(906)로 분류되지 않을 수도 있다. 예를 들면, 유저 텔레비전 기기(902)는, 몇몇 유저 컴퓨터 기기(904)처럼, 인터넷 콘텐츠에 대한 액세스를 허용하는 인터넷 대응일 수도 있고, 한편 유저 컴퓨터 기기(904)는, 몇몇 텔레비전 기기(902)처럼, 텔레비전 프로그램에 대한 액세스를 허용하는 튜너를 포함할 수도 있다. 미디어 안내 애플리케이션은 다양하고 상이한 타입의 유저 기기 상에서 동일한 레이아웃을 가질 수도 있거나 또는 유저 기기의 디스플레이 능력에 맞춰질 수도 있다. 예를 들면, 유저 컴퓨터 기기(904) 상에서, 안내 애플리케이션은 웹 브라우저에 의해 액세스되는 웹 사이트로서 제공될 수도 있다. 다른 예에서, 안내 애플리케이션은 무선 유저 통신 디바이스(906)에 대해 스케일 다운될 수도 있다.
시스템(900)에서, 통상적으로는, 하나 보다 많은 각각의 타입의 유저 기기 디바이스가 존재하지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 9에서는 각각의 하나만이 도시된다. 또한, 각각의 유저는 하나보다 많은 타입의 유저 기기 디바이스 및 또한 하나보다 많은 각각의 타입의 유저 기기 디바이스를 활용할 수도 있다.
몇몇 실시형태에서, 유저 기기 디바이스(예를 들면, 유저 텔레비전 기기(902), 유저 컴퓨터 기기(904), 무선 유저 통신 디바이스(906))는 "제2 스크린 디바이스"로 칭해질 수도 있다. 예를 들면, 제2 스크린 디바이스는 제1 유저 기기 디바이스 상에 제시되는 콘텐츠를 보충할 수도 있다. 제2 스크린 디바이스 상에 제시되는 콘텐츠는 제1 디바이스 상에 제시되는 콘텐츠를 보충하는 임의의 적절한 콘텐츠일 수도 있다. 몇몇 실시형태에서, 제2 스크린 디바이스는, 제1 디바이스의 디스플레이 선호도 및 설정을 조정하기 위한 인터페이스를 제공한다. 몇몇 실시형태에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호 작용하도록 또는 소셜 네트워크와 상호 작용하도록 구성된다. 제2 스크린 디바이스는, 제1 디바이스와 동일한 방에, 동일한 집 또는 건물이지만 제1 디바이스와는 상이한 방에, 또는 제1 디바이스와는 상이한 건물에 위치될 수 있다.
유저는 또한, 가정용(in-home) 디바이스 및 원격 디바이스 전체에 걸쳐 일관된 미디어 안내 애플리케이션 설정을 유지하기 위해 다양한 설정을 설정할 수도 있다. 설정은, 본원에서 설명되는 것뿐만 아니라, 채널 및 프로그램 즐겨찾기, 프로그램 추천을 하기 위해 안내 애플리케이션이 활용하는 프로그램 선호도, 디스플레이 선호도, 및 다른 바람직한 안내 설정을 포함한다. 예를 들면, 유저가, 예를 들면, 자신의 사무실에 있는 그들의 개인용 컴퓨터 상에서 웹 사이트 www.allrovi.com에 대한 즐겨찾기로서 채널을 설정하면, 동일한 채널은 유저의 가정용 디바이스(예를 들면, 유저 텔레비전 기기 및 유저 컴퓨터 기기)뿐만 아니라, 소망되는 경우, 유저의 모바일 디바이스 상에서 즐겨찾기로서 나타날 것이다. 따라서, 하나의 유저 기기 디바이스 상에서 이루어지는 변경은, 다른 유저 기기 디바이스 상에서, 그들이 동일한 타입의 유저 기기 디바이스인지 또는 상이한 타입의 유저 기기 디바이스인지의 여부에 관계없이, 안내 경험을 변경할 수 있다. 또한, 행해지는 변경은, 유저에 의해 입력되는 설정뿐만 아니라, 안내 애플리케이션에 의해 모니터링되는 유저 활동에 기초할 수도 있다.
유저 기기 디바이스는 통신 네트워크(914)에 커플링될 수도 있다. 즉, 유저 텔레비전 기기(902), 유저 컴퓨터 기기(904), 및 무선 유저 통신 디바이스(906)는, 각각, 통신 경로(908, 910 및 912)를 통해 통신 네트워크(914)에 커플링된다. 통신 네트워크(914)는, 인터넷, 이동 전화 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들면, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환식 전화망, 또는 다른 타입의 통신 네트워크 또는 통신 네트워크의 조합을 포함하는 하나 이상의 네트워크일 수도 있다. 경로(908, 910, 및 912)는, 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신(예를 들면, IPTV)을 지원하는 경로, (예를 들면, 방송 또는 다른 무선 신호를 위한) 자유 공간 연결, 또는 임의의 다른 적절한 유선 또는 무선 통신 경로 또는 이러한 경로의 조합과 같은 하나 이상의 통신 경로를, 개별적으로 또는 함께, 포함할 수도 있다. 경로(912)는 도 9에서 도시되는 예시적인 실시형태에서 무선 경로이다는 것을 나타내기 위해 점선으로 묘사되고, 경로(908 및 910)는 (비록 이들 경로가, 소망되는 경우, 무선 경로일 수도 있지만) 유선 경로이다는 것을 나타내기 위해 실선으로 묘사된다. 유저 기기 디바이스와의 통신은, 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 방지하기 위해, 도 9에서는 단일의 경로로서 도시된다.
비록 유저 기기 디바이스 사이에서 통신 경로가 묘사되지는 않지만, 이들 디바이스는 경로(908, 910 및 912)와 연계하여 상기에서 설명되는 것과 같은 통신 경로뿐만 아니라, 다른 단거리의 점대점(point-to-point) 통신 경로, 예컨대 USB 케이블, IEEE 1394 케이블, 무선 경로(예를 들면, 블루투스, 적외선, IEEE 802-11x, 등등), 또는 유선 또는 무선 경로를 통한 다른 단거리 통신을 통해 서로 직접적으로 통신할 수도 있다. BLUETOOTH는 블루투스 SIG, INC가 소유한 인증 마크이다. 유저 기기 디바이스는 또한 통신 네트워크(914)를 통한 간접적인 경로를 통해 서로 직접적으로 통신할 수도 있다.
시스템(900)은 통신 경로(920 및 922)를 통해 통신 네트워크(914)에 각각 커플링되는 콘텐츠 소스(916) 및 미디어 안내 데이터 소스(918)를 포함한다. 경로(920 및 922)는 경로(908, 910 및 912)와 연계하여 상기에서 설명되는 통신 경로 중 임의의 것을 포함할 수도 있다. 콘텐츠 소스(916) 및 미디어 안내 데이터 소스(918)와의 통신은 하나 이상의 통신 경로를 통해 교환될 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 9에서는 단일의 경로로서 도시된다. 또한, 하나보다 많은 각각의 콘텐츠 소스(916) 및 미디어 안내 데이터 소스(918)가 존재할 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 9에서는 각각의 하나만이 도시된다. (이들 소스의 상이한 타입의 각각은 하기에서 논의된다.) 소망되는 경우, 콘텐츠 소스(916) 및 미디어 안내 데이터 소스(918)는 하나의 소스 디바이스로서 통합될 수도 있다. 비록 유저 기기 디바이스(906, 916, 및 902)와의 소스(916 및 902) 사이의 통신이 통신 네트워크(906)를 통하는 것으로 도시되지만, 몇몇 실시형태에서, 소스(918 및 904)는, 경로(908, 910, 912)와 연계하여 상기에서 설명되는 것과 같은 통신 경로(도시되지 않음)를 통해 유저 기기 디바이스(914, 918, 및 904)와 직접적으로 통신할 수도 있다.
텔레비전 분배 설비, 케이블 시스템 중계국(cable system headend), 위성 분배 설비, 프로그램 소스(예를 들면, NBC, ABC, HBO, 등등과 같은 텔레비전 방송국), 중간 분배 설비 및/또는 서버, 인터넷 공급자, 주문형 미디어 서버, 및 다른 콘텐츠 공급자를 포함하는 콘텐츠 소스(916)는 하나 이상의 타입의 콘텐츠 분배 기기를 포함할 수도 있다. NBC는 National Broadcasting Company, Inc. 소유의 상표이고, ABC는 American Broadcasting Company, Inc. 소유의 상표이며, HBO는 Home Box Office, Inc. 소유의 상표이다. 콘텐츠 소스(916)는 콘텐츠의 창작자(originator)(예를 들면, 텔레비전 방송국, 웹캐스트 공급자, 등등)일 수도 있거나 또는 콘텐츠의 창작자가 아닐 수도 있다(예를 들면, 주문형 콘텐츠 공급자, 다운로드용 방송 프로그램의 콘텐츠의 인터넷 공급자, 등등). 콘텐츠 소스(916)는, 케이블 소스, 위성 공급자, 주문형 공급자, 인터넷 공급자, 오버 더 톱(over-the-top) 콘텐츠 공급자, 또는 다른 콘텐츠 공급자를 포함할 수도 있다. 콘텐츠 소스(916)는 또한, 유저 기기 디바이스 중 임의의 것으로부터 원격의 위치에서 상이한 타입의 콘텐츠(유저에 의해 선택되는 비디오 콘텐츠를 포함함)를 저장하기 위해 사용되는 원격 미디어 서버를 포함할 수도 있다. 콘텐츠의 원격 저장을 위한, 그리고 원격으로 저장된 콘텐츠를 유저 기기에 제공하기 위한 시스템 및 방법은, 2010년 7월 20일자로 발행된 Ellis 등등의 미국 특허 제7,761,892호와 연계하여 상세히 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
미디어 안내 데이터 소스(918)는 상기에서 설명되는 미디어 안내 데이터와 같은 미디어 안내 데이터를 제공할 수도 있다. 미디어 안내 데이터는 임의의 적절한 접근법을 사용하여 유저 기기 디바이스로 제공될 수도 있다. 몇몇 실시형태에서, 안내 애플리케이션은, 데이터 피드(예를 들면, 연속하는 피드 또는 간헐적인 피드(trickle feed))를 통해 프로그램 가이드 데이터를 수신하는 독립형의 상호 작용식 텔레비전 프로그램 가이드일 수도 있다. 대역 내 디지털 신호를 사용하여, 대역 외 디지털 신호를 사용하여, 또는 임의의 다른 적절한 데이터 전송 기술에 의해, 프로그램 스케줄 데이터 및 다른 안내 데이터가 텔레비전 채널 측대역 상에서 유저 기기로 제공될 수도 있다. 다수의 아날로그 또는 디지털 텔레비전 채널 상에서, 프로그램 스케줄 데이터 및 다른 미디어 안내 데이터가 유저 기기로 제공될 수도 있다.
몇몇 실시형태에서, 미디어 안내 데이터 소스(918)로부터의 안내 데이터는 클라이언트-서버 접근법을 사용하여 유저 기기로 제공될 수도 있다. 예를 들면, 유저 기기 디바이스는 서버로부터 미디어 안내 데이터를 끌어낼 수도 있거나, 또는 서버가 미디어 안내 데이터를 유저 기기 디바이스로 푸시할 수도 있다. 몇몇 실시형태에서, 유저의 기기 상에 상주하는 안내 애플리케이션 클라이언트는, 필요시, 예를 들면, 안내 데이터가 날짜가 지난 경우 또는 유저 기기 디바이스가 유저로부터 데이터 수신 요청을 수신하는 경우, 안내 데이터를 획득하기 위해 소스 데이터(918)와의 세션을 개시할 수도 있다. 미디어 안내는, 임의의 적절한 빈도로(예를 들면, 연속적으로, 매일, 유저가 지정한 시간의 주기로, 시스템이 지정한 시간의 주기로, 유저 기기로부터의 요청에 응답하여, 등등으로) 유저 기기로 제공될 수도 있다. 미디어 안내 데이터 소스(918)는 유저 기기 디바이스(902, 904 및 906)에 미디어 안내 애플리케이션 그 자체 또는 미디어 안내 애플리케이션에 대한 소프트웨어 업데이트를 제공할 수도 있다.
몇몇 실시형태에서, 미디어 안내 데이터는 뷰어 데이터를 포함할 수도 있다. 예를 들면, 뷰어 데이터는, 현재 및/또는 이력적(historical) 유저 활동 정보(예를 들면, 유저가 일반적으로 어떤 콘텐츠를 시청하는지, 유저가 하루 중 어떤 시간에 콘텐츠를 시청하는지, 유저가 소셜 네트워크와 상호 작용하는지의 여부, 유저가 정보를 게시하기 위해 어떤 시간에 소셜 네트워크와 상호 작용하는지, 유저가 일반적으로 어떤 타입의 콘텐츠(예를 들면, 유료 TV 또는 무료 TV)를 시청하는지, 무드, 뇌 활동 정보, 등등)를 포함할 수도 있다. 미디어 안내 데이터는 가입 데이터를 포함할 수도 있다. 예를 들면, 가입 데이터는 주어진 유저가 가입하는 소스 또는 서비스가 어떤 것인지 및/또는 주어진 가입자가 이전에 가입했지만 나중에 액세스를 종료한 소스 또는 서비스가 어떤 것인지(예를 들면, 유저가 프리미엄 채널에 가입하는지의 여부, 유저가 프리미엄 레벨의 서비스를 추가했는지의 여부, 유저가 인터넷 속도를 증가시켰는지의 여부)를 식별할 수도 있다. 몇몇 실시형태에서, 뷰어 데이터 및/또는 가입 데이터는 1년 넘게 주어진 유저의 패턴을 식별할 수도 있다. 미디어 안내 데이터는, 주어진 유저가 서비스/소스에 대한 액세스를 종료할 가능성을 나타내는 스코어를 생성하기 위해 사용되는 모델(예를 들면, 생존자 모델(survivor model))을 포함할 수도 있다. 예를 들면, 미디어 안내 애플리케이션은, 주어진 유저가 특정한 서비스 또는 소스에 대한 액세스를 종료할지의 여부의 가능성을 나타내는 값 또는 스코어를 생성하는 모델을 사용하여 가입 데이터와 함께 뷰어 데이터를 프로세싱할 수도 있다. 특히, 더 높은 스코어는, 유저가 특정한 서비스 또는 소스에 대한 액세스를 종료할 것이라는 높은 레벨의 신뢰도를 나타낼 수도 있다. 스코어에 기초하여, 미디어 안내 애플리케이션은, 유저가 액세스를 종료할 가능성이 있는 서비스 또는 소스로서 스코어에 의해 나타내어지는 특정한 서비스 또는 소스를 계속 유지하도록 유저를 부추기는 프로모션 및 광고를 생성할 수도 있다.
미디어 안내 애플리케이션은, 예를 들면, 유저 기기 디바이스 상에서 구현되는 독립형 애플리케이션일 수도 있다. 예를 들면, 미디어 안내 애플리케이션은, 스토리지(808)에 저장될 수도 있고, 유저 기기 디바이스(800)의 제어 회로부(804)에 의해 실행될 수도 있는 소프트웨어 또는 한 세트의 실행 가능한 명령어로서 구현될 수도 있다. 몇몇 실시형태에서, 미디어 안내 애플리케이션은, 클라이언트 애플리케이션만이 유저 기기 디바이스 상에 상주하고, 서버 애플리케이션이 원격 서버 상에 상주하는 클라이언트-서버 애플리케이션일 수도 있다. 예를 들면, 미디어 안내 애플리케이션은 부분적으로는 유저 기기 디바이스(800)의 제어 회로부(804) 상에서 클라이언트 애플리케이션으로서 그리고 부분적으로는 원격 서버 상에서 원격 서버의 제어 회로부 상에서 실행하는 서버 애플리케이션(예를 들면, 미디어 안내 데이터 소스(918))으로서 구현될 수도 있다. (미디어 안내 데이터 소스(918)와 같은) 원격 서버의 제어 회로부에 의해 실행될 때, 미디어 안내 애플리케이션은, 안내 애플리케이션 디스플레이를 생성할 것을 그리고 생성된 디스플레이를 유저 기기 디바이스로 전송할 것을 제어 회로부에게 지시할 수도 있다. 서버 애플리케이션은, 유저 기기 상에서의 저장을 위해 데이터를 전송할 것을 미디어 안내 데이터 소스(918)의 제어 회로부에게 지시할 수도 있다. 클라이언트 애플리케이션은 안내 애플리케이션 디스플레이를 생성할 것을 수신 유저 기기의 제어 회로부에게 지시할 수도 있다.
유저 기기 디바이스(902, 904 및 906)로 전달되는 콘텐츠 및/또는 미디어 안내 데이터는 오버 더 톱(over-the-top; OTT) 콘텐츠일 수도 있다. OTT 콘텐츠 전달은, 상기에서 설명되는 임의의 유저 기기 디바이스를 비롯한, 인터넷 대응 유저 디바이스가, 케이블 또는 위성 연결을 통해 수신되는 콘텐츠 외에도, 상기에서 설명되는 임의의 콘텐츠를 비롯한, 인터넷을 통해 전송되는 콘텐츠를 수신하는 것을 허용한다. OTT 콘텐츠는 인터넷 서비스 공급자(Internet service provider; ISP)에 의해 제공되는 인터넷 연결을 통해 전달되지만, 그러나 써드파티가 콘텐츠를 배포한다. ISP는 콘텐츠의 시청 능력, 저작권, 또는 재배포에 대한 책임을 지지 않을 수도 있으며, OTT 콘텐츠 공급자에 의해 제공되는 IP 패킷만을 전송할 수도 있다. OTT 콘텐츠 공급자의 예는, IP 패킷을 통해 오디오 및 비디오를 제공하는 YOUTUBE(유튜브), NETFLIX(넷플릭스) 및 HULU(훌루)를 포함한다. 유튜브는 Google Inc. 소유의 상표이고, 넷플릭스는 Netflix Inc. 소유의 상표이며, 훌루는 Hulu, LLC 소유의 상표이다. OTT 콘텐츠 공급자는, 추가적으로 또는 대안적으로, 상기에서 설명되는 미디어 안내 데이터를 제공할 수도 있다. 콘텐츠 및/또는 미디어 안내 데이터 외에, OTT 콘텐츠의 공급자는 미디어 안내 애플리케이션(예를 들면, 웹 기반의 애플리케이션 또는 클라우드 기반의 애플리케이션)을 배포할 수 있거나, 또는 콘텐츠는 유저 기기 디바이스 상에 저장되는 미디어 안내 애플리케이션에 의해 디스플레이될 수 있다.
미디어 안내 시스템(900)은 다수의 접근법, 또는 네트워크 구성을 예시하도록 의도되는데, 콘텐츠에 액세스하고 미디어 안내를 제공하는 목적을 위해 유저 기기 디바이스 및 콘텐츠 및 안내 데이터의 소스는 다수의 접근법, 또는 네트워크 구성에 의해 서로 통신할 수도 있다. 본원에서 설명되는 실시형태는 이들 접근법 중 임의의 하나 또는 서브세트에서, 또는 콘텐츠를 전달하고 미디어 안내를 제공하기 위한 다른 접근법을 활용하는 시스템에서 적용될 수도 있다. 다음 네 가지 접근법은 도 9의 일반화된 예의 구체적인 예시를 제공한다.
하나의 접근법에서, 유저 기기 디바이스는 홈 네트워크 내에서 서로 통신할 수도 있다. 유저 기기 디바이스는, 상기에서 설명되는 단거리의 점대점 통신 스킴을 통해, 홈 네트워크 상에 제공되는 허브 또는 다른 유사한 디바이스를 통한 간접 경로를 통해, 또는 통신 네트워크(914)를 통해, 서로 직접적으로 통신할 수 있다. 단일의 가정 내의 다수의 개인의 각각은 홈 네트워크 상에서 상이한 유저 기기 디바이스를 조작할 수도 있다. 결과적으로, 다양한 미디어 안내 정보 또는 설정이 상이한 유저 기기 디바이스 사이에서 통신되는 것이 바람직할 수도 있다. 예를 들면, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 공개 공보 제2005/0251827호에서 상세히 설명되는 바와 같이, 유저가 홈 네트워크 내의 상이한 유저 기기 디바이스에 대해 일관된 미디어 안내 애플리케이션 설정을 유지하는 것이 바람직할 수도 있다. 홈 네트워크 내의 상이한 타입의 유저 기기 디바이스는 또한, 콘텐츠를 전송하도록 서로 통신할 수도 있다. 예를 들면, 유저는 유저 컴퓨터 기기로부터 휴대용 비디오 플레이어 또는 휴대용 음악 플레이어로 콘텐츠를 전송할 수도 있다.
제2 접근법에서, 유저는, 그들이 콘텐츠에 액세스하여 미디어 안내를 획득하는 다수의 타입의 유저 기기를 구비할 수도 있다. 예를 들면, 몇몇 유저는 가정용 디바이스 및 모바일 디바이스에 의해 액세스되는 홈 네트워크를 구비할 수도 있다. 유저는 원격 디바이스 상에서 구현되는 미디어 안내 애플리케이션을 통해 가정용 디바이스를 제어할 수도 있다. 예를 들면, 유저는 그들의 사무실의 개인 컴퓨터, 또는 PDA 또는 웹 대응 이동 전화와 같은 모바일 디바이스를 통해 웹 사이트 상의의 온라인 미디어 안내 애플리케이션에 액세스할 수도 있다. 유저는, 유저의 가정용 기기를 제어하기 위해, 온라인 안내 애플리케이션 상의 다양한 설정(예를 들면, 녹화, 리마인더, 또는 다른 설정)을 설정할 수도 있다. 온라인 가이드는 유저 기기를 직접적으로, 또는 유저의 가정용 기기 상의 미디어 안내 애플리케이션과 통신하는 것에 의해 제어할 수도 있다. 유저 기기 디바이스가 서로 멀리 떨어진 위치에 있는 경우, 유저 기기 디바이스가 통신하기 위한 다양한 시스템 및 방법은, 예를 들면, 2011년 10월 25일자로 발행된 Ellis 등등의 미국 특허 제8,046,801호에서 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
제3 접근법에서, 가정 내부 및 외부의 유저 기기 디바이스의 유저는, 콘텐츠 소스(916)와 직접적으로 통신하여 콘텐츠에 액세스하기 위해, 그들의 미디어 안내 애플리케이션을 사용할 수 있다. 구체적으로, 가정 내에서, 유저 텔레비전 기기(902) 및 유저 컴퓨터 기기(904)의 유저는, 소망하는 콘텐츠 사이를 탐색하고 소망하는 콘텐츠의 위치를 결정하기 위해, 미디어 안내 애플리케이션에 액세스할 수도 있다. 유저는 또한, 소망하는 콘텐츠 사이를 탐색하고 소망하는 콘텐츠의 위치를 결정하기 위해, 무선 유저 통신 디바이스(906)를 사용하여 가정 외부의 미디어 안내 애플리케이션에 액세스할 수도 있다.
제4 접근법에서, 유저 기기 디바이스는 클라우드 서비스에 액세스하기 위해 클라우드 컴퓨팅 환경에서 동작할 수도 있다. 클라우드 컴퓨팅 환경에서, 콘텐츠 공유, 저장 또는 배포를 위한 다양한 타입의 컴퓨팅 서비스(예를 들면, 비디오 공유 사이트 또는 소셜 네트워킹 사이트)는, "클라우드"로 칭해지는 네트워크 액세스 가능 컴퓨팅 및 스토리지 리소스의 집합(collection)에 의해 제공된다. 예를 들면, 클라우드는 통신 네트워크(914)를 통해 인터넷과 같은 네트워크를 통해 연결되는 다양한 타입의 유저 및 디바이스에게 클라우드 기반 서비스를 제공하는, 중앙 집중식으로 또는 분산된 위치에 위치될 수도 있는 서버 컴퓨팅 디바이스의 집합을 포함할 수 있다. 이들 클라우드 리소스는 하나 이상의 콘텐츠 소스(916) 및 하나 이상의 미디어 안내 데이터 소스(918)를 포함할 수도 있다. 추가적으로 또는 대안적으로, 원격 컴퓨팅 사이트는 유저 텔레비전 기기(902), 유저 컴퓨터 기기(904), 및 무선 유저 통신 디바이스(906)와 같은 다른 유저 기기 디바이스를 포함할 수도 있다. 예를 들면, 다른 유저 기기 디바이스는 비디오의 저장된 사본 또는 스트리밍된 비디오에 대한 액세스를 제공할 수도 있다. 이러한 실시형태에서, 유저 기기 디바이스는 중앙 서버와 통신하지 않고 피어 투 피어 방식으로 동작할 수도 있다.
클라우드는, 유저 기기 디바이스에 대해, 다른 예 중에서도, 콘텐츠 저장, 콘텐츠 공유, 또는 소셜 네트워킹 서비스와 같은 서비스에 대한 액세스뿐만 아니라, 상기에서 설명되는 임의의 콘텐츠에 대한 액세스를 제공한다. 서비스는 클라우드 컴퓨팅 서비스 공급자를 통해, 또는 온라인 서비스의 다른 공급자를 통해 클라우드에서 제공될 수 있다. 예를 들면, 클라우드 기반 서비스는, 콘텐츠 저장 서비스, 콘텐츠 공유 사이트, 소셜 네트워킹 사이트, 또는 연결된 디바이스 상에서 다른 사람이 보도록 유저가 제공한 콘텐츠가 배포되는 다른 서비스를 포함할 수 있다. 이들 클라우드 기반 서비스는, 콘텐츠를 로컬하게 저장하고 로컬하게 저장된 콘텐츠에 액세스하는 대신, 유저 기기 디바이스가 콘텐츠를 클라우드에 저장하는 것 및 클라우드로부터 콘텐츠를 수신하는 것을 허용할 수도 있다.
유저는, 콘텐츠를 녹화하기 위해, 캠코더, 비디오 모드를 갖는 디지털 카메라, 오디오 레코더, 이동 전화, 및 핸드헬드 컴퓨팅 디바이스와 같은 다양한 콘텐츠 캡쳐 디바이스를 사용할 수도 있다. 유저는, 예를 들면, 콘텐츠 캡쳐 피쳐를 갖는 무선 유저 통신 디바이스(906) 또는 유저 컴퓨터 기기(904)로부터 직접적으로 클라우드 상의 콘텐츠 저장 서비스에 콘텐츠를 업로드할 수 있다. 대안적으로, 유저는 유저 컴퓨터 기기(904)와 같은 유저 기기 디바이스로 콘텐츠를 먼저 전송할 수 있다. 콘텐츠를 저장하는 유저 기기 디바이스는 통신 네트워크(914) 상의 데이터 전송 서비스를 사용하여 콘텐츠를 클라우드로 업로드한다. 몇몇 실시형태에서, 유저 기기 디바이스 그 자체는 클라우드 리소스이고, 다른 유저 기기 디바이스는 유저가 콘텐츠를 저장한 유저 기기 디바이스의 콘텐츠에 직접적으로 액세스할 수 있다.
클라우드 리소스는, 예를 들면, 웹 브라우저, 미디어 안내 애플리케이션, 데스크톱 애플리케이션, 모바일 애플리케이션, 및/또는 이들의 액세스 애플리케이션의 임의의 조합을 사용하여 유저 기기 디바이스에 의해 액세스될 수도 있다. 유저 기기 디바이스는 애플리케이션 전달을 위해 클라우드 컴퓨팅에 의존하는 클라우드 클라이언트일 수도 있거나, 또는 유저 기기 디바이스는 클라우드 리소스에 액세스하지 않는 몇몇 기능을 가질 수도 있다. 예를 들면, 유저 기기 디바이스 상에서 실행하는 몇몇 애플리케이션은 클라우드 애플리케이션, 즉, 인터넷을 통해 서비스로서 전달되는 애플리케이션일 수도 있고, 한편 다른 애플리케이션은 유저 기기 디바이스 상에서 저장 및 실행될 수도 있다. 몇몇 실시형태에서, 유저 디바이스는 다수의 클라우드 리소스로부터 동시에 콘텐츠를 수신할 수도 있다. 예를 들면, 유저 디바이스는 하나의 클라우드 리소스로부터 오디오를 스트리밍할 수 있고, 동시에 제2 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 또는 더 효율적인 다운로드를 위해 유저 디바이스가 다수의 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 몇몇 실시형태에서, 유저 기기 디바이스는 도 8과 관련하여 설명되는 프로세싱 회로부에 의해 수행되는 프로세싱 동작과 같은 동작을 프로세싱하기 위해 클라우드 리소스를 사용할 수 있다.
본원에서 언급된 바와 같이, 용어 "~에 응답하여"는 ~의 결과로서 개시되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 수행되는 것은, 제1 액션과 제2 액션 사이의 개재하는(interstitial) 단계를 포함할 수도 있다. 본원에서 언급되는 바와 같이, 용어 "~에 직접적으로 응답하여"는 ~에 의해 야기되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 수행되는 것은, 제1 액션과 제2 액션 사이에 개재하는 단계를 포함하지 않을 수도 있다.
도 10은 본 개시의 몇몇 실시형태에 따른 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 예시적인 프로세스(1000)의 플로우차트이다. 도 10은 본 개시의 몇몇 실시형태에 따른 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하는 제어 회로부(예를 들면, 제어 회로부(804))에 대한 프로세스를 나타낸다. 몇몇 실시형태에서, 이 알고리즘은 프로세싱 회로부(예를 들면, 프로세싱 회로부(806))에 의해 디코딩되어 실행될 명령어의 세트로서 비일시적 저장 매체(예를 들면, 스토리지 디바이스(808)) 상으로 인코딩될 수도 있다. 프로세싱 회로부는, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호해독, 스케일링, 아날로그/디지털 변환 회로부, 및 등등과 같은 제어 회로부(804) 내에 포함되는 다른 서브 회로에 명령어를 제공할 수도 있다.
단계(1002)에서, 제어 회로부(804)는 유저 입력 디바이스를 통해 유저로부터 제1 질의를 수신한다. 예를 들면, 제어 회로부(804)는 제1 질의 "Give me some Beethoven movies(베토벤 영화를 좀 보여줘)"를 수신할 수도 있다. 단계(1004)에서, 제어 회로부(804)는 데이터베이스로부터 제1 질의에 대한 제1 검색 결과를 검색한다. 단계(1006)에서, 제어 회로부(804)는 디스플레이를 위해 제1 검색 결과를 생성한다. 예를 들면, 제어 회로부(804)는 디스플레이 검색 결과 "Beethoven: A Documentary(베토벤: 다큐멘터리)" 및 "Beethoven Musical Genius(베토벤 음악 천재)"를 검색 및 생성할 수도 있다. 단계(1008)에서, 제어 회로부(804)는 유저 입력 디바이스를 통해 유저로부터 제2 질의를 수신한다. 예를 들면, 제어 회로부(804)는 제2 질의 "I meant the Dog(개를 말한거야)"를 수신할 수도 있다.
단계(1010)에서, 제어 회로부(804)는 제1 질의에서 제1 토큰을 결정한다. 예를 들면, 제어 회로부(804)는 제1 질의에서 제1 토큰 "Beethoven(베토벤)"을 결정할 수도 있다. 몇몇 실시형태에서, 제어 회로부(804)는, 제1 질의에서 제1 용어 및 제2 용어를 식별하는 것, 제1 용어가 필러 워드이다는 것을 결정하는 것, 제2 용어가 필러 워드가 아니다는 것을 결정하는 것, 및 제2 용어를 제1 토큰인 것으로 할당하는 것에 의해, 제1 질의에서 제1 토큰을 결정한다. 예를 들면, 제어 회로부(804)는 제1 질의 내의 다른 용어 중에서 "some(좀)" 및 "Beethoven(베토벤)"을 식별할 수도 있다. 제어 회로부(804)는 "some(좀)"이 필러 워드가 되는 것을 그리고 "Beethoven(베토벤)"이 필러 워드가 아닌 것을 결정할 수도 있다. 제어 회로부(804)는 "Beethoven(베토벤)"을 제1 토큰으로 할당할 수도 있다.
단계(1012)에서, 제어 회로부(804)는 제2 질의에서 제2 토큰을 결정한다. 예를 들면, 제어 회로부(804)는 "Dog(개)"가 제2 질의의 제2 토큰이 되는 것을 결정할 수도 있다. 단계(1014)에서, 제어 회로부(804)는 제1 토큰에 대한 제1 엔티티 데이터를 식별한다. 제1 엔티티 데이터는, 제1 토큰에 대한 제1 엔티티 타입, 제1 엔티티 타입이 제1 토큰에 대응하는 제1 확률, 제1 토큰에 대한 제2 엔티티 타입, 및 제2 엔티티 타입이 제1 토큰에 대응하는 제2 확률을 포함할 수도 있다. 예를 들면, 제어 회로부(804)는 제1 엔티티 타입 "Musician(음악가)"과 0.75의 제1 확률 및 제2 엔티티 타입 "Dog(개)"와 0.25의 제2 확률을 식별할 수도 있다. 단계(1016)에서, 제어 회로부(804)는 제2 토큰에 대한 제2 엔티티 데이터를 식별한다. 제2 엔티티 데이터는, 제2 토큰에 대한 제3 엔티티 타입, 제3 엔티티 타입이 제2 토큰에 대응하는 제3 확률, 제2 토큰에 대한 제4 엔티티 타입, 및 제4 엔티티 타입이 제2 토큰에 대응하는 제4 확률을 포함할 수도 있다.
단계(1018)에서, 제어 회로부(804)는 지식 그래프(예를 들면, 지식 그래프(400))로부터, 제1 엔티티 데이터와 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색한다. 예를 들면, 제어 회로부(804)는 제1 토큰 "Beethoven(베토벤)"에 대한 제1 엔티티 데이터와 제2 토큰 "Dog(개)"에 대한 제2 엔티티 데이터 사이의 그래프 연결을 검색할 수도 있다. 몇몇 실시형태에서, 제어 회로부(804)는, 제1 엔티티 타입인 제1 토큰과 제3 엔티티 타입인 제2 토큰 사이의 제1 그래프 연결을 검색하는 것, 제2 엔티티 타입인 제1 토큰과 제3 엔티티 타입인 제2 토큰 사이의 제2 그래프 연결을 검색하는 것, 제1 엔티티 타입인 제1 토큰과 제4 엔티티 타입인 제2 토큰 사이의 제3 그래프 연결을 검색하는 것, 및 제2 엔티티 타입인 제1 토큰과 제4 엔티티 타입인 제2 토큰 사이의 제4 그래프 연결을 검색하는 것에 의해, 제1 엔티티 데이터와 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색한다.
단계(1020)에서, 제어 회로부(804)는, 제1 토큰, 제2 토큰, 제1 엔티티 데이터, 제2 엔티티 데이터, 및 하나 이상의 그래프 연결을 인공 신경망(예를 들면, 인공 신경망(500))에 대한 입력으로서 적용한다. 몇몇 실시형태에서, 제어 회로부(804)는, 제1 토큰에 대한 제1 값을 인공 신경망의 입력 레이어의 제1 가중치와 승산하는 것, 제2 토큰에 대한 제2 값을 인공 신경망의 입력 레이어의 제2 가중치와 승산하는 것, 제1 엔티티 데이터에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것, 제2 엔티티 데이터에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것, 및 하나 이상의 그래프 연결에 대한 하나 이상의 값을 인공 신경망의 입력 레이어의 하나 이상의 가중치와 승산하는 것에 의해, 제1 토큰, 제2 토큰, 제1 엔티티 데이터, 제2 엔티티 데이터, 및 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용한다.
단계(1022)에서, 제어 회로부(804)는 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 인공 신경망으로부터 결정한다. 몇몇 실시형태에서, 제어 회로부(804)는, 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을, 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하는 것 및 승산으로부터의 결과 값을 가산하여 출력 값을 결정하는 것에 의해, 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 인공 신경망으로부터 결정한다.
단계(1024)에서, 제어 회로부(804)는 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 몇몇 실시형태에서, 제어 회로부(804)는, 대화 연속성의 타입을 병합 타입인 것으로 식별하는 것 및 대화 연속성의 타입을 병합 타입인 것으로 식별하는 것에 기초하여 제2 질의를 제1 질의와 병합하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 이전 및 다음 질의는, 다음 질의가 이전 질의의 연속인 경우 병합될 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "movies of Tom Cruise(톰 크루즈의 영화)" 및 "with Nicole Kidman(니콜 키드만이 함께 나오는)"일 수도 있다. 이전 및 다음 질의의 다른 예시적인 세트는 "get me some good Sci-Fi movies(좋은 공상 영화를 보여줘)" 및 "on NETFLIX(넷플릭스에서)"일 수도 있다. 이전 및 다음 질의의 여전히 다른 예시적인 세트는 "looking for Tom Cruise flicks(톰 크루즈 영화를 찾아줘)" 및 "interested in the ones with Nicole Kidman(니콜 키드만과 함께 나오는 영화에 관심이 있어)"일 수도 있다.
몇몇 실시형태에서, 제어 회로부(804)는, 대화 연속성의 타입을 대체 타입인 것으로 식별하는 것, 제1 질의의 일부를 대체하는 제2 질의의 일부를 결정하는 것, 및 제1 질의의 일부가 제2 질의의 일부로 대체되면 제2 질의가 제1 질의가 된다는 것을 결정하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 이전 질의의 일부는 다음 질의의 일부로 대체될 수도 있다. 이전 질의와 다음 질의의 예시적인 세트는 "is there any Red Sox game tonight(오늘 밤 레드 삭스 경기가 있어?)"와 "how about tomorrow(내일은 어때?)"일 수도 있다. 이 상황에서, 다음 질의로부터의 "tomorrow(내일)"은 이전 질의의 "tonight(오늘 밤)"을 대체한다.
몇몇 실시형태에서, 제어 회로부(804)는, 대화 연속성의 타입을 명확화 타입인 것으로 식별하는 것, 제2 질의에 기초하여 제1 질의의 제1 토큰에 대한 대안적인 엔티티 타입을 결정하는 것, 및 제1 토큰이 대안적인 엔티티 타입이면 제2 질의가 제1 질의가 된다는 것을 결정하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 다음 질의는, 이전 질의에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의로부터의 앞선 엔티티를 명확하게 할 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "who won the Broncos game(누가 브롱코스 게임을 이겼지?)" 및 "I meant the college team(대학 팀을 말한 거야)"일 수도 있다. 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다. 이전 질의 및 다음 질의의 다른 예시적인 세트는, "Beethoven movies(베토벤 영화)" 및 "I meant the dog(개를 말한거야)"일 수도 있다. 마찬가지로 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다.
몇몇 실시형태에서, 제어 회로부(804)는, 대화 연속성의 타입을 연속성 타입이 아닌 것으로 식별하는 것 및 제2 질의를 업데이트된 제2 질의인 것으로 할당하는 것에 의해, 대화 연속성의 타입에 기초하여 제2 질의를 업데이트한다. 예를 들면, 다음 질의는 이전 질의와는 독립적일 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "action movies(액션 영화)" 및 "comedy movies(코미디 영화)"일 수도 있다. 이 상황에서, 이전 질의와 다음 질의 사이에는 대화 연속성이 없다.
단계(1026)에서, 제어 회로부(804)는 데이터베이스로부터 제2 질의에 대한 제2 검색 결과를 검색한다. 단계(1028)에서, 제어 회로부(804)는 디스플레이를 위해 제2 검색 결과를 생성한다. 몇몇 실시형태에서, 제어 회로부(804)는, 대화 연속성의 결정된 타입이 부정확하다는 유저 입력 디바이스로부터의 표시 및 대화 연속성의 보정된 타입을 수신한다. 제어 회로부(804)는, 대화 연속성의 보정된 타입에 기초하여 인공 신경망에서의 하나 이상의 가중치를 업데이트한다.
도 10의 단계 또는 설명은 본 개시의 임의의 다른 실시형태와 함께 사용될 수도 있다는 것이 고려된다. 또한, 도 10과 관련하여 설명되는 설명은, 본 개시의 목적을 진전시키기 위해 대안적인 순서로 또는 병렬로 행해질 수도 있다. 예를 들면, 시스템 또는 방법의 지연을 감소시키기 위해 또는 속도를 높이기 위해, 조건문(conditional statement) 및 논리적 평가가 임의의 순서로 또는 병렬로 또는 동시에 수행될 수도 있다. 추가적인 예로서, 몇몇 실시형태에서, 변수의 몇몇 인스턴스가, 다수의 논리 프로세서 스레드를 사용하여, 병렬로 평가될 수도 있거나, 또는 알고리즘은 분기 예측을 통합하는 것에 의해 향상될 수도 있다. 또한, 도 10의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합 상에서 구현될 수도 있다는 것, 및 도 8 및 도 9와 관련하여 논의되는 디바이스 또는 기기 중 임의의 것은 프로세스 중 하나 이상의 부분을 구현하기 위해 사용될 수 있다는 것을 유의해야 한다.
도 11은 본 개시의 몇몇 실시형태에 따른 자연 언어 질의에서 하나 이상의 토큰을 결정하기 위한 예시적인 프로세스(1100)의 플로우차트이다. 예시적인 프로세스는 도 10의 단계(1010 또는 1012)를 실행하기 위한 예시적인 단계를 제공한다. 도 11은 본 개시의 몇몇 실시형태에 따른 자연 언어 질의에서 하나 이상의 토큰을 결정하기 위한 제어 회로부(예컨대, 제어 회로부(804))에 대한 프로세스를 제시한다. 몇몇 실시형태에서, 이 알고리즘은 프로세싱 회로부(예를 들면, 프로세싱 회로부(806))에 의해 디코딩되어 실행될 명령어의 세트로서 비일시적 저장 매체(예를 들면, 스토리지 디바이스(808)) 상으로 인코딩될 수도 있다. 프로세싱 회로부는, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호해독, 스케일링, 아날로그/디지털 변환 회로부, 및 등등과 같은 제어 회로부(804) 내에 포함되는 다른 서브 회로에 명령어를 제공할 수도 있다.
단계(1102)에서, 제어 회로부(804)는 질의를 수신한다. 예를 들면, 제어 회로부(804)는 질의 "Give me some Beethoven movies(베토벤 영화를 좀 보여줘)"를 수신할 수도 있다. 단계(1104)에서, 제어 회로부(804)는 질의에서 용어를 식별한다. 단계(1106)에서, 제어 회로부(804)는 그 용어가 필러 워드인지의 여부를 결정한다. 용어가 필러 워드가 아닌 경우, 단계(1108)에서, 제어 회로부(804)는 그 용어를 질의에 대한 토큰으로 할당한다. 용어가 필러 워드인 경우, 단계(1110)에서, 제어 회로부(804)는 용어를 스킵하고 질의 내에 임의의 용어가 분석될 것으로 남아 있는지의 여부를 결정한다. 질의 내에 용어가 분석될 것으로 남아 있다면, 단계(1104)에서, 제어 회로부(804)는 질의 내에서 다른 용어를 식별한다. 어떠한 용어도 분석될 것으로 남아 있지 않다면, 단계(1112)에서, 제어 회로부(804)는 질의에서 발견되는 토큰을 반환한다. 예를 들면, 제어 회로부(804)는 질의 내의 다른 용어 중에서 "some(좀)" 및 "Beethoven(베토벤)"을 식별할 수도 있다. 제어 회로부(804)는 "some(좀)"이 필러 워드가 되는 것을 그리고 "Beethoven(베토벤)"이 필러 워드가 아닌 것을 결정할 수도 있다. 제어 회로부(804)는 "Beethoven(베토벤)"을 질의에 대한 토큰으로 할당할 수도 있지만 그러나 "some(좀)"은 질의에 대한 토큰으로 할당하지 않을 수도 있다. 제어 회로부(804)는 질의에 대한 토큰으로서 "Beethoven(베토벤)"을 반환할 수도 있다.
도 11의 단계 또는 설명은 본 개시의 임의의 다른 실시형태와 함께 사용될 수도 있다는 것이 고려된다. 또한, 도 11과 관련하여 설명되는 설명은, 본 개시의 목적을 진전시키기 위해 대안적인 순서로 또는 병렬로 행해질 수도 있다. 예를 들면, 시스템 또는 방법의 지연을 감소시키기 위해 또는 속도를 높이기 위해, 조건문 및 논리적 평가, 예컨대 1106 및 1110에서의 것들이 임의의 순서로 또는 병렬로 또는 동시에 수행될 수도 있다. 추가적인 예로서, 몇몇 실시형태에서, 용어의 몇몇 인스턴스가, 다수의 논리 프로세서 스레드를 사용하여, 병렬로 평가될 수도 있거나, 또는 알고리즘은 분기 예측을 통합하는 것에 의해 향상될 수도 있다. 또한, 도 11의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합 상에서 구현될 수도 있다는 것, 및 도 8 및 도 9와 관련하여 논의되는 디바이스 또는 기기 중 임의의 것은 프로세스 중 하나 이상의 부분을 구현하기 위해 사용될 수 있다는 것을 유의해야 한다.
도 12는 본 개시의 몇몇 실시형태에 따른 대화 연속성의 타입에 기초하여 제2 질의를 업데이트하기 위한 예시적인 프로세스(1200)의 플로우차트이다. 예시적인 프로세스는 도 10의 단계(1024)를 실행하기 위한 예시적인 단계를 제공한다. 도 12는 본 개시의 몇몇 실시형태에 따른 대화 연속성의 타입에 기초하여 제2 질의를 업데이트하는 제어 회로부(예컨대, 제어 회로부(804))에 대한 프로세스를 제시한다. 몇몇 실시형태에서, 이 알고리즘은 프로세싱 회로부(예를 들면, 프로세싱 회로부(806))에 의해 디코딩되어 실행될 명령어의 세트로서 비일시적 저장 매체(예를 들면, 스토리지 디바이스(808)) 상으로 인코딩될 수도 있다. 프로세싱 회로부는, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호해독, 스케일링, 아날로그/디지털 변환 회로부, 및 등등과 같은 제어 회로부(804) 내에 포함되는 다른 서브 회로에 명령어를 제공할 수도 있다.
단계(1202)에서, 제어 회로부(804)는 제1 질의와 제2 질의 사이의 대화 연속성의 타입을 나타내는 출력을 인공 신경망(예를 들면, 인공 신경망(500))으로부터 수신한다. 단계(1204)에서, 제어 회로부 (804)는 대화 연속성의 타입이 병합 타입인지의 여부를 결정한다. 대화 연속성의 타입이 병합 타입이면, 단계(1206)에서, 제어 회로부(804)는, 대화 연속성의 타입을 병합 타입인 것으로 식별하는 것에 기초하여 제2 질의를 제1 질의와 병합한다. 예를 들면, 이전 및 다음 질의는, 다음 질의가 이전 질의의 연속인 경우 병합될 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "movies of Tom Cruise(톰 크루즈의 영화)" 및 "with Nicole Kidman(니콜 키드만이 함께 나오는)"일 수도 있다. 이전 및 다음 질의의 다른 예시적인 세트는 "get me some good Sci-Fi movies(좋은 공상 영화를 보여줘)" 및 "on NETFLIX(넷플릭스에서)"일 수도 있다. 이전 및 다음 질의의 여전히 다른 예시적인 세트는 "looking for Tom Cruise flicks(톰 크루즈 영화를 찾아줘)" 및 "interested in the ones with Nicole Kidman(니콜 키드만과 함께 나오는 영화에 관심이 있어)"일 수도 있다. 단계(1220)에서, 제어 회로부(804)는 업데이트된 제2 질의를 반환한다.
대화 연속성의 타입이 병합 타입이 아닌 경우, 단계 1208에서, 제어 회로부 (804)는 대화 연속성의 타입이 대체 타입인지의 여부를 결정한다. 대화 연속성의 타입이 대체 타입인 경우, 1210에서, 제어 회로부 (804)는 제1 질의의 일부를 대체하는 제2 질의의 일부를 결정한다. 단계(1212)에서, 제어 회로부(804)는, 제1 질의의 일부가 제2 질의의 일부로 대체되면 제2 질의가 제1 질의가 된다는 것을 결정한다. 예를 들면, 이전 질의의 일부는 다음 질의의 일부로 대체될 수도 있다. 이전 질의와 다음 질의의 예시적인 세트는 "is there any Red Sox game tonight(오늘 밤 레드 삭스 경기가 있어?)"와 "how about tomorrow(내일은 어때?)"일 수도 있다. 이 상황에서, 다음 질의로부터의 "tomorrow(내일)"은 이전 질의의 "tonight(오늘 밤)"을 대체한다. 단계(1220)에서, 제어 회로부(804)는 업데이트된 제2 질의를 반환한다.
대화 연속성의 타입이 대체 타입이 아닌 경우, 단계 1214에서, 제어 회로부 (804)는 대화 연속성의 타입이 명확화 타입인지의 여부를 결정한다. 대화 연속성의 타입이 명확화 타입인 경우, 1216에서, 제어 회로부(804)는 제2 질의에 기초하여 제1 질의의 제1 토큰에 대한 대안적인 엔티티 타입을 결정한다. 단계(1218)에서, 제어 회로부(804)는 제1 토큰이 대안적인 엔티티 타입이면 제2 질의가 제1 질의가 된다는 것을 결정한다. 예를 들면, 다음 질의는, 이전 질의에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의로부터의 앞선 엔티티를 명확하게 할 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "who won the Broncos game(누가 브롱코스 게임을 이겼지?)" 및 "I meant the college team(대학 팀을 말한 거야)"일 수도 있다. 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다. 이전 질의 및 다음 질의의 다른 예시적인 세트는, "Beethoven movies(베토벤 영화)" 및 "I meant the dog(개를 말한거야)"일 수도 있다. 마찬가지로 이 상황에서 "I meant(말한거야)" 피쳐는, 대화에 더 많은 엔티티를 추가하는 것이 아니라, 이전 질의에서의 앞선 엔티티를 명확하게 한다. 단계(1220)에서, 제어 회로부(804)는 업데이트된 제2 질의를 반환한다.
대화 연속성의 타입이 명확화 타입이 아닌 경우, 단계(1220)에서, 제어 회로부(804)는 수정되지 않은 제2 질의를 업데이트된 제2 질의로서 반환한다. 이 상황에서, 대화 연속성의 타입은 연속성 타입이 아니다. 예를 들면, 다음 질의는 이전 질의와는 독립적일 수도 있다. 이전 및 다음 질의의 예시적인 세트는 "action movies(액션 영화)" 및 "comedy movies(코미디 영화)"일 수도 있다. 이 상황에서, 이전 질의와 다음 질의 사이에는 대화 연속성이 없다.
도 12의 단계 또는 설명은 본 개시의 임의의 다른 실시형태와 함께 사용될 수도 있다는 것이 고려된다. 또한, 도 12와 관련하여 설명되는 설명은, 본 개시의 목적을 진전시키기 위해 대안적인 순서로 또는 병렬로 행해질 수도 있다. 예를 들면, 시스템 또는 방법의 지연을 감소시키기 위해 또는 속도를 높이기 위해, 조건문 및 논리적 평가, 예컨대 1204, 1208, 및 1214에서의 것들이 임의의 순서로 또는 병렬로 또는 동시에 수행될 수도 있다. 추가적인 예로서, 몇몇 실시형태에서, 대화 연속성의 타입의 몇몇 인스턴스가, 다수의 논리 프로세서 스레드를 사용하여, 병렬로 평가될 수도 있거나, 또는 알고리즘은 분기 예측을 통합하는 것에 의해 향상될 수도 있다. 또한, 도 12의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합 상에서 구현될 수도 있다는 것, 및 도 8 및 도 9와 관련하여 논의되는 디바이스 또는 기기 중 임의의 것은 프로세스 중 하나 이상의 부분을 구현하기 위해 사용될 수 있다는 것을 유의해야 한다.
상기에서 논의되는 프로세스는, 제한하는 것이 아니라 예시적인 것으로 의도된 것이다. 본 개시의 프로세스 및 예가 한 쌍의 질의와 관련하여 논의되지만, 설명되는 시스템 및 방법은 두 개보다 많은 질의에도 동일하게 적용 가능하다. 시스템 및 방법은 다수의 질의에 걸쳐 연속성을 추적할 수도 있고 적절한 경우 문맥을 유지할 수도 있다. 추가적으로, 본 개시의 프로세스 및 예가 인공 신경망과 관련하여 논의되지만, 설명되는 시스템 및 방법은 다수의 인공 신경망에 또는 다른 머신 러닝 기술과 조합하여 동등하게 적용 가능하다. 기술 분야에서 숙련된 자는, 본원에서 논의되는 프로세스의 단계가 생략, 수정, 결합, 및/또는 재배열될 수도 있고, 임의의 추가적인 단계가 본 발명의 범위를 벗어나지 않으면서 수행될 수도 있다는 것을 인식할 것이다.
더 일반적으로는, 상기의 개시는 제한하는 것이 아니라 예시적인 것으로 의도된다. 후속하는 청구범위만이 본 발명이 포함하는 바에 관한 한계를 설정하도록 의도된다. 또한, 임의의 하나의 실시형태에서 설명되는 피쳐 및 제한은, 본원의 임의의 다른 실시형태에 적용될 수도 있다는 것, 및 하나의 실시형태에 관련이 있는 플로우차트 또는 예는 적절한 방식으로 임의의 다른 실시형태와 결합될 수도 있거나, 상이한 순서로 행해질 수도 있거나, 또는 병렬로 행해질 수도 있다는 것을 유의해야 한다. 또한, 본원에서 설명되는 시스템 및 방법은 실시간으로 수행될 수도 있다. 상기에서 설명되는 시스템 및/또는 방법은, 다른 시스템 및/또는 방법에 적용될 수도 있다는 것, 또는 다른 시스템 및/또는 방법에 따라 사용될 수도 있다는 것을 또한 유의해야 한다.

Claims (50)

  1. 제1 질의(query) 및 제2 질의를 포함하는 자연 언어 대화(natural language conversation)에서 대화 연속성(conversation continuity)의 타입을 결정하기 위한 방법으로서,
    유저 입력 디바이스를 통해, 유저로부터 상기 제1 질의를 수신하는 단계;
    데이터베이스로부터, 상기 제1 질의에 대한 제1 검색 결과를 검색하는(retrieving) 단계;
    디스플레이를 위해, 제어 회로부(circuitry)를 사용하여, 상기 제1 검색 결과를 생성하는 단계;
    상기 유저 입력 디바이스를 통해, 상기 유저로부터 상기 제2 질의를 수신하는 단계;
    제어 회로부를 사용하여, 상기 제1 질의에서 제1 토큰을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 질의에서 제2 토큰을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 엔티티 데이터를 식별하는 단계 - 상기 제1 엔티티 데이터는, 상기 제1 토큰에 대한 제1 엔티티 타입, 상기 제1 엔티티 타입이 상기 제1 토큰에 대응하는 제1 확률, 상기 제1 토큰에 대한 제2 엔티티 타입, 및 상기 제2 엔티티 타입이 상기 제1 토큰에 대응하는 제2 확률을 포함함 -;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 엔티티 데이터를 식별하는 단계 - 상기 제2 엔티티 데이터는, 상기 제2 토큰에 대한 제3 엔티티 타입, 상기 제3 엔티티 타입이 상기 제2 토큰에 대응하는 제3 확률, 상기 제2 토큰에 대한 제4 엔티티 타입, 및 상기 제4 엔티티 타입이 상기 제2 토큰에 대응하는 제4 확률을 포함함 -;
    지식 그래프(knowledge graph)로부터, 상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결(graph connection)을 검색하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 출력을 상기 인공 신경망으로부터 결정하는 단계;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계;
    상기 데이터베이스로부터, 상기 업데이트된 제2 질의에 대한 제2 검색 결과를 검색하는 단계; 및
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제2 검색 결과를 생성하는 단계
    를 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  2. 제1항에 있어서,
    상기 제1 질의에서 상기 제1 토큰을 결정하는 단계는,
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 용어(term) 및 제2 용어를 식별하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 용어가 필러 워드(filler word)이다는 것을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 용어가 필러 워드가 아니다는 것을 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제2 용어를 상기 제1 토큰인 것으로 할당하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  3. 제1항에 있어서,
    상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 상기 하나 이상의 그래프 연결을 검색하는 단계는,
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제1 그래프 연결을 검색하는 단계;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제2 그래프 연결을 검색하는 단계;
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제3 그래프 연결을 검색하는 단계; 및
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제4 그래프 연결을 검색하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  4. 제1항에 있어서,
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 상기 인공 신경망에 대한 입력으로서 적용하는 단계는,
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 값을 상기 인공 신경망의 입력 레이어의 제1 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 값을 상기 인공 신경망의 상기 입력 레이어의 제2 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 하나 이상의 그래프 연결에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  5. 제1항에 있어서,
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 상기 출력을 상기 인공 신경망으로부터 결정하는 단계는,
    상기 제어 회로부를 사용하여, 상기 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을 상기 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 승산으로부터의 결과 값을 가산하여, 상기 출력 값을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  6. 제1항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 병합 타입인 것으로 식별하는 단계;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 상기 병합 타입인 것으로 식별하는 단계에 기초하여, 상기 제2 질의를 상기 제1 질의와 병합하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  7. 제1항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 대체 타입인 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 상기 대체 타입인 것으로 식별하는 단계에 기초하여,
    상기 제어 회로부를 사용하여, 상기 제1 질의의 일부를 대체하는 상기 제2 질의의 일부를 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제1 질의의 상기 일부가 상기 제2 질의의 상기 일부로 대체되면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  8. 제1항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 명확화 타입인 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 상기 명확화 타입인 것으로 식별하는 단계에 기초하여,
    상기 제어 회로부를 사용하여, 상기 제2 질의에 기초하여 상기 제1 질의의 상기 제1 토큰에 대한 대안적인 엔티티 타입을 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제1 토큰이 상기 대안적인 엔티티 타입이면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  9. 제1항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 단계에 기초하여, 상기 제어 회로부를 사용하여, 상기 제2 질의를 상기 업데이트된 제2 질의인 것으로 할당하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  10. 제1항에 있어서,
    상기 유저 입력 디바이스로부터, 대화 연속성의 상기 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신하는 단계; 및
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 보정된 타입에 기초하여 상기 인공 신경망에서의 하나 이상의 가중치를 업데이트하는 단계
    를 더 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  11. 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템으로서,
    데이터베이스 및 지식 그래프 중 적어도 하나를 저장하는 메모리;
    제어 회로부와 통신하는 유저 입력 디바이스
    를 포함하고;
    상기 제어 회로부는,
    상기 유저 입력 디바이스를 통해, 유저로부터 상기 제1 질의를 수신하고;
    상기 데이터베이스로부터, 상기 제1 질의에 대한 제1 검색 결과를 검색하고;
    디스플레이를 위해 상기 제1 검색 결과를 생성하고;
    상기 유저 입력 디바이스를 통해, 상기 유저로부터 상기 제2 질의를 수신하고;
    상기 제1 질의에서 제1 토큰을 결정하고;
    상기 제2 질의에서 제2 토큰을 결정하고;
    상기 제1 토큰에 대한 제1 엔티티 데이터를 식별하고 - 상기 제1 엔티티 데이터는, 상기 제1 토큰에 대한 제1 엔티티 타입, 상기 제1 엔티티 타입이 상기 제1 토큰에 대응하는 제1 확률, 상기 제1 토큰에 대한 제2 엔티티 타입, 및 상기 제2 엔티티 타입이 상기 제1 토큰에 대응하는 제2 확률을 포함함 -;
    상기 제2 토큰에 대한 제2 엔티티 데이터를 식별하고 - 상기 제2 엔티티 데이터는, 상기 제2 토큰에 대한 제3 엔티티 타입, 상기 제3 엔티티 타입이 상기 제2 토큰에 대응하는 제3 확률, 상기 제2 토큰에 대한 제4 엔티티 타입, 및 상기 제4 엔티티 타입이 상기 제2 토큰에 대응하는 제4 확률을 포함함 -;
    상기 지식 그래프로부터, 상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색하고;
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용하고;
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 출력을 상기 인공 신경망으로부터 결정하고;
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하고;
    상기 데이터베이스로부터, 상기 업데이트된 제2 질의에 대한 제2 검색 결과를 검색하며;
    디스플레이를 위해 상기 제2 검색 결과를 생성하도록 구성된 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  12. 제11항에 있어서,
    상기 제1 질의에서 상기 제1 토큰을 결정하도록 구성되는 상기 제어 회로부는,
    상기 제1 질의에서 제1 용어 및 제2 용어를 식별하고;
    상기 제1 용어가 필러 워드이라는 것을 결정하고;
    상기 제2 용어가 필러 워드가 아니다는 것을 결정하며;
    상기 제2 용어를 상기 제1 토큰인 것으로 할당하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  13. 제11항에 있어서,
    상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 상기 하나 이상의 그래프 연결을 검색하도록 구성되는 상기 제어 회로부는,
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제1 그래프 연결을 검색하고;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제2 그래프 연결을 검색하고;
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제3 그래프 연결을 검색하며;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제4 그래프 연결을 검색하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  14. 제11항에 있어서,
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 상기 인공 신경망에 대한 입력으로서 적용하도록 구성되는 상기 제어 회로부는,
    상기 제1 토큰에 대한 제1 값을 상기 인공 신경망의 입력 레이어의 제1 가중치와 승산하고;
    상기 제2 토큰에 대한 제2 값을 상기 인공 신경망의 상기 입력 레이어의 제2 가중치와 승산하고;
    상기 제1 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하고;
    상기 제2 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하며;
    상기 하나 이상의 그래프 연결에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  15. 제11항에 있어서,
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 상기 출력을 상기 인공 신경망으로부터 결정하도록 구성되는 상기 제어 회로부는,
    상기 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을 상기 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하며;
    상기 승산으로부터의 결과 값을 가산하여 상기 출력 값을 결정하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  16. 제11항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하도록 구성되는 상기 제어 회로부는,
    대화 연속성의 상기 타입을 병합 타입(merge type)인 것으로 식별하며;
    대화 연속성의 상기 타입을 상기 병합 타입인 것으로 식별하는 것에 기초하여 상기 제2 질의를 상기 제1 질의와 병합하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  17. 제11항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하도록 구성되는 상기 제어 회로부는,
    대화 연속성의 상기 타입을 대체 타입(replacement type)인 것으로 식별하고;
    대화 연속성의 상기 타입을 상기 대체 타입인 것으로 식별하는 것에 기초하여:
    상기 제1 질의의 일부를 대체하는 상기 제2 질의의 일부를 결정하며;
    상기 제1 질의의 상기 일부가 상기 제2 질의의 상기 일부로 대체되면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  18. 제11항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하도록 구성되는 상기 제어 회로부는,
    대화 연속성의 상기 타입을 명확화 타입(clarification type)인 것으로 식별하고;
    대화 연속성의 상기 타입을 상기 명확화 타입인 것으로 식별하는 것에 기초하여:
    상기 제2 질의에 기초하여 상기 제1 질의의 상기 제1 토큰에 대한 대체 엔티티 타입을 결정하며;
    상기 제1 토큰이 상기 대안적인 엔티티 타입이면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  19. 제11항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하도록 구성되는 상기 제어 회로부는,
    대화 연속성의 상기 타입을 연속성 타입이 아닌 것으로 식별하고;
    대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 것에 기초하여, 상기 제2 질의를 상기 업데이트된 제2 질의인 것으로 할당하도록 구성된 상기 제어 회로부
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  20. 제11항에 있어서,
    상기 제어 회로부는 또한,
    상기 유저 입력 디바이스로부터, 대화 연속성의 상기 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신하며;
    대화 연속성의 상기 보정된 타입에 기초하여 상기 인공 신경망에서의 하나 이상의 가중치를 업데이트하도록 구성된 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 시스템.
  21. 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치로서,
    유저 입력 디바이스를 통해, 유저로부터 상기 제1 질의를 수신하기 위한 수단;
    데이터베이스로부터, 상기 제1 질의에 대한 제1 검색 결과를 검색하기 위한 수단;
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제1 검색 결과를 생성하기 위한 수단;
    상기 유저 입력 디바이스를 통해, 상기 유저로부터 상기 제2 질의를 수신하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 토큰을 결정하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제2 질의에서 제2 토큰을 결정하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 엔티티 데이터를 식별하기 위한 수단 - 상기 제1 엔티티 데이터는, 상기 제1 토큰에 대한 제1 엔티티 타입, 상기 제1 엔티티 타입이 상기 제1 토큰에 대응하는 제1 확률, 상기 제1 토큰에 대한 제2 엔티티 타입, 및 상기 제2 엔티티 타입이 상기 제1 토큰에 대응하는 제2 확률을 포함함 -;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 엔티티 데이터를 식별하기 위한 수단 - 상기 제2 엔티티 데이터는, 상기 제2 토큰에 대한 제3 엔티티 타입, 상기 제3 엔티티 타입이 상기 제2 토큰에 대응하는 제3 확률, 상기 제2 토큰에 대한 제4 엔티티 타입, 및 상기 제4 엔티티 타입이 상기 제2 토큰에 대응하는 제4 확률을 포함함 -;
    지식 그래프로부터, 상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 출력을 상기 인공 신경망으로부터 결정하기 위한 수단;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 수단;
    상기 데이터베이스로부터, 상기 업데이트된 제2 질의에 대한 제2 검색 결과를 검색하기 위한 수단; 및
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제2 검색 결과를 생성하기 위한 수단
    을 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  22. 제21항에 있어서,
    상기 제1 질의에서 상기 제1 토큰을 결정하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 용어 및 제2 용어를 식별하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 용어가 필러 워드이다는 것을 결정하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제2 용어가 필러 워드가 아니다는 것을 결정하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 상기 제2 용어를 상기 제1 토큰인 것으로 할당하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  23. 제21항에 있어서,
    상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 상기 하나 이상의 그래프 연결을 검색하기 위한 상기 수단은,
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제1 그래프 연결을 검색하기 위한 수단;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제2 그래프 연결을 검색하기 위한 수단;
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제3 그래프 연결을 검색하기 위한 수단; 및
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제4 그래프 연결을 검색하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  24. 제21항에 있어서,
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 상기 인공 신경망에 대한 입력으로서 적용하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 값을 상기 인공 신경망의 입력 레이어의 제1 가중치와 승산하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 값을 상기 인공 신경망의 상기 입력 레이어의 제2 가중치와 승산하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제1 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 수단;
    상기 제어 회로부를 사용하여, 상기 제2 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 상기 하나 이상의 그래프 연결에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  25. 제21항에 있어서,
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 상기 출력을 상기 인공 신경망으로부터 결정하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 상기 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을 상기 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 상기 승산으로부터의 결과 값을 가산하여, 상기 출력 값을 결정하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  26. 제21항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 병합 타입인 것으로 식별하기 위한 수단;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 상기 병합 타입인 것으로 식별하는 것에 기초하여, 상기 제2 질의를 상기 제1 질의와 병합하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  27. 제21항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 대체 타입인 것으로 식별하기 위한 수단; 및
    대화 연속성의 상기 타입을 상기 대체 타입인 것으로 식별하는 것에 기초하여,
    상기 제어 회로부를 사용하여, 상기 제1 질의의 일부를 대체하는 상기 제2 질의의 일부를 결정하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 상기 제1 질의의 상기 일부가 상기 제2 질의의 상기 일부로 대체되면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  28. 제21항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 명확화 타입인 것으로 식별하기 위한 수단; 및
    대화 연속성의 상기 타입을 상기 명확화 타입인 것으로 식별하는 것에 기초하여,
    상기 제어 회로부를 사용하여, 상기 제2 질의에 기초하여 상기 제1 질의의 상기 제1 토큰에 대한 대안적인 엔티티 타입을 결정하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 상기 제1 토큰이 상기 대안적인 엔티티 타입이면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  29. 제21항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 수단은,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하기 위한 수단; 및
    대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 것에 기초하여, 상기 제어 회로부를 사용하여, 상기 제2 질의를 상기 업데이트된 제2 질의인 것으로 할당하기 위한 수단
    을 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  30. 제21항에 있어서,
    상기 유저 입력 디바이스로부터, 대화 연속성의 상기 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신하기 위한 수단; 및
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 보정된 타입에 기초하여 상기 인공 신경망에서의 하나 이상의 가중치를 업데이트하기 위한 수단
    을 더 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 장치.
  31. 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체로서,
    유저 입력 디바이스를 통해, 유저로부터 상기 제1 질의를 수신하기 위한 명령어;
    데이터베이스로부터, 상기 제1 질의에 대한 제1 검색 결과를 검색하기 위한 명령어;
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제1 검색 결과를 생성하기 위한 명령어;
    상기 유저 입력 디바이스를 통해, 상기 유저로부터 상기 제2 질의를 수신하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 토큰을 결정하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제2 질의에서 제2 토큰을 결정하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 엔티티 데이터를 식별하기 위한 명령어 - 상기 제1 엔티티 데이터는, 상기 제1 토큰에 대한 제1 엔티티 타입, 상기 제1 엔티티 타입이 상기 제1 토큰에 대응하는 제1 확률, 상기 제1 토큰에 대한 제2 엔티티 타입, 및 상기 제2 엔티티 타입이 상기 제1 토큰에 대응하는 제2 확률을 포함함 -;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 엔티티 데이터를 식별하기 위한 명령어 - 상기 제2 엔티티 데이터는, 상기 제2 토큰에 대한 제3 엔티티 타입, 상기 제3 엔티티 타입이 상기 제2 토큰에 대응하는 제3 확률, 상기 제2 토큰에 대한 제4 엔티티 타입, 및 상기 제4 엔티티 타입이 상기 제2 토큰에 대응하는 제4 확률을 포함함 -;
    지식 그래프로부터, 상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 출력을 상기 인공 신경망으로부터 결정하기 위한 명령어;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 명령어;
    상기 데이터베이스로부터, 상기 업데이트된 제2 질의에 대한 제2 검색 결과를 검색하기 위한 명령어; 및
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제2 검색 결과를 생성하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  32. 제31항에 있어서,
    상기 제1 질의에서 상기 제1 토큰을 결정하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 용어 및 제2 용어를 식별하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 용어가 필러 워드이다는 것을 결정하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제2 용어가 필러 워드가 아니다는 것을 결정하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 상기 제2 용어를 상기 제1 토큰인 것으로 할당하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  33. 제31항에 있어서,
    상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 상기 하나 이상의 그래프 연결을 검색하기 위한 상기 명령어는,
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제1 그래프 연결을 검색하기 위한 명령어;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제2 그래프 연결을 검색하기 위한 명령어;
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제3 그래프 연결을 검색하기 위한 명령어; 및
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제4 그래프 연결을 검색하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  34. 제31항에 있어서,
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 상기 인공 신경망에 대한 입력으로서 적용하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 값을 상기 인공 신경망의 입력 레이어의 제1 가중치와 승산하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 값을 상기 인공 신경망의 상기 입력 레이어의 제2 가중치와 승산하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제1 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 명령어;
    상기 제어 회로부를 사용하여, 상기 제2 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 상기 하나 이상의 그래프 연결에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  35. 제31항에 있어서,
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 상기 출력을 상기 인공 신경망으로부터 결정하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 상기 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을 상기 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 상기 승산으로부터의 결과 값을 가산하여, 상기 출력 값을 결정하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  36. 제31항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 병합 타입인 것으로 식별하기 위한 명령어;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 상기 병합 타입인 것으로 식별하는 것에 기초하여, 상기 제2 질의를 상기 제1 질의와 병합하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  37. 제31항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 대체 타입인 것으로 식별하기 위한 명령어; 및
    대화 연속성의 상기 타입을 상기 대체 타입인 것으로 식별하는 것에 기초하여,
    상기 제어 회로부를 사용하여, 상기 제1 질의의 일부를 대체하는 상기 제2 질의의 일부를 결정하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 상기 제1 질의의 상기 일부가 상기 제2 질의의 상기 일부로 대체되면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  38. 제31항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 명확화 타입인 것으로 식별하는 것; 및
    대화 연속성의 상기 타입을 상기 명확화 타입인 것으로 식별하는 것에 기초하여:
    상기 제어 회로부를 사용하여, 상기 제2 질의에 기초하여 상기 제1 질의의 상기 제1 토큰에 대한 대안적인 엔티티 타입을 결정하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 상기 제1 토큰이 상기 대안적인 엔티티 타입이면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  39. 제31항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하기 위한 상기 명령어는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하기 위한 명령어; 및
    대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 것에 기초하여, 상기 제어 회로부를 사용하여, 상기 제2 질의를 상기 업데이트된 제2 질의인 것으로 할당하기 위한 명령어
    를 포함한 것인, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  40. 제31항에 있어서,
    상기 유저 입력 디바이스로부터, 대화 연속성의 상기 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신하기 위한 명령어; 및
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 보정된 타입에 기초하여 상기 인공 신경망에서의 하나 이상의 가중치를 업데이트하기 위한 명령어
    를 더 포함하는, 명령어가 인코딩된 메모리를 포함하는 비일시적 머신 판독가능 매체.
  41. 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법으로서,
    유저 입력 디바이스를 통해, 유저로부터 상기 제1 질의를 수신하는 단계;
    데이터베이스로부터, 상기 제1 질의에 대한 제1 검색 결과를 검색하는 단계;
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제1 검색 결과를 생성하는 단계;
    상기 유저 입력 디바이스를 통해, 상기 유저로부터 상기 제2 질의를 수신하는 단계;
    제어 회로부를 사용하여, 상기 제1 질의에서 제1 토큰을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 질의에서 제2 토큰을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 엔티티 데이터를 식별하는 단계 - 상기 제1 엔티티 데이터는, 상기 제1 토큰에 대한 제1 엔티티 타입, 상기 제1 엔티티 타입이 상기 제1 토큰에 대응하는 제1 확률, 상기 제1 토큰에 대한 제2 엔티티 타입, 및 상기 제2 엔티티 타입이 상기 제1 토큰에 대응하는 제2 확률을 포함함 -;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 엔티티 데이터를 식별하는 단계 - 상기 제2 엔티티 데이터는, 상기 제2 토큰에 대한 제3 엔티티 타입, 상기 제3 엔티티 타입이 상기 제2 토큰에 대응하는 제3 확률, 상기 제2 토큰에 대한 제4 엔티티 타입, 및 상기 제4 엔티티 타입이 상기 제2 토큰에 대응하는 제4 확률을 포함함 -;
    지식 그래프로부터, 상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 하나 이상의 그래프 연결을 검색하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 인공 신경망에 대한 입력으로서 적용하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 출력을 상기 인공 신경망으로부터 결정하는 단계;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계;
    상기 데이터베이스로부터, 상기 업데이트된 제2 질의에 대한 제2 검색 결과를 검색하는 단계; 및
    디스플레이를 위해, 제어 회로부를 사용하여, 상기 제2 검색 결과를 생성하는 단계
    를 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  42. 제41항에 있어서,
    상기 제1 질의에서 상기 제1 토큰을 결정하는 단계는,
    상기 제어 회로부를 사용하여, 상기 제1 질의에서 제1 용어 및 제2 용어를 식별하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 용어가 필러 워드이다는 것을 결정하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 용어가 필러 워드가 아니다는 것을 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제2 용어를 상기 제1 토큰인 것으로 할당하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  43. 제41항 또는 제42항에 있어서,
    상기 제1 엔티티 데이터와 상기 제2 엔티티 데이터 사이의 상기 하나 이상의 그래프 연결을 검색하는 단계는,
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제1 그래프 연결을 검색하는 단계;
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제3 엔티티 타입인 상기 제2 토큰 사이의 제2 그래프 연결을 검색하는 단계;
    상기 지식 그래프로부터, 상기 제1 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제3 그래프 연결을 검색하는 단계; 및
    상기 지식 그래프로부터, 상기 제2 엔티티 타입인 상기 제1 토큰과 상기 제4 엔티티 타입인 상기 제2 토큰 사이의 제4 그래프 연결을 검색하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  44. 제41항 내지 제43항 중 어느 한 항에 있어서,
    상기 제1 토큰, 상기 제2 토큰, 상기 제1 엔티티 데이터, 상기 제2 엔티티 데이터, 및 상기 하나 이상의 그래프 연결을 상기 인공 신경망에 대한 입력으로서 적용하는 단계는,
    상기 제어 회로부를 사용하여, 상기 제1 토큰에 대한 제1 값을 상기 인공 신경망의 입력 레이어의 제1 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 토큰에 대한 제2 값을 상기 인공 신경망의 상기 입력 레이어의 제2 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제1 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계;
    상기 제어 회로부를 사용하여, 상기 제2 엔티티 데이터에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 하나 이상의 그래프 연결에 대한 하나 이상의 값을 상기 인공 신경망의 상기 입력 레이어의 하나 이상의 가중치와 승산하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  45. 제41항 내지 제44항 중 어느 한 항에 있어서,
    상기 제1 질의와 상기 제2 질의 사이의 대화 연속성의 상기 타입을 나타내는 상기 출력을 상기 인공 신경망으로부터 결정하는 단계는,
    상기 제어 회로부를 사용하여, 상기 인공 신경망의 은닉 레이어에 대한 하나 이상의 입력을 상기 은닉 레이어에서의 대응하는 하나 이상의 가중치와 승산하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 승산으로부터의 결과 값을 가산하여, 상기 출력 값을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  46. 제41항 내지 제45항 중 어느 한 항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 병합 타입인 것으로 식별하는 단계;
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 상기 병합 타입인 것으로 식별하는 단계에 기초하여, 상기 제2 질의를 상기 제1 질의와 병합하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  47. 제41항 내지 제46항 중 어느 한 항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 대체 타입인 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 상기 대체 타입인 것으로 식별하는 단계에 기초하여:
    상기 제어 회로부를 사용하여, 상기 제1 질의의 일부를 대체하는 상기 제2 질의의 일부를 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제1 질의의 상기 일부가 상기 제2 질의의 상기 일부로 대체되면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  48. 제41항 내지 제47항 중 어느 한 항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 명확화 타입인 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 상기 명확화 타입인 것으로 식별하는 단계에 기초하여:
    상기 제어 회로부를 사용하여, 상기 제2 질의에 기초하여 상기 제1 질의의 상기 제1 토큰에 대한 대안적인 엔티티 타입을 결정하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 제1 토큰이 상기 대안적인 엔티티 타입이면 상기 제2 질의가 상기 제1 질의가 된다는 것을 결정하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  49. 제41항 내지 제48항 중 어느 한 항에 있어서,
    대화 연속성의 상기 타입에 기초하여 상기 제2 질의를 업데이트하는 단계는,
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 단계; 및
    대화 연속성의 상기 타입을 연속 타입이 아닌 것으로 식별하는 단계에 기초하여, 상기 제어 회로부를 사용하여, 상기 제2 질의를 상기 업데이트된 제2 질의인 것으로 할당하는 단계
    를 포함한 것인, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
  50. 제41항 내지 제49항 중 어느 한 항에 있어서,
    상기 유저 입력 디바이스로부터, 대화 연속성의 상기 결정된 타입이 부정확하다는 표시 및 대화 연속성의 보정된 타입을 수신하는 단계; 및
    상기 제어 회로부를 사용하여, 대화 연속성의 상기 보정된 타입에 기초하여 상기 인공 신경망에서의 하나 이상의 가중치를 업데이트하는 단계
    를 더 포함하는, 제1 질의 및 제2 질의를 포함하는 자연 언어 대화에서 대화 연속성의 타입을 결정하기 위한 방법.
KR1020177037435A 2016-06-08 2017-05-25 대화에서 문맥 전환을 결정하기 위한 시스템 및 방법 KR20190017619A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/176,516 US9858265B1 (en) 2016-06-08 2016-06-08 Systems and methods for determining context switching in conversation
US15/176,516 2016-06-08
PCT/US2017/034385 WO2017213867A1 (en) 2016-06-08 2017-05-25 Systems and methods for determining context switching in conversation

Publications (1)

Publication Number Publication Date
KR20190017619A true KR20190017619A (ko) 2019-02-20

Family

ID=59034901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177037435A KR20190017619A (ko) 2016-06-08 2017-05-25 대화에서 문맥 전환을 결정하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (3) US9858265B1 (ko)
EP (2) EP4283488A1 (ko)
JP (3) JP7007917B2 (ko)
KR (1) KR20190017619A (ko)
AU (2) AU2017277686B2 (ko)
CA (1) CA2989451A1 (ko)
WO (1) WO2017213867A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022025527A1 (ko) * 2020-07-29 2022-02-03 삼성전자 주식회사 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182840B2 (en) * 2016-11-18 2021-11-23 Walmart Apollo, Llc Systems and methods for mapping a predicted entity to a product based on an online query
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
CA3092207A1 (en) * 2018-03-26 2019-10-03 Rovi Guides, Inc. Methods and systems for performing context maintenance on search queries in a conversational search environment
WO2020040753A1 (en) * 2018-08-21 2020-02-27 Google Llc Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
KR20200040562A (ko) * 2018-10-10 2020-04-20 삼성전자주식회사 사용자 발화를 처리하기 위한 시스템
KR20200056001A (ko) 2018-11-14 2020-05-22 삼성전자주식회사 인공신경망에서의 디코딩 방법 및 그 장치
CN111459977B (zh) * 2019-01-18 2023-10-24 微软技术许可有限责任公司 自然语言查询的转换
US11831344B2 (en) * 2019-01-21 2023-11-28 Dsp Group Ltd. Providing codewords
US11302330B2 (en) 2019-06-03 2022-04-12 Microsoft Technology Licensing, Llc Clarifying questions for rewriting ambiguous user utterance
US11399037B2 (en) * 2019-09-06 2022-07-26 Paypal, Inc. Anomaly behavior detection in interactive networks
CN111651578B (zh) * 2020-06-02 2023-10-03 北京百度网讯科技有限公司 人机对话方法、装置及设备
US20220043973A1 (en) * 2020-08-04 2022-02-10 Capricorn Holding Pte Ltd. Conversational graph structures
US11621930B2 (en) 2020-09-23 2023-04-04 Capital One Services, Llc Systems and methods for generating dynamic conversational responses using trained machine learning models
CA3196711A1 (en) * 2020-09-23 2022-03-31 Capital One Services, Llc Systems and methods for generating dynamic conversational responses through aggregated outputs of machine learning models
US11694038B2 (en) 2020-09-23 2023-07-04 Capital One Services, Llc Systems and methods for generating dynamic conversational responses through aggregated outputs of machine learning models

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
JP2849341B2 (ja) * 1994-11-14 1999-01-20 株式会社エイ・ティ・アール通信システム研究所 対話処理装置
US6047277A (en) * 1997-06-19 2000-04-04 Parry; Michael H. Self-organizing neural network for plain text categorization
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
CN101383949B (zh) 1998-07-17 2011-08-03 联合视频制品公司 通过远程访问链接选择节目以便记录的系统及其方法
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
EP2271095A1 (en) 2001-02-21 2011-01-05 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
JP2004185135A (ja) * 2002-11-29 2004-07-02 Mitsubishi Electric Corp 話題変化抽出方法とその装置及び話題変化抽出プログラムとその情報記録伝送媒体
US7565345B2 (en) * 2005-03-29 2009-07-21 Google Inc. Integration of multiple query revision models
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
US20070250478A1 (en) * 2006-04-23 2007-10-25 Knova Software, Inc. Visual search experience editor
US9152699B2 (en) * 2007-11-02 2015-10-06 Ebay Inc. Search based on diversity
KR101042500B1 (ko) 2009-06-19 2011-06-16 엔에이치엔(주) 이전 질의어를 이용한 검색 결과 제공 방법 및 장치
JP2012173781A (ja) * 2011-02-17 2012-09-10 Nec Corp 情報推薦システム、情報推薦サーバ、情報推薦方法、及び情報推薦プログラム
US20120233140A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Context-aware query alteration
EP2839391A4 (en) * 2012-04-20 2016-01-27 Maluuba Inc CONVERSATION AGENT
US9607046B2 (en) * 2012-12-14 2017-03-28 Microsoft Technology Licensing, Llc Probability-based state modification for query dialogues
US9183257B1 (en) 2013-03-14 2015-11-10 Google Inc. Using web ranking to resolve anaphora
US10176167B2 (en) * 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US10162813B2 (en) * 2013-11-21 2018-12-25 Microsoft Technology Licensing, Llc Dialogue evaluation via multiple hypothesis ranking
US9606986B2 (en) * 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US20160094889A1 (en) 2014-09-29 2016-03-31 Rovi Guides, Inc. Systems and methods for determining whether to merge search queries based on contextual information
US9836452B2 (en) * 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discriminating ambiguous expressions to enhance user experience
US10418032B1 (en) * 2015-04-10 2019-09-17 Soundhound, Inc. System and methods for a virtual assistant to manage and use context in a natural language dialog
US10657571B2 (en) * 2015-06-08 2020-05-19 Intelliresponse Systems Inc. Method and apparatus for facilitating comprehension of user queries during interactions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022025527A1 (ko) * 2020-07-29 2022-02-03 삼성전자 주식회사 서비스의 제공을 위한 지식 그래프를 수정하는 시스템 및 방법

Also Published As

Publication number Publication date
US9858265B1 (en) 2018-01-02
JP2023105206A (ja) 2023-07-28
EP3405887A1 (en) 2018-11-28
CA2989451A1 (en) 2017-12-14
US20220215178A1 (en) 2022-07-07
WO2017213867A1 (en) 2017-12-14
JP2022046762A (ja) 2022-03-23
US20190286644A1 (en) 2019-09-19
US11263406B2 (en) 2022-03-01
US20170357635A1 (en) 2017-12-14
AU2017277686B2 (en) 2021-07-08
AU2021245232A1 (en) 2021-11-04
EP4283488A1 (en) 2023-11-29
JP2019521399A (ja) 2019-07-25
AU2021245232B2 (en) 2023-08-10
JP7343626B2 (ja) 2023-09-12
JP7007917B2 (ja) 2022-01-25
AU2017277686A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
AU2021245232B2 (en) Systems and methods for determining context switching in conversation
KR102593413B1 (ko) 제2 유저의 뷰잉 활동에 기초하여 제2 유저에 대한 플레이리스트에 포함시키기 위한 미디어 자산을 제1 유저에게 추천하기 위한 방법 및 시스템
US11889141B2 (en) Systems and methods for creating a virtual channel for binge watching
JP7139314B2 (ja) 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法
KR102430625B1 (ko) 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
JP7425103B2 (ja) 自然言語クエリのための補助機能を実行する装置および方法
JP2019507437A (ja) 他のメディアアセットのコンテンツに基づいてユーザにメディアアセットを推奨する方法およびシステム
KR20200101934A (ko) 음성 데이터 및 미디어 소비 데이터에 기초하여 사용자들을 식별하기 위한 시스템들 및 방법들
US20170188106A1 (en) Methods and systems for customizing a musical score of a media asset
JP7387787B2 (ja) メディアアセットの記憶されたバージョンをユーザにより適したバージョンと置換するためのシステムおよび方法
KR102585486B1 (ko) 녹화된 미디어 자산에서 선점권을 우회하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right