CN114631091A - 用于助理系统的使用结构本体的语义表示 - Google Patents

用于助理系统的使用结构本体的语义表示 Download PDF

Info

Publication number
CN114631091A
CN114631091A CN202080073029.6A CN202080073029A CN114631091A CN 114631091 A CN114631091 A CN 114631091A CN 202080073029 A CN202080073029 A CN 202080073029A CN 114631091 A CN114631091 A CN 114631091A
Authority
CN
China
Prior art keywords
user
particular embodiments
assistant
semantic
action
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080073029.6A
Other languages
English (en)
Inventor
迈克尔·罗伯特·汉森
阿努杰·库马尔
于劲松
刘白杨
丽萨·晓艺·黄
埃里克·肖
弗朗西斯拉夫·P·佩诺夫
保罗·安东尼·克鲁克
刘小虎
帕拉尔斯·帕雷什·沙
文森特·查尔斯·张
尼古拉斯·迈克尔·安德鲁·本森
盛雅婷
何子健
邵瑞
阿尼米什·辛哈
凯施蒂兹·马里克
文胜焕
刘洪磊
詹弘远
艾哈迈德·阿利
阿尔门·阿加贾亚恩
索纳尔·古普塔
布莱恩·莫兰
西奥多·弗兰克·莱文
克里斯特尔·安妮特·那卡特苏·宋
丹尼尔·迪弗兰科
乔纳森·大卫·克里斯滕森
科尔克·拉布达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Meta Platforms Inc
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 Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN114631091A publication Critical patent/CN114631091A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/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/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/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • 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/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • 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/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0603Catalogue ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • G06V40/25Recognition of walking or running movements, e.g. gait 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • 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
    • 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/1822Parsing for meaning understanding
    • 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
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • 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
    • G10L2015/088Word spotting
    • 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
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)

Abstract

在一个实施例中,一种方法包括由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入,基于定义用于将自然语言话语解析为包括动作、对象和属性的语义单元的标记语法的结构本体来确定用户输入的语义表示,其中语义表示将至少一个对象嵌入到至少一个动作中,并声明所嵌入的对象的将被采取动作的至少一个属性,向代理发送基于语义表示的请求以执行对应于用户输入的任务,从代理接收映射到由结构本体确定的结构的所执行的任务的结果,以及从助理xbot向客户端系统发送指令以基于所执行的任务的结果呈现响应。

Description

