KR20210002619A - 네트워크 시스템에서 도메인-특정 모델의 생성 - Google Patents

네트워크 시스템에서 도메인-특정 모델의 생성 Download PDF

Info

Publication number
KR20210002619A
KR20210002619A KR1020207033689A KR20207033689A KR20210002619A KR 20210002619 A KR20210002619 A KR 20210002619A KR 1020207033689 A KR1020207033689 A KR 1020207033689A KR 20207033689 A KR20207033689 A KR 20207033689A KR 20210002619 A KR20210002619 A KR 20210002619A
Authority
KR
South Korea
Prior art keywords
digital component
request
component
digital
knowledge graph
Prior art date
Application number
KR1020207033689A
Other languages
English (en)
Other versions
KR102603717B1 (ko
Inventor
샙타시 바타차야
자카리아 필립스
스리다 마다바페디
데이비드 메이무데스
비벡 라오
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020237039233A priority Critical patent/KR20230160958A/ko
Publication of KR20210002619A publication Critical patent/KR20210002619A/ko
Application granted granted Critical
Publication of KR102603717B1 publication Critical patent/KR102603717B1/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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/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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)

Abstract

본 개시 내용은 일반적으로 상호 연결된 네트워크에서 도메인-특정 음성-작동 시스템의 생성에 관한 것이다. 시스템은 클라이언트 디바이스에서 검출되는 입력 신호를 수신할 수 있다. 입력 신호는 음성 기반 입력 신호, 텍스트 기반 입력 신호, 이미지 기반 입력 신호 또는 기타 유형의 입력 신호일 수 있다. 입력 신호에 기초하여, 시스템은 도메인-특정 지식 그래프를 선택하고 선택된 지식 그래프에 기초하여 응답을 생성할 수 있다.

Description

네트워크 시스템에서 도메인-특정 모델의 생성
관련 출원에 대한 상호 참조
본 출원은 2018년 6월 14일 출원된 "네트워크 시스템에서 도메인-특정 모델의 생성"이라는 미국 특허출원 제16/008,988호에 대해 우선권으로 주장하며, 그 내용은 본 명세서에 전체적으로 통합된다.
인터넷 또는 기타 네트워크와 같은 네트워크 환경에서, 퍼스트파티 콘텐츠 제공자는 웹페이지, 문서, 애플리케이션 및 기타 리소스와 같은 리소스에 대한 공개적 제시를 위한 정보를 제공할 수 있다. 퍼스트파티 콘텐츠는 퍼스트파티 콘텐츠 제공자가 제공한 텍스트, 비디오 및 오디오 정보를 포함할 수 있다. 리소스에 액세스하는 사용자는 리소스와 관련된 정보에 대한 추가 정보를 요청하거나 수신하기를 원할 수 있다. 추가 정보를 보거나 받으려면, 사용자가 현재 보고 있는 리소스에서 나가야 한다.
본 개시의 적어도 일 양태에 따르면, 네트워크 시스템에서 자연어 프로세싱 모델을 생성하기 위한 시스템은 데이터 프로세싱 시스템을 포함할 수 있다. 데이터 프로세싱 시스템은 하나 이상의 프로세서 및 메모리를 포함할 수 있다. 하나 이상의 프로세서는 자연어 프로세서 컴포넌트, 디지털 컴포넌트 선택기를 실행할 수 있다. 데이터 프로세싱 시스템은 자연어 프로세서 컴포넌트에 의해, 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신할 수 있다. 데이터 프로세싱 시스템은 상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 제1 검색 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱할 수 있다. 데이터 프로세싱 시스템은 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해 적어도 제1 검색 요청에 기초하여 검색 결과를 선택할 수 있다. 데이터 프로세싱 시스템은 디지털 컴포넌트 선택기에 의해 제1 검색 요청에 기초하여 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트는 데이터 소스에 대한 링크를 포함할 수 있다. 데이터 소스는 복수의 엔터티를 포함할 수 있다. 디지털 컴포넌트는 지식 그래프에 기초하여 응답을 요청하는 입력 인터페이스를 포함할 수 있다.
데이터 프로세싱 시스템은 상기 인터페이스에 의해, 상기 데이터 소스에 대한 링크를 포함하고 상기 지식 그래프와 연관된 디지털 컴포넌트를 상기 검색 결과와 함께 제1 클라이언트 디바이스에 전송할 수 있다. 데이터 프로세싱 시스템은 상기 인터페이스에 의해, 상기 클라이언트 디바이스에 의해 렌더링된 디지털 컴포넌트의 입력 인터페이스를 통해, 제2 검색 요청을 수신할 수 있다. 데이터 프로세싱 시스템은 상기 디지털 컴포넌트 선택기에 의해, 상기 지식 그래프에 기초하여, 상기 제2 검색 요청에 기초한 응답을 선택할 수 있다. 데이터 프로세싱 시스템은 상기 인터페이스에 의해, 상기 디지털 컴포넌트 내에서 상기 응답을 렌더링하기 위해 상기 응답을 상기 제1 클라이언트 디바이스에 전송할 수 있다.
본 개시의 적어도 일 양태에 따르면, 네트워크 시스템에서 자연어 프로세싱 모델을 생성하기 위한 방법은 데이터 프로세싱 시스템에 의해 실행되는 자연어 프로세서 컴포넌트에 의해, 상기 데이터 프로세싱 시스템의 인터페이스를 통해, 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신하는 단계를 포함할 수 있다. 상기 방법은 상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 제1 검색 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱할 수 있다. 상기 방법은 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해 적어도 제1 검색 요청에 기초하여 검색 결과를 선택할 수 있다. 상기 방법은 시스템은 디지털 컴포넌트 선택기에 의해 제1 검색 요청에 기초하여 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트는 데이터 소스 및 데이터 소스에 기초하는 지식 그래프와 연관될 수 있다. 상기 방법은 상기 디지털 컴포넌트 선택기에 의해, 상기 데이터 소스 및 상기 데이터에 기초한 상기 지식 그래프와 연관된 상기 디지털 컴포넌트를 검색 결과와 함께 제1 클라이언트 디바이스에 전송하는 단계를 포함할 수 있다.
본 개시의 적어도 일 양태에 따르면, 네트워크 시스템에서 자연어 프로세싱 모델을 생성하기 위한 시스템은 데이터 프로세싱 시스템을 포함할 수 있다. 데이터 프로세싱 시스템은 하나 이상의 프로세서 및 메모리를 포함할 수 있다. 하나 이상의 프로세서는 디지털 컴포넌트 선택기 및 자연어 프로세서 컴포넌트를 실행할 수 있다. 데이터 프로세싱 시스템은 디지털 컴포넌트 선택기에 의해 클라이언트 디바이스로부터 콘텐츠 요청을 수신할 수 있다. 데이터 프로세싱 시스템은 디지털 컴포넌트 선택기에 의해 콘텐츠 요청에 기초하여 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트는 데이터 소스 및 데이터 소스에 기초하는 지식 그래프와 연관될 수 있다. 데이터 프로세싱 시스템은 상기 디지털 컴포넌트 선택기에 의해, 콘텐츠 슬롯에 상기 디지털 컴포넌트를 렌더링하기 위해 상기 디지털 컴포넌트를 상기 클라이언트 컴퓨팅 디바이스에 전송하는 단계를 포함할 수 있다. 데이터 프로세싱 시스템은 자연어 프로세서 컴포넌트에 의해, 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신할 수 있다. 데이터 프로세싱 시스템은 상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하는 단계를 포함할 수 있다. 데이터 프로세싱 시스템은 자연어 프로세서 컴포넌트에 의해 지식 그래프에 기초하여 요청에 대한 응답을 선택할 수 있다. 데이터 프로세싱 시스템은 인터페이스에 의해 클라이언트 컴퓨팅 디바이스에 응답을 전송할 수 있다.
본 개시의 적어도 하나의 양상에 따르면, 네트워크 시스템에서 자연어 프로세싱 모델을 생성하는 방법은 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해 클라이언트 컴퓨팅 디바이스로부터 콘텐츠 요청을 수신하는 단계를 포함할 수 있다. 상기 방법은 콘텐츠 요청에 기초하여 디지털 컴포넌트 선택기에 의해 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다. 디지털 컴포넌트는 데이터 소스 및 데이터 소스에 기초하는 지식 그래프와 연관될 수 있다. 상기 방법은 상기 디지털 컴포넌트 선택기에 의해, 콘텐츠 슬롯에 상기 디지털 컴포넌트를 렌더링하기 위해 상기 디지털 컴포넌트를 상기 클라이언트 컴퓨팅 디바이스에 전송하는 단계를 포함할 수 있다. 상기 방법은 자연어 프로세서에 의해, 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신하는 단계를 포함할 수 있다. 상기 방법은 상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하는 단계를 포함할 수 있다. 상기 방법은 자연어 프로세서 컴포넌트에 의해 지식 그래프에 기초하여 요청에 대한 응답을 선택하는 단계를 포함할 수 있다. 상기 방법은 인터페이스에 의해 클라이언트 컴퓨팅 디바이스에 응답을 전송하는 단계를 포함할 수 있다.
이들 및 다른 양태들 및 구현예들은 아래에서 상세히 논의된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태들 및 구현예들의 예시적 실시예를 포함하고, 청구된 양태들 및 구현예들의 본질 및 특성을 이해하기 위한 개요 또는 프레임워크를 제공한다. 도면은 다양한 양태들 및 구현예들의 예시 및 추가 이해를 제공하며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다.
첨부된 도면은 일정한 비율로 도시된 것이 아니다. 다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다. 명확성을 위해 모든 도면에서 모든 컴포넌트가 라벨링된 것은 아니다. 도면에서:
도 1은 본 개시의 예에 따른 네트워크 컴퓨터 환경에서 도메인 특정 자연어 모델에 기초하여 응답을 생성하는 예시적 시스템을 도시한다.
도 2는 본 개시의 예에 따라 예시적 지식 그래프를 생성 및 사용하는 도 1에 도시된 시스템의 블록도를 예시한다.
도 3 및 4는 본 개시의 예에 따른 네트워크 시스템에서 도메인 특정 자연어 프로세싱 모델에 기초하여 응답을 생성하는 예시적 방법의 블록도를 도시한다.
도 5는 본 개시의 예에 따라, 도 1에 도시된 시스템에서 사용될 수 있는 예시적 컴퓨터 시스템의 블록도를 도시한다.
아래에 설명되는 것은 상호연결된 네트워크를 통해 음성-활성화 데이터 흐름을 생성하는 방법, 디바이스 및 시스템과 관련된 다양한 개념 및 구현예들에 대한 보다 상세한 설명이다. 위에서 소개되고 아래에서 더 상세하게 논의되는 다양한 개념은 수많은 방식으로 구현될 수 있다.
본 개시 내용은 일반적으로 상호 연결된 네트워크에서 도메인-특정 음성-작동 시스템의 생성에 관한 것이다. 시스템은 클라이언트 디바이스에서 검출되는 입력 신호를 수신할 수 있다. 입력 신호는 음성 기반 입력 신호, 텍스트 기반 입력 신호, 이미지 기반 입력 신호 또는 기타 유형의 입력 신호일 수 있다. 입력 신호는 검색 요청과 같은 요청을 포함할 수 있다. 입력 신호의 대화적 특성으로 인해 요청이 모호하거나 광범위하거나 컨텍스트가 부족할 수 있다. 시스템은 도메인-특정 지식 그래프를 사용하여 요청에 대한 응답을 생성할 수 있다. 도메인-특정 지식 그래프에 대한 인터페이스는 검색 요청에 대한 응답으로 제공되거나 웹페이지에서 퍼스트파티 콘텐츠와 함께 제공되는 디지털 컴포넌트에 통합될 수 있다.
현재 기술 솔루션의 시스템 및 방법은 음성 기반 요청을 완료하는데 필요한 네트워크 전송 수를 감소시킴으로써 네트워크 대역폭을 줄일 수 있다. 현재 솔루션은 디지털 어시스턴트가 불명확한 요청에 대해 특정 응답을 선택할 수 있도록하여 요청을 완료하는데 필요한 후속 입력 오디오 신호의 수를 줄일 수 있다. 예를 들어, 제1 검색 요청이 수신되면, 도메인-특정 지식 그래프와 연관된 디지털 컴포넌트가 제1 검색 요청에 기초하여 선택될 수 있다. 제2 검색 요청이 수신되면 도메인-특정 지식 그래프를 사용하여 제2 검색 요청을 프로세싱할 수 있다. 도메인 특정 지식 그래프는 제2 쿼리가 모호하거나 광범위하거나 컨텍스트가 부족한 자연어 쿼리인 경우에도 제2 쿼리에 대한 응답을 제공하는데 도움이 될 수 있다. 결과적으로 요청을 완료하는데 필요한 후속 입력 오디오 신호의 수를 줄일 수 있다. 일부 실시예에서, 디지털 컴포넌트는 제2 검색 요청이 수신될 수 있는 입력 인터페이스를 포함할 수 있다. 디지털 컴포넌트에 입력 인터페이스를 제공하면 사용자가 디지털 컴포넌트와 관련된 제2 검색 요청을 제출하기 위해 현재 보고 있는 리소스를 떠날 필요가 없다. 일부 실시예에서, 디지털 컴포넌트는 디지털 컴포넌트 내의 제2 검색 요청에 대한 응답을 렌더링하도록 구성될 수 있다. 디지털 컴포넌트 내에서 응답을 렌더링하면 사용자가 제2 검색 요청에 대한 응답을 보거나 수신하기 위해 현재 보고 있는 리소스를 떠날 필요가 없다.
도 1은 네트워크 컴퓨터 환경에서 도메인 특정 자연어 모델에 기초하여 응답을 생성하는 예시적 시스템(100)을 도시한다. 시스템(100)은 데이터 프로세싱 시스템(102)을 포함할 수 있다. 데이터 프로세싱 시스템(102)은 네트워크(105)를 통해, 디지털 컴포넌트 제공자 디바이스(106)(예: 콘텐츠 제공자 디바이스) 또는 클라이언트 컴퓨팅 디바이스(104) 중 하나 이상과 통신할 수 있다.
시스템(100)은 하나 이상의 네트워크(105)를 포함할 수 있다. 네트워크(105)는 인터넷, 로컬, 와이드, 메트로 또는 다른 영역 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 모바일 전화 네트워크와 같은 다른 통신 네트워크 및 이들의 조합과 같은 컴퓨터 네트워크를 포함할 수 있다.
데이터 프로세싱 시스템(102) 및 클라이언트 컴퓨팅 디바이스(104)는 네트워크(105)를 통해 디지털 컴포넌트 및 데이터 소스(135)에 액세스할 수 있다. 네트워크(105)는 웹페이지, 웹사이트, 도메인(예: 웹페이지의 집합) 또는 URL과 같은 데이터 소스에 액세스하는데 사용될 수 있다. 디지털 컴포넌트는 랩톱, 데스크톱, 태블릿, 디지털 어시스턴트, 퍼스널 디지털 어시스턴트, 스마트워치, 웨어러블 디바이스, 스마트폰, 휴대용 컴퓨터 또는 스피커와 같은 적어도 하나의 컴퓨팅 디바이스(104) 상에 제시, 출력, 렌더링 또는 디스플레이될 수 있다. 예를 들어, 네트워크(105)를 통해, 컴퓨팅 클라이언트 디바이스(104)의 사용자는 디지털 컴포넌트 제공자 디바이스(106)에 의해 제공된 웹사이트(예시적 데이터 소스(135)에 액세스할 수 있다. 웹사이트는 퍼스트파티 및 서드파티 콘텐츠와 같은 하나 이상의 디지털 컴포넌트를 포함할 수 있다.
네트워크(105)는 디스플레이 네트워크, 예를 들어, 콘텐츠 배치 또는 검색 엔진 결과 시스템과 연관되거나 서드파티 디지털 컴포넌트에 포함시키기에 적합한 인터넷 상의 사용가능한 정보 리소스들의 서브셋을 포함하거나 구성할 수 있다. 네트워크(105)는 클라이언트 컴퓨팅 디바이스(104)에 의해 제시, 출력, 렌더링 또는 디스플레이될 수 있는 웹페이지, 웹사이트, 도메인 이름, 또는 URL과 같은 정보 리소스들에 액세스하기 위해 데이터 프로세싱 시스템(102)에 의해 사용될 수 있다.
네트워크(105)는 임의의 유형 또는 형태의 네트워크일 수 있으며, 포인트-투-포인트 네트워크, 브로드캐스트 네트워크, 광역 네트워크, 근거리 네트워크, 전화통신 네트워크, 데이터 통신 네트워크, 컴퓨터 네트워크, ATM(Asynchronous Transfer Mode) 네트워크, SONET(Synchronous Optical Network) 네트워크, SDH(Synchronous Digital Hierarchy) 네트워크, 무선 네트워크 및 유선 네트워크 중 임의의 것을 포함할 수 있다. 네트워크(105)는 적외선 채널 또는 위성 대역과 같은 무선 링크를 포함할 수 있다. 네트워크(105)의 토폴로지는 버스, 스타 또는 링 네트워크 토폴로지를 포함할 수 있다. 네트워크는 어드밴스드 모바일폰 프로토콜("AMPS"), 시분할 다중 액세스("TDMA"), 코드 분할 다중 액세스("CDMA"), 글로벌 이동 통신 시스템("GSM"), 일반 패킷 무선 서비스("GPRS") 또는 범용 이동 통신 시스템("UMTS")을 포함하는 모바일 디바이스들 간에 통신하는데 사용되는 임의의 프로토콜 또는 프로토콜들을 사용하는 모바일 전화 네트워크들을 포함할 수 있다. 상이한 유형의 데이터는 상이한 프로토콜을 통해 전송될 수 있거나, 동일한 유형의 데이터가 상이한 프로토콜들을 통해 전송될 수 있다.
시스템(100)은 적어도 하나의 데이터 프로세싱 시스템(102)을 포함할 수 있다. 데이터 프로세싱 시스템(102)은 네트워크(105)를 통해 통신하기 위한 프로세서를 가지는 컴퓨팅 디바이스 예를 들어 컴퓨팅 디바이스(104) 또는 디지털 컴포넌트 제공자 디바이스(106)와 같은 적어도 하나의 로직 디바이스를 포함할 수 있다. 데이터 프로세싱 시스템(102)은 적어도 하나의 계산 리소스, 서버, 프로세서 또는 메모리를 포함할 수 있다. 예를 들어, 데이터 프로세싱 시스템(102)은 적어도 하나의 데이터 센터에 위치된 복수의 계산 리소스 또는 서버를 포함할 수 있다. 데이터 프로세싱 시스템(102)은 다수의 논리적으로 그룹화된 서버를 포함할 수 있고, 분산 컴퓨팅 기법을 지원한다. 논리적 서버들의 그룹은 데이터 센터, 서버 팜 또는 머신 팜으로 지칭될 수 있다. 서버는 지리적으로 분산될 수 있다. 데이터 센터 또는 머신 팜은 단일 엔터티로 관리되거나, 머신 팜은 복수의 머신 팜을 포함할 수 있다. 각 머신 팜 내의 서버는 다른 기종일 수 있다; 하나 이상의 서버 또는 머신이 하나 이상의 운영 체제 플랫폼 유형에 따라 동작할 수 있다.
머신 팜의 서버는 연관된 저장 시스템과 함께 고밀도 랙 시스템에 저장되고 엔터프라이즈 데이터 센터에 위치될 수 있다. 예를 들어, 이러한 방식으로 서버를 통합하면 지역화된 고성능 네트워크에 서버 및 고성능 저장 시스템을 위치시킴으로써 시스템 관리성, 데이터 보안, 시스템의 물리적 보안 및 시스템 성능을 향상시킬 수 있다. 서버 및 저장 시스템을 포함하여 모든 또는 일부 데이터 프로세싱 시스템(102) 컴포넌트들을 중앙집중화하고 이를 고급 시스템 관리 툴과 결합하면 서버 리소스들을 보다 효율적으로 사용할 수 있게 하여, 전력 및 프로세싱 요구사항을 절약하고 대역폭 사용을 감소시킨다.
클라이언트 컴퓨팅 디바이스(104)는 적어도 하나의 로컬 디지털 어시스턴트(134), 적어도 하나의 센서(138), 적어도 하나의 트랜스듀서(140), 적어도 하나의 오디오 드라이버(142) 또는 적어도 하나의 디스플레이(144)를 포함, 실행하거나 이와 인터페이스 또는 통신할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 그래픽 또는 물리적 키워드와 같은 하나 이상의 인터페이스와 인터페이싱할 수 있다.
센서(138)는 예를 들어 카메라, 주변 광 센서, 근접 센서, 온도 센서, 가속도계, 자이로스코프, 모션 검출기, GPS 센서, 위치 센서, 마이크로폰, 비디오, 이미지 검출 또는 터치 센서를 포함할 수 있다. 트랜스듀서(140)는 스피커 또는 마이크로폰을 포함하거나 그 일부일 수 있다. 오디오 드라이버(142)는 하드웨어 트랜스듀서(140)에 소프트웨어 인터페이스를 제공할 수 있다. 오디오 드라이버(142)는 오디오 파일 또는 데이터 프로세싱 시스템(102)에 의해 제공된 다른 명령어들을 실행하여 트랜스듀서(140)를 제어하여 대응하는 음향 파장 또는 음파를 생성할 수 있다. 디스플레이(144)는 발광 다이오드, 유기 발광 다이오드, 액정 디스플레이, 레이저 또는 디스플레이와 같은 시각적 표시 또는 광학 출력을 제공하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 컴포넌트를 포함할 수 있다.
클라이언트 컴퓨팅 디바이스(104)는 디스플레이를 포함하거나 포함하지 않을 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(104)는 마이크로폰 및 스피커와 같은 제한된 유형의 사용자 인터페이스를 포함할 수 있다(예: 클라이언트 컴퓨팅 디바이스(104)는 음성 드라이브 또는 오디오 기반 인터페이스를 포함할 수 있음). 클라이언트 컴퓨팅 디바이스(104)는 스피커 기반 디지털 어시스턴트일 수 있다. 컴퓨팅 디바이스(104)의 프라이머리 사용자 인터페이스는 마이크로폰 및 스피커일 수 있다.
클라이언트 컴퓨팅 디바이스(104)는 로컬 디지털 어시스턴트(134)를 포함, 실행 또는 이와 통신할 수 있다. 로컬 디지털 어시스턴트(134)는 클라이언트 컴퓨팅 디바이스(104)에서 오디오 입력 신호와 같은 입력 신호를 검출할 수 있다. 입력 신호는 요청 또는 검색 요청을 포함할 수 있다. 로컬 디지털 어시스턴트(110)는 데이터 프로세싱 시스템(102)에서 실행되는 원격 디지털 어시스턴트 컴포넌트(112)의 인스턴스일 수 있거나 디지털 어시스턴트 컴포넌트(112)의 기능 중 임의의 기능을 수행할 수 있다.
로컬 디지털 어시스턴트(134)는 추가 프로세싱을 위해 용어를 데이터로서 데이터 프로세싱 시스템(102)(예: 원격 디지털 어시스턴트 컴포넌트(112))에 전송하기 전에 하나 이상의 용어들을 필터링하거나 용어를 수정할 수 있다. 로컬 디지털 어시스턴트(134)는 트랜스듀서에 의해 검출된 아날로그 오디오 신호를 디지털 오디오 신호로 변환하고, 디지털 오디오 신호를 운반하는 하나 이상의 데이터 패킷을 네트워크(105)를 통해 데이터 프로세싱 시스템(102)에 전송할 수 있다. 로컬 디지털 어시스턴트(134)는 그러한 전송을 수행하기 위한 명령어를 검출하는 것에 응답하여 입력 오디오 신호의 일부 또는 전부를 운반하는 데이터 패킷을 전송할 수 있다. 명령어는 예를 들어, 입력 오디오 신호를 포함하는 데이터 패킷을 데이터 프로세싱 시스템(102)에 전송하기 위한 트리거 키워드 또는 다른 키워드 또는 승인을 포함할 수 있다.
로컬 디지털 어시스턴트(134)는 데이터 프로세싱 시스템(102)에 의해 호스팅되거나 생성된 하나 이상의 지식 그래프(126)와 인터페이싱할 수 있다. 로컬 디지털 어시스턴트(134)는 지식 그래프(126)에 인터페이스를 제공하거나 렌더링할 수 있다. 예를 들어, 로컬 디지털 어시스턴트(134)는 데이터 프로세싱 시스템(102)에 전송되는 입력 신호를 수신할 수 있다. 원격 디지털 컴포넌트 어시스턴트(112)는 적어도 지식 그래프(126)에 기초하여 요청에 대한 응답을 결정할 수 있다. 로컬 디지털 어시스턴트(134)는 입력 신호로부터 파싱된 요청에 대한 결과 또는 응답을 제공하기 위해 지식 그래프(126)와 인터페이싱할 수 있다.
로컬 디지털 어시스턴트(134)는 입력 오디오 신호에 대해 사전-필터링 또는 프리-프로세싱을 수행하여 특정 주파수의 오디오를 제거할 수 있다. 사전-필터링은 저역 통과 필터, 고역 통과 필터 또는 대역 통과 필터와 같은 필터들을 포함할 수 있다. 주파수 영역에서 필터들이 적용될 수 있다. 필터들은 디지털 신호 프로세싱 기법을 사용하여 적용될 수 있다. 필터들은 사람의 음성 또는 사람의 말에 대응하는 주파수를 유지하면서 일반적인 사람의 말의 주파수를 벗어나는 주파수를 제거하도록 구성될 수 있다. 예를 들어, 대역 통과 필터는 제1 임계치(예를 들어, 70Hz, 75Hz, 80Hz, 85Hz, 90Hz, 95Hz, 100Hz 또는 105Hz) 미만 및 제2 임계치(예를 들어, 200Hz, 205Hz, 210Hz, 225Hz, 235Hz, 245Hz 또는 255Hz) 초과의 주파수들을 제거하도록 구성될 수 있다. 대역 통과 필터를 적용하면 다운 스트림 프로세싱에서 컴퓨팅 리소스 사용을 줄일 수 있다. 컴퓨팅 디바이스(104)상의 로컬 디지털 어시스턴트(134)는 입력 오디오 신호를 데이터 프로세싱 시스템(102)으로 전송하기 전에 대역 통과 필터를 적용하여, 네트워크 대역폭 이용을 감소시킬 수 있다. 그러나, 컴퓨팅 디바이스(104)에 이용 가능한 컴퓨팅 리소스 및 이용가능한 네트워크 대역폭에 기초하여, 데이터 프로세싱 시스템(102)이 필터링을 수행할 수 있도록 입력 오디오 신호를 데이터 프로세싱 시스템(102)에 제공하는 것이 더 효율적일 수 있다.
로컬 디지털 어시스턴트(134)는 자연어 프로세서를 방해할 수 있는 주변 소음 레벨을 감소시키기 위해 노이즈 감소 기법과 같은 추가 프리-프로세싱 또는 사전-필터링 기법을 적용할 수 있다. 노이즈 감소 기법은 자연어 프로세서의 정확성 및 속도를 향상시켜, 데이터 프로세싱 시스템(102)의 성능을 향상시키고 디스플레이(144)를 통해 제공되는 그래픽 사용자 인터페이스의 렌더링을 관리한다.
클라이언트 컴퓨팅 디바이스(104)는 (센서(138) 또는 트랜스듀서(140)를 통해) 클라이언트 컴퓨팅 디바이스(104)에 오디오 입력으로서 음성 쿼리를 입력하고, 데이터 프로세싱 시스템(102) 또는 디지털 컴포넌트 제공자 디바이스(106)로부터 클라이언트 디바이스(104)의 최종 사용자에게 제시, 디스플레이 또는 렌더링하기 위한 오디오 (또는 기타) 출력을 수신하는 최종 사용자와 연관될 수 있다.
디지털 컴포넌트는 데이터 프로세싱 시스템(102) 또는 디지털 컴포넌트 제공자 디바이스(106)으로부터 클라이언트 컴퓨팅 디바이스(104)에 제공될 수 있는 컴퓨터 생성 음성을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 컴퓨터 생성 음성을 트랜스듀서(140)(예: 스피커)를 통해 최종 사용자에게 렌더링할 수 있다. 컴퓨터 생성 음성은 실제 사람 또는 컴퓨터 생성 언어의 녹음을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 컴퓨팅 디바이스(104)에 통신 가능하게 연결된 디스플레이 디바이스(144)를 통해 시각적 출력을 제공할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 키보드를 통해 최종 사용자로부터 쿼리를 수신할 수 있다. 쿼리는 요청 또는 검색 요청일 수 있다.
클라이언트 컴퓨팅 디바이스(104)는 컴퓨팅 디바이스(104)의 센서(138)(예를 들어, 마이크로폰)에 의해 검출된 입력 오디오 신호를 수신할 수 있다. 입력 오디오 신호 또는 다른 형태의 입력 신호는 예를 들어, 쿼리, 질문, 명령, 지시, 요청, 검색 요청 또는 발화된 언어로 제공된 다른 진술을 포함할 수 있다.
클라이언트 컴퓨팅 디바이스(104)는 디지털 어시스턴트 디바이스를 포함, 실행 또는 참조될 수 있다. 디지털 어시스턴트 디바이스는 컴퓨팅 디바이스(104)의 하나 이상의 컴포넌트를 포함할 수 있다. 디지털 어시스턴트 디바이스는 데이터 프로세싱 시스템(102)으로부터 디스플레이 출력을 수신하고, 디스플레이 출력을 디스플레이(132)에 렌더링할 수 있는 그래픽 드라이버를 포함할 수 있다. 그래픽 드라이버는 그래픽 또는 시각적 출력이 디스플레이(144) 상에 디스플레이되는 방법을 제어 또는 향상시키는 하드웨어 또는 소프트웨어 컴포넌트를 포함할 수 있다. 그래픽 드라이버는 예를 들어, 그래픽 컴포넌트가 나머지 컴퓨팅 디바이스(104)(또는 디지털 어시스턴트)와 어떻게 동작하는지를 제어하는 프로그램을 포함할 수 있다. 로컬 디지털 어시스턴트(134)는 입력 오디오 신호를 필터링하여 필터링된 입력 오디오 신호를 생성하고, 필터링된 입력 오디오 신호를 데이터 패킷들로 변환하고, 데이터 패킷들을 하나 이상의 프로세서들 및 메모리를 포함하는 데이터 프로세싱 시스템으로 전송한다.
디지털 어시스턴트 디바이스는 오디오 드라이버(142) 및 스피커 컴포넌트(예를 들어, 트랜스듀서(140))를 포함할 수 있다. 프리-프로세서 컴포넌트(140)는 상기 디스플레이 출력의 표시를 수신하고, 상기 오디오 드라이버(142)에 지시하여 상기 스피커 컴포넌트(예: 트랜스듀서(140))로 하여금 상기 디스플레이 출력의 표시에 대응하는 오디오 출력을 전송하게 하는 출력 오디오 신호를 생성한다.
시스템(100)은 적어도 디지털 컴포넌트 제공자 디바이스(106)를 포함, 액세스 또는 이와 인터렉션할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 클라이언트 컴퓨팅 디바이스(104) 또는 데이터 프로세싱 시스템(102)에 디지털 컴포넌트를 제공할 수 있는 하나 이상의 서버를 포함할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 데이터 소스(135)를 제공하거나 이와 연관될 수 있다. 데이터 소스(135)는 웹사이트 또는 랜딩 페이지일 수 있다. 디지털 컴포넌트 제공자 디바이스(106)에 의해 제공되는 디지털 컴포넌트는 디지털 컴포넌트 제공자 디바이스(106)에 의해 제공되는 데이터 소스(135)와 연관될 수 있다. 예를 들어, 디지털 컴포넌트는 디지털 컴포넌트 제공자 디바이스(106)에 의해 제공되는 랜딩 페이지와 같은 데이터 소스(135)에 대한 링크를 포함하는 서드파티 콘텐츠일 수 있다.
디지털 컴포넌트 제공자 디바이스(106) 또는 그것의 컴포넌트는 데이터 프로세싱 시스템(102)과 통합되거나 또는 데이터 프로세싱 시스템(102)에 의해 적어도 부분적으로 실행될 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 네트워크(105)를 통해 통신하기 위한 프로세서를 가지는 컴퓨팅 디바이스 예를 들어 컴퓨팅 디바이스(104), 데이터 프로세싱 시스템(102) 또는 디지털 컴포넌트 제공자 디바이스(106)와 같은 적어도 하나의 로직 디바이스를 포함할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 적어도 하나의 계산 리소스, 서버, 프로세서 또는 메모리를 포함할 수 있다. 예를 들어, 디지털 컴포넌트 제공자 디바이스(106)는 적어도 하나의 데이터 센터에 위치된 복수의 계산 리소스 또는 서버를 포함할 수 있다.
디지털 컴포넌트 제공자 디바이스(106)는 클라이언트 컴퓨팅 디바이스(104)에 의해 제시하기 위한 오디오, 시각, 멀티미디어 기반 디지털 컴포넌트를 출력 디지털 컴포넌트 또는 시각적 출력 디지털 컴포넌트로서 제공할 수 있다. 용어 "디지털 컴포넌트"는 일반적으로 클라이언트 컴퓨팅 디바이스(104)에 의해 렌더링될 수 있는 데이터를 지칭한다. 디지털 컴포넌트는 웹사이트, 웹페이지, 애플리케이션, 텍스트 기반 콘텐츠, 오디오 기반 콘텐츠, 비디오 기반 콘텐츠, 기타 디지털 문서 또는 이들의 조합일 수 있다. 디지털 컴포넌트는 디지털 콘텐츠이거나 이를 포함할 수 있다. 디지털 컴포넌트는 디지털 오브젝트이거나 이를 포함할 수 있다. 디지털 컴포넌트는 복수의 디지털 콘텐츠 아이템 또는 디지털 컴포넌트를 포함할 수 있다. 예를 들어, 디지털 컴포넌트는 서드파티의 광고 또는 콘텐츠와 같은 다른 디지털 컴포넌트를 포함하는 웹사이트일 수 있다. 디지털 컴포넌트는 로컬 디지털 어시스턴트(134)의 인스턴스를 포함하거나 클라이언트 컴퓨팅 디바이스(104)가 로컬 디지털 어시스턴트(134)의 인스턴스를 실행하게 할 수 있다.
디지털 컴포넌트 제공자 디바이스(106)는 네트워크(105)를 통해 클라이언트 컴퓨팅 디바이스(104)에 디지털 컴포넌트를 제공하고, 데이터 프로세싱 시스템(102)을 우회할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 네트워크(105) 및 데이터 프로세싱 시스템(102)을 통해 클라이언트 컴퓨팅 디바이스(104)에 디지털 컴포넌트를 제공할 수 있다. 예를 들어, 디지털 컴포넌트 제공자 디바이스(106)는 디지털 컴포넌트를 데이터 프로세싱 시스템(102)에 제공할 수 있으며, 데이터 프로세싱 시스템(102)은 디지털 컴포넌트를 저장하고 클라이언트 컴퓨팅 디바이스(104)에 의해 요청될 때 클라이언트 컴퓨팅 디바이스(104)에 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트는 데이터 소스(135)로부터 유래될 수 있다. 데이터 소스는 웹페이지, 랜딩 페이지 또는 기타 콘텐츠를 호스팅하는 서버일 수 있다.
데이터 프로세싱 시스템(102)은 적어도 하나의 계산 리소스 또는 서버를 포함할 수 있다. 데이터 프로세싱 시스템(102)은 적어도 하나의 인터페이스(110)를 포함하거나, 그와 인터페이싱하거나 또는 그와 통신할 수 있다. 데이터 프로세싱 시스템(102)은 적어도 하나의 원격 디지털 어시스턴트 컴포넌트(110)를 포함하거나, 그와 인터페이싱하거나 또는 그와 통신할 수 있다. 원격 디지털 어시스턴트 컴포넌트(112)는 적어도 NLP 컴포넌트(114) 및 적어도 하나의 도메인 프로세서(117)를 포함하거나 이와 인터페이스 또는 통신할 수 있다. 데이터 프로세싱 시스템(102)은 적어도 하나의 디지털 컴포넌트 선택기(120)를 포함하거나, 그와 인터페이싱하거나 또는 그와 통신할 수 있다. 데이터 프로세싱 시스템(102)은 적어도 하나의 데이터 저장소(124)와의 인터페이스를 포함하거나 또는 이와 달리 그와 통신할 수 있다. 적어도 하나의 데이터 저장소(124)는 하나 이상의 데이터 구조 또는 데이터베이스에 지식 그래프(126) 및 콘텐츠 데이터(132)를 포함하거나 저장할 수 있다.
데이터 프로세싱 시스템(102)의 컴포넌트는 각각 적어도 하나의 프로세싱 유닛 또는 데이터베이스 저장소 또는 데이터베이스(124)와 통신하도록 구성된 프로그래머블 논리 어레이 엔진 또는 모듈과 같은 다른 논리 디바이스를 포함할 수 있다. 데이터 프로세싱 시스템(102)의 컴포넌트는 별개의 컴포넌트, 단일 컴포넌트 또는 다수의 데이터 프로세싱 시스템(102)의 일부일 수 있다. 데이터 프로세싱 시스템(102)과 같은 시스템(100) 및 그 컴포넌트는 하나 이상의 프로세서, 논리 디바이스 또는 회로와 같은 하드웨어 엘리먼트를 포함할 수 있다.
데이터 프로세싱 시스템(102)은 인터페이스(110)를 포함할 수 있다. 인터페이스(110)는 예를 들어 데이터 패킷을 사용하여 정보를 수신 및 전송하도록 설계, 구성, 또는 동작될 수 있다. 인터페이스(110)는 네트워크 프로토콜과 같은 하나 이상의 프로토콜을 사용하여 정보를 수신 및 전송할 수 있다. 인터페이스(110)는 하드웨어 인터페이스, 소프트웨어 인터페이스, 유선 인터페이스 또는 무선 인터페이스를 포함할 수 있다. 인터페이스(110)는 한 포맷에서 다른 포맷으로 데이터를 변환하거나 포맷하는 것을 용이하게 할 수 있다. 예를 들어, 인터페이스(110)는 소프트웨어 컴포넌트와 같은 다양한 컴포넌트들 사이에서 통신하기 위한 정의를 포함하는 어플리케이션 프로그래밍 인터페이스(API)를 포함할 수 있다.
데이터 프로세싱 시스템(102)의 원격 디지털 어시스턴트 컴포넌트(112)는 NLP 컴포넌트(114)를 실행하여 입력 신호를 포함하는 데이터 패킷을 수신 또는 획득할 수 있다. 입력 신호는 컴퓨팅 디바이스(104)의 센서(138)에 의해 검출된 입력 오디오 신호 또는 입력된 텍스트와 같은 다른 입력 신호를 포함할 수 있다. 예를 들어, 입력 신호는 키보드 또는 다른 텍스트 입력 시스템을 통해 사용자에 의해 클라이언트 컴퓨팅 디바이스(104)로 입력되는 텍스트를 포함할 수 있다. 데이터 패킷들은 디지털 파일을 제공할 수 있다. NLP 컴포넌트(114)는 입력 신호를 포함하는 디지털 파일 또는 데이터 패킷들을 수신 또는 획득하고 입력 신호를 파싱할 수 있다. 예를 들어, NLP 컴포넌트(114)는 인간과 컴퓨터 간의 인터렉션들을 제공할 수 있다. NLP 컴포넌트(114)는 입력 신호를 텍스트로 변환하고, 자연어를 이해하고 데이터 프로세싱 시스템(102)이 인간 또는 자연어 입력으로부터 의미를 도출하도록 하는 기법으로 구성될 수 있다.
NLP 컴포넌트(114)는 통계적 기계 학습과 같은 기계 학습에 기초한 기법을 포함하거나 그러한 기법으로 구성될 수 있다. NLP 컴포넌트(114)는 입력 오디오 신호를 파싱하기 위해 디시전 트리, 통계 모델 또는 확률 모델을 이용할 수 있다. NLP 컴포넌트(114)는 기능들을 포함할 수 있고, 상기 기능들은 명명된 엔터티 인식(예: 주어진 텍스트의 스트림, 사람들 또는 장소들과 같은 이름에 대한 텍스트 맵의 아이템 결정, 상기 각 이름이 어떤 유형인지 예를 들어, 사람, 위치(예: "집") 또는 조직, 자연어 생성(예: 컴퓨터 데이터베이스로부터의 정보 또는 의미론적 의도를 이해가능한 인간 언어로 변환), 자연어 이해(예: 컴퓨터 모듈이 조작할 수 있는 텍스트를 제1 순서 로직 구조와 같은 더 형식적인 표현으로 변환), 기계 번역(예: 텍스트를 하나의 인간 언어로부터 다른 언어로 자동적으로 번역), 형태학적 세그먼트화(예: 단어를 개별 형태소로 분리하고 형태소의 클래스를 식별, 이는 고려되고 있는 언어의 단어의 형태론 또는 구조의 복잡도에 따라 어려울 수 있음), 질문에 답변(예: 특정적이거나 개방적일 수 있는 인간-언어 질문에 대한 답을 결정) 또는 의미론 프로세싱(예: 식별된 단어를 유사한 의미의 다른 단어와 관련시키기 위해 단어를 식별하고 그것의 의미를 인코딩한 후에 발생할 수 있는 프로세싱)을 포함한다.
NLP 컴포넌트(114)는 입력 신호를(예를 들어, 데이터 저장소(124)에) 저장된 대표적인 오디오 파형 세트와 비교하고 가장 근접한 매칭을 선택함으로써, 입력 오디오 신호를 인식된 텍스트로 변환할 수 있다. 오디오 파형 세트는 데이터 저장소(124) 또는 데이터 프로세싱 시스템(102)이 액세스 가능한 다른 데이터베이스에 저장될 수 있다. 대표적인 파형은 다수의 사용자 세트에 걸쳐 생성될 수 있고, 그 후 사용자로부터의 음성 샘플로 보강될 수 있다. 오디오 신호가 인식된 텍스트로 변환된 후, NLP 컴포넌트(114)는 예를 들어, 데이터 프로세싱 시스템(102)이 제공할 수 있는 동작과 함께, 예를 들어 사용자를 통한 트레이닝 또는 수동 스펙을 통해 연관된 단어에 텍스트를 매칭한다. NLP 컴포넌트(114)는 이미지 또는 비디오 입력을 텍스트 또는 디지털 파일로 변환할 수 있다. NLP 컴포넌트(114)는 이미지 또는 비디오 입력을 프로세싱, 분석 또는 해석하여 액션을 수행하거나, 요청을 생성하거나, 데이터 구조를 선택 또는 식별할 수 있다.
NLP 컴포넌트(114)는 입력 신호를 획득할 수 있다. 입력 신호로부터, NLP 컴포넌트(114)는 적어도 하나의 요청을 식별할 수 있다. 요청은 의도 또는 디지털 컴포넌트를 나타내거나 검색 요청일 수 있다. 요청은 명시적으로 언급된 정보에 대한 요청일 수 있다. 예를 들어, 요청은 "자동차 모델 X가 어떤 색상으로 제공됩니까?"라는 질문일 수 있다. 의도는 도출되거나 명시적으로 언급되지 않을 수 있다. 예를 들어, 입력 신호 "car model X 2018"에서 입력 신호는 사용자가 2018년식 자동차 모델 X에 대한 정보를 원한다는 것을 명시적으로 나타내지 않지만 NLP 컴포넌트(114)는 의도를 도출할 수 있다.
NLP 컴포넌트(114)는 입력 신호를 파싱하여, 입력 신호로부터 요청을 식별, 결정, 검색 또는 획득할 수 있다. 예를 들어, NLP 컴포넌트(114)는 입력 신호에서 검색 요청을 식별하기 위해 의미론 프로세싱 기법을 입력 신호에 적용할 수 있다.
데이터 프로세싱 시스템(102)은 도메인 프로세서(117)의 인스턴스를 포함하거나 이와 인터페이싱할 수 있다. 도메인 프로세서(117)는 지식 그래프(126)를 생성하기 위해 도메인 프로세서(117)가 실행되는 컴퓨팅 디바이스를 가능하게 하도록 구성된 임의의 스크립트, 파일, 프로그램, 애플리케이션, 명령어 세트 또는 컴퓨터 실행가능 코드일 수 있다. 아래에서 더 상세히 설명되는 바와 같이, "지식 그래프"는 복수의 엔터티들 간의 관계를 표현하는 데이터 구조(예를 들어, 그래프 데이터 구조)일 수 있다. 엔터티는 데이터 소스와 연관된(예: 저장 및/또는 참조) 임의의 데이터일 수 있다.
도메인 프로세서(117)는 도메인-특정적인 지식 그래프(126)를 생성할 수 있다. 예를 들어, 도메인 프로세서(117)는 상이한 특정 웹사이트, 도메인, 데이터 수집, 다른 데이터 소스(135)에 대한 지식 그래프(126)를 생성할 수 있다. 도메인 프로세서(117)는 데이터 프로세싱 시스템(102)이 디지털 컴포넌트 제공자 디바이스(106)로부터 수신하는 디지털 컴포넌트 각각에 대한 지식 그래프(126)를 생성할 수 있다. 도메인 프로세서(117)는 지식 그래프(126)를 데이터 저장소(124)에 저장할 수 있다. 도메인 프로세서(117)는 관계형 데이터베이스에 지식 그래프(126)를 저장할 수 있다.
특정 도메인 아래의 웹사이트와 같은 데이터 소스(135)는 일반적으로 엔터티로 지칭될 수 있는 용어, 문구 또는 기타 데이터를 포함할 수 있다. 주어진 데이터 소스(135)에 대한 지식 그래프(126)는 데이터 소스(135)의 엔터티를 표현하는 노드를 포함할 수 있다.
지식 그래프(126)는 지식 그래프(126)에서 관련 노드를 연결하는 에지 또는 링크를 포함할 수 있다. 에지는 엔터티들 간의 관계를 표현할 수 있다. 예를 들어, 에지로 연결된 두 노드는 노드에 의해 표현된 엔터티가 관련되어 있음을 표시할 수 있다. 도메인 프로세서(117)는 에지에 가중치를 할당할 수 있다. 가중치는 링크로 연결된 노드 간의 관계의 정도를 표시할 수 있다. 예를 들어 가중치가 더 높은 에지는 노드에 의해 표현된 두 엔터티가 상대적으로 가중치가 낮은 에지로 연결된 두 엔터티보다 서로 더 관련이 있음을 표시할 수 있다. 에지는 에지에 의해 연결된 노드에 의해 표현된 엔터티 간의 의미론적 관계를 표현할 수 있다. 도메인 프로세서(117)는 지식 그래프(126)를 생성하기 위해 NLP 컴포넌트(114)로 데이터 소스의 텍스트, 문구, 또는 다른 엔터티를 프로세싱할 수 있다.
도메인 프로세서(117)는 데이터 소스의 엔터티에 기초하여 지식 그래프(126)를 생성할 수 있다. 데이터 소스는 디지털 컴포넌트와 관련되거나 연관될 수 있다. 예를 들어, 디지털 컴포넌트는 웹페이지의 퍼스트파티 콘텐츠와 함께 디스플레이되는 서드파티 콘텐츠일 수 있다. 디지털 컴포넌트는 랜딩 페이지, 웹사이트 또는 기타 데이터 소스에 대한 링크를 포함할 수 있다. 도메인 프로세서(117)는 디지털 컴포넌트가 링크하는 데이터 소스(예를 들어, 랜딩 페이지)의 지식 그래프(126)를 생성할 수 있다. 도메인 프로세서(117)는 데이터 소스의 표시와 연관하여 데이터 저장소(124)에 지식 그래프(126)를 저장할 수 있다. 도메인 프로세서(117)는 렌더링을 위해 클라이언트 컴퓨팅 디바이스(104)에 전송된 디지털 컴포넌트 각각에 대해 상이한 지식 그래프(126)를 생성할 수 있다.
디지털 컴포넌트에 대한 지식 그래프(126)는 1차 데이터로부터만 생성될 수 있다. 예를 들어, 지식 그래프(126)는 디지털 컴포넌트와 연관된 데이터 소스(135)에 포함된 엔터티 및 다른 데이터만에 기초하여 생성될 수 있다. 디지털 컴포넌트에 대한 지식 그래프(126)는 1차 및 2차 데이터로부터 생성될 수 있다. 1차 데이터는 디지털 컴포넌트와 연관된 데이터 소스(135)에 포함된 엔터티 및 기타 데이터일 수 있다. 2차 데이터는 서로 다른 데이터 소스(135) 또는 웹 검색과 연관된 엔터티 및 기타 데이터일 수 있다. 도메인 프로세서(117)는 1차 데이터와 2차 데이터에 서로 다른 가중치 팩터를 할당할 수 있다. 예를 들어, 1차 데이터의 엔터티는 2차 데이터의 엔터티와 비교할 때 두 노드 간의 에지 강도에 상대적으로 더 큰 영향을 미칠 수 있다.
디지털 컴포넌트 제공자 디바이스(106)는 디지털 컴포넌트를 데이터 프로세싱 시스템(102)에 전송할 수 있다. 데이터 프로세싱 시스템(102)은 디지털 컴포넌트를 콘텐츠 데이터(132)로서 저장할 수 있다. 디지털 컴포넌트는 웹사이트에 대한 서드파티 콘텐츠로 사용될 수 있다. 디지털 컴포넌트는 랜딩 페이지 또는 다른 데이터 소스(135)에 대한 URL 또는 링크를 포함할 수 있다. 데이터 프로세싱 시스템(102)이 디지털 컴포넌트 제공자 디바이스(106)로부터 디지털 컴포넌트를 수신할 때, 도메인 프로세서(117)는 디지털 컴포넌트에 의해 링크된 데이터 소스(135)에 대한 지식 그래프(126)를 생성할 수 있다. 도메인 프로세서(117)는 데이터 소스 또는 디지털 컴포넌트의 표시와 연관하여 데이터 저장소(124)에 지식 그래프(126)를 저장할 수 있다.
도메인 프로세서(117)는 지식 그래프(126)에 대한 인터페이스를 생성하고 디지털 컴포넌트에 포함시킬 수 있다. 인터페이스는 로컬 디지털 어시스턴트(134)의 인스턴스가 클라이언트 컴퓨팅 디바이스(104)에서 실행되게 하는 링크 또는 딥 링크일 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(104)는 요청에 응답하여 디지털 컴포넌트를 수신할 수 있다. 디지털 컴포넌트를 렌더링하는 것은 클라이언트 컴퓨팅 디바이스(104)가 로컬 디지털 어시스턴트(134)의 인스턴스를 시작하거나 실행하게 할 수 있다. 렌더링된 디지털 컴포넌트에 제시된 요청에 대한 응답은 지식 그래프(126)에 기초하여 생성될 수 있다.
데이터 프로세싱 시스템(102)은 디지털 컴포넌트 선택기(120)의 인스턴스를 실행할 수 있다. 디지털 컴포넌트 선택기(120)는 클라이언트 컴퓨팅 디바이스(104)에 의해 프로세싱될 수 있고 디스플레이(144) 또는 트랜스듀서(140)(예: 스피커)를 통해 사용자에게 제시될 수 있는 텍스트, 문자열, 문자, 비디오 파일, 이미지 파일 또는 오디오 파일을 포함하는 디지털 컴포넌트를 선택할 수 있다.
디지털 컴포넌트 선택기(120)는 입력 오디오 신호에서 NLP 컴포넌트(114)에 의해 식별된 요청에 응답하는 또는 이와 연관된 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기(120)는 어떤 디지털 컴포넌트 제공자 디바이스(106)가 요청을 이행해야 하거나 이행할 수 있는지를 선택할 수 있고 요청을 디지털 컴포넌트 제공자 디바이스(106)에 포워딩할 수 있다. 예를 들어, 데이터 프로세싱 시스템(102)은 디지털 컴포넌트 제공자 디바이스(106)와 클라이언트 컴퓨팅 디바이스(104) 사이의 세션을 개시하여 디지털 컴포넌트 제공자 디바이스(106)가 디지털 컴포넌트를 클라이언트 컴퓨팅 디바이스(104)에 전송할 수 있게 할 수 있다. 디지털 컴포넌트 선택기(120)는 디지털 컴포넌트 제공자 디바이스(106)로부터 디지털 컴포넌트를 요청할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 데이터 저장소(124)에 디지털 컴포넌트를 저장할 수 있는 데이터 프로세싱 시스템(102)에 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트에 대한 요청에 응답하여, 디지털 컴포넌트 선택기(120)는 데이터 저장소(124)로부터 디지털 컴포넌트를 검색할 수 있다.
디지털 컴포넌트 선택기(120)는 실시간 콘텐츠 선택 프로세스를 통해 다수의 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기(120)는 디지털 컴포넌트를 스코어링하고 순위를 매길 수 있으며, 디지털 컴포넌트의 스코어 또는 순위에 기초하여 복수의 디지털 컴포넌트로부터 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기(120)는 입력 오디오 신호(또는 그 안에 포함된 키워드 및 요청)에 기초하여 제2 클라이언트 컴퓨팅 디바이스(104)에 전송되는 하나 이상의 추가 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기(120)는 다른 디지털 컴포넌트 제공자 디바이스(106)와 연관된 추가적인 디지털 컴포넌트(예를 들어, 광고)를 선택할 수 있다.
디지털 컴포넌트 선택기(120)는 입력 신호에서 식별된 요청에 응답하여 디지털 컴포넌트를 컴퓨팅 디바이스(104) 또는 로컬 디지털 어시스턴트(134) 또는 제시를 위해 컴퓨팅 디바이스(104)에서 실행하는 애플리케이션에 제공할 수 있다. 따라서, 디지털 컴포넌트 선택기(120)는 클라이언트 컴퓨팅 디바이스(104)로부터 콘텐츠 요청을 수신하고, 콘텐츠 요청에 응답하여 디지털 컴포넌트를 선택하고, 제시하기 위한 디지털 컴포넌트를 클라이언트 컴퓨팅 디바이스(104)에 전송할 수 있다. 디지털 컴포넌트 선택기(120)는 로컬 디지털 어시스턴트(134) 자체 또는 클라이언트 컴퓨팅 디바이스(104)에 의해 실행되는 서드파티 애플리케이션에 의한 제시를 위해 선택된 디지털 컴포넌트를 로컬 디지털 어시스턴트(134)에 전송할 수 있다. 예를 들어, 로컬 디지털 어시스턴트(134)는 선택된 디지털 컴포넌트에 대응하는 오디오 신호를 재생하거나 출력할 수 있다.
데이터 저장소(124)는 예를 들어 디지털 컴포넌트 제공자 디바이스(106)에 의해 제공되거나 콘텐츠 선택을 용이하게 하기 위해 데이터 프로세싱 시스템(102)에 의해 획득되거나 결정된 디지털 컴포넌트를 포함할 수 있는 콘텐츠 데이터(132)를 저장할 수 있다. 콘텐츠 데이터(132)는 예를 들어 콘텐츠 아이템, 온라인 문서, 오디오, 이미지, 비디오, 멀티미디어 콘텐츠 또는 서드파티 콘텐츠를 포함할 수 있는 디지털 컴포넌트(또는 디지털 컴포넌트 오브젝트)를 포함할 수 있다. 콘텐츠 데이터(132)는 클라이언트 컴퓨팅 디바이스(104)(또는 그 최종 사용자)에 의해 제공되는 디지털 컴포넌트, 데이터 또는 정보를 포함할 수 있다. 예를 들어, 콘텐츠 데이터(132)는 사용자 선호, 사용자에 의해 저장된 사용자 정보, 또는 이전 입력 오디오 신호로부터의 데이터를 포함할 수 있다.
도 2는 응답을 생성하기 위해 예시적 지식 그래프(126)를 생성하고 사용하는 시스템(100)의 블록도를 도시한다. 도 2에 도시된 바와 같이. 시스템(100)은 클라이언트 컴퓨팅 디바이스(104)를 포함할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 데이터 프로세싱 시스템(102) 및 디지털 컴포넌트 제공자 디바이스(106)와 통신한다. 디지털 컴포넌트 제공자 디바이스(106)는 데이터 소스(135)를 호스팅하거나, 서비스하거나, 그렇지 않으면 이와 연관될 수 있다. 도 2에 도시된 바와 같이, 데이터 소스(135)는 랜딩 페이지일 수 있다. 랜딩 페이지는 디지털 컴포넌트와 연관된 웹사이트일 수 있다. 예를 들면, 디지털 컴포넌트는 랜딩 페이지에 대한 링크를 포함할 수 있다. 디지털 컴포넌트는 퍼스트파티 콘텐츠와 함께 웹사이트에 제시되는 서드파티 콘텐츠일 수 있다. 이 예에서, 디지털 컴포넌트는 ACME 커피 메이커와 관련된 이미지, 비디오, 오디오 클립 또는 텍스트일 수 있으며, 데이터 소스(135)는 ACME 커피 메이커에 대한 랜딩 페이지일 수 있다.
디지털 컴포넌트 제공자 디바이스(106)는 데이터 프로세싱 시스템(102)에 (ACME 커피 메이커에 대한 이 예에서) 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트 선택기(120)는 디지털 컴포넌트를 수신하고, 상기 디지털 컴포넌트를 데이터 저장소(124)에 저장할 수 있다. 데이터 프로세싱 시스템(102)은 상기 디지털 컴포넌트에 기초하여 지식 그래프(126)를 생성할 수 있다. 데이터 프로세싱 시스템(102)은 디지털 컴포넌트와 연관된 데이터 소스(135)에 기초하여 지식 그래프(126)를 생성할 수 있다. 예를 들어, 도메인 프로세서(117)는 NLP 컴포넌트(114)를 통해, 디지털 컴포넌트와 연관된 랜딩 페이지의 텍스트 또는 다른 콘텐츠를 프로세싱할 수 있다. 데이터 프로세싱 시스템(102)은 지식 그래프(126)를 데이터 저장소(124)에 저장할 수 있다. 디지털 컴포넌트 제공자 디바이스(106)는 디지털 컴포넌트와 연관된 지식 그래프(126)를 생성하고, 지식 그래프(126)를 디지털 컴포넌트와 함께 데이터 프로세싱 시스템(102)에 제공할 수 있다.
도 2에 도시된 예에서, 클라이언트 컴퓨팅 디바이스(104)는 모바일폰일 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 입력 신호(200)를 수신할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 상기 입력 신호를 입력 오디오 신호로서 수신할 수 있다. 예를 들어, 사용자는 클라이언트 컴퓨팅 디바이스(104)에 요청을 말할 수 있다. NLP 컴포넌트(114)의 인스턴스(클라이언트 컴퓨팅 디바이스(104) 또는 데이터 프로세싱 시스템(102)에서 실행됨)는 입력 신호를 파싱하여 입력 신호의 텍스트를 결정할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 키보드를 통해 입력 신호를 수신할 수 있다. 예를 들어, 사용자가 요청을 타이핑할 수 있다. NLP 컴포넌트(114)는 입력 신호(200)에서 검색 요청과 같은 요청을 식별하기 위해 입력 신호를 파싱할 수 있다. 도 2에 도시된 바와 같이, NLP 컴포넌트(114)는 입력 신호(200)를 파싱하여, 검색 요청을 "가장 가까운 커피숍이 어디야?"로 식별할 수 있다.
클라이언트 디바이스(104)는 입력 신호를 데이터 프로세싱 시스템(102)에 전송할 수 있다. 데이터 프로세싱 시스템(102)은 입력 신호로부터 파싱된 검색 요청에 대한 응답을 선택할 수 있다. 데이터 프로세싱 시스템(102)은 렌더링을 위해 클라이언트 컴퓨팅 디바이스(104)에 검색 응답을 전송할 수 있다. 도 2에 도시된 바와 같이, 응답은 검색 응답(202)으로서 사용자에게 렌더링될 수 있다. 검색 응답(202)은 텍스트, 이미지, 비디오, 오디오, 또는 이들의 임의의 조합으로 렌더링될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 검색 응답(202)은 텍스트로 렌더링된다. 클라이언트 컴퓨팅 디바이스(104)가 스피커 기반 디지털 어시스턴트인 경우, 검색 응답(202)은 오디오 출력 신호로서 렌더링될 수 있다.
검색 요청에 기초하여, 데이터 프로세싱 시스템(102)의 디지털 컴포넌트 선택기(120)는 디지털 컴포넌트(204)를 선택할 수 있다. 데이터 프로세싱 시스템(102)은 디지털 컴포넌트(204)를 클라이언트 컴퓨팅 디바이스(104)에 전송할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 디지털 컴포넌트(204)를 렌더링하여 디지털 컴포넌트(204)를 검색 응답(202)과 함께 사용자에게 디스플레이하거나 제시할 수 있다. 디지털 컴포넌트(204)는 다른 디지털 컴포넌트(206)에 포함될 수 있다. 디지털 컴포넌트(206)는 로컬 디지털 어시스턴트(134)에 의해 실행될 수 있다. 디지털 컴포넌트(206)는 지식 그래프(126)에 대한 인터페이스(208)를 포함할 수 있다. 인터페이스(208)는 텍스트 또는 오디오 기반 입력 신호와 같은 입력 신호를 수신하도록 구성될 수 있다. 인터페이스(208)는 입력 인터페이스(208)로 지칭될 수 있다. 디지털 컴포넌트(204 또는 206)는 랜딩 페이지(135)에 대한 링크를 포함할 수 있다. 디지털 컴포넌트(204 또는 206)를 선택하면 클라이언트 컴퓨팅 디바이스(104)가 랜딩 페이지(135)에 대한 링크에서 식별된 주소를 로드하는 웹 브라우저를 활성화하게 할 수 있다.
인터페이스(208)는 오디오 기반 또는 텍스트 기반 입력 신호와 같은 입력 신호를 수락할 수 있다. 클라이언트 컴퓨팅 디바이스(104)는 인터페이스(208)를 통해 입력 신호를 수신하고, 입력 신호를 데이터 프로세싱 시스템(102)에 전송할 수 있다. 입력 신호를 수신하기 위해, 인터페이스(208)는 사용자에 의해 활성화될 수 있다. 예를 들어, 사용자는 인터페이스(208)가 입력 신호를 수신하기 시작하도록 인터페이스(208)를 활성화하기 위해 디지털 컴포넌트(206) 또는 인터페이스(208)를 선택, 클릭 또는 탭할 수 있다. 인터페이스(208)를 활성화하면 입력 신호(200)가 수신되었던 인터페이스가 아닌 인터페이스(208)로 갈 수 있다. 로컬 디지털 어시스턴트(134)는 입력 신호가 인터페이스(208)에 제공되어야하는지 또는 데이터 프로세싱 시스템(102)에 제공되어야 하는지를 결정할 수 있다(입력 신호(200)가 그랬던 것처럼). 예를 들어, 로컬 디지털 어시스턴트(134)는 NLP 컴포넌트(114)의 로컬 인스턴스로 입력 신호를 프로세싱하고, 입력 신호로부터 파싱된 하나 이상의 용어 및 디지털 컴포넌트(204)의 컨텍스트 또는 키워드에 기초하여 인터페이스(208)에 입력 신호를 제공할 수 있다.
데이터 프로세싱 시스템(102)은 인터페이스(208)를 통해 입력 신호를 수신할 때 지식 그래프(126)에 기초하여 응답을 생성할 수 있다. 예를 들어, NLP 컴포넌트(114)는 입력 신호에서 요청을 파싱하기 위해 입력 신호를 프로세싱할 수 있다. 요청은 디지털 컴포넌트(204)와 관련된 추가 정보에 대한 요청일 수 있다. 예를 들어, 도 2에 도시된 예에서, 요청은 ACME 커피 메이커에 대한 추가 정보에 대한 것일 수 있다. 데이터 프로세싱 시스템(102)은 요청에 대한 응답을 생성하기 위해 디지털 컴포넌트(204)와 연관된 지식 그래프(126)를 사용할 수 있다. 예를 들어, 지식 그래프(126)는 응답이 랜딩 페이지(135) 내에 포함된 엔터티, 텍스트 및 기타 데이터에 특정한 응답을 제공하도록 디지털 컴포넌트(204)와 연관된 랜딩 페이지(135)에 기초할 수 있다. 예를 들어, 인터페이스(208)를 통해 수신된 요청은 "커피 메이커의 가격은 얼마야?"일 수 있다. 데이터 프로세싱 시스템(102)은 지식 그래프(126)를 사용하여 요청에 대한 응답을 생성할 수 있다. 응답은 랜딩 페이지(135)에 표시된 커피 메이커 가격을 포함할 수 있다.
디지털 컴포넌트(206)는 검색 요청에 응답하여 클라이언트 컴퓨팅 디바이스(104)에 전송될 수 있다. 디지털 컴포넌트(206)는 서드파티 콘텐츠에 대한 요청에 응답하여 클라이언트 컴퓨팅 디바이스(104)에 전송될 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스(104)는 퍼스트파티 콘텐츠를 포함하는 웹페이지를 로드할 수 있다. 웹페이지는 서드파티 콘텐츠용 슬롯을 포함할 수 있다. 웹페이지는 실행될 때 클라이언트 컴퓨팅 디바이스(104)가 데이터 프로세싱 시스템(102)으로부터 서드파티 콘텐츠를 요청하게 하는 스크립트 또는 다른 프로세서 실행가능 명령어를 포함할 수 있다. 데이터 프로세싱 시스템(102)은 디지털 컴포넌트 선택기(120)를 통해 웹페이지의 퍼스트파티 콘텐츠와 연관된 엔터티, 키워드, 콘텐츠 또는 데이터에 기초하여 디지털 컴포넌트(206)를 선택할 수 있다. 데이터 프로세싱 시스템(102)은 디지털 컴포넌트 제공자 디바이스(106) 및 인터페이스(208)로부터 디지털 컴포넌트(204)를 포함하도록 디지털 컴포넌트(206)를 생성할 수 있다. 인터페이스(208)는 클라이언트 컴퓨팅 디바이스(104)가 로컬 디지털 어시스턴트의 인스턴스를 시작하게 하는 프로세서 실행가능 명령어일 수 있다. 사용자가 퍼스트파티 콘텐츠 및 디지털 컴포넌트(206)를 포함하는 웹페이지를 보는 동안, 사용자는 인터페이스(208)에 신호를 입력할 수 있다. 인터페이스(208)는 입력 신호를 데이터 프로세싱 시스템(102)에 전송할 수 있다. 인터페이스(208)는 브라우저가 웹페이지를 떠나지 않게 하면서 입력 신호를 데이터 프로세싱 시스템(102)에 전송할 수 있다. 이것은 사용자가 웹페이지를 떠나지 않게 하면서 디지털 컴포넌트(204)에 대한 추가 정보를 수집하거나 요청할 수 있게 한다.
클라이언트 디바이스(104)는 음성 인터페이스를 포함할 수 있다. 예를 들어, 검색 응답(202)을 디스플레이하는 대신, 클라이언트 컴퓨팅 디바이스(104)는 검색 응답(202)을 출력 오디오 파일로서 렌더링할 수 있다. 디지털 컴포넌트(206 및 204)는 또한 예를 들어 검색 응답(202)의 렌더링 이후에 출력 오디오 신호로서 사용자에게 렌더링될 수 있다. 사용자는 인터페이스(208)에 입력 신호를 제공하기 위해 클라이언트 컴퓨팅 디바이스(104)에 대해 말할 수 있다.
도 3는 네트워크 시스템에서 도메인 특정 자연어 프로세싱 모델에 기초하여 응답을 생성하는 예시적 방법(300)의 블록도를 도시한다. 방법(300)은 입력 오디오 신호를 수신하는 단계를 포함할 수 있다(동작 302). 방법(300)은 입력 오디오 신호를 파싱하는 단계를 포함할 수 있다(동작 304). 방법(300)은 검색 결과를 선택하는 단계를 포함할 수 있다(동작 306). 방법(300)은 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다(동작 308). 방법(300)은 검색 결과와 디지털 컴포넌트를 전송하는 단계를 포함할 수 있다(동작 310). 방법(300)은 응답을 수신하는 단계를 포함할 수 있다(동작 312). 방법(300)은 응답을 선택하는 단계를 포함할 수 있다(동작 314). 방법(300)은 응답을 전송하는 단계를 포함할 수 있다(동작 316).
방법(300)은 입력 신호를 수신하는 단계를 포함할 수 있다(동작 302). 방법은 상기 데이터 프로세싱 시스템에서 실행되는 NLP 컴포넌트에 의해, 입력 신호를 수신하는 단계를 포함할 수 있다. 입력 신호는 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호일 수 있고, 데이터 프로세싱 시스템에 전송된다. 센서는 제1 클라이언트 디바이스의 마이크로폰일 수 있다. 입력 신호는 타이핑된 요청일 수 있다. 하나 이상의 프로세서 및 메모리를 포함하는 데이터 프로세싱 시스템에 의해 적어도 부분적으로 실행되는 디지털 어시스턴트 컴포넌트는 입력 신호를 수신할 수 있다. 입력 신호는 디지털 어시스턴트에 의해 지원된 대화를 포함할 수 있다. 대화는 하나 이상의 입력 및 출력을 포함할 수 있다. 대화는 오디오 기반, 텍스트 기반 또는 오디오와 텍스트의 조합일 수 있다. 입력 오디오 신호는 텍스트 입력 또는 대화 정보를 제공할 수 있는 다른 유형의 입력을 포함할 수 있다. 데이터 프로세싱 시스템은 대화에 대응하는 세션에 대한 입력을 수신할 수 있다.
방법(300)은 입력 신호를 파싱하는 단계를 포함할 수 있다(동작 304). 데이터 프로세싱 시스템의 NLP 컴포넌트는 입력 신호를 파싱하여 요청을 식별할 수 있다. 요청은 검색 요청일 수 있다. 요청은 데이터, 정보, 웹페이지 또는 검색에 대한 의도 또는 요청일 수 있다. NLP 컴포넌트는 요청에서 용어 또는 문구와 같은 하나 이상의 엔터티를 식별할 수 있다.
방법(300)은 검색 결과를 선택하는 단계를 포함할 수 있다(동작 306). 데이터 프로세싱 시스템은 적어도 입력 신호로부터 파싱된 검색 요청에 기초한 검색 결과를 선택할 수 있다. 데이터 프로세싱 시스템은 하나 이상의 검색 결과를 선택하고 검색 결과를 클라이언트 컴퓨팅 디바이스에 제공할 수 있는 검색 엔진 또는 검색 데이터 프로세싱 시스템을 포함하거나 이와 인터페이스할 수 있다.
방법(300)은 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다(동작 308). 데이터 프로세싱 시스템은 검색 요청에 기초하여 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 디지털 컴포넌트 제공자 디바이스는 데이터 프로세싱 시스템 후보 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트 제공자 디바이스는 후보 디지털 컴포넌트를 키워드와 연관시키거나 레이블을 지정할 수 있다. 디지털 컴포넌트 선택기는 디지털 컴포넌트의 키워드와 요청에서 식별된 엔터티(예를 들어, 용어) 간의 유사성에 기초하여 후보 디지털 컴포넌트로부터 하나 이상의 디지털 컴포넌트를 선택할 수 있다.
유사성은 매칭(match)일 수 있다. 예를 들어, 데이터 프로세싱 시스템은 요청에서 엔터티로 제시된 키워드를 갖는 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 도 2를 참조하면, 디지털 컴포넌트(204)는 키워드 "커피"로 라벨링될 수 있다. 디지털 컴포넌트 선택기는 "커피"라는 용어가 입력 신호(200)에 존재하기 때문에 디지털 컴포넌트(204)를 선택할 수 있다.
유사성은 의미론적 관계에 기초할 수 있다. 예를 들어, 검색은 휴가 렌탈에 대한 것일 수 있으며, 데이터 프로세싱 시스템은 "항공편 예약"이라는 문구가 휴가 렌탈과 의미론적으로 관련될 수 있기 때문에 키워드 "항공편 예약"을 포함하는 디지털 컴포넌트와 검색을 매칭할 수 있다.
디지털 컴포넌트는 랜딩 페이지 또는 다른 웹사이트와 같은 데이터 소스와 연관될 수 있다. 디지털 컴포넌트가 데이터 소스에 대한 링크를 포함하는 경우 디지털 컴포넌트는 데이터 소스와 연관될 수 있다. 디지털 컴포넌트는 링크가 클라이언트 컴퓨팅 디바이스에 의해 활성화될 때 링크가 클라이언트 컴퓨팅 디바이스에 의해 실행되는 웹브라우저로 하여금 데이터 소스를 검색하게 하는 링크를 포함할 수 있다. 데이터 프로세싱 시스템은 데이터 소스에 기초하여 지식 그래프를 생성할 수 있다. 예를 들어 지식 그래프는 데이터 소스에 포함된 용어, 문구 또는 기타 엔터티로부터 생성될 수 있다. 디지털 컴포넌트 제공자 디바이스는 지식 그래프를 생성하고, 후보 디지털 컴포넌트와 함께 지식 그래프를 데이터 프로세싱 시스템에 제공할 수 있다.
방법(300)은 결과와 디지털 컴포넌트를 전송하는 단계를 포함할 수 있다(동작 310). 데이터 프로세싱 시스템은 입력 신호를 데이터 프로세싱 시스템으로 전송한 클라이언트 컴퓨팅 디바이스에 검색 결과 및 디지털 컴포넌트를 전송할 수 있다. 클라이언트 컴퓨팅 디바이스가 결과와 디지털 컴포넌트를 수신하면, 클라이언트 컴퓨팅 디바이스는 결과와 디지털 컴포넌트를 렌더링할 수 있다. 디지털 컴포넌트를 렌더링하면 클라이언트 컴퓨팅 디바이스에서 로컬 디지털 어시스턴트의 인스턴스가 활성화되거나 실행될 수 있다. 로컬 디지털 어시스턴트는 디지털 컴포넌트를 렌더링하거나 디스플레이할 수 있다. 로컬 디지털 어시스턴트는 결과를 렌더링하거나 디스플레이할 수 있다.
디지털 컴포넌트는 지식 그래프에 대한 인터페이스를 포함할 수 있다. 예를 들어, 디지털 컴포넌트는 렌더링될 때 그래픽 인터페이스와 같은 입력 인터페이스를 사용자에게 제시할 수 있다. 입력 인터페이스를 통해 사용자는 요청을 입력할 수 있다. 요청은 디지털 컴포넌트를 통해 데이터 프로세싱 시스템에 전송될 수 있다.
방법(300)은 요청을 수신하는 단계를 포함할 수 있다(동작 312). 요청은 입력 신호 내에 있을 수 있다. 입력 신호는 오디오 기반 또는 텍스트 기반 입력 신호일 수 있다. 예를 들어, 사용자는 클라이언트 컴퓨팅 디바이스의 마이크로폰에 의해 검출될 수 있는 입력 인터페이스에 질문을 말할 수 있다. 로컬 디지털 어시스턴트는 입력 신호를 수신하고, 입력 신호를 데이터 프로세싱 시스템에 전송할 수 있다. 입력 신호가 입력 오디오 신호인 경우, NLP 컴포넌트는 입력 신호를 수신하고 입력 신호에서 요청을 파싱할 수 있다.
방법(300)은 응답을 선택하는 단계를 포함할 수 있다(동작 314). 디지털 컴포넌트 선택기는 입력 신호에 포함된 요청에 대한 응답을 선택할 수 있다. 데이터 프로세싱 시스템은 동작 310에서 클라이언트 컴퓨팅 디바이스에 전송되었던 디지털 컴포넌트와 연관된 지식 그래프에 기초하여 응답을 생성할 수 있다.
방법(300)은 응답을 전송하는 단계를 포함할 수 있다(동작 316). 데이터 프로세싱 시스템은 클라이언트 컴퓨팅 디바이스에 응답을 전송할 수 있다. 데이터 프로세싱 시스템은 상기 응답 및 클라이언트 컴퓨팅 디바이스에서 상기 응답을 렌더링하는 방법에 대한 명령어를 포함하는 응답을 디지털 컴포넌트에 포함시킬 수 있다. 클라이언트 컴퓨팅 디바이스는 동작 310에서 클라이언트 컴퓨팅 디바이스에 전송된 디지털 컴포넌트 내에서 응답을 렌더링하거나 디스플레이할 수 있다. 이전에 클라이언트 컴퓨팅 디바이스에 전송된 디지털 컴포넌트 내에서 응답을 렌더링하면, 현재 사용자에게 디스플레이된 콘텐츠를 변화시키거나 변경하지 않고도 응답이 사용자에게 제시되게 할 수 있다. 예를 들어, 도 2를 참조하면, 디지털 컴포넌트(206) 내에서 결과를 렌더링하는 것은 사용자가 디지털 컴포넌트(204)에 대한 추가 정보를 요청하고 수신하는 동안 입력 신호(200) 및 검색 응답(202)이 사용자에게 계속 디스플레이되게 할 수 있다.
도 4는 네트워크 시스템에서 도메인 특정 자연어 프로세싱 모델에 기초하여 응답을 생성하는 예시적 방법(400)의 블록도를 도시한다. 방법(400)은 응답을 수신하는 단계를 포함할 수 있다(동작 402). 방법(400)은 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다(동작 404). 방법(400)은 디지털 컴포넌트를 전송하는 단계를 포함할 수 있다(동작 406). 방법(400)은 입력 신호를 수신하는 단계를 포함할 수 있다(동작 408). 방법(400)은 입력 신호를 파싱하는 단계를 포함할 수 있다(동작 410). 방법(400)은 응답을 선택하는 단계를 포함할 수 있다(동작 412). 방법(400)은 요청을 전송하는 단계를 포함할 수 있다(동작 414).
방법(400)은 응답을 수신하는 단계를 포함할 수 있다(동작 402). 요청은 서드파티 콘텐츠에 대한 요청일 수 있다. 요청은 클라이언트 컴퓨팅 디바이스로부터 수신될 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스는 웹 브라우저를 포함할 수 있다. 웹브라우저는 퍼스트파티 콘텐츠를 포함하는 웹사이트를 수신하고 렌더링할 수 있다. 웹사이트는 서드파티 콘텐츠용 슬롯을 포함할 수 있다. 슬롯은 웹브라우저가 콘텐츠 요청을 데이터 프로세싱 시스템에 전송하게 하는 프로세서 실행 가능 명령어를 포함할 수 있다. 요청은 콘텐츠 파라미터를 포함할 수 있다. 콘텐츠 파라미터는 반환된 디지털 컴포넌트에 대한 크기 요구사항 또는 데이터 프로세싱 시스템이 디지털 컴포넌트를 선택하는데 사용할 수 있는 키워드일 수 있다.
방법(400)은 디지털 컴포넌트를 선택하는 단계를 포함할 수 있다(동작 404). 데이터 프로세싱 시스템은 복수의 디지털 컴포넌트로부터 디지털 컴포넌트를 선택할 수 있다. 데이터 프로세싱 시스템의 디지털 컴포넌트 선택기는 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기는 실시간 콘텐츠 선택 프로세스를 통해 다수의 디지털 컴포넌트를 선택할 수 있다. 디지털 컴포넌트 선택기는 디지털 컴포넌트에 점수를 매기고 순위를 지정할 수 있다. 디지털 컴포넌트 선택기는 디지털 컴포넌트의 점수 및 순위에 기초하여 복수의 디지털 컴포넌트로부터 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 디지털 컴포넌트 선택기는 가장 높은 순위 또는 점수를 가진 디지털 컴포넌트를 선택할 수 있다. 데이터 프로세싱 시스템은 선택된 디지털 컴포넌트와 연관된 지식 그래프에 대한 인터페이스와 함께 디지털 컴포넌트를 다른 디지털 컴포넌트에 포함시킬 수 있다.
방법(400)은 디지털 컴포넌트를 전송하는 단계를 포함할 수 있다(동작 406). 데이터 프로세싱 시스템은 선택된 디지털 컴포넌트를 클라이언트 컴퓨팅 디바이스에 전송할 수 있다. 클라이언트 컴퓨팅 디바이스는 디지털 컴포넌트를 수신하고, 웹페이지의 슬롯 중 하나에 디지털 컴포넌트를 서드파티 콘텐츠로 렌더링할 수 있다. 퍼스트파티 콘텐츠로 디지털 컴포넌트를 렌더링하면 최종 사용자에게 디지털 컴포넌트와 연관된 지식 그래프에 대한 인터페이스를 제시할 수 있다. 예를 들어, 디지털 컴포넌트의 렌더링은 클라이언트 컴퓨팅 디바이스로 하여금 디지털 어시스턴트의 로컬 인스턴스를 시작하거나 실행하게 할 수 있다. 인터페이스는 입력 신호를 수신하도록 구성될 수 있다. 입력 신호는 텍스트 기반 또는 오디오 기반일 수 있다. 클라이언트 컴퓨팅 디바이스는 디지털 컴포넌트를 통해 수신된 입력 신호를 데이터 프로세싱 시스템에 전송할 수 있다.
방법(400)은 입력 신호를 수신하는 단계를 포함할 수 있다(동작 408). 방법(400)은 상기 데이터 프로세싱 시스템에서 실행되는 NLP 컴포넌트에 의해, 입력 신호를 수신하는 단계를 포함할 수 있다. 입력 신호는 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호일 수 있고, 데이터 프로세싱 시스템에 전송된다. 센서는 제1 클라이언트 디바이스의 마이크로폰일 수 있다. 입력 신호는 타이핑된 요청일 수 있다. 하나 이상의 프로세서 및 메모리를 포함하는 데이터 프로세싱 시스템에 의해 적어도 부분적으로 실행되는 디지털 어시스턴트 컴포넌트는 입력 신호를 수신할 수 있다.
방법(400)은 입력 신호를 파싱하는 단계를 포함할 수 있다(동작 410). 데이터 프로세싱 시스템의 NLP 컴포넌트는 입력 신호를 파싱하여 요청을 식별할 수 있다. 요청은 검색 요청일 수 있다. 요청은 데이터, 정보, 웹 페이지 또는 검색에 대한 의도 또는 요청일 수 있다. NLP 컴포넌트는 요청에서 용어 또는 문구와 같은 하나 이상의 엔터티를 식별할 수 있다. 예를 들어, 요청은 서드파티 콘텐츠로서 클라이언트 컴퓨팅 디바이스에 제공된 디지털 컴포넌트와 관련된 정보 또는 데이터에 대한 것일 수 있다.
방법(400)은 응답을 선택하는 단계를 포함할 수 있다(동작 412). 입력 신호가 전송되었던 디지털 컴포넌트는 지식 그래프와 연관될 수 있다. 지식 그래프는 디지털 컴포넌트와 연관된 데이터 소스(예: 랜딩 페이지) 내에 포함된 용어 또는 엔터티로부터 생성될 수 있다. 데이터 프로세싱 시스템은 디지털 컴포넌트와 연관된 지식 그래프에 기초하여 응답을 선택할 수 있다. 예를 들어 데이터 프로세싱 시스템의 NLP 컴포넌트는 지식 그래프를 사용하여 랜딩 페이지에 포함된 엔터티 및 데이터에 기초하여 응답을 생성할 수 있다.
방법(400)은 요청을 전송하는 단계를 포함할 수 있다(동작 414). 데이터 프로세싱 시스템은 클라이언트 컴퓨팅 디바이스에 응답을 전송할 수 있다. 클라이언트 컴퓨팅 디바이스는 응답을 수신하고, 동작 406에서 클라이언트 컴퓨팅 디바이스에 전송된 디지털 컴포넌트 내에서 응답을 렌더링할 수 있다. 디지털 컴포넌트 내에서 응답을 렌더링하면 사용자에게 제시되는 퍼스트파티 콘텐츠를 변화시키거나 변경하지 않고도 사용자에게 응답을 제시할 수 있다. 예를 들어, 사용자는 응답을 보거나 수신하기 위해 퍼스트파티 콘텐츠를 디스플레이하는 원래 웹사이트를 떠날 필요가 없다.
도 5는 예시적 컴퓨터 시스템(500)의 블록도이다. 컴퓨터 시스템 또는 컴퓨팅 디바이스(500)는 시스템(100) 또는 데이터 프로세싱 시스템(102)과 같은 그 컴포넌트를 포함하거나 이를 구현하는데 사용될 수 있다. 데이터 프로세싱 시스템(102)은 지능형 개인 어시스턴트 또는 음성 기반 디지털 어시스턴트를 포함할 수 있다. 컴퓨팅 시스템(500)은 정보를 통신하기 위한 버스(505) 또는 다른 통신 컴포넌트 및 정보를 프로세싱하기 위해 버스(505)에 연결된 프로세서(510) 또는 프로세싱 회로를 포함한다. 컴퓨팅 시스템(500)은 또한 정보를 프로세싱하기 위해 버스에 연결된 하나 이상의 프로세서들(510) 또는 프로세싱 회로들을 포함할 수 있다. 컴퓨팅 시스템(500)은 또한 정보 및 프로세서(510)에 의해 실행될 명령어들을 저장하기 위해 버스(505)에 연결된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(515)를 포함한다. 메인 메모리(515)는 데이터 저장소(124)이거나 데이터 저장소(145)를 포함할 수 있다. 메인 메모리(515)는 또한 프로세서(510)에 의한 명령어들의 실행 동안 위치 정보, 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 컴퓨팅 시스템(500)은 프로세서(510)를 위한 정적 정보 및 명령어들을 저장하기 위해 버스(505)에 연결된 ROM(read-only memory)(520) 또는 다른 정적 저장 디바이스를 더 포함할 수 있다. 솔리드 스테이트 디바이스(SSD), 자기 디스크 또는 광 디스크와 같은 저장 디바이스(525)는 정보 및 명령어들을 영구적으로 저장하기 위해 버스(505)에 연결될 수 있다. 저장 디바이스(525)는 데이터 저장소(124)를 포함하거나 데이터 저장소(145)의 일부일 수 있다.
컴퓨팅 시스템(500)은 버스(505)를 통해, 사용자에게 정보를 디스플레이하기 위한 액정 디스플레이 또는 액티브 매트릭스 디스플레이와 같은 디스플레이(535)에 연결될 수 있다. 정보 및 명령 선택을 프로세서(510)와 통신하기 위해 영숫자 및 다른 키를 포함하는 키보드와 같은 입력 디바이스(530)가 버스(505)에 연결될 수 있다. 입력 디바이스(530)는 터치 스크린 디스플레이(535)를 포함할 수 있다. 입력 디바이스(530)는 또한 방향 정보 및 명령 선택을 프로세서(510)와 통신하고 디스플레이(535) 상의 커서 움직임을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키와 같은 커서 제어를 포함할 수 있다. 디스플레이(535)는 예를 들면, 데이터 프로세싱 시스템(102), 클라이언트 컴퓨팅 디바이스(104) 또는 도 1의 다른 컴포넌트의 일부일 수 있다.
본 명세서에 기술된 프로세스, 시스템 및 방법은 프로세서(510)가 메인 메모리(515)에 포함된 명령어들의 배열을 실행하는 것에 응답하여 컴퓨팅 시스템(500)에 의해 구현될 수 있다. 이러한 명령어들은 저장 디바이스(525)와 같은 다른 컴퓨터 판독 가능 매체로부터 메인 메모리(515)로 판독될 수 있다. 메인 메모리(515)에 포함된 명령어들의 배열의 실행은 컴퓨팅 시스템(500)으로 하여금 본 명세서에 기술된 예시적 프로세스들을 수행하게 한다. 멀티-프로세싱 배열에서 하나 이상의 프로세서들은 또한 메인 메모리(515)에 포함된 명령어들을 실행하기 위해 이용될 수 있다. 본 명세서에 기술된 시스템 및 방법과 함께 소프트웨어 명령어들 대신에 또는 소프트웨어 명령어들과 조합하여 유선 회로가 사용될 수 있다. 본 명세서에 기술된 시스템 및 방법은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 한정되지 않는다.
예시적 컴퓨팅 시스템이 도 5에 설명되었지만. 본 명세서에 기술된 동작을 포함하는 본 발명은 본 명세서에 개시된 구조 및 그들의 구조적 균등물 또는 그들 중 하나 이상의 조합을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 개인 정보 예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 사용자의 선호들 또는 사용자의 위치에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버 또는 기타 데이터 프로세싱 시스템으로부터의 콘텐츠를 수신할지 또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 익명화되어, 파라미터들을 생성하는 경우 개인적으로 식별가능한 정보는 제거되도록 한다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 익명화되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 그 또는 그녀에 관한 정보가 어떻게 수집되는지 그리고 콘텐츠 서버에 의해 사용되는지에 관한 제어를 가질 수 있다.
본 발명과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명은 하나 이상의 컴퓨터 프로그램 예를 들어, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 회로로서 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령어는 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다. 본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 프로세싱 시스템", "컴퓨팅 디바이스", "컴포넌트" 또는 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것 또는 조합을 포함하는 데이터를 프로세싱하기 위한 다양한 장치, 디바이스 및 기계를 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다. 예를 들면, 인터페이스(110), 디지털 컴포넌트 선택기(120), 도메인 프로세서(117) 또는 NLP 컴포넌트(114) 및 다른 데이터 프로세싱 시스템(102) 컴포넌트는 하나 이상의 데이터 프로세싱 장치, 시스템, 컴퓨팅 디바이스 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 앱, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있다. 컴퓨터 프로그램은 다른 프로그램이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트를 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일, 예를 들어, 하나 이상의 모듈, 서브프로그램 또는 코드의 일부를 저장하는 파일에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들(예: 데이터 프로세싱 시스템(102)의 컴포넌트들)을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 디바이스는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 예를 들어, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
본 명세서에서 기술된 발명은 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
시스템(100) 또는 시스템(500)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크(예: 네트워크(105)를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 구현예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, 디지털 컴포넌트를 표현하는 데이터 패킷들)를 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서, 클라이언트 디바이스로부터 수신될 수 있다(예를 들어, 클라이언트 디바이스(104) 또는 디지털 컴포넌트 제공자 디바이스(106)로부터 데이터 프로세싱 시스템(102)에 의해 수신).
동작들이 특정한 순서로 도면에 도시되었지만, 상기 동작들은 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것이 아니며, 모든 도시된 동작들이 수행되어야만 하는 것은 아니다. 본 명세서에 기술된 액션들은 다른 순서로 수행될 수 있다.
다양한 시스템 컴포넌트들의 분리는 모든 구현예들에서의 분리를 필요로 하지 않으며, 기술된 프로그램 컴포넌트들은 단일 하드웨어 또는 소프트웨어 제품에 포함될 수 있다. 예를 들어, NLP 컴포넌트(114), 도메인 프로세서(117) 또는 디지털 컴포넌트 선택기(120)는 단일 컴포넌트, 앱 또는 프로그램, 또는 하나 이상의 프로세싱 회로를 갖는 논리 디바이스이거나 또는 데이터 프로세싱 시스템(102)의 하나 이상의 서버의 일부일 수 있다.
일부 예시적 구현예들을 설명하였지만, 전술한 예는 예시적인 것이며 제한적인 것은 아니며 예시로서 제시되었다. 특히, 본 명세서에 제시된 많은 예들이 방법 동작들 또는 시스템 엘리먼트들의 특정 조합을 포함하지만, 그러한 동작들 및 엘리먼트들은 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수 있다. 하나의 구현예와 관련하여 논의된 동작, 엘리먼트 및 구성들은 다른 구현 또는 구현예들에서 유사한 역할로부터 배제되지 않는다.
본 명세서에서 사용된 문구 및 용어는 설명의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. "포함(including)" "포함(comprising)" "포함(having)" "포함(containing)" "포함(involving)" "포함(characterized by)" "포함(characterized in that)” 및 본 명세서에서 이들의 변형들은 열거된 아이템들, 그 균등물 및 추가 아이템들뿐만 아니라 배타적으로 열거된 아이템들로 구성되는 대안적 구현예들을 포함하는 것을 의미한다. 일 구현예에서, 본 명세서에 기술된 시스템 및 방법은 설명된 엘리먼트들, 동작들 또는 컴포넌트들 중 하나, 하나 이상의 조합 또는 전부로 구성된다.
단수형으로 본 명세서에서 언급된 시스템 및 방법의 구현 또는 엘리먼트에 관한 참조는 이들 엘리먼트들 복수형을 포함하는 구현예들을 포함할 수 있고, 복수형으로 본 명세서에서 언급된 임의의 구현예 또는 엘리먼트에 대한 임의의 참조는 단수형 엘리먼트를 포함하는 구현예들을 포함할 수 있다. 단수 또는 복수 형태의 참조는 현재 개시된 시스템 또는 방법, 그들의 컴포넌트들, 동작 또는 엘리먼트를 단수 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 엘리먼트에 기초한 임의의 동작 또는 엘리먼트에 대한 참조는 해당 동작 또는 엘리먼트가 적어도 부분적으로 임의의 정보, 동작 또는 엘리먼트에 기초하는 구현예를 포함할 수 있다.
본 명세서에 개시된 임의의 구현예는 임의의 다른 구현예 또는 실시예와 결합될 수 있으며, "구현예", "일부 구현예", "일 구현예” 등은 반드시 상호 배타적이지 않고, 구현예와 관련하여 기술된 특정한 구성, 구조 또는 특성이 적어도 하나의 구현예 또는 실시예에 포함될 수 있음을 나타낸다. 본 명세서에 사용된 용어들은 반드시 모두 동일한 구현예를 지칭하는 것은 아니다. 임의의 구현예는 본 명세서에 개시된 양태들 및 구현예들과 일관된 방식으로 임의의 다른 구현예와 포괄적으로 또는 배타적으로 결합될 수 있다.
"또는"에 대한 참조는 "또는"을 사용하여 기술된 임의의 용어가 기술된 용어들 중 하나, 하나 이상 및 전부를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다. 예를 들어, "A 및 B 중 적어도 하나"에 대한 참조는 A 및 B 뿐만 아니라 A와 B 둘 모두를 포함할 수 있다. "포함하는" 또는 다른 개방 용어와 함께 사용되는 이러한 참조는 추가적 아이템들을 포함할 수 있다.
도면, 상세한 설명 또는 청구범위의 기술적 구성에 참조 부호가 있는 경우, 상기 참조 부호는 도면, 상세한 설명 및 청구 범위의 명료성을 증가시키기 위해 포함되었다. 따라서, 참조 부호 또는 그것의 부재는 임의의 청구항 엘리먼트의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템 및 방법은 그 특성을 벗어나지 않고 다른 특정 형태로 구체화될 수 있다. 예를 들어, 컴퓨팅 디바이스(104)는 패키징된 데이터 오브젝트를 생성하고, 그것을 애플리케이션을 런칭할 때 서드파티 애플리케이션으로 포워딩할 수 있다. 전술한 구현예들은 기술된 시스템 및 방법을 제한하는 것이라기 보다는 예시적인 것이다. 따라서, 본 명세서에 기술된 시스템 및 방법의 범위는 상술한 설명보다는 첨부된 청구범위에 의해 표시되며, 청구범위의 의미 및 범위 내에서의 변경들도 그 안에 포함된다.

Claims (25)

  1. 네트워크 시스템에서 도메인-특정 자연어 프로세싱 모델에 기초하여 응답을 생성하는 시스템으로서,
    하나 이상의 프로세서 및 메모리를 포함하는 데이터 프로세싱 시스템을 포함하며, 상기 하나 이상의 프로세서는 자연어 프로세서 컴포넌트 및 디지털 컴포넌트 선택기를 실행하여:
    상기 자연어 프로세서 컴포넌트에 의해, 상기 데이터 프로세싱 시스템의 인터페이스를 통해, 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신하고;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 제1 검색 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하고;
    상기 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해, 상기 제1 검색 요청에 적어도 기초하여 검색 결과를 선택하고;
    상기 디지털 컴포넌트 선택기에 의해, 상기 제1 검색 요청에 기초하여 디지털 컴포넌트를 선택하고, 상기 디지털 컴포넌트는 복수의 엔터티들을 포함하는 데이터 소스에 대한 링크 및 상기 데이터 소스의 복수의 엔터티들 간의 관계를 표현하는 지식 그래프와 연관되며, 상기 디지털 컴포넌트는 상기 지식 그래프에 기초한 요청 응답에 대한 입력 인터페이스를 포함하며;
    상기 인터페이스에 의해, 상기 데이터 소스에 대한 링크를 포함하고 상기 지식 그래프와 연관된 디지털 컴포넌트를 상기 검색 결과와 함께 제1 클라이언트 디바이스에 전송하고;
    상기 인터페이스에 의해, 상기 클라이언트 디바이스에 의해 렌더링된 디지털 컴포넌트의 입력 인터페이스를 통해, 제2 검색 요청을 수신하고;
    상기 디지털 컴포넌트 선택기에 의해, 상기 지식 그래프에 기초하여, 상기 제2 검색 요청에 기초한 응답을 선택하고; 그리고
    상기 인터페이스에 의해, 상기 디지털 컴포넌트 내에서 상기 응답을 렌더링하기 위해 상기 응답을 상기 제1 클라이언트 디바이스에 전송하는, 시스템.
  2. 청구항 1에 있어서,
    상기 데이터 소스의 복수의 엔터티들에 기초하여 상기 지식 그래프를 생성하기 위해 상기 데이터 프로세싱 시스템에 의해 실행되는 도메인 프로세서를 더 포함하는, 시스템.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 지식 그래프는 상기 데이터 소스의 복수의 엔터티들 간의 의미론적 관계를 표현하는, 시스템.
  4. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 데이터 소스는 상기 디지털 컴포넌트에 대한 랜딩 페이지를 포함하는, 시스템.
  5. 선행하는 청구항들 중 어느 한 항에 있어서,
    제2 검색 요청을 상기 디지털 컴포넌트의 입력 인터페이스를 통해 상기 제1 클라이언트 디바이스의 센서에 의해 검출된 제2 입력 오디오 신호로서 수신하는 자연어 프로세서 컴포넌트;
    상기 제2 입력 오디오 신호에서 요청을 식별하기 위해 상기 제2 입력 오디오 신호를 파싱하는 자연어 프로세서 컴포넌트;
    상기 지식 그래프에 적어도 기초하여 상기 제2 입력 오디오 신호에서 상기 요청에 대한 응답을 포함하는 제2 디지털 컴포넌트를 생성하는 도메인 프로세서; 및
    상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 인터페이스를 더 포함하는, 시스템.
  6. 청구항 5에 있어서,
    상기 제2 입력 오디오 신호에서 상기 요청에 기초하여 콘텐츠 제공자를 선택하는 디지털 컴포넌트 선택기;
    상기 디지털 컴포넌트에 상기 콘텐츠 제공자에 대한 링크를 포함하는 디지털 컴포넌트 선택기를 포함하는, 시스템.
  7. 선행하는 청구항들 중 어느 한 항에 있어서,
    상기 제2 검색 요청에 기초하여 제2 데이터 소스를 선택하는 디지털 컴포넌트 선택기, 상기 제2 데이터 소스는 제2 복수의 엔터티들을 포함하며; 및
    상기 데이터 소스의 복수의 엔터티들과 상기 제2 데이터 소스의 제2 복수의 엔터티들 간의 의미론적 관계를 표현하는 상기 지식 그래프를 생성하는 도메인 프로세서를 포함하는, 시스템.
  8. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 지식 그래프는 상기 데이터 소스의 복수의 엔터티들 각각을 표현하는 노드들 및 상기 노드들 간의 관계를 표현하는 에지들을 포함하는, 시스템.
  9. 청구항 8에 있어서,
    노드들 간의 관계를 표현하는 에지들 각각에 대한 가중치를 계산하는 도메인 프로세서를 포함하는, 시스템.
  10. 선행하는 청구항들 중 어느 한 항에 있어서,
    상기 제1 클라이언트 디바이스에 의해 검출된 제2 입력 신호를 수신하는 자연어 프로세서 컴포넌트;
    상기 제2 입력 신호에서 요청을 식별하기 위해 상기 제2 입력 신호를 파싱하는 자연어 프로세서 컴포넌트;
    상기 지식 그래프에 적어도 기초하여 상기 제2 입력 신호에서 상기 요청에 대한 응답을 포함하는 제2 디지털 컴포넌트를 생성하는 도메인 프로세서; 및
    상기 제2 입력 신호에서의 요청에 응답하여 상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 인터페이스를 더 포함하는, 시스템.
  11. 선행하는 청구항들 중 어느 한 항에 있어서,
    상기 제1 클라이언트 디바이스로부터 콘텐츠 요청을 수신하는 디지털 컴포넌트 선택기;
    상기 콘텐츠 요청에 기초하여 제2 디지털 컴포넌트를 선택하는 디지털 컴포넌트 선택기, 상기 제2 디지털 컴포넌트는 제2 데이터 소스 및 상기 제2 데이터 소스에 기초한 제2 지식 그래프와 연관되며;
    콘텐츠 슬롯에 상기 디지털 컴포넌트를 렌더링하기 위해 상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 디지털 컴포넌트 선택기;
    상기 제1 클라이언트 디바이스에서 센서에 의해 검출된 제2 입력 오디오 신호를 수신하는 자연어 프로세서 컴포넌트;
    상기 입력 오디오 신호에서 제2 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하는 자연어 프로세서 컴포넌트;
    상기 제2 지식 그래프에 기초하여 상기 제2 요청에 대한 응답을 선택하는 자연어 프로세서 컴포넌트; 및
    상기 클라이언트 컴퓨팅 디바이스에 상기 응답을 전송하는 인터페이스를 포함하는, 시스템.
  12. 네트워크 시스템에서 도메인-특정 자연어 프로세싱 모델에 기초하여 응답을 생성하는 방법으로서,
    데이터 프로세싱 시스템에 의해 실행되는 자연어 프로세서 컴포넌트에 의해, 상기 데이터 프로세싱 시스템의 인터페이스를 통해, 제1 클라이언트 디바이스에서 센서에 의해 검출된 입력 오디오 신호를 수신하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 제1 검색 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하는 단계;
    상기 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해, 상기 제1 검색 요청에 적어도 기초하여 검색 결과를 선택하는 단계;
    상기 디지털 컴포넌트 선택기에 의해, 상기 제1 검색 요청에 기초하여 디지털 컴포넌트를 선택하는 단계, 상기 디지털 컴포넌트는 데이터 소스 및 상기 데이터 소스에 기초한 지식 그래프와 연관되며;
    상기 디지털 컴포넌트 선택기에 의해, 상기 데이터 소스 및 상기 데이터에 기초한 상기 지식 그래프와 연관된 상기 디지털 컴포넌트를 검색 결과와 함께 제1 클라이언트 디바이스에 전송하는 단계를 포함하는, 방법.
  13. 청구항 12에 있어서,
    상기 데이터 프로세싱 시스템에 의해 실행되는 도메인 프로세서에 의해, 상기 데이터 소스에 포함된 하나 이상의 엔터티들에 기초하여 상기 지식 그래프를 생성하는 단계를 더 포함하는, 방법.
  14. 청구항 12 또는 청구항 13에 있어서,
    상기 지식 그래프는 상기 데이터 소스의 복수의 엔터티들 간의 의미론적 관계를 표현하는, 방법.
  15. 청구항 12 내지 14 중 어느 한 항에 있어서,
    상기 데이터 소스는 상기 디지털 컴포넌트에 대한 랜딩 페이지를 포함하는, 방법.
  16. 청구항 12 내지 15 중 어느 한 항에 있어서,
    상기 자연어 프로세서 컴포넌트에 의해, 상기 디지털 컴포넌트를 통해 상기 제1 클라이언트 디바이스의 센서에 의해 검출된 제2 입력 오디오 신호를 수신하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 제2 입력 오디오 신호에서 요청을 식별하기 위해 상기 제2 입력 오디오 신호를 파싱하는 단계;
    도메인 프로세서에 의해, 상기 지식 그래프에 적어도 기초하여 상기 제2 입력 오디오 신호에서 상기 요청에 대한 응답을 포함하는 제2 디지털 컴포넌트를 생성하는 단계; 및
    상기 인터페이스에 의해, 상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 단계를 더 포함하는, 방법.
  17. 청구항 16에 있어서,
    상기 디지털 컴포넌트 선택기에 의해, 상기 제2 입력 오디오 신호의 요청에 기초하여 콘텐츠 제공자를 선택하는 단계;
    상기 디지털 컴포넌트 선택기에 의해, 상기 콘텐츠 제공자에 대한 링크를 생성하는 단계; 및
    상기 링크를 상기 디지털 컴포넌트에 포함시키는 단계를 더 포함하는, 방법.
  18. 청구항 16 또는 청구항 17에 있어서,
    상기 디지털 컴포넌트 선택기에 의해, 상기 요청에 기초하여 제2 데이터 소스를 선택하는 단계, 상기 제2 데이터 소스는 제2 복수의 엔터티들을 포함하며; 및
    상기 도메인 프로세서에 의해, 상기 데이터 소스의 복수의 엔터티들과 상기 제2 데이터 소스의 제2 복수의 엔터티들 간의 의미론적 관계를 표현하는 지식 그래프를 생성하는 단계를 더 포함하는, 방법.
  19. 청구항 12 내지 18 중 어느 한 항에 있어서,
    상기 자연어 프로세서 컴포넌트에 의해, 상기 디지털 컴포넌트를 통해, 제1 클라이언트 디바이스에 의해 검출된 제2 입력 신호를 수신하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 제2 입력 신호에서 요청을 식별하기 위해 상기 제2 입력 신호를 파싱하는 단계;
    도메인 프로세서에 의해, 상기 지식 그래프에 적어도 기초하여 상기 제2 입력 신호에서 상기 요청에 대한 응답을 포함하는 제2 디지털 컴포넌트를 생성하는 단계; 및
    상기 도메인 프로세서에 의해, 상기 제2 입력 신호에서의 요청에 응답하여 상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 단계를 더 포함하는, 방법.
  20. 청구항 12 내지 19 중 어느 한 항에 있어서,
    상기 데이터 프로세싱 시스템에 의해 실행되는 디지털 컴포넌트 선택기에 의해, 상기 제1 클라이언트 디바이스로부터 콘텐츠 요청을 수신하는 단계;
    상기 디지털 컴포넌트 선택기에 의해, 상기 콘텐츠 요청에 기초하여 제2 디지털 컴포넌트를 선택하는 단계, 상기 제2 디지털 컴포넌트는 제2 데이터 소스 및 상기 제2 데이터 소스에 기초한 제2 지식 그래프와 연관되며;
    상기 디지털 컴포넌트 선택기에 의해, 콘텐츠 슬롯에 상기 디지털 컴포넌트를 렌더링하기 위해 상기 제2 디지털 컴포넌트를 상기 제1 클라이언트 디바이스에 전송하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 제1 클라이언트 디바이스에서 센서에 의해 검출된 제2 입력 오디오 신호를 수신하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 입력 오디오 신호에서 제2 요청을 식별하기 위해 상기 입력 오디오 신호를 파싱하는 단계;
    상기 자연어 프로세서 컴포넌트에 의해, 상기 제2 지식 그래프에 기초하여 상기 제2 요청에 대한 응답을 선택하는 단계; 및
    상기 인터페이스에 의해, 상기 클라이언트 컴퓨팅 디바이스에 상기 응답을 전송하는 단계를 더 포함하는, 방법.
  21. 청구항 12 내지 20 중 어느 한 항에 있어서, 상기 디지털 컴포넌트는 상기 지식 그래프에 기초하여 응답들을 요청하는 입력 인터페이스를 포함하고, 상기 방법은:
    상기 데이터 프로세싱 시스템의 인터페이스에 의해, 상기 클라이언트 디바이스에 의해 렌더링된 디지털 컴포넌트의 입력 인터페이스를 통해, 제2 검색 요청을 수신하는 단계;
    상기 디지털 컴포넌트 선택기에 의해, 상기 지식 그래프에 기초하여, 상기 제2 검색 요청에 기초한 응답을 선택하는 단계; 및
    상기 데이터 프로세싱 시스템의 인터페이스에 의해, 상기 디지털 컴포넌트 내에서 상기 응답을 렌더링하기 위해 상기 응답을 상기 제1 클라이언트 디바이스에 전송하는 단계를 더 포함하는, 방법.
  22. 청구항 12 내지 21 중 어느 한 항에 있어서, 상기 지식 그래프는 상기 데이터 소스의 복수의 엔터티들 각각을 표현하는 노드들 및 상기 노드들 간의 관계를 표현하는 에지들을 포함하는, 방법.
  23. 청구항 22에 있어서, 노드들 간의 관계를 표현하는 에지들 각각에 대한 가중치를 계산하는 단계를 더 포함하는, 방법.
  24. 명령어를 포함하는 컴퓨터 판독가능 매체로서, 상기 명령어는 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 청구항 12 내지 23 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 매체.
  25. 명령어를 포함하는 컴퓨터 프로그램 물로서, 상기 명령어는 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 청구항 12 내지 23 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 프로그램 물.
KR1020207033689A 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성 KR102603717B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237039233A KR20230160958A (ko) 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/008,988 US10963492B2 (en) 2018-06-14 2018-06-14 Generation of domain-specific models in networked system
US16/008,988 2018-06-14
PCT/US2019/021882 WO2019240857A1 (en) 2018-06-14 2019-03-12 Generation of domain-specific models in networked system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237039233A Division KR20230160958A (ko) 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성

Publications (2)

Publication Number Publication Date
KR20210002619A true KR20210002619A (ko) 2021-01-08
KR102603717B1 KR102603717B1 (ko) 2023-11-17

Family

ID=65995847

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237039233A KR20230160958A (ko) 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성
KR1020207033689A KR102603717B1 (ko) 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237039233A KR20230160958A (ko) 2018-06-14 2019-03-12 네트워크 시스템에서 도메인-특정 모델의 생성

Country Status (6)

Country Link
US (2) US10963492B2 (ko)
EP (1) EP3682341A1 (ko)
JP (2) JP7095114B2 (ko)
KR (2) KR20230160958A (ko)
CN (1) CN111213136B (ko)
WO (1) WO2019240857A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020077350A1 (en) * 2018-10-13 2020-04-16 Predii Inc. Adaptable systems and methods for discovering intent from enterprise data
USD929431S1 (en) * 2019-01-17 2021-08-31 Bae Systems Controls Inc. Display screen or portion thereof with animated graphical user interface
WO2020153028A1 (ja) * 2019-01-22 2020-07-30 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US11100933B2 (en) * 2019-04-17 2021-08-24 Tempus Labs, Inc. Collaborative artificial intelligence method and system
CN111243587A (zh) * 2020-01-08 2020-06-05 北京松果电子有限公司 语音交互方法、装置、设备及存储介质
CN113779231B (zh) * 2020-06-09 2024-04-26 中科云谷科技有限公司 基于知识图谱的大数据可视化分析方法、装置及设备
US11403340B2 (en) * 2020-08-18 2022-08-02 Bank Of America Corporation Hierarchical multi-tier language processing platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009192B1 (en) * 2011-06-03 2015-04-14 Google Inc. Identifying central entities
US20180150524A1 (en) * 2016-11-28 2018-05-31 Facebook, Inc. Methods and Systems for Ranking Messaging Bots

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6037198A (en) * 1997-01-27 1998-08-26 Benjamin Slotznick System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
US20030140063A1 (en) * 2001-12-17 2003-07-24 Pizzorno Joseph E. System and method for providing health care advice by diagnosing system function
US6731239B2 (en) * 2002-01-18 2004-05-04 Ford Motor Company System and method for retrieving information using position coordinates
GB2385160A (en) * 2002-02-08 2003-08-13 Int Computers Ltd Knowledge management system
US8024335B2 (en) * 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7451152B2 (en) * 2004-07-29 2008-11-11 Yahoo! Inc. Systems and methods for contextual transaction proposals
US8335753B2 (en) * 2004-11-03 2012-12-18 Microsoft Corporation Domain knowledge-assisted information processing
WO2006099621A2 (en) * 2005-03-17 2006-09-21 University Of Southern California Topic specific language models built from large numbers of documents
US7788245B1 (en) * 2005-06-16 2010-08-31 Google Inc. Method and system for dynamically generating search links embedded in content
US7669142B2 (en) * 2006-02-28 2010-02-23 Microsoft Corporation Viewable and actionable search results
KR100874334B1 (ko) 2006-12-14 2008-12-15 엔에이치엔(주) 검색 기능을 구비한 배너광고 제공 방법 및 시스템, 그리고상기 방법을 실행시키기 위한 프로그램이 기록된컴퓨터에서 판독 가능한 기록 매체
US9256672B2 (en) * 2008-10-16 2016-02-09 International Business Machines Corporation Relevance content searching for knowledge bases
US20110288917A1 (en) * 2010-05-21 2011-11-24 James Wanek Systems and methods for providing mobile targeted advertisements
US20120260158A1 (en) * 2010-08-13 2012-10-11 Ryan Steelberg Enhanced World Wide Web-Based Communications
US20120246003A1 (en) * 2011-03-21 2012-09-27 Hart Gregory M Advertisement Service
US9471666B2 (en) * 2011-11-02 2016-10-18 Salesforce.Com, Inc. System and method for supporting natural language queries and requests against a user's personal data cloud
CN103999081A (zh) * 2011-12-12 2014-08-20 国际商业机器公司 生成用于信息领域的自然语言处理模型
US20130311875A1 (en) * 2012-04-23 2013-11-21 Derek Edwin Pappas Web browser embedded button for structured data extraction and sharing via a social network
US9477711B2 (en) * 2012-05-16 2016-10-25 Google Inc. Knowledge panel
US20140006370A1 (en) * 2012-06-30 2014-01-02 Microsoft Corporation Search application for search engine results page
US9576574B2 (en) * 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US10735552B2 (en) 2013-01-31 2020-08-04 Google Llc Secondary transmissions of packetized data
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10719591B1 (en) 2013-03-15 2020-07-21 Google Llc Authentication of audio-based input signals
US9104780B2 (en) * 2013-03-15 2015-08-11 Kamazooie Development Corporation System and method for natural language processing
US9665662B1 (en) * 2013-06-13 2017-05-30 DataRPM Corporation Methods and system for providing real-time business intelligence using natural language queries
JP2015052971A (ja) 2013-09-09 2015-03-19 邦和 田中 インターネット広告検索支援装置
US9798829B1 (en) * 2013-10-22 2017-10-24 Google Inc. Data graph interface
US20150234930A1 (en) * 2014-02-19 2015-08-20 Google Inc. Methods and systems for providing functional extensions with a landing page of a creative
US9881089B2 (en) * 2014-04-28 2018-01-30 Verizon New Jersey Inc. Pop-up search box
CN105528349B (zh) * 2014-09-29 2019-02-01 华为技术有限公司 知识库中问句解析的方法及设备
US9652799B2 (en) * 2014-12-18 2017-05-16 Nuance Communications, Inc. Product recommendation with product review analysis
US9846901B2 (en) * 2014-12-18 2017-12-19 Nuance Communications, Inc. Product recommendation with ontology-linked product review
US10534851B1 (en) * 2014-12-19 2020-01-14 BloomReach Inc. Dynamic landing pages
US10509829B2 (en) * 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10193843B2 (en) * 2015-12-08 2019-01-29 Samsung Electronics Co., Ltd. Computing system with conversation modeling mechanism and method of operation thereof
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10491709B2 (en) * 2016-09-22 2019-11-26 Facebook, Inc. Time and location based distribution of additional content for content items
US11106712B2 (en) 2016-10-24 2021-08-31 Google Llc Systems and methods for measuring the semantic relevance of keywords
US10423614B2 (en) * 2016-11-08 2019-09-24 International Business Machines Corporation Determining the significance of an event in the context of a natural language query
US10387528B2 (en) * 2016-12-20 2019-08-20 Microsoft Technology Licensing, Llc Search results integrated with interactive conversation service interface
US10333868B2 (en) * 2017-04-14 2019-06-25 Facebook, Inc. Techniques to automate bot creation for web pages
US11276393B2 (en) * 2017-05-09 2022-03-15 Microsoft Technology Licensing, Llc Chat bot registration with search results integration
WO2018226888A1 (en) * 2017-06-06 2018-12-13 Diffeo, Inc. Knowledge operating system
US20190179878A1 (en) * 2017-12-12 2019-06-13 Google Llc Generating organization-specific tags for communications from various sources of an organization using an expanded knowledge graph for organization-specific content
KR102628282B1 (ko) 2018-10-10 2024-01-24 현대자동차주식회사 차량 및 그 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009192B1 (en) * 2011-06-03 2015-04-14 Google Inc. Identifying central entities
US20180150524A1 (en) * 2016-11-28 2018-05-31 Facebook, Inc. Methods and Systems for Ranking Messaging Bots

Also Published As

Publication number Publication date
US20190384855A1 (en) 2019-12-19
EP3682341A1 (en) 2020-07-22
JP2021525410A (ja) 2021-09-24
US10963492B2 (en) 2021-03-30
KR102603717B1 (ko) 2023-11-17
JP7095114B2 (ja) 2022-07-04
WO2019240857A1 (en) 2019-12-19
CN111213136B (zh) 2024-05-14
US11562009B2 (en) 2023-01-24
KR20230160958A (ko) 2023-11-24
JP2022121523A (ja) 2022-08-19
US20210209140A1 (en) 2021-07-08
CN111213136A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
KR102603717B1 (ko) 네트워크 시스템에서 도메인-특정 모델의 생성
US11908462B2 (en) Adaptive interface in a voice-activated network
US11514907B2 (en) Activation of remote devices in a networked system
US20240062749A1 (en) Multi-modal interface in a voice-activated network
CN111344694B (zh) 分布式网络系统的接口
EP4143674A1 (en) Bit vector-based content matching for third-party digital assistant actions

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant