CN110730953B - 基于创建者提供的内容定制交互式对话应用的方法、系统 - Google Patents

基于创建者提供的内容定制交互式对话应用的方法、系统 Download PDF

Info

Publication number
CN110730953B
CN110730953B CN201880038755.7A CN201880038755A CN110730953B CN 110730953 B CN110730953 B CN 110730953B CN 201880038755 A CN201880038755 A CN 201880038755A CN 110730953 B CN110730953 B CN 110730953B
Authority
CN
China
Prior art keywords
structured content
user
customized version
output
input
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.)
Active
Application number
CN201880038755.7A
Other languages
English (en)
Other versions
CN110730953A (zh
Inventor
莱昂·尼科尔斯
乔舒亚·威廉斯
尤里·菲尔斯特
南迪尼·斯托克
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202310995950.1A priority Critical patent/CN117112097A/zh
Publication of CN110730953A publication Critical patent/CN110730953A/zh
Application granted granted Critical
Publication of CN110730953B publication Critical patent/CN110730953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • 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/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/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
    • G06F40/35Discourse or dialogue representation
    • 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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic 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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Abstract

实施方式涉及执行动态交互式对话应用的定制版本,其中,所述定制版本是基于所述定制版本的创建者指定的结构化内容来定制的。执行所述交互式对话应用的所述定制版本可以是响应于经由助理应用的助理界面接收到分配给定制版本的调用短语和/或标识出定制版本的其他用户界面输入。在一些实施方式中,利用角色值来执行动态交互式对话应用的定制版本,所述角色值由所述定制版本的创建者指定和/或基于所述创建者在创建所述定制版本时提供的结构化内容和/或其他输入来预测。在一些实施方式中,创建者在创建交互式对话应用的定制版本时提供的结构化内容和/或其他输入被利用来对所述定制版本编索引。

Description

基于创建者提供的内容定制交互式对话应用的方法、系统
背景技术
自动化助理(也称为“个人助理”、“移动助理”等)可以由用户经由通过各种客户端设备(诸如智能电话、平板计算机、可穿戴设备、汽车系统、独立式个人助理设备等)与之交互。自动化助理接收来自用户的输入(例如,键入和/或口头的自然语言输入),并用响应内容进行响应(例如,视觉和/或听觉自然语言输出)。经由客户端设备本身和/或经由与客户端设备进行网络通信的一个或多个远程计算设备(例如,“云”中的计算设备),可以实现经由客户端设备与之交互的自动化助理。
发明内容
本说明书总体上涉及用于执行动态交互式对话应用的定制版本的方法、装置和计算机可读介质,其中,定制版本是基于由定制版本的创建者指定的结构化内容来定制的。执行交互式对话应用的定制版本可以是响应于经由助理应用的助理界面接收到分配给定制版本的调用短语和/或标识了定制版本的其他用户界面输入。执行定制版本可以包括:生成多个用户界面输出实例以用于经由助理界面呈现。多个用户界面输出实例中的每一个都是针对在交互式对话应用执行期间的对应对话回合,并且多个实例中的每一个都是通过使用结构化内容更改动态交互式对话应用来生成的。例如,可以用基于创建者指定的结构化内容的值来填充动态交互式对话应用的各种变量,从而使交互式对话应用适应结构化内容。
如本文所述,可以执行动态交互式对话应用的多个定制版本,其中,每个定制版本是基于由对应创建者指定的对应结构化内容来执行的。例如,在执行第一定制版本时,可以将基于由第一创建者指定的第一结构化内容的第一值用于动态交互式对话应用的各种变量;在执行第二定制版本中,可以将基于由第二创建者指定的第二结构化内容的第二值用于可以填充动态交互式对话应用的各种变量;等等。
按照这些和其他方式,可以针对多个定制版本中的每一个执行相同的固定代码,同时在执行每个定制版本时仅更改由创建者在该版本的结构化内容中指定的、在生成该版本时由创建者的其他用户界面输入指定的、和/或基于该版本的结构化内容和/或其他用户界面输入预测的变量。这会使创建交互式对话应用所必需的计算资源减少。例如,动态交互式对话应用的定制版本的创建者可以利用计算资源来通过结构化内容和/或其他输入指定变量,并且如上所述(以及本文其他地方所述),那些变量被用于更改交互式对话应用。但是,创建者在指定各种代码以用于完全执行定制版本时不需要利用大量的计算资源,因为利用了动态交互式对话应用的固定代码。此外,这可能使存储多个应用所需的计算机硬件存储空间的量减少。例如,可以存储多个定制版本中的每一个定制版本的变量,而无需为多个定制版本中的每一个定制版本存储固定代码的唯一实例。
在本文描述的一些实施方式中,用一个或多个角色值来执行动态交互式对话应用的定制版本,所述角色值由定制版本的创建者指定和/或基于由创建者在创建定制版本时提供的结构化内容和/或其他输入来预测。角色值可被用于交互式对话应用的一个或多个变量,从而也基于角色值来更改交互式对话应用。角色值中的每一个都可以影响在执行定制版本时生成的可听和/或图形用户界面输出。
例如,一个或多个角色值可以定义计算机生成的话音的音调、语调、音高和/或其他语音特点,以在执行定制版本时作为自然语言用户界面输出提供。而且,例如,一个或多个角色值可以定义要用于各种用户界面输出的词语、短语、和/或正式程度,诸如在固定代码中定义的用户界面输出(即,在指定的结构化内容中定义的那些用户界面输出)。例如,第一定制版本的一个或多个角色值可以引起提供非常正式的(例如,排除俗语和/或其他随意的话语)各种自然语言用户界面输出,而第二定制版本的一个或多个角色值可以引起提供非常随意的(即,正式程度低)各种自然语言用户界面输出。而且,例如,第一定制版本的一个或多个角色值可以引起提供包括特定于第一区域的词语(不包括特定于第二区域的词语)的各种自然语言用户界面输出,而第二定制版本的一个或多个角色值可以引起提供包括特定于第二区域的词语(不包括特定于第一区域的词语)的各种自然语言用户界面输出。作为又一示例,一个或多个角色值可以定义作为用户界面输出而提供的音乐、音效、图形属性、和/或其他特征。
用针对定制版本的角色值来执行动态交互式对话应用的定制版本可以使该定制版本提供更多可理解、且更自然的用户界面输出,从而促进与用户进行更有效的通信。例如,本文描述的技术可以允许定制版本使用用户更容易理解的语言和/或措辞向特定用户传达含义。例如,如本文中所述,可以基于用于执行定制版本的结构化内容来确定角色值,并因此使其适应于更可能调用该定制版本的用户。基于角色值对自然语言用户界面输出的更改可以使通过执行定制版本而参与的交互式对话的总持续时间比以其他方式所需的时间更短,从而节省了计算系统执行定制版本中的计算负荷。
如上面提到的,在各种实施方式中,基于由创建者在创建定制版本时提供的结构化内容和/或其他输入来预测一个或多个角色值。预测值可以自动分配给定制版本和/或作为建议的角色值呈现给创建者,并且如果创建者经由用户界面输入确认,则可以分配给定制版本。在那些实施方式中的许多实施方式中,基于使用受训机器学习模型对在创建定制版本时提供的结构化内容和/或其他输入中的至少一些的处理,来预测角色值。例如,结构化内容中的至少一些可以被应用为受训机器学习模型的输入的至少一部分,使用机器学习模型处理以生成一个或多个输出值的输入,以及基于该一个或多个输出值选择的角色值。例如,可以基于训练实例并且基于针对对应的先前定制版本的先前提交的角色值(例如,由对应的创建者明确选择)来训练受训机器学习模型,所述训练实例各自是基于在生成对应的先前定制版本时基于先前提交的结构化内容生成的。
在本文描述的一些实施方式中,由创建者在创建交互式对话应用的定制版本时提供的结构化内容和/或其他输入被利用来对该定制版本编索引。例如,可以基于由创建者为定制版本提供的一个或多个调用短语来对定制版本编索引。作为另一示例,另外或替代地,可以基于一个或多个实体对定制版本编索引,该一个或多个实体是基于由创建者指定的结构化内容而确定的。例如,可以基于与具有结构化内容中包括的别名的多个实体具有定义的关系(例如,在知识图中)来确定所述实体中的至少一些实体。即使结构化内容中不包括此类实体的别名,也可以利用此类实体来对定制版本编索引。例如,结构化内容可以包括给定城市中大量兴趣点的别名,但不包括给定城市的任何别名。可以利用兴趣点的别名以及可选地其他内容来在知识图中标识与兴趣点相对应的实体。此外,可以确定所有实体在知识图中都与给定城市具有定义的关系(例如,“位于”关系)。基于该定义的关系,并且基于具有该定义的关系的实体中的多个实体(例如,至少阈值个实体),可以基于给定城市对定制版本编索引(例如,通过给定城市的一个或多个别名编索引)。此后,用户可以通过提交引用给定城市的用户界面输入来发现定制版本。例如,用户可以经由自动化助理界面提供“Iwant an application about[alias for given city](我想要关于[给定城市别名]的应用)”的口头输入。基于根据给定城市对定制版本编索引,与自动化助理界面相关联的自动化助理可以自动执行定制版本或可以将指示定制版本的输出呈现给用户作为执行选项,并且如果响应于该呈现而接收到肯定的用户界面输入,则可以执行定制版本。按照这些和其他方式,可以有效地标识和执行满足用户请求的动态对话应用的定制版本。这可以防止用户需要提交多个请求来标识此类定制版本,从而节省了计算和/或网络资源。
在一些实施方式中,提供了一种通过一个或多个处理器执行的方法,该方法包括:经由一个或多个网络接口,接收:动态交互式对话应用的指示、用于执行动态交互式对话应用的定制版本的结构化内容、以及针对动态交互式对话应用的定制版本的至少一个调用短语。响应于用户与客户端设备的交互,在由用户的客户端设备生成的一个或多个数据包中传送指示、结构化内容、和至少一个调用短语。该方法进一步包括以下步骤:处理结构化内容以自动选择针对交互式对话应用的定制版本的多个角色值,其中,结构化内容未明确指示角色值。在接收到指示、结构化内容、和至少一个调用短语之后,并且在自动选择多个角色值之后,该方法包括以下步骤:接收经由客户端设备或另一客户端设备的助理界面提供的自然语言输入;以及确定自然语言输入与针对交互式对话应用的定制版本的调用短语相匹配。响应于确定自然语言输入与调用短语相匹配,该方法包括:执行交互式对话应用的定制版本,其中,执行交互式对话应用的定制版本包括:生成多个输出实例以用于经由助理界面呈现,多个输出实例中的每一个都是针对在交互式对话应用执行期间的对应对话回合并且是使用结构化内容且使用角色值中的一个或多个对应角色值生成的。
本文公开的这些和其他实施方式可以可选地包括以下特征中的一个或者多个。
在各种实施方式中,处理结构化内容以自动选择多个角色值可以包括:应用结构化内容中的至少一些作为受训机器学习模型的输入;使用受训机器学习模型来处理结构化内容中的至少一些以生成一个或多个输出值;以及基于一个或多个输出值来选择角色值。在各种实施方式中,一个或多个输出值可以包括第一角色的第一概率和第二角色的第二概率,并且基于一个或多个输出值来选择角色值可以包括:基于第一概率和第二概率,优先于第二角色选择第一角色;以及基于在至少一个数据库中分配给选择的第一角色的角色值,选择角色值。在其他各种实施方式中,该方法可以进一步包括:应用动态交互式对话应用的指示作为受训机器学习模型的附加输入;以及使用受训机器学习模型来处理指示和结构化内容中的至少一些以生成一个或多个输出值。
在各种实施方式中,处理结构化内容以自动选择多个角色值可以包括:基于结构化内容确定一个或多个实体;应用所述实体中的至少一些作为受训机器学习模型的输入;使用受训机器学习模型来处理所述实体中的至少一些以生成一个或多个输出值;以及基于一个或多个输出值来选择角色值。
在各种实施方式中,在使用受训机器学习模型来处理结构化内容中的至少一些之前,该方法可以进一步包括:从一个或多个数据库标识多个先前用户提交,先前用户提交中的每一个包括先前提交的结构化内容和对应的先前提交的角色值,先前提交的角色值由对应用户明确地选择;基于先前用户提交来生成多个训练实例,训练实例中的每一个是基于先前用户提交中的一个对应先前用户提交生成的并且包括训练实例输入和训练实例输出,训练实例输入基于先前用户提交中的一个对应先前用户提交的先前提交的结构化内容,训练实例输出基于先前用户提交中的一个对应先前用户提交的先前提交的角色值;以及基于多个训练实例训练受训机器学习模型。在那些实施方式中的一些实施方式中,训练机器学习模型可以包括:使用受训机器学习模型来处理训练实例中的给定训练实例的训练实例输入;基于该处理来生成预测输出;基于将预测输出与给定训练实例的训练实例输出相比较,生成错误;以及使用该错误,基于反向传播,更新受训机器学习模型。
在各种实施方式中,处理结构化内容可以包括:从由用户指定的文档解析结构化内容。
在各种实施方式中,其中,角色值可以与对话的音调、对话的语法、以及与对话一起提供的非言语声音中的至少一种相关。
在一些实施方式中,提供了一种通过一个或多个处理器执行的方法,该方法包括:经由一个或多个网络接口,接收:动态交互式对话应用的指示、以及用于执行动态交互式对话应用的定制版本的结构化内容,其中,响应于用户与客户端设备的交互,在由用户的客户端设备生成的一个或多个数据包中传送指示和结构化内容;处理结构化内容以确定一个或多个相关实体;基于所述一个或多个相关实体对动态交互式对话应用的定制版本编索引;在该编索引之后:接收经由客户端设备或另一客户端设备的助理界面提供的自然语言输入;从自然语言输入确定一个或多个调用实体;标识实体的映射,该映射包括调用实体中的至少一个和相关实体中的至少一个;基于映射中调用实体和相关实体之间的关系,标识动态交互式对话应用的定制版本。基于标识交互式对话应用的定制版本,该方法包括:执行交互式对话应用的动态版本,其中,执行交互式对话应用的动态版本包括:生成多个输出实例以用于经由助理界面呈现,多个输出实例中的每一个都是针对在交互式对话应用执行期间的对应对话回合并且是使用交互式对话应用的定制版本的结构化内容中的至少一些生成的。
本文公开的这些和其他实施方式可以可选地包括以下特征中的一个或者多个。
在各种实施方式中,处理结构化内容以确定一个或多个相关实体可以包括:解析结构化内容以标识一个或多个词语;用一个或多个词语作为别名来标识一个或多个实体;以及基于给定相关实体与已标识的一个或多个实体中的多个实体具有定义的关系,确定一个或多个相关实体中的给定相关实体。
在各种实施方式中,结构化内容中可以不包括给定实体的别名。在这些实施方式中的一些实施方式中,确定给定相关实体进一步是基于给定相关实体与已标识的一个或多个实体中的多个实体中的至少阈值量的实体具有定义的关系。
在各种实施方式中,该方法可以进一步包括:经由一个或多个处理器,接收针对动态交互式对话应用的定制版本的至少一个调用短语;以及基于至少一个调用短语进一步对动态交互式对话应用的定制版本编索引。
在各种实施方式中,该方法可以进一步包括:基于结构化内容以及相关实体之间的关系,对相关实体进行加权。在那些实施方式中的一些实施方式中,标识定制版本可以进一步是基于相关实体的权重。在其他实施方式中,该方法还可以包括:基于输入实体和相关实体来标识动态交互式对话应用的第二定制版本;并且基于权重来选择定制版本。
在各种实施方式中,该方法可以进一步包括:基于输入实体和第二版本相关实体,用第二结构化内容和第二版本相关实体,标识第二定制版本,其中,多个输出实例中的每一个是至少使用结构化内容中的一些和第二结构化内容中的一些生成的。
在一些实施方式中,提供了一种通过一个或多个处理器执行的方法,该方法包括:经由一个或多个网络接口,接收:动态交互式对话应用的指示、用于执行动态交互式对话应用的定制版本的结构化内容、以及针对动态交互式对话应用的定制版本的至少一个调用短语。响应于用户与客户端设备的交互,在由用户的客户端设备生成的一个或多个数据包中传送指示、结构化内容、和至少一个调用短语。该方法进一步包括:在接收到指示、结构化内容、和至少一个调用短语之后:接收经由客户端设备或附加客户端设备的助理界面提供的口头输入;以及确定口头输入与针对交互式对话应用的定制版本的调用短语相匹配。该方法进一步包括:响应于确定口头输入与调用短语相匹配,执行交互式对话应用的定制版本,其中,执行交互式对话应用的定制版本包括:生成多个输出实例以用于经由助理界面呈现,多个输出实例中的每一个都是针对在交互式对话应用执行期间的对应对话回合并且是使用结构化内容生成的。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在关联的存储器中的指令,并且其中,所述指令被配置为引起任何前述方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是可以实现本文公开的实施方式的示例环境的框图。
图2是可以在本文公开的实施方式中使用的结构化内容的示例。
图3示出了可以如何选择角色值以用于请求生成动态交互式对话应用的定制版本的示例。
图4是示出了根据本文公开的实施方式的示例方法的流程图。
图5是示出了根据本文公开的实施方式的生成角色选择模型的示例方法的流程图。
图6是具有表示知识图中的实体的节点的图的图示。
图7示出了基于与为应用的定制版本指定的结构化内容相关的实体对应用的定制版本编索引的示例。
图8示出了根据本文公开的实施方式的用户、客户端设备、以及用户和与执行交互式对话应用的定制版本的客户端设备相关联的自动化助理之间的示例对话。
图9示出了根据本文公开的实施方式的用户、客户端设备、以及用户和与执行图8的交互式对话应用的另一定制版本的客户端设备相关联的自动化助理之间的另一示例对话。
图10示出了计算设备的示例架构。
具体实施方式
在一些情况下,基于接收到的结构化内容和接收到的交互式对话应用的指示来生成交互式对话应用的定制版本。响应于由创建者经由与创建者的客户端设备的交互而提供的一个或多个用户界面输入,可以将结构化内容和指示传送到自动化助理、或与该自动化助理相关联的组件。交互式对话应用的指示被用于标识交互式对话应用,并且结构化内容被用于执行交互式对话应用的定制版本。可以提供各种类型的结构化内容,并将其用于执行交互式对话应用的定制版本。例如,结构化内容可以是电子表格,该电子表格包括提示和可能的响应,诸如多项选择题和对应的答案(例如,对于每个问题,正确的答案以及一个或多个错误答案)、笑话和对应的关键句(例如,对于每个笑话,对应的关键句),等等。作为另一示例,可以提供结构化的HTML或XML文档,或者甚至可以提供经过处理并转换为结构化文档的非结构化文档。
在一些实施方式中,可以将一个或多个角色值分配给定制版本,并且在执行定制版本中利用角色值。角色值可以指示:语音输出的可听特点、生成语音输出的自然语言时会使用的语法特点、和/或要在语音输出中提供的特定词语和/或短语(例如,除了结构化内容之外的词语和/或短语)。例如,角色值可以共同定义离散的角色,诸如女王(例如,具有适当语法的女性声音)、机器人(例如,具有僵硬的说话音调的夸张型自动化语音)、和/或教师。在一些实施方式中,角色值可以是自动化助理的呈现语音的不同特点,其可以变化,诸如可以改变以创建不同角色的音调值、语法值、和性别值。在一些实施方式中,角色值中的一个或多个可被用于从多个候选语音到文本模型中选择符合角色值的特定语音到文本模型。在一些实施方式中,角色值中的一个或多个可被用于选择对应的特点以在语音到文本转换中使用。
现在转到附图,图1示出了可以实现本文公开的技术的示例环境。该示例环境包括客户端设备106、自动化助理110、和定制应用引擎120。在图1中,定制应用引擎120被示出为自动化助理110的一部分。然而,在许多实施方式中,定制应用引擎120可以由与自动化助理110分离的一个或多个组件来实现。例如,定制应用引擎120可以通过一个或多个网络与自动化助理110对接,并且可以可选地利用一个或多个应用编程接口(API)与自动化助理110接口对接。在定制应用引擎120与自动化助理110分离的一些实施方式中,定制应用引擎120由第三方控制,该第三方与控制自动化助理110的一方不同。
客户端设备106可以是,例如,独立式语音启动型扬声器设备、台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备、和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供另外的和/或替代的客户端设备。
尽管在图1中将自动化助理110示出为与客户端设备106分离,但在一些实施方式中,自动化助理110的全部或多个方面可以由客户端设备106实现。例如,在一些实施方式中,输入处理引擎112可以由客户端设备106实现。在自动化助理110的一个或多个(例如,所有)方面由远离客户端设备106的一个或多个计算设备实现的情况下,客户端设备106和自动化助理110的那些方面经由一个或多个网络进行通信,诸如广域网(WAN)(例如,互联网)。如本文所述,客户端设备106可以包括自动化助理界面,客户端设备106的用户经由该自动化助理界面与自动化助理110与交互。
尽管仅示出了与自动化助理110结合的一个客户端设备106,但是在许多实施方式中,自动化助理110可以是远程的,并且可以与用户的多个客户端设备中的每个客户端设备、和/或与多个用户的多个客户端设备中的每个客户端设备进行对接。例如,自动化助理110可以经由不同的会话来管理与多个设备中的每个设备的通信,并且可以并行地管理多个会话。例如,在一些实施方式中,自动化助理110可以被实现为采用云基础设施的基于云的服务,例如,使用服务器场或运行适合于处理来自多个用户的大量请求的软件的高性能计算机集群。然而,为了简单起见,本文针对单个客户端设备106描述了许多示例。
自动化助理110包括输入处理引擎112、输出引擎135和调用引擎160。在一些实施方式中,自动化助理110的一个或多个引擎可以省略、组合、和/或实现在与自动化助理110分离的组件中。此外,为了简单起见,自动化助理110可以包括在本文未示出的附加引擎。例如,自动化助理110可以包括对话状态追踪引擎、其自己的对话引擎(或能与定制应用引擎120共享对话模块126)等。
自动化助理110从客户端设备106接收用户输入实例。例如,自动化助理110可以按照流式音频记录的形式接收自由形式的自然语言语音输入。可以响应于从客户端设备106的麦克风接收到的信号而由客户端设备106生成该流式音频记录,所述麦克风捕获客户端设备106的用户的口头输入。作为另一示例,自动化助理110可以接收自由形式的自然语言键入的输入。在一些实施方式中,自动化助理110可以从用户接收非自由形式的输入,诸如选择图形用户界面元素上的多个选项之一、或在生成交互式对话应用的定制版本时提供(例如,在单独的电子表格文档或其他文档中)的结构化内容。在各种实施方式中,经由自动化助理界面在客户端设备处提供输入,客户端设备106的用户经由该自动化助理界面与自动化助理110对接。该界面可以是仅音频界面、仅图形界面、或音频和图形界面。
在一些实施方式中,响应于客户端设备106的用户对自动化助理110的明确调用,用户输入可以由客户端设备106生成和/或提供给自动化助理110。例如,该调用可以是由客户端设备106检测到用户的某些语音输入(例如,自动化助理110热词/短语,诸如“嘿,助理”)、用户与硬件按钮和/或虚拟按钮的交互(例如,硬件按钮的轻击、由客户端设备106显示的图形界面元素的选择)、和/或其他特定用户界面输入。在一些实施方式中,自动化助理110可以接收(直接或间接地)指示可由自动化助理110(直接或间接地)执行的特定应用的用户输入。例如,输入处理引擎112可以从客户端设备106接收“Assistant,I want to playmy President's quiz(助理,我想玩我的总统测验游戏)”的输入。输入处理引擎112可以解析接收到的音频,并将解析的内容提供给调用引擎160。调用引擎160可以利用解析的内容来确定(例如,利用索引152)“总统测验游戏”是针对动态交互式对话应用的定制版本的调用短语。作为响应,调用引擎160可以将调用命令传送到定制应用引擎120,以使定制应用引擎120执行该定制版本并经由自动化助理界面与客户端设备106的用户进行交互式对话。
自动化助理110通常响应于从客户端设备106接收到用户输入实例来提供输出实例。输出实例可以是,例如,客户端设备106以可听方式呈现(例如,经由客户端设备106的扬声器输出)的音频、文本、和/或由客户端设备106以图形方式呈现(例如,经由客户端设备106的显示器渲染)的图形内容等。如本文所述,当执行交互式对话应用的定制版本时,在给定对话回合处提供的输出可以由定制应用引擎120基于交互式对话应用、并且基于针对定制版本的结构化内容和/或针对定制版本的角色值来生成。如本文所使用的,对话回合引用用户话语(例如,语音输入或其他自然语言输入的实例)和响应系统话语(例如,可听和/或图形输出的实例),或反之亦然。
自动化助理110的输入处理引擎112处理经由客户端设备106接收的自然语言输入,并生成注释输出,以供自动化助理110的一个或多个其他组件使用,诸如调用引擎160、定制应用引擎120等。例如,输入处理引擎112可以处理由用户经由客户端设备106的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释以及可选地,自然语言输入的一个或多个(例如,全部)词语。作为另一示例,另外或替代地,输入处理引擎112可以包括语音到文本模块,该语音到文本模块接收语音输入实例(例如,以数字音频数据的形式),并将语音输入转换成包括一个或多个文本单词或短语的文本。在一些实施方式中,语音到文本模块是流式语音到文本引擎。语音到文本模块可以依赖一个或多个存储的语音到文本模型(也称为语言模型),每个语音到文本模型可以对一种语言的音频信号和语音单元之间的关系以及该语言的单词序列进行建模。
在一些实施方式中,输入处理引擎112被配置为标识和注释自然语言输入中的各种类型的语法信息。例如,输入处理引擎112可以包括词性标注器的一部分,该词性标注器被配置为用词语的语法角色来注释词语。例如,词性标注器的所述一部分可以用诸如“名词”、“动词”、“形容词”、“代词”等的其词性来标记每个词语。而且,例如,在一些实施方式中,另外和/或可替换地,输入处理引擎112可以包括依赖性解析器,该依赖性解析器可以被配置为确定自然语言输入中的词语之间的句法关系。例如,依赖性解析器可以确定哪些词语修改了其他词语、句子的主语和动词等等(例如,解析树),并且可以对此类依赖性进行注释。
输出引擎135将输出实例提供给客户端设备106。在一些情况下,输出实例可以是基于在执行交互式对话应用的定制版本时由定制应用引擎120生成的响应内容。在其他情况下,输出实例可以基于由另一应用生成的响应内容,该内容不一定是交互式对话应用的定制版本。例如,自动化助理110本身可以包括一个或多个内部应用,所述内部应用生成响应内容和/或可以与不是交互式对话应用的定制版本的第三方应用接口对接,并生成响应内容。在一些实施方式中,输出引擎135可以包括将响应内容的文本组件转换成音频格式的文本到话音引擎,并且由输出引擎135提供的输出是音频格式(例如,作为流式音频)。在一些实施方式中,响应内容可能已经是音频格式。在一些实施方式中,另外或替代地,输出引擎135提供文本答复内容作为输出(可选地,供客户端设备106转换成音频)和/或提供其他图形内容作为输出以供客户端设备106进行图形显示。
定制应用引擎120包括编索引模块122、角色模块124、对话模块126、实体模块128、和内容输入引擎130。在一些实施方式中,定制应用引擎120的模块可以省略、组合、和/或实现在与定制应用引擎120分离的组件中。此外,为了简单起见,定制应用引擎120可以包括在本文未示出的附加模块。
内容输入引擎130处理由创建者提供的内容以用于生成交互式对话应用的定制版本。在一些实施方式中,提供的内容包括结构化内容。例如,参考图2,提供了结构化内容的示例。可以从客户端设备106、或从另一客户端设备(例如,另一用户的客户端设备)将结构化内容传送到内容输入引擎130。图2的结构化内容是电子表格,其中电子表格的每一行205a-d包括问题列210中的条目、正确答案列215中的条目、以及三个错误答案列220中的每一个错误答案列中的条目。在一些实施方式中,可以通过定制应用引擎120预先填充图2中的电子表格的列的标头,并且可以通过创建者利用对应的客户端设备并利用标头作为指导来填充每行中的条目。在那些实施方式中的一些实施方式中,定制应用引擎120基于创建者指示他/她希望为多个可用交互式对话应用中的哪个交互式对话应用创建定制版本来预填充标头。例如,可以基于创建者选择“琐事”交互式对话应用来预填充图2的标头。另一方面,如果用户选择“笑话”交互式对话应用,则可以预填充“笑话”和“关键句”的标头。
内容输入引擎130可以接收图2的结构化内容,可选地处理内容,并将内容存储在定制内容数据库158中,以用于执行对应的交互式对话应用的定制版本。处理内容可以包括:基于条目的列和行来注释和/或存储由用户提供的条目。例如,内容输入引擎130可以存储问题列210、行205A的条目,并将其注释为定制版本的“问题”条目。此外,内容输入引擎130可以存储正确答案列215、行205A的条目,并将其注释为先前存储的“问题”条目的“正确答案”条目,并且可以存储错误答案列220、行205A的条目,以及将它们注释为先前存储的“问题”条目的“错误答案”条目。另外和/或可选地,处理内容可以包括:验证结构化内容的值符合一个或多个所需准则,如果不符合,则提示创建者进行更正。一个或多个所需准则可以包括内容类型(例如,仅数字、仅字母)、内容长度(例如,X个字符和/或Y个词语)等。
内容输入引擎130还可以与针对定制版本的结构化内容相关联地存储对应的交互式对话应用的指示、针对定制版本的任何提供的调用短语、以及针对定制版本的任何选择和/或预测的角色值。尽管在图2中示出了电子表格,但是应当理解,内容输入引擎130可以处理其他类型的结构化内容。此外,在一些实施方式中,内容输入引擎130可以将非结构化内容转换成结构化格式,然后处理该结构化格式。
对话模块126使用应用和针对定制版本的结构化内容、以及可选地定制版本的一个或多个附加值(例如,角色值)来执行交互式对话应用的定制版本。例如,对话模块126可以通过从应用数据库159检索给定交互式对话应用的固定代码,并从定制内容数据库158检索给定版本的结构化内容和/或其他内容,来执行给定交互式对话应用的给定定制版本。然后,对话模块126可以利用给定交互式对话应用的固定代码和针对定制版本的定制内容来执行给定定制版本。
在执行交互式对话应用的定制版本中,对话模块126参与多个对话回合。在每个对话回合中,对话模块126可以向输出引擎135提供内容,并且输出引擎135可以将内容(或其转换)作为用户界面输出呈现(以可听方式或按照图形的方式)在客户端设备106处。提供的输出可以是基于交互式对话应用和结构化的内容和/或角色值。此外,在许多对话回合处提供的输出可以是基于(对话回合和/或先前对话回合的)用户话语和/或先前对话回合的系统话语(例如,基于过去的用户和/或系统话语确定的“对话状态”)。对话回合的用户话语可以由输入处理引擎112处理,并从由对话模块126在确定要提供的响应内容时利用的输入处理引擎112输出。尽管许多输出实例将是基于交互式对话应用和结构化内容,但是应注意,一些输出实例可以是基于交互式对话应用而无需参考结构化内容。例如,交互式对话应用可以包括固定代码,该固定代码使得能够仅利用固定代码和/或参考创建者未提供的其他内容来对各种用户输入做出响应。换句话说,尽管在执行定制版本期间许多对话回合会受到所提供的结构化内容的影响,但一些对话回合不会受到影响。
在一些实施方式中,在执行交互式对话应用的定制版本中,另外或可替代地,对话模块126可以基于给定用户的表现来为给定用户自定义的一个或多个输出实例。给定用户的表现可以包括在定制版本的当前执行的一个或多个较早对话回合中的表现和/或在定制版本的先前执行中与给定用户的一个或多个交互式对话中的表现、和/或针对其他定制版本和/或其他交互式对话应用的先前执行。例如,如果交互式对话应用是琐事应用,并且给定用户已经努力正确回答问题,则可以在一个或多个输出中与问题一起主动提供提示,并且/或者可以将角色值调整得更“鼓励性”。例如,响应于执行琐事应用的定制版本时的错误答案而提供的输出最初可能是“Wrong,Wrong,Wrong(错误,错误,错误)”,但响应于用户错误地回答了至少阈值数量的问题而被更改为“Good answer,but not correct-please tryagain(答案不错,但不正确,请重试)”。可以通过对一个或多个角色值的更改来实现这种更改。作为另一示例,响应于在执行琐事应用的定制版本时的正确答案而提供的输出最初可以是“Correct,great work(正确,好样的)”,但响应于用户表现良好和/或对话速度变慢而被更改为仅是“Correct(正确)”(例如,以加快对话的速度)。给定用户的表现数据(例如,分数、错误数量、耗时、和/或其他数据)可以在执行定制版本期间,甚至在定制版本(和/或其他定制版本和/或其他应用)的多个执行实例之间保持不变,并被用于通过更改一个或多个输出来自定义给定用户的体验。在一些实施方式中,在执行定制版本中的这种用户表现特定的更改可以通过角色值的更改来实现,这可以包括:进一步更改已经基于定制版本的结构化内容和/或其他特征进行了更改的一个或多个角色值。
角色模块124利用创建者提供的定制版本的结构化内容和/或其他内容来为交互式对话应用的定制版本选择一个或多个角色值。角色模块124可以将角色值与定制版本相关联地存储在定制内容数据库158中。对话模块126在执行定制版本时利用所选择的角色值。例如,所选角色值可被用于选择语法、音调、和/或在定制版本的执行期间在一个或多个对话回合中提供的语音输出的其他方面。角色模块124可以在为定制版本选择角色值时利用各种准则。例如,角色模块124可以利用定制版本的结构化内容、定制版本的调用短语、与结构化内容相关联的实体(例如,下面关于实体模块128所描述的)、对应的交互式对话应用(例如,它是测验、笑话、事实列表,还是运输调度程序)等。在一些实施方式中,角色模块124可以在选择一个或多个角色值时利用一个或多个选择模型156。如本文所述,角色模块124可以针对定制版本自动选择和实现一个或多个角色值,和/或可以选择一个或多个角色值并且在实现定制版本之前需要创建者的确认。
角色是离散的个性,并且由角色值的集合组成,其中一些值可以预先确定以反映该特定类型的角色。例如,角色可以包括“女王”、“国王”、“教师”、“机器人”、和/或一个或多个其他不同类型。每个角色可以由多个角色值表示,每个角色值都反映角色的特定方面,并且离散角色中的每一个都可以具有针对每个角色的预设值(或可以被限制在可以分配的值中)。作为示例,角色可以是角色值的集合,并且包括说话语音特点、语法特点、和非言语声音特点(例如,在测验的问题轮次之间播放的音乐)。“女王”角色可能具有SPEAKING VOICE=(VALU E 1)、GRAMMAR=(VALUE 2)、和SOUND=(VALUE 3)作为角色值。“教师”角色可能具有SPEAKING VOICE=(VALUE 4)、GRAMMAR=(VALUE 5)、和SOUND=(VALUE 6)作为角色值。在一些实施方式中,可以为定制版本选择角色,并且可以基于包括该角色的角色值来设置对应的角色值。例如,本文描述的用于选择角色值的技术可以通过首先选择角色,标识构成该所选角色的角色值并相应地设置定制版本的角色值来选择角色值。在一些实施方式中,角色值中的一个或多个可以不是角色的一部分,并且可以在选择角色时独立于角色来设置。例如,“教师”角色可能没有设置“性别”角色值,并且表示“男”或“女”的角色值可以独立分配给“教师”角色。
实体模块128利用在接收到的结构化内容中提供的词语和/或其他内容,来确定在结构化内容中引用的一个或多个实体、以及可选地与此类引用的实体相关的一个或多个实体。实体模块128可以利用实体数据库154(例如,知识图)来确定这样的实体。例如,结构化内容可以包括词语“总统”、“乔治华盛顿”和“内战”。实体模块128可以从实体数据库154中标识与每个词语相关联的实体。例如,实体模块128可以基于作为该实体的别名的“乔治华盛顿(George Washington)”来标识与美国的第一任总统相关联的实体。可选地,实体模块128可以标识与这样的引用实体相关的一个或多个附加实体,诸如,基于“乔治华盛顿”与“美国总统”实体具有“属于该组”关系而与“美国总统”相关联的实体。
实体模块128可以将确定的实体提供给编索引模块122和/或角色模块124。编索引模块122可以基于基于结构化内容确定的一个或多个实体来对与结构化内容相对应的定制版本编索引。角色模块124可在为定制版本选择一个或多个角色值时利用所述实体中的一个或多个。
现在参考图3,提供了可以如何选择角色值以用于请求生成动态交互式对话应用的定制版本的示例。内容输入引擎130接收要定制的交互式对话应用的指示171。例如,这可以是测验应用的指示、玩笑应用的指示、或交通查询应用的指示。可以响应于创建者选择与交互式对话应用相对应的图形元素、说出与交互式对话应用相对应的一个或多个词语、或者以其他方式指示期望为交互式对话应用提供结构化内容来接收该指示。此外,内容输入引擎130接收结构化内容。例如,对于测验应用的指示171,内容输入引擎130可以接收包括图2所示的内容的文档。更进一步地,内容输入引擎130接收调用短语173。例如,针对图2所示的结构化内容,创建者可以提供“总统琐事”的指示短语173。
内容输入引擎130向角色模块124和/或实体模块128提供指示、至少一些结构化内容、和/或调用短语174。实体模块128利用该指示、至少一些结构化内容、和/或调用短语174以使用条目数据库154来标识在那些词语中的一个或多个词语中引用的实体175,并将实体175提供给角色模块124。
角色模块124使用选择模型中的至少一个、以及数据174和/或175来选择一个或多个角色值176。例如,角色模块124可以利用作为机器学习模型的选择模型之一来处理数据174和/或175,并基于该处理来生成指示角色值176的输出。例如,该输出可以指示多个离散角色中的每一个的概率,那些角色中的一个角色是基于概率来选择的(例如,“女王”角色),并且角色值176可以是构成该角色的角色值的集合。作为另一示例,该输出可以包括多个角色值中的每个角色的概率、以及基于概率选择的那些角色值的子集。
作为示例,对于用于小学测验的结构化内容,角色模块124可以选择使对应的定制版本提供“较慢”的口头输出的角色值,以提供少于所有可能的错误答案作为对问题的响应的选项、提供鼓励性的反馈作为对错误答案的响应输出、和/或将单词用法限制为儿童可以理解的词语。例如,所选择的角色值可以引起当接收到错误响应时作为响应内容提供的“Close,but not quite!Try again!(接近,但不完全!请重试!)”,而对于针对成人观众的结构化内容,角色模块124可以替代选择角色值,这些值会在接收到错误答案时提供“Wrong,Wrong,Wrong”的输出。
在一些实施方式中,另外和/或可替代地,角色模块124可以基于正针对其执行定制版本的给定用户的属性来选择角色值。例如,当正在为具有“成人”属性的给定用户执行定制版本时,角色模块124可以基于这样的属性(以及可选的附加属性)选择角色值。按照这些和其他方式,可以“每个用户”为基础更改给定定制版本的角色值,从而为正在为其执行定制应用的用户定制该定制应用的每个版本。可选地,可以基于正在为其执行定制版本的用户的属性来训练机器学习模型并将其用于选择这样的角色值。例如,机器学习模型可以利用基于明确选择的训练示例,由正在为其执行定制版本的用户执行,其中,明确选择指示此类用户期望用于执行定制版本的一个或多个角色值。可选地,训练示例还可以是基于定制版本的结构化内容。例如,机器学习模型可以被训练为基于正在为其执行定制版本的用户的属性并且基于定制版本的结构化内容和/或其他特征来预测一个或多个角色值。
角色值176可以与结构化内容172、指示171、和/或调用短语一起存储在定制内容数据库158中。此类值可以共同定义交互式对话应用的定制版本。后续用户可以向自动化助理提供自然语言话音,然后该自动化助理可以标识自然语言输入中的词语并标识这些词语对应于定制版本的调用短语173。例如,调用引擎160(图1)可以处理接收到的用户界面输入,以确定正在调用交互式对话应用的多个先前提交的定制版本中的哪一个定制版本(如果有的话)。在一些实施方式中,当生成应用的定制版本时,创建者可以提供将来会被用于调用应用的调用短语。在一些实施方式中,可以将一个或多个实体标识为与结构化内容相关,并且调用引擎160可以基于用户输入和相关实体来选择定制版本中的一个或多个。
图4是提供如何基于定制版本的结构化内容和角色值为后续用户执行交互式对话应用的定制版本的示例的流程图。为了方便起见,参考执行操作的系统来描述图4的流程图的操作。该系统可以包括各种计算机系统的各种组件。此外,尽管以特定顺序示出了图4的方法的操作,这并不意味着具有限制意义。一个或多个操作可以被重新排序、省略或添加。
在框405,从用户接收自然语言输入。可以通过与图1的输入处理引擎112共享一个或多个特点的组件来接收自然语言。
在框410,在自然语言输入中标识一个或多个词语。例如,一个或多个词语可以由与输入处理引擎112共享一个或多个特点的组件来标识。此外,可选地,可以标识与一个或多个词语相关联的实体。例如,可以由与实体模块128共享一个或多个特点的组件从实体数据库确定实体。
在框415,基于自然语言输入中的词语和/或实体,标识具有自动选择的角色值的先前生成的定制版本。在一些实施方式中,可以基于自然语言输入来标识先前生成的定制版本,该自然语言输入和与定制版本相关联的调用短语相匹配。在一些实施方式中,可以基于已标识的在自然语言输入的片段和与定制版本相关联的一个或多个实体之间的关系来标识定制版本,如本文中更详细地描述的。
在框420,对话模块126生成提示。然后可以经由输出引擎135将提示提供给用户。例如,对话模块126可以基于角色值和/或结构化内容生成文本提示,并将文本提供给输出引擎135,输出引擎135可将文本转换为话音并将该话音提供给用户。当生成提示时,对话模块126可以基于角色值来改变提示的语法、单词用法、和/或其他特点。此外,当提供由对话模型126生成的文本的话音版本时,输出引擎135可以基于调用的应用的定制版本的一个或多个角色值来改变输出的话音的音调、性别、说话速度、和/或其他特点。在框420的一些实施方式中,提示可以是在初始迭代中始终为定制版本提供的“开始”提示。
在框425,接收用户的自然语言响应。可以通过与输入处理引擎112共享特点的组件来分析自然语言响应,然后输入处理引擎112可以从输入确定一个或多个词语和/或实体。
在框430,提供响应内容。可以基于框425的接收到的输入、定制版本的结构化内容、以及定制版本的角色值来生成响应内容。
在提供响应内容之后,可以在框425的另一迭代处接收用户的附加自然语言响应,并且在框430的另一迭代处再次生成并提供附加的响应内容。这可以继续进行直到完成定制版本,在框425的自然语言响应的实例指示期望停止与定制版本的交互,和/或满足其他条件。
图5是示出了根据本文公开的实施方式的另一示例方法的流程图。图5示出了训练机器学习模型(例如,神经网络模型)以用于选择角色值的示例。为了方便起见,参考执行操作的系统来描述图5的流程图的操作。该系统可以包括各种计算机系统的各种组件。此外,尽管以特定顺序示出了图5的方法的操作,但是这并不意味着具有限制意义。一个或多个操作可以被重新排序、省略或添加。
在框552,系统选择交互式对话应用的定制版本的结构化内容和角色值。作为一个示例,可以从数据库158选择结构化内容和角色值,并且角色值可能已经由对应的创建者明确指示和/或由对应的创建者确认为期望的角色值。
在框554,系统基于结构化内容和角色值来生成训练实例。框554包括子框5541和子框5542。
在子框5541,系统基于结构化内容并且可选地基于定制版本所对应的交互式对话应用的指示,生成训练实例的训练实例输入。在一些实施方式中,另外或替代地,系统基于基于结构化内容确定的实体来生成训练实例的训练实例输入。作为一个示例,训练实例输入可以包括交互式对话应用的指示、以及来自结构化内容的词语的子集,诸如标题和前X个词语、或X个最频繁出现的词语。例如,训练实例输入可以包括具有最高TFIDF值的结构化内容的50个词语、以及指示交互式对话应用的值。作为另一示例,训练实例输入可以包括交互式对话应用的指示、以及结构化内容的一些(或全部)词语(和/或其他内容)的嵌入。例如,结构化内容的词语的嵌入可以是利用单独模型生成的Word2Vec嵌入。
在子框5542,系统基于角色值生成训练实例的训练实例输出。例如,训练实例输出可以包括X个输出,每个输出代表离散的角色。对于给定训练实例,训练实例输出可包括:针对与方框552的角色值所符合的离散角色相对应的输出的“1”(或其他“正”值),而针对所有其他输出的“0”(或其他“负”值)。作为另一示例,训练实例输出可以包括Y个输出,每个Y表示角色特点。对于给定训练实例,训练实例输出可包括:对于Y个输出中的每一个输出,指示在框552的角色值中由该输出表示的角色特点的角色值的值。例如,Y个输出中的一个输出可以指示“形式主义”的程度,并且如果框552的对应角色值是“非正式”,则该输出的训练实例输出可以是“0”(或其他值),并且如果框552的对应角色值是“正式”,则为“1”(或其他值)。
在框556,系统确定是否存在要处理的交互式对话应用的附加定制版本。如果存在,则系统使用来自附加定制版本的结构化内容和角色值重复框552和框554。
可以在框552、框554和框556的多次迭代之后或与之并行地执行框558-566。
在框558,系统选择在框554的迭代中生成的训练实例。
在框560,系统将训练实例作为输入应用于机器学习模型。例如,机器学习模型可以具有与在子框5541生成的训练实例输入的尺寸相对应的输入尺寸。
在框562,系统基于所应用的训练实例输入通过机器学习模型来生成输出。例如,机器学习模型可具有与在子框5541生成的训练实例输出的尺寸相对应的输出尺寸(例如,输出的每个尺寸可对应于角色特点)。
在框564,系统基于所生成的输出和训练实例输出来更新机器学习模型。例如,系统可以基于在框562生成的输出和训练实例输出来确定错误,并通过机器学习模型反向传播错误。
在框566,系统确定是否存在一个或多个附加的未处理的训练实例。如果存在,则系统返回到框558,选择附加的训练实例,然后基于附加的未处理的训练实例执行框560、框562和框564。在一些实施方式中,在框566,如果已经满足一个或多个训练准则(例如,阈值数量的时期已经发生和/或阈值训练时间已经发生),则系统可以确定不处理任何附加的未处理的训练实例。尽管相对于非分批学习技术描述了方法500,但是,另外和/或可替代地,可以利用分批学习。
此后,根据图5的方法训练的机器学习模型可以被用于基于交互对话应用的定制版本的由创建者指示的结构化内容和/或其他内容来预测该定制版本的角色值。例如,图2的结构化内容可以被提供作为模型的输入,并且个性角色参数可以是概率为0.8的“教师”和概率为0.2的“女王”值。这可以表明,基于结构化内容,与女王个性相比,用户更有可能对具有教师个性的测验应用感兴趣。
相对于可以生成和利用的角色选择模型的一个示例来描述图5。但是,在选择一个或多个角色值时可以利用另外和/或可替代的角色选择模型,诸如本文描述的替代方案。可选地,这样的另外和/或可替代的角色选择模型可以是基于随着关于图5描述的训练实例变化的训练实例而训练的机器学习模型。
作为一个示例,可以基于各种用户过去对角色值的明确选择来生成选择模型,并且另外或可替代地,此类选择模型可以被用于选择特定角色值。例如,在一些实施方式中,可以向用户呈现多个角色值的指示,并且可以利用用户对多个角色值中的单个角色值的选择来从多个值中选择单个角色值。可以利用多个用户的这种明确选择来生成选择模型。例如,可以生成与上述类似的训练实例,但是可以基于由用户选择的角色值来生成每个训练实例的训练实例输出。例如,对于训练实例,针对与所选个性角色值(诸如“教师”个性)相对应的输出尺寸,可以利用“1”(或其他“正值”),并且针对与所有其他角色值相对应的每个输出尺寸,可以利用“0”(或其他“负”值)。而且,例如,对于训练实例,针对与所选角色值相对应的输出尺寸,可以利用“1”(或其他“正值”),针对与呈现给用户但未被选择的其他角色值相对应的输出尺寸,可以利用“0.5”(或其他“中间值”),并且针对与所有其他角色值相对应的每个输出尺寸,可以利用“0”(或其他“负”值)。按照这种和其他方式,可以在生成一个或多个角色选择模型时平衡用户对角色值的明确选择。
如关于图1所提到的,编索引模块122从用户接收结构化内容,并且在索引152中基于与结构化内容相关的一个或多个实体来对对应的定制版本编索引。在存储了应用的定制版本以及相关实体的指示之后,可以对后续用户的自然语言输入进行词语解析,并且可以通过实体模块128在实体数据库154中标识与所解析的词语相关的实体。通过允许在对用户创建的应用编索引时的灵活性,因此用户和/或后续用户不需要知道确切的调用短语。相反,编索引模块122允许用户通过提供自然语言输入来“发现”内容,该自然语言输入指示例如所服务的内容的期望主题。
作为工作示例,用户可以为包括有关州首府的问题的测验应用提供结构化内容。因此,答案(正确答案和错误答案)可以是城市名称,而各个问题都包括州名(或反之亦然)。如前所述,结构化内容可以由内容输入引擎130接收。此外,可以为结构化内容提供动态对话应用的指示,并且可选地,提供调用短语,以在将来调用该应用的定制版本中的内容。在解析结构内容之后,内容输入引擎130可以向实体模块128提供所解析的内容,实体模块128然后可以标识实体数据库154中的一个或多个相关实体。回到工作示例并参考图6,提供了多个节点的图。每个节点包括实体的别名,并表示实体数据库154的一部分。节点包括州首府,包括“Sacramento(萨克拉门托)”610、“Columbus(哥伦布)”645、“Albany(阿尔巴尼)”640、和“Olympia(奥林匹亚)”635。此外,该图包括表示相关实体的节点。例如,所有的州首府节点都连接到“state capital cities(州首府城市)”节点625。
当接收到与州首府测验应用相关的结构化内容时,实体模块128可以标识图中与该结构化内容相关的节点。例如,结构化内容可以包括“What is the capital ofCalifornia(加利福尼亚的首府是什么)?”的问题提示,回答可能是“Sacramento”和“LosAngeles(洛杉矶)”。然后,可以标识图的对应节点。实体模块128然后可以向编索引模块122提供对应节点的指示和/或与节点相关的实体的指示。例如,州首府测验还可以包括问题“What is the capital of New York(纽约的首府是什么)?”,答案选择为“Albany”,并且实体模块128可以将“State Capital Cities(州首府城市)”的节点标识为链接“Sacramento”610和“Albany”640的节点的一般类别。
在一些实施方式中,实体模块128可以仅标识与一些结构化内容相关的节点。例如,在测验应用中,实体模块128可以仅标识与正确答案相关而不与错误答案相关的节点,以避免将错误的实体与结构化内容相关联。在一些实施方式中,如果用户提供了调用短语,则实体模块128可以进一步标识与调用短语相关的实体。例如,用户可以提供调用短语“Capital Cities(首府城市)”,并且实体模块128可以标识“State Capital Cities”625。
在一些实施方式中,可以对结构化内容和一个或多个实体之间的关系进行加权。例如,实体模块128可以将权重分配给从测验应用中的正确答案标识的实体,具有指示比与结构化内容中的错误答案相关的实体更相关的分值。此外,实体模块128可以基于与结构化内容和实体两者都相关的实体的数量来权衡与类别或其他实体的关系。例如,对于包括“Sacramento”610、“Olympia”635、和“Albany”640的结构化内容,实体模块128可以权衡与“State Capital Cities”625的关系比“Western U.S.Cities(美国西部城市)”630的关系高,因为与结构化内容相关的更多实体与“State Capital Cities”625相关。
编索引模块122然后用一个或多个实体来对应用的定制版本编索引。在一些实施例中,编索引模块122可以用所有标识的实体来对应用的定制版本编索引。在一些实施方式中,编索引模块122可以仅用关系分值超过阈值的那些实体来对定制版本编索引。在一些实施方式中,编索引模块122可以利用一个或多个训练模型来确定在对应用的定制版本编索引中使用哪个实体。
输入处理引擎112可以从用户接收自然语言输入,并基于用定制版本编索引的实体来标识交互式对话应用的定制版本以提供给用户。参考图7,自然语言输入181由输入处理引擎112接收,如前所述。输入处理引擎112解析输入以标识输入中的一个或多个词语。例如,用户可以说短语“Give me a state capital quiz(让我进行州首府测验)”,并且输入处理引擎112可以将词语“State(州)”、“State Capital(州首府)”、和“Quiz(测验)”标识为解析的输入181。可以将一些解析的输入181提供给实体模块128,实体模块128然后标识实体数据库中的一个或多个相关实体183。在一些实施方式中,实体模块128可以基于解析的输入181和已标识的实体之间的关联的数量,将权重分配给已标识的实体。
编索引模块122接收相关实体183(以及关联的权重,如果分配有的话),并标识由包括在相关实体183中的实体编索引的应用184的一个或多个定制版本。例如,实体模块128可以将“State Capital Cities”标识为相关实体的别名,并且编索引模块122可以将示例定制版本标识为要提供给用户的版本。在一些实施方式中,编索引模块122可以标识应用的多个潜在版本,并基于由实体模块128分配给相关实体183的权重来选择版本之一。
在一些实施方式中,编索引模块122可以标识多个潜在版本,并且可以向用户提供包括来自多个潜在版本的内容的版本。例如,编索引模块122可以标识“State CapitalCity”测验应用,并且可以基于与第二版本相关联的实体和相关实体,在定制内容数据库158中进一步标识第二“State Capital City”测验。可选地,编索引模块122可以在这样的标识中利用索引152(图1)。因此,即使不相关的用户创建了两个版本,也可以向用户提供包括来自多个源的结构化内容的混合应用,该结构化内容被无缝地呈现为单个版本。
图8示出了用户101、语音启动型客户端设备806、以及可以在用户101和与客户端设备806相关联的自动化助理之间进行的对话的示例,该自动化助理可以访问交互式对话应用的定制版本。客户端设备806包括一个或多个麦克风和一个或多个扬声器。图1的自动化助理110的一个或多个方面可以在客户端设备806和/或与客户端设备806进行网络通信的一个或多个计算设备上实现。因此,为了便于解释,在图8的描述中引用了自动化助理110。
用户输入880A是动态交互式测验应用的定制版本的调用短语。该输入由输入处理引擎112接收,输入处理引擎112将“quiz(测验)”标识为与定制应用有关。因此,如上所述,输入处理引擎112向调用引擎160提供解析的输入。在一些实施方式中,调用引擎160可以确定该输入不包含明确调用短语,并且可以向编索引模块122提供该输入以确定一个或多个输入实体,并且标识由可以被所提供的输入调用的相关实体编索引的版本。
在输出882A中,提供了提示。该提示以“教师”角色提供,并将用户称为“同学”中的学生。在输出882B,提示中包括非言语声音(即,铃声),并且该非言语声音还可以是“教师”角色的一部分和/或与一个或多个角色值相关。该提示还包括问题形式的结构化内容。
在用户输入880B,用户提供答案。输入处理引擎112解析该输入并将解析后的输入提供给对话模块126。对话模块126验证输入正确(即,与结构化内容中的正确答案相匹配)并生成新的对话回合以提供给用户。此外,输出882C包括结构化内容以及基于与应用的版本相关联的角色或角色值生成的对话。用户在用户输入880C处做出错误响应,并且由对话模块126生成的下一个输出882D警告该错误答案。作为替代示例,如果结构化内容已经指示测验更适合幼儿,则输出882D可能已经提供了更多鼓励性的词汇,允许进行第二次猜测,和/或向用户提供提示,而不是图8所示的对话。在用户输入880F,用户指示希望结束应用。这可以是标准调用短语和/或指示自动化助理停止向定制应用发送输入的多个短语之一。
图9示出了用户101、语音启动型客户端设备806、以及可以在用户101和与客户端设备806相关联的自动化助理之间发生的对话的另一示例,该自动化助理可以访问交互式对话应用的定制版本,该对话具有与图8的对话的角色值不同的一个或多个角色值,但具有相同的结构化内容。在用户输入980A,用户以与图8中的对话相同的方式调用定制版本。
在输出982A,提供了提示。在此对话中,定制版本不是与“教师”角色关联,并将用户称为“subject(臣民)”,而不是像上一示例中的“class(同学)”。对话模块126可以标识在该输出处需要用户的头衔,并且基于与应用的版本相关联的角色值,确定“女王”角色利用“subject”作为用户的名称。在输出982B,提示中包括不同的非言语声音(即,喇叭),并且该非言语声音还可以是“女王”角色的一部分和/或与一个或多个角色值相关。对话模块126可以根据一个或多个相关联的角色值在提示中插入不同的声音。该提示还包括问题形式的相同结构化内容。
在用户输入980B,用户提供答案。这是与先前在图8的该用户输入步骤提供的答案相同的答案,并且对话模块126以相同的方式处理响应。此外,输出982C包括结构化内容以及基于与应用的版本相关联的角色或角色值而生成的对话,该对话又被定制为与针对定制版本选择的一个或多个角色值相匹配。用户在用户输入980C错误地做出响应,并且由对话模块126生成的下一个输出982D警告该错误答案,尽管使用的词语不同于图8中的词语。在用户输入980F,用户指示希望结束应用。这可以是标准调用短语和/或指示自动化助理停止向定制应用发送输入的多个短语之一。
尽管上面针对琐事交互式对话应用描述了一些示例,但是应当理解,各种实现方式可以与各种类型的交互式对话应用一起使用。例如,在一些实施方式中,提供的结构化内容可以是公共汽车时间表、火车时间表、或其他运输时间表。例如,结构化内容可以是公共汽车时间表,该公共汽车时间表包括多个停靠站(例如,交叉路口)和那些停靠站中的每一个的时间。交互式对话应用可以包括固定代码,该固定代码使得能够以会话的方式对各种查询做出响应。在执行基于公共汽车时刻表的定制版本时,交互式对话应用可以利用固定代码来确定响应于各种查询要提供的响应类型,并利用结构化内容来确定在对各种查询的各种响应中要提供的至少一些内容。
图10是可选地被用于执行本文描述的技术的一个或多个方面的示例计算设备1010的框图。在一些实施方式中,客户端设备106、自动化助理110、和/或其他组件中的一个或多个可以包括示例计算设备1010的一个或多个组件。
计算设备1010通常包括至少一个处理器1014,该处理器1014经由总线子系统1012与多个外围设备进行通信。这些外围设备可以包括存储子系统1024,包括:例如,存储器子系统1025和文件存储子系统1026、用户界面输出设备1020、用户界面输入设备1022、和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口并耦合到其他计算设备中的对应接口设备。
用户界面输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板之类的指向设备、扫描仪、并入显示器中的触摸屏、诸如语音识别系统、麦克风之类的音频输入设备、和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算设备1010中或输入到通信网络上的所有可能类型的设备和方式。
用户界面输出设备1020可以包括显示子系统、打印机、传真机、或诸如音频输出设备之类的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)之类的平板设备、投影设备、或用于创建可视图像的其他机构。显示子系统还可以诸如经由音频输出设备来提供非可视显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备1010输出到用户或另一机器或计算设备的所有可能类型的设备和方式。
存储子系统1024存储提供本文描述的一些或所有模块的功能性的编程和数据构造。例如,存储子系统1024可以包括用于执行本文描述的各种方法的所选方面的逻辑。
这些软件模块通常由处理器1014单独执行或与其他处理器组合执行。在存储子系统1024中使用的存储器子系统1025可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1130以及存储有固定指令的只读存储器(ROM)1032。文件存储子系统1026可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光盘驱动器、或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统1026存储在存储子系统1124中,或者存储在处理器1014可访问的其他机器中。
总线子系统1012提供了用于使计算设备1010的各个组件和子系统按预期彼此通信的机构。尽管总线子系统1012被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备1010可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场、或任何其他数据处理系统或计算设备。由于计算机和网络的随时变化性质,对图10中描绘的计算设备1010的描述仅仅作为用于说明一些实施方式的具体示例。计算设备1010的许多其他配置也可以具有比图10中描绘的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其他电子通信提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物信息、以及用户的活动和人口统计信息)的情况下,向用户提供控制是否收集信息、是否存储个人信息、是否使用个人信息、以及如何收集、存储和使用关于用户的信息的一次或多次机会。即,本文讨论的系统和方法的实施方式仅在接收到来自相关用户允许这样做的明确授权之后才收集、存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集关于该特定用户或与该程序或特征相关的其他用户的用户信息的控制。向要收集其个人信息的每个用户呈现一个或多个选项,以允许对与该用户相关的信息收集进行控制,以提供针对是否收集信息以及收集哪些部分信息的许可或授权。例如,可以通过通信网络向用户提供一个或多个此类控制选项。另外,在存储或者使用某些数据之前,可以按照一种或者多种方式来处理所述某些数据,使得可以去除个人可识别信息。作为一个示例,可以处理用户的身份,使得无法确定个人可识别信息。作为另一示例,可以将用户的地理位置泛化到更大的区域,使得无法确定用户的特定位置。

Claims (12)

1.一种通过一个或多个处理器实现的方法,包括:
经由一个或多个网络接口,接收:
可执行动态交互式对话应用的指示,
用于生成所述可执行动态交互式对话应用的定制版本的结构化内容,以及
针对所述可执行动态交互式对话应用的所述定制版本的至少一个调用短语,
其中,所述指示、所述结构化内容、和所述至少一个调用短语是响应于用户与客户端设备的交互而在由所述用户的所述客户端设备生成的一个或多个数据包中传送的;
处理所述结构化内容以自动选择多个角色值,其中,每个角色由多个角色值表示,其中,所述结构化内容未明确指示所述角色值,并且其中,处理所述结构化内容以自动选择所述多个角色值包括:
应用所述结构化内容中的至少一些,作为受训机器学习模型的输入;
使用所述受训机器学习模型来处理所述结构化内容中的所述至少一些以生成一个或多个输出值;以及
基于所述一个或多个输出值来选择所述角色值;
在接收到所述指示、所述结构化内容、和所述至少一个调用短语之后,并且在自动选择所述多个角色值之后:
接收经由所述客户端设备或附加客户端设备的助理界面提供的自然语言输入;
确定所述自然语言输入与针对所述可执行动态交互式对话应用的所述定制版本的所述调用短语相匹配;
响应于确定所述自然语言输入与所述调用短语相匹配:
执行所述可执行动态交互式对话应用的所述定制版本,
其中,执行所述可执行动态交互式对话应用的所述定制版本包括:生成多个输出实例以用于经由所述助理界面呈现,所述多个输出实例中的每一个都是针对在所述可执行动态交互式对话应用执行期间的对应对话回合并且是使用所述结构化内容且使用所述角色值中的一个或多个对应角色值生成的。
2.根据权利要求1所述的方法,其中,所选择的多个角色值由所述用户确认。
3.根据权利要求1所述的方法,其中,选择多个角色值还包括处理由所述用户提供的其他输入以自动选择所述多个角色值。
4.根据权利要求1所述的方法,其中,所述一个或多个输出值包括第一角色的第一概率和第二角色的第二概率,并且其中基于所述一个或多个输出值来选择所述角色值包括:
基于所述第一概率和所述第二概率,优先于所述第二角色选择所述第一角色;以及
响应于所述第一角色被选择,选择在至少一个数据库中被分配给所选择的第一角色的所述角色值。
5.根据权利要求1所述的方法,进一步包括:
应用所述可执行动态交互式对话应用的所述指示,作为所述受训机器学习模型的附加输入;以及
使用所述受训机器学习模型来处理所述指示和所述结构化内容中的所述至少一些以生成所述一个或多个输出值。
6.根据权利要求1所述的方法,其中,处理所述结构化内容以自动选择所述多个角色值包括:
基于所述结构化内容来确定一个或多个实体;
应用所述实体中的至少一些,作为受训机器学习模型的输入;
使用所述受训机器学习模型来处理所述实体中的所述至少一些以生成一个或多个输出值;以及
基于所述一个或多个输出值来选择所述角色值。
7.根据权利要求1所述的方法,进一步包括:在使用所述受训机器学习模型来处理所述结构化内容中的所述至少一些之前,
从一个或多个数据库标识多个先前用户提交,所述先前用户提交中的每一个包括先前提交的结构化内容和对应的先前提交的角色值,所述先前提交的角色值由对应用户明确地选择;
基于所述先前用户提交来生成多个训练实例,所述训练实例中的每一个是基于所述先前用户提交中的一个对应先前用户提交来生成的并且包括训练实例输入和训练实例输出,所述训练实例输入是基于所述先前用户提交中的所述一个对应先前用户提交的所述先前提交的结构化内容,所述训练实例输出是基于所述先前用户提交中的所述一个对应先前用户提交的所述先前提交的角色值;以及
基于所述多个训练实例来训练所述受训机器学习模型。
8.根据权利要求7所述的方法,其中,训练所述机器学习模型包括:
使用所述受训机器学习模型来处理所述训练实例中的给定训练实例的所述训练实例输入;
基于所述处理来生成预测输出;
基于将所述预测输出与所述给定训练实例的所述训练实例输出相比较,生成错误;以及
使用所述错误,基于反向传播,更新所述受训机器学习模型。
9.根据权利要求1-8中的任一项所述的方法,其中,处理所述结构化内容包括:从由所述用户指定的文档解析所述结构化内容。
10.根据权利要求1-8中的任一项所述的方法,其中,所述角色值与所述对话的音调、所述对话的语法、以及与所述对话一起提供的非言语声音中的至少一种相关。
11.计算装置,所述计算装置被配置为执行根据权利要求1至10中任一项所述的方法。
12.一种存储指令的非易失性计算机可读存储介质,所述指令在被计算装置执行时使所述计算装置执行根据权利要求1至10中任一项所述的方法。
CN201880038755.7A 2017-10-03 2018-10-03 基于创建者提供的内容定制交互式对话应用的方法、系统 Active CN110730953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310995950.1A CN117112097A (zh) 2017-10-03 2018-10-03 基于创建者提供的内容来定制交互式对话应用

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762567729P 2017-10-03 2017-10-03
US62/567,729 2017-10-03
US15/838,278 US10453456B2 (en) 2017-10-03 2017-12-11 Tailoring an interactive dialog application based on creator provided content
US15/838,278 2017-12-11
PCT/US2018/054123 WO2019070823A1 (en) 2017-10-03 2018-10-03 CUSTOMIZING AN INTERACTIVE DIALOGUE APPLICATION FROM A CREATOR PROVIDED CONTENT

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310995950.1A Division CN117112097A (zh) 2017-10-03 2018-10-03 基于创建者提供的内容来定制交互式对话应用

Publications (2)

Publication Number Publication Date
CN110730953A CN110730953A (zh) 2020-01-24
CN110730953B true CN110730953B (zh) 2023-08-29

Family

ID=65896215

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310995950.1A Pending CN117112097A (zh) 2017-10-03 2018-10-03 基于创建者提供的内容来定制交互式对话应用
CN201880038755.7A Active CN110730953B (zh) 2017-10-03 2018-10-03 基于创建者提供的内容定制交互式对话应用的方法、系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310995950.1A Pending CN117112097A (zh) 2017-10-03 2018-10-03 基于创建者提供的内容来定制交互式对话应用

Country Status (7)

Country Link
US (4) US10453456B2 (zh)
EP (1) EP3516512A1 (zh)
JP (2) JP7204690B2 (zh)
KR (3) KR20220124295A (zh)
CN (2) CN117112097A (zh)
AU (3) AU2018345706B2 (zh)
WO (1) WO2019070823A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701003B2 (en) 2018-05-21 2020-06-30 Slack Technologies, Inc. Systems and methods for initiating external actions via a group-based communication system
US10978069B1 (en) * 2019-03-18 2021-04-13 Amazon Technologies, Inc. Word selection for natural language interface
US11748660B2 (en) * 2020-09-17 2023-09-05 Google Llc Automated assistant training and/or execution of inter-user procedures
CN112329453B (zh) * 2020-10-27 2024-02-27 北京百度网讯科技有限公司 样本章节的生成方法、装置、设备以及存储介质
US20220222437A1 (en) * 2021-01-08 2022-07-14 Nice Ltd. Systems and methods for structured phrase embedding and use thereof
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
US11900933B2 (en) * 2021-04-30 2024-02-13 Edst, Llc User-customizable and domain-specific responses for a virtual assistant for multi-dwelling units
US11720228B2 (en) 2021-08-05 2023-08-08 Evernorth Strategic Development, Inc. Systems and methods for transforming an interactive graphical user interface according to machine learning models
CN114997140B (zh) * 2021-09-17 2023-04-28 荣耀终端有限公司 校验语义的方法和装置
EP4217891A1 (en) 2021-12-14 2023-08-02 Google LLC System(s) and method(s) for enabling a representative associated with an entity to modify a trained voice bot associated with the entity
US11847473B1 (en) 2022-07-07 2023-12-19 Evernorth Strategic Development, Inc. Adaptive graphical user interfaces for synthesized time-windowed machine learning models
US11822894B1 (en) * 2022-12-30 2023-11-21 Fmr Llc Integrating common and context-specific natural language understanding processing in a virtual assistant application
CN117574327A (zh) * 2023-12-14 2024-02-20 盐城市崇达石化机械有限公司 一种压裂泵故障检测方法、系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023783A (ja) * 2000-07-13 2002-01-25 Fujitsu Ltd 対話処理システム
CN1943218A (zh) * 2004-02-17 2007-04-04 语音信号科技公司 多模态嵌入界面的可替换定制的方法和设备
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN104508629A (zh) * 2012-07-25 2015-04-08 托伊托克有限公司 人工智能脚本工具
CN104769584A (zh) * 2012-07-31 2015-07-08 韦韦欧股份有限公司 在对话交互中消除用户意图歧义
CN105719648A (zh) * 2016-04-22 2016-06-29 百度在线网络技术(北京)有限公司 个性化无人车交互方法及无人车
CN106294726A (zh) * 2016-08-09 2017-01-04 北京光年无限科技有限公司 基于机器人角色交互的处理方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3286354B2 (ja) * 1992-09-21 2002-05-27 三洋電機株式会社 ピッチパターンの生成方法
US6144938A (en) 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
JP2000339338A (ja) * 1999-05-31 2000-12-08 Mitsubishi Electric Corp 事例検索装置
US20030167167A1 (en) 2002-02-26 2003-09-04 Li Gong Intelligent personal assistants
JP2003255991A (ja) * 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
US7877257B2 (en) 2004-09-27 2011-01-25 Robert Bosch Corporation Method and system to parameterize dialog systems for the purpose of branding
KR100807307B1 (ko) * 2006-07-10 2008-02-28 한국전자통신연구원 대화형 음성 인터페이스 시스템 및 그 응답 방법
JP2011192029A (ja) * 2010-03-15 2011-09-29 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置及び方法及びプログラム
JP2012198277A (ja) * 2011-03-18 2012-10-18 Toshiba Corp 文書読み上げ支援装置、文書読み上げ支援方法および文書読み上げ支援プログラム
US9082402B2 (en) 2011-12-08 2015-07-14 Sri International Generic virtual personal assistant platform
WO2014039106A1 (en) * 2012-09-10 2014-03-13 Google Inc. Answering questions using environmental context
US20140278403A1 (en) * 2013-03-14 2014-09-18 Toytalk, Inc. Systems and methods for interactive synthetic character dialogue
US9355378B2 (en) * 2013-03-14 2016-05-31 American Express Travel Related Services Company, Inc. Systems and methods for identifying and delivering tailored content based upon a service dialog
WO2015040751A1 (ja) * 2013-09-20 2015-03-26 株式会社東芝 音声選択支援装置、音声選択方法、およびプログラム
US9606977B2 (en) * 2014-01-22 2017-03-28 Google Inc. Identifying tasks in messages
JP6340351B2 (ja) * 2015-10-05 2018-06-06 日本電信電話株式会社 情報検索装置、辞書作成装置、方法、及びプログラム
US10217453B2 (en) 2016-10-14 2019-02-26 Soundhound, Inc. Virtual assistant configured by selection of wake-up phrase

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023783A (ja) * 2000-07-13 2002-01-25 Fujitsu Ltd 対話処理システム
CN1943218A (zh) * 2004-02-17 2007-04-04 语音信号科技公司 多模态嵌入界面的可替换定制的方法和设备
CN104508629A (zh) * 2012-07-25 2015-04-08 托伊托克有限公司 人工智能脚本工具
CN104769584A (zh) * 2012-07-31 2015-07-08 韦韦欧股份有限公司 在对话交互中消除用户意图歧义
CN102866990A (zh) * 2012-08-20 2013-01-09 北京搜狗信息服务有限公司 一种主题对话方法和装置
CN105719648A (zh) * 2016-04-22 2016-06-29 百度在线网络技术(北京)有限公司 个性化无人车交互方法及无人车
CN106294726A (zh) * 2016-08-09 2017-01-04 北京光年无限科技有限公司 基于机器人角色交互的处理方法及装置

Also Published As

Publication number Publication date
AU2021203758A1 (en) 2021-07-08
US20200051568A1 (en) 2020-02-13
JP7204690B2 (ja) 2023-01-16
US20190103104A1 (en) 2019-04-04
KR20210156344A (ko) 2021-12-24
JP2023040118A (ja) 2023-03-22
KR102342172B1 (ko) 2021-12-23
AU2018345706A1 (en) 2020-01-02
CN117112097A (zh) 2023-11-24
AU2022221524B2 (en) 2023-05-25
KR20200007891A (ko) 2020-01-22
KR102439740B1 (ko) 2022-09-02
AU2021203758B2 (en) 2022-06-16
KR20220124295A (ko) 2022-09-13
EP3516512A1 (en) 2019-07-31
US10453456B2 (en) 2019-10-22
US10796696B2 (en) 2020-10-06
WO2019070823A1 (en) 2019-04-11
AU2018345706B2 (en) 2021-04-01
AU2022221524A1 (en) 2022-09-22
US10650821B1 (en) 2020-05-12
US20200265841A1 (en) 2020-08-20
CN110730953A (zh) 2020-01-24
US10573315B1 (en) 2020-02-25
JP2020536265A (ja) 2020-12-10

Similar Documents

Publication Publication Date Title
CN110730953B (zh) 基于创建者提供的内容定制交互式对话应用的方法、系统
JP7063932B2 (ja) 適切なエージェントの自動化アシスタント呼び出し
KR102048030B1 (ko) 자동화 어시스턴트와의 단대단 다국어 통신 촉진
US10418032B1 (en) System and methods for a virtual assistant to manage and use context in a natural language dialog
CN111033492B (zh) 为自动化助手提供命令束建议
KR102355988B1 (ko) 맥락을 인식하는 인간-대-컴퓨터 대화
JP2017058673A (ja) 対話処理装置及び方法と知能型対話処理システム
KR102345615B1 (ko) 사용자 구성의 맞춤형 인터렉티브 대화 애플리케이션
US12013887B2 (en) Contextual estimation of link information gain
US20230342384A1 (en) Contextual estimation of link information gain
Rupitz et al. Development of an Amazon Alexa App for a University Online Search
Ebner et al. Development of an Amazon Alexa app for a university online search

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
GR01 Patent grant
GR01 Patent grant