用于助理系统的使用结构本体的语义表示
优先权
本申请要求2020年8月20日提交的序列号为16/998,423的美国非临时申请和2019年10月18日提交的第62/923,342号美国临时专利申请的优先权和权益。上述专利申请的公开内容在此通过引用并入。
技术领域
本公开一般涉及网络环境中的数据库和文件管理,尤其涉及智能助理系统的硬件和软件。
背景
助理系统可以基于用户输入、位置感知和从各种在线源访问信息(如天气状况、交通拥堵、新闻、股票价格、用户日程、零售价格等)的能力的组合来为用户提供信息或服务。用户输入可以包括文本(例如,在线聊天)(尤其是在即时消息传递应用或其他应用中的文本),声音(voice)、图像、运动(motion)或它们的组合。助理系统可以基于用户输入来执行礼宾类型的服务(例如,预订晚餐、购买活动门票、安排旅行)或者提供信息。助理系统还可以基于在线信息和事件来执行管理或数据处理任务,而无需用户启动或交互。可以由助理系统执行的那些任务的示例可以包括日程管理(例如,对晚餐约会发送用户由于交通状况而要迟到的告警信息,更新双方的日程,以及改变餐馆预订时间)。助理系统可以通过计算设备、应用编程接口(API)、以及用户设备上应用激增(proliferation)的组合来实现。
可以包括社交网络网站的社交网络系统可以使它的用户(例如个人或组织)能够与它互动以及通过它彼此互动。社交网络系统可以利用来自用户的输入来在社交网络系统中创建并存储与用户相关联的用户简档(user profile)。用户简档可以包括用户的人口统计信息、通信渠道信息以及关于个人兴趣的信息。社交网络系统还可以用来自用户的输入来创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,简档/动态消息(news feed)帖子、照片分享、事件组织、消息传递、游戏或广告)以便于在用户之间或当中的社会交互。
社交网络系统可以通过一个或更多个网络向用户的移动设备或其他计算设备发送与它的服务相关的内容或消息。用户还可以在用户的移动设备或其他计算设备上安装软件应用,用于访问用户的用户简档和在社交网络系统内的其他数据。社交网络系统可以生成一组个性化的内容对象以显示给用户,例如关连(connect)到该用户的其他用户的汇集的动态(story)的动态消息(newsfeed)。
特定实施例概述
本发明公开了根据所附权利要求的方法、系统和计算机可读非暂时性存储介质。在特定实施例中,助理系统可以帮助用户获得信息或服务。助理系统可以使用户能够在有状态和多轮会话(stateful and multi-turn conversation)中利用多模态用户输入(例如声音、文本、图像、视频、运动)与它进行交互来获取帮助。作为示例而非限制,助理系统可以支持音频(口头)输入和非口头输入,例如视觉、位置、手势、运动或混合/多模态输入。助理系统可以创建和存储用户简档,该用户简档包括与用户相关联的个人信息和上下文信息(contextual information)。在特定实施例中,助理系统可以使用自然语言理解来分析用户输入。分析可以基于用户的用户简档,以获得更个性化和上下文感知的理解。助理系统可以基于分析来解析(resolve)与用户输入相关联的实体。在特定实施例中,助理系统可以与不同的代理交互,以获得与解析的实体相关联的信息或服务。助理系统可以通过使用自然语言生成为用户生成关于信息或服务的响应。通过与用户的交互,助理系统可以使用对话管理技术来管理和推进与用户的会话流。在特定实施例中,助理系统还可以通过汇总(summarize)信息来辅助用户有效且高效地消化所获得的信息。助理系统还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更好地参与在线社交网络。助理系统另外可以帮助用户管理不同的任务,如持续跟踪事件。在特定实施例中,助理系统可以在没有用户输入的情况下,基于用户简档,在与用户相关的时间主动执行与用户兴趣和偏好相关的任务。在特定实施例中,助理系统可以检查隐私设置,以确保根据用户的隐私设置来允许访问用户的简档或其他用户信息以及执行不同的任务。
在特定实施例中,助理系统可以通过建立在客户端进程和服务器端进程上的混合架构来帮助用户。客户端进程和服务器端进程可以是用于处理用户输入和向用户提供帮助的两个并行工作流。在特定实施例中,客户端进程可以在与用户相关联的客户端系统上本地执行。相比之下,服务器端进程可以在一个或更多个计算系统上远程执行。在特定实施例中,客户端系统上的仲裁器可以协调接收用户输入(例如,音频信号),确定是使用客户端进程还是服务器端进程或两者来响应用户输入,以及分析来自每个进程的处理结果。仲裁器可以基于上述分析指示客户端或服务器端的代理执行与用户输入相关联的任务。执行结果可以进一步作为输出渲染给客户端系统。通过利用客户端和服务器端进程,助理系统可以有效地帮助用户优化计算资源的使用,同时保护用户隐私和增强安全性。
在特定实施例中,助理系统可以使用结构化语义表示框架,即“下一代本体”(NGO),用于为助理系统的各种模块构造指令,包括用于与第一方和第三方代理接口的指令。NGO可以包括具有几种不同类型的语义单元的本体,例如动作、对象和属性。NGO可以支持从本体派生的标记系统,允许用户请求被表示为本体的子图。NGO可以允许助理系统统一自然语言理解过程(即输入处理)使用的语义表示和自然语言生成过程(即输出处理)使用的语义表示。助理系统堆栈中的所有模块都可以使用基于NGO的相同类型的语义表示,而不是它们自己的语义,从而减少了它们之间的映射,增加了一致性。对象可以承载在助理系统的整个堆栈中,其中助理系统可以使用对话管理器基于映射层改变在输入和输出之间的动作。此外,因为本体的所有部分都被定义,所以助理系统可以在尝试执行相应的任务之前确定用户请求的任何语义解析是否有效。尽管本公开以特定的方式描述了特定的本体,但是本公开设想了以任何合适的方式的任何合适的本体。
在特定实施例中,助理系统可以通过助理xbot从与用户相关联的客户端系统接收包括自然语言话语(utterance)的用户输入。助理系统然后可以基于结构本体来确定用户输入的语义表示。在特定实施例中,结构本体可以定义用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法(labeling syntax)。语义表示可以将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性。在特定实施例中,助理系统可以向代理发送执行对应于用户输入的任务的请求。该请求可以基于语义表示。在特定实施例中,助理系统可以从代理接收所执行的任务的结果,其中结果被映射到由结构本体确定的结构。助理系统还可以从助理xbot向客户端系统发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。
在提高语义表示的一致性方面存在某些技术挑战。一个技术挑战可能包括为第三方用户提供设计他们自己的语义单元同时保持结构本体的完整性的灵活性。本文公开的实施例提出的解决该挑战的解决方案可以是定义核心子图和通用子图,因为核心子图和通用子图在功能上是分离的,并且本体的基本结构由核心子图维护,核心子图仅对第三方用户可见。另一个技术挑战可能包括表示属性限制的复杂实例。本文公开的实施例提出的解决这个挑战的解决方案可以是类型转换,因为它可以将对象嵌套在属性内,并声明该对象的哪个属性值是嵌入属性,从而用具有改进的可解释性的更清晰的结构来表示复杂的实例。另一个技术挑战可以包括使开发者能够方便地使用结构本体,而无需关于本体的大量知识。由本文公开的实施例提出的解决该挑战的解决方案可以是NGO工具,该工具可以使开发者能够使用高级用户界面来定制具有不同功能的结构本体的使用,在该高级用户界面中,系统还可以自动填充内容以促进这种工具的使用。
本文公开的某些实施例可以提供一个或更多个技术优势。这些实施例的技术优势可以包括减少重复劳动,因为NGO可以允许通过可重用性自动生成语义空间,消除域区别,并支持类型层次结构,这可以创建可重用的标记元素并减少重复劳动。实施例的另一个技术优势可以包括一致的本体和类型检查,因为每个对象、动作或属性都有一个类型,这使得NGO能够在整个助理堆栈中具有语义解析的正式和一致的协定。这些实施例的另一个技术优势可以包括分级感知回退(hierarchy aware back-off),因为NGO可以为模糊或不正确标记的话语编码自动和系统的回退,并且避免用于回退的硬编码规则,该硬编码规则可以随着域的增加而增加。实施例的另一个技术优势可以包括共享语义空间,因为NGO可以直接将概念及其词汇化连接到注释,而不需要两者之间的映射。本文公开的某些实施例可以不提供、提供一些或全部上述技术优点。鉴于本公开的附图、描述和权利要求,一个或更多个其他技术优势对于本领域技术人员来说可能是明显的。
在一个方面,本发明涉及一种方法,该方法包括由一个或更多个计算系统:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定用户输入的语义表示,其中结构本体定义用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于用户输入的任务的请求,其中该请求基于语义表示;
从代理接收所执行的任务的结果,其中结果被映射到由结构本体确定的结构;和
从助理xbot向客户端系统发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。
在根据本发明的方法的实施例中,结构本体可以定义
多个动作中的每一个对多个对象中的一个或更多个进行操作,
多个对象中的每一个包括多个属性中的一个或更多个,或者
多个属性中的每一个声明对动作或对象的限制。
在根据本发明的方法的实施例中,语义表示可以由与被配置为处理用户输入的助理xbot相关联的每个模块执行。
在根据本发明的方法的实施例中,结构本体可以定义多个对象被分层组织成多个超类型和子类型,每个子类型继承其相关联的超类型的一个或更多个属性。
在根据本发明的方法的实施例中,与至少一个动作、至少一个对象和至少一个属性中的每一个相关联的值可以由执行语义表示的每个模块来确定。
在根据本发明的方法的实施例中,该方法可以进一步包括:
由与助理xbot相关联的自然语言生成模块基于结构本体和所执行的任务的结果来生成响应。
在根据本发明的方法的一个实施例中,结构本体可以定义语义单元还包括多个方法和枚举(enums),其中多个方法中的每一个可以包括其生命期(lifetime)绑定到对象的动作,并且其中多个枚举中的每一个包括表示来自多个对象中的一个对象的对象。
在根据本发明的方法的实施例中,结构本体可以进一步定义包括一个或更多个核心子图和一个或更多个通用子图的图结构,其中一个或更多个核心子图不可由第三方代理访问,并且其中一个或更多个通用子图可由第三方代理访问。
在根据本发明的方法的实施例中,该方法可以进一步包括:
由与助理xbot相关联的推理模块基于语义表示的至少一个属性来解析与至少一个对象相关联的一个或更多个实体。
在根据本发明的方法的实施例中,代理可以是与助理xbot相关联的第一方代理。
在根据本发明的方法的实施例中,代理可以是与外部计算系统相关联的第三方代理,并且其中执行结果的结构可以包括一个或更多个定制的语义单元。
在根据本发明的方法的实施例中,代理可以是与外部计算系统相关联的第三方代理,并且其中执行结果的结构可以包括一个或更多个定制语义单元,并且向代理发送请求和从代理接收执行结果都可以经由应用编程接口(API),其中API定义了从一个或更多个定制语义单元到由结构本体确定的结构的映射。
在根据本发明的方法的实施例中,代理可以是与外部计算系统相关联的第三方代理,并且其中执行结果的结构可以包括一个或更多个定制的语义单元,并且发送到代理的请求可以包括由与助理xbot相关联的对话管理器修改的语义表示,其中执行结果包括由代理修改的语义表示,并且其中请求和执行结果使用结构本体的标记语法。
在根据本发明的方法的实施例中,代理可以是与外部计算系统相关联的第三方代理,并且其中执行结果的结构可以包括一个或更多个定制语义单元,并且语义单元可以各自与计算系统定义的默认命名空间相关联,并且其中一个或更多个定制语义单元与第三方代理定义的个性化命名空间相关联。
在根据本发明的方法的实施例中,至少一个动作可以具有一个或更多个参数(argument),其中每个参数可以指定对象要满足的约束,使得至少一个动作可以作用于对象,并且其中至少一个参数指定至少一个对象要满足的约束。
在一个方面,本发明涉及包含软件的计算机可读非暂时性存储介质,该软件在被执行时可操作来执行上述方法或:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定用户输入的语义表示,其中结构本体定义用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于用户输入的任务的请求,其中该请求基于语义表示;
从代理接收所执行的任务的结果,其中结果被映射到由结构本体确定的结构;和
从助理xbot向客户端系统发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。
一方面,本发明涉及一种系统,该系统包括:一个或更多个处理器;以及耦合到处理器的非暂时性存储器,其包括可由处理器执行的指令,处理器在执行指令时可操作以执行如上所述的方法或:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定用户输入的语义表示,其中结构本体定义用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于用户输入的任务的请求,其中该请求基于语义表示;
从代理接收所执行的任务的结果,其中结果被映射到由结构本体确定的结构;和
从助理xbot向客户端系统发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的部件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些部件、元件、特征、功能、操作或步骤。根据本发明的实施例在所附权利要求中具体公开,涉及方法、存储介质、系统和计算机程序产品,其中在一个权利要求类别(例如方法)中提到的任何特征,也可以在另一个权利要求类别(例如系统)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何先前权利要求的有意往回引用(特别是多个从属关系)而产生的任何主题,从而权利要求及其特征的任何组合被公开了并且可以被要求保护,而不管所附权利要求中选择的从属关系如何。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
附图简述
图1示出了与助理系统相关联的示例网络环境。
图2示出了助理系统的示例架构。
图3示出了助理系统的服务器端进程的示例流程图。
图4示出了由助理系统处理用户输入的示例性流程图。
图5示出了话语的IN/SL表示和NGO表示之间的示例比较。
图6示出了由IN/SL范式(paradigm)表示的媒体域和由NGO结构表示的媒体域之间的示例比较。
图7示出了NGO子图的示例结构。
图8A示出了示例子域选择。
图8B示出了子域选择的示例性延续。
图9说明了NGO中的示例继承。
图10示出了组成的示例语义解析。
图11A示出了示例对话的示例树状NGO形式。
图11B示出了另一示例对话的另一示例树状NGO形式。
图12示出了基于计划树的示例NGO解析。
图13A示出了话语的示例执行图。
图13B示出了对应于图13A中的话语的两个子任务的示例执行图。
图14示出了基于NGO的示例响应生成。
图15示出了在保持测试集不变的情况下,模型在各种百分比的训练数据上的示例性能。
图16示出了用于在NGO中启用支持语音的应用(App)的示例。
图17A示出了具有“create(创建)”触发动作的NGO工具的示例UI。
图17B示出了具有“update(更新)”触发动作的NGO工具的示例UI。
图18示出了用于提高语义表示一致性的示例方法。
图19示出了示例社交图。
图20示出了嵌入空间的示例视图。
图21示出了示例人工神经网络。
图22示出了示例计算机系统。
示例实施例的描述
系统概况
图1示出了与助理系统相关联的示例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、助理系统140、社交网络系统160和第三方系统170。尽管图1示出了客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110的特定布置,但是本公开设想了客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110的任何合适的布置。作为示例而不是作为限制,客户端系统130、社交网络系统160、助理系统140和第三方系统170中的两个或更多个可以绕过网络110彼此直接连接。作为另一个示例,客户端系统130、助理系统140、社交网络系统160和第三方系统170中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图1示出了特定数量的客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110,但是本公开设想了任何合适数量的客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110。作为示例而不是作为限制,网络环境100可以包括多个客户端系统130、助理系统140、社交网络系统160、第三方系统170和网络110。
本公开设想了任何合适的网络110。作为示例而不是作为限制,网络110的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络110可以包括一个或更多个网络110。
链路150可以将客户端系统130、助理系统140、社交网络系统160和第三方系统170连接到通信网络110或连接到彼此。本公开设想了任何合适的链路150。在特定实施例中,一个或更多个链路150包括一个或更多个有线(诸如例如数字用户线路(DSL)或基于电缆的数据服务接口规范(DOCSIS))链路、无线(诸如例如Wi-Fi或全球互通微波接入(WiMAX))链路、或光(诸如例如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或更多个链路150各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路150、或两个或更多个这种链路150的组合。链路150不需要在整个网络环境100中一定是相同的。一个或更多个第一链路150可以在一个或更多个方面上不同于一个或更多个第二链路150。
在特定实施例中,客户端系统130可以是一种电子设备,该电子设备包括硬件、软件或嵌入式逻辑部件、或两个或更多个这样的部件的组合,并且能够执行由客户端系统130实现或支持的适当功能。作为示例而不是作为限制,客户端系统130可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、智能扬声器、虚拟现实(VR)头戴式装置、增强现实(AR)智能眼镜、其他合适的电子设备、或其任何合适的组合。在特定实施例中,客户端系统130可以是智能助理设备。关于智能助理设备的更多信息可以在2018年4月9日提交的美国专利申请第15/949011号、2018年10月5日提交的美国专利申请第16/153574号、2018年1月3日提交的美国外观设计专利申请第29/631910号、2018年1月2日提交的美国外观设计专利申请第29/631747号、2018年1月3日号提交的美国外观设计专利申请第29/631913号和2018年1月3日提交的美国外观设计专利申请第29/631914号中找到,这些专利申请中的每一个都通过引用并入。本公开设想了任何合适的客户端系统130。客户端系统130可以使在客户端系统130处的网络用户能够访问网络110。客户端系统130可以使它的用户能够与在其他客户端系统130处的其他用户进行通信。
在特定实施例中,客户端系统130可以包括web浏览器132,并且可以具有一个或更多个附加件、插件或其他扩展件。在客户端系统130处的用户可以输入统一资源定位符(URL)或将web浏览器132引导到特定的服务器(例如服务器162或与第三方系统170相关联的服务器)的其他地址,并且web浏览器132可以生成超文本传输协议(HTTP)请求并将HTTP请求传递到服务器。服务器可以接受HTTP请求,并响应于HTTP请求而向客户端系统130传递一个或更多个超文本标记语言(HTML)文件。客户端系统130可以基于来自服务器的HTML文件来显现web界面(例如网页)用于呈现给用户。本公开设想了任何合适的源文件。作为示例而不是作为限制,可以根据特定的需要根据HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来显现web界面。这样的界面还可以执行脚本、标记语言和脚本的组合等。在本文,在适当的情况下,对web界面的引用包括一个或更多个相应的源文件(浏览器可以使用这些源文件来显现web界面),反之亦然。
在特定实施例中,客户端系统130可以包括安装在客户端系统130上的社交网络应用134。客户端系统130处的用户可以使用社交网络应用134来访问在线社交网络。客户端系统130处的用户可以使用社交网络应用134来与用户的社交关连(connection)(例如,朋友、关注者(follower)、关注账户、联系人等)进行通信。客户端系统130处的用户还可以使用社交网络应用134来与在线社交网络上的多个内容对象(例如,帖子、新闻文章、临时内容等)交互。作为示例而不是作为限制,用户可以使用社交网络应用134浏览热门话题和突发新闻。
在特定实施例中,客户端系统130可以包括助理应用136。客户端系统130的用户可以使用助理应用136来与助理系统140交互。在特定实施例中,助理应用136可以包括独立的应用。在特定实施例中,助理应用136可以被集成到社交网络应用134或另一个合适的应用(例如,消息传递应用)中。在特定实施例中,助理应用136也可以集成到客户端系统130、助理硬件设备或任何其他合适的硬件设备中。在特定实施例中,可以经由web浏览器132访问助理应用136。在特定实施例中,用户可以经由不同的模态提供输入。作为示例而非限制,模态可以包括音频、文本、图像、视频、运动、定向等。助理应用136可以将用户输入传送给助理系统140。基于用户输入,助理系统140可以生成响应。助理系统140可以将生成的响应发送给助理应用136。然后,助理应用136可以向客户端系统130的用户呈现响应。所呈现的响应可以基于不同的模态,如音频、文本、图像和视频。作为示例而非限制,用户可以通过对着客户端系统130的麦克风说话来口头就交通信息询问助理应用136(即,经由音频模态)。然后,助理应用136可以将请求传送给助理系统140。助理系统140可以相应地生成响应并将其发送回助理应用136。助理应用136还可以在客户端系统130的显示器上以文本和/或图像向用户呈现响应。
在特定实施例中,助理系统140可以帮助用户从不同的源检索信息。助理系统140还可以帮助用户向不同的服务提供者请求服务。在特定实施例中,助理系统140可以经由客户端系统130中的助理应用136接收用户对信息或服务的请求。助理系统140可以使用自然语言理解来基于用户简档和其他相关信息分析用户请求。分析的结果可以包括与在线社交网络相关联的不同实体。然后,助理系统140可以检索信息或请求与这些实体相关联的服务。在特定实施例中,当为用户检索信息或请求服务时,助理系统140可以与社交网络系统160和/或第三方系统170交互。在特定实施例中,助理系统140可以使用自然语言生成技术为用户生成个性化的通信内容。个性化通信内容可以包括例如检索到的信息或所请求服务的状态。在特定实施例中,助理系统140可以使用户能够通过使用对话管理技术来在有状态和多轮会话中与它进行关于信息或服务的交互。在下面图2的讨论中更详细地描述了助理系统140的功能。
在特定实施例中,社交网络系统160可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统160可以生成、存储、接收并发送社交网络数据(诸如例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统160可以由网络环境100的其他部件直接地或经由网络110来访问。作为示例而不是作为限制,客户端系统130可以使用web浏览器132或与社交网络系统160相关联的原生(native)应用(例如,移动社交网络应用、消息传递应用、另一合适的应用或其任何组合)直接地或经由网络110来访问社交网络系统160。在特定实施例中,社交网络系统160可以包括一个或更多个服务器162。每个服务器162可以是整体式服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器162可以具有各种类型,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器162可以包括硬件、软件或嵌入式逻辑部件、或用于执行由服务器162实现或支持的适当功能的两个或更多个这样的部件的组合。在特定实施例中,社交网络系统160可以包括一个或更多个数据储存器164。数据储存器164可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器164中的信息。在特定实施例中,每个数据储存器164可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统130、社交网络系统160、助理系统140或第三方系统170能够管理、检索、修改、添加或删除存储在数据储存器164中的信息的接口。
在特定实施例中,社交网络系统160可以在一个或更多个数据储存器164中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及连接节点的多条边。社交网络系统160可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交网络系统160加入在线社交网络,且然后添加与社交网络系统160中的他们想要关连到的多个其他用户的关连(例如,关系)。在本文,术语“朋友”可以指用户经由社交网络系统160与其形成关连、关联(association)或关系的社交网络系统160的任何其他用户。
在特定实施例中,社交网络系统160可以向用户提供对由社交网络系统160支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统160的用户可以属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的交互、或其他合适的项目或对象。用户可以与能够在社交网络系统160中或者由第三方系统170的外部系统表示的任何事物进行交互,第三方系统170与社交网络系统160分离并且经由网络110耦合到社交网络系统160。
在特定实施例中,社交网络系统160能够链接各种实体。作为示例而不是作为限制,社交网络系统160可以使用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体交互。
在特定实施例中,第三方系统170可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件(例如,服务器可以与这些部件通信)。第三方系统170可以由与操作社交网络系统160的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统160和第三方系统170可以结合彼此来操作以向社交网络系统160或第三方系统170的用户提供社交网络服务。在这个意义上,社交网络系统160可以提供平台或骨干网,其他系统(例如第三方系统170)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统170可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传递到客户端系统130的内容对象的一个或更多个源。作为示例而不是作为限制,诸如,内容对象可以包括关于用户感兴趣的事情或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。在特定实施例中,第三方内容提供商可以使用一个或更多个第三方代理来提供内容对象和/或服务。第三方代理可以是在第三方系统170上托管和执行的实现。
在特定实施例中,社交网络系统160还包括用户生成的内容对象,其可以增强用户与社交网络系统160的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统160的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统130传送到社交网络系统160。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息或流)来添加到社交网络系统160。
在特定实施例中,社交网络系统160可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统160可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器、第三方内容储存器或定位储存器。社交网络系统160还可以包括合适的部件,如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在特定实施例中,社交网络系统160可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、亲和力或定位)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络110将社交网络系统160链接到一个或更多个客户端系统130或一个或更多个第三方系统170。web服务器可以包括邮件服务器或用于在社交网络系统160和一个或更多个客户端系统130之间接收并路由(routing)消息的其他消息传递功能。API请求服务器可以允许例如助理系统140或第三方系统170通过调用一个或更多个API来访问来自社交网络系统160的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统160上或之外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统130提供关于内容对象的信息。信息可以作为通知被推送到客户端系统130,或者信息可以响应于从客户端系统130接收的请求而从客户端系统130中被拉取。授权服务器可以用于实施社交网络系统160的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。授权服务器可以诸如例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统160记录或者与其他系统(例如,第三方系统170)共享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统170)接收的内容对象。定位储存器可以用于存储从与用户相关联的客户端系统130接收的定位信息。广告定价模块可以组合社交信息、当前时间、定位信息或其他合适的信息以用通知的形式向用户提供相关广告。
助理系统
图2示出了助理系统140的示例架构。在特定实施例中,助理系统140可以帮助用户获得信息或服务。助理系统140可以使用户能够在有状态和多轮会话中用多模态用户输入(如声音、文本、图像、视频、运动)与其进行交互,以获得帮助。作为示例而非限制,助理系统140可以支持音频输入(口头)和非口头输入,例如视觉、位置、手势、运动或混合/多模态输入。助理系统140可以创建和存储包括与用户相关联的个人信息和上下文信息的用户简档。在特定实施例中,助理系统140可以使用自然语言理解来分析用户输入。分析可以基于用户的用户简档,以获得更个性化和上下文感知的理解。助理系统140可以基于分析来解析与用户输入相关联的实体。在特定实施例中,助理系统140可以与不同的代理交互,以获得与解析的实体相关联的信息或服务。助理系统140可以通过使用自然语言生成来为用户生成关于信息或服务的响应。通过与用户的交互,助理系统140可以使用对话管理技术来管理和转发与用户的会话流。在特定实施例中,助理系统140还可以通过汇总信息来帮助用户有效和高效地消化所获得的信息。助理系统140还可以通过提供帮助用户与在线社交网络交互(例如,创建帖子、评论、消息)的工具,来帮助用户更多地参与在线社交网络。助理系统140另外可以帮助用户管理不同的任务,如持续跟踪事件。在特定实施例中,助理系统140可以在与用户相关的时间,在没有用户输入的情况下,基于用户简档主动执行与用户兴趣和偏好相关的预授权任务。在特定实施例中,助理系统140可以检查隐私设置,以确保根据用户的隐私设置,访问用户的简档或其他用户信息以及执行不同的任务是允许的。在2018年11月6日提交的美国专利申请第16/182542号中可以找到更多关于帮助受隐私设置约束的用户的信息,其通过引用被并入本文。
在特定实施例中,助理系统140可以通过建立在客户端进程和服务器端进程上的混合架构来帮助用户。客户端进程和服务器端进程可以是用于处理用户输入和向用户提供帮助的两个并行工作流。在特定实施例中,客户端进程可以在与用户相关联的客户端系统130上本地执行。相比之下,服务器端进程可以在一个或更多个计算系统上远程执行。在特定实施例中,客户端系统130上的助理编排器(assistant orchestrator)可以协调接收用户输入(例如,音频信号)并确定是使用客户端进程还是服务器端进程或两者来响应用户输入。对话仲裁器可以分析来自每个进程的处理结果。对话仲裁器可以基于上述分析指示客户端或服务器端的代理执行与用户输入相关联的任务。执行结果可以进一步作为输出向客户端系统130渲染。通过利用客户端和服务器端进程,助理系统140可以有效地帮助用户优化计算资源的使用,同时保护用户隐私并增强安全性。
在特定实施例中,助理系统140可以从与用户相关联的客户端系统130接收用户输入。在特定实施例中,用户输入可以是用户生成的输入,其在单轮中被发送到助理系统140。用户输入可以是口头的、非口头的或其组合。作为示例而非限制,非口头用户输入可以基于用户的声音、视觉、位置、活动、手势、动作或其组合。如果用户输入基于用户的声音(例如,用户可以对客户端系统130说话),则这种用户输入可以首先由系统音频API 202(应用编程接口)处理。系统音频API 202可以进行回声消除、噪声去除、波束形成和自用户声音激活、说话者识别、声音活动检测(VAD)以及任何其他声学技术,以生成可由助理系统140容易地处理的音频数据。在特定实施例中,系统音频API 202可以根据用户输入执行唤醒词检测204。作为示例而非限制,唤醒词可以是“嘿,助理”。如果检测到这样的唤醒词,则可以相应地激活助理系统140。在替代实施例中,用户可以通过视觉信号激活助理系统140,而无需唤醒词。视觉信号可以在能够检测各种视觉信号的低功率传感器(例如,摄像机)处接收。作为示例而非限制,视觉信号可以是由客户端系统130检测到的条形码、QR代码或通用产品代码(UPC)。作为另一个示例而非限制,视觉信号可以是用户对对象的凝视。作为又一个示例,并且不作为限制,视觉信号可以是用户手势,例如,用户指向对象。
在特定实施例中,来自系统音频API 202的音频数据可以被发送到助理编排器206。助理编排器206可以在客户端系统130上执行。在特定实施例中,助理编排器206可以确定是通过使用客户端进程、服务器端进程还是两者来响应用户输入。如图2所示,客户端进程在虚线207下方示出,而服务器端进程在虚线207上方示出。助理编排器206还可以确定通过同时使用客户端进程和服务器端进程来响应用户输入。尽管图2将助理编排器206示出为客户端进程,但是助理编排器206可以是服务器端进程,或者可以是在客户端和服务器端进程之间分离的混合进程。
在特定实施例中,在从系统音频API 202生成音频数据之后,服务器端进程可以如下。助理编排器206可以将音频数据发送到远程计算系统,该远程计算系统托管助理系统140的不同模块以响应用户输入。在特定实施例中,音频数据可以在远程自动语音识别(ASR)模块208处接收。ASR模块208可以允许用户口述并使语音转录为书面文本,使文档合成为音频流,或者发出被系统识别为这样的命令。ASR模块208可以使用统计模型来确定对应于由助理系统140作为音频输入接收的给定语音部分的最可能的单词序列。模型可以包括隐马尔可夫模型、神经网络、深度学习模型或其任意组合中的一个或更多个。接收的音频输入可以以特定的采样率(例如,16、44.1或96kHz)被编码成数字数据,并且具有代表每个样本的特定数量的比特(例如,24比特中的8、16比特)。
在特定实施例中,ASR模块208可以包括不同的部件。ASR模块208可以包括字形到音素(G2P,grapheme-to-phoneme)模型、发音学习模型、个性化声学模型、个性化语言模型(PLM)或端点模型中的一个或更多个。在特定实施例中,G2P模型可用于确定用户的字形到音素的风格,例如,当特定用户说特定单词时它听起来像什么。个性化声学模型可以是音频信号和语言中语音单元的声音之间关系的模型。因此,这种个性化声学模型可以识别用户的声音听起来如何。个性化声学模型可以使用训练数据生成,例如作为音频输入接收的训练语音和对应于该语音的相应语音单元。可以使用特定用户的声音来训练或细化个性化声学模型,以识别该用户的语音。在特定实施例中,个性化语言模型然后可以确定对应于特定音频输入的所识别的语音单元的最可能的短语。个性化语言模型可以是语言中可能出现各种单词序列的概率模型。可以使用个性化语言模型将音频输入中的语音单元的声音与单词序列进行匹配,并且可以将更大的权重分配给更可能是该语言中的短语的单词序列。然后可以选择具有最高权重的单词序列作为对应于音频输入的文本。在特定实施例中,个性化语言模型还可以用于预测给定上下文,用户最有可能说什么单词。在特定实施例中,端点模型可以检测何时到达话语的终点。
在特定实施例中,ASR模块208的输出可以被发送到远程自然语言理解(NLU)模块210。NLU模块210可以执行命名实体解析(NER)。当分析用户输入时,NLU模块210可以另外考虑上下文信息。在特定实施例中,意图和/或槽可以是NLU模块210的输出。意图可以是语义意图的预定义分类中的元素,其可以指示用户与助理系统140交互的目的。NLU模块210可以将用户输入分类为预定义分类的成员,例如,对于输入“播放贝多芬的第五交响乐”,NLU模块210可以将输入分类为具有意图[IN:播放_音乐]。在特定实施例中,域可以表示交互的社交上下文,例如教育,或者一组意图的命名空间,例如音乐。槽可以是对应于用户输入中的字符串的命名子串,表示基本语义实体。例如,“比萨”的槽可以是[SL:菜肴]。在特定实施例中,有效或预期命名槽的集合可以基于分类的意图。作为示例而非限制,对于意图[IN:播放_音乐],有效的槽可以是[SL:歌曲_名称]。在特定实施例中,NLU模块210可以另外从社交图、知识图或概念图中的一个或更多个提取信息,并且从一个或更多个远程数据储存器212检索用户简档。NLU模块210还可以通过确定聚合什么信息、注释用户输入的n-gram(n元文法)、基于聚合的信息用置信度分数对n-gram进行排序、将排序后的n-gram公式化为可以被NLU模块210用于理解用户输入的特征,来处理来自这些不同源的信息。
在特定实施例中,NLU模块210可以以个性化和上下文感知的方式从用户输入中识别域、意图或槽中的一个或更多个。作为示例而不是作为限制,用户输入可以包括“告诉我如何去咖啡店(show me how to get to the coffee shop)”。NLU模块210可以基于用户的个人信息和相关联的上下文信息来识别用户想要去的特定咖啡店。在特定实施例中,NLU模块210可以包括特定语言词典(lexicon of language)、语法分析器(parser)和语法规则(grammer rule),以将句子划分成内部表示。NLU模块210还可以包括一个或更多个程序,该程序使用语用学(pragmatics)来执行朴素(naive)语义或随机语义解析,以理解用户输入。在特定实施例中,语法分析器可以基于包括多个长短期记忆(LSTM)网络的深度学习架构。作为示例而不是作为限制,语法分析器可以基于循环神经网络文法(RNNG)模型,这是一种类型的循环和递归LSTM算法。关于自然语言理解的更多信息可以在2018年6月18日提交的美国专利申请第16/011062号、2018年7月2日提交的美国专利申请第16/025317号、和2018年7月17日提交的美国专利申请第16/038120号中找到,这些专利申请中的每一个通过引用被并入本文。
在特定实施例中,NLU模块210的输出可以被发送到远程推理模块214。推理模块214可以包括对话管理器和实体解析部件。在特定实施例中,对话管理器可以具有复杂的对话逻辑和产品相关的业务逻辑。对话管理器可以管理用户和助理系统140之间的对话状态和会话流。对话管理器可以另外存储用户和助理系统140之间的先前会话。在特定实施例中,对话管理器可以与实体解析部件通信以解析与一个或更多个槽相关联的实体,这支持对话管理器推进用户和助理系统140之间的会话流。在特定实施例中,当解析实体时,实体解析部件可以访问社交图、知识图或概念图中的一个或更多个。实体可以包括例如独特的用户或概念,每个用户或概念可以具有唯一的标识符(ID)。作为示例而不是作为限制,知识图可以包括多个实体。每个实体可以包括与一个或更多个属性值相关联的单个记录。特定记录可以与唯一的实体标识符相关联。对于实体的一个属性,每个记录可以有不同的值。每个属性值可以与置信度概率相关联。属性值的置信度概率表示该值对于给定属性是准确的概率。每个属性值也可以与语义权重相关联。属性值的语义权重可以表示考虑到所有可用信息,该值在语义上适合给定属性的程度。例如,知识图可以包括书“Alice’s Adventures”的实体,其包括已经从多个内容源(例如,在线社交网络、在线百科全书、书评源、媒体数据库和娱乐内容源)提取的信息,然后被去重复、解析和融合以生成知识图的单个唯一记录。该实体可以与“幻想”属性值相关联,该属性值指示书“Alice’s Adventures”的类型。关于知识图的更多信息可以在2018年7月27日提交的美国专利申请第16/048049号和2018年7月27日提交的美国专利申请第16/048101号中找到,这些专利申请中的每一个通过引用被并入本文。
在特定实施例中,实体解析部件可以检查隐私约束,以保证实体的解析不违反隐私策略。作为示例而非限制,要解析的实体可以是在他/她的隐私设置中指定他/她的身份不应该在在线社交网络上可搜索的另一个用户,因此实体解析部件可能不会响应于请求而返回该用户的标识符。基于从社交图、知识图、概念图和用户简档获得的信息,并且服从适用的隐私策略,实体解析部件因此可以以个性化的、上下文感知的和隐私感知的方式解析与用户输入相关联的实体。在特定实施例中,每个解析的实体可以与由社交网络系统160托管的一个或更多个标识符相关联。作为示例而非限制,标识符可以包括对应于特定用户的唯一用户标识符(ID)(例如,唯一用户名或用户ID号码)。在特定实施例中,每个解析的实体也可以与置信度分数相关联。关于解析实体的更多信息可以在2018年7月27日提交的美国专利申请第16/048049号和2018年7月27日提交的美国专利申请第16/048072号中找到,这些专利申请中的每一个均通过引用结合于此。
在特定实施例中,对话管理器可以进行对话优化和助理状态跟踪。对话优化是使用数据来理解对话中最可能的分支应该是什么的问题。作为示例而非限制,利用对话优化,助理系统140可能不需要确认用户想要呼叫谁,因为助理系统140具有基于对话优化推断的人很可能是用户想要呼叫的人的高置信度。在特定实施例中,对话管理器可以使用强化学习来进行对话优化。助理状态跟踪旨在跟踪随着用户与世界交互以及助理系统140与用户交互而随时间变化的状态。作为示例而非限制,根据适用的隐私政策,助理状态跟踪可以跟踪用户正在谈论什么、用户与谁在一起、用户在哪里、当前正在进行什么任务以及用户的凝视在哪里等。在特定实施例中,对话管理器可以使用一组操作符来跟踪对话状态。操作符可以包括必要的数据和逻辑来更新对话状态。在处理传入的请求后,每个操作符都可以充当对话状态的增量。在特定实施例中,对话管理器可以进一步包括对话状态跟踪器和动作选择器。在替代实施例中,对话状态跟踪器可以替换实体解析部件,并解析指代/提及,并跟踪状态。
在特定实施例中,推理模块214可以进一步进行错误触发缓解。错误触发缓解的目标是检测助理请求的错误触发(例如,唤醒词),并避免当用户实际上不打算调用助理系统140时产生错误记录。作为示例而非限制,推理模块214可以基于无意义检测器来实现错误触发缓解。如果无意义检测器确定唤醒词在与用户交互的这一点上没有意义,则推理模块214可以确定推断用户打算调用助理系统140可能是不正确的。在特定实施例中,推理模块214的输出可以被发送到远程对话仲裁器216。
在特定实施例中,ASR模块208、NLU模块210和推理模块214中的每一个都可以访问远程数据储存器212,该远程数据储存器212包括用户情节记忆,以确定如何更有效地帮助用户。关于情节记忆的更多信息可以在2019年8月27日提交的美国专利申请第16/552559号中找到,该申请通过引用结合于此。数据储存器212可以另外存储用户的用户简档。用户的用户简档可以包括用户简档数据,该用户简档数据包括与用户相关联的人口统计信息、社交信息和上下文信息。用户简档数据还可以包括用户对通过动态消息、搜索日志、消息平台等上的会话来聚集的多个主题的兴趣和偏好。用户简档的使用可能会受到隐私限制,以确保用户的信息只能用于他/她的利益,而不能与任何其他人共享。关于用户简档的更多信息可以在2018年4月30日提交的美国专利申请第15/967239号中找到,该申请通过引用结合于此。
在特定实施例中,与前述涉及ASR模块208、NLU模块210和推理模块214的服务器端进程并行,客户端进程可以如下。在特定实施例中,助理编排器206的输出可以被发送到客户端系统130上的本地ASR模块216。ASR模块216可以包括个性化语言模型(PLM)、G2P模型和端点模型。由于客户端系统130的有限计算能力,助理系统140可以在客户端进程期间在运行时优化个性化语言模型。作为示例而非限制,助理系统140可以为用户可能谈论的多个可能主题预先计算多个个性化语言模型。当用户请求帮助时,助理系统140然后可以快速交换这些预先计算的语言模型,使得个性化语言模型可以由助理系统140在运行时基于用户活动进行本地优化。结果,助理系统140可以具有在有效地确定用户可能在谈论什么的同时节省计算资源的技术优势。在特定实施例中,助理系统140还可以在运行时快速重新学习用户发音。
在特定实施例中,ASR模块216的输出可以被发送到本地NLU模块218。在特定实施例中,与服务器端支持的远程NLU模块210相比,本文的NLU模块218可以更紧凑。当ASR模块216和NLU模块218处理用户输入时,它们可以访问本地助理存储器220。出于保护用户隐私的目的,本地助理存储器220可以不同于存储在数据储存器212上的用户记忆。在特定实施例中,本地助理存储器220可以经由网络110与存储在数据储存器212上的用户记忆同步。作为示例而非限制,本地助理存储器220可以将用户客户端系统130上的日历与和用户相关联的服务器端日历同步。在特定实施例中,本地助理存储器220中的任何安全数据仅可由在客户端系统130上本地执行的助理系统140的模块访问。
在特定实施例中,NLU模块218的输出可以被发送到本地推理模块222。推理模块222可以包括对话管理器和实体解析部件。由于有限的计算能力,推理模块222可以进行基于特别为客户端系统130定制的学习算法的设备上学习。作为示例而非限制,推理模块222可以使用联邦学习。联邦学习是分布式机器学习方法的一个特定类别,它使用驻留在移动电话等终端设备上的分散数据来训练机器学习模型。在特定实施例中,推理模块222可以使用特定的联邦学习模型,即联邦用户表示学习,来将现有的神经网络个性化技术扩展到联邦学习。联邦用户表示学习可以通过学习特定于任务的用户表示(即嵌入)或通过个性化模型权重来个性化联邦学习中的模型。联邦用户表示学习简单、可扩展、隐私保护和资源高效。联邦用户表示学习可以将模型参数分为联邦参数和私有参数。私有参数,例如私有用户嵌入,可以在客户端系统130上本地训练,而不是传送到远程服务器或在远程服务器上平均。相比之下,联邦参数可以在服务器上远程训练。在特定实施例中,推理模块222可以使用另一个特定的联邦学习模型,即主动联邦学习,以将在远程服务器上训练的全局模型传输到客户端系统130,并在这些客户端系统130上本地计算梯度。主动联邦学习可以使推理模块最小化与下载模型和上传梯度相关的传输成本。对于主动联邦学习,在每一轮中,客户端系统不是均匀地随机选择的,而是以当前模型和客户端系统上的数据为条件的概率选择的,以最大化效率。在特定实施例中,推理模块222可以使用另一个特定的联邦学习模型,即联邦Adam。传统的联邦学习模型可以使用随机梯度下降(SGD)优化器。相比之下,联邦Adam模型可能使用基于矩的优化器。联邦Adam模型可以使用平均模型来计算近似梯度,而不是像传统工作那样直接使用平均模型。这些梯度然后可以被馈送到联邦Adam模型中,该模型可以去除随机梯度的噪声并使用每个参数的自适应学习速率。联邦学习产生的梯度可能比随机梯度下降噪声更多(因为数据可能不是独立且同分布的),因此联邦Adam模型可能有助于更好地处理噪声。联邦Adam模型可以使用梯度来采取更聪明的步骤来最小化目标函数。实验表明,在基准上的传统联邦学习在ROC(接收机工作特性)曲线上有1.6%的下降,而联邦Adam模型只有0.4%的下降。此外,联邦Adam模型没有增加通信或设备上的计算。在特定实施例中,推理模块222还可以执行错误触发缓解。当用户的语音输入包括受隐私约束的数据时,这种错误触发缓解可以帮助检测客户端系统130上的错误激活请求,例如唤醒词。作为示例而非限制,当用户处于语音呼叫中时,用户的会话是私密的,并且基于这种会话的错误触发检测只能在用户的客户端系统130上本地发生。
在特定实施例中,助理系统140可以包括本地上下文引擎224。上下文引擎224可以处理所有其他可用信号,以向推理模块222提供更多信息提示。作为示例而非限制,上下文引擎224可以具有与人相关的信息、来自客户端系统130传感器(例如,麦克风、摄像机)的感测数据(其通过计算机视觉技术进一步分析)、几何构造、活动数据、惯性数据(例如,由VR头戴装置收集的数据)、位置等。在特定实施例中,计算机视觉技术可以包括人体骨骼重建、面部检测、面部识别、手跟踪、眼睛跟踪等。在特定实施例中,几何构造可以包括使用由客户端系统130收集的数据来构造用户周围的对象。作为示例而非限制,用户可能戴着AR眼镜,并且几何构造可以旨在确定地板在哪里、墙壁在哪里、用户的手在哪里等。在特定实施例中,惯性数据可以是与线性和角运动相关联的数据。作为示例而非限制,可以通过测量用户身体部位如何移动的AR眼镜来捕获惯性数据。
在特定实施例中,本地推理模块222的输出可以被发送到对话仲裁器216。对话仲裁器216可以在三种场景下不同地运行。在第一种场景下,助理编排器206确定使用服务器端进程,为此,对话仲裁器216可以将推理模块214的输出传输到远程动作执行模块226。在第二种场景下,助理编排器206确定使用服务器端进程和客户端进程,为此,对话仲裁器216可以聚集来自两个进程的两个推理模块(即,远程推理模块214和本地推理模块222)的输出并分析它们。作为示例而非限制,对话仲裁器216可以执行排序并选择最佳推理结果来响应用户输入。在特定实施例中,对话仲裁器216还可以基于分析来确定是使用服务器端还是客户端上的代理来执行相关任务。在第三种场景下,助理编排器206确定使用客户端进程,并且对话仲裁器216需要评估本地推理模块222的输出,以确定客户端进程是否能够完成处理用户输入的任务。在替代实施例中,如果助理编排器206确定使用客户端进程并且客户端进程完全能够处理用户输入,则推理模块222的输出可以不被发送到对话仲裁器216。
在特定实施例中,对于上述第一和第二场景,对话仲裁器216可以确定服务器端的代理对于响应用户输入执行任务是必要的。因此,对话仲裁器216可以向动作执行模块226发送关于用户输入的必要信息。动作执行模块226可以调用一个或更多个代理来执行任务。在替代实施例中,对话管理器的动作选择器可以确定要执行的动作,并相应地指示动作执行模块226。在特定实施例中,代理可以是充当一个域的多个内容提供者之间的中介者(broker)的一种实现。内容提供者可以是负责执行与意图相关联的动作或完成与意图相关联的任务的实体。在特定实施例中,代理可以包括第一方代理和第三方代理。在特定实施例中,第一方代理可以包括可由助理系统140访问和控制的内部代理(例如,与在线社交网络提供的服务相关联的代理,诸如消息服务或照片共享服务)。在特定实施例中,第三方代理可以包括助理系统140无法控制的外部代理(例如,第三方在线音乐应用代理、门票销售代理)。第一方代理以与第一方提供者关联,该第一方提供者提供由社交网络系统160托管的内容对象和/或服务。第三方代理可以与第三方提供者相关联,该第三方提供者提供由第三方系统170托管的内容对象和/或服务。在特定实施例中,第一方代理或第三方代理中的每一个可以被指定用于特定域。作为示例而非限制,该域可以包括天气、交通、音乐等。在特定实施例中,助理系统140可以协同使用多个代理来响应用户输入。作为示例而不是作为限制,用户输入可以包括“指引我到我的下一个会议(direct me to my next meeting)”。助理系统140可以使用日历代理来检索下一个会议的位置。助理系统140然后可以使用导航代理来指引用户到下一个会议。
在特定实施例中,对于上述第二和第三场景,对话仲裁器216可以确定客户端上的代理能够响应于用户输入执行任务,但是需要附加信息(例如,响应模板),或者任务只能由服务器端上的代理来处理。如果对话仲裁器216确定任务只能由服务器端的代理处理,则对话仲裁器216可以向动作执行模块226发送关于用户输入的必要信息。如果对话仲裁器216确定客户端上的代理能够执行任务,但是需要响应模板,则对话仲裁器216可以向远程响应模板生成模块228发送关于用户输入的必要信息。响应模板生成模块228的输出还可以被发送到在客户端系统130上执行的本地动作执行模块230。在特定实施例中,如果助理编排器206确定使用客户端进程,并且客户端进程完全能够处理用户输入,则推理模块222的输出可以直接发送到动作执行模块230。
在特定实施例中,动作执行模块230可以调用本地代理来执行任务。与服务器端的代理相比,客户端系统130上的本地代理能够执行更简单的任务。作为示例而不是作为限制,多个特定于设备的实现(例如,对客户端系统130的或客户端系统130上的消息传递应用的实时调用)可以由单个代理在内部处理。可替代地,这些特定于设备的实现可以由与多个域相关联的多个代理来处理。在特定实施例中,动作执行模块230可以另外执行一组通用可执行对话动作。这组可执行对话动作可以与代理、用户和助理系统140本身交互。这些对话动作可以包括用于槽请求、确认、歧义消除、代理执行等的对话动作。对话动作可以独立于动作选择器或对话策略的底层实现。基于树的策略和基于模型的策略都可以生成相同的基本对话动作,回调函数隐藏了任何特定于动作选择器的实现细节。
在特定实施例中,来自服务器端的远程动作执行模块226的输出可以被发送到远程响应执行模块232。在特定实施例中,动作执行模块226可以向对话仲裁器216发回更多信息。响应执行模块232可以基于远程会话理解(CU)编写器。在特定实施例中,来自动作执行模块226的输出可以被公式化为<k,c,u,d>元组,其中k指示知识源、c指示通信目标、u指示用户模型以及d指示话语模型。在特定实施例中,CU编写器可以包括自然语言生成(NLG)模块和用户界面(UI)有效载荷生成器。自然语言生成器可以使用不同的语言模型和/或语言模板基于动作执行模块226的输出来生成通信内容。在特定实施例中,通信内容的生成可以是特定于应用的,并且对于每个用户也是个性化的。CU编写器还可以使用UI有效载荷生成器来确定所生成的通信内容的模态。在特定实施例中,NLG模块可以包括内容确定部件、句子规划器和表层实现(surface realization)部件。内容确定部件可以基于知识源、通信目标和用户的期望来确定通信内容。作为示例而不是作为限制,确定可以基于描述逻辑。描述逻辑可以包括例如三个基本观念(notion),它们是个体(表示域中的对象)、概念(描述个体集合)和角色(表示个体或概念之间的二元关系)。描述逻辑可以由一组构造器来表征,该构造器允许自然语言生成器从原子(atomic)概念/角色构建复杂概念/角色。在特定实施例中,内容确定部件可以执行以下任务来确定通信内容。第一任务可以包括翻译任务,其中对自然语言生成器的输入可以被翻译成概念。第二任务可以包括选择任务,其中可以基于用户模型从翻译任务产生的概念中选择相关概念。第三任务可以包括验证任务,其中可以验证所选概念的一致性。第四任务可以包括实例化任务,其中被验证的概念可以被实例化为可由自然语言生成器处理的可执行文件。句子规划器可以确定通信内容的组织,使其为人所理解。表层实现部件可以确定要使用的特定单词、句子的顺序以及通信内容的风格。UI有效载荷生成器可以确定要呈现给用户的通信内容的优选模态。在特定实施例中,CU编写器可以检查与用户相关联的隐私约束,以确保通信内容的生成遵循隐私策略。关于自然语言生成的更多信息可以在2018年4月30日提交的美国专利申请第15/967279号和2018年4月30日提交的美国专利申请第15/966455号中找到,这些专利申请中的每一个通过引用结合于此。
在特定实施例中,来自客户端系统130上的本地动作执行模块230的输出可以被发送到本地响应执行模块234。响应执行模块234可以基于本地会话理解(CU)编写器。CU编写器可以包括自然语言生成(NLG)模块。由于客户端系统130的计算能力可能有限,出于计算效率的考虑,NLG模块可以是简单的。因为NLG模块可以是简单的,所以响应执行模块234的输出可以被发送到本地响应扩展模块236。响应扩展模块236可以进一步扩展响应执行模块234的结果,以使响应更加自然并包含更丰富的语义信息。
在特定实施例中,如果用户输入基于音频信号,则服务器端的响应执行模块232的输出可以被发送到远程文本到语音(TTS)模块238。类似地,客户端上的响应扩展模块236的输出可以被发送到本地TTS模块240。两个TTS模块都可以将响应转换为音频信号。在特定实施例中,来自响应执行模块232、响应扩展模块236或两端的TTS模块的输出可以最终被发送到本地渲染输出模块242。渲染输出模块242可以生成适合于客户端系统130的响应。作为示例而非限制,响应执行模块232或响应扩展模块236的输出可以包括自然语言串、语音、带有参数的动作或可以在VR头戴装置或AR智能眼镜中显示的渲染图像或视频中的一个或更多个。结果,渲染输出模块242可以基于CU编写器的输出来确定要执行什么任务,以适当地渲染响应,用于在VR头戴装置或AR智能眼镜上显示。例如,响应可以是基于视觉的模态(例如,图像或视频剪辑),其可以通过VR头戴装置或AR智能眼镜显示。作为另一个例子,响应可以是用户可以通过VR头戴装置或AR智能眼镜播放的音频信号。作为又一示例,响应可以是增强现实数据,其可以由VR头戴装置或AR智能眼镜渲染以增强用户体验。
在特定实施例中,助理系统140可以具有各种能力,包括音频认知、视觉认知、信号智能、推理和记忆。在特定实施例中,音频识别的能力可以使助理系统140能够理解与不同语言的各种域相关联的用户输入,理解会话并能够对其进行汇总,对复杂的命令执行设备上的音频认知,通过语音识别用户,从会话中提取主题并自动标记会话的部分,实现没有唤醒词的音频交互,从环境噪声和会话中过滤并放大用户语音,理解用户正在与哪个客户端系统130(如果多个客户端系统130在附近)通话。
在特定实施例中,视觉认知的能力可以使助理系统140能够执行面部检测和跟踪,识别用户,以不同的角度识别主要大都市地区的大多数感兴趣的人,通过现有的机器学习模型和一次性学习的组合识别世界上大多数感兴趣的对象,识别感兴趣的时刻并自动捕获它,实现对跨不同的时间段的多个视觉帧的语义理解,为人、地点、对象识别的附加能力提供平台支持,识别全套设置和包括个性化位置的微位置、识别复杂活动、识别复杂手势以控制客户端系统130、处理来自以自我为中心的摄像机的图像/视频(例如,具有运动、捕获角度、分辨率等)、实现关于具有较低分辨率的图像的相似级别的准确度和速度,进行人、地点和对象的一次性配准和识别,并在客户端系统130上执行视觉识别。
在特定实施例中,助理系统140可以利用计算机视觉技术来实现视觉认知。除了计算机视觉技术之外,助理系统140可以探索能够补充这些技术的选项,以扩大对象的识别。在特定实施例中,助理系统140可以使用补充信号,例如对象标签的光学字符识别(OCR)、用于地点识别的GPS信号、来自用户客户端系统130的信号来识别用户。在特定实施例中,助理系统140可以执行一般场景识别(家庭、工作、公共空间等)来为用户设置上下文并缩小计算机视觉搜索空间以识别最可能的对象或人。在特定实施例中,助理系统140可以指导用户训练助理系统140。例如,众包可用于让用户标记并帮助助理系统140随时间识别更多的对象。作为另一个例子,当使用助理系统140时,用户可以注册他们的个人对象作为初始设置的一部分。助理系统140还可以允许用户为他们交互的对象提供正/负信号,以便训练和改进用于他们的个性化模型。
在特定实施例中,信号智能的能力可以使助理系统140能够确定用户位置、理解日期/时间、确定家庭位置、理解用户的日历和未来期望的位置、集成更丰富的声音理解以仅通过声音来识别设置/上下文、在运行时建立信号智能模型,该模型可以针对用户的个人例程进行个性化。
在特定实施例中,推理能力可以使助理系统140能够在未来的任何时间点拾取任何先前的会话线程,合成所有信号以理解微观和个性化的上下文,从用户的历史行为中学习交互模式和偏好并准确地建议他们可能重视的交互,基于微观上下文理解生成高度预测性的主动建议,理解用户可能希望在一天的什么时间看到什么内容,理解场景中的变化以及这可能如何影响用户期望的内容。
在特定实施例中,记忆的能力可以使助理系统140能够记住用户先前调用或交互了哪些社交关连,随意写入存储器和查询存储器(即,打开听写和自动标签),基于先前的交互和长期学习提取更丰富的偏好,记住用户的生活史,从以自我为中心的数据流和自动目录中提取丰富的信息,并以结构化形式写入存储器以形成丰富的短期、情节和长期记忆。
图3示出了助理系统140的服务器端进程的示例性流程图。在特定实施例中,服务器助理服务模块301可以在接收到用户请求时访问请求管理器302。在替代实施例中,如果用户请求基于音频信号,则用户请求可以首先由远程ASR模块208处理。在特定实施例中,请求管理器302可以包括上下文提取器303和会话理解对象生成器(CU对象生成器)304。上下文提取器303可以提取与用户请求相关联的上下文信息。上下文提取器303还可以基于在客户端系统130上执行的助理应用136来更新上下文信息。作为示例而不是作为限制,上下文信息的更新可以包括在客户端系统130上显示内容项目。作为另一个示例而不是作为限制,上下文信息的更新可以包括客户端系统130上是否设置了闹钟。作为另一个示例而不是作为限制,上下文信息的更新可以包括客户端系统130上是否在播放歌曲。CU对象生成器304可以生成与用户请求相关的特定内容对象。内容对象可以包括与用户请求相关联的对话会话数据和特征,该对话会话数据和特征可以与助理系统140的所有模块共享。在特定实施例中,请求管理器302可以将上下文信息和生成的内容对象存储在数据储存器212中,数据储存器212是在助理系统140中实现的特定数据储存器。
在特定实施例中,请求管理器302可以将生成的内容对象发送到远程的NLU模块210。NLU模块210可以执行多个步骤来处理内容对象。在步骤305,NLU模块210可以生成内容对象的白名单(whitelist)。在特定实施例中,白名单可以包括匹配用户请求的解释数据。在步骤306,NLU模块210可以基于白名单执行特征化。在步骤307,NLU模块210可以基于从特征化产生的特征对用户请求执行域分类/选择,以将用户请求分类到预定义的域中。还可以基于两个相关的过程进一步处理域分类/选择结果。在步骤308a,NLU模块210可以使用意图分类器来处理域分类/选择结果。意图分类器可以确定与用户请求相关联的用户意图。在特定实施例中,每个域可以有一个意图分类器来确定给定域中最可能的意图。作为示例而不是作为限制,意图分类器可以基于机器学习模型,该模型可以将域分类/选择结果作为输入,并计算该输入与特定预定义意图相关联的概率。在步骤308b,NLU模块210可以使用元意图(meta-intent)分类器来处理域分类/选择结果。元意图分类器可以确定描述用户意图的类别。在特定实施例中,多个域共有的意图可以由元意图分类器处理。作为示例而不是作为限制,元意图分类器可以基于机器学习模型,该模型可以将域分类/选择结果作为输入,并计算输入与特定预定义元意图相关联的概率。在步骤309a,NLU模块210可以使用槽标记器(slot tagger)来注释与用户请求相关联的一个或更多个槽。在特定实施例中,槽标记器可以为用户请求的n-grams注释一个或更多个槽。在步骤309b,NLU模块210可以使用元槽标记器为来自元意图分类器的分类结果注释一个或更多个槽。在特定实施例中,元槽标记器可以标记通用槽,例如对项目(例如,第一个项目)的指代、槽的类型、槽的值等。作为示例而非限制,用户请求可以包括“将我账户中的500美元兑换成日元”。意图分类器可以将用户请求作为输入,并将其公式化为向量。意图分类器然后可以基于表示用户请求的向量和表示不同预定义意图的向量之间的向量比较来计算用户请求与不同预定义意图相关联的概率。以类似的方式,槽标记器可以将用户请求作为输入,并将每个单词公式化为向量。意图分类器然后可以基于表示单词的向量和表示不同预定义槽的向量之间的向量比较来计算每个单词与不同预定义槽相关联的概率。用户的意图可以被分类为“兑换钱(changing money)”。用户请求的槽可以包括“500”、“美元(dollars)”、“账户(account)”和“日元(Japaneseyen)”。用户的元意图可以被分类为“金融服务(financial service)”。元槽(meta slot)可以包括“金融(finance)”。
在特定实施例中,NLU模块210可以包括语义信息聚合器310。语义信息聚合器310可以通过提供语义信息来帮助NLU模块210改进内容对象的域分类/选择。在特定实施例中,语义信息聚合器310可以以下述方式聚合语义信息。语义信息聚合器310可以首先从用户上下文引擎315检索信息。在特定实施例中,用户上下文引擎315可以包括离线聚合器和在线推断服务。离线聚合器可以处理从先前时间窗口收集的与用户相关联的多个数据。作为示例而非限制,数据可以包括在预定的时间范围内(例如,从先前的90天窗口)收集的动态消息帖子/评论、与动态消息帖子/评论的交互、搜索历史等。处理结果可以作为用户简档的一部分存储在用户上下文引擎315中。在线推断服务可以分析由助理系统140在当前时间接收的与用户相关联的会话数据。分析结果也可以作为用户简档的一部分存储在用户上下文引擎315中。在特定实施例中,离线聚合器和在线推断服务都可以从多个数据中提取个性化特征。提取的个性化特征可以被助理系统140的其他模块使用,以更好地理解用户输入。在特定实施例中,语义信息聚合器310然后可以在以下步骤中处理从用户上下文引擎315检索的信息,即用户简档。在步骤311,语义信息聚合器310可以基于自然语言处理(NLP)来处理从用户上下文引擎315检索的信息。在特定实施例中,语义信息聚合器310可以:通过文本标准化来切分(tokenize)文本,从文本中提取句法(syntax)特征,并基于NLP从文本中提取语义特征。语义信息聚合器310另外可以从上下文信息中提取特征,该上下文信息是从用户和助理系统140之间的对话历史访问的。语义信息聚合器310还可以基于上下文信息进行全局单词嵌入、特定于域的嵌入和/或动态嵌入。在步骤312,处理结果可以由实体标记器用实体来注释。在步骤313,基于注释,语义信息聚合器310可以为检索到的信息生成字典。在特定实施例中,字典可以包括可以离线动态更新的全局字典特征。在步骤314,语义信息聚合器310可以对由实体标记器标记的实体进行排序。在特定实施例中,语义信息聚合器310可以与包括社交图、知识图或概念图中的一个或更多个的不同图320通信,以从用户上下文引擎315提取与检索到的信息相关的本体数据。在特定实施例中,语义信息聚合器310可以聚合用户简档、排序后的实体和来自图320的信息。语义信息聚合器310然后可以将聚合的信息提供给NLU模块210,以促进域分类/选择。
在特定实施例中,NLU模块210的输出可以被发送到远程推理模块214。推理模块214可以包括共指部件325、实体解析部件330和对话管理器335。NLU模块210的输出可以首先在共指部件325处被接收,以解释与用户请求相关联的内容对象的指代。在特定实施例中,共指部件325可用于识别用户请求所指的项目。共指部件325可以包括指代创建326和指代消解(reference resolution)327。在特定实施例中,指代创建326可以为由NLU模块210确定的实体创建指代。指代消解327可以准确地消解这些指代。作为示例而非限制,用户请求可以包括“给我找到最近的杂货店并指引我到那里”。共指部件325可以将“那里”解释为“最近的杂货店”。在特定实施例中,共指部件325可以在必要时访问用户上下文引擎315和对话引擎335,以用提高的准确性来解释指代。
在特定实施例中,所识别的域、意图、元意图、槽和元槽以及所消解的指代可以被发送到实体解析部件330以解析相关实体。实体解析部件330可以执行通用和特定于域的实体解析。在特定实施例中,实体解析部件330可以包括域实体解析331和通用实体解析332。域实体解析331可以通过将槽和元槽归类到不同的域来解析实体。在特定实施例中,可以基于从图320中提取的本体数据来解析实体。本体数据可以包括不同槽/元槽和域之间的结构关系。本体也可以包括槽/元槽可以如何在较高级别包括域的层次结构内被分组、相关,并根据相似性和差异细分的信息。通用实体解析332可以通过将槽和元槽归类到不同的通用主题来解析实体。在特定实施例中,解析也可以基于从图320中提取的本体数据。本体数据可以包括不同槽/元槽和通用主题之间的结构关系。本体也可以包括槽/元槽可以如何在较高级别包括主题的层次结构内被分组、相关,并根据相似性和差异细分的信息。作为示例而非限制,响应于对特定品牌电动汽车的优点的查询的输入,通用实体解析332可以将电动汽车的指代品牌解析为车辆,并且域实体解析331可以将电动汽车的指代品牌解析为电动汽车。
在特定实施例中,实体解析部件330的输出可以被发送到对话管理器335,以推进与用户的会话流。对话管理器335可以是异步状态机,其重复更新状态并基于新状态选择动作。对话管理器335可以包括对话意图解析336和对话状态跟踪器337。在特定实施例中,对话管理器335可以执行所选择的动作,然后再次调用对话状态跟踪器337,直到所选择的动作需要用户响应,或者不再有动作要执行。所选择的每个动作可能取决于先前动作的执行结果。在特定实施例中,对话意图解析336可以基于用户和助理系统140之间的对话历史来解析与当前对话会话相关联的用户意图。对话意图解析336可以将NLU模块210确定的意图映射到不同的对话意图。对话意图解析336还可以基于来自NLU模块210、实体解析部件330的信号以及用户和助理系统140之间的对话历史来对对话意图进行排序。在特定实施例中,对话状态跟踪器337可以是无附带后果部件,并且生成建议对话状态更新的对话状态更新操作符的n个最佳候选,而不是直接改变对话状态。对话状态跟踪器337可以包括意图解析器,其包含基于对话状态处理不同类型的NLU意图并生成操作符的逻辑。在特定实施例中,逻辑可以由意图处理器来组织,该意图处理器例如为当助理系统140请求歧义消除时处理意图的歧义消除意图处理器、包括处理确认的逻辑的确认意图处理器等。意图解析器可以将轮意图(turn intent)与对话状态组合在一起,以生成与用户会话的上下文更新。然后,槽解析部件可以用包含知识图和域代理的解析提供者递归地解析更新操作符中的槽。在特定实施例中,对话状态跟踪器337可以更新/排序当前对话会话的对话状态。作为示例而非限制,如果对话会话结束,对话状态跟踪器337可以将对话状态更新为“完成”。作为另一示例而非限制,对话状态跟踪器337可以基于与其相关联的优先级来对对话状态进行排序。
在特定实施例中,推理模块214可以分别与远程动作执行模块226和对话仲裁器216通信。在特定实施例中,推理模块214的对话管理器335可以与动作执行模块226的任务完成部件340就对话意图和相关联的内容对象进行通信。在特定实施例中,任务完成模块340可以针对不同的对话意图对不同的对话假设进行排序。任务完成模块340可以包括动作选择器341。在替代实施例中,动作选择器341可以包括在对话管理器335中。在特定实施例中,对话管理器335还可以对照包含在对话仲裁器216中的关于对话状态的对话策略345进行检查。在特定实施例中,对话策略345可以包括描述代理350的动作执行计划的数据结构。对话策略345可以包括通用策略346和任务策略347。在特定实施例中,通用策略346可以用于不特定于单个任务的动作。通用策略346可以包括处理低置信度意图、内部错误、不可接受的用户重试响应、基于ASR或NLU置信度得分跳过或插入确认等。通用策略346还可以包括对来自对话状态跟踪器337输出的对话状态更新候选进行排序并挑选要更新的一个(例如挑选排序最高的任务意图)的逻辑。在特定实施例中,助理系统140可以具有用于通用策略346的特定接口,其允许将分散的跨域策略/业务规则,尤其是在对话状态跟踪器337中找到的那些,合并到动作选择器341的功能中。通用策略346的接口还可以允许创作可以绑定到特定情况或客户端的独立子策略单元,例如可以基于客户端、情况等容易地打开或关闭的策略功能。通用策略346的接口还可以允许提供具有回退的策略分层,即多个策略单元,处理特定情况的高度专业化的策略单元由在更广泛的环境中适用的更通用的策略346来支持。在这种情况下,通用策略346可替代地包括特定于意图或任务的策略。在特定实施例中,任务策略347可以包括基于任务和当前状态的动作选择器341的逻辑。在特定实施例中,任务策略347的类型可以包括以下类型中的一种或更多种:(1)手工制作的基于树的对话计划;(2)直接实现生成动作的接口的编码策略;(3)配置器指定的槽填充任务;或者(4)从数据中学习的基于机器学习模型的策略。在特定实施例中,助理系统140可以用基于规则的逻辑引导新域,并且稍后用机器学习模型来细化任务策略347。在特定实施例中,对话策略345可以是基于树的策略,其是预先构建的对话计划。基于当前对话状态,对话策略345可以选择节点来执行和生成相应的动作。作为示例而非限制,基于树的策略可以包括主题分组节点和对话动作(叶)节点。
在特定实施例中,动作选择器341可以采用对话状态的候选操作符,并咨询对话策略345来决定应该执行什么动作。助理系统140可以使用分层对话策略,其中通用策略346处理跨域业务逻辑,任务策略347处理特定于任务/域的逻辑。在特定实施例中,通用策略346可以从候选操作符中选择一个操作符来更新对话状态,随后通过任务策略347选择面向用户的动作。一旦任务在对话状态中是活动的,可以咨询相应的任务策略347来选择正确的动作。在特定实施例中,对话状态跟踪器337和动作选择器341都可以不改变对话状态,直到所选择的动作被执行。这可以允许助理系统140执行对话状态跟踪器337和动作选择器341,用于处理推测的ASR结果,并利用模拟运行(dry runs)进行n最佳排序。在特定实施例中,动作选择器341可以将对话状态更新操作符作为输入的一部分来选择对话动作。对话动作的执行可以生成一组期望,以指示对话状态跟踪器337处理未来轮。在特定实施例中,当处理来自下一轮的用户输入时,期望可用于向对话状态跟踪器337提供上下文。作为示例而非限制,槽请求对话动作可能期望证明所请求的槽的值。
在特定实施例中,对话管理器335可以支持槽提及的多轮组成解析。对于来自NLU210的组成分析,解析器可以递归地解析嵌套槽。对话管理器335可以另外支持嵌套槽的歧义消除。作为示例而非限制,用户请求可以是“提醒我给Alex打电话”。在创建可动作的待办事项提醒实体之前,解析器可能需要知道要给哪个Alex打电话。当特定槽需要进一步的用户澄清时,解析器可以暂停解析并设置解析状态。通用策略346可以检查解析状态,并为用户澄清创建相应的对话动作。在对话状态跟踪器337中,基于用户请求和最后的对话动作,对话管理器可以更新嵌套槽。这种能力可以允许助理系统140与用户交互,不仅收集缺失的槽值,而且减少更复杂/模糊的话语的模糊性以完成任务。在特定实施例中,对话管理器可以进一步支持请求嵌套意图和多意图用户请求中的缺失槽(例如,“拍摄这张照片并将其发送给爸爸”)。在特定实施例中,对话管理器335可以支持机器学习模型,以获得更健壮的对话体验。作为示例而非限制,对话状态跟踪器337可以使用基于神经网络的模型(或任何其他合适的机器学习模型)来对任务假设上的信念进行建模。作为另一个示例而非限制,对于动作选择器341,最高优先级策略单元可以包括白名单/黑名单覆盖,这可能必须通过设计来发生;中等优先级单元可以包括为动作选择设计的机器学习模型;并且当机器学习模型选择不处理情况时,较低优先级单元可以包括基于规则的后退。在特定实施例中,基于机器学习模型的通用策略单元可以帮助助理系统140减少冗余的歧义消除或确认步骤,从而减少执行用户请求的轮数。
在特定实施例中,动作执行模块226可以调用不同的代理350来执行任务。代理350可以在注册的内容提供者中进行选择来完成该动作。数据结构可以由对话管理器335基于意图和与该意图相关联的一个或更多个槽来构造。对话策略345还可以包括通过逻辑操作符互相关的多个目标。在特定实施例中,目标可以是对话策略的一部分的输出结果,并且它可以由对话管理器335构造。目标可以由具有一个或更多个命名参量的标识符(例如,字符串)来表示,该一个或更多个命名参量将目标参数化。作为示例而不是作为限制,目标及其关联的目标参量可以表示为{确认_艺术家,参量:{艺术家:“Madonna”}}。在特定实施例中,对话策略可以基于树形结构表示,其中目标被映射到树叶。在特定实施例中,对话管理器335可以执行对话策略345来确定要执行的下一个动作。对话策略345可以包括通用策略346和特定于域的策略347,它们都可以指导如何基于对话状态选择下一个系统动作。在特定实施例中,动作执行模块226的任务完成部件340可以与包含在对话仲裁器216中的对话策略345通信,以获得下一个系统动作的指导。在特定实施例中,动作选择部件341因此可以基于对话意图、相关联的内容对象和来自对话策略345的指导来选择动作。
在特定实施例中,动作执行模块226的输出可以被发送到远程响应执行模块232。具体地,动作执行模块226的任务完成部件340的输出可以被发送到响应执行模块226的CU编写器355。在替代实施例中,所选择的动作可能需要一个或更多个代理350参与。因此,任务完成模块340可以向代理350通知所选择的动作。同时,对话管理器335可以接收更新对话状态的指令。作为示例而不是作为限制,更新可以包括等待代理350的响应。在特定实施例中,CU编写器355可以基于任务完成模块340的输出,使用自然语言生成(NLG)模块356为用户生成通信内容。在特定实施例中,NLG模块356可以使用不同的语言模型和/或语言模板来生成自然语言输出。自然语言输出的生成可以是特定于应用的。自然语言输出的生成也可以针对每个用户进行个性化。CU编写器355还可以使用UI有效载荷生成器357来确定所生成的通信内容的模态。由于所生成的通信内容可以被认为是对用户请求的响应,所以CU编写器355可以另外使用响应排序器358来对所生成的通信内容进行排序。作为示例而不是作为限制,排序可以指示响应的优先级。
在特定实施例中,响应执行模块232可以基于CU编写器355的输出来执行不同的任务。这些任务可以包括写入(即,存储/更新)从数据储存器212检索的对话状态361并生成响应362。在特定实施例中,CU编写器355的输出可以包括自然语言串、语音、带有参数的动作、或者可以在VR头戴装置或AR智能眼镜中显示的渲染图像或视频中的一个或更多个。结果,响应执行模块232可以基于CU编写器355的输出来确定要执行什么任务。在特定实施例中,生成的响应和通信内容可以由响应执行模块232发送到本地渲染输出模块242。在替代实施例中,如果所确定的通信内容的模态是音频,则CU编写器355的输出可以另外发送到远程TTS模块238。由TTS模块238生成的语音和由响应执行模块232生成的响应然后可以被发送到渲染输出模块242。
图4示出了由助理系统140处理用户输入的示例性流程图。作为示例而非限制,用户输入可以基于音频信号。在特定实施例中,客户端系统130的麦克风阵列402可以接收音频信号(例如,语音)。音频信号可以以音频帧的格式传输到处理环路(loop)404。在特定实施例中,处理环路404可以发送音频帧用于声音活动检测(VAD)406和声音唤醒(WoV)检测408。检测结果可以返回到处理环路404。如果WoV检测408指示用户想要调用助理系统140,则音频帧连同VAD 406结果可以被发送到编码单元410以生成编码的音频数据。在编码之后,出于隐私和安全目的,编码的音频数据可以被发送到加密单元412,随后是链接单元414和解密单元416。解密之后,音频数据可以被发送到麦克风驱动器418,麦克风驱动器418可以进一步将音频数据传输到音频服务模块420。在替代实施例中,可以在与客户端系统130配对的无线设备(例如,蓝牙设备)处接收用户输入。相应地,音频数据可以从无线设备驱动器422(例如,蓝牙驱动器)发送到音频服务模块420。在特定实施例中,音频服务模块420可以确定用户输入可以由在客户端系统130上执行的应用来实现。因此,音频服务模块420可以将用户输入发送到实时通信(RTC)模块424。RTC模块424可以向视频或音频通信系统(例如VOIP或视频呼叫)传送音频分组。RTC模块424可以调用相关应用(App)426来执行与用户输入相关的任务。
在特定实施例中,音频服务模块420可以确定用户正在请求需要助理系统140响应的帮助。因此,音频服务模块420可以通知客户端助理服务模块426。在特定实施例中,客户端助理服务模块426可以与助理编排器206通信。助理编排器206可以确定是使用客户端进程还是服务器端进程来响应用户输入。在特定实施例中,助理编排器206可以确定使用客户端进程,并向客户端助理服务模块426通知这样的决定。结果,客户端助理服务模块426可以调用相关模块来响应用户输入。
在特定实施例中,客户端助理服务模块426可以使用本地ASR模块216来分析用户输入。ASR模块216可以包括字形到音素(G2P)模型、发音学习模型、个性化语言模型(PLM)、端点模型和个性化声学模型。在特定实施例中,客户端助理服务模块426可以进一步使用本地NLU模块218来理解用户输入。NLU模块218可以包括命名实体解析(NER)部件和基于上下文会话的NLU部件。在特定实施例中,客户端助理服务模块426可以使用意图中介者428来分析用户的意图。为了准确了解用户的意图,意图中介者428可以访问包括与用户和世界相关联的实体的实体储存器430。在替代实施例中,用户输入可以经由在客户端系统130上执行的应用432来提交。在这种情况下,输入管理器434可以接收用户输入,并由应用环境(AppEnv)模块436对其进行分析。分析结果可以被发送到应用432,应用432可以进一步将分析结果发送到ASR模块216和NLU模块218。在替代实施例中,用户输入可以经由在客户端系统130上执行的助理应用438直接提交给客户端助理服务模块426。然后,客户端助理服务模块426可以基于如上所述的模块,即ASR模块216、NLU模块218和意图中介者428,执行类似的过程。
在特定实施例中,助理编排器206可以向用户确定服务器端进程。因此,助理编排器206可以将用户输入发送到托管助理系统140的不同模块的一个或更多个计算系统。在特定实施例中,服务器助理服务模块301可以从助理编排器206接收用户输入。服务器助理服务模块301可以指示远程ASR模块208分析用户输入的音频数据。ASR模块208可以包括字形到音素(G2P)模型、发音学习模型、个性化语言模型(PLM)、端点模型和个性化声学模型。在特定实施例中,服务器助理服务模块301可以进一步指示远程NLU模块210理解用户输入。在特定实施例中,服务器助理服务模块301可以调用远程推理模型214来处理来自ASR模块208和NLU模块210的输出。在特定实施例中,推理模型214可以执行实体解析和对话优化。在特定实施例中,推理模型314的输出可以被发送到代理350,用于执行一个或更多个相关任务。
在特定实施例中,代理350可以访问本体模块440,以准确地理解来自实体解析和对话优化的结果,从而它可以准确地执行相关任务。本体模块440可以提供与多个预定义的域、意图和槽相关联的本体数据。本体数据还可以包括不同槽和域之间的结构关系。本体数据还可以包括槽可以如何在较高级别包括域的层次结构内被分组、相关,并根据相似性和差异细分的信息。本体数据还可以包括槽可以如何在较高级别包括主题的层次结构内被分组、相关,并根据相似性和差异细分的信息。一旦任务被执行,代理350可以将执行结果连同任务完成指示一起返回给推理模块214。
本文公开的实施例可以包括或结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与采集内容(例如,真实世界的照片)组合的生成内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个信道中或在多个信道中被呈现(例如向观看者生成三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。
使用结构本体的语义表示
在特定实施例中,助理系统140可以使用结构化语义表示框架,即“下一代本体”(NGO),用于为助理系统140的各种模块构造指令,包括用于与第一方和第三方代理接口的指令。NGO可以包括具有几种不同类型的语义单元的本体,例如动作、对象和属性。NGO可以支持从本体派生的标记系统,允许用户请求被表示为本体的子图。NGO可以允许助理系统140统一自然语言理解过程(即输入处理)使用的语义表示和自然语言生成过程(即输出处理)使用的语义表示。助理系统140的堆栈中的所有模块可以使用基于NGO的相同类型的语义表示,而不是它们自己的语义,从而减少它们之间的映射并增加一致性。对象可以被承载在助理系统140的整个堆栈中,其中助理系统140可以使用对话管理器来基于映射层改变在输入和输出之间的动作。此外,因为本体的所有部分都被定义,所以助理系统140可以在尝试执行相应的任务之前确定用户请求的任何语义解析是否有效。尽管本公开以特定的方式描述了特定的本体,但是本公开设想了以任何合适的方式的任何合适的本体。
在特定实施例中,助理系统140可以通过助理xbot从与用户相关联的客户端系统130接收包括自然语言话语的用户输入。助理系统140然后可以基于结构本体来确定用户输入的语义表示。在特定实施例中,结构本体可以定义用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法。语义表示可以将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性。在特定实施例中,助理系统140可以向代理发送执行对应于用户输入的任务的请求。该请求可以基于语义表示。在特定实施例中,助理系统140可以从代理接收所执行的任务的结果,其中这些结果被映射到由结构本体确定的结构。助理系统140还可以从助理xbot向客户端系统130发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。
在特定实施例中,助理系统140可能需要语义表示来编码用户想要完成的任务。语义表示可以是描述自然语言语义的形式语言。面向任务的语义解析中使用的大多数传统语义表示可能围绕平面(flat)意图/槽范式解析。平面意图/槽(IN/SL)范式可以将自然语言话语提取为具有一组槽的单个意图。相关意图可以被收集到一个域中。术语“平面”可以指其中槽值必然是终端的解析。平面意图/槽表示的表示能力可能是有限的。
IN/SL范式中的标签(特定意图和槽)可能是无基础的,即它们可能是任意的,并且没有形式关系或层次,因为不存在为该标签及其所代表的语义概念提供结构的本体。这种无基础的标签集可能缺乏形式化来将它们定位在由本体表达的连贯的世界观中。此外,意图/槽可能无法提供丰富类型的系统。因此,维护内部一致和语义表达的标签集可能很困难。
为了解决上述限制,本文公开的实施例可以使用NGO来生成语义表示。NGO可以包括具有几种不同类型的语义单元的图本体,例如强类型的动作和对象。约束和定义可以在语义单元上定义。这些约束可能有助于NLU输出的预测和验证,当代理不支持特定特征或者话语不明确以具有多种可能的解释(例如,“光环(Halo)”可以是游戏或音乐标题)时回退,并且对于知识图和查询建模具有相同的实体类型,这有助于无缝实体识别。语义单元可以是图中的节点,它们的连接可以是图中的边。NGO可以将自然语言理解和自然语言生成标签系统的语义空间与来自知识图、概念图和多模态理解的概念结合成单一的、共享的语义表示。从该图本体,助理系统140可以导出域和模态不可知的标记表示。NGO的统一图本体可以促进跨域的可重用性。此外,本体可以分层组织,这固有地支持回退。可以利用节点-边关系来捕获复杂的查询,并且共享的语义空间可以允许多模态输入的无缝集成。此外,动作、对象、属性的可重用性可能会减缓标签集添加的轨迹。在特定实施例中,NGO可以通过将语义表示分解成正交元素、语义单元、标记表示(例如NLU输出)和类型系统(语义约束/定义)来接近语义表示。NGO可能有三个核心语义单元,即动作、对象和属性,以及三个派生语义单元,即方法、枚举和列表。每个语义单元都可以具有类型。NGO可以支持从本体派生的标记系统,允许用户请求被表示为本体的子图。标记语言语法可以以可预测的方式组合动作、对象、属性、方法和枚举。
图5示出了话语的IN/SL表示和NGO表示之间的示例比较。话语可以是“remind meto call john(提醒我给约翰打电话)。”如图5所示,平面IN/SL表示505可以是[IN:CREATE_REMINDER Remind[SL:PERSON REMINDED me]至[SL:TODO call John]]510。组合IN/SL表示515可以是[IN:CREATE_REMINDER Remind[SL:PERSON REMINDED me]至[SL:TODO[IN:CREATE_CALL][SL:CONTACT John]]]]520。相比之下,NGO表示525可以是(create[reminershasPersonReminded=[User]hasToDo=[todo hasToDoAction=(create[callhasParticipant=[person name=[John]]])]])530。
图6示出了由IN/SL范式表示的媒体域和由NGO结构表示的媒体域之间的示例比较。左边的分组(IN/SL 600)显示了在传统的基于异步站立(asynchronously stood up)意图/槽的助理中如何表示各种媒体域的简单视图。如图所示,意图IN:PLAY_MEDIA 602和意图IN:GET_MEDIA_TITLE 604都可能需要槽SL:MEDIA_TITLE 606;IN:PLAY_GAME 608和IN:GET_GAME_TITLE 610可能需要SL:GAME_TITLE 612;IN:PLAY_VIDEO 614和IN:GET_VIDEO_TITLE 616可能需要SL:VIDEO_TITLE 618;IN:PLAY_MUSIC 620和IN:GET_SONG_TITLE 622可能需要SL:SONG_TITLE 624。右边的分组(NGO 630)显示了NGO如何在所提出的结构中表示相同的域。如图所示,游戏632、音乐634和视频636可以全部被媒体638覆盖,媒体638可以由标题640指代。对应的NGO表示对于游戏632、音乐634和视频636可以是相同的,其可以是“action play(obj:Media)”642。
在特定实施例中,动作可以表示助理系统140可以采取的动作。结构本体可以定义多个动作中的每一个对多个对象中的一个或更多个进行操作。作为示例而非限制,动作可以包括“create(创建)”、“get(得到)”、“update(更新)”、“play(播放)”或“delete(删除)”中的一个或更多个。动作可以是具有静态生存期的强类型的,可以对强类型对象进行操作。NGO中的所有动作都可以用括号开始和结束。作为示例而非限制,对于没有参数的动作“play”,NGO解析可以是(播放)。在特定实施例中,至少一个动作可以具有一个或更多个参数。每个参数可以指定对象要满足的约束,使得至少一个动作可以作用于该对象。至少一个参数可以指定至少一个对象满足的约束。作为示例而非限制,动作可以具有位置参数,例如(action[obj1]),例如“create”(动作)“call(呼叫)”(对象)。一个动作也可以具有命名的参数,例如属性,例如(action[obj1,attribute=obj2]),例如“create”与参与者“John”的“call”。动作还可以有一个带有必需返回值的类型签名。动作的Void返回值可能不被允许。动作可能会排除有关特定实体类型的信息。作为示例而非限制,(play_music)可能是不正确的动作。相反,对象可以用来描述目标实体类型。换句话说,(play[music])可能是一种正确的形式。这可能使动作像所有实体一样,可以跨域和场景重用。作为示例而非限制,两者“给我一首歌”和“给我他们的可用性”可以对应于“得到”动作。尽管本公开以特定的方式描述了特定的动作,但是本公开设想了以任何合适的方式的任何合适的动作。
在特定实施例中,对象可以记录包含强类型属性和方法的类型。结构本体可以定义多个对象中的每一个包括多个属性中的一个或更多个。对象可以通过动作来操作,也可以通过属性来链接。所有对象都可以以方括号开始和结束,对象名直接在左方括号之后。对象可以有子类型对象或超类型对象。它们可包含其他类型化的对象(属性)和方法。对象可能不用于枚举特定特性,例如,动作(get[track_title])可能不正确。相反,属性可以用于特定特性,例如(get[track].title)可能是动作的正确形式。这可以促进对象之间的继承,提供结构,并增加可重用性。考虑媒体和子域音乐、游戏和视频为例。每个域都可能使用IN/SL范式引入重复的意图和槽,容易出现不一致和错误。相比之下,NGO可以具有减少重复劳动的技术优势,因为NGO可以允许通过可重用性自动生成语义空间,消除域差异,并支持类型层次结构,这可以创建可重用的标记元素并减少重复劳动。尽管本公开以特定的方式描述了特定的对象,但是本公开以任何合适的方式考虑了任何合适的对象。
在特定实施例中,属性可用于枚举动作和对象的特定特性,并指定两个实体之间关系的性质。结构本体可以定义多个属性中的每个属性声明对动作或对象的限制。类型化对象可以通过属性与其他对象绑定,这可能是一种严格且唯一的关系。作为示例而非限制,名称可以是“人”对象的属性,其类型为字符串。作为另一个例子,但不作为限制,“hasParticipant”可以是参与者类型的“呼叫(call)”对象的属性。以用户请求“播放Beyoncé的歌曲(play a Beyoncé song)”为例,这种请求可以表示为(play[trackhasPerformer=[person name=[Beyonce]]]),其中“播放(play)”是动作,“track”和“person”是对象,“has performer”和“name”是属性。在特定实施例中,属性可用于通过单向语义角色,即(Entity_1,Attribute,Entity_2)如(Bill,fatherOf,Brian)来表达将某个实体链接到另一个实体的有向三元组。在语法上,属性可能出现在解析的两个位置。属性可以作为命名参数出现,以指定某些特定引用的特征,例如,“播放歌曲hello goodbye(playthe song hello goodbye)”=(play[track title=[hello goodbye]])。属性也可以显示为点属性,以指定作为动作目标的对象的属性,例如,“这首歌的名称是什么(what’s thetitle of this song)”=(get[track].title)。属性在语法和功能上可能与类成员变量相似。尽管本公开以特定方式描述了特定属性,但是本公开以任何合适的方式考虑了任何合适的属性。
在特定实施例中,结构本体NGO可以定义语义单元还包括多个方法和枚举。多个方法中的每一个都可以包括其生存期与对象相关联的动作。在特定实施例中,方法可以拥有对象。方法也可能具有与动作相同的特征,即具有带命名空间的方法名、位置参数和命名参数。方法可以由“.”运算符引入,并且可以用括号作为后缀。它们可能作用于属性值,并以下列形式出现:
(fb/<action_name>[fb/<object_name>].<attributeName>.<methodName>([fb/<object_name>])))
(fb/<action_name>[fb/<object_name>].<attributeName>.<methodName>([])))
对象类型和数据类型都可以被方法采取动作。作为示例而非限制,可以有三种方法。“add(加)”方法可以通过向属性添加来更新属性。“remove(移除)”方法可以通过从属性中移除来更新属性。“set(设置)”方法可以设置属性值。方法可能是NGO的附加特征,它用附加的标签类型复杂度来换取解析复杂度的降低,例如,通过将嵌套级别降低一级。作为示例而非限制,一种方法可以是将接收者添加到call作为(update[call].hasRecipient.add([person name=[John]])。作为另一个示例而非限制,一种方法可以是将APP设置为默认(update[music_app name=[spotify]].setDefault())。方法可能是可继承的。尽管本公开以特定的方式描述了特定的方法,但是本公开设想了以任何合适的方式的任何合适的方法。
在特定实施例中,多个枚举中的每一个可以包括表示来自多个对象中的一个对象的对象。枚举可以是字符串标记的联合类型。枚举可以是特定的标签类型,其利用NLU模块210/218来减少下游解释原始字符串的需要。枚举可以是期望有限输入集的任何地方的属性的参数。在特定实施例中,当具有等效语义的子串形式存在可变性时,枚举可能是有用的。如果需要,源字符串可以被保留,以提供对话检查子跨度(sub-span)的能力。在特定实施例中,语义单元可以另外包括列表,这些列表可以是表示具有同类类型的列表的对象。在特定实施例中,每个语义表示都可以具有命名空间。作为示例而非限制,命名空间可以是“fb/”。尽管本公开以特定的方式描述了特定的枚举和列表,但是本公开设想了以任何合适的方式的任何合适的枚举和列表。
在特定实施例中,助理系统140可以如下构建NGO。构建可以从子图开始。在特定实施例中,结构本体可以进一步定义包括一个或更多个核心子图和一个或更多个通用子图的图结构。一个或更多个核心子图不可由第三方代理访问,并且一个或更多个通用子图可由第三方代理访问。动作和对象可以被建模为图上的节点,而属性可以被表示为节点之间的边。在特定实施例中,基本结构可以是:Node(对象)-->hasAttribute(属性)-->Node(对象)。作为示例而非限制,基本结构可以是Track-->hasGenre-->Music Genre,渲染为[track hasGenre[genre=[some Music Genre]]]。作为另一个例子,但不作为限制,基本结构可以是Movie-->hasGenre-->Narrative Genre,渲染为[movie hasGenre[genre=[some Narrative Genre]]]。在特定实施例中,NGO中的所有语义单元可以是可重用的。NGO的构建可主要包括创建新的语义单元(例如,新的动作、新的对象、新的属性)以及在现有节点之间建立新的连接,以表达新的意义和行为。定义核心子图和通用子图可能是一种有效的解决方案,用于解决为第三方用户提供设计他们自己的语义单元的灵活性同时保持结构本体的完整性的技术挑战,因为核心子图和通用子图在功能上是分离的,并且本体的基本结构由仅第三方用户可见的核心子图来维护。尽管本公开描述了由特定系统以特定方式构建特定本体,但是本公开设想由任何合适的系统以任何合适的方式构建任何合适的本体。
图7示出了NGO子图700的示例结构。在特定实施例中,结构本体可以定义多个对象被分层组织成多个超类型和子类型。每个子类型可以继承其关联的超类型的一个或更多个属性。如图7所示,节点可以被放置在层次结构中,允许隐式回退。作为示例而非限制,图7示出了“movie(电影)”705和“track(音轨)”710可以回退到“media item(媒体项目)”715。相同的边(例如,hasGenre 720)可以用于将“track”710链接到“music genre(音乐类型)”725和将“movie”705链接到“narrative genre(叙事类型)”730。“music genre”725和“narrative genre”730可以回退到“media genre(媒体类型)”735。在特定实施例中,有效属性可以被嵌入到对象中,因此尽管可重用,也不可能进行无效链接。NGO可能具有分层感知回退的技术优势,因为NGO可以针对模糊或不正确标记的话语编码自动和系统的回退,并且避免可能随着域增加而增加的回退的硬编码规则。尽管本公开以特定方式描述了特定本体的特定结构,但是本公开设想了以任何适当方式的任何适当本体的任何适当结构。
图8A示出了示例子域选择。作为示例而非限制,子域选择可以用于支持表演者播放音乐。如图8A所示,可存在“root(根)”800的节点,其可以连接到“action(动作)”810和“object(对象)”820。可以选择包括动作“play(播放)”812、对象“music(音乐)”822及其子类型以及对象“person(人)”824的子图。“person”824可以与“name(名称)”825相关联。可以从子图中排除动作“get(得到)”814。“play”812和“get”814都可以与“takesArgument”830属性相关联,该属性可以进一步链接到“music”822。“music”822的子类型可以包括“album(唱片)”826和“track”827。此外,没有办法将“music”812链接到“person”822,并且“music”812的所有必要的子类型,例如“playlist”可能丢失,如图8A所示。
图8B示出了子域选择的示例性延续。可以添加“playlist(播放列表)”828作为“music”822的子类型,然后通过“hasPerformer”832属性将“music”822连接到“person”824。“hasPerformer”832属性可以被“music”822的所有子类型继承。为此,图8B中构造的子图可以支持表演者播放音乐,例如,“play Beyonce(播放Beyonce)”、“play a song byBeyonce(播放Beyonce的歌)”、“play my Beyonce playlist(播放我的Beyonce播放列表)”和“play a Beyonce album(播放Beyonce唱片)”。尽管本公开以特定的方式描述了特定的子域选择,但是本公开设想了以任何合适的方式进行任何合适的子域选择。
图9说明了NGO中的示例继承。在特定实施例中,NGO对象可以允许单继承和基于特征的实现。对象继承可以用作通过其发生标签重用的主要媒介。在特定实施例中,NGO可以使用与大多数传统面向对象编程语言相同的对象继承语义。也就是说,父属性和方法可能会传递给子对象,并且可能不允许重新定义现有的属性和方法。此外,NGO可能会强制执行严格的单继承,以进一步提高可扩展性。在特定实施例中,可以可选地用命名参数来启动对象。作为示例而非限制,基于NGO发起名为John的人对象可能看起来像[person name=[John]]。如图9所示,可能有几个对象,包括“participant(参与者)”902、“group(组)”904、“organization(组织)”906、“person(人)”908、“company(公司)”910和“call(呼叫)”912。“call”912对象可以具有单个命名参数“has participant”914,其具有人“type(类型)”,例如(fb/call hasParticipant=[fb/person name=[Morgan]])。“person”908对象类型可以从“participant”902继承“name(名称)”916属性,并且参与者(participant)所需的类型协定可以通过从“person”908到“participant”902的继承链来实现。“group”904和“organization”906可以类似地从“participant”902继承“name”916属性。“group”904和“person”908可以具有类型化属性“availability(可用性)”918。“person”908可以另外具有类型化属性“employer(雇员)”920,其可以与“company”910相关联。在该示例本体中,助理系统140可以拒绝以下解析:(fb/call hasParticipant=[fb/organization])。除了本文公开的实施例可能只允许单继承之外,这里的继承可以与几乎所有面向对象编程语言中的方式相同。可以初始化对象中的所有属性(例如,“name”916)。反过来,所有属性都可以从一个对象中查找。作为示例而非限制,“get Liz’s availability”可以定义为(fb/get[fb/person name=[Liz]].Availability)。尽管本公开以特定的方式描述了特定的继承,但是本公开设想了以任何合适的方式的任何合适的继承。
在特定实施例中,单继承可能会限制联合类型的形成。为了减轻这种压力,NGO可以利用特征。特征可以是只定义方法签名的命名抽象类型。对象可以实现任何数量的特征,而不会产生冲突。作为示例而非限制,NGO可以具有提醒和定时器都可以实现的“creatable”特征。因此,它们都可以用作“create”动作中的参数,该动作的类型签名使用“creatable”特征。NGO可以使用特征作为一种机制,向类型检查器正式表达哪些实体类型作为其他实体的参数是可接受的。在多种类型合法的情况下,特征可以允许语义解析的静态检查,同时避免多重继承的陷阱。特征可以被看作是对不属于同一继承链的实体进行类型检查的一种分组方式。尽管本公开以特定的方式描述了特定的特征,但是本公开以任何合适的方式考虑了任何合适的特征。
在特定实施例中,用户请求可以涉及对对象采取动作,这可以通过在动作中嵌入对象来解析。它们采用以下一般形式,总是以“(”开头,例如(fb/<action_name>[fb/<object_name>])。动作只能嵌入满足参数约束的对象。作为示例而非限制,“create”动作的第一个参数可以只对“可创建(“creatable”)”的对象(例如,呼叫、视频呼叫、提醒等)进行操作。示例可包括(fb/create[fb/reminder])、(fb/play[fb/music])、(fb/end[fb/call])。
在特定实施例中,用户请求可以涉及对对象的属性采取动作。这些请求可以通过在一个动作中嵌入一个对象并声明要被采取动作的嵌入对象的属性来解析。为了从对象中获取特定的属性,NGO可能使用编程语言中的标准点符号。作为示例而非限制,如果想要查看约翰是否可用,在NGO中,这可以映射到以下内容:(person name=[John]].availability)。在特定实施例中,语义表示然后可以采取以下形式:(fb/<action_name>[fb/<object_name>].<attributeName>)。示例可以包括(fb/create[fb/reminder].startTime)、(fb/get[fb/music].hasPerformer)、(fb/add[fb/call].hasRecipient)。在特定实施例中,标记系统可以允许属性链接,即,可以对对象的属性的属性采取动作。这可以表示为(fb/<action_name>[fb/<object_name>].<attributeName>.<attributeName>)。请注意,动作的返回类型也可以被静态定义。也有可能在函数上静态地定义泛型,如下例所示:
>Signature~fb/create<T>(T t)->T;
>Invocation~(fb/create[fb/call hasParticipant=[fb/person name=[Morgan]]])
>Invocation Type~fb/call
在特定实施例中,所有属性可以被类型化。可能有三种可能的类型族:1)属性可以从一个对象指向另一个对象;2)属性可以从一个对象指向原始数据类型,如字符串或日期时间;以及3)属性可以具有有限的一组枚举的可能值。给定属性属于哪个族可能会进一步影响它在下面介绍的对象规范(也称为实体限制)情况下的形式。如果一个属性指向另一个节点,则该节点的类型可能是显式的。属性名后面可以跟等号,然后是类型声明,即(fb/<action_name>[fb/<object_name><attributeName>=[fb/<object>]])。请注意,动作可以像这样嵌套:(fb/<action_name>[fb/<object_name><attributeName>=(fb/<action>)])。如果属性指向核心数据属性/类型(即字符串),则该类型可能不为显式的。属性名后面可以跟一个等号,但不能跟类型声明,即(fb/<action_name>[fb/<object_name><attributeName>=[]])。如果属性由枚举赋值,则枚举中的特定值可以在类型声明中声明:(fb/<action_name>[fb/<object_name><attributeName>=[::enum_value]])。这可能并不意味着类型不存在或不是动态的,而是纯粹在表示上的语法糖(syntactic sugar)。尽管本公开以特定的方式描述了特定的属性类型,但是本公开以任何合适的方式考虑了任何合适的属性类型。
在特定实施例中,列表对象可以通过使用尖括号<>来表示。在集合上表示语义时,列表可能很有用。作为示例而非限制,话语“call John and Erika(给John和Erika打电话)”可以被映射到(create[call hasParticipant=<[person name=[John]],[personname=[Erika]]>])。属性可以有多于一个值。这可以通过列表符号来捕获。可以假设所有不指向枚举值的属性都是列表,通常只有一个成员。作为示例而非限制,话语“start avideo call with granddaughter and uncles(与孙女和叔叔开始视频通话)”可以被映射到(fb/create[fb/video_call hasParticipant=<[fb/person granddaughterOf=[fb/user]],[fb/person uncleOf=[fb/user]]>])。请注意,跨列表的语义仍然可以被验证,因此将“company”对象放在该列表中可能会导致语义不正确的解析。列表可以通过以下语法声明:
(fb/<action_name>[fb/<object_name><attributeName>=<[fb/<object>...],[fb/<object>...]>])
(fb/<action_name>[fb/<object_name><attributeName>=<[...],[...]>])
与非列表属性一样,属性名后面可以跟一个等号“=”。该列表然后可以由一个开角括号“<”引入,并用一个闭角括号“>”封闭。在列表中,每个成员都可以作为对象或原始数据类型类型化,成员之间可以用逗号“,”彼此分隔。尽管本公开以特定的方式描述了特定的列表,但是本公开设想了以任何合适的方式的任何合适的列表。
在特定实施例中,方法可以类似于动作,但是可以绑定到特定对象。作为示例而非限制,在NGO中,所有属性都可以具有设置器(setter),这些设置器是与属性同名的方法。对于话语“make me unavailable(使我自己不得空)”,NGO解析可以是[user].availability([::unavailable(unavailable)])。作为另一个示例而非限制,规范示例可以是列表类型的add/remove方法。例如,话语“can you take my grandmother Lisa off the call?”可被映射到[fb/call].hasParticipant.remove([fb/person grandmotherOf=[fb/user]name=[Lisa]])。这里的“remove”方法可以用一个参数来调用,这个参数是要从call中移除的人,作用于“hasParticipant”对象。
在特定实施例中,只要满足所有单独分量的类型签名,NGO可以允许任何级别的嵌套。图10示出了组合的示例语义解析。NGO的句法表示的组合分解可能是为了查询:pleasecall Paisley and Myles(对应于图10的左边部分)以及make me offline(对应于图10的右边部分)。如图10所示,对于查询please call Paisley and Myles,语法表示可以是(create[call hasParticipant=<[person name=[Paisley]],[person name=[Myles]]>])。“create”可以是动作1002,“create”之后的“[]”可以是创建的“call”对象1004。“call”对象1004可以包括“hasParticipant”属性1006。“hasParticipant”属性1006可以由“<[person name=[Paisley]],[person name=[Myles]]>”的属性1008定义。属性1008可以包括“[person name=[Paisley]]”的对象1010和[person name=[Myles]]”的对象1012。对于查询make me offline,语法表示可以是(set[user].availability([::unavailable(offline)]))。“set”可以是作用于“user”对象1016的动作1014。动作1014可以进一步包括方法“.availability”1018,其嵌入列举了多个不可用时间的枚举1020。尽管本公开以特定的方式描述了特定的语义解析,但是本公开设想以任何合适的方式进行任何合适的语义解析。
在特定实施例中,枚举可以代表n个变体中的1个。作为示例而非限制,可能仅支持固定数量的电话类型(蜂窝/移动/家庭等)。话语“call my mom on the cell(打电话给我妈妈)”可以映射到(fb/create[fb/call hasParticipant=[fb/person motherOf=[fb/user]]numberCalled=[fb/phone_number phoneType=[::cell_phone(“cell”)]]])。这里,“phoneType”可以被标记为由话语中的“cell”符号调用的“cell_phone”类型。在特定实施例中,可用性属性可以被类型化为可用性枚举,其具有两种变体,即可用和不可用。每当助理系统140在NGO中实例化枚举对象时,助理系统140也可以标记用于解析变体的原始字符串。维护原始字符串的目的可以是允许进一步解析或回溯助理系统140的下游模块中的变体。
在特定实施例中,NGO可以具有某些属性,包括通过属性和类型转换的对象规范(例如,在组合场景中)。除了返回值,属性也可以用来限制实体。在特定实施例中,NGO可以限制可以对其执行动作的对象的种类或者可以对对象执行的动作的种类。限制属性可能出现在用于引入要限制的实体的括号或圆括号内。属性也可以限制对象。在这种情况下,它们可能出现在对象的方括号内,例如(fb/<action_name>[fb/<object_name><attributeName>=<attributeInitialization>])。在这种情况下,动作可以对于对象进行操作,并且该对象可能受到某些属性的限制。合法属性可以在本体中声明。在上述情况下,属性可以是嵌入对象的属性。属性也可能会限制动作。在这种情况下,它们可能嵌套在引入动作的括号内。命名属性可能总是跟在位置属性之后,例如(fb/<action_name>[fb/<object_name>]<attributeName>=<attributeInitialization>)。同样,合法属性可以在本体中声明。在上述情况下,属性可以是嵌入动作的属性。最后,属性可能会限制属性类型。在这些情况下,可以如下引入属性限制:(fb/<action_name>[fb/<object_name>].<attributeName>([fb/attribute_type<attributeName>]))。同样,合法属性可以在本体中声明。在上述情况下,限制属性可以是属性类型的属性。请注意,上述示例可能不完整。它们可能仅指示属性可能放置的位置。为了完全实现属性标签的形式,可能还需要类型化。尽管本公开描述了以特定方式通过特定属性来限制特定实体,但是本公开设想了以任何合适的方式通过任何合适的属性来限制任何合适的实体。
在特定实施例中,类型转换可以表示属性限制的复杂实例。在某些情况下,一个属性的值可以通过识别另一个对象的属性值来确定。考虑话语“get directions to thegame(获取比赛的方向)”。这可以被理解为请求返回目的地是一个位置的方向,并且该位置与体育赛事的场地是非常相同的位置。这种行为可以称为类型转换。类型转换可以通过在一个属性中嵌套一个对象并声明该对象的哪些属性值嵌入属性来实现,例如(fb/action_name[fb/object_name<attributeName>=[fb/object_name[fb/object_name].<attributeName>]])。作为示例而非限制,对于“get directions to the game”的潜在注释可以是(fb/get[fb/directions destination=[fb/location location_name=(fb/get[fb/event name=“the game”]).venueLocation]])。在特定实施例中,嵌入属性的类型和嵌入的属性类型的类型可以相同,以使其合法。类型转换还可以与属性链接相结合,产生以下形式的标签:(fb/action_name[fb/object_name<attributeName>=[fb/object_name[fb/object_name].<attributeName>.<attributeName>]])。类型转换可能是解决表示属性限制的复杂实例的技术挑战的有效解决方案,因为类型转换可以将对象嵌套在属性内,并声明该对象的哪些属性值是嵌入属性,从而以具有改进的可解释性的更清晰的结构来表示复杂实例。尽管本公开以特定的方式描述了特定的类型转换,但是本公开设想以任何合适的方式进行任何合适的类型转换。
在特定实施例中,基于NGO的语义表示可以在助理系统140的堆栈中通用。语义表示可以由与被配置为处理用户输入的助理xbot相关联的每个模块执行。在特定实施例中,与至少一个动作、至少一个对象和至少一个属性中的每一个相关联的值可以由执行语义表示的每个模块来确定。因为每个对象、动作或属性都有一个类型,所以NGO可能在整个助理堆栈中都有语义解析的正式和一致的协定,这可能导致一致的本体和类型检查的技术优势。以前在IN/SL范式中需要深度集成和单元测试的错误可能会被持续的复杂性静态分析所取代。在注释和实时流量期间自动验证解析,并且可能不需要为每个特定的用例编写验证代码。在特定实施例中,NGO可以阻止注释器创建语义不正确的解析,并向模型提供一致的语义。没有域区分可能允许零成本跨域场景。执行可能会变得一致,因为类型和类型关系已经明确定义。
在特定实施例中,基于NGO,NLU模块210/218可以生成其输出并将其传递给实体解析模块330。作为示例而非限制,用于“call my mom”的NLU输出可以是(create[callhasParticipant=[person motherOf=[user]]])。作为另一示例而非限制,用于“callJerry’s office”的NLU输出可以是(create[call hasParticipant=[person name=[Jerry]]numberCalled=[phone_number contactType=[::work(office)]]])。作为另一示例而非限制,用于“will it rain tomorrow?”的NLU输出可以是(get[fb/forecastduration=[date_time tomorrow]].precipType)。作为另一个示例而非限制,用于“tenday forecast in San Diego”的NLU输出可以是(get[fb/forecast duration=[date_time ten day]forecastLocation=[location San Diego]]])。作为另一示例而非限制,用于“open my photos”的NLU输出可以是(get[photo hasCreator=[user my]])。作为又一示例而非限制,用于“show me photos of Andrew and me”的NLU输出可以是(get[photohasPersonSubject=<[person name=[Andrew]],[user me]>])。尽管本公开以特定的方式描述了特定的NLU输出,但是本公开设想了以任何合适的方式的任何合适的NLU输出。
在特定实施例中,助理系统140可以通过与助理xbot相关联的推理模块214/222,基于语义表示的至少一个属性,解析与至少一个对象相关联的一个或更多个实体。在特定实施例中,推理模块214/222的实体解析模块330可以是用于解析实体的特定部件。实体解析模块330可能不需要具有任何类型的映射层来将来自NLU模块210/218的输出映射到知识图,因为它使用完全相同类型的语义表示。作为示例而非限制,来自NLU模块210/218的输出可以是(play[track hasPerformer=[person name=[Beyonce]]]),其中hasPerformer指向“person”对象。该输出可能与表演者/艺术家的知识图模式相同。“person”对象可以直接映射到知识图。作为另一个示例而非限制,来自NLU模块210/218的输出可以是(fb/create[fb/call hasRecipient=[fb/person name=[Andy]]])。实体解析模块335可以采用fb/person name=[Andy],具有类型并返回PersonEntity(name=Andy,ID=123,gender=male)。作为又一个示例而非限制,来自NLU模块210/218的输出可以是(fb/create[fb/callhasRecipient=[fb/person motherOf=[fb/user]]])。实体解析模块335可以采用[fb/person motherOf=[fb/user]]并解析叶对象“fb/user”。实体解析模块335还可以输出同音匹配的文本“my”。“motherOf”可以解析为概念实体,得到西班牙关系名,即母亲(madre)。“motherOf+fb/user+fb/person”可能需要映射到具有获取联系信息功能的代理。在特定实施例中,如果需要,实体解析模块330可以修改NLU输出。因为语义角色和类型信息被携带在注释中,所以实体解析模块335的工作可以在NLU模块210/218中开始。类型和属性在模态之间可能是一致的,对此,多模态输入可以在相同的本体中表示。作为示例而非限制,“person”的X光概念和“person”的NLU概念可以是相同的。无论类型信息是通过语音还是视觉收集的,NGO都可以提供统一的行为,并支持多模式共指。因此,NGO可能具有共享语义空间的技术优势,因为NGO可以将概念及其词汇化直接连接到注释,而不需要两者之间的映射。尽管本公开以特定的方式描述了特定的实体解析,但是本公开设想了以任何合适的方式的任何合适的实体解析。
在特定实施例中,基于NGO生成的来自实体解析模块330的输出然后可以被传递给对话管理器335。对话管理器335可以查阅对话策略345并形成任务。该任务可以由NGO动作、对象以及可选的属性和方法的组合来触发。在特定实施例中,NGO可以具有许多人类可读的表面形式。文本形式可以主要用于注释,而图形形式可以表示解析过程中的执行图。这两种形式在语义上可能是等价的,这是由NGO解析器保证的。为了实现的目的,可以向对话管理器335提供等同于图形形式的树状形式作为输入。树状形式可以将解析的可动作部分,例如“create action+object”或“action+method”,向图的顶部(树干)推进,并且始终将创建动作或方法的参数作为拖尾分支。尽管本公开以特定的方式描述了特定的NGO形式,但是本公开设想了以任何合适的方式的任何合适的NGO形式。
图11A-11B示出了示例对话的示例树状NGO形式。图11A示出了示例对话的示例树状NGO形式。示例对话可以是“remind me to buy bread when I get home(回家后提醒我买面包)”。对于该对话,NGO表示的文本形式可以是(fb/create[fb/reminder hasTodo=[fb/todo todoText=[buy bread]]triggerLocation=[fb/user].homeLocation])。NGO表示可以以“action:create”1102开始,其具有为“positional(0)”1106的参数1104。创建的“object:reminder”1108可以具有参数1110。参数1110可以通过“hasToDo”1114链接到“object:todo”1112。“object:todo”1112可以具有为“todoNext”1118的参数1116,其可以链接到“object:string”1120。“object:string”1120可以具有为“positional(0)”1106的参数1122,其可以链接到“buy bread”1124。参数1110也可以通过“triggerLocation”1128链接到“get attribute:homeLocation”1126。“triggerLocation”1128可以具有属性“called from”1130,该属性可以链接到“object:user”1132。
图11B示出了另一示例对话的另一示例树状NGO形式。示例对话可以是“add Paulto the call(把Paul也加入呼叫)”。对于该对话,NGO表示的文本形式可以是(fb/update[fb/call].hasParticipant.add([fb/person name=[Paul]]))。NGO表示可以以“action:update”1134开始,其具有为“positional(0)”1106的参数1136。更新的“method:add”1138可以具有参数1140。参数1140可以通过“called from”1130链接到“get attribute:hasParticipant”1142。“get attribute:hasParticipant”1142可以通过“called from”1130链接到“object:call”1144。参数1140可以嵌入“positional(0)”1106的附加参数1146,其可以链接到“object:person”1148。“object:person”1148可以具有“name”1152的参数1150,其可以链接到“object:string”1120。“object:string”1120可以具有“positional(0)”1106的参数1154,其可以链接到“Paul”1156。
在特定实施例中,对话管理器335可以跟踪任务状态,其中任务状态是在对话状态中跟踪的信息的子集。任务状态可以不同于NLU数据结构,但是可以从NLU模块210/218导出。对话状态跟踪可以使用类似NGO的图结构作为对话状态的一部分来操作。这种结构可以用附加信息来修饰,例如实体、置信度得分和指示动作、对象、参数值和实体的状态的标志。在特定实施例中,状态跟踪可以跟踪每个动作、对象和参数的独立边际(marginal)。然后可以使用NGO组合这些,以排除无效组合。具体如何实现内部对话状态的选择可能是特性、工程成本、域开发者站立的便利性、代理和任务需求等之间的权衡。对话管理器335可以处于处理解析的复杂性和管理任务状态的中心,后者与代理API规范紧密相关。对于NGO,助理系统140可以将每个NGO解析视为未分割的假设,并且在给定设备上下文、用户偏好等的情况下对N个最佳NLU假设进行排名。“placeholder(占位符)”变量的提供可以提供一种机制,用于扩展在这种设置中可以考虑的替代假设的范围。占位符还可以允许NLU输出表达隐含的缺失值,例如,“add to the call”可能会导致(fb/update[fb/call].hasParticipant.add()),其捕获用户想要“add”到呼叫的足够信号,即使他们没有说是谁。尽管本公开描述了以特定方式跟踪特定任务状态,但是本公开设想以任何合适的方式跟踪任何合适的任务状态。
在特定实施例中,对话管理器335可以以导致表达对先前创建的对象的更新的语法的方式来编码元后续轮。假设基于NGO的结构存储在对话状态中,那么这些NGO解析可以直接翻译成运算符。作为示例而非限制,“add Samay(加上Samay)”可以翻译成(fb/update[fb/prev_obj].personAttribute.add([fb/person name=[Samay]]))。作为另一个示例而非限制,“buy a movie ticket(买电影票)”可以被翻译成(fb/update[fb/prev_obj].todo.add([buy a movie ticket]))。作为另一个示例而非限制,“here(这里)”可以被翻译成(fb/update[fb/prev_obj].locationAttribute.add([fb/location here]))。作为示例而非限制,“remove Trenton and add Kamryn(移除Trenton而加上Kamryn)”可以翻译成(fb/update[fb/prev_obj].personAttribute.remove([fb/person name=[Trenton]).add([fb/person name=[Kamryn]]))。作为又一示例而非限制,“first one(第一个)”可以被翻译成(fb/get[fb/prev_obj ordinal=[first]])。尽管本公开描述了以特定方式编码特定的后续轮,但是本公开设想以任何合适的方式编码任何合适的后续轮。
在特定实施例中,对话策略345可以分为两个级别,即通用策略346和任务策略347。对于任务策略347,可以基于NGO动作、对象、属性和方法的组合来检索用于定义每个任务的计划树。然后假设对话状态包括类似NGO的图结构,计划树然后可以使用谓词来测试缺少的参数,并对照对象、动作和参数等检查诸如“confirmed(确认)”的状态标志。在特定实施例中,助理系统140可以将与用户请求相关联的所有顶层参数传递给实体解析模块330,并使其处理嵌入的动作。在替代实施例中,助理系统140可以让动作选择器345或对话管理器335首先遍历NGO解析树处理叶动作,直到它到达顶部动作。图12示出了基于计划树的示例NGO解析。NGO表示可以以“action:create”1202开始,其具有“positional(0)”1206的参数1204。创建的“object:reminder”1208可以具有参数1210。参数1210可以通过“hasToDo”1214链接到“object:todo”1212。“object:todo”1212可以具有“todoAction”1218的参数1216,其可以链接到“action:create”1202。“action:create”1202可以具有“positional(0)”1206的参数1220,其可以链接到“object:call”1222。“object:call”1222可以进一步包括为“hasParticipant”1226的参数1224,其可以链接到“object:person”1228。“object:person”1228可以具有为“motherOf”1232的参数1230,其可以链接到“object:user”1234。参数1210也可以通过“hasRemindTime”1238链接到“object:date_time”1236。“object:date_time”1236可以具有为“positional(0)”1206的参数1240,其可以链接到“4pm”1242。尽管本公开以特定的方式描述了特定的NGO解析,但是本公开设想以任何合适的方式进行任何合适的NGO解析。
在特定实施例中,助理系统140可以使用执行图作为开发更复杂的对话计划的一种方法,该对话计划自动将小任务拼凑成更大的任务。NGO解析可以基于用户话语生成执行图。这种方法的好处可以是能够处理多动作请求的长尾,方法是能够从较小的任务中拼凑出较大的任务。图13A示出了话语的示例执行图。作为示例而非限制,该话语可以是“sharethe pictures of me and Kevin skiing with my Mom(和我妈妈分享我和凯文滑雪的照片)”,其可以表示为(fb/send[fb/message hasContent=[fb/photo hasPersonSubject=<[fb/user],[fb/person name=[Kevin]]>hasSubject=[skiing]]hasRecipient=[fb/person motherOf=[fb/user]]])。执行图可以包括“action:send”1302,其具有为“positional(0)”1306的参数1304。被采取动作的“object:message”1308可以具有参数1310。参数1310可以通过“hasContent”1314链接到“object:photo”1312。“object:photo”1312可以具有参数1316。参数1316可以通过“hasPersonSubject”1320链接到“list”1318。“list”1318可以分别经由“positional(0)”1306链接到“object:user”1322,并且经由“positional(1)”1326链接到“object:person”1324。“object:person”1324可以具有为“name”1328的参数1325,其可以链接到“object:string”1330。“object:string”1330可以进一步包括为“positional(0)”1306的参数1332,其可以链接到“Kevin”1334。参数1316也可以通过“hasSubject”1338链接到“object:string”1336。“object:string”1336可以具有为“positional(0)”1306的参数1340,其可以链接到“skiing”1342。参数1310还可以通过“hasRecipient”1346链接到“object:person”1344。“object:person”1344可以具有为“motherOf”1350的参数1348,其可以链接到“object:user”1352。
图13B示出了对应于图13A中的话语的两个子任务的示例执行图。表示(fb/send[fb/message hasContent=[fb/photo hasPersonSubject=<[fb/user],[fb/personname=[Kevin]]>hasSubject=[skiing]]hasRecipient=[fb/person motherOf=[fb/user]]])可以基于将话语分解为两个子任务来生成,这两个子任务为<(fb/get[fb/photohasPersonSubject=<[fb/user],[fb/person name=[Kevin]]>hasSubject=[skiing]])和(fb/send[fb/message hasContent=[fb/photo]hasRecipient=[fb/person motherOf=[fb/user]]])>。这两个子任务可以在图13B中示出,其中对话策略顺序执行“get”和“send”任务,以实现用户期望的结果。如图13B所示,“list”1354可以分别经由“positional(0)”1306链接到“action:get”1356和经由“positional(1)”1326链接到“action:send”1302。可以看出,“action:get”1356下面的执行图可以与图13A中“action:send”1302下面的执行图相同。“action:send”1302下面的执行图可能与图13A中“action:send”1302下面的执行图基本相同,除了“object:photo”1312下面没有后续执行。尽管本公开以特定的方式描述了特定的执行图,但是本公开设想了以任何合适的方式的任何合适的执行图。
在特定实施例中,对话管理器335可以进一步选择用于执行任务的代理。向代理发送请求和从代理接收执行结果都可以通过应用编程接口(API)。API可以定义从一个或更多个定制语义单元到由结构本体确定的结构的映射。在特定实施例中,发送给代理的请求可以包括由与助理xbot相关联的对话管理器335修改的语义表示。执行结果可以包括由代理和请求修改的语义表示,并且执行结果可以使用结构本体的标记语法。执行结果然后可以被发送回对话管理器335,对话管理器335可以负责将其映射回由NGO定义的公共语义表示。在替代实施例中,代理可以使用NGO语义表示(其可以由助理系统140用来与代理接口的API定义)发回其结果,使得对话管理器335可以不需要重写/映射代理的输出。在特定实施例中,代理可以是与助理xbot相关联的第一方代理。在替代实施例中,代理可以是与外部计算系统相关联的第三方代理,并且执行结果的结构可以包括一个或更多个定制的语义单元。尽管本公开描述了以特定方式与特定代理交互,但是本公开设想以任何合适的方式与任何合适的代理交互。
在特定实施例中,NGO可以提供一种使第三方代理能够被助理系统140支持的简单方式。在特定实施例中,对于每个代理的API,代理开发者和NGO之间可以就输入参数的命名和类型达成一致,以便最小化对话任务级别所需的重映射量。NGO可以具有其本体的核心命名空间,该命名空间仅对助理系统140中的模块可见。为了使第三方代理开发者能够开发与助理系统140兼容的代理,可以使NGO的子图对他们可见,例如一些动作、对象和属性。这些子图可能是关于一般事物的,也就是说,不是来自核心命名空间的那些动作、对象和属性。作为示例而非限制,第三方开发者可以访问与通用功能相关的子图,例如日期时间或命名实体,但是与敏感内容相关的子图不能与第三方开发者共享,例如社交网络数据。第三方代理开发者可以创建具有定制对象、动作和属性的定制命名空间。定制命名空间可以看作是NGO的扩展。作为示例而非限制,用户请求可以是“get Bitcoin price(获取比特币价格)”。核心命名空间可能有动作“get”,但“Bitcoin price”可能不作为对象类型存在于核心命名空间中。从第三方的角度来看,可以创建新的定制命名空间,该命名空间具有新的比特币对象和获取比特币价格的功能。定制命名空间可能有到核心命名空间的映射。这样,NGO可以使第三方代理开发者能够创建定制的语义单元,并且还能够重用来自核心命名空间的现有语义单元。它还可以促进助理系统140在不同代理之间的通信。尽管本公开以特定的方式描述了特定的第三方支持,但是本公开设想了以任何合适的方式的任何合适的第三方支持。
在特定实施例中,对话管理器335可以基于代理的输出为NLG模块356创建语义部分,并将它们传递给NLG模块356。NLG模块356还可以使用相同类型的NGO语义表示基于这些语义部分为用户生成响应。图14示出了基于NGO的示例响应生成。在特定实施例中,助理系统140可以由与助理xbot相关联的自然语言生成模块356基于结构本体和所执行的任务的结果来生成响应。如图14所示,NLG模块356可以基于包括NLG任务和参数的对话动作1405来生成响应。对话动作1405可以存储为类似NGO的动作中的子图。NLG任务可以由对话计划确定。参数可包括NGO中的属性,如温度、能见度、预报、降水等。在特定实施例中,复杂参数可以包括NGO中的对象及其属性。在图14中,生成的响应1410可以是“this weekend in MenloPark,it'll be sunny on Saturday,but expect rain on Sunday(本周末在门罗公园,周六会是晴天,但预计周日会下雨)”。尽管本公开描述了以特定方式生成特定响应,但是本公开设想以任何合适的方式生成任何合适的响应。
以下是NLG模块356的语义部分及其相应响应的示例。当用户问“what’s theweather like in Seattle(西雅图的天气怎么样)?”,语义部分可以是(fb/inform[fb/location In city=[Seattle]],it’s[fb/temperature 72]and[fb/cloudCoversunny])。NLG模块356可以相应地生成响应“in Seattle,it’s 72 and sunny”。作为另一个例子,当用户要求“change my availability to busy(将我的可用性更改为“忙”)”时,语义部分可以是(fb/ack Ok,availability changed to[::available(busy)])。NLG模块356可以相应地生成响应“OK,availability changed to busy”。作为另一个例子,当用户要求“delete the message(删除消息)”时,语义部分可以是(fb/confirm Are you sure youwant to delete the message?)。NLG模块356可以相应地生成响应“are you sure youwant to delete the message(你确实想要删除消息么)?”作为另一个例子,当用户要求“remove the angry emoji(删除愤怒的表情符号)”时,语义部分可以是(fb/ack OK,hereis your message)和(fb/prompt Ready to send it?)。NLG模块356可以相应地生成响应“OK,here is your message.Ready to send it(好的,这是你的留言。准备好发送了吗)?”作为另一个例子,当用户问“how’s the weather in Tokyo,Montana?”,语义部分可以是(fb/error I couldn’t find that[fb/bad_arg location])。NLG模块356可以相应地生成“I couldn’t find that location”的响应。作为另一个例子,当用户要求“send amessage”时,语义部分可以是(fb/request Who would you like to message?)。NLG模块356可以相应地生成响应“who would you like to message?”
为了比较NGO与IN/SL范式的性能,本文公开的实施例比较了两种场景下的表示:1)给定所有数据,NGO与IN/SL范式相比如何,以及2)给定各种数据集分割,表示低资源情况,NGO与IN/SL范式相比如何。本文公开的实施例可以在NGO上直接与IN/SL表示进行比较,控制由对准数据上的训练和测试使用的自然语言话语。
在特定实施例中,用于比较的度量可以是精确匹配(EM)精度,其中检查预测的解析是否与目标解析精确匹配,目标解析与组合解析的语义解析中的现有工作一致。由于语义表示的结构化性质,本文公开的实施例还计算跨每个模型和表示的解析有效性,该有效性是预测序列相对于预定义本体在句法和语义上都是有效结构的频率。
本文公开的实施例使用基于seq2seq的模型,该模型具有用于比较的指针投影。这些模型利用传统seq2seq架构之上的指针投影层来决定何时生成符号,何时从输入中复制符号。在特定实施例中,指针投影被应用于广泛的基础架构,包括BiLSTM、CNN、非自回归CNN和BART。对每个模型和表示进行了相同数量的实验。表1显示了将这些模型与不同表示形式进行比较的结果。跨所有域,跨各种模型架构,被训练产生NGO标签的模型始终优于IN/SL范式中的模型。即使NGO解析比其等价的IN/SL解析编码更多的语义(即列表类型、枚举),也可以获得改进。
Figure BDA0003601225220000651
表1:最近基于seq2seq的语义解析模型的结果。
Figure BDA0003601225220000652
表2:语法和语义解析无效的结果。括号中的数字是生成的解析的语法错误(显示为百分比)。
本文公开的实施例进一步评估了生成句法或语义有效的语义解析有多难。为此,本文公开的实施例在表2中计算在测试集上无效的生成的语义解析的百分比。总的来说,在各种模型架构中,NGO生成的解析在语法和语义上都是有效的,与IN/SL解析的时间百分比相同,同时具有明显更严格的类型系统。
本文公开的实施例评估了模型如何适应低资源场景中的NGO。图15示出了在保持测试集不变的情况下,模型在各种百分比的训练数据上的示例性能。模型是BART。在所有大小的训练数据上,NGO 1510都严格优于IN/SL范式1520。
表3显示了对于BART模型,NGO和IN/SL表示在不同域上的表现。在天气(+1.2%)、计时器(+0.64%)和音乐(+1.5%)方面,NGO的表现比IN/SL有所提高,而提醒域则倒退了0.44%。
Figure BDA0003601225220000661
表4:对于IN/SL标签和NGO标签,每个域的BART模型的精确匹配精度。
在特定实施例中,助理系统140可以为开发者提供NGO工具来定制NGO的使用,例如创建新的域、编辑域、创建新的实体类型、编辑实体类型等。在NGO工具中,通过从本体中识别元素或通过向本体添加元素,可以立即导出标记系统。开发者可以如下构建本体。开发者可以在NGO工具中创建或更新他们的域。开发者还可以创建本体的特定于域的子图,即,他们可以从本体中识别给定域的动作和对象类以及这些类的属性。开发者可以重用现有的类,这可以确保语义兼容性。但是,如果一个类或属性不存在,开发者可以创建一个新的类并提供所需的属性。这些类可以通过命名空间与核心本体分开。合法标签可以直接从任何域的子图中导出。一旦识别了类和属性,就可以立即生成这些可能性。尽管本公开以特定的方式描述了特定的NGO工具,但是本公开以任何合适的方式设想了任何合适的NGO工具。
NGO解析器可以用来确定开发者的数据在NGO语法和特定于域的语义方面是否有效。NGO工具可以自动预填充子图允许的所有动作、对象、属性、方法组合。开发者可以选择删除不需要的组合。开发者还可以根据NLG对话动作指出所需的属性和模板响应(templatic response)。开发者可以创建属性类型对,指示一个对象类相对于另一个对象类所扮演的角色和类型。这些可能性可以通过在本体中声明而自动生成,并且一旦类和属性被识别为可重用或创建,就可以立即用于新的域。开发者可以将属性与NGO类型链接起来。因为本体在NLU模块210/218和知识图之间共享,所以开发者将本体的元素匹配到知识图的元素的工作可以被移除。NGO工具可能有一个实体页面,其可以自动被预填充合法的角色类型信息。默认情况下,可以假设这些角色在子图的任何类型中都是合法的,但是该页面可以用来手动删除一些选项。开发者可以通过简单地提供遵循NGO指南的完整注释来提供该域的示例话语。尽管本公开描述了以特定方式使用特定的NGO工具,但是本公开设想了以任何合适的方式使用任何合适的NGO工具。
图16示出了用于在NGO中启用支持语音的应用(App)的示例。在特定实施例中,语义单元可以各自与由计算系统定义的默认命名空间相关联。一个或更多个定制语义单元可以与由第三方代理定义的个性化命名空间相关联。在图16中,该示例可以专门用于使用新的定时器,即timer_app。存在于核心命名空间1610中的核心本体,例如fb/,可能已经定义了具有两个属性的定时器对象1612,该两个属性为“hasDuration”1614和“hasStartTime”1616。这可以允许将诸如“set a timer at 5pm(设定下午5点的定时器)”之类的话语解析为(fb/set[fb/timer hasStartTime=[fb/date_time 5pm]])。对于App,开发者可以创建新的命名空间1620,其包含从核心定时器对象(即fb/timer)继承的新定时器对象1622(即,app/timer)。现在给定下面的话语“set a timer at 5pm with app(利用app设定下午5点的定时器)”,助理系统140可以基于NGO用(fb/set[app/timer hasStartTime=[fb/date_time 5pm]]注释它。请注意,由于fb/timer的继承,可能会发生大量重用。
在特定实施例中,实体解析可以取决于实体类型和实体联合定义。实体联合定义可以独立于NLU模块210/218。开发者可以使用NGO工具在本体中定义实体类型。作为示例而非限制,要解析NGO叶对象fb/person name=[Andy],fb/person name应定义一个字段实体类型,该类型可由开发者在NGO工具中分配。在特定实施例中,fb/person可能已经是实体类型。因此,NGO可以直接输出与NGO工具集成的实体类型。
在特定实施例中,助理系统140可以具有助理系统140执行的计划(每个任务)的一些概念。这些计划可以允许助理系统140预测期望的结果,知道需要执行什么步骤,以什么顺序执行,以及需要捕获和解析什么信息。在特定实施例中,可能存在“任务触发”,其可以被认为是计划检索,即,给定当前对话状态和输入,助理系统140应该选择什么计划来执行。在特定实施例中,为了在概念上简化开发者的计划检索机制,可以在NGO工具中向他们呈现一个界面,该界面捕获在什么条件下他们的任务触发。NGO的任务名称可以包括独立指定的任务名称。
在特定实施例中,对于NGO,可以使用动作、对象以及可选的属性和/或方法的存在的组合来明确任务触发。在特定实施例中,开发者可能需要指定关于他们的任务应该何时触发的最少2条、最多4条信息。作为示例而非限制,“fb/create”和“fb/call”可能足以描述TASK:CREATE_CALL的触发器。作为另一个示例而非限制,具有属性“callType”的“fb/update”、“fb/call”可能足以描述任务TASK:UPDATE_METHOD_CALL。作为另一个示例而非限制,“fb/update”、“fb/timer”、属性“duration”和方法“add”可能足以描述任务TASK:ADD_TIME_TIMER(例如,“add 5minutes to my timer(给我的定时器加5分钟)”)。预期的属性和方法可采用“none”的特殊值,当提到对象和动作但没有属性或方法时,这可能会将触发限制在特定场合。NGO注释中属性或方法的存在可以指示用户的话语针对该属性或方法。对NGO的一个要求是允许到对话计划的足够细粒度的映射,当属性和方法被用户的话语暗示时,它们应该被包括在注释中,即使没有给出值。为了简化NGO工具的协定或用户界面(UI),可以不使用属性或方法捕获的值。尽管本公开以特定的方式描述了特定的任务触发器,但是本公开设想了以任何合适的方式的任何合适的任务触发器。
在特定实施例中,开发者可以被提供两种抽象来表示一般对话计划。这两种抽象可能有不同的表达性和能力;(i)基于框架(也称为“基于配置器”)的抽象-用于“参数填充”,(ii)对话策略API-用于需要明确控制对话流的任务。这两种抽象可能各自对可能描述的任务的复杂性施加限制。这可以简化开发者必须提供的信息。在一定程度上,这也可能限制了可以被解释和执行的NGO解析的复杂性。对于“无代码”的基于框架的抽象,NGO本体可以指导开发者在NGO工具中可添加什么类型的输入参数。尽管本公开以特定的方式描述了特定对话计划的特定抽象,但是本公开设想了以任何合适的方式对任何合适的对话计划的任何合适的抽象。
图17A-17B示出了NGO工具的示例UI。图17A示出了具有“create”触发动作的NGO工具的示例UI。当触发动作是“fb/create”时,可以在“输入参数”部分指定一组与要创建的对象相关的命名参数。每个输入参数可能有一个类型和参数名,它们可以从NGO本体中自动填充。开发者可以标记每个参数是否是必需的,并提供相关提示。请注意,“fb/create”计划触发器可能意味着没有属性或方法引用作为触发规范的一部分。如图17A所示,任务可以被指示为“TASK:CREATE_CALL”1702。UI也可以显示一些描述1704。触发部分1706可以包括与动作、对象等相关联的信息。UI还可以显示别名部分1708、代理目标1710、策略注释1712和输入参数1714。
图17B示出了具有“update”触发动作的NGO工具的示例UI。在触发动作不是“fb/create”并且属性或方法引用是作为触发动作的一部分提供的情况下,则可能不允许任何输入参数或只允许一个输入参数。如果指定了该单一参数,它可能采用与触发器中提到的属性相关联的名称和类型。开发者可以标记该参数是否是必需的,并提供相关提示。如图17B所示,任务可以被指示为“TASK:UPDATE_METHOD_CALL”1716。UI也可以显示一些描述1704。触发部分1706可以包括与动作、对象等相关联的信息。UI还可以显示别名部分1708、代理目标1710、策略注释1712和输入参数1714。NGO工具可以是解决使得开发者能够方便地使用结构本体而无需关于本体的广泛知识的技术挑战的有效解决方案,因为NGO工具可以使得开发者能够使用高级用户界面定制具有不同功能的结构本体的使用,在高级用户界面内,系统还可以自动填充内容以促进这种工具的使用。
在特定实施例中,对话计划API可以允许开发者使用图形UI和面向对象编程语言的组合来指定预期的对话流。然后,流可以变成可执行的计划树。以这种方式构建的计划可能允许分支和循环。在每个决策点,开发者可以使用预先存在的“谓词”来测试公共条件或构建他们自己的定制代码。NGO解析器也可以允许定义谓词。如果使用类似NGO的结构来表示对话状态,预期可以是开发者可能会构造谓词。此外,对于常见的测试,可以提供一组预定义的谓词。这种预定义的谓词也可以支持为上述基于“无代码”框架的抽象生成对话计划。
图18示出了用于提高语义表示一致性的示例方法1800。该方法可以在步骤1810开始,其中助理系统140可以通过助理xbot从与用户相关联的客户端系统130接收包括自然语言话语的用户输入。在步骤1820,助理系统140可以基于结构本体确定用户输入的语义表示,其中结构本体定义1)用于将自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,2)多个动作中的每一个对多个对象中的一个或更多个进行操作,3)多个对象中的每一个包括多个属性中的一个或更多个,4)多个属性中的每一个声明对动作或对象的限制,5)多个对象被分层组织成多个超类型和子类型,每个子类型继承其相关联的超类型的一个或更多个属性,6)语义单元还包括多个方法和枚举,其中多个方法中的每一个包括其生命期绑定到对象的动作,并且其中多个枚举中的每一个包括表示来自多个对象中的一个对象的对象,以及7)包括一个或更多个核心子图和一个或更多个通用子图的图结构,其中一个或更多个核心子图不可由第三方代理访问,并且其中一个或更多个通用子图可由第三方代理访问,其中语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的要被采取动作的至少一个属性,其中至少一个动作具有一个或更多个参数,其中每个参数指定对象要满足的约束,使得至少一个动作能够作用于对象,并且其中参数中的至少一个指定至少一个对象满足的约束,其中语义表示可由与被配置为处理用户输入的助理xbot相关联的每个模块执行,并且其中与至少一个动作、至少一个对象和至少一个属性中的每一个相关联的值由执行语义表示的每个模块确定。在步骤1830,助理系统140可以向代理发送用于执行对应于用户输入的任务的请求,其中该请求基于语义表示,其中该代理是与外部计算系统相关联的第三方代理,并且其中执行结果的结构包括一个或更多个定制的语义单元,其中向代理发送请求和从代理接收执行结果都经由应用编程接口(API),其中API定义从一个或更多个定制语义单元到由结构本体确定的结构的映射,其中发送给代理的请求包括由与助理xbot相关联的对话管理器修改的语义表示,其中执行结果包括由代理修改的语义表示,并且其中请求和执行结果使用结构本体的标记语法,其中语义单元各自与由计算系统定义的默认命名空间相关联,并且其中一个或更多个定制语义单元与由第三方代理定义的个性化命名空间相关联。在步骤1840,助理系统140可以从代理接收所执行的任务的结果,其中这些结果被映射到由结构本体确定的结构。在步骤1850,助理系统140可以由与助理xbot相关联的自然语言生成模块356基于结构本体和所执行的任务的结果来生成响应。在步骤1850,助理系统140可以从助理xbot向客户端系统130发送用于呈现对用户输入的响应的指令,其中该响应基于所执行的任务的结果。在适当的情况下,特定实施例可以重复图18的方法的一个或更多个步骤。尽管本公开将图18的方法的特定步骤描述和示出为以特定顺序发生,但是本公开设想图18的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述并示出了用于改善语义表示的一致性的示例方法,包括图18的方法的特定步骤,但是本公开设想了用于改善语义表示的一致性的任何合适的方法,包括任何合适的步骤,在适当的情况下,其可以包括图18的方法的所有、一些步骤或没有这些步骤。此外,尽管本公开描述和示出了执行图18的方法的特定步骤的特定组件、设备或系统,但是本公开设想了执行图18的方法的任何合适步骤的任何合适的组件、设备或系统的任何合适的组合。
社交图
图19示出了示例社交图1900。在特定实施例中,社交网络系统160可以在一个或更多个数据储存器中存储一个或更多个社交图1900。在特定实施例中,社交图1900可以包括多个节点——该多个节点可以包括多个用户节点1902或多个概念节点1904——以及关连这些节点的多条边1906。每个节点可以与唯一的实体(即,用户或概念)相关联,每个实体可以具有唯一的标识符(ID),例如唯一的号码或用户名。出于教导的目的,以二维视觉映射表示(two-dimensional visual map representation)示出了图19所示的示例社交图1900。在特定实施例中,社交网络系统160、客户端系统130、助理系统140或第三方系统170可以访问社交图1900和相关社交图信息以用于合适的应用。社交图1900的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图1900的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点1902可以对应于社交网络系统160或助理系统140的用户。作为示例而不是作为限制,用户可以是与社交网络系统160或助理系统140交互或通信或通过社交网络系统160或助理系统140交互或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统160注册账户时,社交网络系统160可以创建对应于用户的用户节点1902,并将用户节点1902存储在一个或更多个数据储存器中。本文描述的用户和用户节点1902在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点1902。另外或作为替代方案,在适当的情况下,本文描述的用户和用户节点1902可以指没有向社交网络系统160注册的用户。在特定实施例中,用户节点1902可以与由用户提供的信息或由各种系统(包括社交网络系统160)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点1902可以与对应于与用户相关联的信息的一个或更多个数据对象相关联。在特定实施例中,用户节点1902可以对应于一个或更多个web界面。
在特定实施例中,概念节点1904可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(诸如例如,电影院、餐馆、地标或城市);网站(诸如例如,与社交网络系统160相关联的网站或与web应用服务器相关联的第三方网站);实体(诸如例如,个人、企业、团体、运动队或名人);资源(诸如例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统160内或外部服务器(例如web应用服务器)上;不动产或知识产权(诸如例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;另一个合适的概念;或者两个或更多个这样的概念。概念节点1904可以与由用户提供的概念的信息或由各种系统(包括社交网络系统160和助理系统140)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点1904可以与一个或更多个数据对象相关联,该一个或更多个数据对象对应于与概念节点1904相关联的信息。在特定实施例中,概念节点1904可以对应于一个或更多个web界面。
在特定实施例中,社交图1900中的节点可以表示web界面(其可以被称为“简档界面”)或者由web界面表示。简档界面可以由社交网络系统160或助理系统140托管或是社交网络系统160或助理系统140可访问的。简档界面也可以在与第三方系统170相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部web界面的简档界面可以是特定外部web界面,并且简档界面可以对应于特定概念节点1904。简档界面可以由所有其他用户或其他用户的选定子集可查看。作为示例而不是作为限制,用户节点1902可以具有相应的用户简档界面,其中相应的用户可以添加内容、作出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点1904可以具有相应的概念简档界面,其中一个或更多个用户可以添加内容、作出声明或表达他们自己,特别是关于对应于概念节点1904的概念。
在特定实施例中,概念节点1904可以表示由第三方系统170托管的第三方web界面或资源。除了其他元素之外,第三方web界面或资源可以包括内容、可选择的或其他图标、或代表动作或活动的其他可交互对象。作为示例而不是作为限制,第三方web界面可以包括可选择的图标,例如“赞”、“签到(check-in)”、“吃”、“推荐”,或其他合适的动作或活动。查看第三方web界面的用户可以通过选择图标之一(例如,“签到”)来执行动作,使客户端系统130向社交网络系统160发送指示用户的动作的消息。响应于该消息,社交网络系统160可以在对应于用户的用户节点1902和对应于第三方web界面或资源的概念节点1904之间创建边(例如,签到类型边),并将边1906存储在一个或更多个数据储存器中。
在特定实施例中,社交图1900中的一对节点可以通过一条或更多条边1906关连到彼此。连接一对节点的边1906可以表示在该对节点之间的关系。在特定实施例中,边1906可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统160可以向第二用户发送“好友请求”。如果第二用户确认“好友请求”,则社交网络系统160可以在社交图1900中创建将第一用户的用户节点1902关连到第二用户的用户节点1902的边1906,并将边1906作为社交图信息存储在一个或更多个数据储存器164中。在图19的示例中,社交图1900包括指示在用户“A”和用户“B”的用户节点1902之间的朋友关系的边1906、以及指示在用户“C”和用户“B”的用户节点1902之间的朋友关系的边。尽管本公开描述或示出了关连特定用户节点1902的具有特定属性的特定边1906,但是本公开设想了关连用户节点1902的具有任何合适属性的任何合适的边1906。作为示例而不是作为限制,边1906可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系(包括例如,赞等)、关注者(follower)关系、访问者关系(包括例如,访问、查看、签到、分享等)、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被关连,但是本公开也将用户或概念描述为被关连。在本文,对被关连的用户或概念的引用在适当的情况下可以指在社交图1900中由一条或更多条边1906关连的对应于那些用户或概念的节点。分别由两个节点表示的两个对象之间的分离度是社交图1900中连接两个节点的最短路径中的边的计数。作为示例而非限制,在社交图1900中,用户“C”的用户节点1902经由多条路径连接到用户“A”的用户节点1902,多条路径例如包括直接穿过用户“B”的用户节点1902的第一路径、穿过公司“A1me”的概念节点1904和用户“D”的用户节点1902的第二路径、以及穿过代表学校“Stateford”、用户“G”、公司“A1me”和用户“D”的用户节点1902和概念节点1904的第三路径。用户“C”和用户“A”具有为二的分离度,因为连接它们对应节点的最短路径(即第一路径)包括两条边1906。
在特定实施例中,在用户节点1902和概念节点1904之间的边1906可以表示由与用户节点1902相关联的用户对与概念节点1904相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图19所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作于”或“阅读”概念,其中每个可以对应于边类型或子类型。对应于概念节点1904的概念简档界面可以包括例如可选择的“签到”图标(诸如例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统160可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(第三方在线音乐应用)来收听特定的歌曲(“想象(Imagine)”)。在这种情况下,社交网络系统160可以在对应于用户的用户节点1902和对应于歌曲和应用的概念节点1904之间创建“收听”边1906和“使用”边(如图19所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统160可以在对应于歌曲和应用的概念节点1904之间创建“播放”边1906(如图19所示),以指示特定的歌曲被特定的应用播放。在这种情况下,“播放”边1906对应于由外部应用(第三方在线音乐应用)对外部音频文件(歌曲“想象”)执行的动作。尽管本公开描述了连接用户节点1902和概念节点1904的具有特定属性的特定边1906,但是本公开设想了连接用户节点1902和概念节点1904的具有任何适当属性的任何适当边1906。此外,尽管本公开描述了表示单个关系的在用户节点1902和概念节点1904之间的边,但是本公开设想了表示一个或更多个关系的在用户节点1902和概念节点1904之间的边。作为示例而不是作为限制,边1906可以表示用户喜欢并使用了特定概念。可替代地,另一条边1906可以表示用户节点1902和概念节点1904之间(如图19所示,用户“E”的用户节点1902和“在线音乐应用”的概念节点1904之间)的每种类型的关系(或者多个单一关系)。
在特定实施例中,社交网络系统160可以在社交图1900中的用户节点1902和概念节点1904之间创建边1906。作为示例而不是作为限制,(诸如例如,通过使用由用户的客户端系统130托管的web浏览器或专用应用)查看概念简档界面的用户可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点1904表示的概念,这可以使用户的客户端系统130向社交网络系统160发送指示用户喜欢与概念简档界面相关联的概念的消息。响应于该消息,社交网络系统160可以在与用户相关联的用户节点1902和概念节点1904之间创建边1906,如由在用户节点和概念节点1904之间的“赞”边1906所示的。在特定实施例中,社交网络系统160可以将边1906存储在一个或更多个数据储存器中。在特定实施例中,边1906可以由社交网络系统160响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、阅读书籍、观看电影或收听歌曲,则可以在对应于第一用户的用户节点1902和对应于那些概念的概念节点1904之间形成边1906。尽管本公开描述了以特定方式形成特定边1906,但是本公开设想了以任何合适的方式形成任何合适的边1906。
向量空间和嵌入
图20示出了向量空间2000的示例视图。在特定实施例中,可以在d维向量空间中表示对象或n-gram,其中d表示任何合适的维数。尽管向量空间2000被示为三维空间,但这仅仅是为了说明的目的,因为向量空间2000可以具有任何合适的维度。在特定实施例中,n-gram可以在向量空间2000中被表示为向量,该向量被称为项目嵌入(term embedding)。每个向量可以包括对应于向量空间2000中的特定点(即,向量的终点)的坐标。作为示例而不是作为限制,如图20所示,向量2010、2020和2030可以被表示为向量空间2000中的点。n-gram可以被映射到相应的向量表示。作为示例而不是作为限制,通过应用由字典定义的函数
Figure BDA0003601225220000761
n-gram t1和n-gram t2可以分别映射到向量空间2000中的向量
Figure BDA0003601225220000762
Figure BDA0003601225220000763
使得
Figure BDA0003601225220000771
并且
Figure BDA0003601225220000772
作为另一个示例而不是作为限制,可以利用被训练为将文本映射到向量表示的字典,或者这种字典本身可以通过训练来生成。作为另一示例而非限制,单词嵌入模型可用于将n-gram映射到向量空间2000中的向量表示。在特定实施例中,可以通过使用机器学习模型(例如,神经网络)将n-gram映射到向量空间2000中的向量表示。机器学习模型可能已经使用训练数据的序列(例如,每个包括n-gram的多个对象的语料库(corpus))进行了训练。
在特定实施例中,对象可以在向量空间2000中被表示为向量,该向量被称为特征向量或对象嵌入。作为示例而不是作为限制,通过应用函数
Figure BDA0003601225220000773
对象e1和e2可以分别映射到向量空间2000中的向量
Figure BDA0003601225220000774
Figure BDA0003601225220000775
使得
Figure BDA0003601225220000776
并且
Figure BDA0003601225220000777
在特定实施例中,可以基于对象的一个或更多个特性、属性或特征、对象与其他对象的关系或与对象相关联的任何其他合适的信息来将对象映射到向量。作为示例而不是作为限制,函数
Figure BDA0003601225220000778
可以通过特征提取将对象映射到向量,特征提取可以从初始测量数据集开始,并构建导出值(例如,特征)。作为示例而不是作为限制,通过使用算法以检测或隔离对象的各种期望部分或形状,包括视频或图像的对象可以被映射到向量。用于计算向量的特征可以基于从边检测、拐角(corner)检测、团块(blob)检测、脊线(ridge)检测、尺度不变特征变换、边方向、变化强度、自相关、运动检测、光流、阈值化、团块提取、模板匹配、霍夫(Hough)变换(例如,线、圆、椭圆、任意形状)获得的信息或任何其他合适的信息。作为另一个示例而不是作为限制,包括音频数据的对象可以基于特征(例如频谱斜率、音调系数、音频频谱质心、音频频谱包络、梅尔频率倒频谱(Mel-frequency cepstrum)或任何其他合适的信息)来被映射到向量。在特定实施例中,当对象具有太大而无法有效地被处理的数据或者包括冗余数据时,函数
Figure BDA0003601225220000779
可以使用所变换的精简特征集(例如,特征选择)来将对象映射到向量。在特定实施例中,函数
Figure BDA00036012252200007710
可以基于与对象e相关联的一个或更多个n-gram来将对象e映射到向量
Figure BDA00036012252200007711
尽管本公开描述了以特定方式在向量空间中表示n-gram或对象,但是本公开设想了以任何合适的方式在向量空间中表示n-gram或对象。
在特定实施例中,社交网络系统160可以计算向量空间2000中的向量的相似性度量。相似性度量可以是余弦相似性、Minkowski距离、Mahalanobis距离、Jaccard相似性系数或任何合适的相似性度量。作为示例而不是作为限制,
Figure BDA0003601225220000784
Figure BDA0003601225220000783
的相似性度量可以是余弦相似性
Figure BDA0003601225220000781
作为另一个示例而不是作为限制,
Figure BDA0003601225220000785
Figure BDA0003601225220000786
的相似性度量可以是欧几里德(Euclidean)距离
Figure BDA0003601225220000782
两个向量的相似性度量可以表示分别对应于两个向量的两个对象或n-gram彼此之间的相似程度,如通过向量空间2000中两个向量之间的距离所测量的。作为示例而不是作为限制,基于相应向量之间的距离,向量2010和向量2020可以对应于比对应于向量2010和向量2030的对象与彼此更相似的对象。尽管本公开描述了以特定方式计算向量之间的相似性度量,但本公开设想了以任何合适的方式计算向量之间的相似性度量。
关于向量空间、嵌入、特征向量和相似性度量的更多信息可以在2015年11月23日提交的美国专利申请第14/949436号、2016年10月5日提交的美国专利申请第15/286315号和2016年11月30日提交的美国专利申请第15/365789号中找到,这些申请均通过引用结合于此。
人工神经网络
图21示出了示例人工神经网络(“ANN”)2100。在特定实施例中,ANN可以指包括一个或更多个节点的计算模型。示例ANN 2100可以包括输入层2110、隐藏层2120、2130、2140和输出层2150。ANN 2100的每个层可以包括一个或更多个节点,例如节点2105或节点2115。在特定实施例中,ANN的每个节点可以关连到ANN的另一个节点。作为示例而不是作为限制,输入层2110的每个节点可以关连到隐藏层2120的一个或更多个节点。在特定实施例中,一个或更多个节点可以是偏置节点(例如,层中不关连到前一层中的任何节点并且不从其接收输入的节点)。在特定实施例中,每层中的每个节点可以关连到前一层或后一层的一个或更多个节点。尽管图21描绘了具有特定层数、特定节点数和节点间特定关连的特定ANN,但是本公开设想了具有任何合适层数、任何合适节点数和节点间任何合适关连的任何合适的ANN。作为示例而不是作为限制,尽管图21描绘了输入层2110的每个节点和隐藏层2120的每个节点之间的关连,但是输入层2110的一个或更多个节点可以不关连到隐藏层2120的一个或更多个节点。
在特定实施例中,ANN可以是前馈ANN(例如,没有循环或回路的ANN,其中节点之间的通信从输入层开始在一个方向上流动,并前进到连续层)。作为示例而不是作为限制,隐藏层2120的每个节点的输入可以包括输入层2110的一个或更多个节点的输出。作为另一个示例而不是作为限制,输出层2150的每个节点的输入可以包括隐藏层2140的一个或更多个节点的输出。在特定实施例中,ANN可以是深度神经网络(例如,包括至少两个隐藏层的神经网络)。在特定实施例中,ANN可以是深度残差网络。深度残差网络可以是前馈ANN,其包括组织成残差块的隐藏层。第一残差块之后的每个残差块的输入可以是前一个残差块的输出和前一个残差块的输入的函数。作为示例而不是作为限制,到残差块N的输入可以是F(x)+x,其中F(x)可以是残差块N-1的输出,x可以是到残差块N-1的输入。尽管本公开描述了特定的ANN,但是本公开设想了任何合适的ANN。
在特定实施例中,激活函数可以对应于ANN的每个节点。节点的激活函数可以针对给定输入定义节点的输出。在特定实施例中,节点的输入可以包括输入集合。作为示例而不是作为限制,激活函数可以是恒等函数、二进制阶跃函数、逻辑函数或任何其他合适的函数。作为另一个示例而不是作为限制,节点k的激活函数可以是sigmoid函数
Figure BDA0003601225220000791
双曲线正切函数
Figure BDA0003601225220000792
整流器Fk(sk)=max(0,sk)或任何其他合适的函数Fk(sk),其中sk可以是节点k的有效输入。在特定实施例中,对应于节点的激活函数的输入可以被加权。每个节点可以使用基于加权输入的对应激活函数来生成输出。在特定实施例中,节点之间的每个关连可以与权重相关联。作为示例而不是作为限制,节点2105和节点2115之间的关连2125可以具有0.4的加权系数,这可以指示节点2105的输出乘以0.4被用作节点2115的输入。作为另一个示例而不是作为限制,节点k的输出yk可以是yk=Fk(sk),其中Fk可以是对应于节点k的激活函数,sk=∑j(wjkxj)可以是节点k的有效输入,xj可以是关连到节点k的节点j的输出,并且wjk可以是节点j和节点k之间的加权系数。在特定实施例中,输入层的节点的输入可以基于表示对象的向量。尽管本公开描述了节点的特定输入和输出,但是本公开考虑了节点的任何合适的输入和输出。此外,尽管本公开可以描述节点之间的特定关连和权重,但是本公开考虑了节点之间的任何合适的关连和权重。
在特定实施例中,可以使用训练数据来训练ANN。作为示例而不是作为限制,训练数据可以包括ANN 2100的输入和预期输出。作为另一个示例而不是作为限制,训练数据可以包括向量,每个向量表示训练对象和每个训练对象的预期标签。在特定实施例中,训练ANN可以包括通过优化目标函数来修改与ANN的节点之间的关连相关联的权重。作为示例而不是作为限制,可以使用训练方法(例如,共轭梯度法、梯度下降法、随机梯度下降)来反向传播作为表示训练对象的每个向量之间的距离测量的平方和误差(例如,使用最小化平方和误差的成本函数)。在特定实施例中,可以使用丢弃技术来训练ANN。作为示例而不是作为限制,在训练时可以暂时忽略一个或更多个节点(例如,不接收输入并且不生成输出)。对于每个训练对象,ANN的一个或更多个节点都可以有被忽略的一定概率。针对特定训练对象忽略的节点可以不同于针对其他训练对象忽略的节点(例如,可以逐个对象地临时忽略节点)。尽管本公开描述了以特定方式训练ANN,但是本公开设想了以任何合适的方式训练ANN。
隐私
在特定实施例中,计算系统的一个或更多个对象(例如,内容或其他类型的对象)可以与一个或更多个隐私设置相关联。一个或更多个对象可以存储在任何合适的计算系统或应用上,或者以其他方式与任何合适的计算系统或应用相关联,该计算系统或应用诸如例如是社交网络系统160、客户端系统130、助理系统140、第三方系统170、社交网络应用、助理应用、消息传递应用、照片共享应用或者任何其他合适的计算系统或应用。尽管本文讨论的示例是在在线社交网络的上下文中,但是这些隐私设置可以应用于任何其他合适的计算系统。对象的隐私设置(或“访问设置”)可以以任何合适的方式(诸如例如,与对象相关联地、以在授权服务器上的索引、以另一种合适的方式或其任何合适的组合)存储。对象的隐私设置可以指定如何可以在在线社交网络中访问、存储或以其他方式使用(例如,查看、共享、修改、复制、执行、显现(surfaced)或识别)该对象(或与该对象相关联的特定信息)。当对象的隐私设置允许特定用户或其他实体访问该对象时,该对象可以被描述为相对于该用户或其他实体是“可见的”。作为示例而非限制,在线社交网络的用户可以指定关于用户简档页面的隐私设置,该隐私设置识别可以访问在用户简档页面上的工作经历信息的一组用户,因而排除其他用户访问该信息。
在特定实施例中,对象的隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户或其他实体的“黑名单(blocked list)”。在特定实施例中,黑名单可以包括第三方实体。黑名单可以指定一个或更多个用户或实体,对象对这些用户或实体是不可见的。作为示例而非限制,用户可以指定不能访问与该用户相关联的相册的一组用户,从而排除这些用户访问相册(同时也可能允许不在指定用户群组内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(例如节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息、或与社交图元素相关联的对象。作为示例而非限制,对应于特定照片的特定概念节点1904可以具有指定照片仅可以由在照片中标记的用户以及在照片中标记的用户的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户选择加入或选择退出使他们的内容、信息或动作被社交网络系统160或助理系统140存储/记录或者与其他系统(例如,第三方系统170)分享。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,隐私设置可以基于社交图1900的一个或更多个节点或边。可以为社交图1900的一条或更多条边1906或边类型、或者关于社交图1900的一个或更多个节点1902、1904或节点类型,指定隐私设置。应用于关连两个节点的特定边1906的隐私设置可以控制对应于这两个节点的两个实体之间的关系对于在线社交网络的其他用户是否可见。类似地,应用于特定节点的隐私设置可以控制对应于该节点的用户或概念对于在线社交网络的其他用户是否可见。作为示例而不是作为限制,第一用户可以向社交网络系统160共享对象。该对象可以与通过边1906关连到第一用户的用户节点1902的概念节点1904相关联。第一用户可以指定应用于关连到对象的概念节点1904的特定边1906的隐私设置,或者可以指定应用于关连到概念节点1904的所有边1906的隐私设置。作为另一个示例而不是作为限制,第一用户可以共享特定对象类型的对象集合(例如,图像集合)。第一用户可以针对与第一用户相关联的该特定对象类型的所有对象将隐私设置指定为具有特定的隐私设置(例如,指定由第一用户发布的所有图像仅对第一用户的朋友和/或在图像中标记的用户可见)。
在特定实施例中,社交网络系统160可以向第一用户呈现“隐私向导(privacywizard)”(例如,在网页、模块、一个或更多个对话框或任何其他合适的界面内),以帮助第一用户指定一个或更多个隐私设置。隐私向导可以显示指令、合适的隐私相关信息、当前隐私设置、用于接受来自第一用户的指定隐私设置的改变或确认的一个或更多个输入的一个或更多个输入字段、或其任何合适的组合。在特定实施例中,社交网络系统160可以向第一用户提供“仪表板(dashboard)”功能,该功能可以向第一用户显示第一用户的当前隐私设置。仪表板功能可以在任何适当的时间向第一用户显示(例如,在来自调用仪表板功能的第一用户的输入之后,在特定事件或触发动作发生之后)。仪表板功能可以允许第一用户在任何时间以任何合适的方式修改第一用户的一个或更多个当前隐私设置(例如,将第一用户重定向到隐私向导)。
与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友、我的老板)、在特定分离度内的用户(例如,朋友、朋友的朋友)、用户群组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统170的用户、特定应用(例如,第三方应用、外部网站)、其他合适的实体、或其任何合适的组合来指定访问或拒绝访问。尽管本公开描述了允许访问或拒绝访问的特定粒度,但是本公开设想了允许访问或拒绝访问的任何合适粒度。
在特定实施例中,一个或更多个服务器162可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器164中的特定对象的请求,社交网络系统160可以向数据储存器164发送对该对象的请求。请求可以识别与该请求相关联的用户,并且对象只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送给该用户(或者该用户的客户端系统130)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器164中被检索,或者可以阻止所请求的对象被发送给用户。在搜索-查询上下文中,只有当查询用户被授权访问对象时,例如,如果对象的隐私设置允许它显现给查询用户、被查询用户发现或以其他方式对查询用户可见,对象才可以被提供作为搜索结果。在特定实施例中,对象可以表示通过用户的动态消息对用户可见的内容。作为示例而非限制,一个或更多个对象对于用户的“热门话题(Trending)”页面可以是可见的。在特定实施例中,对象可以对应于特定用户。对象可以是与特定用户相关联的内容,或者可以是特定用户的账户或存储在社交网络系统160或其他计算系统上的信息。作为示例而不是作为限制,第一用户可以通过在线社交网络的“你可能认识的人(People You May Know)”功能或者通过查看第一用户的朋友列表来查看在线社交网络的一个或更多个第二用户。作为示例而不是作为限制,第一用户可以指定他们不希望在他们的动态消息或朋友列表中看到与特定第二用户相关联的对象。如果对象的隐私设置不允许其被显露给用户、被用户发现或对用户可见,则该对象可以从搜索结果中排除。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
在特定实施例中,与用户相关联的相同类型的不同对象可以具有不同的隐私设置。与用户相关联的不同类型的对象可能具有不同类型的隐私设置。作为示例而非限制,第一用户可以指定第一用户的状态更新是公开的,但是由第一用户共享的任何图像仅对在线社交网络上的第一用户的朋友可见。作为另一个示例而非限制,用户可以为不同类型的实体(例如个人用户、朋友的朋友、关注者、用户群组或公司实体)指定不同的隐私设置。作为另一示例而非限制,第一用户可以指定可以观看由第一用户发布的视频的一组用户,同时防止视频对第一用户的雇主可见。在特定实施例中,可以为不同的用户群组或用户人口统计提供不同的隐私设置。作为示例而非限制,第一用户可以指定与第一用户上同一所大学的其他用户可以观看第一用户的照片,但是作为第一用户的家庭成员的其他用户不可以观看那些相同的照片。
在特定实施例中,社交网络系统160可以为特定对象类型的每个对象提供一个或更多个默认隐私设置。设置为默认的对象的隐私设置可以由与该对象相关联的用户来改变。作为示例而非限制,由第一用户发布的所有图像可以具有仅对第一用户的朋友可见的默认隐私设置,并且对于特定图像,第一用户可以将该图像的隐私设置改变为对朋友和朋友的朋友可见。
在特定实施例中,隐私设置可以允许第一用户指定(例如,通过选择退出,通过不选择加入)社交网络系统160或助理系统140是否可以出于任何目的接收、收集、记录或存储与用户相关联的特定对象或信息。在特定实施例中,隐私设置可以允许第一用户指定特定应用或进程是否可以访问、存储或使用与用户相关联的特定对象或信息。隐私设置可以允许第一用户选择加入或选择退出使对象或信息被特定应用或进程访问、存储或使用。社交网络系统160或助理系统140可以访问这样的信息,以便向第一用户提供特定的功能或服务,而社交网络系统160或助理系统140不能出于任何其他目的访问该信息。在访问、存储或使用这样的对象或信息之前,社交网络系统160或助理系统140可以提示用户提供隐私设置,该隐私设置指定哪些应用或进程(如果有的话)可以在允许任何这样的动作之前访问、存储或使用对象或信息。作为示例而不是作为限制,第一用户可以经由与在线社交网络相关的应用(例如,消息传递app)向第二用户传输消息,并且可以指定社交网络系统160或助理系统140不应该存储这种消息的隐私设置。
在特定实施例中,用户可以指定社交网络系统160或助理系统140是否可以访问、存储或使用与第一用户相关联的特定类型的对象或信息。作为示例而不是作为限制,第一用户可以指定由第一用户通过社交网络系统160或助理系统140发送的图像不可以被社交网络系统160或助理系统140存储。作为另一个示例而不是作为限制,第一用户可以指定从第一用户发送给特定第二用户的消息不可以被社交网络系统160或助理系统140存储。作为又一个示例而不是作为限制,第一用户可以指定经由特定应用发送的所有对象可以被社交网络系统160或助理系统140保存。
在特定实施例中,隐私设置可以允许第一用户指定是否可以从特定客户端系统130或第三方系统170访问与第一用户相关联的特定对象或信息。隐私设置可以允许第一用户选择加入或选择退出从特定设备(例如,用户的智能手机上的电话簿)、从特定应用(例如,消息传递app)或从特定系统(例如,电子邮件服务器)访问对象或信息。社交网络系统160或助理系统140可以提供关于每个设备、系统或应用的默认隐私设置,和/或可以提示第一用户为每个上下文指定特定的隐私设置。作为示例而不是作为限制,第一用户可以利用社交网络系统160或助理系统140的位置服务特征来提供用户附近的餐馆或其他地方的推荐。第一用户的默认隐私设置可以指定社交网络系统160或助理系统140可以使用从第一用户的客户端设备130提供的位置信息来提供基于位置的服务,但是社交网络系统160或助理系统140不可以存储第一用户的位置信息或将其提供给任何第三方系统170。第一用户然后可以更新隐私设置,以允许第三方图像共享应用使用位置信息,以便对照片进行地理标记。
在特定实施例中,隐私设置可以允许用户指定可以从其访问对象的一个或更多个地理位置。对对象的访问或拒绝访问可取决于试图访问对象的用户的地理位置。作为示例而非限制,用户可以共享对象并指定只有同一城市中的用户可以访问或查看该对象。作为另一个示例而非限制,第一用户可以共享对象,并且指定只有当第一用户在特定位置时,该对象才对第二用户是可见的。如果第一用户离开该特定位置,则对象可不再对第二用户是可见的。作为另一示例而非限制,第一用户可以指定对象仅对在距第一用户的阈值距离内的第二用户可见。如果第一用户随后改变位置,则原始具有对对象的访问权的第二用户可能会失去访问权,而新的一组第二用户可能会在他们到达第一用户的阈值距离内时获得访问权。
在特定实施例中,社交网络系统160或助理系统140可具有可将用户的个人或生物信息用作输入以用于用户认证或体验个性化目的的功能。用户可以选择利用这些功能来增强他们在在线社交网络上的体验。作为示例而不是作为限制,用户可以向社交网络系统160或助理系统140提供个人或生物信息。用户的隐私设置可以指定这样的信息仅可用于特定的进程(如认证),并且还指定这样的信息不能与任何第三方系统170共享,或者不能用于与社交网络系统160或助理系统140相关联的其他进程或应用。作为另一个示例而不是作为限制,社交网络系统160可以为用户提供向在线社交网络提供声纹记录的功能。作为示例而不是作为限制,如果用户希望利用在线社交网络的这一功能,则用户可以提供他或她自己声音的声音记录,以提供在线社交网络上的状态更新。声音输入的记录可以与用户的声纹进行比较,以确定用户说了什么词语。用户的隐私设置可以指定这种声音记录可以仅用于声音输入目的(例如,认证用户、发送声音消息、改进声音识别以便使用在线社交网络的声音操作特征),并且还指定这种声音记录不可以与任何第三方系统170共享,或者不可以被与社交网络系统160相关联的其他进程或应用使用。作为另一个示例而不是作为限制,社交网络系统160可以为用户提供向在线社交网络提供参考图像(例如,面部轮廓、视网膜扫描)的功能。在线社交网络可以将参考图像与稍后接收的图像输入进行比较(例如,用于认证用户,在照片中标记用户)。用户的隐私设置可以指定这种图像仅可用于有限的目的(例如,认证、在照片中标记用户),并且还指定这种图像不能与任何第三方系统170共享,或者不能被与社交网络系统160相关联的其他进程或应用使用。
系统和方法
图22示出了示例计算机系统2200。在特定实施例中,一个或更多个计算机系统2200执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统2200提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统2200上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统2200的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统2200。本公开设想了计算机系统2200采取任何合适的物理形式。作为示例而不是作为限制,计算机系统2200可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、或者这些中的两个或更多个的组合。在适当的情况下,计算机系统2200可以包括一个或更多个计算机系统2200;是整体式的或分布式的;跨越多个定位;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统2200可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统2200可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统2200可以在不同的时间或在不同的定位处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统2200包括处理器2202、存储器2204、存储装置2206、输入/输出(I/O)接口2208、通信接口2210和总线2212。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。
在特定实施例中,处理器2202包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器2202可以从内部寄存器、内部高速缓存、存储器2204或存储装置2206中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器2204或存储装置2206。在特定实施例中,处理器2202可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器2202包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器2202可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲区(TLB)。在指令高速缓存中的指令可以是在存储器2204或存储装置2206中的指令的副本,并且指令高速缓存可以加速处理器2202对那些指令的检索。在数据高速缓存中的数据可以是:在存储器2204或存储装置2206中的数据的副本,用于使在处理器2202处执行的指令进行操作;在处理器2202处执行的先前指令的结果,用于由在处理器2202处执行的后续指令访问或者用于写到存储器2204或存储装置2206;或其他合适的数据。数据高速缓存可以加速由处理器2202进行的读或写操作。TLB可以加速关于处理器2202的虚拟地址转译。在特定实施例中,处理器2202可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器2202包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器2202可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器2202。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器2204包括用于存储用于使处理器2202执行的指令或用于使处理器2202操作的数据的主存储器。作为示例而不是作为限制,计算机系统2200可以将指令从存储装置2206或另一个源(例如,另一个计算机系统2200)加载到存储器2204。处理器2202然后可以将指令从存储器2204加载到内部寄存器或内部高速缓存。为了执行指令,处理器2202可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器2202可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器2202然后可以将这些结果中的一个或更多个写到存储器2204。在特定实施例中,处理器2202仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器2204(而不是存储装置2206或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器2204(而不是存储装置2206或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器2202耦合到存储器2204。如下所述,总线2212可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器2202和存储器2204之间,并且便于由处理器2202请求的对存储器2204的访问。在特定实施例中,存储器2204包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器2204可以包括一个或更多个存储器2204。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置2206包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置2206可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置2206可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置2206可以在计算机系统2200的内部或外部。在特定实施例中,存储装置2206是非易失性固态存储器。在特定实施例中,存储装置2206包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置2206。在适当的情况下,存储装置2206可以包括便于在处理器2202和存储装置2206之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置2206可以包括一个或更多个存储装置2206。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口2208包括为在计算机系统2200和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统2200可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统2200之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口2208。在适当的情况下,I/O接口2208可以包括使处理器2202能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口2208可以包括一个或更多个I/O接口2208。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口2210包括提供用于在计算机系统2200和一个或更多个其他计算机系统2200或一个或更多个网络之间的通信(例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口2210可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如Wi-Fi网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口2210。作为示例而不是作为限制,计算机系统2200可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统2200可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统2200可以包括用于这些网络中的任一个的任何合适的通信接口2210。在适当的情况下,通信接口2210可以包括一个或更多个通信接口2210。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线2212包括将计算机系统2200的组件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线2212可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线2212可以包括一个或更多个总线2212。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
其他杂项
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。

Claims (15)

1.一种方法,包括由一个或更多个计算系统:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定所述用户输入的语义表示,其中所述结构本体定义用于将所述自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中所述语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于所述用户输入的任务的请求,其中所述请求基于所述语义表示;
从所述代理接收所执行的任务的结果,其中所述结果被映射到由所述结构本体确定的结构;和
从所述助理xbot向所述客户端系统发送用于呈现对所述用户输入的响应的指令,其中所述响应基于所执行的任务的结果。
2.根据权利要求1所述的方法,其中所述结构本体定义
所述多个动作中的每一个对所述多个对象中的一个或更多个对象进行操作;
所述多个对象中的每一个包括所述多个属性中的一个或更多个;或
所述多个属性中的每一个声明对动作或对象的限制。
3.根据权利要求1所述的方法,其中所述语义表示能够由与被配置为处理所述用户输入的助理xbot相关联的每个模块执行。
4.根据权利要求1所述的方法,其中所述结构本体定义所述多个对象被分层组织成多个超类型和子类型,每个子类型继承其相关联的超类型的一个或更多个属性。
5.根据权利要求1所述的方法,其中与所述至少一个动作、所述至少一个对象和所述至少一个属性中的每一个相关联的值由执行所述语义表示的每个模块来确定。
6.根据权利要求1所述的方法,还包括:
由与所述助理xbot相关联的自然语言生成模块基于所述结构本体和所执行的任务的结果来生成所述响应。
7.根据权利要求1所述的方法,其中所述结构本体定义所述语义单元还包括多个方法和枚举,其中所述多个方法中的每一个包括其生命期绑定到对象的动作,并且其中所述多个枚举中的每一个包括表示来自多个对象中的一个对象的对象。
8.根据权利要求1所述的方法,其中所述结构本体还定义包括一个或更多个核心子图和一个或更多个通用子图的图结构,其中所述一个或更多个核心子图不能够由第三方代理访问,并且其中所述一个或更多个通用子图能够由所述第三方代理访问。
9.根据权利要求1所述的方法,还包括:
由与所述助理xbot相关联的推理模块基于所述语义表示的至少一个属性来解析与所述至少一个对象相关联的一个或更多个实体。
10.根据权利要求1所述的方法,其中所述代理是与所述助理xbot相关联的第一方代理。
11.根据权利要求1所述的方法,其中所述代理是与外部计算系统相关联的第三方代理,并且其中所述执行结果的结构包括一个或更多个定制语义单元。
12.根据权利要求11所述的方法,其中向所述代理发送所述请求和从所述代理接收所述执行结果都经由应用编程接口(API),其中所述API定义从所述一个或更多个定制语义单元到由所述结构本体确定的结构的映射;
其中发送到所述代理的所述请求包括由与所述助理xbot相关联的对话管理器修改的所述语义表示,其中所述执行结果包括由所述代理修改的所述语义表示,并且其中所述请求和所述执行结果使用所述结构本体的标记语法,或者
其中所述语义单元各自与所述计算系统定义的默认命名空间相关联,并且其中所述一个或更多个定制语义单元与所述第三方代理定义的个性化命名空间相关联。
13.根据权利要求1所述的方法,其中所述至少一个动作具有一个或更多个参数,其中每个参数指定对象要满足的约束,使得所述至少一个动作能够作用于所述对象,并且其中所述参数中的至少一个指定所述至少一个对象要满足的约束。
14.一个或更多个计算机可读非暂时性存储介质,其包含软件,所述软件在被执行时能够操作来执行权利要求1至13中任一项所述的方法或以下操作:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定所述用户输入的语义表示,其中所述结构本体定义用于将所述自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中所述语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于所述用户输入的任务的请求,其中所述请求基于所述语义表示;
从所述代理接收所执行的任务的结果,其中所述结果被映射到由所述结构本体确定的结构;和
从所述助理xbot向所述客户端系统发送用于呈现对所述用户输入的响应的指令,其中所述响应基于所执行的任务的结果。
15.一种系统,包括:一个或更多个处理器;以及耦合到所述处理器的包括能够由所述处理器执行的指令的非暂时性存储器,所述处理器在执行所述指令时能够操作来执行权利要求1至13中任一项所述的方法或以下操作:
由助理xbot从与用户相关联的客户端系统接收包括自然语言话语的用户输入;
基于结构本体确定所述用户输入的语义表示,其中所述结构本体定义用于将所述自然语言话语解析为包括多个动作、对象和属性的语义单元的标记语法,并且其中所述语义表示将至少一个对象嵌入到至少一个动作中,并且声明所嵌入的对象的将被采取动作的至少一个属性;
向代理发送用于执行对应于所述用户输入的任务的请求,其中所述请求基于所述语义表示;
从所述代理接收所执行的任务的结果,其中所述结果被映射到由所述结构本体确定的结构;和
从所述助理xbot向所述客户端系统发送用于呈现对所述用户输入的响应的指令,其中所述响应基于所执行的任务的结果。
CN202080073029.6A 2019-10-18 2020-10-16 用于助理系统的使用结构本体的语义表示 Pending CN114631091A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962923342P 2019-10-18 2019-10-18
US62/923,342 2019-10-18
US16/998,423 US11688022B2 (en) 2019-10-18 2020-08-20 Semantic representations using structural ontology for assistant systems
US16/998,423 2020-08-20
PCT/US2020/056144 WO2021086645A1 (en) 2019-10-18 2020-10-16 Semantic representations using structural ontology for assistant systems

Publications (1)

Publication Number Publication Date
CN114631091A true CN114631091A (zh) 2022-06-14

Family

ID=75490741

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202080066258.5A Pending CN114766091A (zh) 2019-10-18 2020-09-25 利用助理系统的任务持久性的用户控制的任务执行
CN202080072841.7A Pending CN114556355A (zh) 2019-10-18 2020-09-26 抑制助理系统的提醒
CN202080072956.6A Pending CN114600099A (zh) 2019-10-18 2020-09-26 使用助理系统的基于自然语言理解的元语音系统提高语音识别精度
CN202080073037.0A Pending CN114556333A (zh) 2019-10-18 2020-09-26 由助理系统启用的智能摄像机
CN202080072955.1A Pending CN114600114A (zh) 2019-10-18 2020-10-07 助理系统的设备上卷积神经网络模型
CN202080073029.6A Pending CN114631091A (zh) 2019-10-18 2020-10-16 用于助理系统的使用结构本体的语义表示

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN202080066258.5A Pending CN114766091A (zh) 2019-10-18 2020-09-25 利用助理系统的任务持久性的用户控制的任务执行
CN202080072841.7A Pending CN114556355A (zh) 2019-10-18 2020-09-26 抑制助理系统的提醒
CN202080072956.6A Pending CN114600099A (zh) 2019-10-18 2020-09-26 使用助理系统的基于自然语言理解的元语音系统提高语音识别精度
CN202080073037.0A Pending CN114556333A (zh) 2019-10-18 2020-09-26 由助理系统启用的智能摄像机
CN202080072955.1A Pending CN114600114A (zh) 2019-10-18 2020-10-07 助理系统的设备上卷积神经网络模型

Country Status (4)

Country Link
US (26) US11861674B1 (zh)
EP (6) EP4046124A1 (zh)
CN (6) CN114766091A (zh)
WO (6) WO2021076302A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114840327A (zh) * 2022-06-29 2022-08-02 阿里巴巴达摩院(杭州)科技有限公司 多模态多任务的处理方法、设备及系统

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
EP3698540A1 (en) 2017-12-05 2020-08-26 Google LLC Method for converting landscape video to portrait mobile layout using a selection interface
CN111699483B (zh) * 2018-01-16 2024-04-09 谷歌有限责任公司 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
CN112424736A (zh) * 2018-07-19 2021-02-26 索美智能有限公司 机器交互
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
JP7142315B2 (ja) * 2018-09-27 2022-09-27 パナソニックIpマネジメント株式会社 説明支援装置および説明支援方法
US12057114B2 (en) * 2018-11-02 2024-08-06 Spotify Ab Media content steering
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
US20210073639A1 (en) * 2018-12-04 2021-03-11 Google Llc Federated Learning with Adaptive Optimization
CN113330484A (zh) 2018-12-20 2021-08-31 斯纳普公司 虚拟表面修改
US11423910B2 (en) * 2019-03-19 2022-08-23 Servicenow, Inc. Systems and method for third party natural language understanding service integration
US11189098B2 (en) 2019-06-28 2021-11-30 Snap Inc. 3D object camera customization system
US11340756B2 (en) 2019-09-27 2022-05-24 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11256526B2 (en) * 2019-10-11 2022-02-22 Lenovo (Singapore) Pte. Ltd. Contextual item management
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US12062103B2 (en) * 2019-10-23 2024-08-13 Honeywell International Inc. Predicting identity-of-interest data structures based on incident-identification data
WO2021080033A1 (ko) * 2019-10-23 2021-04-29 엘지전자 주식회사 음성 분석 방법 및 장치
US11593608B2 (en) * 2019-10-28 2023-02-28 Paypal, Inc. Systems and methods for predicting and providing automated online chat assistance
US11948561B2 (en) * 2019-10-28 2024-04-02 Apple Inc. Automatic speech recognition imposter rejection on a headphone with an accelerometer
CN111026937B (zh) * 2019-11-13 2021-02-19 百度在线网络技术(北京)有限公司 提取poi名称的方法、装置、设备和计算机存储介质
KR20210060897A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 음성 처리 방법 및 장치
US11355123B2 (en) * 2019-11-19 2022-06-07 International Business Machines Corporation Network data aligning
US20210174163A1 (en) * 2019-12-10 2021-06-10 International Business Machines Corporation Edge inference for artifical intelligence (ai) models
US11227442B1 (en) 2019-12-19 2022-01-18 Snap Inc. 3D captions with semantic graphical elements
JPWO2021131953A1 (zh) * 2019-12-27 2021-07-01
KR20210086008A (ko) * 2019-12-31 2021-07-08 삼성전자주식회사 컨텐츠 추천 모델을 개인화하는 방법 및 장치
EP4055504A1 (en) * 2020-01-06 2022-09-14 Google LLC Privacy controls for sharing embeddings for searching and indexing media content
EP4089549A4 (en) * 2020-01-14 2023-01-25 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD AND DEVICE FOR RESOURCE PLANNING AND READABLE STORAGE MEDIUM
CN111241282B (zh) * 2020-01-14 2023-09-08 北京百度网讯科技有限公司 文本主题生成方法、装置及电子设备
US11562264B2 (en) * 2020-01-29 2023-01-24 Accenture Global Solutions Limited System and method for using machine learning to select one or more submissions from a plurality of submissions
US20210232918A1 (en) * 2020-01-29 2021-07-29 Nec Laboratories America, Inc. Node aggregation with graph neural networks
US11093691B1 (en) * 2020-02-14 2021-08-17 Capital One Services, Llc System and method for establishing an interactive communication session
US11809435B2 (en) * 2020-02-17 2023-11-07 Google Llc Efficient storage, retrieval, and/or rendering of personal entries
US11763259B1 (en) 2020-02-20 2023-09-19 Asana, Inc. Systems and methods to generate units of work in a collaboration environment
US11651767B2 (en) * 2020-03-03 2023-05-16 International Business Machines Corporation Metric learning of speaker diarization
US11159767B1 (en) * 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
CN113573331B (zh) * 2020-04-29 2023-09-01 华为技术有限公司 一种通信方法、装置及系统
JP7380416B2 (ja) * 2020-05-18 2023-11-15 トヨタ自動車株式会社 エージェント制御装置
JP7380415B2 (ja) 2020-05-18 2023-11-15 トヨタ自動車株式会社 エージェント制御装置
US11727306B2 (en) * 2020-05-20 2023-08-15 Bank Of America Corporation Distributed artificial intelligence model with deception nodes
JP7266683B2 (ja) * 2020-05-22 2023-04-28 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド 音声対話に基づく情報検証方法、装置、デバイス、コンピュータ記憶媒体、およびコンピュータプログラム
US20210374502A1 (en) * 2020-06-01 2021-12-02 Nvidia Corporation Technique to perform neural network architecture search with federated learning
US11715044B2 (en) * 2020-06-02 2023-08-01 Huawei Cloud Computing Technologies Co., Ltd. Methods and systems for horizontal federated learning using non-IID data
JP7551785B2 (ja) * 2020-06-02 2024-09-17 ライブパーソン, インコーポレイテッド インテントメッセージングのためのシステムおよび方法
US11004087B1 (en) * 2020-06-08 2021-05-11 Coupang Corp. Systems and methods for processing exception event request to identify defective product
KR102501496B1 (ko) * 2020-06-11 2023-02-20 라인플러스 주식회사 개인화를 통한 연합 학습의 다중 모델 제공 방법, 시스템, 및 컴퓨터 프로그램
US11222075B2 (en) 2020-06-12 2022-01-11 Earley Information Science, Inc. Digital data processing systems and methods for digital content retrieval and generation
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
US11290851B2 (en) * 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
WO2021257546A1 (en) * 2020-06-15 2021-12-23 Strongarm Technologies, Inc. Methods and apparatus for actions, activities and tasks classifications based on machine learning techniques
US11803400B2 (en) * 2020-06-25 2023-10-31 International Business Machines Corporation Method and system for asynchronous notifications for users in contextual interactive systems
US11900323B1 (en) * 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11550605B2 (en) * 2020-06-30 2023-01-10 Kasisto, Inc. Building and managing cohesive interaction for virtual assistants
EP3963511A1 (en) * 2020-07-20 2022-03-09 Google LLC Unsupervised federated learning of machine learning model layers
US11641330B2 (en) * 2020-08-06 2023-05-02 International Business Machines Corporation Communication content tailoring
US11861470B2 (en) * 2020-08-13 2024-01-02 State Farm Mutual Automobile Insurance Company Simplistic machine learning model generation tool for predictive data analytics
US11909482B2 (en) * 2020-08-18 2024-02-20 Qualcomm Incorporated Federated learning for client-specific neural network parameter generation for wireless communication
US11996116B2 (en) * 2020-08-24 2024-05-28 Google Llc Methods and systems for implementing on-device non-semantic representation fine-tuning for speech classification
WO2022043675A2 (en) * 2020-08-24 2022-03-03 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
JP2022046316A (ja) * 2020-09-10 2022-03-23 キヤノン株式会社 情報提示システム、その制御方法、および、プログラム
US20220083986A1 (en) * 2020-09-14 2022-03-17 Apple Inc. Digital assistant-enabled daily briefings
US20220083917A1 (en) * 2020-09-15 2022-03-17 Vmware, Inc. Distributed and federated learning using multi-layer machine learning models
US11355118B2 (en) * 2020-09-15 2022-06-07 Kyndryl, Inc. Virtual assistants harmonization
KR20220037846A (ko) * 2020-09-18 2022-03-25 삼성전자주식회사 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법
US20220093086A1 (en) * 2020-09-18 2022-03-24 Prama, Inc. Method and a system for capturing conversations
US11908468B2 (en) * 2020-09-21 2024-02-20 Amazon Technologies, Inc. Dialog management for multiple users
US11881214B1 (en) * 2020-09-23 2024-01-23 Amazon Technologies, Inc. Sending prompt data related to content output on a voice-controlled device
US11567625B2 (en) * 2020-09-24 2023-01-31 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11615596B2 (en) 2020-09-24 2023-03-28 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US20220100726A1 (en) * 2020-09-25 2022-03-31 Microstrategy Incorporated Real time data aggregation and analysis
US11431660B1 (en) * 2020-09-25 2022-08-30 Conversation Processing Intelligence Corp. System and method for collaborative conversational AI
US11934487B2 (en) * 2020-09-30 2024-03-19 EMC IP Holding Company LLC Splitting neural networks on multiple edge devices to train on vertically distributed data
US11537661B2 (en) * 2020-10-02 2022-12-27 PolyAI Limited Systems and methods for conversing with a user
EP4191578A4 (en) * 2020-10-07 2024-01-17 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND METHOD FOR ACQUIRING PARAMETERS TO UNDERSTAND A NATURAL LANGUAGE
US11756551B2 (en) * 2020-10-07 2023-09-12 Mitsubishi Electric Research Laboratories, Inc. System and method for producing metadata of an audio signal
US20220121694A1 (en) * 2020-10-20 2022-04-21 Unisys Corporation Semantic search and response
US12106760B2 (en) * 2020-10-22 2024-10-01 Capital One Services, Llc Systems and methods using natural language processing to identify irregularities in a user utterance
US11188833B1 (en) * 2020-11-05 2021-11-30 Birdview Films. Llc Real-time predictive knowledge pattern machine
US20220147547A1 (en) * 2020-11-12 2022-05-12 International Business Machines Corporation Analogy based recognition
US11670104B1 (en) * 2020-11-13 2023-06-06 Amazon Technologies, Inc. System for determining embedding from multiple inputs
US20220215357A1 (en) * 2020-11-17 2022-07-07 Paul Ashley Systems, apparatuses, interfaces, and applications of person specific funding instruments on specified celebration days and methods for implementing and using same
US20220156574A1 (en) * 2020-11-19 2022-05-19 Kabushiki Kaisha Toshiba Methods and systems for remote training of a machine learning model
US11769018B2 (en) * 2020-11-24 2023-09-26 Openstream Inc. System and method for temporal attention behavioral analysis of multi-modal conversations in a question and answer system
US20220189475A1 (en) * 2020-12-10 2022-06-16 International Business Machines Corporation Dynamic virtual assistant speech modulation
US11563706B2 (en) * 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US11790611B2 (en) * 2020-12-30 2023-10-17 Meta Platforms, Inc. Visual editor for designing augmented-reality effects that utilize voice recognition
CA3143855A1 (en) * 2020-12-30 2022-06-30 Atb Financial Systems and methods for federated learning on blockchain
US20230274095A1 (en) * 2021-01-11 2023-08-31 Gotlt! Inc. Autonomous conversational ai system without any configuration by a human
US11943184B2 (en) * 2021-01-21 2024-03-26 Samsung Electronics Co., Ltd. Device and method for providing notification message related to content
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
CN112836039B (zh) * 2021-01-27 2023-04-21 成都网安科技发展有限公司 基于深度学习的语音数据处理方法和装置
US12057116B2 (en) * 2021-01-29 2024-08-06 Salesforce, Inc. Intent disambiguation within a virtual agent platform
CN114881715A (zh) * 2021-02-05 2022-08-09 阿里巴巴集团控股有限公司 文本生成方法及装置
KR20220119219A (ko) * 2021-02-19 2022-08-29 삼성전자주식회사 온디바이스 인공지능 서비스를 제공하는 전자 장치 및 방법
US11960842B2 (en) 2021-02-27 2024-04-16 Walmart Apollo, Llc Methods and apparatus for natural language understanding in conversational systems using machine learning processes
US20220277142A1 (en) * 2021-02-27 2022-09-01 Walmart Apollo, Llc Methods and apparatus for natural language understanding in conversational systems using machine learning processes
US20220277031A1 (en) * 2021-03-01 2022-09-01 International Business Machines Corporation Guided exploration for conversational business intelligence
US20220286428A1 (en) * 2021-03-08 2022-09-08 Zscaler, Inc. Cloud-based 5G security network architectures with workload isolation
US12073323B2 (en) * 2021-03-10 2024-08-27 Rockspoon, Inc. System and method for intelligent service intermediation
US11749261B2 (en) * 2021-03-10 2023-09-05 Google Llc Mixed client-server federated learning of machine learning model(s)
US11755954B2 (en) * 2021-03-11 2023-09-12 International Business Machines Corporation Scheduled federated learning for enhanced search
US20220300618A1 (en) * 2021-03-16 2022-09-22 Accenture Global Solutions Limited Privacy preserving cooperative learning in untrusted environments
JP7420109B2 (ja) * 2021-04-08 2024-01-23 トヨタ自動車株式会社 情報出力システム、サーバ装置および情報出力方法
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US12118790B2 (en) 2021-04-21 2024-10-15 Meta Platforms, Inc. Auto-capture of interesting moments by assistant systems
CN113435205B (zh) * 2021-04-29 2024-09-27 北京小米移动软件有限公司 语义解析方法及装置
EP4083865A1 (en) * 2021-04-30 2022-11-02 Degussa Bank AG Method and system for providing virtual services
US11750731B2 (en) * 2021-05-17 2023-09-05 Capital One Services, Llc Machine learning for determining communication protocols
CN113222031B (zh) * 2021-05-19 2022-04-12 浙江大学 基于联邦个性化学习的光刻热区检测方法
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11238849B1 (en) 2021-05-31 2022-02-01 Rockspoon, Inc. System and method for federated, context-sensitive, adaptive language models
US11568860B2 (en) * 2021-05-31 2023-01-31 Rockspoon, Inc. System and method for federated, context-sensitive, acoustic model refinement
CN113377907B (zh) * 2021-06-08 2023-06-09 四川大学 基于记忆掩码自注意力网络的端到端任务型对话系统
US11935543B2 (en) * 2021-06-08 2024-03-19 Openstream Inc. System and method for cooperative plan-based utterance-guided multimodal dialogue
US11593819B2 (en) * 2021-06-09 2023-02-28 Maplebear Inc. Training a model to predict likelihoods of users performing an action after being presented with a content item
CN113283177B (zh) * 2021-06-16 2022-05-24 江南大学 一种基于异步联邦学习的移动感知缓存方法
CN113391907B (zh) * 2021-06-25 2024-08-06 中债金科信息技术有限公司 一种任务的放置方法、装置、设备和介质
US11354599B1 (en) * 2021-06-25 2022-06-07 BRYTER GmbH Methods and systems for generating a data structure using graphical models
CN113177645B (zh) * 2021-06-29 2021-09-28 腾讯科技(深圳)有限公司 联邦学习方法、装置、计算设备及存储介质
US20230004948A1 (en) * 2021-06-30 2023-01-05 Earley Information Science, Inc. Digital data processing systems and methods for commerce-related digital content retrieval and generation
US12019627B2 (en) * 2021-07-05 2024-06-25 International Business Machines Corporation Automatically and incrementally specifying queries through dialog understanding in real time
CN113392933B (zh) * 2021-07-06 2022-04-15 湖南大学 一种基于不确定性引导的自适应跨域目标检测方法
EP4367569A1 (en) * 2021-07-07 2024-05-15 Meta Platforms Technologies, Llc Camera control using system sensor data
US12101549B2 (en) 2021-07-07 2024-09-24 Meta Platforms Technologies, Llc Camera control using system sensor data
US20230008868A1 (en) * 2021-07-08 2023-01-12 Nippon Telegraph And Telephone Corporation User authentication device, user authentication method, and user authentication computer program
CN118175962A (zh) * 2021-07-09 2024-06-11 纽约大学 用于脑机接口辅助的气味检测动物的联合训练的系统和方法
CN113435399B (zh) * 2021-07-14 2022-04-15 电子科技大学 一种基于多层次排序学习的多轮视觉对话方法
US11854069B2 (en) * 2021-07-16 2023-12-26 Snap Inc. Personalized try-on ads
US20230020504A1 (en) * 2021-07-16 2023-01-19 Whitestar Communications, Inc. Localized machine learning of user behaviors in network operating system for enhanced secure services in secure data network
US20230027713A1 (en) * 2021-07-21 2023-01-26 International Business Machines Corporation Neural-Symbolic Action Transformers for Video Question Answering
CN113537514B (zh) * 2021-07-27 2023-07-25 北京邮电大学 一种高能效的基于数字孪生的联邦学习框架
US20230032167A1 (en) * 2021-07-29 2023-02-02 Bank Of America Corporation Agent assist design - autoplay
US20230038691A1 (en) * 2021-08-05 2023-02-09 Yaar Inc. Workflow instruction interpretation for web task automation
US11823697B2 (en) * 2021-08-20 2023-11-21 Google Llc Improving speech recognition with speech synthesis-based model adapation
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US12073180B2 (en) 2021-08-24 2024-08-27 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989527B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US12067362B2 (en) 2021-08-24 2024-08-20 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989507B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11948580B2 (en) * 2021-08-30 2024-04-02 Google Llc Collaborative ranking of interpretations of spoken utterances
WO2023033849A1 (en) * 2021-08-30 2023-03-09 Google Llc Collaborative ranking of interpretations of spoken utterances
EP4396696A1 (en) * 2021-08-31 2024-07-10 Yohana LLC Automated cognitive load-based task throttling
CN113723619B (zh) * 2021-08-31 2024-06-21 南京大学 一种基于训练阶段感知策略的联邦学习训练方法
US11942075B2 (en) * 2021-09-24 2024-03-26 Openstream Inc. System and method for automated digital twin behavior modeling for multimodal conversations
CN113762530B (zh) * 2021-09-28 2024-02-02 北京航空航天大学 面向隐私保护的精度反馈联邦学习方法
WO2023064074A1 (en) * 2021-10-14 2023-04-20 Microsoft Technology Licensing, Llc. Grounded multimodal agent interactions
EP4170449B1 (en) * 2021-10-22 2024-01-31 Tata Consultancy Services Limited System and method for ontology guided indoor scene understanding for cognitive robotic tasks
US20230132465A1 (en) * 2021-10-31 2023-05-04 Bmc Software, Inc. Automated skill discovery, skill level computation, and intelligent matching using generated hierarchical skill paths
US20230143133A1 (en) * 2021-11-10 2023-05-11 Meta Platforms, Inc. Intelligently enhancing media content items
US12045568B1 (en) 2021-11-12 2024-07-23 Meta Platforms, Inc. Span pointer networks for non-autoregressive task-oriented semantic parsing for assistant systems
US20230156314A1 (en) * 2021-11-15 2023-05-18 Meta Platforms Technologies, Llc Gaze-based camera auto-capture
US11531943B1 (en) 2021-11-18 2022-12-20 Slate Technologies Inc. Intelligence driven method and system for multi-factor optimization of schedules and resource recommendations for smart construction
WO2023090951A1 (en) * 2021-11-19 2023-05-25 Samsung Electronics Co., Ltd. Methods and systems for suggesting an enhanced multimodal interaction
US11671385B1 (en) * 2021-12-07 2023-06-06 International Business Machines Corporation Automated communication exchange programs for attended robotic process automation
US12035256B2 (en) * 2021-12-07 2024-07-09 Qualcomm Incorporated Power control in over the air aggregation for federated learning
US20230222293A1 (en) * 2022-01-10 2023-07-13 Capital One Services, Llc Systems and methods for generating a user acknowledgment
US11972280B2 (en) * 2022-01-28 2024-04-30 Intuit Inc. Graphical user interface for conversational task completion
WO2023159072A1 (en) * 2022-02-15 2023-08-24 The Board Of Trustees Of The Leland Stanford Junior University Personalized machine learning on mobile computing devices
US11997425B1 (en) 2022-02-17 2024-05-28 Asana, Inc. Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment
US12118514B1 (en) 2022-02-17 2024-10-15 Asana, Inc. Systems and methods to generate records within a collaboration environment based on a machine learning model trained from a text corpus
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11868686B2 (en) 2022-03-04 2024-01-09 Slate Technologies Inc. System and method for manufacture and customization of construction assemblies in a computing environment
US20230297605A1 (en) * 2022-03-16 2023-09-21 Asapp, Inc. Generating a conversation summary using a label space
WO2023183914A1 (en) 2022-03-25 2023-09-28 OrangeDot, Inc. Method and system for automatically determining responses in a messaging platform
US11907885B1 (en) * 2022-03-29 2024-02-20 Slate Technologies Inc. System and method for computational simulation and augmented/virtual reality in a construction environment
US12020689B2 (en) * 2022-04-12 2024-06-25 International Business Machines Corporation Method to improve digital agent conversations
US20230342542A1 (en) * 2022-04-22 2023-10-26 Dell Products L.P. Automated document parsing to determine common component identifiers for consolidation of component orders
US20230350928A1 (en) * 2022-04-28 2023-11-02 Knowbl LLC Systems and methods for implementing a virtual agent performing context and query transformations using unsupervised machine learning models
WO2023212162A1 (en) * 2022-04-28 2023-11-02 Theai, Inc. Artificial intelligence character models with goal-oriented behavior
FR3135372A1 (fr) * 2022-05-03 2023-11-10 Orange Procédés et dispositifs permettant une interaction enrichie entre un véhicule connecté et un agent conversationnel.
WO2023219896A1 (en) * 2022-05-11 2023-11-16 OrangeDot, Inc. Method and system for automatically prioritizing content provided to a user
US11843899B1 (en) 2022-06-01 2023-12-12 Cisco Technology, Inc. Meeting-transparent sound triggers and controls
US20230401497A1 (en) * 2022-06-09 2023-12-14 Vmware, Inc. Event recommendations using machine learning
US11968221B2 (en) * 2022-06-27 2024-04-23 International Business Machines Corporation Dynamically federated data breach detection
US20240020716A1 (en) * 2022-07-14 2024-01-18 Oracle International Corporation Machine Learning Based Federated Learning with Hierarchical Modeling Hotel Upsell
US11988841B2 (en) * 2022-08-02 2024-05-21 Snap Inc. Voice input for AR wearable devices
CN115146615A (zh) * 2022-09-02 2022-10-04 深圳联友科技有限公司 一种自然语言处理方法、系统、设备和可读存储介质
US12020138B2 (en) 2022-09-07 2024-06-25 Google Llc Generating audio using auto-regressive generative neural networks
WO2024064228A1 (en) * 2022-09-23 2024-03-28 Cipherome, Inc. Interoperable privacy-preserving distributed machine learning method for healthcare applications for heterogenous multi-center data
WO2024077082A1 (en) * 2022-10-04 2024-04-11 Home Depot International, Inc. Machine learning-based user intent determination
US20240152992A1 (en) * 2022-11-07 2024-05-09 Citizens Financial Group, Inc. Data intelligence platform
DE102022129747A1 (de) 2022-11-10 2024-05-16 Cariad Se Verfahren und system zum anlernen einer intelligenten funktion von kraftfahrzeugen
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals
WO2024137131A1 (en) * 2022-12-19 2024-06-27 Microsoft Technology Licensing, Llc Prompt generation simulating fine-tuning for a machine learning model
US12112001B1 (en) 2023-03-14 2024-10-08 Meta Platforms, Inc. Preventing false activations based on don/doff detection for assistant systems
US20240321269A1 (en) * 2023-03-22 2024-09-26 Meta Platforms, Inc. Generating Contextual Responses for Out-of-coverage Requests for Assistant Systems
CN116089593B (zh) * 2023-03-24 2023-06-13 齐鲁工业大学(山东省科学院) 基于时序特征筛选编码模块的多回合人机对话方法和装置
US20240330766A1 (en) * 2023-03-28 2024-10-03 Google Llc Filtering for mixing server-based and federated learning
US12093299B1 (en) 2023-03-30 2024-09-17 Dropbox, Inc. Generating and summarizing content blocks within a virtual space interface
US12088667B1 (en) 2023-03-30 2024-09-10 Dropbox, Inc. Generating and managing multilocational data blocks
US12007963B1 (en) 2023-04-25 2024-06-11 Bank Of America Corporation System and method for processing resources and associated metadata in the metaverse using knowledge graphs
US12050962B1 (en) 2023-07-13 2024-07-30 Bank Of America Corporation System and method for implementing dynamic operation identifier
KR102691523B1 (ko) * 2023-11-29 2024-08-06 주식회사 스마트코어 연합 학습 기반 글로벌 모델 생성 과정에서 비즈니스 목적에 대한 적합성 지수를 획득하는 방법 및 그를 이용하는 서버

Family Cites Families (358)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3706503A (en) 1969-06-30 1972-12-19 James P Foley Leaf binding
US5567805A (en) 1990-03-09 1996-10-22 Administrators Of The Tulane Educational Fund The cellular receptor for the CS3 peptide of human immunodeficiency virus
US5809492A (en) 1996-04-09 1998-09-15 At&T Corp. Apparatus and method for defining rules for personal agents
US7421432B1 (en) 1999-12-15 2008-09-02 Google Inc. Hypertext browser assistant
US6760412B1 (en) 1999-12-21 2004-07-06 Nortel Networks Limited Remote reminder of scheduled events
WO2001050720A1 (en) 1999-12-29 2001-07-12 Koninklijke Kpn N.V. Electronic call assistants with shared database
US7831616B2 (en) 2000-04-27 2010-11-09 Webfeat, Inc. Systems and methods for managing database authentication and sessions
NL1015165C2 (nl) 2000-05-12 2001-11-13 Koninkl Kpn Nv Communicatiesysteem.
US6567805B1 (en) 2000-05-15 2003-05-20 International Business Machines Corporation Interactive automated response system
US6462660B1 (en) 2001-01-25 2002-10-08 Agere Systems Guardian Corp. Wireless piconet-based personal electronic property reminder
US7158678B2 (en) 2001-07-19 2007-01-02 Motorola, Inc. Text input method for personal digital assistants and the like
US6982748B2 (en) 2002-02-25 2006-01-03 Koninklijke Philips Electronics N.V. Automatically switched camera system with indicator for notifying the next subject of the camera system
US7184985B2 (en) 2002-05-30 2007-02-27 Microsoft Corporation Method, system, and apparatus for providing secure access to a digital work
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7693720B2 (en) 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
US7228275B1 (en) 2002-10-21 2007-06-05 Toyota Infotechnology Center Co., Ltd. Speech recognition system having multiple speech recognizers
US7124123B1 (en) 2003-06-30 2006-10-17 America Online, Inc. Intelligent processing in the context of away and offline instant messages
US9380269B2 (en) 2003-09-23 2016-06-28 Time Warner Cable Enterprises Llc Scheduling trigger apparatus and method
US7478171B2 (en) 2003-10-20 2009-01-13 International Business Machines Corporation Systems and methods for providing dialog localization in a distributed environment and enabling conversational communication using generalized user gestures
US20050273493A1 (en) 2004-06-04 2005-12-08 John Buford Proximity reminder system using instant messaging and presence
US20060069678A1 (en) 2004-09-30 2006-03-30 Wu Chou Method and apparatus for text classification using minimum classification error to train generalized linear classifier
US8069422B2 (en) 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US7640507B2 (en) 2005-02-28 2009-12-29 At&T Intellectual Property I, L.P. Methods, systems, and products for calendaring applications
US20060212757A1 (en) 2005-03-15 2006-09-21 International Business Machines Corporation Method, system, and program product for managing computer-based interruptions
US7693829B1 (en) 2005-04-25 2010-04-06 Google Inc. Search engine with fill-the-blanks capability
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7647228B2 (en) 2005-11-03 2010-01-12 Apptera, Inc. Method and apparatus for speech processing incorporating user intent
US8204751B1 (en) 2006-03-03 2012-06-19 At&T Intellectual Property Ii, L.P. Relevance recognition for a human machine dialog system contextual question answering based on a normalization of the length of the user input
US7385875B2 (en) 2006-04-03 2008-06-10 Research In Motion Limited Dismiss all event reminders
US8228824B2 (en) 2006-04-06 2012-07-24 Microsoft Corporation VoIP contextual information processing
US20100088793A1 (en) 2006-06-06 2010-04-15 Livio Ghisleni Face and antiglare protection device for persons working in sites involving hazardous, damaging or disturbing radiation, especially welders
US20080027917A1 (en) 2006-07-31 2008-01-31 Siemens Corporate Research, Inc. Scalable Semantic Image Search
US20080240379A1 (en) 2006-08-03 2008-10-02 Pudding Ltd. Automatic retrieval and presentation of information relevant to the context of a user's conversation
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7984440B2 (en) 2006-11-17 2011-07-19 Sap Ag Interactive audio task system with interrupt recovery and confirmations
US7991724B2 (en) 2006-12-21 2011-08-02 Support Machines Ltd. Method and a computer program product for providing a response to a statement of a user
US8139755B2 (en) 2007-03-27 2012-03-20 Convergys Cmg Utah, Inc. System and method for the automatic selection of interfaces
US9794348B2 (en) 2007-06-04 2017-10-17 Todd R. Smith Using voice commands from a mobile device to remotely access and control a computer
US8601131B1 (en) * 2007-09-28 2013-12-03 Emc Corporation Active element manager
US8032480B2 (en) 2007-11-02 2011-10-04 Hunch Inc. Interactive computing advice facility with learning based on user feedback
US7958066B2 (en) 2007-11-02 2011-06-07 Hunch Inc. Interactive machine learning advice facility
US9159034B2 (en) 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US7983997B2 (en) 2007-11-02 2011-07-19 Florida Institute For Human And Machine Cognition, Inc. Interactive complex task teaching system that allows for natural language input, recognizes a user's intent, and automatically performs tasks in document object model (DOM) nodes
US11263543B2 (en) 2007-11-02 2022-03-01 Ebay Inc. Node bootstrapping in a social graph
US8666909B2 (en) 2007-11-02 2014-03-04 Ebay, Inc. Interestingness recommendations in a computing advice facility
US8219670B2 (en) 2007-11-08 2012-07-10 University Of Maryland System and method for adaptive context aware interaction of user with entity of interest
US8140335B2 (en) 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
WO2013029032A1 (en) 2011-08-25 2013-02-28 Synabee, Inc. Episodic social networks
US20130215116A1 (en) 2008-03-21 2013-08-22 Dressbot, Inc. System and Method for Collaborative Shopping, Business and Entertainment
KR101462930B1 (ko) 2008-04-30 2014-11-19 엘지전자 주식회사 이동 단말기 및 그 화상통화 제어방법
JP5530729B2 (ja) 2009-01-23 2014-06-25 本田技研工業株式会社 音声理解装置
US8539359B2 (en) 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8335754B2 (en) 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
US10269021B2 (en) 2009-04-20 2019-04-23 4-Tell, Inc. More improvements in recommendation systems
US10042032B2 (en) 2009-04-29 2018-08-07 Amazon Technologies, Inc. System and method for generating recommendations based on similarities between location information of multiple users
US8537003B2 (en) 2009-05-20 2013-09-17 Microsoft Corporation Geographic reminders
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9610502B2 (en) 2009-07-10 2017-04-04 International Business Machines Corporation Use of real time location information for user authentication and authorization in virtual environments
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US20110181517A1 (en) 2010-01-22 2011-07-28 Research In Motion Limited Providing a Prompt for Entry of Information at a Later Time
US8478581B2 (en) 2010-01-25 2013-07-02 Chung-ching Chen Interlingua, interlingua engine, and interlingua machine translation system
US20130278631A1 (en) * 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110246383A1 (en) 2010-03-30 2011-10-06 Microsoft Corporation Summary presentation of media consumption
US9235268B2 (en) 2010-04-09 2016-01-12 Nokia Technologies Oy Method and apparatus for generating a virtual interactive workspace
US9098808B1 (en) 2010-04-22 2015-08-04 Google Inc. Social search engine
CN102262632B (zh) 2010-05-28 2014-03-19 国际商业机器公司 进行文本处理的方法和系统
US8473289B2 (en) 2010-08-06 2013-06-25 Google Inc. Disambiguating input based on context
US8812321B2 (en) 2010-09-30 2014-08-19 At&T Intellectual Property I, L.P. System and method for combining speech recognition outputs from a plurality of domain-specific speech recognizers via machine learning
US8862146B2 (en) 2010-10-04 2014-10-14 Blackberry Limited Method, device and system for enhancing location information
AU2011329596A1 (en) 2010-11-18 2013-06-06 Google Inc. Contextual history of computing objects
WO2012116236A2 (en) 2011-02-23 2012-08-30 Nova Spivack System and method for analyzing messages in a network or across networks
US20160187654A1 (en) 2011-02-28 2016-06-30 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a light transmissive wedge shaped illumination system
US20120246191A1 (en) 2011-03-24 2012-09-27 True Xiong World-Wide Video Context Sharing
US8766793B2 (en) * 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
US9398347B2 (en) 2011-05-30 2016-07-19 Sandvine Incorporated Ulc Systems and methods for measuring quality of experience for media streaming
WO2013010024A1 (en) 2011-07-12 2013-01-17 Thomas Pinckney Recommendations in a computing advice facility
US10559019B1 (en) * 2011-07-19 2020-02-11 Ken Beauvais System for centralized E-commerce overhaul
US9015031B2 (en) 2011-08-04 2015-04-21 International Business Machines Corporation Predicting lexical answer types in open domain question and answering (QA) systems
US20130218766A1 (en) 2011-08-18 2013-08-22 Michael Mueller Mobile Transactions and Payments
US9830050B2 (en) 2011-11-23 2017-11-28 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing a reminder regarding a feed item of a feed of an online social network
US9154739B1 (en) 2011-11-30 2015-10-06 Google Inc. Physical training assistant system
US9418658B1 (en) 2012-02-08 2016-08-16 Amazon Technologies, Inc. Configuration of voice controlled assistant
US10235346B2 (en) 2012-04-06 2019-03-19 Hmbay Patents Llc Method and apparatus for inbound message summarization using message clustering and message placeholders
US9078040B2 (en) 2012-04-12 2015-07-07 Time Warner Cable Enterprises Llc Apparatus and methods for enabling media options in a content delivery network
US9060224B1 (en) 2012-06-01 2015-06-16 Rawles Llc Voice controlled assistant with coaxial speaker and microphone arrangement
US9299059B1 (en) 2012-06-07 2016-03-29 Google Inc. Generating a summary of social media content
US9747895B1 (en) 2012-07-10 2017-08-29 Google Inc. Building language models for a user in a social network from linguistic information
US20140058679A1 (en) 2012-08-23 2014-02-27 Apple Inc. Wake Status Detection for Suppression and Initiation of Notifications
US9680959B2 (en) 2012-08-30 2017-06-13 Google Inc. Recommending content based on intersecting user interest profiles
US20140067455A1 (en) 2012-08-30 2014-03-06 Palo Alto Research Center Incorporated Method and apparatus for automatically managing user activities using contextual information
US9424840B1 (en) 2012-08-31 2016-08-23 Amazon Technologies, Inc. Speech recognition platforms
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US20150143258A1 (en) 2012-09-20 2015-05-21 Handle, Inc. Email and task management services and user interface
US8983383B1 (en) 2012-09-25 2015-03-17 Rawles Llc Providing hands-free service to multiple devices
US9406103B1 (en) 2012-09-26 2016-08-02 Amazon Technologies, Inc. Inline message alert
US8782777B2 (en) 2012-09-27 2014-07-15 International Business Machines Corporation Use of synthetic context-based objects to secure data stores
US10096316B2 (en) 2013-11-27 2018-10-09 Sri International Sharing intents to provide virtual assistance in a multi-person dialog
US11397462B2 (en) 2012-09-28 2022-07-26 Sri International Real-time human-machine collaboration using big data driven augmented reality technologies
US9486070B2 (en) 2012-10-10 2016-11-08 Stirworks Inc. Height-adjustable support surface and system for encouraging human movement and promoting wellness
US9087402B2 (en) 2013-03-13 2015-07-21 Microsoft Technology Licensing, Llc Augmenting images with higher resolution data
US9001180B2 (en) 2012-10-15 2015-04-07 Bank Of America Corporation Multiple-participant customer service conference
US10249006B2 (en) 2012-11-09 2019-04-02 Microsoft Technology Licensing, Llc Providing social context to calendar events
WO2014142702A1 (en) 2013-03-15 2014-09-18 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speaktoit" Selective speech recognition for chat and digital personal assistant systems
US20140164506A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message having portions of networked media content
US9070366B1 (en) 2012-12-19 2015-06-30 Amazon Technologies, Inc. Architecture for multi-domain utterance processing
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US20140236678A1 (en) * 2013-02-19 2014-08-21 Visa International Service Association Systems and methods to enhance search via transaction data
US9414004B2 (en) 2013-02-22 2016-08-09 The Directv Group, Inc. Method for combining voice signals to form a continuous conversation in performing a voice search
US9172747B2 (en) 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US9854084B2 (en) 2013-03-06 2017-12-26 Google Llc Contextual alarm and notification management
US9761225B2 (en) 2013-03-11 2017-09-12 Nuance Communications, Inc. Semantic re-ranking of NLU results in conversational dialogue applications
US20140280017A1 (en) 2013-03-12 2014-09-18 Microsoft Corporation Aggregations for trending topic summarization
US10140668B2 (en) 2013-03-13 2018-11-27 International Business Machines Corporation Gifting enabled by integration of commerce and social networks
US9659577B1 (en) 2013-03-14 2017-05-23 Amazon Technologies, Inc. Voice controlled assistant with integrated control knob
US10748529B1 (en) * 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9196084B2 (en) 2013-03-15 2015-11-24 Urc Ventures Inc. Determining object volume from mobile device images
CN104321220B (zh) 2013-04-15 2017-03-08 自动连接控股有限责任公司 作为模板存储的用户简档的访问和便携性
US9304736B1 (en) 2013-04-18 2016-04-05 Amazon Technologies, Inc. Voice controlled assistant with non-verbal code entry
US9460406B1 (en) 2013-05-15 2016-10-04 Ca, Inc. Management of event reminder notifications based on conflicting events
US10692166B2 (en) 2013-05-20 2020-06-23 Visualimits, Llc Casino table games with interactive content
KR102369784B1 (ko) 2013-06-07 2022-03-03 애플 인크. 지능형 자동 어시스턴트
US9472206B2 (en) 2013-06-17 2016-10-18 Google Technology Holdings LLC Privacy mode for always-on voice-activated information assistant
US9881077B1 (en) 2013-08-08 2018-01-30 Google Llc Relevance determination and summary generation for news objects
US9338242B1 (en) 2013-09-09 2016-05-10 Amazon Technologies, Inc. Processes for generating content sharing recommendations
US9953079B2 (en) 2013-09-17 2018-04-24 International Business Machines Corporation Preference based system and method for multiple feed aggregation and presentation
US10134395B2 (en) 2013-09-25 2018-11-20 Amazon Technologies, Inc. In-call virtual assistants
US9204065B2 (en) * 2013-10-28 2015-12-01 Nokia Corporation Removing noise generated from a non-audio component
US9754591B1 (en) 2013-11-18 2017-09-05 Amazon Technologies, Inc. Dialog management context sharing
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US10162813B2 (en) 2013-11-21 2018-12-25 Microsoft Technology Licensing, Llc Dialogue evaluation via multiple hypothesis ranking
US20150169744A1 (en) 2013-12-12 2015-06-18 Flipboard, Inc. Selecting Diverse, Relevant Content From Multiple Content Feeds
US9804820B2 (en) 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9479931B2 (en) 2013-12-16 2016-10-25 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US10811013B1 (en) 2013-12-20 2020-10-20 Amazon Technologies, Inc. Intent-specific automatic speech recognition result generation
US10181322B2 (en) 2013-12-20 2019-01-15 Microsoft Technology Licensing, Llc Multi-user, multi-domain dialog system
US9536522B1 (en) 2013-12-30 2017-01-03 Google Inc. Training a natural language processing model with information retrieval model annotations
US9424247B1 (en) 2013-12-31 2016-08-23 Google Inc. Associating one or more terms in a message trail with a task entry
US10088972B2 (en) 2013-12-31 2018-10-02 Verint Americas Inc. Virtual assistant conversations
US20150207765A1 (en) 2014-01-17 2015-07-23 Nathaniel Brantingham Messaging Service with Conversation Suggestions
KR102133014B1 (ko) 2014-01-20 2020-07-10 삼성전자주식회사 멀티미디어 서비스를 이용한 통화 장치, 방법 및 시스템
US20150227972A1 (en) 2014-02-07 2015-08-13 Huang (Joy) Tang System and methods for identifying and promoting tagged commercial products
US20150324688A1 (en) 2014-05-12 2015-11-12 Qualcomm Incorporated Customized classifier over common features
US9679558B2 (en) 2014-05-15 2017-06-13 Microsoft Technology Licensing, Llc Language modeling for conversational understanding domains using semantic web resources
US10726831B2 (en) 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
EP3146461A1 (en) 2014-05-23 2017-03-29 Catchoom Technologies S.L. Offline, hybrid and hybrid with offline image recognition
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9690771B2 (en) 2014-05-30 2017-06-27 Nuance Communications, Inc. Automated quality assurance checks for improving the construction of natural language understanding systems
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10120955B2 (en) 2014-07-18 2018-11-06 Nuance Communications, Inc. State tracking over machine-learned relational trees in a dialog system
EP3757928A1 (en) 2014-07-31 2020-12-30 Samsung Electronics Co., Ltd. Message service providing device and method of providing content via the same
US9767794B2 (en) 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
US9325939B2 (en) 2014-08-14 2016-04-26 Verizon Patent And Licensing Inc. Method and system for providing gaze-directed correction during a video conferencing session
US10255365B2 (en) 2014-08-29 2019-04-09 Facebook, Inc. Priming search results on online social networks
US9189514B1 (en) 2014-09-04 2015-11-17 Lucas J. Myslinski Optimized fact checking method and system
US9607102B2 (en) 2014-09-05 2017-03-28 Nuance Communications, Inc. Task switching in dialogue processing
US10235996B2 (en) 2014-10-01 2019-03-19 XBrain, Inc. Voice and connection platform
US10540347B2 (en) 2014-10-27 2020-01-21 Nuance Communications, Inc. Contextual search disambiguation
US10334158B2 (en) 2014-11-03 2019-06-25 Robert John Gove Autonomous media capturing
US10192549B2 (en) 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
CN107209549B (zh) 2014-12-11 2020-04-17 微软技术许可有限责任公司 能够实现可动作的消息传送的虚拟助理系统
US9473643B2 (en) 2014-12-18 2016-10-18 Intel Corporation Mute detector
US20160196490A1 (en) 2015-01-02 2016-07-07 International Business Machines Corporation Method for Recommending Content to Ingest as Corpora Based on Interaction History in Natural Language Question and Answering Systems
US10719786B1 (en) 2015-01-09 2020-07-21 Facebook, Inc. Event ticketing in online social networks
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US9508339B2 (en) 2015-01-30 2016-11-29 Microsoft Technology Licensing, Llc Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
US10515344B1 (en) 2015-02-10 2019-12-24 Open Invention Network Llc Location awareness assistant that activates a business-oriented operation system or a personal-oriented operation system based on conditions
US10671954B2 (en) 2015-02-23 2020-06-02 Google Llc Selective reminders to complete interrupted tasks
KR102551134B1 (ko) 2015-02-27 2023-07-05 키포인트 테크놀로지스 인디아 프라이비트 리미티드 컨텍스트 발견
US10482184B2 (en) 2015-03-08 2019-11-19 Google Llc Context-based natural language processing
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9270941B1 (en) 2015-03-16 2016-02-23 Logitech Europe S.A. Smart video conferencing system
US10418032B1 (en) 2015-04-10 2019-09-17 Soundhound, Inc. System and methods for a virtual assistant to manage and use context in a natural language dialog
US20160306505A1 (en) 2015-04-17 2016-10-20 Avincel Group, Inc. Computer-implemented methods and systems for automatically creating and displaying instant presentations from selected visual content items
US10218651B2 (en) 2015-04-20 2019-02-26 Oracle International Corporation Virtual assistance for chat agents
EP3101625A3 (en) * 2015-04-30 2016-12-14 Pixia Corp. Method and system of selecting a view from a plurality of cameras
US10417799B2 (en) 2015-05-07 2019-09-17 Facebook, Inc. Systems and methods for generating and presenting publishable collections of related media content items
US20160344818A1 (en) 2015-05-21 2016-11-24 Cazualy, Inc. Systems and methods for multi-user anonymous communication
US9602975B2 (en) * 2015-05-22 2017-03-21 Microsoft Technology Licensing, Llc Intelligent surfacing of reminders
CN112527353B (zh) 2015-05-27 2024-09-13 谷歌有限责任公司 用于增强对话系统的插件的在线市场
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US9792281B2 (en) 2015-06-15 2017-10-17 Microsoft Technology Licensing, Llc Contextual language generation by leveraging language understanding
US10338959B2 (en) 2015-07-13 2019-07-02 Microsoft Technology Licensing, Llc Task state tracking in systems and services
US10157410B2 (en) 2015-07-14 2018-12-18 Ebay Inc. Enhanced shopping actions on a mobile device
EP3122001B1 (en) 2015-07-24 2019-10-23 Facebook, Inc. Providing personal assistant service via messaging
US10686738B2 (en) 2015-07-24 2020-06-16 Facebook, Inc. Providing personal assistant service via messaging
US11328261B2 (en) 2015-08-05 2022-05-10 Vivint, Inc. System and methods for home automation system calendar coordination
US20170038829A1 (en) 2015-08-07 2017-02-09 Microsoft Technology Licensing, Llc Social interaction for remote communication
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
JP6471660B2 (ja) 2015-09-16 2019-02-20 富士ゼロックス株式会社 情報処理装置及びプログラム
KR102437135B1 (ko) 2015-09-23 2022-08-29 삼성전자주식회사 이미지를 처리하는 전자 장치 및 그 제어 방법
US10262654B2 (en) 2015-09-24 2019-04-16 Microsoft Technology Licensing, Llc Detecting actionable items in a conversation among participants
CN105204743A (zh) 2015-09-28 2015-12-30 百度在线网络技术(北京)有限公司 用于语音和视频通讯的交互控制方法及装置
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US20170091612A1 (en) 2015-09-30 2017-03-30 Apple Inc. Proactive assistant with memory assistance
US10331899B2 (en) 2015-10-24 2019-06-25 Oracle International Corporation Display of dynamic contextual pivot grid analytics
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
KR102584184B1 (ko) 2015-11-24 2023-10-04 삼성전자주식회사 전자 장치 및 그 제어 방법
US20170169506A1 (en) 2015-12-11 2017-06-15 Capital One Services, Llc Systems and methods for voice-controlled account servicing
WO2017112813A1 (en) 2015-12-22 2017-06-29 Sri International Multi-lingual virtual personal assistant
US10402750B2 (en) 2015-12-30 2019-09-03 Facebook, Inc. Identifying entities using a deep-learning model
US10354653B1 (en) 2016-01-19 2019-07-16 United Services Automobile Association (Usaa) Cooperative delegation for digital assistants
US10055403B2 (en) 2016-02-05 2018-08-21 Adobe Systems Incorporated Rule-based dialog state tracking
US11922313B2 (en) 2016-02-11 2024-03-05 William Marsh Rice University Partitioned machine learning architecture
US10446009B2 (en) 2016-02-22 2019-10-15 Microsoft Technology Licensing, Llc Contextual notification engine
US10348849B2 (en) 2016-02-22 2019-07-09 At&T Mobility Ii Llc Automatic delivery of media content to a device
US9978367B2 (en) 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
WO2017168202A1 (en) 2016-03-27 2017-10-05 Yogesh Chunilal Rathod Identifying & storing followers, following users, viewers, users and connections for user
CN109074292B (zh) 2016-04-18 2021-12-14 谷歌有限责任公司 适当的代理的自动化助理调用
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US20170353469A1 (en) 2016-06-03 2017-12-07 Facebook, Inc. Search-Page Profile
US20190220668A1 (en) 2016-06-06 2019-07-18 Purdue Research Foundation System and method for sentence directed video object codetection
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10462619B2 (en) 2016-06-08 2019-10-29 Google Llc Providing a personal assistant module with a selectively-traversable state machine
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
CN107491469B (zh) 2016-06-11 2020-11-24 苹果公司 智能任务发现
US10395428B2 (en) 2016-06-13 2019-08-27 Sony Interactive Entertainment Inc. HMD transitions for focusing on specific content in virtual-reality environments
US20180006990A1 (en) * 2016-06-30 2018-01-04 Jean Alexandera Munemann Exclusive social network based on consumption of luxury goods
US9807037B1 (en) 2016-07-08 2017-10-31 Asapp, Inc. Automatically suggesting completions of text
US20180018562A1 (en) 2016-07-14 2018-01-18 Cside Japan Inc. Platform for providing task based on deep learning
KR102604552B1 (ko) 2016-07-15 2023-11-22 삼성전자주식회사 단어 임베딩 방법, 단어 임베딩 장치, 음성 인식 방법 및 음성 인식 장치
US10433052B2 (en) 2016-07-16 2019-10-01 Ron Zass System and method for identifying speech prosody
US20180054523A1 (en) 2016-08-16 2018-02-22 Rulai, Inc. Method and system for context sensitive intelligent virtual agents
US10565255B2 (en) 2016-08-24 2020-02-18 Baidu Usa Llc Method and system for selecting images based on user contextual information in response to search queries
US9972318B1 (en) 2016-09-21 2018-05-15 Amazon Technologies, Inc. Interpreting voice commands
US10181114B2 (en) 2016-09-30 2019-01-15 The Toronto-Dominion Bank System and method for generating an interaction request
US20180096072A1 (en) 2016-10-03 2018-04-05 Google Inc. Personalization of a virtual assistant
US20180095636A1 (en) 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US10013980B2 (en) 2016-10-04 2018-07-03 Microsoft Technology Licensing, Llc Combined menu-based and natural-language-based communication with chatbots
US10579688B2 (en) 2016-10-05 2020-03-03 Facebook, Inc. Search ranking and recommendations for online social networks based on reconstructed embeddings
US11392598B2 (en) 2016-10-19 2022-07-19 Ebay Inc. Applying a quantitative range for qualitative terms
US10623783B2 (en) 2016-11-01 2020-04-14 Facebook, Inc. Targeted content during media downtimes
US10585891B2 (en) 2016-11-03 2020-03-10 Soundhound, Inc. Dynamic choice of data sources in natural language query processing
US11037202B2 (en) 2016-12-27 2021-06-15 Paypal, Inc. Contextual data in augmented reality processing for item recommendations
US20180188695A1 (en) 2016-12-30 2018-07-05 Qualcomm Incorporated User location and activity based smart reminders
US10699181B2 (en) 2016-12-30 2020-06-30 Google Llc Virtual assistant generation of group recommendations
US20180189352A1 (en) 2016-12-31 2018-07-05 Entefy Inc. Mixed-grained detection and analysis of user life events for context understanding
US10305916B2 (en) * 2017-01-02 2019-05-28 Monument Labs, Inc. Personal cloud device for digital media
US10932004B2 (en) 2017-01-24 2021-02-23 Adobe Inc. Recommending content based on group collaboration
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
KR102640423B1 (ko) 2017-01-31 2024-02-26 삼성전자주식회사 음성 입력 처리 방법, 이를 지원하는 전자 장치, 및 시스템
US10176800B2 (en) 2017-02-10 2019-01-08 International Business Machines Corporation Procedure dialogs using reinforcement learning
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US11144718B2 (en) 2017-02-28 2021-10-12 International Business Machines Corporation Adaptable processing components
US20180286507A1 (en) 2017-03-28 2018-10-04 Ascensia Diabetes Care Holdings Ag Diabetes management systems, methods and apparatus for user reminders, pattern recognition, and interfaces
US11151992B2 (en) 2017-04-06 2021-10-19 AIBrain Corporation Context aware interactive robot
US10963493B1 (en) 2017-04-06 2021-03-30 AIBrain Corporation Interactive game with robot system
US11188808B2 (en) 2017-04-11 2021-11-30 Lenovo (Singapore) Pte. Ltd. Indicating a responding virtual assistant from a plurality of virtual assistants
AU2018256365A1 (en) 2017-04-19 2019-10-31 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
US20180330725A1 (en) 2017-05-09 2018-11-15 Microsoft Technology Licensing, Llc Intent based speech recognition priming
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10275651B2 (en) 2017-05-16 2019-04-30 Google Llc Resolving automated assistant requests that are based on image(s) and/or other sensor data
US11610579B2 (en) 2017-06-18 2023-03-21 Google Llc Processing natural language using machine learning to determine slot values based on slot descriptors
US10462281B2 (en) 2017-06-30 2019-10-29 Intel Corporation Technologies for user notification suppression
US10552204B2 (en) 2017-07-07 2020-02-04 Google Llc Invoking an automated assistant to perform multiple tasks through an individual command
US10977319B2 (en) 2017-07-10 2021-04-13 Ebay Inc. Expandable service architecture with configurable dialogue manager
CN107222640B (zh) * 2017-07-10 2020-09-08 珠海格力电器股份有限公司 一种闹钟提醒方法、闹钟提醒装置及移动终端
US10708268B2 (en) 2017-07-31 2020-07-07 Airwatch, Llc Managing voice applications within a digital workspace
US10891621B2 (en) 2017-08-09 2021-01-12 Microsoft Technology Licensing, Llc Systems and methods of providing security in an electronic network
US10580406B2 (en) 2017-08-18 2020-03-03 2236008 Ontario Inc. Unified N-best ASR results
US11074911B2 (en) 2017-09-05 2021-07-27 First Advantage Corporation Digital assistant
US10438594B2 (en) 2017-09-08 2019-10-08 Amazon Technologies, Inc. Administration of privileges by speech for voice assistant system
US10366291B2 (en) 2017-09-09 2019-07-30 Google Llc Systems, methods, and apparatus for providing image shortcuts for an assistant application
US10685049B2 (en) 2017-09-15 2020-06-16 Oath Inc. Conversation summary
US10719507B2 (en) 2017-09-21 2020-07-21 SayMosaic Inc. System and method for natural language processing
US11531940B2 (en) 2017-09-27 2022-12-20 Microsoft Technology Licensing, Llc Implicit status tracking of tasks and management of task reminders based on device signals
US10841249B2 (en) 2017-10-02 2020-11-17 Samsung Electronics Co., Ltd. System and method for bot platform
US11450314B2 (en) 2017-10-03 2022-09-20 Google Llc Voice user interface shortcuts for an assistant application
US11004202B2 (en) 2017-10-09 2021-05-11 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for semantic segmentation of 3D point clouds
KR102421255B1 (ko) 2017-10-17 2022-07-18 삼성전자주식회사 음성 신호를 제어하기 위한 전자 장치 및 방법
US10418023B2 (en) 2017-10-17 2019-09-17 International Business Machines Corporation Automatic answer rephrasing based on talking style
US20190139150A1 (en) 2017-11-09 2019-05-09 Facebook, Inc. Systems and methods for generating multi-contributor content posts for events
US11544576B2 (en) 2017-11-14 2023-01-03 International Business Machines Corporation Unified cognition for a virtual personal cognitive assistant of an entity when consuming multiple, distinct domains at different points in time
US10867054B2 (en) 2017-11-14 2020-12-15 Thomas STACHURA Information security/privacy via a decoupled security accessory to an always listening assistant device
US11562243B2 (en) 2017-11-17 2023-01-24 Meta Platforms, Inc. Machine-learning models based on non-local neural networks
US20190156204A1 (en) 2017-11-20 2019-05-23 Koninklijke Philips N.V. Training a neural network model
KR102424520B1 (ko) 2017-11-29 2022-07-25 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
JP2019106054A (ja) 2017-12-13 2019-06-27 株式会社東芝 対話システム
US11409816B2 (en) 2017-12-19 2022-08-09 Motorola Solutions, Inc. Methods and systems for determining an action to be taken in response to a user query as a function of pre-query context information
US11127213B2 (en) 2017-12-22 2021-09-21 Houzz, Inc. Techniques for crowdsourcing a room design, using augmented reality
CN108171470A (zh) * 2017-12-26 2018-06-15 深圳市零壹创新科技有限公司 一种提醒方法和装置
US20190208124A1 (en) 2017-12-29 2019-07-04 Gopro, Inc. Methods and apparatus for overcapture storytelling
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US11631017B2 (en) 2018-01-09 2023-04-18 Microsoft Technology Licensing, Llc Federated intelligent assistance
US11118925B2 (en) 2018-01-13 2021-09-14 Telenav, Inc. Navigation system with carryover mechanism and method of operation thereof
US11355126B2 (en) 2018-01-24 2022-06-07 Comcast Cable Communications, Llc Verification of user identity for voice enabled devices
US10599469B2 (en) 2018-01-30 2020-03-24 Motorola Mobility Llc Methods to present the context of virtual assistant conversation
US10741176B2 (en) 2018-01-31 2020-08-11 International Business Machines Corporation Customizing responses to users in automated dialogue systems
US10762113B2 (en) 2018-01-31 2020-09-01 Cisco Technology, Inc. Conversational knowledge graph powered virtual assistant for application performance management
US10885536B2 (en) 2018-02-01 2021-01-05 Ebay Inc. Garnering interest on potential listing in a photo or video
US10303771B1 (en) 2018-02-14 2019-05-28 Capital One Services, Llc Utilizing machine learning models to identify insights in a document
WO2019160613A1 (en) 2018-02-15 2019-08-22 DMAI, Inc. System and method for dynamic program configuration
US11054972B2 (en) * 2018-02-26 2021-07-06 Servicenow, Inc. Context-based user assistance and service workspace
US11170773B2 (en) 2018-03-12 2021-11-09 Google Llc Systems, methods, and apparatuses for managing incomplete automated assistant actions
US10462422B1 (en) 2018-04-09 2019-10-29 Facebook, Inc. Audio selection based on user engagement
US10930278B2 (en) 2018-04-09 2021-02-23 Google Llc Trigger sound detection in ambient audio to provide related functionality on a user interface
US11030412B2 (en) 2018-04-10 2021-06-08 Verizon Patent And Licensing Inc. System and method for chatbot conversation construction and management
US10511808B2 (en) 2018-04-10 2019-12-17 Facebook, Inc. Automated cinematic decisions based on descriptive models
US10679615B2 (en) 2018-04-16 2020-06-09 Google Llc Adaptive interface in a voice-based networked system
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
US10978056B1 (en) 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
US10698707B2 (en) 2018-04-24 2020-06-30 Facebook, Inc. Using salience rankings of entities and tasks to aid computer interpretation of natural language input
WO2019209511A1 (en) 2018-04-25 2019-10-31 Mavenir Networks, Inc. Contextual and location based targeted communication on mobile and internet based channels via rich communication services
US10666312B2 (en) 2018-04-25 2020-05-26 Microsoft Technology Licensing, Llc Sharing antenna across wireless endpoints
US11645529B2 (en) 2018-05-01 2023-05-09 Hewlett Packard Enterprise Development Lp Sparsifying neural network models
US11347801B2 (en) 2018-05-07 2022-05-31 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US20190348033A1 (en) 2018-05-10 2019-11-14 Fujitsu Limited Generating a command for a voice assistant using vocal input
US10997963B1 (en) 2018-05-17 2021-05-04 Amazon Technologies, Inc. Voice based interaction based on context-based directives
JP7155605B2 (ja) 2018-05-22 2022-10-19 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US20200012930A1 (en) 2018-07-06 2020-01-09 Global Elmeast Inc. Techniques for knowledge neuron enhancements
US20200012890A1 (en) 2018-07-06 2020-01-09 Capital One Services, Llc Systems and methods for data stream simulation
JP7326667B2 (ja) 2018-07-31 2023-08-16 マーベル アジア ピーティーイー、リミテッド ストレージエッジにおけるメタデータ生成
US11037222B1 (en) 2018-08-27 2021-06-15 A9.Com, Inc. Dynamic recommendations personalized by historical data
US20200097814A1 (en) 2018-09-26 2020-03-26 MedWhat.com Inc. Method and system for enabling interactive dialogue session between user and virtual medical assistant
CN112997171B (zh) 2018-09-27 2024-08-27 谷歌有限责任公司 分析网页以促进自动导航
US11017764B1 (en) 2018-09-28 2021-05-25 Splunk Inc. Predicting follow-on requests to a natural language request received by a natural language processing system
US10936688B2 (en) 2018-10-12 2021-03-02 International Business Machines Corporation Dynamically enhancing query results
WO2020077500A1 (en) * 2018-10-15 2020-04-23 Midea Group Co., Ltd. System and method for providing real-time product interaction assistance
US10817713B2 (en) 2018-11-15 2020-10-27 Adobe Inc. Generating modified digital images utilizing a multimodal selection model based on verbal and gesture input
US10878805B2 (en) 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses
US11087749B2 (en) 2018-12-20 2021-08-10 Spotify Ab Systems and methods for improving fulfillment of media content related requests via utterance-based human-machine interfaces
US10929614B2 (en) 2019-01-03 2021-02-23 International Business Machines Corporation Automated contextual dialog generation for cognitive conversation
US11310172B2 (en) 2019-01-14 2022-04-19 Microsoft Technology Licensing, Llc Network mapping and analytics for bots
US10902220B2 (en) * 2019-04-12 2021-01-26 The Toronto-Dominion Bank Systems and methods of generating responses associated with natural language input
US11295239B2 (en) 2019-04-17 2022-04-05 International Business Machines Corporation Peer assisted distributed architecture for training machine learning models
US11030994B2 (en) 2019-04-24 2021-06-08 Motorola Mobility Llc Selective activation of smaller resource footprint automatic speech recognition engines by predicting a domain topic based on a time since a previous communication
US10997968B2 (en) 2019-04-30 2021-05-04 Microsofttechnology Licensing, Llc Using dialog context to improve language understanding
EP3899927B1 (en) 2019-05-02 2024-07-24 Google LLC Adapting automated assistants for use with multiple languages
US11144727B2 (en) 2019-05-20 2021-10-12 International Business Machines Corporation Evaluation framework for intent authoring processes
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11657094B2 (en) 2019-06-28 2023-05-23 Meta Platforms Technologies, Llc Memory grounded conversational reasoning and question answering for assistant systems
US10901689B1 (en) 2019-07-11 2021-01-26 International Business Machines Corporation Dynamic augmented reality interface creation
US10949671B2 (en) 2019-08-03 2021-03-16 VIRNECT inc. Augmented reality system capable of manipulating an augmented reality object and an augmented reality method using the same
KR20210017087A (ko) 2019-08-06 2021-02-17 삼성전자주식회사 음성 인식 방법 및 이를 지원하는 전자 장치
US11113032B2 (en) 2019-08-14 2021-09-07 Palantir Technologies Inc. Function access system
WO2021033886A1 (en) 2019-08-22 2021-02-25 Samsung Electronics Co., Ltd. A system and method for providing assistance in a live conversation
US11593572B2 (en) 2019-08-27 2023-02-28 Nuance Communications, Inc. System and method for language processing using adaptive regularization
US11295745B1 (en) 2019-09-04 2022-04-05 Amazon Technologies, Inc. Multi-tasking and skills processing
US10880384B1 (en) 2019-09-11 2020-12-29 Amazon Technologies, Inc. Multi-tasking resource management
KR20210044475A (ko) 2019-10-15 2021-04-23 엘지전자 주식회사 대명사가 가리키는 객체 판단 방법 및 장치
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US20220279051A1 (en) 2020-09-28 2022-09-01 Meta Platforms, Inc. Generating Proactive Reminders for Assistant Systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114840327A (zh) * 2022-06-29 2022-08-02 阿里巴巴达摩院(杭州)科技有限公司 多模态多任务的处理方法、设备及系统

Also Published As

Publication number Publication date
US11443120B2 (en) 2022-09-13
US20210117681A1 (en) 2021-04-22
EP4046125A1 (en) 2022-08-24
US20220327289A1 (en) 2022-10-13
US11688022B2 (en) 2023-06-27
US11966986B2 (en) 2024-04-23
EP4046109A1 (en) 2022-08-24
EP4046090A1 (en) 2022-08-24
US20210117712A1 (en) 2021-04-22
US11694281B1 (en) 2023-07-04
US20210119955A1 (en) 2021-04-22
US11704745B2 (en) 2023-07-18
WO2021076302A1 (en) 2021-04-22
US20230214781A1 (en) 2023-07-06
US11948563B1 (en) 2024-04-02
US11636438B1 (en) 2023-04-25
CN114556333A (zh) 2022-05-27
US20210117624A1 (en) 2021-04-22
US11669918B2 (en) 2023-06-06
US20230418875A1 (en) 2023-12-28
US11823289B2 (en) 2023-11-21
WO2021076305A1 (en) 2021-04-22
WO2021086645A1 (en) 2021-05-06
US11314941B2 (en) 2022-04-26
CN114766091A (zh) 2022-07-19
CN114600099A (zh) 2022-06-07
CN114600114A (zh) 2022-06-07
US20210118442A1 (en) 2021-04-22
WO2021076306A1 (en) 2021-04-22
WO2021076304A1 (en) 2021-04-22
EP4046057A1 (en) 2022-08-24
EP4046124A1 (en) 2022-08-24
US11688021B2 (en) 2023-06-27
US20240331058A1 (en) 2024-10-03
US11341335B1 (en) 2022-05-24
US20220036013A1 (en) 2022-02-03
US11861674B1 (en) 2024-01-02
US12019685B1 (en) 2024-06-25
US20210117623A1 (en) 2021-04-22
US20220156465A1 (en) 2022-05-19
US20240112008A1 (en) 2024-04-04
US11403466B2 (en) 2022-08-02
EP4046053A1 (en) 2022-08-24
WO2021076373A1 (en) 2021-04-22
CN114556355A (zh) 2022-05-27
US20230099773A1 (en) 2023-03-30
US11238239B2 (en) 2022-02-01
US20210117479A1 (en) 2021-04-22
US11308284B2 (en) 2022-04-19
US20210120206A1 (en) 2021-04-22
US20210118440A1 (en) 2021-04-22
US20220382989A1 (en) 2022-12-01
US20240104668A1 (en) 2024-03-28
US11699194B2 (en) 2023-07-11
US20210117780A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
US11688022B2 (en) Semantic representations using structural ontology for assistant systems
US20220129556A1 (en) Systems and Methods for Implementing Smart Assistant Systems
US11861315B2 (en) Continuous learning for natural-language understanding models for assistant systems
CN114930363A (zh) 为助理系统生成主动内容
KR20230029582A (ko) 어시스턴트 시스템에서 다자간 통화를 위한 단일 요청의 사용
TW202307643A (zh) 助理系統進行有興趣時刻的自動捕捉
WO2022226244A1 (en) Multi-device mediation for assistant systems
US20230236555A1 (en) Event-Based Reasoning for Assistant Systems
US12125297B2 (en) Task execution based on real-world text detection for assistant systems
US20220374645A1 (en) Task Execution Based on Real-world Text Detection for Assistant Systems
US20230419952A1 (en) Data Synthesis for Domain Development of Natural Language Understanding for Assistant Systems
US20230353652A1 (en) Presenting Personalized Content during Idle Time for Assistant Systems
US20240282300A1 (en) Interaction Composer for Conversation Design Flow for Assistant Systems
EP4383046A2 (en) Detecting head gestures using inertial measurement unit signals
CN117396837A (zh) 助理系统的多设备调解
CN117396838A (zh) 助理系统的基于真实世界文本检测的任务执行
CN117765940A (zh) 为助理系统呈现与语音命令相关联的注意状态

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination