KR20210111236A - 자연어 대화에 관련되는 정보의 시각적 제시 - Google Patents

자연어 대화에 관련되는 정보의 시각적 제시 Download PDF

Info

Publication number
KR20210111236A
KR20210111236A KR1020210117579A KR20210117579A KR20210111236A KR 20210111236 A KR20210111236 A KR 20210111236A KR 1020210117579 A KR1020210117579 A KR 1020210117579A KR 20210117579 A KR20210117579 A KR 20210117579A KR 20210111236 A KR20210111236 A KR 20210111236A
Authority
KR
South Korea
Prior art keywords
information
driver
topic
vehicle
natural language
Prior art date
Application number
KR1020210117579A
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 KR20210111236A publication Critical patent/KR20210111236A/ko

Links

Images

Classifications

    • 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/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

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)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품으로 확장된다. 대화 참가자로부터의 자연어 표현이 수신 및 프로세싱되어 토픽 및 개념을 결정하고, 검색은 관련 정보를 찾고 그것은 지원을 받는 유저에게 시각적으로 디스플레이된다. 애플리케이션은 화상 회의, 웨어러블 디바이스, 증강 현실, 및 헤드업 차량 디스플레이를 포함할 수 있다. 토픽, 개념, 및 정보 검색 결과는 연관성 및 비반복성에 대해 분석된다. 연관성은, 유저 프로파일, 대화 이력, 및 환경 정보에 의존할 수 있다. 추가 정보는, 비구두 모드를 통해 요청될 수 있다. 검색 및 디스플레이되는 정보는, 대화에서 발화된 것 이외의 언어로 될 수 있다. 다수의 당사자의 대화가 프로세싱될 수 있다.

Description

자연어 대화에 관련되는 정보의 시각적 제시{VISUALLY PRESENTING INFORMATION RELEVANT TO A NATURAL LANGUAGE CONVERSATION}
관련 출원에 대한 교차 참조
본 출원은 2018년 8월 2일자로 출원된 Bernard Mont-Reynaud를 발명자로 하는 미국 특허 출원 제16/052,930호에 대한 우선권을 주장한다.
배경
1. 발명의 분야
본 발명은 일반적으로 정보를 디스플레이하는 것에 관한 것으로, 특히, 자연어 대화(natural language conversation) 동안 발언(utterance)에 관련되는 정보를 자동으로 시각적으로 제시하는 것에 관한 것이다.
2. 관련 기술
대화 동안, 때때로, 우리는 우리가 참조하기를 원하는 어떤 것의 이름을 잊는다. 때때로, 우리는 어떤 것의 즉각적인 검색을 원하지만, 그러나, 특히 Amazon Alexa(아마존 알렉사)와 같은 음성 인터페이스(speech interface)를 갖는 정보 제공 디바이스를 사용하는 경우에는, 우리는 대화를 중단하지 않고는 브라우저에 액세스할 수 없다. 때때로, 우리는 다른 대화 참가자가 언급한 어떤 것에 관한 정보를 원한다. 때때로, 우리는 심지어 그것을 아직 알지도 못하지만, 그러나, 대화는 주고 받기(take a turn)를 할 가능성이 있는데, 그 과정에서 우리는 정보의 소정의 단편(piece)을 필요로 할 가능성이 매우 높다.
예를 들면, 다가오는 축구 경기에 관한 대화 동안, 일기 예보를 아는 것이 좋을 것이다. 다른 예를 들면, 이전 직장 동료와 점심을 먹으러 도착하는 경우, 당신은 그들의 자녀가 잘 지내는지를 이름을 대면서 묻고 싶을 수도 있지만, 그러나 직장 동료의 아이의 이름을 기억하지 못할 수도 있다. 다른 예를 들면, 멀티 플레이어 게임 내에서, 팀 구성원의 상태를 아는 것이 좋을 것이다.
본 발명의 특정한 피쳐, 양태 및 이점은 하기의 설명 및 첨부의 도면과 관련하여 더 잘 이해될 것이다.
도 1은 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 예시적인 컴퓨터 아키텍쳐를 예시한다.
도 2는, 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 플로우차트를 예시한다.
도 3은 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 다른 예시적인 컴퓨터 아키텍쳐를 예시한다.
도 4는 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 다른 플로우차트를 예시한다.
도 5는 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 또 다른 예시적인 컴퓨터 아키텍쳐를 예시한다.
도 6은 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 또 다른 플로우차트를 예시한다.
도 7은 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 8은 연관성 스코어(relevance score)를 사용하여 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 9는 다수의 토픽에 대한 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 10은 다수의 토픽에 대한 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 11은 정보의 반복 없이 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 12는 검색을 위한 개념을 사용하여 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 13은 자연어 표현에 응답하여 정보를 디스플레이하고 추가 정보에 대한 요청을 수락하기 위한 데이터 흐름을 예시한다.
도 14는, 자연어 표현에 응답하여, 대안적 인간 언어로 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 15는, 자연어 표현에 응답하여, 특정한 유저에 대한 연관성에 기초하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 16은 다수의 사람들로부터의 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름을 예시한다.
도 17은, 한 실시형태에 따른, 다수의 디바이스를 지원하는 컴퓨터 아키텍쳐를 예시한다.
도 18a는, 미디어 인터페이스에 관한 디바이스 모듈을 갖는 컴퓨터 아키텍쳐를 예시한다.
도 18b는 단일의 지원을 받는 유저(single assisted user)에 대한 미디어 인터페이스에 관한 디바이스 모듈을 갖는 컴퓨터 아키텍쳐를 예시한다.
도 19는 화상 회의 시스템(video conferencing system)을 예시한다.
도 20은 웨어러블 디바이스를 예시한다.
도 21은 가상 현실 안경을 예시한다.
도 22는 차량 헤드업 디스플레이(vehicle heads-up display)를 예시한다.
도 23a는 예시적인 회전 디스크를 예시한다.
도 23b는 예시적인 플래시 랜덤 액세스 메모리(Random Access Memory; RAM) 칩을 예시한다.
도 24a는 패키지화된 시스템 온 칩(System On Chip; SoC)의 예시적인 솔더볼 측을 예시한다.
도 24b는 시스템 온 칩(SoC)의 예시적인 아키텍쳐를 예시한다.
도 25a는 랙 기반의 서버(rack-based server)의 예를 예시한다.
도 25b는 서버의 예시적인 아키텍쳐를 예시한다.
본 발명은 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 방법, 시스템, 머신, 제조 제품, 및 컴퓨터 프로그램 제품으로 확장된다. 사전에 따르면, 발언은 구어(spoken language) 또는 문자 언어(written language)의 중단 없는 체인(uninterrupted chain)이다. 그것들이 음성(speech)이든 또는 텍스트이든 간에, 발언은 항상 구두이다(verbal). 대화는 순번의 시퀀스인데, 각각의 순번은 발언이다. 본 명세서에서, 발언은 또한 자연어 표현으로 칭해지며, 그들 용어는 상호 교환 가능하게 사용된다. 자연어 표현(natural language expression; NLE)은, 예를 들면, 하나 이상의 발화된 단어(spoken word), 발화된 어구(spoken phrase), 발화된 문장(spoken sentence), 또는 몇몇 단어의 텍스트(a few words of text)로 구성될 수도 있다.
본 발명의 양태는, 본질적으로 실시간으로 발언에 관련되는 정보를 식별하기 위해 자연어 이해(natural language understanding; NLU) 및 검색을 사용한다. NLU는 문법 규칙에 따른 파싱 표현(parsing expression) 및 파싱에 의해 추출되는 용어의 의미론적 의미(semantic meaning)에 따른 파스(parse)의 해석을 포함한다. 검색은, 예컨대 태그, 색인 작성, 정렬 또는 컴퓨터 과학 과정에서 학습되는 다른 방법을 사용하여 정보의 집성본(corpus) 내에서 소망되는 정보를, 만약 존재한다면, 찾기 위한 임의의 클래스의 알고리즘이다.
식별된 관련 정보는 또한, 예컨대, 예를 들면, 전화 통화, 화상 회의, 게임, 또는 증강 현실 경험(augmented reality experience) 동안, 디바이스에서 본질적으로 실시간으로 시각적으로 디스플레이될 수 있다. 정보의 연관성은 예상될 수 있고, 관련 정보는, 대화에 기초하여 관련 정보를 거의 제 시간에 제공하는 것에 의해 제시될 수 있다. 관련 정보는 사람이 볼 수 있는 디스플레이 상에서 자동으로 나타난다.
몇몇 양태는 연관성 스코어를 계산하고 그것의 연관성에 기초하여 정보를 필터링한다. 다른 실시형태는, 임계치에 대한 비교에 의해 또는 정보의 상이한 단편 사이의 연관성 스코어의 비교에 의해, 연관성 스코어를 계산한다. 대화 동안 디스플레이된 정보가 중복되지 않는 것을 보장하기 위해, 이미 디스플레이된 정보와 정보의 관련된 단편 사이의 중복성이 검출될 수 있다. 그러나, 과거에 디스플레이되었지만 더 이상 디스플레이되지 않는 정보는, 다시 관련되는 것으로 발견되는 경우, 다시 디스플레이될 수 있다. 디스플레이된 정보는, 날씨, 스포츠, 지역과 같은 토픽에; 또는 특정한 엔티티 또는 활동과 같은 식별된 개념에 관련될 수 있다.
하나의 양태에서, 발언은 제1 사람으로부터 수신되고 관련 정보는 제2 사람에게 디스플레이된다. 다른 양태에서, 발언은 제1 사람으로부터 수신되고, 관련 정보는 제1 사람 및 제2 사람 둘 모두에게 디스플레이된다.
양태는, 어떤 사람이, 추가 정보를 요청하는 것, 나중의 사용을 위해 정보를 저장하는 것, 또는 다른 사람과 정보를 공유하는 것을 보조할 수 있다. 유저는 디스플레이된 정보에 관한 피드백, 예컨대, 그것의 연관성을 제공할 수 있다. 정보는 상이한 인간 언어 사이에서 번역될 수 있다.
몇몇 양태는 디스플레이된 정보를 디스플레이 상에서 인간 얼굴과 중첩시키고, 얼굴 위치 검출을 계산하고, 중첩하는 얼굴들을 방지하기 위해 디스플레이를 동적으로 배열한다. 정보 선택은, 유저 프로파일에 기초하여 또는 환경 요인에 기초하여 디스플레이되도록 적응될 수 있다. NLU는, 대화 중인 다수의 또는 많은 사람으로부터의 자연어 표현에 대해 수행될 수 있다. 옵션 사항으로(optionally), 광고 또는 기타 설득성 정보(persuasive information)가, 구두의 의사 소통(verbal communication)과 관련되는 정보와 함께 디스플레이될 수 있다.
본 발명의 양태를 구현하는 디바이스는, 화상 회의 시스템, 증강 현실 아이웨어(eyewear), 다른 웨어러블 디바이스, 또는 차량 헤드업 디스플레이를 포함한다.
본 발명의 양태는, 대화 중인 참가자가, 그들이 참조하기를 원하는 것의 이름을 기억하는 것을 돕는 것, 사람이 브라우저에 즉시 액세스할 수 없는 경우 또는 음성 인터페이스로 정보 제공 디바이스를 사용하는 것이 대화를 중단시킬 경우 사람이 어떤 것을 찾는 것을 가능하게 하는 것, 다른 대화 참가자가 언급하는 어떤 것에 관한 정보를 제공하는 것, 및 다가오는 대화 순번에 관련될 수도 있는 정보의 단편을 제시하는 것과 같은 다양한 이점을 제공한다.
종래의 스크린캐스팅(screencasting)과는 달리, 본 발명의 양태는 사람의 인터페이스 디바이스에 정보를 자동으로 제공한다. 종래의 자동 자막 시스템(automatic captioning system)과는 달리, 본 발명의 양태는 자연어를 이해하고 상응하게 응답한다. 종래의 음성 호 분석(voice call analysis)과는 달리, 본 발명의 양태는 관련 정보를 검색하고 검색의 결과를 사람에게 제공한다. 단일의 유저/화자(speaker)에게만 응답하는 종래의 자연어 질의 응답 시스템(natural language question-answering system)과는 달리, 본 발명의 양태는 다른 사람이 말하는 것에 기초하여 하나 이상의 사람에게 응답한다. 종래의 증강 현실 화상 회의 시스템과는 달리, 본 발명의 양태는, 공유된 가상 오브젝트의 명백한 커맨드 또는 조작 없이, 대화 참가자 표현을 해석하고 그에 대해 작용한다.
본 발명의 실시형태는, 이하에서 더 상세하게 논의되는 바와 같이, 예를 들면, 하나 이상의 프로세서 및 시스템 메모리와 같은 컴퓨터 하드웨어를 포함하는 특수 목적 또는 범용 컴퓨터를 포함할 수도 있거나 또는 활용할 수도 있다. 본 발명의 범위 내의 실시형태는 또한, 컴퓨터 실행 가능 명령어 및/또는 데이터 구조를 전달하거나 또는 저장하기 위한 물리적 및 다른 컴퓨터 판독 가능 매체를 포함한다. 이러한 컴퓨터 판독 가능 매체는 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체(디바이스)이다. 컴퓨터 실행 가능 명령어를 전달하는 컴퓨터 판독 가능 매체는 전송 매체이다. 따라서, 제한이 아닌 예로서, 본 발명의 실시형태는 적어도 두 개의 명확하게 상이한 종류의 컴퓨터 판독 가능 매체를 포함할 수 있다: 컴퓨터 저장 매체(디바이스) 및 전송 매체.
컴퓨터 저장 매체(디바이스)는, 랜덤 액세스 메모리(random access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 전기적 소거 가능 프로그래밍 가능 리드 온리 메모리(electrically erasable programmable read-only memory; EEPROM), 콤팩트 디스크 리드 온리 메모리(compact disk read-only memory; CD-ROM), (예를 들면, RAM에 기초한) 솔리드 스테이트 드라이브(solid state drive; "SSD"), 플래시 메모리, 상 변화 메모리(phase-change memory; "PCM"), 다른 타입의 메모리, 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 소망되는 프로그램 코드 수단을 컴퓨터 실행 가능 명령어 또는 데이터 구조의 형태로 저장하기 위해 사용될 수 있는 그리고 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
"네트워크"는, 컴퓨터 시스템 및/또는 모듈 및/또는 다른 전자 디바이스 사이에서 전자 데이터의 전송을 가능하게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 통신 연결(유선, 무선 또는 유선 또는 무선의 조합 중 어느 하나)을 통해 컴퓨터로 전송 또는 제공되는 경우, 컴퓨터는 그 연결을 전송 매체로 적절하게 간주한다. 전송 매체는, 컴퓨터 실행 가능 명령어 또는 데이터 구조의 형태로 소망되는 프로그램 코드 수단을 전달하기 위해 사용될 수 있는 그리고 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 네트워크 및/또는 데이터 링크를 포함할 수 있다. 상기의 조합은 또한, 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
또한, 다양한 컴퓨터 시스템 컴포넌트에 도달시, 컴퓨터 실행 가능 명령어 또는 데이터 구조 형태의 프로그램 코드 수단은 전송 매체로부터 컴퓨터 저장 매체(디바이스)로 (또는 그 반대로) 자동으로 전송될 수 있다. 예를 들면, 네트워크 또는 데이터 링크를 통해 수신되는 컴퓨터 실행 가능 명령어 또는 데이터 구조는, 네트워크 인터페이스 모듈(network interface module)(예를 들면, "NIC") 내의 RAM에 버퍼링될 수 있고, 그 다음, 궁극적으로, 컴퓨터 시스템의 휘발성이 덜한 컴퓨터 저장 매체(디바이스)로 및/또는 컴퓨터 시스템 RAM으로 전송된다. RAM은 또한 솔리드 스테이트 드라이브(SSD 또는 확장 주변장치 컴포넌트 인터커넥트(Peripheral Component Interconnect eXtended; PCIx) 기반의 실시간 메모리 계층형 스토리지, 예컨대 FusionIO)를 포함할 수 있다. 따라서, 컴퓨터 저장 매체(디바이스)는, 전송 매체를 또한 (또는 심지어 주로) 활용하는 컴퓨터 시스템 컴포넌트에 포함될 수 있다는 것이 이해되어야 한다.
컴퓨터 실행 가능 명령어는, 예를 들면, 프로세서에서 실행될 때, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 특수 목적 프로세싱 디바이스로 하여금 소정의 기능 또는 기능의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행 가능 명령어는, 예를 들면, 바이너리, 어셈블리 언어(assembly language)와 같은 중간 포맷 명령어, 또는 심지어 소스 코드일 수도 있다. 비록 본 주제가 구조적 피쳐(feature) 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부된 청구범위에서 정의되는 주제는 상기에서 설명되는 설명된 피쳐 또는 액트로 반드시 제한되는 것은 아니다는 것이 이해되어야 한다. 오히려, 설명된 피쳐 및 액트는 청구범위를 구현하는 예로서 개시된다.
본 기술 분야의 숙련된 자는, 본 발명이, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 메시지 프로세서, 핸드헬드 디바이스, 멀티프로세서(multi-processor) 시스템, 마이크로프로세서 기반의 또는 프로그래밍 가능한 소비자 전자장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 이동 전화, 개인 휴대 정보 단말(personal digital assistant; PDA), 태블릿, 페이저, 라우터, 스위치, 다양한 스토리지 디바이스, 및 등등을 비롯한, 많은 타입의 컴퓨터 시스템 구성을 가지고 네트워크 컴퓨팅 환경에서 실시될 수도 있다는 것을 인식할 것이다. 본 발명은 또한, 네트워크를 통해 (유선 데이터 링크, 무선 데이터 링크 중 어느 하나에 의해, 또는 유선 및 무선 데이터 링크의 조합에 의해) 링크되는 로컬 및 원격 컴퓨터 시스템 둘 모두가 태스크를 수행하는 분산형 시스템 환경에서 실시될 수도 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 스토리지 디바이스 둘 모두에 위치될 수도 있다.
본 발명의 실시형태는 또한, 클라우드 컴퓨팅 환경에서 구현될 수 있다. 본 설명 및 후속하는 청구범위에서, "클라우드 컴퓨팅"은, 가상화를 통해 신속하게 프로비저닝될 수 있는 그리고 최소의 관리 노력 또는 서비스 제공자 상호 작용을 통해 배포될 수 있고, 그 다음 상응하게 확장될 수 있는 구성 가능한 컴퓨팅 리소스(예를 들면, 네트워크, 서버, 스토리지, 애플리케이션, 및 서비스)의 공유된 풀에 대한 보편적이고, 편리하고, 요구에 따른 네트워크 액세스를 가능하게 하는 것에 대한 접근법(approach)으로서 정의된다. 클라우드 접근법은, 다양한 특성(예를 들면, 주문형 셀프 서비스, 광범위한 네트워크 액세스, 리소스 풀링, 빠른 탄력성, 측정된 서비스, 등등), 서비스(예를 들면, 서비스로서의 소프트웨어(Software as a Service; SaaS), 서비스로서의 플랫폼(Platform as; PaaS), 서비스로서의 인프라(Infrastructure as a Service; IaaS)), 및 배치(예를 들면, 사설 클라우드, 커뮤니티 클라우드, 공개 클라우드, 하이브리드 클라우드, 등등)로 구성될 수 있다. 본 발명과 관련하여 설명되는 데이터베이스 및 서버는, 클라우드 접근법에 포함될 수 있다.
또한, 적절하다면, 본원에서 설명되는 기능은 다음 중 하나 이상에서 수행될 수 있다: 하드웨어, 소프트웨어, 펌웨어, 디지털 컴포넌트, 또는 아날로그 컴포넌트. 예를 들면, 본원에서 설명되는 시스템 및 프로시져 중 하나 이상을 수행하도록, 하나 이상의 주문형 반도체(application specific integrated circuit; ASIC)가 제조될 수 있거나 또는 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA)가 프로그래밍될 수 있다. 특정한 시스템 컴포넌트를 참조하기 위해 후속하는 설명 및 청구범위 전반에 걸쳐 소정의 용어가 사용된다. 기술 분야에서 숙련된 자가 인식하는 바와 같이, 컴포넌트는 상이한 이름으로 참조될 수도 있다. 본 문서는, 이름이 다르지만, 그러나 기능은 다르지 않은 컴포넌트 사이를 구별하려고 의도하지는 않는다.
도 1은, 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 컴퓨터 아키텍쳐(100)를 예시한다. 묘사되는 바와 같이, 컴퓨터 아키텍쳐(100)는 디바이스(102, 104 및 108) 및 네트워크 스토리지 디바이스(113)를 포함한다. 디바이스(104)는 디스플레이(106)를 더 포함한다. 디바이스(108)는 전달 모듈(109), 버퍼(111), 및 검색 모듈(112)을 더 포함한다.
디바이스(102 및 104)는 통신 네트워크(예를 들면, 이동 전화, 컴퓨터 시스템, 등등)를 통해 서로 통신할 수 있는 전자/디지털 디바이스이다. 디바이스(102 및 104)의 각각은 또한, 음성 통신(voice communication)의 전달을 용이하게 하는 마이크 및 스피커(도시되지 않음)와 같은 컴포넌트를 포함할 수 있다. 예를 들면, 사람(101)은 디바이스(102)에서 또는 그 근처에서 말할 수 있다. 디바이스(102)의 마이크는 음향 에너지(음파)를 전기 에너지(오디오 신호)로 변환한다. 디바이스(102)는 (어쩌면 디지털 포맷의) 오디오 신호를 디바이스(104)로 전송한다. 오디오 신호는 네트워크를 통해 디바이스(104)로 발언을 전달할 수 있다. 디바이스(104)는 네트워크를 통해 오디오 신호를 수신한다. 디바이스(104) 내의 스피커는 오디오 신호를, 사람(101)의 음성을 재생하는 음향 에너지(음파)로 다시 변환한다. 그 다음, 사람(107)은 사람(101)이 말한 것을 들을 수 있다. 사람(107)으로부터의 음성은, 디바이스(104)로부터 디바이스(102)로 유사하게 전송될 수 있다. 이와 같이, 사람(101 및 107)은 디바이스(102, 104)를 각각 사용하여 서로 구두의 대화(verbal conversation)를 행할 수 있다.
하나의 양태에서, 통신 네트워크(예를 들면, 셀룰러 네트워크, 무선 네트워크, 등등)는 디바이스(102 및 104)에 의한 사용을 위해 하나 이상의 통신 채널을 할당한다. 하나의 양태에서, 디바이스(102 및 104) 사이의 음성 통신의 단방향 전송을 용이하게 하기 위해 단일의 채널이 할당된다. 또 다른 양태에 있어서, 디바이스(102 및 104) 사이의 음성 통신의 양방향 전송을 용이하게 하기 위해 복수의 채널이 할당된다.
일반적으로, 디바이스(108)는 디바이스(102 및 104) 사이의 통신 채널, 네트워크 연결, 등등을 모니터링하도록 구성된다. 디바이스(108)는, 디바이스(102 및 107) 사이에서 전송되는 오디오 신호, 예컨대 NLE를 인터셉트할 수 있다. 검색 모듈(112)은, 필요하다면, 자동 음성 인식(automatic speech recognition; ASR)을 사용하여, 인터셉트된 NLE의 내용(content)에 기초하여 그리고 그 내용에 관련되는 검색 용어를 만들어 낼 수 있다. NLE에 적용되는, NLU 및 도메인 지식은, NLE에서 명시적으로 표현되지 않는 필터, 추가적인 용어, 또는 관련 정보와 같은 추가적인 검색 파라미터를 생성할 수 있다. 하나 이상의 검색 프로시져가 가능하다. 검색 모듈(112)은, 예를 들면, 웹사이트, 온라인 데이터베이스, 소셜 미디어 네트워크, 등등과 같은 네트워크 저장 위치에 검색 용어를 포함하는 질의(query)를 제출할 수 있다. 관련 정보에 대한 검색은 도메인 정보에 따라 확장될 수 있다. 예를 들면, 테니스 경기에 대한, 또는 다음 며칠의 호텔에 대한 검색은, 그 테니스 경기 또는 호텔의 날짜 및 위치에서의 날씨에 관한 관련 정보를 포함하도록 확장될 수도 있다. 질의에 응답하여, 네트워크 저장 위치는 다양한 검색 용어를 충족하는 정보를 찾아 리턴할 수 있다. 따라서, 네트워크 저장 위치는 디바이스(102 및 104) 사이에서 전송되는 NLE의 내용에 관련되는 (따라서 사람(101 및 107) 사이의 대화에도 또한 관련되는) 정보를 리턴할 수 있다.
디바이스(108)는 버퍼(111) 내에 네트워크 저장 위치로부터 리턴되는 관련 정보를 버퍼링할 수 있다. 버퍼(111)는 시스템 메모리 내에서 캐시로서 유지될 수 있거나, 또는 더욱 영구적인 스토리지에 의존할 수 있다. 전달 모듈(109)은, 어떤 사람이 관련 정보에 관심을 가질 수 있는 때를 예상할 수 있다. 구체적으로, 전달 모듈(109)은, 정보 내용 그 자체 및 인터셉트된 NLE의 다른 특성(사이즈, 출처의 디바이스, 등등), 다른 인터셉트된 NLE의 내용 및 다른 특성(전송 빈도, 사이즈, 출처의 디바이스, 등등), 사람(101 또는 107)에 관한 지식 및 그들의 현재 목표 및 의도, 및 이전 회화(dialog)에 기초하여 관련 정보에 대한 사람의 관심을 예상할 수 있다. 다른 NLE는 인터셉트된 NLE 이전에 또는 이후에 인터셉트될 수 있다.
전달 모듈(109)은, 관련 정보에 사람이 관심을 가지게 되기 이전에 관련 정보가 도달하도록, 관련 정보를 버퍼(111)로부터, 인터셉트된 NLE를 수신한 디바이스로 전송할 수 있다.
도 2는 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 플로우차트(200)를 예시한다. 방법(200)은, 컴퓨터 아키텍쳐(100)에서의 컴포넌트 및 데이터와 관련하여 설명될 것이다.
방법(200)은, 제1 디바이스로부터 제2 디바이스로 전자적으로 전송되는 자연어 표현을 인터셉트하는 것을 포함하는데, 자연어 표현은, 제1 디바이스(102)를 사용하는 제1 사람(101)과 제2 디바이스(104)를 사용하는 제2 사람(107) 사이의 대화에 포함된다. NLE(103)와 같은 발언이 먼저 인터셉트되고(201), 그 다음, 그것의 자연어 내용에 대해서 분석된다. 예를 들면, 디바이스(108)는, NLE(103)가 디바이스(102)로부터 디바이스(104)로 전자적으로 전송될 때 NLE(103)를 인터셉트할 수 있다. NLE(103)는, 사람(101)과 사람(107) 사이의 대화의 일부이다. 인터셉트된 자연어 발언(natural language utterance (NLE(103))은 NLU 기법을 사용하여 분석된다. 이러한 분석은, 내용어(content word), 토픽, 또는 발언의 의도를 인식할 수 있을 수도 있다. NLU 분석의 사용은 하기에서 추가로 논의된다.
방법(200)은, NLE(103)로부터 추출되는 임의의 내용어, 토픽 또는 의도를 비롯한, NLU 분석의 결과에 기초하여, 네트워크 저장 위치에 저장되어 있는, 자연어 표현에 관련되는 정보를 찾는 것으로 진행한다(202). 예를 들면, 검색 모듈(112)은, 필요하다면 ASR을 사용하여, 그리고 어쩌면 NLU 및 도메인 지식을 사용하여, NLE(103)의 내용으로부터 하나 이상의 질의(116)를 형성할 수 있다. 검색 모듈(112)은, 로컬 디스크와 데이터베이스, 및 네트워크 저장 위치를 포함하는 하나 이상의 스토리지 디바이스(113)에 하나 이상의 질의(116)를 제출할 수 있다. 저장 위치(113)는 디바이스(108)로부터 하나 이상의 질의(116)를 수신할 수 있다. 응답에서, 저장 위치(113)는 관련 정보(114)를 식별하여 리턴할 수 있다. 관련 정보(114)는 NLE(103)에 관련되는 정보일 수 있다.
방법(200)은 또한, 자연어 표현(103)으로부터 추출되는 임의의 내용어, 토픽 또는 의도에 기초하여, 그리고 지금까지의 대화에 기초하여, 제2 사람의 관심사(interest)의 모델을 업데이트하는 것을 또한 포함할 수 있다. 몇몇 양태에 따르면, 사람의 관심사의 모델은 유저 프로파일의 일부로서 저장되는 장기간의 데이터 구조이다. 그것은, 날씨, 스포츠, 및 주가와 같은 토픽의 목록을 포함한다. 몇몇 양태에 따르면, 사람의 관심사의 모델은, Facebook(페이스북), Mark Zuckerberg(마크 저커버그), 및 주식 상장 회사 약어(stock ticker symbol) FB와 같은 특정한 엔티티, 및 그 사람의 자녀의 이름으로 구성된다. 몇몇 양태에 따르면, 사람의 관심사의 모델은, 의도, 토픽 또는 내용어 예컨대 엔티티에 관련되는, 사람이 작성한 또는 수신된 표현의 빈도(frequency) 또는 최근성(recency)에 기초한 관심사의 레벨의 표시를 포함한다.
하나의 양태에서, 의도는 슬롯-값 쌍으로서 표현되고, NLU는 NLE로부터 이러한 쌍을 주로 추출한다. 예를 들면, NLE가 "샌프란시스코로부터 시애틀까지의 비행편을 찾아줘"이면, 슬롯-값 쌍은, (INTENT, "FLIGHT_RESERVATION"), (FLIGHT_FROM, "SFO"),(FLIGHT_TO, "SEA"), (CITY_FROM, "SAN FRANCISCO"), (CITY_TO, "SEATTLE"), 관련 날짜와 시간 정보, 및 (TOPIC, "TRAVEL")과 같은 어떤 것을 포함할 수도 있다.
이러한 실시형태에서, 각각의 회화 순번은, 슬롯-값 쌍의 세트('번들')를 생성하고, 대화는 그러한 번들의 시퀀스로서 요약된다. 몇몇 양태에 따르면, 번들은 자바스크립트 오브젝트 표기(JavaScript Object Notation; JSON) 또는 확장성 마크업 랭귀지(Extensible Markup Language; XML)을 사용하여 설명되는 데이터 구조로서 저장 및 전송된다. 상기 시퀀스는 대화의 빠른 요약으로서 사용될 수 있다.
이러한 실시형태에서, 사람의 관심사의 모델은 이 요약에 기초하여 업데이트될 수 있다. 예를 들면, 공항 엔티티("SFO" 및 "SEA"), 도시 엔티티("SAN FRANCISCO" 및 "SEATTLE"), 토픽("TRAVEL") 및 표현 의도("FLIGHT_RESERVATION")는 모두 모델의 일부가 될 수도 있다. 지금까지의 대화에 대한 각각의 슬롯-값 쌍은, 개개의 연관성 가중치(relevance weight)를 부여받을 수도 있다. 연속하는 번들에서 슬롯-값 쌍의 연관성 가중치는 누적될 수 있거나 또는 다르게는 결합되어 엔티티 및 연관성 가중치의 목록으로서, 제2 사람의 관심사의 프로파일을 생성할 수 있다. 가중치를 누적하는 것은, 예컨대 "SFO"로부터의 두 개의 비행편을 질의하는 것과 같이, 정보가 호환되는 경우에 적합하다. 가중치를 결합하는 것은, 표현 "대신 밴쿠버로 가면 어떨까?" 이후에, "SEA"의 가중치를 감소시키는 것과 같이, 다른 형태를 취할 수 있다. 다른 실시형태에서, 사람의 관심사의 모델은, 각각이 연관성 가중치를 갖는, 토픽, 의도 및 엔티티의 단순한 세트보다 더 복잡한 형태를 취할 수도 있다. 모델의 파워 및 복잡성은 NLU 시스템의 이해의 깊이를 반영한다; 예를 들면, 더 똑똑한 시스템은 부정, 가설, 내비게이션, 시간 순서로 또는 특정한 달력 날짜에 이벤트를 계획하는 것, 및 등등을 이해할 수도 있을 것이다. 그럼에도 불구하고, 방금 설명한 상대적으로 간단한 기법은, 지금까지의 대화에 기초하여 한 사람의 관심사의 모델을 업데이트하기에 충분할 수 있다.
몇몇 양태에 따르면, 방법(200)은 또한, 사람의 관심사의 모델에 기초하여 찾아진 정보에 대한 연관성 스코어를 계산하는 것을 포함한다. 정보는 "시애틀 날씨"와 같은 소정의 검색 용어에 기초하는 검색 질의에 따라 찾아진다. 방금 설명한 것과 같은, 연관성 가중치에 기초한 모델의 실시형태에서, 연관성 스코어를 계산하는 것은 간단하다. 하나의 양태에서, 모델에서 매치하지 않는 검색 용어의 연관성 스코어는 낮게 설정되고; 모델에서 매치되는 검색 용어의 연관성 스코어는 모델에서의 자신의 연관성 가중치이다. 더 복잡한 변형예에서, "FLIGHT_TO" 도시에 대한 "날씨"의 연관성 가중치가 사용되며 "시애틀"의 연관성 가중치로 승산되어 "시애틀 날씨"에 대한 연관성 스코어를 획득한다.
몇몇 양태에 따르면, 방법(200)은 또한 찾아진 정보에 대한 연관성 스코어를 임계치에 비교하는 것을 포함한다. 임계치는 고정될 수도 있거나 또는 그것은 정규화 요건을 반영하도록 조정될 수도 있다. 풍부한 찾아진 정보가 있으면 임계치는 증가되는 것을 필요로 할 수도 있고, 따라서 더 적은 정보가 전송된다. 이것은 대역폭을 절약할 수 있고 너무 많은 정보로 시스템 유저를 압도하는 것을 방지할 수 있다.
방법(200)은 정보를 제2 사람이 관심을 가질 것으로 예상될 때까지 그 정보를 버퍼링하는 것(204)을 포함한다. 예를 들어, 장치(108)는 관련 정보(114)를 버퍼(111)에 버퍼링할 수 있다. 전달 모듈(109)은, NLE(103)의 내용 및 다른 특성(사이즈, 출처의 디바이스, 등등), 다른 수신된 NLE의 내용 및 다른 특성(전송 빈도, 사이즈, 출처의 디바이스, 등등), 사람(101 및/또는 107)에 관한 지식 등등에 기초해서 사람(107)이 관련 정보(114)에 관심을 갖는 타이밍을 예상할 수 있다.
연관성 스코어 임계치를 초과하는 것을 조건으로, 방법(200)은 제2 사람에게 디스플레이하기 위해 정보를 제2 디바이스로 전송하는 것(204)을 포함한다. 예를 들면, 전달 모듈(109)은, 관련 정보(114)에 사람(107)이 관심을 가지기 이전에 관련 정보가 디바이스(104)에 도달하도록, 관련 정보(114)를 디바이스(104)에 전송할 수 있다.
디바이스(104)는 디바이스(108)로부터 관련 정보(114)를 수신할 수 있다. 디바이스(104)는 관련 정보(114)를 디스플레이(106)에서 디스플레이할 수 있다. 관련 정보(114)를 디스플레이(106)에서 디스플레이하는 것은, 사람(107)에게 NLE(103)의 내용에 대한 통찰력을 제공할 수 있다. 하나의 양태에서, 관련 정보(114)는 NLE(103)가 디바이스(104)의 스피커에서 출력되는 것과 동시에(예를 들면, 출력되는 시간에 또는 출력되는 시간 근처에서) 디스플레이 된다.
도 3은 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 컴퓨터 아키텍쳐(300)를 예시한다. 묘사되는 바와 같이, 컴퓨터 아키텍쳐(300)는 디바이스(302 및 304) 및 스토리지 디바이스(313)를 포함한다. 디바이스(304)는 디스플레이(306), 전달 모듈(309), 버퍼(311), 및 검색 모듈(312)을 더 포함한다.
디바이스(302 및 304)는 통신 네트워크(예를 들면, 이동 전화, 화상 회의 유닛, 컴퓨터 시스템, 등등)를 통해 서로 통신할 수 있는 전자/디지털 디바이스이다. 디바이스(302 및 304)의 각각은 또한, 음성 통신의 전달을 용이하게 하는, 마이크 및 스피커(도시되지 않음)와 같은 컴포넌트를 포함할 수 있다. 예를 들면, 사람(301)은 디바이스(302)에서 또는 그 근처에서 말할 수 있다. 디바이스(302)의 마이크는 음향 에너지(음파)를 전기 에너지(오디오 신호)로 변환한다. 디바이스(302)는 (어쩌면 디지털 포맷의) 오디오 신호를 디바이스(304)로 전송한다. 오디오 신호는, 네트워크를 통해 디바이스(304)로, 예를 들면, 하나 이상의 발화된 단어, 발화된 어구, 발화된 문장, 등등과 같은 NLE를 전달할 수 있다. 디바이스(304)는 네트워크를 통해 오디오 신호를 수신한다. 디바이스(304) 내의 스피커는, 오디오 신호를, 사람(301)의 음성을 재생하는 음향 에너지(음파)로 다시 변환한다. 그 다음, 사람(307)은 사람(301)이 말한 것을 들을 수 있다. 사람(307)으로부터의 음성은, 디바이스(304)로부터 디바이스(302)로 마찬가지로 전송될 수 있다. 이와 같이, 사람(301 및 307)은, 각각, 디바이스(302 및 304)를 사용하여 서로 구두의 대화를 행할 수 있다.
하나의 양태에서, 통신 네트워크(예를 들면, 셀룰러 네트워크, 무선 네트워크, 등등)는 디바이스(302 및 304)에 의한 사용을 위해 하나 이상의 통신 채널을 할당한다. 하나의 양태에서, 디바이스(302 및 304) 사이의 음성 통신의 단방향 전송을 용이하게 하기 위해 단일의 채널이 할당된다. 다른 양태에서, 디바이스(302 및 304) 사이의 음성 통신의 양방향 전송을 용이하게 하기 위해 복수의 채널이 할당된다.
검색 모듈(312)은 디바이스(304)에서 수신되는 NLE를 모니터링할 수 있다. 검색 모듈(312)은, 필요하다면 ASR을 사용하여, 수신된 NLE의 내용에 기초하여 그리고 그 내용에 관련되는 검색 용어를 만들어 낼(formulate) 수 있다. NLU 및 도메인 지식은, 검색 모듈(112)에서 설명되는 바와 같이, 추가적인 관련성 관계(relatedness relationship), 및 대응하는 검색을 형성하는 데 사용될 수 있다. 검색 모듈(312)은, 예를 들면, 로컬 디스크 드라이브, 데이터 저장소 및 데이터베이스, 네트워크 저장 위치, 및 웹 애플리케이션 프로그래밍 인터페이스(application programming interface; API)를 포함하는 스토리지 디바이스(313)에 하나 이상의 질의(316)를 제출할 수 있다. 질의에 응답하여, 스토리지 디바이스(313)는 검색 용어를 충족하는 정보를 리턴한다. 따라서, 각각의 스토리지 디바이스는, 디바이스(302)로부터 디바이스(304)로 전달되는 NLE의 내용에 관련되는(따라서 사람(301)과 사람(307) 사이의 대화에도 또한 관련되는) 정보를 리턴할 수 있다.
디바이스(304)는 버퍼(311) 내의 스토리지 디바이스로부터 리턴되는 관련 정보를 버퍼링할 수 있다. 버퍼(311)는 시스템 메모리 또는 더욱 내구성 있는 스토리지일 수 있다. 전달 모듈(309)은 관련 정보에 사람(307)이 관심이 가질 때를 예상할 수 있다. 전달 모듈(309)은, 수신된 NLE의 내용 및 다른 특성(사이즈, 출처의 디바이스, 등등), 다른 수신된 NLE의 내용 및 다른 특성(전송 빈도, 사이즈, 출처의 디바이스, 등등), 사람(301 및/또는 307)의 지식, 등등에 기초하여 관련 정보에 대한 사람(307)의 관심을 예상할 수 있다. 다른 NLE는 수신된 NLE 이전에 또는 수신된 NLE에 후속하여 수신될 수 있다.
전달 모듈(309)은, 관련 정보에 사람(307)이 관심을 가질 것으로 예상되는 때에 버퍼(311)로부터의 관련 정보를 디스플레이(306)에서 디스플레이할 수 있다.
도 4는 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 플로우차트(400)를 예시한다. 방법(400)은 컴퓨터 아키텍쳐(300)에서의 컴포넌트 및 데이터에 관하여 설명될 것이다.
방법(400)은 제1 디바이스에서 자연어 표현을 수신하는 것을 포함하는데, 자연어 표현은 제2 디바이스로부터 제1 디바이스로 전자적으로 전송되고, 자연어 표현은 제1 디바이스를 사용하는 제1 사람과 제2 디바이스를 사용하는 제2 사람 사이의 대화에 포함된다(401). 예를 들면, 디바이스(304)는 NLE(303)를 수신할 수 있다. 디바이스(302)는, NLE(303)를 사람(301)과 사람(307) 사이의 대화의 일부로서 디바이스(304)로 전송할 수 있다.
방법(400)은 본질적으로 방법(200)과 유사하게 동작한다. 자연어 발언(NLE(303))은 본 명세서의 다른 곳에서 설명되는 NLU 기법을 사용하여 분석된다. 이러한 분석은, 키워드, 액션 워드(action word), 엔티티, 토픽 및 의도를 인식할 수도 있다. 자연어 표현(303)으로부터 추출되는 내용어, 토픽 또는 의도에 기초하여, 컴퓨터 판독 가능 매체에 저장되어 있는 자연어 표현에 관련되는 정보가 식별될 수도 있다(402). 예를 들면, 검색 모듈(312)은, 필요하다면 ASR을 사용하여, 그리고 어쩌면 그 밖의 곳에서 설명되는 바와 같은 도메인 지식 및 NLU를 사용하여, NLE(303)의 내용으로부터 하나 이상의 질의(316)를 형성할 수 있다. 검색 모듈(312)은, 로컬 디스크와 데이터베이스, 및 네트워크 저장 위치를 포함하는 하나 이상의 스토리지 디바이스(313)에 하나 이상의 질의(316)를 제출할 수 있다. 이러한 스토리지 디바이스(313)는 디바이스(308)로부터 질의(316)를 수신할 수 있다. 응답에서, 스토리지 디바이스(313)는 관련 정보(114)를 식별할 수 있다. 관련 정보(314)는 NLE(303)에 관련되는 정보일 수 있다.
방법(400)은, 정보에 제2 사람이 관심을 가질 것으로 예상될 때까지, 정보를 버퍼링하는 것을 포함한다(403). 예를 들면, 디바이스(304)는 관련 정보(314)를 버퍼(311)에 버퍼링할 수 있다. 전달 모듈(309)은, NLE(303)의 내용 및 다른 특성(사이즈, 출처의 디바이스, 등등), 다른 수신된 NLE의 내용 및 다른 특성(전송 빈도, 사이즈, 출처의 디바이스, 등등), 사람(301 및/또는 307)의 지식, 등등에 기초하여 관련 정보(314)에 대한 사람(307)의 관심의 타이밍을 예상할 수 있다.
방법(400)은, 정보에 제2 사람이 관심을 가질 것으로 예상되는 시간에 제1 디바이스에서 정보를 디스플레이하는 것을 포함한다(404). 예를 들면, 전달 모듈(309)은 디스플레이(306)에서 버퍼(311)로부터의 관련 정보(314)를 디스플레이할 수 있다. 디스플레이(306)에서 관련 정보(314)를 디스플레이하는 것은, 사람(307)에게 NLE(303)의 내용에 대한 따라서 사람(301 및 307) 사이의 대화에 대한 통찰력을 제공할 수 있다. 하나의 양태에서, 관련 정보(314)는, NLE(303)가 디바이스(304)의 스피커에서 출력되는 것과 동시에(예를 들면, 출력되는 시간에 또는 출력되는 시간 근처에서) 디스플레이 된다.
예를 들면, NLE가 호텔을 체크하는 것에 관한 것이고 유저가 공항을 통해 여행하고 있으면, 전달 모듈(309)은 유저가 택시타는 라인에 있는 시간 동안 호텔 주소의 배달을 스케줄링한다. 다른 예를 들면, 야구에 대한 논의에서, 사람들은 일반적으로 스코어에 관해 먼저 물어 보고, 그 다음에 몇 이닝인지를, 그 다음, 어떤 팀이 공격하고 있는지를, 그 다음, 볼과 스트라이크의 카운트가 무엇인지를 묻는다. NLE가 야구 게임의 스코어에 관한 것이면, 검색 모듈(312)은 스코어, 이닝, 공격하는 팀(team batting), 및 카운트에 대해서 게임 통계 데이터 저장 소스(313)에 질의한다. 디바이스(304)는 관련 정보(314)를 수신하고 그것을 버퍼(311)에 저장한다. 디바이스(304)는 계속해서 사람(307)에게 스코어만을 디스플레이한다. 몇몇 상황에서는 스코어만이 대화에 관련되고 다른 관련 정보 모두를 디스플레이하는 것은 혼란을 줄 것이기 때문에, 이것은 적절하다. 그러나, 사람(301)이 이닝, 공격하는 팀 또는 카운트를 언급하면, 전달 모듈(309)은, 관련 정보(314) 모두가, 사람(307) 또는 사람(301) 중 어느 한 명이 그 정보를 명시적으로 요청하는 것을 필요로 하지 않고도 관심을 갖는 정보 모두를 사람(307)이 쉽게 잘 통지받을 수 있도록, 디스플레이(306) 상에서 나타나게 한다.
몇몇 양태에 따르면, 자연어 도메인은, 정보의 관련 타입 및 관련 정보를 어떤 조건 하에서 디스플레이할지를 나타내는 규칙을 가지고 프로그래밍된다. 몇몇 양태에 따르면, 머신 러닝 알고리즘은, 많은 대화 및 많은 유저에 걸친 정보 요청의 패턴을 검출하고, 어떤 타입의 정보가 관련되는지 및 NLE에서 어떤 토픽, 의도, 또는 엔티티가 관련 정보의 디스플레이를 트리거하는지를 예측하도록, 모델, 예컨대 신경망 또는 다른 예측 모델을 트레이닝한다.
도 5는 발언에 관련되는 정보를 자동으로 시각적으로 제시하는 것을 용이하게 하는 컴퓨터 아키텍쳐(500)를 예시한다. 묘사되는 바와 같이, 컴퓨터 아키텍쳐(500)는 디바이스(502) 및 스토리지 디바이스(513)를 포함한다. 디바이스(502)는, 디스플레이(506), 전달 모듈(509), 버퍼(511), 검색 모듈(512), 및 인식 디바이스(perception device)(517)를 더 포함한다.
디바이스(502)는, 예를 들면, 이동 전화, 비디오 게임 콘솔, AR/VR 헤드셋, 헤드업 차량 앞 유리 디스플레이(heads-up windshield display)를 갖는 차량, 등등과 같은 디지털 디바이스일 수 있다. 디바이스(502)는 또한, 마이크 및 스피커(도시되지 않음)와 같은 컴포넌트를 포함할 수 있다. 예를 들면, 디바이스(502)의 범위 내에 있는 사람, 예를 들면, 사람(501) 또는 사람(507)은 디바이스(502)에서 또는 디바이스(502) 근처에서 말할 수 있다. 디바이스(502) 내의 마이크는, 음향 에너지(음파)를 전기 에너지(오디오 신호)로 변환한다. 디바이스(504) 내의 스피커는 오디오 신호를, 예를 들면, 음성을 재생하는 음향 에너지(음파)로 다시 변환한다.
하나의 양태에서, 사람(501)은 디바이스(502)를 착용한다. 인식 디바이스(517)는 마이크에 연결될 수 있다. 인식 디바이스(517)는 마이크에 의해 픽업되는 구두의 의사 소통을 수신하여 NLE를 검출할 수 있다. 인식 디바이스(517)는 NLE를 검색 모듈(512)에 전송할 수 있다.
검색 모듈(512)은, 필요하다면 ASR을 사용하여, 수신된 NLE의 내용에 기초하여 그리고 그 내용에 관련되는 검색 용어를 만들어 낼 수 있다. NLU 및 도메인 지식은, 검색 모듈(112)에서 설명되는 바와 같이, 추가적인 관련성 관계, 및 대응하는 검색을 형성하는 데 사용될 수 있다. 검색 모듈(512)은 검색 용어를 포함하는 질의를, 예를 들면, 디스크 드라이버, 데이터 저장소, 데이터베이스, 웹 API, 등등과 같은 스토리지 디바이스에 제출할 수 있다. 질의에 응답하여, 스토리지 디바이스는 검색 용어를 충족하는 정보를 리턴할 수 있다. 따라서, 스토리지 디바이스는, 디바이스(502)에서 유도되는 NLE의 내용에 관련되는 정보를 리턴할 수 있다.
디바이스(502)는 버퍼(511) 내의 스토리지 디바이스로부터 리턴되는 관련 정보를 버퍼링할 수 있다. 버퍼(511)는 시스템 메모리 또는 더욱 내구성 있는 스토리지일 수 있다. 전달 모듈(509)은 관련 정보에 사람(501)이 관심이 가질 때를 예상할 수 있다. 전달 모듈(509)은, 검출된 NLE의 내용 및 다른 특성(사이즈, 등등), 다른 검출된 NLE의 내용 및 다른 특성(검출 빈도, 사이즈, 등등), 사람(501 및/또는 507)의 지식, 등등에 기초하여 관련 정보에 대한 사람(501)의 관심을 예상할 수 있다. 다른 NLE는 검출된 NLE 이전에 또는 검출된 NLE에 후속하여 검출될 수 있다.
전달 모듈(509)은, 관련 정보에 사람(501)이 관심을 가질 것으로 예상되는 때에 버퍼(511)로부터의 관련 정보를 디스플레이(506)에서 디스플레이할 수 있다.
도 6은, 발언에 관련되는 정보를 자동으로 시각적으로 제시하기 위한 예시적인 방법의 차트(600)를 예시한다. 방법(600)은 컴퓨터 아키텍쳐(500)에서의 컴포넌트 및 데이터와 관련하여 설명될 것이다.
방법(600)은 구두의 의사 소통을 발언한 사람에게 물리적으로 근접하여 존재하는 디바이스에서 구두의 의사 소통을 인식하는 것을 포함한다(601). 예를 들면, 인식 디바이스(517)는 사람(507)에 의해 발언되는 구두의 의사 소통(503)을 인식할 수 있다. 인식 디바이스(517)는 구두의 의사 소통(503)을 NLE로 변환할 수 있다. 인식 디바이스(517)는 NLE를 검색 모듈(512)에 전송할 수 있다.
방법(600)은 컴퓨터 판독 가능 매체에 저장되어 있는 구두의 의사 소통과 관련되는 정보를 찾는 것을 포함한다(602). 예를 들면, 검색 모듈(512)은, 필요하다면 ASR을 사용하여, 그리고 검색 모듈(112)에 대해 설명되는 바와 같이 어쩌면 NLU 및 도메인 지식을 사용하여, NLE의 내용으로부터 하나 이상의 질의(516)를 형성할 수 있다. NLE는, 방법(200)에서 논의되는 바와 같이, NLU 기법을 사용하여 내용어, 토픽 또는 의도를 인식하도록 분석될 수 있다. 검색 모듈(512)은, 로컬 디스크와 데이터베이스, 네트워크 저장 위치, 및 웹 API를 포함하는 하나 이상의 스토리지 디바이스(513)에 하나 이상의 질의(516)를 제출할 수 있다. 응답에서, 스토리지 디바이스(513)는 관련 정보(514)를 식별할 수 있다. 관련 정보(514)는 NLE(503)에 관련되는 정보일 수 있다.
방법(600)은, 찾아진 정보에 다른 사람이 관심을 가질 것으로 예상되는 시간까지 찾아진 정보를 버퍼링하는 것을 포함한다(603). 예를 들면, 디바이스(502)는 관련 정보(514)를 버퍼(511)에 버퍼링할 수 있다. 전달 모듈(509)은, NLE의 내용 및 다른 특성(사이즈, 등등), 다른 검출된 NLE의 내용 및 다른 특성(검출 빈도, 사이즈, 등등), 사람(501 및/또는 507)의 지식, 등등에 기초하여 관련 정보(514)에 대한 사람(501)의 관심의 타이밍을 예상할 수 있다.
방법(600)은, 정보에 다른 사람이 관심을 가질 것으로 예상될 때 디바이스에서 정보를 디스플레이하는 것을 포함한다(604). 예를 들면, 전달 모듈(509)은 버퍼(511)로부터의 관련 정보(514)를 디스플레이(506)에 디스플레이할 수 있다. 디스플레이(506)에서 관련 정보(514)를 디스플레이하는 것은, 사람(501)에게 구두의 의사 소통(503)에 대한 통찰력을 제공할 수 있다.
자연어 이해(NLU)
본 명세서에서 논의되는 모든 실시형태에서, 자연어 표현은, 수신되면, 기술 분야에서 공지되어 있는 NLU 기법 중 임의의 것을 사용하여, 분석될 수도 있다. NLU 분석은, 키워드 매칭, 품사(part-of-speech) 검출, 액션 워드 검출, 엔티티 검출, 부분적 파싱, 또는 전체 파싱을 포함할 수도 있다. NLU 분석은, 분석된 NLE의 의미를 나타내는 해석을 구성할 수도 있다. 키워드와 같은 내용어의 인식은 토픽을 제안하기 위해 사용될 수도 있다. NLE의 분석은 그것의 의도를 인식하는 것을 포함할 수도 있다.
임의의 키워드 또는 내용어, 액션 워드, 엔티티, 토픽 또는 의도 또는 추출되는 해석을 비롯한, NLU 분석의 결과에 기초하여, 시스템은, 자연어 표현에 관련되는 정보를 찾는 검색을 수행하도록 진행할 수도 있다. 검색은, 예를 들면, 해석을 검색 질의에 매핑하는 것에 의해, 또는 내용어를 토픽에 관련시키는 것에 의해, 도메인 지식을 활용할 수 있다. 몇몇 시스템에서, 관련 정보를 찾는데에 있어서 연역적 추론이 검색을 보충한다. 그 다음, 관련 정보의 연관성은 하기에 설명되는 기법을 사용하여 결정될 것이다.
하나의 양태에서, 해석은 NLU 기법에 의해 NLE로부터 추출되는 슬롯-값 쌍으로서 표현된다. 예를 들면, NLE가 "샌프란시스코로부터 시애틀까지의 비행편을 찾아줘"이면, 관련 슬롯-값 쌍은, (INTENT, "FLIGHT_RESERVATION"), (FLIGHT_FROM, "SFO"),(FLIGHT_TO, "SEA"), (CITY_FROM, "SAN FRANCISCO"), (CITY_TO, "SEATTLE"), 유사한 슬롯-값 포맷의 날짜 정보, 및 추가 정보 예컨대 (TOPIC, "TRAVEL")과 같은 어떤 것을 포함할 수도 있을 것이다.
이러한 실시형태에서, 각각의 대화 순번(NLE)은 슬롯-값 쌍의 세트('번들')를 생성하고, 대화는 그러한 번들의 시퀀스로서 표현될 수도 있다. 몇몇 양태에 따르면, 번들은 자바스크립트 오브젝트 표기(JavaScript Object Notation; JSON) 또는 확장성 마크업 랭귀지(Extensible Markup Language; XML)을 사용하여 설명되는 데이터 구조로서 저장 및 전송된다. 이러한 시퀀스는, 대화의 빠른 요약으로 사용될 수 있고, 나중에 논의되는 것처럼, 사람의 관심사의 모델을 구축하기 위한 기초가 된다.
몇몇 양태에 따르면, 방법(200)은 또한, 사람의 관심사의 모델에 기초하여 찾아진 정보에 대한 연관성 스코어를 계산하는 것을 포함한다. 정보는 "시애틀 날씨"와 같은 소정의 검색 용어에 기초하는 검색 질의에 따라 찾아진다.
방금 설명한 것과 같은, 연관성 가중치에 기초한 모델의 실시형태에서, 연관성 스코어를 계산하는 것은 간단하다. 하나의 양태에서, 모델에서 매치하지 않는 검색 용어의 연관성 스코어는 낮게 설정되고; 모델에서 매치되는 검색 용어의 연관성 스코어는 모델에서의 자신의 연관성 가중치이다. 더 복잡한 실시형태에서, "FLIGHT_TO" 도시에 대한 "날씨"의 연관성 가중치가 사용되며 "시애틀"의 연관성 가중치로 승산되어 "시애틀 날씨"에 대한 연관성 스코어를 획득한다.
데이터 흐름
도 7 내지 도 16은, 각각, 발언에 관련되는 정보를 시각적으로 제시하기 위한 다양한 데이터 흐름(700-1600)을 묘사한다. 데이터 흐름(700-1600)은 아키텍쳐(100, 300 및 500) 중 임의의 아키텍쳐에서 그리고 도시되고 설명되는 피쳐의 필요한 서브세트를 포함하는 다른 아키텍쳐에서 구현될 수 있다. 데이터 흐름(700-1600)은 방법(200, 400, 및 600)을 보충하기 위해 및/또는 방법(200, 400, 및 600)에 대한 대안으로 사용될 수 있다. 데이터 흐름(700-1600)에서 묘사되는 엘리먼트는 또한, 상이한 조합 및/또는 순열로 사용될 수 있다.
더 구체적으로, 도 7은 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(700)을 예시한다. 데이터 흐름(700)에서, 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. NLE가 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714).
하나의 양태에서, 단일의 NLE로부터 복수의 토픽이 식별된다. 하나 이상의 토픽을 인식하기 위해 도메인 문법이 사용될 수 있다. 토픽은 키워드와 또한 관련될 수 있다. 계산된 연관성 스코어는, 표현이 복수의 토픽의 각각을 다루는 확률을 나타낼 수 있다.
토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
NLE에 관련되는 정보는, 다른 정보와 함께, 브라우저 탭에서 또는 나란한 뷰에서 디스플레이될 수 있다. NLE에 관련되는 정보의 다수의 단편은, 내용 카테고리별로 그룹화되는 및/또는 연관성별로 정렬되는 상이한 단편과 함께 디스플레이될 수 있다. 정보의 단편은 또한 연대기 순서로, 예컨대 사람(711)이 트리거하는 자연어 표현(triggering natural language expression)을 발언한 시기별로 제시될 수 있다.
NLE를 캡쳐하기 위해, 예를 들면, 텍스트 기반 인터페이스, 오디오 인터페이스, 비디오 인터페이스, 등등과 같은 상이한 인터페이스가 사용될 수 있다. 하나의 양태에서, 텍스트 기반 인터페이스는 텍스트로서 표현되는 자연어를 캡쳐한다. 다른 양태에서, 음성 기반 인터페이스가 오디오 신호, 예컨대, 로컬 또는 원격 마이크에 의해 캡쳐되는 오디오 신호에 대해 자동 음성 인식을 수행하여, 발화된 자연어 표현을 인식한다. 몇몇 인터페이스는, 생성된 그래픽 또는 텍스트를 투명 유리 상에 오버레이하여, 증강 현실 경험 또는 헤드업 차량 디스플레이를 생성한다. 다른 인터페이스는, 실시간의 실제 자막 시스템과 같은, (만약 있다면) 제한된 다른 그래픽 엘리먼트와 함께 관련 정보를 디스플레이한다.
연관성 스코어 및 임계치
도 8은, 자연어 표현에 응답하여 연관성 스코어를 사용하여 정보를 디스플레이하기 위한 데이터 흐름(800)을 예시한다. 지원 시스템(assistive system)은, 덜 관련되는(또는 관련이 없는) 정보로 대화를 방해하지 않을 수도 있거나 또는 산만하게 하지 않을 수도 있다.
데이터 흐름(800)에서, NLE는 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714). 토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715).
연관성 스코어가 검색에 응답하여 리턴되는 정보에 대해 계산되고 연관성 스코어는 임계치에 비교된다(827). 연관성 스코어가 임계치를 초과하면, 리턴된 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 연관성 스코어가 임계치 미만이면, 리턴된 정보는 디스플레이되지 않는다.
연관성 스코어는, 대화 이력을 비롯한, 이력의 특정한 양태에 따라 검색 결과(및 대응하는 디스플레이 결정)의 순위(ranking)에 영향을 미치는 사전 존재하는 규칙에 적어도 부분적으로 기초할 수 있다. 연관성 스코어를 계산할 때, 가장 최근의 질의 또는 표현으로부터의 중요 토픽(foreground topic)과 (이전 대화로부터의) 배경 토픽(background topic)이 구별될 수 있다. 연관성 스코어를 계산할 때, 대화 참가자의 역할이 또한 고려될 수 있다. 예를 들면, 제1 사람이 오브젝트를 설명하는 경우, 그들은 그것의 그림을 그들의 마음 속에 가지고 있고 그것을 볼 필요는 없고, 한편 대화에 관련되는 제2 사람은 오브젝트의 그림을 보는 것에 의해 이익을 얻을 것이다. 따라서, 오브젝트에게, 제1 사람에 대해서 보다는 제2 사람에 대해서 더 높은 연관성 스코어를 주는 것이 적절할 것이다.
연관성 스코어는, 이력의 특정 양태와 조합하여 검색 결과(및 대응하는 디스플레이 결정)의 순위에 동적으로 영향을 주는 명백한 유저 입력에 적어도 부분적으로 기초할 수 있다. 예를 들면, 유저는 즉시 그리고 미래에 더 많은 정보를 얻기 위해, 가능한 연관성의 오브젝트의 이름을 탭할 수 있다. 다른 예를 들면, 시스템은, 지원을 받는 유저가 그들의 개인 프로파일의 일부로서 관심사의 목록을 명시할 수 있는 구성 인터페이스를 제공할 수 있다.
시각적 패널(또는 임의의 그래픽 엘리먼트)을 닫는 것과 같은 강등 액션(demoting action)은, 특정한 토픽을 강등시킬(demote) 수 있지만, 그러나 반드시 더 광범위한 토픽을 강등시킬 수 있는 것은 아니다. 예를 들면, 특정한 책에 관한 정보를 거절하는(dismissing) 것은, 그것의 연관성 스코어를 감소시킬 것이지만, 그러나, 일반적으로, 책의 저자에 대한 또는 책 토픽에 대한 연관성 스코어를 감소시키지 않을 수도 있다. 유저에 의해 선택되는 UI 액션에 따라, 강등 액션의 영향은, 약간의 토픽 강등으로부터, 더 강한 토픽 강등으로, 토픽 전체의 차단으로 변할 수도 있다. 반대로, 승격 액션(promoting action)은 엘리먼트 또는 광범위한 토픽에 관련되는 토픽의 세트를 승격시킬 수 있다. 양태는, 엘리먼트 상에서 텍스트를 선택하여 그 텍스트가 설명하는 토픽 또는 양태를 승격키는 것을 지원한다. 강등(제거를 포함함) 및 승격을 위해, 클릭, 스와이프, 또는 다른 제스쳐를 비롯한, 다양한 UI 액션이 사용될 수 있다.
토픽 중에서의 선택
도 9는 다수의 토픽에 대한 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(900)을 예시한다. 하나의 양태에서, 하나 이상의 토픽이, 다수의 가능한 토픽의 관심사로부터 선택된다. 예를 들면, 각각의 토픽에 대해 연관성 스코어가 계산될 수 있고 연관성 스코어에 기초하여 선택이 이루어질 수도 있다.
데이터 흐름(900)에서, 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. NLE가 사람(711)으로부터 캡쳐된다(713). 다수의 토픽의 관심사가 식별된다(934). 각각의 토픽에 대해 연관성 스코어가 계산되고 하나 이상의 토픽이 선택된다(937). 하나 이상의 토픽에 관한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(935). 토픽에 대한 연관성 스코어가 임계치를 초과하면, 토픽에 관련되는 리턴된 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 연관성 스코어가 임계치 미만이면, 리턴된 정보는 디스플레이되지 않는다.
검색은 또한 토픽 스코어에 기초할 수 있다. 연관성 스코어가 임계치를 초과하는 토픽이 검색될 수 있다. 하나의 양태에서, 더 높은 연관성 스코어를 갖는 다수의 토픽이 검색된다. 다수의 토픽이 검색될 수 있고 정보 디스플레이 공간이 각각의 토픽의 연관성 스코어에 따라 예약될 수 있다.
반복 방지
도 10은, 다수의 토픽에 대한 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(1000)을 예시한다. 일련의 자연어 표현 동안 대화는 하나의 토픽에 남아 있을 수도 있다. 따라서, 한 사람이 동일한 토픽에 대해 다수의 자연어 표현을 발언하는 것이 가능하다.
하나의 시스템 설계 위험은, 제1 사람(711)이 동일한 토픽에 대해 다수의 자연어 표현을 행할 때, 시스템은 동일한 정보를 다수 회 디스플레이할 것이다는 것이다. 이것을 방지하기 위한 다양한 접근법이 있을 수 있다.
데이터 흐름(1000)은 데이터 흐름(700)과 유사하다. 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. 그러나, 토픽을 식별한 이후, 그 토픽이 최근 토픽의 목록에 있는지를 결정하기 위한 체크가 수행된다. 예를 들면, 데이터 흐름(1000)에서, NLE가 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714).
식별된 토픽이 토픽의 목록(1048)에 포함되는지가 결정된다(1047). 식별된 토픽이 토픽의 목록(1048)에 포함되는 경우, 토픽은 드랍될 수도 있다. 한편, 식별된 토픽이 토픽의 목록(1048)에 포함되지 않는 경우, 식별된 토픽은 토픽의 목록(1048)에 추가된다. 또한, 식별된 토픽이 토픽의 목록(1048)에 포함되지 않는 경우, 토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
토픽은, 토픽의 중요성 및/또는 영속성에 의존할 수도 있는 명시된 양의 시간 동안 토픽의 목록(1048)에 유지될 수 있다. 중요성은, 조리법 토픽(recipes topic)보다는 응급 처치 토픽(a first aid topic)에 더 높은 중요성을 부여하는 것과 같은 그들의 설계에 의해 토픽에 할당될 수 있다. 중요성은 유저 프로파일, 위치 또는 최근 대화 이력으로부터 유래하는 가중치에 의해 또한 조정될 수 있다. 예를 들면, 건물 내부에서는, 쇼핑 가격이 가게까지의 길안내(direction)보다 더 높은 중요성을 가질 수도 있을 것이지만, 그러나, 자동차 안에서는, 가게까지의 길안내가 가격보다 더 높은 중요성을 가질 수도 있을 것이다. 영속성은 특정한 유저 프로파일과 관련하여 결정될 수 있다. 예를 들면, 별표가 마킹된 주소록의 연락처는, 대화의 영속하는 상대로 간주될 수도 있다. 시스템은 이러한 별표가 있는 연락처에 관한 관련 정보를 디바이스에 로컬한 버퍼에 유지할 수 있다.
도 11은 정보의 반복 없이 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(1100)을 예시한다. 데이터 흐름(1100)은 데이터 흐름(700)과 유사하다. 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. 그러나, 정보를 검색하고 식별한 이후, 정보가 정보의 데이터베이스에 포함되어 있는지를 결정하기 위한 체크가 수행된다. 데이터 흐름(1100)은, 상이한 토픽의 검색으로부터 반복 정보가 식별되는 경우에 반복 정보의 디스플레이를 방지하기 위해 사용될 수 있다. 예를 들면, 데이터 흐름(1100)에서, NLE는 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714). 토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715).
검색에 응답하여 리턴되는 정보가 과거 정보의 데이터베이스(1158)에 포함되는지가 결정된다(1157). 리턴된 정보가 과거 정보의 데이터베이스(1158)에 포함되면, 정보는 디스플레이 대해 무시될 수도 있다. 한편, 리턴된 정보가 과거 정보의 데이터베이스(1158)에 포함되어 있지 않는 경우, 그 정보는 과거 정보(1158)의 데이터베이스에 추가된다. 또한, 리턴된 정보가 과거 정보의 데이터베이스(1158)에 포함되어 있지 않는 경우, 리턴된 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
지원을 받는 유저(712)가 얼마나 오래 동안 토픽을 마음에 두고 있을 가능성이 있을 수도 있는지를 근사하는 시간의 양 동안, 정보가 존재하는 동안 정보가 과거 정보의 데이터베이스(1158)에 저장될 수 있다. 과거 정보의 데이터베이스(1158)에 저장되어 있는 정보는, 지원을 받는 유저(712)가, 리프레시, 등등 없이, 정보를 기억할 가능성이 있을 수도 있는 시간의 기간 이후 반복된 디스플레이를 위해 고려될 수 있다.
데이터 흐름의 양태(1000 및 1100)는, 각각, 정보의 반복적인 검색 및 반복적인 디스플레이를 방지하기 위해 조합하여 사용될 수 있다. 정보를 검색할지 또는 정보를 디스플레이할지 또는 이들을 하지 않을지의 여부의 결정은, 각각, 토픽 또는 리턴된 정보에 대한 계산된 연관성에 기초할 수 있다. 하나의 양태에서, 드물게 표현된 토픽 또는 개념에 대해 더 높은 연관성 값이 계산된다. 임의의 또는 모든 대화 참가자의 개개의 프로파일에 대한 빈도에 의해, 전역적 빈도 계산이 조정될 수 있다. 따라서, 다른 한편으로는, 다른 양태에서, 매우 빈번하게 표현되는 토픽 또는 개념에 대해 높은 연관성 값이 계산된다. 유행하는 토픽 또는 개념에 대해, 또는 사람의 위치 또는 사람의 캘린더 상의 이벤트에 관련되는 토픽 또는 개념에 대해 더 높은 연관성 값이 또한 계산될 수도 있다.
연관성 값은, 예를 들면, 정수, 부동 소수점의 수, 또는 문자열로서 표현될 수 있다. 정보를 검색할지 및/또는 디스플레이할지의 여부를 결정하기 위해, 연관성 값이 임계치에 비교될 수 있다. 임계치는, 디스플레이되고 있는 다른 정보의 빈도 또는 최근성에 기초하여 동적으로 변할 수 있다. 토픽 또는 개념에 대한 연관성 값은, 최근에 디스플레이된 또는 동일한 자연어 표현으로부터 캡쳐된 다른 토픽 또는 개념의 연관성 값에 비교될 수 있다.
개념 식별
도 12는 검색을 위한 개념을 사용하여 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(1200)을 예시한다. 하나의 양태에서, 검색 입력은 토픽보다 더 세분화되도록 선택되는데, 예컨대, 토픽 내에서 개념(더 미세한 세분화 분류)을 선택한다. 개념은 자연어 표현에서 언급되는 엔티티 값(예를 들면, 사람들, 장소, 또는 사물)일 수 있다. 개념은 또한, Teachers, Cities, 또는 Articles_of_Clothing와 같은 엔티티의 클래스일 수 있는데, 그들의 인스턴스는 임의의 교사, 임의의 도시, 또는 임의의 의류 물품이다. 자연어 질의 응답 시스템에서, 슬롯 타입은 엔티티 클래스일 수 있고, 대응하는 슬롯에 대한 엔티티 값은, 만약 존재한다면, 클래스의 인스턴스이다. 엔티티 클래스는 인수(argument)일 수 있고 엔티티 값은, 애플리케이션 프로그래밍 인터페이스(API)가 데이터 소스에 액세스하기 위한 그들 인수의 값일 수 있다. 몇몇 실시형태에서, 정보를 검색하는 것은 웹 API 요청을 통한다.
데이터 흐름(1200)은 데이터 흐름(700)과 유사하다. 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. 그러나, 토픽을 식별한 이후, 개념이 식별되고 개념의 정보에 대한 검색이 수행된다. 예를 들면, 데이터 흐름(1200)에서, NLE가 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714).
개념이 식별된다(1267). 개념에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(1265). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
몇몇 양태에서, 토픽의 식별 없이 개념이 식별된다.
유저 관심사 모델
자연어 표현(103)으로부터 추출되는 임의의 내용어, 토픽 또는 의도에 기초하여, 그리고 지금까지의 대화에 기초하여, 제2 사람의 관심사의 모델을 업데이트하는 것이, 자연어 표현의 분석에 후속될 수도 있다. 몇몇 양태에 따르면, 사람의 관심사의 모델은 유저 프로파일의 일부로서 저장되는 장기간의 데이터 구조이다. 그것은, 날씨, 스포츠, 및 주가와 같은 토픽의 목록을 포함한다. 몇몇 양태에 따르면, 사람의 관심사의 모델은, Facebook(페이스북), Mark Zuckerberg(마크 저커버그), 및 주식 상장 회사 약어(stock ticker symbol) FB와 같은 특정한 엔티티, 및 그 사람의 자녀의 이름으로 구성된다. 몇몇 양태에 따르면, 사람의 관심사의 모델은, 의도, 토픽 또는 내용어 예컨대 엔티티에 관련되는, 사람이 작성한 또는 수신된 표현의 빈도(frequency) 또는 최근성(recency)에 기초한 관심사의 레벨의 표시를 포함한다.
앞서 언급된 예에서, NLE "샌프란시스코로부터 시애틀까지의 비행편을 찾아줘"는, (INTENT, "FLIGHT_RESERVATION), (FLIGHT_FROM, "SFO"), (FLIGHT_TO, "SEA"), (CITY_FROM, "SAN FRANCISCO"), (CITY_TO, "SEATTLE"), 날짜 정보, 및 (TOPIC, "TRAVEL")와 같은 슬롯-값 쌍의 번들로서 표현된다. 각각의 대화 순번은, 슬롯-값 쌍의 번들을 생성하고, 대화는 그러한 번들의 시퀀스로서 요약될 수도 있다.
이 요약에 기초하여 사람의 관심사의 모델이 업데이트될 수 있다. 예를 들면, 공항 엔티티("SFO" 및 "SEA"), 도시 엔티티("SAN FRANCISCO" 및 "SEATTLE"), 토픽("TRAVEL") 및 표현 의도("FLIGHT_RESERVATION") 모두는 모델의 일부가 된다. 모델에서, 지금까지의 대화에서의 각각의 슬롯-값 쌍이 개개의 연관성 가중치를 부여받고, 연속하는 번들에서의 슬롯-값 쌍의 연관성 가중치가 누적 또는 다르게는 결합되어 제2 사람의 관심사의 프로파일을, 엔티티 및 연관성 가중치의 목록으로서 생성할 수 있다. 가중치를 누적하는 것은, 예컨대 "SFO"로부터의 두 개의 비행편을 질의하는 것과 같이, 정보가 호환되는 경우에 적합하다. 가중치를 결합하는 것은, 표현 "대신 밴쿠버로 가면 어떨까?" 이후에, "SEA"의 가중치를 감소시키는 것과 같이, 다른 형태를 취할 수 있다.
방금 설명한 상대적으로 간단한 기법은, 지금까지의 대화에 기초하여 한 사람의 관심사의 모델을 업데이트하기 위해 사용될 수 있다. 다른 실시형태에서, 사람의 관심사의 모델은, 각각이 연관성 가중치를 갖는, 토픽, 의도 및 엔티티의 단순한 세트보다 더 복잡한 형태를 취할 수도 있다. 모델의 파워 및 복잡성은 NLU 시스템의 이해의 깊이를 반영한다; 예를 들면, 더 똑똑한 시스템은 부정, 가설, 내비게이션, 시간 순서로 또는 특정한 달력 날짜에 이벤트를 계획하는 것, 및 등등을 이해할 수도 있을 것이다.
추가 정보에 대한 요청
도 13은 자연어 표현에 응답하여 정보를 디스플레이하고 추가 정보에 대한 요청을 수락하기 위한 데이터 흐름(1300)을 예시한다. 본 발명의 양태는, 사람이, 어떤 정보가 가시적일지를 제어하는 것 및 관련되는 것으로 간주되는 정보에 액세스하는 것을 허용한다. 사람은 추가 정보를 또한 요청할 수 있다.
데이터 흐름(1300)에서, 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. NLE가 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714).
하나의 양태에서, 단일의 NLE로부터 복수의 토픽이 식별된다. 하나 이상의 토픽을 인식하기 위해 도메인 문법이 사용될 수 있다. 토픽은 키워드와 또한 관련될 수 있다. 계산된 연관성 스코어는, 표현이 복수의 토픽의 각각을 다루는 확률을 나타낼 수 있다.
토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
또한, 정보가 디스플레이된 이후, 지원을 받는 유저(712)는 추가 정보를 요청할 수 있다(1377). 추가 정보에 대한 액세스를 제어하기 위해 다양한 비 구두의 기법이 사용될 수 있다(따라서 대화가 중단되지 않는다). 추가 정보는, 디스플레이를 탭하거나 또는 스와이핑하는 것, 버튼을 클릭하는 것, 안경에 대해 윙크하는 것, 또는 다른 제스쳐에 의해, 항목 또는 링크 또는 텍스트의 일부분을 선택하는 것에 의해 요청될 수 있다. 몇몇 양태에서, 추가 정보에 대한 요청은, 디스플레이 뷰 오버레이 내에서, 대안적인 디스플레이 디바이스 내에서, 또는 디스플레이 내에서의 상이한 뷰로의 전환으로서 추가 정보를 가져온다.
지원을 받는 유저(712)의 전자 디바이스는, 정보를 거절, 공유, 필터링, 및 저장하기 위한 상세한 제어를 포함할 수 있다. 추가 정보에 대한 요청은 디스플레이된 정보에 관련되는 더 많은 세부 사항에 대한 요청을 포함할 수 있다. 추가 정보에 대한 요청에 대한 응답은, 예컨대 웹 검색으로부터의 더욱 광범위한 정보 또는 정보의 다른 작은 단편일 수 있다.
지원을 받는 유저(712)의 전자 디바이스는 지원을 받는 유저(712)가 정보의 어떤 단편을 거절하는지를 추적할 수 있다. 모델(예를 들면, 목록, 신경망, 등등)은 거절된 정보로부터 구성될 수 있다. 모델을 사용하여, 지원을 받는 유저(712)의 전자 디바이스는 미래에 동일한 정보를 나타낼지 또는 관련된 정보를 나타낼지의 여부를 결정할 수 있다.
관심사의 수용 영역
본 발명의 몇몇 양태는 디스플레이 공간 내에서 관심사의 영역을 검출하고, 디스플레이된 정보를, 관심사의 영역과 중첩하지 않는 위치에 배치한다. 관심사의 영역을 결정하기 위해, 다양한 알고리즘 중 임의의 것이 사용될 수 있다. 예를 들면, 화상 회의 시스템은, 예를 들면, 얼굴 위치 검출을 수행할 수 있고 정보를 얼굴이 없는 위치에 배치할 수 있다. 관심사의 영역은 또한, 높은 시각적 또는 시간적 빈도 정보의 존재에 기초하여 검출될 수 있다. 관심을 갖는 오브젝트가 인식될 수 있고, 정보는 이러한 오브젝트에 가깝게 배치될 수 있거나 또는 정보는 관심을 갖는 오브젝트를 터치하는 라인 또는 가리키는 화살표와 함께 배치될 수 있다. 이러한 양태는, 예를 들면, 진행 중에 있는 자연어 대화에 응답하는 증강 현실 안경과 함께 사용될 수 있다.
언어의 번역
도 14는, 자연어 표현에 응답하여 대안적 인간 언어로 정보를 디스플레이하기 위한 데이터 흐름(1400)을 예시한다. 대화는 로컬하게 또는 상이한 언어를 말하는 사람들 사이에서 전 세계의 상이한 부분에서 발생할 수 있다. 본 발명의 양태는, 하나의 언어로 NLU를 수행할 수 있고 하나 이상의 다른 언어로 정보를 검색할 수 있다.
데이터 흐름(1400)에서, 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. NLE가 사람(711)으로부터 제1 언어로 캡쳐된다(1484). NLE는 제2 언어로 번역된다(1485). 토픽은 NLE로부터 제2 언어로 식별된다(1486).
토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 제2 언어로 수행된다(1487). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
다른 양태에서, 번역은 토픽 식별 이후에 수행된다. 추가 양태에서, 번역은 검색으로부터의 정보 리턴시 수행된다. 제2 언어는 지원을 받는 유저(712)에 의해 이해될 수 있다.
유저 프로파일 및 환경 의존성
도 15는, 자연어 표현에 응답하여, 특정한 유저에 대한 연관성에 기초하여 정보를 디스플레이하기 위한 데이터 흐름(1500)을 예시한다. 디스플레이된 정보는 사람의 관심사에 기초하여 및/또는 관심사에 따라 재단될 수 있다.
데이터 흐름(1500)은 데이터 흐름(800)과 유사하다. 사람(711)은 지원을 받는 유저(712)와의 대화에 참여한다. 그러나, 연관성 스코어는 지원을 받는 유저(712)에 대한 프로파일 정보를 사용하여 계산된다. 예를 들면, 데이터 흐름(1500)에서, NLE가 사람(711)으로부터 캡쳐된다(713). 예를 들면, NLE에 대해 NLU를 수행하는 것에 의해 토픽이 식별된다(714). 토픽에 대한 그리고 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(715).
연관성 스코어는 검색에 응답하여 리턴되는 정보에 대해 계산되고 연관된 스코어는 임계치에 비교된다(1597). 연관성 스코어는 유저 프로파일(1598)(지원을 받는 유저(712)에 대한 유저 프로파일)로부터의 정보를 사용하여 계산된다. 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
연관성은 지원을 받는 유저(712)의 관심사에 기초하여 및/또는 관심사를 예상하도록 계산될 수 있다. 예를 들면, 지원을 받는 유저(712)가 어린 아이가 있다는 것을 유저 프로파일(1598)이 나타내면, 서커스 방문에 대한 검색 결과의 연관성 스코어는, 책상 구매에 대한 검색 결과의 연관성 스코어에 비해 상승될 수 있다. 마찬가지로, 지원을 받는 유저(712)가 골프 가게에서 자주 쇼핑한다는 것을 유저 프로파일(1598)이 나타내면, 날씨에 대한 검색 결과의 연관성 스코어는, 요리 가게에 대한 검색 결과의 연관성 스코어에 비해 상승될 수 있다.
토픽에 대한 연관성 스코어는, 관련 정보를 검색하기 이전에, 유저 프로파일의 내용에 기초하여 계산될 수 있다. 유저 프로파일의 내용은 또한, 한 사람에게 검색 결과가 관심을 끌 확률 또는 토픽이 관심을 끌 확률을 나타내는 확률 스코어에 가중치를 부여하기 위해 사용될 수 있다.
몇몇 양태에서, 연관성 계산은 또한, 예를 들면, 사람의 위치, 시간, 요일, 및 다른 상황적 환경과 같이, 현재 상황으로 광범위하게 칭해지는 다른 외부 정보에 기초한다. 예를 들면, 사람이 식료품 가게에 있는 경우, 쿠폰에 관련되는 검색 결과의 연관성이 상승될 수 있다.
다른 양태에서, 사람은 소정의 토픽 또는 개념에 대한 관심 또는 선호도를 명시적으로 나타낸다. 사람의 관심사는 자연어 표현으로부터 해석될 수 있다. 예를 들면, 사람은 시스템에 의해 제시되는 날씨 및 교통 상황에 관심을 나타낼 수 있다. 날씨 및 교통 상황에 대한 관심은 유저 프로파일에 또한 저장될 수 있다. 따라서, 사람의 입력은, 학습 및 개인화를 가능하게 하는 피드백을 제공하여, 장래에 더 많이 관련이 있는 정보를 사람에게 제공할 수 있다.
다중 당사자(multi-party) 및 다수의 당사자(many-party) 대화
도 16은 다수의 사람들로부터의 자연어 표현에 응답하여 정보를 디스플레이하기 위한 데이터 흐름(1600)을 예시한다. 본 발명의 양태는 2인 대화에서의 참가자 둘 모두에게 관련 정보를 제공할 수 있다. 2인 대화에서, 각각의 사람은 관련 정보를 하나의 방향에 제공받는다. 대화에 참여하는 사람들은 상이한 정보 요구를 갖는다.
말하는 자는 누구든지 그들의 자연어 표현의 토픽에 관해 알고 있고, 듣는 자는 누구든지 그만큼 알지 못할지도 모른다. 청취자는 화자가 말하고 있는 것에 관련되는 배경 정보를 제공받을 수 있다. 배경 정보를 제공하는 것은, 청취자가 이해하는 것 및 최적으로 정보에 입각한 응답을 제공하는 것을 돕는다. 화자는, 날씨 또는 위치 관련 정보와 같은 토픽에 관련되는 동적 정보의 현재 상태를 제공받을 수 있다. 동적 정보의 현재 상태를 제공하는 것은 화자가 더욱 최신의 그리고 더욱 정확한 정보를 제공하는 것을 돕는다.
본 발명의 양태는 또한, 세 명 이상의 사람 사이의 화상 회의와 같은, 1 대 N, N 대 1, 및 N 대 N 대화를 지원한다. 각각의 사람은 고유의 뷰를 가질 수 있다. 몇몇 정보는 모든 사람에게 전역적으로 디스플레이될 수 있고 다른 정보는 관심사에 기초하여 몇몇 참가자에게 디스플레이된다.
사람(711, 712 및 1607)이 대화에 참여한다. 제1 NLE가 사람(711)으로부터 캡쳐된다(713). 제1 토픽은, 예를 들면, 제1 NLE에 대해 NLU를 수행하는 것에 의해 식별된다(714). 제2 NLE가 사람(1607)으로부터 캡쳐된다(1608). 제2 토픽이, 예를 들면, 제2 NLE에 대해 NLU를 수행하는 것에 의해 식별된다(1609).
제1 토픽 또는 제2 토픽에 관련되는 정보에 대한 검색이 수행되고, 제1 NLE 또는 제2 NLE에 관련될 가능성이 있는 정보에 대한 검색이 수행된다(1605). 검색에 응답하여 리턴되는 정보는 지원을 받는 유저(712)에게 디스플레이된다(716). 정보는, 예를 들면, 지원을 받는 유저(712)가 정보에 관심을 가질 것으로 예상되는 적절한 시간에 디스플레이될 수 있다.
따라서, 본 발명의 양태는, 화상 회의 시스템 및 대규모 분산 게임(massively distributed games)과 같은, 많은 사람들과의 대화를 지원할 수 있다. 리소스를 관리하기 위해, 정보 검색의 빈도는, 예컨대, 단지 다섯 번째 자연어 표현마다 또는 10 초마다로 제한될 수 있다. 이러한 검색은, 이전 검색 이후의 시간 단위로 표현되는 토픽 및/또는 개념에 기초할 수 있다. 이것은 디스플레이된 정보의 빈번한 변경을 방지하는데, 디스플레이된 정보의 빈번한 변경은 몇몇 지원을 받는 유저에게 혼란 또는 혼동을 줄 수 있다.
검색되는 정보
여러 가지 상이한 타입의 정보가 검색 및 디스플레이될 수 있다. 하나의 양태에서, 이름, 위치, 나이, 및 관계와 같은 사람들에 관한 정보가 검색 및 디스플레이된다. 다른 양태에서, 예컨대, Wikipedia(위키피디아)로부터 이용 가능한 일반적인 지식 정보가 검색 및 디스플레이된다.
일반적인 동작
도 17은 한 실시형태에 따른 다수의 디바이스를 지원하는 컴퓨터 아키텍쳐(1700)를 예시한다. 컴퓨터 아키텍쳐(1700)는 사람(1711)과 사람(1712) 사이의 양방향 대화의 양태를 묘사한다. 사람(1711)은 멀티미디어 인터페이스 디바이스(1713)(예를 들면, 이동 전화, 컴퓨터, VR/IR 헤드셋, 등등)를 통해 음성에 의해 통신한다. 멀티미디어 인터페이스 디바이스(1713)는, 클라이언트로서, 네트워킹 프로토콜을 사용하여, 클라우드 네트워크(1715)를 통해 서버(1716)와 통신한다. 서버(1716)는, 클라우드 네트워크(1715)를 통한 멀티미디어 인터페이스 디바이스(1714)(예를 들면, 이동 전화, 컴퓨터, VR/IR 헤드셋, 등등)에 대한 가상 연결을 제공한다. 멀티미디어 인터페이스 디바이스(1714)는 가상 연결을 통해 음성 통신을 수신하였다. 사람(1712)은 음성에 의해 멀티미디어 인터페이스 디바이스(1713)와 유사한 방식으로 다시 통신할 수 있다.
도 18a는 미디어 인터페이스에 대한 디바이스 모듈을 갖는 컴퓨터 아키텍쳐(1800)를 예시한다. 인터페이스 디바이스(1813 및 1814) 각각은 하나 이상의 마이크에 의해 캡쳐되는 음성의 자동 음성 인식을 지원한다. 인터페이스 디바이스(1813 및 1814) 각각은 하나 이상의 스피커를 통해, 합성된 음성을 비롯한, 오디오 출력을 지원한다. 인터페이스 디바이스(1813 및 1814) 각각은, 비디오를 캡쳐하고 디스플레이하기 위한 카메라 및 비디오 디스플레이 스크린(예를 들면, 디스플레이(108, 308 또는 508)와 유사함)을 구비한다. 인터페이스 디바이스(1813 및 1814)는, 실시간 비디오 및 일방향 텔레캐스팅을 비롯한, 상이한 형태의 오디오 및 비디오 인코딩, 동기화, 압축, 및 에러 정정 코딩을 사용할 수 있다.
NLU(1823)는 인터셉트된 음성으로부터 발화된 표현을 수신할 수 있다. 자연어 이해의 결과는, 유저 프로파일(1824) 및 대화 이력(1825)을 구축하고 유지하기 위해 사용될 수 있다. 유저 프로파일(1824)은 또한 이전에 알려진 정보에 의존할 수 있다. 대화 이력(1825), 유저 프로파일(1824), 및 다른 환경 정보는, 이해에 영향을 끼치기 위해 그리고 관련 정보를 선택할 확률을 향상시키기 위해 사용될 수 있다. 하나의 양태에서, NLU(1823)는 토픽을 출력한다. 정보 모듈(1826)은 토픽을 사용하여 관련 정보를 검색한다. 정보 모듈(1826)은, 예를 들면, 검색 모듈(112, 312 또는 512)과 같은 검색 모듈에 통합될 수 있고 및/또는 그 검색 모듈과 상호 작용할 수 있다. 옵션 사항인(optional) 광고 모듈(1827)이 토픽을 사용하여 관련 광고를 검색할 수 있다. 정보 모듈(1826) 및 광고 모듈(1827) 둘 모두는 유저 프로파일(1824) 및 대화 이력(1825)을 사용하여 그들의 검색 결과 연관성을 향상시킬 수 있다.
디스플레이 제어부(1828)는 인터페이스 디바이스(1813)에 정보를 제공한다. 인터페이스 디바이스(1813)는, 디스플레이 제어부(1828)로부터의 정보를 비디오 스크린 상에 제시할 수 있다. 마찬가지로, 디스플레이 제어부(1829)는 인터페이스 디바이스(1814)에 정보를 제공한다. 인터페이스 디바이스(1814)는 디스플레이 제어부(1829)로부터의 정보를 비디오 스크린 상에 제시할 수 있다. 디스플레이 제어부(1828) 및/또는 디스플레이 제어부(1829)는, 예를 들면, 전달 모듈(109, 309, 또는 509)과 같은 전달 모듈에 통합될 수 있고 및/또는 전달 모듈과 상호 작용할 수 있다.
이와 같이, 사람(1811)과 사람(1812) 각각은 그들의 관심사에 더욱 관련이 있는 정보를 보게 된다. 그들의 양방향의 구두의 대화를 지원하기 위해, 정보가 시각적으로 제시된다.
화상 회의 시스템
각각의 경우에, 대화에 관련되는 정보가 자동으로 제공된다. Bob(밥)에게 디스플레이되는 정보는, Alice(앨리스)가 말하는 것 및 대화가 진행함에 따라 가까운 미래에 밥에게 관련될 높은 가능성을 갖는 것 둘 모두에 의존한다.
도 19는 화상 회의 시스템(1900)을 예시한다. 앨리스는 화상 회의 단말(1930)을 사용하고 있고 밥은 화상 회의 단말(1931)을 사용하고 있다. 유저는 네트워크 연결을 통해 서로 통신한다. 화상 회의 단말(1930)은 카메라 및 마이크 모듈(1932)을 포함한다. 마찬가지로, 화상 회의 단말(1931)은 카메라 및 마이크 모듈(1933)을 포함한다.
한 실시형태에 따른 앨리스와 밥 사이의 다음 예시적인 회화 및 응답 시스템 활동을 고려한다.
앨리스: "내일 Boston(보스턴)에 갈래?"
시스템은 보스턴(1937)에 대한 위키피디아 소개를 밥에게 디스플레이한다.
시스템은 보스턴에 있는 Dunkin Donuts(던킨 도넛) 레스토랑에 대한 광고(1934)를 앨리스에게 디스플레이한다.
밥: "갈 수 없어. 세탁을 해야 해."
시스템은 세탁 세제에 대한 광고(1938)를 밥에게 디스플레이한다.
앨리스: "Charlie(찰리)는 갈거야."
시스템은 앨리스에게 그녀의 세 명의 찰리 연락처를 디스플레이한다.
앨리스가 하나를 선택한다.
시스템은 밥에게 찰리의 사진(1939)을 디스플레이한다.
밥: "뭐 할 건데?"
앨리스: "Frisbee(프리스비) 또는 수족관 중 하나".
시스템은 앨리스에게 일기 예보(1935) 및 New England Aquarium(뉴 잉글랜드 아쿠아리움) 쿠폰(1936)을 디스플레이한다.
시스템은 밥에게 그의 프로파일에 기초하여 Boston Common(보스턴 코먼) 또는 뉴 잉글랜드 아쿠아리움의 사진을 디스플레이한다.
예시적인 회화가 진행됨에 따라, 정보는 비디오 디스플레이 상에서 "카드"로 제시된다. "카드"는 화상 회의에서 얼굴들이 중첩하는 것을 방지하도록 배치된다. 한 사람을 던킨 도넛에 대한 광고(1934), 보스턴에 대한 일기 예보(1935), 및 뉴 잉글랜드 아쿠아리움에 대한 쿠폰(1936)을 제시받는다. 다른 유저는, 보스턴에 관한 위키피디아 소개 정보(1937), 세탁 세제에 대한 광고(1938), 및 제3자의 사진(1939)을 제시받는다.
각각의 유저는, 스와이핑 제스쳐를 사용하여 디스플레이로부터 카드를 제거할 수 있다. 그렇지 않으면, 각각의 카드는 명시된 시간, 예를 들면, 10 초 이후에 페이딩하기 시작한다. 페이딩하는 경우, 유저가 카드를 탭하면, 그것은 선명하게 되고 그대로 유지되지만, 그렇지 않으면, 5 초 이후에 카드는 사라진다. 유저가 선명한 카드를 탭하는 경우, 시스템은, 추가 정보를 요청하는 것 또는 추후 참조를 위해 카드를 카드 덱에 저장하는 메뉴를 제공하는 것과 같은 관련된 액션을 수행한다. 카드 덱은, 디스플레이의 상단으로부터 하방으로 스와이프하는 동안 나타나는 풀다운 메뉴로부터 액세스 가능하다.
단일의 지원을 받는 유저
도 18a에서 도시되는 양태는, 시스템으로부터 지원을 둘 모두 수신하는 두 명의 유저 사이에서 대칭적으로 동작한다. 대조적으로, 도 18b는, 한 명의 유저인 사람(1861)만을 지원하는 컴퓨터 아키텍쳐(1850)를 예시한다. 이 양태에서, 시스템은 매우 유사하지만, 그러나, 상호 증강(augmentation)과는 대조적으로, 사람(1861)에게 개인 증강 도구를 공급한다. 사람(1862)은 지원을 받지 못한다. 하나의 시나리오에서, 사람(1862)은 전화 라인의 다른 끝에 있다. 다른 시나리오에서, 사람(1862)은 사람(1861)의 책상의 다른 쪽에 있을 수도 있고, 전화는 수반되지 않지만, 그러나 사람(1861)만이 관련 정보를 수신한다. 제3 시나리오에서, 사람(1862)은 실제 사람이 아니지만, 그러나 사람(1861)은 몇몇 텍스트를 받아쓰기하고 있다. 모든 시나리오에서, 사람(1861)은 대화와 간섭하지 않으면서 음성과 관련되는 정보를 수신한다. 받아쓰기 시나리오에서, 단어 대화는 독백이다. 도 18b에서 도시되는 양태는, 증강의 단방향성(one-way nature), 및 사소한 차이를 제외하면, 도 18a의 양태와 유사하다. 도 18b에서, 정보(1876)의 연관성을 계산하는 모듈(1877)은 노출되고, 한편, 도 18a에서는 그것의 존재가 단지 암시적이다. 또한, 도 18b에서, 단일의 디바이스(1863)가 전체 시스템 기능성(functionality)을 제공한다. 몇몇 양태에서, 그것은 로컬의 독립형 디바이스(local self-contained device)이고, 한편, 도 18a에서, 디바이스(1813)는 I/O 기능만을 수행하고, 아마도, NLU 및 다른 기능을 서버에게 남겨 둔다. 이들은 아키텍쳐의 몇몇 변형에 불과하다. 인터페이스 디바이스(1863)는 하나 이상의 마이크에 의해 캡쳐되는 음성의 자동 음성 인식을 지원하고; 그것은 하나 이상의 스피커를 통해 오디오를 출력할 수도 있다. 인터페이스 디바이스(1863)는 시스템에 의해 생성되는 지원 정보를 디스플레이하기 위해 사용되는 디스플레이 스크린을 구비한다.
NLU(1873)는 수신된 음성으로부터 음성 표현을 수신할 수 있다. 자연어 이해의 결과는, 유저 프로파일(1874) 및 대화 이력(1875)을 구축 및 유지하기 위해 사용될 수 있다. 유저 프로파일(1874)은 또한 이전에 알려진 정보에 의존할 수 있다. 대화 이력(1875), 유저 프로파일(1874), 및 다른 환경 정보는, 이해에 영향을 끼치기 위해 그리고 가장 관련이 있는 정보를 선택하는 것을 돕기 위해 사용될 수 있다. 하나의 양태에서, NLU(1873)는 토픽을 출력한다. 정보 모듈(1876)은 토픽을 사용하여 관련 정보를 검색한다. 정보 모듈(1876)은, 예를 들면, 검색 모듈(112, 312, 또는 512)과 같은 검색 모듈에 통합될 수 있고 및/또는 검색 모듈과 상호 작용할 수 있다. 옵션 사항인 광고 모듈(도시되지 않음)이 토픽을 사용하여 관련 광고를 검색할 수 있다. 정보 모듈(1876) 및 광고 모듈(1877) 둘 모두는 검색의 연관성을 향상시키기 위해 유저 프로파일(1874) 및 대화 이력(1875)을 사용할 수 있다.
디스플레이 제어부(1878)는 디바이스(1863)의 디스플레이 스크린 상에서 정보를 제시한다. 디스플레이 제어부(1878)는, 예를 들면, 전달 모듈(109, 309 또는 509)과 같은 전달 모듈에 통합될 수 있고 및/또는 전달 모듈과 상호 작용할 수 있다. 방법(200) 및 다른 것에서와 같이, 정보의 수신자에 대한 정보의 연관성이 계산되고, 연관성은 임계치에 비교되어, 정보를 디스플레이할지의 여부를 결정하고; 종종 스크린 상에 제한된 공간이 있으면, 정보는 연관성의 순서대로 디스플레이될 것이다.
이 시스템에서, 지원을 받는 유저(1861)는 그들의 관심사에 더 많이 관련되는 정보를 보게 된다. 그 정보는 양방향의 구두의 대화를 지원하기 위해 시각적으로 제시된다. 화상 회의 시스템에서, 동작의 비대칭 모드가 또한 지원될 수 있다. 예를 들면, 지원을 받지 않는 유저가 시스템에 무료로 액세스할 수도 있을 것이지만, 그러나, 유저 지원 시스템에 액세스하기 위해서는 요금이 필요로 될 것이다.
웨어러블 디바이스
도 20은 웨어러블 디바이스(2000)를 예시한다. 웨어러블 디바이스(2000)는, 걸쇠(2043)에 의해 유지되고 키퍼(2044) 안으로 밀어 넣어지는 스트랩(2042)에 의해 유지되는 본체(2041)를 포함한다. 시계 본체(2041)는, 정보를 나타내는 디스플레이(2047), 측면 상의 일반적인 제어 버튼(2045), 및 NLE를 캡쳐하기 위한 마이크 구멍(2046)을 포함한다.
시계의 착용자가 전화를 통해 친구와 이야기하는 동안, 시계는 친구가 Charlie Tan(찰리 탠)이다는 것을 검출하고 찰리의 사진 및 이름을 보여준다. 시계는, 찰리가 직장에 있다는 것을 나타내는 찰리의 위치 정보를 검색하고, 그 정보를 디스플레이한다. NLU를 사용하여 대화를 엿듣고 있는 시계는, 찰리와 착용자가 Pub Haus Bar(퍼브 하우스 바)에서 맛있는 차가운 맥주를 같이 한 잔 하자고 논의하고 있다는 것을 결정한다. 시계는 레스토랑 정보를 검색하고 퍼브 하우스 바에 들어가기까지 30분을 대기해야 한다는 정보를 찾는다. 시계는 퍼브 하우스 바로 가기 위한 길안내에 관한 추가 정보를 얻기 위해 시계의 착용자가 탭할 링크를 또한 제공한다.
도 21은 가상 현실 안경(2100)을 예시한다. 가상 현실 안경(2100)은, 가요성 플라스틱 하우징 내의 다른 컴포넌트 중에서 내부 배터리, 통신 모듈 및 프로세싱 모듈을 포함하는 우측 수화기(earpiece) 유닛(2151)을 포함한다. 안경은, 다른 컴포넌트 중에서, 가요성 플라스틱 하우징 내의 수화기 유닛(2151)의 중량과 대략 동일한 중량을 갖는 배터리를 포함하는 좌측 수화기 유닛(2152)을 더 포함한다. 중량 균일성은 착용자에게 균형 잡힌 느낌을 제공한다. 가장 큰 중량을 가진 배터리는, 착용자의 코에 걸리는 중량을 최소화하기 위해 수화기의 뒤쪽 근처에 있다.
가상 현실 안경(2100)은, 수화기 유닛(2151) 내에, 지원을 받는 착용자로부터 음성을 캡쳐하기 위한 근위(proximal) 마이크 구멍(2153)을 더 포함한다. 가상 현실 안경(2100)은, 수화기 유닛(2152) 내에, (예를 들면, 컴퓨터 아키텍쳐(500)와 관련하여 설명되는 바와 같이) 다른 사람들로부터의 음성을 캡쳐하기 위한 원위(distal) 마이크 구멍(2154)을 더 포함한다.
가상 현실 안경(2100)은, 우측 수화기 유닛 내에 장착되는 우측 디스플레이 스크린(2155) 및 안경이 착용자의 머리를 감쌀 수 있도록 우측 수화기 유닛(2151)과 좌측 수화기 유닛(2152)을 연결하도록 장착되는 좌측 디스플레이 스크린(2156)을 더 포함한다. 디스플레이 스크린(2155 및 2156)은 착용자의 두 눈 사이에 공감적인 시야(sympathetic visual field)를 제공하기 위해 대칭적이다.
디스플레이 스크린(2155 및 2156)은 OLED 글래스 디스플레이일 수 있다. 수화기 유닛(2151) 내의 프로세서는 디스플레이 스크린(2155 및 2156)을 독립적으로 제어할 수 있다. 프로세서는, 착용자의 시야 상에 중첩되어 그 또는 그녀에게 보이는 정보의 관찰을 용이하게 하기 위해 또는 그 정보의 양을 극대화하기 위해 스크린(2155 및 2156) 중 하나 또는 둘 모두 상에 디스플레이할 수 있다.
몇몇 양태는 광학 처방에 따라 보정 렌즈로서 또한 작용하는 디스플레이 스크린을 제공한다.
차량 헤드업 디스플레이
도 22는 (예를 들면, 차량 앞 유리(2261)에서의) 차량 헤드업 디스플레이(2200)를 예시한다. 차량 앞 유리(2261)는 백미러(2262) 및 스티어링 휠(2263) 뒤쪽의 운전자에게 보인다. 마이크(2264)는 음성을 캡쳐한다. 내부 컴퓨터 프로세서 시스템은 캡쳐된 음성에 대해 NLU를 수행하여 대화의 토픽을 결정하고 관련 정보를 검색한다. 대시보드 내장 프로젝터 유닛(2266)은, 차량 앞 유리(2261)의 시야 내의 디스플레이 영역(2265)에 관련 정보를 투사한다.
운전자가 전화 상에서 배우자와 대화하고 있고, 배우자는 운전자에게 운전하여 집에 오기 이전에 몇몇 식료품점에 들를 것을 요청할지도 모른다. 대화 동안 수신되는 NLE로부터 대화의 토픽 "식료품"이 식별될 수 있다. 식료품 가게 위치 정보에 대한 검색이 수행될 수 있다. 식료품 가게 "Mall-Mart(몰 마트)"가 식별될 수 있고 길안내(예를 들면, 2 킬로미터 지점에서 우회전)와 함께 디스플레이 영역(2265)에서 제시될 수 있다.
옵션 사항으로(optionally), 결과는 유료 스폰서십에 기초하여 필터링될 수 있다. 예를 들면, 몰 마트는 자신의 가게 위치가 디스플레이되게 하기 위해 백엔드 서버 제공 업체에게 지불했을 수도 있고, 반면 Mom-Shop(맙 샵) 및 Pop-Shop(팝 샵)은 지불하지 않았을 수도 있다.
컴퓨터 판독 가능 매체
도 23a는 예시적인 회전 디스크(2371)를 예시한다. 회전 디스크(2371)는 예시적인 비일시적 컴퓨터 판독 가능 매체(예를 들면, 회전 자기 디스크)이다. 클라우드 데이터 센터는 자기 디스크를 사용하여 서버용 코드 및 데이터를 저장할 수 있다. 회전 디스크(2371)는, 하나 이상의 컴퓨터에 의해 실행되는 경우, 컴퓨터로 하여금 본원에서 설명되는 방법 및 데이터 흐름을 수행하게 하는 명령어를 포함하는 코드를 저장할 수 있다. 회전 광학 디스크 및 다른 기계적으로 움직이는 저장 매체도 또한 고려된다.
도 23b는 예시적인 플래시 랜덤 액세스 메모리(RAM) 칩(2372)을 예시한다. 플래시 랜덤 액세스 메모리(RAM) 칩(2372)은 예시적인 비일시적 컴퓨터 판독 가능 매체이다. 데이터 센터는 플래시 메모리를 사용하여 서버 프로세서용 명령어를 포함하는 코드 및 데이터를 저장할 수 있다. 모바일 디바이스는 플래시 메모리를 사용하여 시스템 온칩 디바이스 내의 프로세서용 명령어를 포함하는 코드 및 데이터를 저장할 수 있다. 플래시 랜덤 액세스 메모리(RAM) 칩(2372)은, 하나 이상의 컴퓨터에 의해 실행되는 경우, 컴퓨터로 하여금 본원에서 설명되는 방법 및 데이터 흐름을 수행하게 하는 명령어를 포함하는 코드를 저장할 수 있다. 리드 또는 솔더 볼과 함께 패키지화되는 다른 비이동성 저장 매체도 또한 고려된다.
시스템 온 칩(SoC)
도 24a는 패키지화된 시스템 온 칩(SoC)(2480)의 예시적인 솔더볼(하부) 측을 예시한다. 패키지화된 SoC(2480)의 하부 측은 인쇄 회로 기판에 표면 실장 솔더링을 위한 볼 그리드 어레이로 묘사되어 있다. 다양한 칩 구현을 위해 다양한 패키지 형상 및 사이즈가 가능하다. 시스템 온 칩(SoC) 디바이스는 본원에서 설명되는 바와 같은 임베디드 시스템 및 IoT 디바이스 실시형태를 제어할 수 있다.
도 24b는 시스템 온 칩(SoC)(2480)의 예시적인 아키텍쳐를 예시한다. 시스템 온 칩(SoC)(2480)은, 컴퓨터 프로세서(CPU) 코어(2481)의 멀티코어 클러스터 및 그래픽 프로세서(graphics processor; GPU) 코어(2482)의 멀티코어 클러스터를 포함한다. 프로세서 코어는, 휘발성 프로그램 및 데이터 저장을 위해, 네트워크 온 칩(2483)을 통해 오프 칩 동적 랜덤 액세스 메모리(DRAM) 인터페이스(2484)에 연결된다. 프로세서 코어는 또한, 플래시 RAM 비일시적 컴퓨터 판독 가능 매체에서의 컴퓨터 프로그램 코드의 불휘발성 저장을 위해 플래시 인터페이스(2485)에 연결된다.
SoC(2480)는, GUI를 디스플레이하기 위한 디스플레이 인터페이스(186) 및, 상이한 주변장치 디바이스에 대해 적절히, 다양한 I/O 인터페이스 디바이스에 연결하기 위한 I/O 인터페이스 모듈(2487)을 또한 포함한다. I/O 인터페이스는, 다른 것들 중에서도, 터치스크린 센서와 같은 센서, 위치 인식 수신기, 마이크, 스피커, 블루투스 주변장치, 및 USB 디바이스, 예컨대 키보드 및 마우스를 인에이블한다. SoC(2480)는 또한 네트워크 인터페이스(2488)를 포함한다. 네트워크 인터페이스(2488)는, 프로세서 코어가, WiFi, 3G, 4G 롱 텀 에볼루션(Long Term Evolution; LTE), 5G, 및 다른 무선 인터페이스 표준 라디오뿐만 아니라 이더넷 연결 하드웨어와 같은 유선 또는 무선 연결을 통해 인터넷(또는 다른 네트워크)에 액세스하는 것을 허용한다. 인터페이스(2484)를 통해 RAM 디바이스에 또는 인터페이스(2485)를 통해 플래시 디바이스에 저장되어 있는 명령어를 실행하는 것에 의해, CPU(2481) 및 GPU(2482)는 본원에서 설명되는 바와 같은 방법 및/또는 데이터 흐름을 수행할 수 있다.
서버
도 25a는 랙 기반의 서버(2590)의 예를 예시한다. 랙 기반 서버(2590)는 복수의 랙 장착형 멀티 프로세서 서버 블레이드(rack-mounted multi-processor server blade)를 포함할 수 있다. 복수의 랙 장착형 멀티 프로세서 서버 블레이드 각각은 다수의 네트워크에 연결된 컴퓨터 프로세서를 포함할 수 있다. 다수의 네트워크로 연결된 컴퓨터 프로세서는 소프트웨어를 병렬로 실행할 수 있다.
도 25b는 서버(2590)의 예시적인 아키텍쳐를 예시한다. 아키텍쳐는 CPU 코어(2591)의 멀티코어 클러스터 및 GPU 코어(2592)의 멀티코어 클러스터를 포함한다. 프로세서는 프로그램 코드 및 데이터 저장을 위해 보드 레벨의 인터커넥트(2593)를 통해 RAM 디바이스(2594)에 연결된다. 서버 시스템(2590)은 또한, 프로세서가 인터넷(또는 다른 네트워크)에 액세스하는 것을 허용하는 네트워크 인터페이스(2598)를 포함한다. 인터페이스(2594)를 통해 RAM 디바이스 내에 저장되어 있는 명령어를 실행하는 것에 의해, CPU(2591) 및 GPU(2592)는, 본원에서 설명되는 바와 같은 방법 및/또는 데이터 흐름을 수행할 수 있다.
원리, 양태 및 실시형태를 열거하는 본원에서의 설명은 그들의 구조적 및 기능적 등가물 둘 모두를 포괄한다.
몇몇 실시형태는 방법 단계로서 나타내어지고 설명된다. 각각의 방법 단계는 몇몇 실시형태에서 시스템 컴포넌트와 등가일 수 있다.
본 개시는, 다양한 흥미로운 양태를 예시하는 본 발명의 다양한 실시형태를 설명한다. 기술 분야에서 숙련된 자는 많은 수정예 및 변형예를 인식할 수도 있다. 수정예 및 변형예는, 개시된 피쳐의 임의의 관련 조합을 포함한다.
다양한 실시형태는, 사람과 머신 중 어느 하나 또는 이들의 조합의 거동을 사용하는 방법이다. 방법 실시형태는, 대부분의 구성 단계가 발생하는 곳이면 세계의 어디든 완전하다. 몇몇 실시형태는, 본원에서 설명되는 방법을 위한 그러한 명령어를 저장하도록 배열되는 하나 이상의 비일시적인 컴퓨터 판독 가능 매체이다. 필요한 코드 중 임의의 것을 포함하는 비일시적 컴퓨터 판독 가능 매체를 유지하는 머신이면 무엇이든, 완전한 실시형태를 유지한다. 몇몇 실시형태는 반도체 칩과 같은 물리적 디바이스; 그러한 디바이스의 논리적 또는 기능적 거동의 하드웨어 기술 언어 표현; 및 그러한 하드웨어 기술 언어 표현을 저장하도록 배열되는 하나 이상의 비일시적 컴퓨터 판독 가능 매체이다.
도시되고 설명되는 실시형태는 소정의 음성 언어를 사용한다. 다양한 실시형태가, 다른 언어 또는 언어 조합에 대해 마찬가지로 동작한다. 도시되고 설명되는 예는 소정의 영역의 지식을 사용한다. 다양한 실시형태는 다른 영역 또는 영역의 조합에 대해 마찬가지로 동작한다.
몇몇 실시형태는 자동 판매기와 같이 고정식이다. 몇몇 실시형태는 자동차와 같이 이동 가능하다. 몇몇 실시형태는 이동 전화와 같이 휴대형이다. 몇몇 실시형태는 키보드 또는 터치스크린과 같은 수동 인터페이스를 포함한다. 몇몇 실시형태는, 인간의 사고(thought)를, 자연어 표현의 한 형태로서 사용하는 신경 인터페이스(neural interface)를 포함한다.
전술한 설명은 예시 및 설명을 위해 제시되었다. 그것은 망라적이도록 또는 본 발명을 개시되는 정확한 형태로 제한하도록 의도되는 것은 아니다. 상기의 교시에 비추어 많은 수정 및 변형이 가능하다. 또한, 전술한 대안적인 실시형태 중 임의의 것 또는 전부가 본 발명의 추가적인 하이브리드 실시형태를 형성하기 위해 소망되는 임의의 조합에서 사용될 수도 있다는 것을 유의해야 한다.
또한, 본 발명의 특정한 실시형태가 설명되고 예시되었지만, 본 발명은 그렇게 설명되고 예시된 부분의 특정한 형태 또는 배열로 제한되지는 않아야 한다. 본 발명의 범위는, 여기에 첨부되는 청구범위, 여기서 그리고 상이한 출원에서 제출되는 임의의 미래의 청구범위, 및 그들의 균등물에 의해 정의되어야 한다.

Claims (22)

  1. 운전자를 지원하기 위한 차량 보조시스템으로서,
    상기 운전자의 음성 내의 자연어 표현을 캡처하기 위한 수단;
    상기 자연어 표현에 관련되는 특정한 토픽를 식별하기 위한 수단 - 상기 특정한 토픽은 위치 정보를 포함하는 환경 정보에 기반하여 식별됨 - ;
    상기 특정한 토픽에 관련되는 정보를 검색하기 위한 수단; 및
    상기 운전자에게 상기 검색된 정보를 길안내와 함께 디스플레이하기 위한 수단을 포함하는,
    운전자를 지원하기 위한 차량 보조시스템.
  2. 제1항에 있어서,
    상기 운전자의 음성 내의 자연어 표현을 캡처하기 위한 수단은 상기 운전자와 전화 통화 참여자 사이의 통화 내용 내의 자연어 표현을 캡처하기 위하여 더 구성되며,
    상기 특정한 토픽의 식별은 상기 통화 내용 내의 자연어 표현에 기반하는
    운전자를 지원하기 위한 차량 보조시스템.
  3. 제1항에 있어서,
    캡처하는 것은 오디오 신호에 자동 음성 인식을 적용하는 것에 의하는,
    운전자를 지원하기 위한 차량 보조시스템.
  4. 제1항에 있어서,
    상기 특정한 토픽에 대응하는 연관성 값을 계산하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 것은 상기 연관성 값에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  5. 제1항에 있어서,
    상기 자연어 표현에 관련되는 제2 토픽을 식별하기 위한 수단;
    상기 특정한 토픽에 대응하는 제1 연관성 값을 계산하기 위한 수단; 및
    상기 제2 토픽에 대응하는 제2 연관성 값을 계산하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 것은, 상기 제1 연관성 값이 상기 제2 연관성 값을 초과하는 것에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  6. 제1항에 있어서,
    최근 토픽의 목록을 저장하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 것은 상기 목록에서의 상기 특정한 토픽의 부재에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  7. 제1항에 있어서,
    다른 최근에 디스플레이된 정보의 표시를 저장하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 것은 상기 다른 최근에 디스플레이된 정보에서의 상기 정보의 표시의 부재에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  8. 제1항에 있어서,
    상기 특정한 토픽에 관련되는 개념을 식별하기 위한 수단을 더 포함하되,
    상기 검색은 상기 개념에 기초하는,
    운전자를 지원하기 위한 차량 보조시스템.
  9. 제1항에 있어서,
    상기 디스플레이는 차량의 헤드업 디스플레이(head-up display) 내에 있는,
    운전자를 지원하기 위한 차량 보조시스템.
  10. 제2항에 있어서,
    상기 전화 통화 참여자에 관한 프로파일 정보를 저장하기 위한 수단; 및
    상기 프로파일 정보에 기초하여 상기 특정한 토픽에 대한 연관성 값을 계산하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 것은 상기 연관성 값에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  11. 제10항에 있어서,
    상기 프로파일 정보는 상기 운전자로부터의 연관성 피드백에 의존하는,
    운전자를 지원하기 위한 차량 보조시스템.
  12. 운전자 지원 정보를 차량 내에 디스플레이하는 방법으로서,
    상기 운전자의 음성 내의 자연어 표현을 캡처하기 위한 단계;
    상기 자연어 표현에 관련되는 특정한 토픽를 식별하는 단계 - 상기 특정한 토픽은 위치 정보를 포함하는 환경 정보에 기반하여 식별됨 - ;
    상기 특정한 토픽에 관련되는 정보를 검색하는 단계; 및
    상기 운전자에게 상기 검색한 정보를 길안내와 함께 디스플레이하는 단계를 포함하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  13. 제12항에 있어서,
    상기 운전자의 음성 내의 자연어 표현을 캡처하는 단계는 상기 운전자와 전화 통화 참여자 사이의 통화 내용내의 자연어 표현을 캡처하는 단계를 포함하며,
    상기 특정한 토픽의 식별은 상기 운전자의 통화 내용 내의 자연어 표현에 기반하는
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  14. 제12항에 있어서,
    캡처하는 것은 오디오 신호에 자동 음성 인식을 적용하는 것에 의하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  15. 제12항에 있어서,
    상기 특정한 토픽에 대응하는 연관성 값을 계산하는 단계를 더 포함하되,
    상기 정보를 디스플레이하는 것은 상기 연관성 값에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  16. 제12항에 있어서,
    상기 자연어 표현에 관련되는 제2 토픽을 식별하는 단계;
    상기 특정한 토픽에 대응하는 제1 연관성 값을 계산하는 단계; 및
    상기 제2 토픽에 대응하는 제2 연관성 값을 계산하는 단계를 더 포함하되,
    상기 정보를 디스플레이하는 단계는, 상기 제1 연관성 값이 상기 제2 연관성 값을 초과하는 것에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  17. 제12항에 있어서,
    최근 토픽의 목록을 저장하기 위한 수단을 더 포함하되,
    상기 정보를 디스플레이하는 단계는 상기 목록에서의 상기 특정한 토픽의 부재에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  18. 제12항에 있어서,
    다른 최근에 디스플레이된 정보의 표시를 저장하는 단계를 더 포함하되,
    상기 정보를 디스플레이하는 단계는 상기 다른 최근에 디스플레이된 정보에서의 상기 정보의 표시의 부재에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  19. 제12항에 있어서,
    상기 특정한 토픽에 관련되는 개념을 식별하는 단계를 더 포함하되,
    상기 검색은 상기 개념에 기초하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  20. 제12항에 있어서,
    상기 디스플레이는 상기 차량의 헤드업 디스플레이(head-up display) 내에 있는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  21. 제13항에 있어서,
    상기 전화 통화 참여자에 관한 프로파일 정보를 저장하는 단계; 및
    상기 프로파일 정보에 기초하여 상기 특정한 토픽에 대한 연관성 값을 계산하는 단계를 더 포함하되,
    상기 정보를 디스플레이하는 단계는 상기 연관성 값에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
  22. 제21항에 있어서,
    상기 프로파일 정보는 상기 운전자 로부터의 연관성 피드백에 의존하는,
    운전자 지원 정보를 차량 내에 디스플레이하는 방법.
KR1020210117579A 2018-08-02 2021-09-03 자연어 대화에 관련되는 정보의 시각적 제시 KR20210111236A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/052,930 US20200043479A1 (en) 2018-08-02 2018-08-02 Visually presenting information relevant to a natural language conversation
US16/052,930 2018-08-02
KR1020190031067A KR102300606B1 (ko) 2018-08-02 2019-03-19 자연어 대화에 관련되는 정보의 시각적 제시

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190031067A Division KR102300606B1 (ko) 2018-08-02 2019-03-19 자연어 대화에 관련되는 정보의 시각적 제시

Publications (1)

Publication Number Publication Date
KR20210111236A true KR20210111236A (ko) 2021-09-10

Family

ID=69227860

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190031067A KR102300606B1 (ko) 2018-08-02 2019-03-19 자연어 대화에 관련되는 정보의 시각적 제시
KR1020210117579A KR20210111236A (ko) 2018-08-02 2021-09-03 자연어 대화에 관련되는 정보의 시각적 제시

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190031067A KR102300606B1 (ko) 2018-08-02 2019-03-19 자연어 대화에 관련되는 정보의 시각적 제시

Country Status (4)

Country Link
US (2) US20200043479A1 (ko)
JP (2) JP6987814B2 (ko)
KR (2) KR102300606B1 (ko)
CN (1) CN110795608A (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210182342A1 (en) * 2018-08-15 2021-06-17 Nippon Telegraph And Telephone Corporation Major point extraction device, major point extraction method, and non-transitory computer readable recording medium
JP7142315B2 (ja) * 2018-09-27 2022-09-27 パナソニックIpマネジメント株式会社 説明支援装置および説明支援方法
US11017001B2 (en) * 2018-12-31 2021-05-25 Dish Network L.L.C. Apparatus, systems and methods for providing conversational assistance
US11769509B2 (en) * 2019-12-31 2023-09-26 Microstrategy Incorporated Speech-based contextual delivery of content
JP6841535B1 (ja) * 2020-01-29 2021-03-10 株式会社インタラクティブソリューションズ 会話解析システム
US11836161B2 (en) * 2020-02-20 2023-12-05 Rovi Guides, Inc. Systems and methods for predicting where conversations are heading and identifying associated content
CN112002186B (zh) * 2020-09-04 2022-05-06 语惠科技(南京)有限公司 一种基于增强现实技术的信息无障碍系统及方法
JP7341111B2 (ja) * 2020-09-30 2023-09-08 本田技研工業株式会社 会話支援装置、会話支援システム、会話支援方法およびプログラム
US20220188361A1 (en) * 2020-12-11 2022-06-16 Meta Platforms, Inc. Voice-based Auto-Completions and Auto-Responses for Assistant Systems
CN112820284A (zh) * 2020-12-28 2021-05-18 恒大新能源汽车投资控股集团有限公司 语音交互方法、装置、电子设备及计算机可读存储介质
US11539915B2 (en) 2021-03-20 2022-12-27 International Business Machines Corporation Transmission confirmation in a remote conference
LU500105B1 (en) 2021-04-30 2022-11-02 Microsoft Technology Licensing Llc Video conference collaboration
US11880663B2 (en) * 2021-06-30 2024-01-23 Microsoft Technology Licensing, Llc Assistant for providing information on unknown topics

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001298555A (ja) * 2000-04-11 2001-10-26 Nippon Tmi Co Ltd 情報通信装置及び情報通信システム
US20050165742A1 (en) * 2003-12-30 2005-07-28 Weisheke Chin Searching previously viewed web sites
JP2007519047A (ja) * 2004-01-20 2007-07-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 会話の話題を決定して関連するコンテンツを取得して提示する方法及びシステム
JP2007304776A (ja) * 2006-05-10 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> 文書検索装置
US8024329B1 (en) * 2006-06-01 2011-09-20 Monster Worldwide, Inc. Using inverted indexes for contextual personalized information retrieval
WO2008032329A2 (en) * 2006-09-13 2008-03-20 Alon Atsmon Providing content responsive to multimedia signals
US20080275701A1 (en) * 2007-04-25 2008-11-06 Xiaotao Wu System and method for retrieving data based on topics of conversation
JP2009157460A (ja) * 2007-12-25 2009-07-16 Hitachi Ltd 情報提示装置及び方法
JP2009205579A (ja) * 2008-02-29 2009-09-10 Toshiba Corp 音声翻訳装置およびプログラム
GB2458309A (en) * 2008-03-13 2009-09-16 Business Partners Ltd Search engine
US9491573B2 (en) * 2008-11-06 2016-11-08 Texas Instruments Incorporated Communication device for providing value-added information based upon content and/or context information
JP5347532B2 (ja) * 2009-01-27 2013-11-20 日本電気株式会社 検索サーバ、情報検索方法およびプログラム
US8537980B2 (en) * 2009-03-27 2013-09-17 Verizon Patent And Licensing Inc. Conversation support
EP2629211A1 (en) * 2009-08-21 2013-08-21 Mikko Kalervo Väänänen Method and means for data searching and language translation
JP5075895B2 (ja) * 2009-09-18 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 情報検索システム及び情報検索方法
JP5315289B2 (ja) * 2010-04-12 2013-10-16 トヨタ自動車株式会社 オペレーティングシステム及びオペレーティング方法
US20120004899A1 (en) * 2010-07-04 2012-01-05 Taymoor Arshi Dynamic ad selection for ad delivery systems
US9292093B2 (en) * 2010-11-18 2016-03-22 Alpine Electronics, Inc. Interface method and apparatus for inputting information with air finger gesture
US9092525B2 (en) * 2011-05-09 2015-07-28 Wyse Technology L.L.C. Method and apparatus for searching non-public data using a single search query
US10499118B2 (en) * 2012-04-24 2019-12-03 Skreens Entertainment Technologies, Inc. Virtual and augmented reality system and headset display
JP2014013494A (ja) * 2012-07-04 2014-01-23 Nikon Corp 表示制御装置、表示システム、表示装置、端末装置、表示制御方法及びプログラム
JP5831764B2 (ja) * 2012-10-26 2015-12-09 カシオ計算機株式会社 画像表示装置及びプログラム
KR20140078258A (ko) * 2012-12-17 2014-06-25 한국전자통신연구원 대화 인식을 통한 이동 단말 제어 장치 및 방법, 회의 중 대화 인식을 통한 정보 제공 장치
US9614969B2 (en) * 2014-05-27 2017-04-04 Microsoft Technology Licensing, Llc In-call translation
KR20160139771A (ko) * 2015-05-28 2016-12-07 삼성전자주식회사 전자 장치, 정보 제공 시스템 및 그 정보 제공 방법
US9949056B2 (en) * 2015-12-23 2018-04-17 Ecole Polytechnique Federale De Lausanne (Epfl) Method and apparatus for presenting to a user of a wearable apparatus additional information related to an audio scene
KR102151626B1 (ko) * 2016-01-12 2020-09-03 네이버 주식회사 통화 중 특정 태스크를 처리하는 장치 및 그 방법
US10216732B2 (en) * 2016-09-07 2019-02-26 Panasonic Intellectual Property Management Co., Ltd. Information presentation method, non-transitory recording medium storing thereon computer program, and information presentation system
US10085096B2 (en) * 2016-09-30 2018-09-25 Sorenson Ip Holdings, Llc Integration of audiogram data into a device
US10373515B2 (en) * 2017-01-04 2019-08-06 International Business Machines Corporation System and method for cognitive intervention on human interactions
US10102856B2 (en) * 2017-01-20 2018-10-16 Essential Products, Inc. Assistant device with active and passive experience modes
US10440325B1 (en) * 2018-07-17 2019-10-08 International Business Machines Corporation Context-based natural language participant modeling for videoconference focus classification

Also Published As

Publication number Publication date
JP6987814B2 (ja) 2022-01-05
JP2022008437A (ja) 2022-01-13
KR102300606B1 (ko) 2021-09-10
US20200043479A1 (en) 2020-02-06
KR20200015356A (ko) 2020-02-12
CN110795608A (zh) 2020-02-14
US20200219490A1 (en) 2020-07-09
JP2020034897A (ja) 2020-03-05

Similar Documents

Publication Publication Date Title
KR102300606B1 (ko) 자연어 대화에 관련되는 정보의 시각적 제시
US11308284B2 (en) Smart cameras enabled by assistant systems
US11159767B1 (en) Proactive in-call content recommendations for assistant systems
US20220188361A1 (en) Voice-based Auto-Completions and Auto-Responses for Assistant Systems
US11567788B1 (en) Generating proactive reminders for assistant systems
US20220358727A1 (en) Systems and Methods for Providing User Experiences in AR/VR Environments by Assistant Systems
US11563706B2 (en) Generating context-aware rendering of media contents for assistant systems
US20220279051A1 (en) Generating Proactive Reminders for Assistant Systems
US20240298084A9 (en) Smart Cameras Enabled by Assistant Systems
EP3605527A2 (en) Visually presenting information relevant to a natural language conversation
US20240161742A1 (en) Adaptively Muting Audio Transmission of User Speech for Assistant Systems
US20240219720A1 (en) Reading Out Scene Analysis for Users Wearing Head-mounted Devices
US20230353652A1 (en) Presenting Personalized Content during Idle Time for Assistant Systems
US20240045704A1 (en) Dynamically Morphing Virtual Assistant Avatars for Assistant Systems
US20240330362A1 (en) System and method for generating visual captions
US20240112674A1 (en) Presenting Attention States Associated with Voice Commands for Assistant Systems

Legal Events

Date Code Title Description
A107 Divisional application of patent