CN110301004B - 可扩展对话系统 - Google Patents

可扩展对话系统 Download PDF

Info

Publication number
CN110301004B
CN110301004B CN201880012230.6A CN201880012230A CN110301004B CN 110301004 B CN110301004 B CN 110301004B CN 201880012230 A CN201880012230 A CN 201880012230A CN 110301004 B CN110301004 B CN 110301004B
Authority
CN
China
Prior art keywords
utterance
user
dialog
actions
interface
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
CN201880012230.6A
Other languages
English (en)
Other versions
CN110301004A (zh
Inventor
P·S·梁
D·L·W·豪尔
J·J·克劳斯曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202310951039.0A priority Critical patent/CN116991971A/zh
Priority claimed from PCT/US2018/019556 external-priority patent/WO2018156978A1/en
Publication of CN110301004A publication Critical patent/CN110301004A/zh
Application granted granted Critical
Publication of CN110301004B publication Critical patent/CN110301004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • 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/90335Query processing
    • G06F16/90344Query processing by using string matching 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

一种系统,允许非工程师管理员在没有编程、机器语言或人工智能系统知识的情况下扩展对话系统的能力。对话系统可以具有知识系统、用户界面和学习模型。用户界面允许非工程师利用由一小组原语和简单语言定义的知识系统来注释用户话语。注释可以包括基于话语和后续动作选择要采取的动作,以及配置关联。随着动作和关联的发生,对话状态不断更新并且提供给用户。基于动作、关联和对话状态生成允许计算各种结果的规则。

Description

可扩展对话系统
相关申请的交叉引用
本申请要求于2017年2月23日提交的题为“Expandable Dialogue Systems”的美国临时专利申请No.62/462,736的优先权权益,其公开内容并入本文。
背景技术
现有技术的语音生成系统不能以允许非专家管理员扩展系统能力的方式扩展。相反,现有技术的对话系统的改变和修改需要大量的工程和开发人员资源和时间。例如在世界中执行动作(查询API的动作)的面向目标的对话系统的一般问题是它们受到关于合成和预定义对话模式的约束的限制。合成对于支持来自少数基元的丰富功能非常重要。然而,为了在从弱监督中学习时限制组合爆炸,通常使用受约束的语法。这表示很多含义根本无法表达。所需要的是一种改进的对话系统,其在扩展时不需要像现有技术系统那样的大量工程资源。
发明内容
粗略描述的本技术是允许非工程师管理员在没有编程、机器语言或人工智能系统知识的情况下扩展对话系统的能力的系统。对话系统可以具有知识系统、用户界面和学习模型。用户界面允许非工程师利用由一小组原语和简单语言定义的知识系统来注释用户话语。注释可以包括基于话语和后续动作选择要采取的动作,以及配置关联。随着动作和关联的发生,对话状态不断更新并且提供给用户。基于动作、关联和对话状态生成允许计算各种结果的规则。
在实施例中,一种方法扩展了对话系统。该方法涉及通过用户界面从用户接收话语,该界面由在计算设备上执行的应用提供。基于话语自动提供可能动作列表。通过界面从用户接收一个或多个动作的选择。通过计算设备上的应用从用户接收输入以完成所选择的一个或多个动作中的至少一个。保持对话状态的表示,其中对话状态包括话语、所选择的一个或多个动作。基于话语、所选择的一个或多个动作和对话状态的表示自动生成规则。
附图说明
图1是实现对话扩展的系统的框图。
图2是示例性对话扩展系统的框图。
图3是示例性知识表示模块的框图。
图4是示例性学习模型的框图。
图5是示例性数据收集模型的框图。
图6是用于扩展对话系统的示例性方法。
图7是用于接收注释数据的示例性方法。
图8是用于通过用户界面接收注释数据的示例性方法。
图8是用于将规则应用于话语的示例性方法。
图10-图27示出了可扩展对话系统的示例性用户界面。
图28示出了由图8-25的用户界面生成的一组规则。
图29是用于实现本技术的示例性系统的框图。
具体实施方式
本技术提供了一种系统,该系统允许非工程师管理员在没有编程、机器语言或人工智能系统知识的情况下扩展对话系统的能力。对话系统可以具有知识系统、用户界面和学习模型。用户界面允许非工程师利用由一小组原语和简单语言定义的知识系统来注释用户话语。注释可以包括基于话语和后续动作选择要采取的动作,以及配置关联。随着动作和关联的发生,对话状态不断更新并且提供给用户。基于动作、关联和对话状态生成允许计算各种结果的规则。
本文中描述的可扩展对话系统具有优于现有技术的系统的优点。现有技术的语音生成系统不能以允许非专家管理员扩展系统能力的方式扩展。例如在世界上执行动作(查询API的动作)的面向目标的对话系统的一般问题是它们受到关于合成和预定义对话模式的约束的限制。合成对于支持来自少数基元的丰富功能非常重要。然而,为了在从弱监督中学习时限制组合爆炸,通常使用受约束的语法。这表示很多含义根本无法表达。系统通常不支持的一些示例是“12月的最后一周”或“在比赛开始前至少2小时到达那里”。如果只有开始和结束时间可用,即使像“飞行持续时间”这样的单个单词也需要合成;在这种情况下,需要减法。
现有的对话系统没有解决问题的能力。如果没有航班,现有技术系统不建议替代方案。如果存在歧义,现有技术系统不要求澄清。现有技术系统不向用户提供重要信息并且处理客户支持。这些模式中的每个通常被编码为现有技术系统中的对话模式并且以代码固定。为了扩展现有技术系统中的任何这些能力,需要工程师花费大量时间来开发代码。存在着不同现象的长尾,因此这种方法无法扩展到现实世界的场景。
图1是用于提供可以检测域外主题的自动化助理的系统的框图。图1的系统100包括客户端110、移动设备120、计算设备130、网络140、网络服务器150、应用服务器160和数据存储库170。客户端110、移动设备120和计算设备130通过网络140与网络服务器150通信。网络140可以包括专用网络、公共网络、因特网和内联网、WAN、LAN、蜂窝网络或适合于在图1的计算设备之间传输数据的某种其他网络。
客户端110包括应用112。应用112可以提供自动助理、TTS功能、自动语音识别、解析、域检测和本文中讨论的其他功能。应用112可以实现为一个或多个应用、对象、模块或其他软件。应用112可以通过图1的服务器架构或直接(图1中未示出)与应用服务器160和数据存储库170通信以访问数据。
移动设备120可以包括移动应用122。移动应用可以提供关于应用112描述的相同功能。移动应用122可以实现为一个或多个应用、对象、模块或其他软件,并且可以操作以结合应用服务器160提供服务。
计算设备130可以包括网络浏览器132。网络浏览器可以接收一个或多个内容页面、脚本代码和其他代码,这些代码在加载到网络浏览器中时提供关于应用112描述的相同功能。内容页面可以操作以结合应用服务器160提供服务。
网络服务器150可以经由网络140从应用112、移动应用122和网络浏览器132接收请求和数据。请求可以由特定应用或浏览器应用发起。网络服务器150可以处理请求和数据,传输响应,或者向应用服务器160传输请求和数据或其他内容。
应用服务器160包括应用162。应用服务器可以接收数据,包括从应用112和122以及浏览器132接收的数据请求,处理数据,以及向网络服务器150传输响应。在一些实现中,网络服务器152转发对最初发送的请求的计算机或应用的响应。应用的服务器160还可以与数据存储库170通信。例如,可以从数据存储库170访问数据以供应用使用以提供关于应用112描述的功能。应用服务器160包括应用162,除了全部或部分地在应用服务器160上实现之外,应用162可以与应用112类似地操作。
框200包括网络服务器150、应用服务器160和数据存储库170。对话扩展系统180与应用162通信。对话扩展系统可以用于扩展对话而无需大量工程或开发者资源和时间。关于图2更详细地讨论对话扩展180。
图2是示例性对话扩展系统的框图。图2的对话扩展系统提供了图1的对话扩展180的更多细节。图2的对话扩展200包括数据收集模块210、用户界面220、知识表示230、学习模型240和释义250。对话扩展200的每个模块可以实现本技术的可扩展对话系统的组件。
数据收集模块210可以处理可扩展对话系统的数据收集。数据收集可以包括从注释者收集给定域中的短语,使用短语子集或类似于短语的东西收集对话,接收注释,以及接收和管理释义注释对话。
用户界面模块220可以提供和更新一系列界面,用于接收话语、输入和其他信息,创建关联,以及配置动作,从而允许非专家以简单语言创建对话。在一些实例中,用户可以提供话语,选择一个或多个动作,提供输入,阐述关联,以及通过用户界面执行其他操作。参考图10-27讨论用户界面的示例。
知识表示230可以定义一小组基元和允许计算各种结果的简单语言。参考图3讨论示例性知识表示模块。
学习模型240可以从这种类型的监督中学习以概括为新的对话。参考图3讨论示例性学习模型。
以下是本文中讨论的用于提供系统中存在的事物类型的示例的一些示例动作。每个条目的形式为:动作_名称(输入_l:输入_类型_l,输入_n:输入_类型_n):输出_类型——动作的描述
创建_航班_搜索():航班搜索——为往返航班创建新的航班搜索。这封装了要执行的搜索的参数,而不是搜索的结果。
对_实体(文本:字符串):列表——将所提供的文本解析为实体列表。结果是异类列表。例如,对_实体(‘格鲁吉亚’)可以解析为包含格鲁吉亚州的州和地区的列表。
获取_机场(城市:城市):列表——查找城市的机场。结果是机场的列表。
获取_机场_代码(机场:机场):机场代码——查找机场的机场代码。
复述250可以接收文本输出或输入,并且生成具有单词的相似或相同含义的不同单词。可以由对话系统或可扩展对话系统更容易地处理文本输出或输入
除了与航班域相关联的动作之外,还存在跨域共享的很多动作,并且这些动作对于实现复杂任务是共同的。这些包括诸如:算术运算符、逻辑运算符、列表排序、列表过滤器、列表子集、列表映射和提取抽象路径。还有很多应用共有的域,这些域具有共享功能,诸如货币和日期操作。
尽管用五个模块210-250示出了对话框扩展200,但是可以包括更多或更少的模块,包括嵌套或子模块。此外,尽管模块被描述为操作以提供或构建对话扩展,但是本文中描述的其他功能也可以由模块执行。此外,对话框扩展的全部或部分可以位于单个服务器上,也可以分布在多个服务器上。
图3是示例性知识表示310的框图。图3的知识表示提供了图2的模块230的更多细节。知识表示模块由模式、状态数据、路径和对话数据组成。
模式320可以包括函数列表,其中每个函数可以包括类型签名(输入类型和输出类型的元组)。这些函数是用于通过对话系统产生行为的原语。函数和类型签名的示例包括
获取_国家:城市→国家;
执行_航班_搜索:航班搜索→列表;以及
合并多个字符串:列表,列表→列表。
状态330是(列表)值,其是诸如整数或结构化值等原始值。结构化值可以包含字段(名称,值)对的有序列表。在某些情况下,这用于表示字典(使用有序键)以及列表(使用空键)。每个状态代表暂存器,管理员和代理使用暂存器来协作构建共同点和代理动作的结果。
路径340是对状态的特定部分的引用(例如,当状态被实现为内容被排序的目录结构时)。形式上,原始路径可以是一系列索引,诸如[0].[0].[1]。当给定状态时,可以通过示出顶级的类型和字段名称来呈现路径,例如[0:航班搜索].部分.[l]。
对话由一系列转弯组成,其中每个转弯都由正在讲话的人(例如,代理或管理员)、话语和一系列动作组成。话语可以分为标记序列和一组释义。例如,从话语“我想飞往波士顿”,一系列动作可以是创建_航班_搜索()、BOS(波士顿):机场代码和[0:航班搜索].部分.[0].目的地+=_。每个动作采用状态(值列表)并且产生另一值。动作可以是原始动作或呼叫动作。
原始动作(类型,内容)将具有给定类型(例如,字符串、日期)的值内容添加到状态的结尾(例如,BOS(波士顿):机场代码)。到一阶近似的调用动作(函数、进_路径、出_路径、附加、出_字段、条件路径)提取位于路径中的值,将它们作为输入传递给函数,并且返回值。
可以由知识模块310实现若干附加复杂性。在某些情况下,如果出_路径是非空的,则本系统可以取出_路径的第一元素处的值,并且返回该版本,其中的出_路径已经更新。例如,对于[0:航班搜索].部分[0].最近_出发_时间=获取_时间([l:日期时间]),本系统将获取航班搜索对象,设置最近_出发_时间字段,并且然后返回该对象。本系统可以保持不变性。
如果附加为真,则附加函数的输出,例如[0:航班搜索].部分.[0].出发_日期+=[2:日期时间]。
在一些情况下,本技术不附加到列表而是附加结构化字段,在这种情况下也应当填充出_字段。
在一些实例中,路径可以在其中包含通配符,其中动作应用于与这些相匹配的所有路径。例如,“[0:航班搜索].部分.*.允许_航线+=[4:航线代码]”执行搜索的所有部分的操作。在某些情况下,可以使用使基本节点成为包含出_路径的所有通配符的最低节点匹配的节点的术语。
如果设置了条件路径,则本技术可以从该路径获取路径p,然后对所有基本节点执行动作,使得来自基本节点的随后p导致真实的布尔值。
总之,本技术包括定义的编程语言,其保持无限寄存器机器,其中每个动作产生新值,并且任何值可以用于以后的计算。每个动作都可以执行对基本节点执行'foreach(循环)'和'if(如果)'。
图4是示例性学习模型的框图。学习模型410为图2的模块240提供更多细节。学习模型包括理解组件420和生产组件430。
理解组件将上下文和用户话语转换为动作序列。生产组件将上下文转换为一系列操作和代理话语。每个理解和生产组件可以具有规则和特征——结构部分(规则集)和软部分(特征集)。规则的目的是具有相对较高的召回率。在一些情况下,本技术可以依赖于统计模型来对可能的输出进行排序。理解规则可以将标记和类别的序列映射到一系列动作。例如:“在$日期($l)之前离开”会产生[$1;航班搜索[-1].部分.[0].最近_出发_时间,日期时间[-1])。生产规则可以将上下文中的模式映射到一系列操作和自然语言。例如:航班搜索[-1].部分.[0].目的地=null"产生“你要去哪里?”。在某些情况下,特征可以很简单,并且可以匹配各种路径。特征的示例包括:
最后一句话中提到了短语_
路径_处的值是_
动作又_写到路径_
图5是示例性数据收集模型的框图。数据收集510包括短语520对话530。数据收集模块可以实现用于数据收集的多层方法。在一些情况下,数据收集模块510可以收集与给定域相关联的感兴趣的短语和单词,诸如红眼、最新航班、没有停靠、中途停留以及与预订航班相关联的其他内容。数据收集510还可以根据短语子集构造对话,其中对话使用短语或与其非常相似的东西,对话可以用动作注释,数据收集模块510还可以为注释对话提供释义。可以在给定当前对话的上下文量的情况下完成释义。
图6是用于扩展对话系统的示例性方法。在步骤610,可以接收短语数据。短语数据可以由数据收集模块从用户接收,并且可以与特定域相关联。在步骤620,可以接收基于短语数据的对话数据。在一些情况下,对话数据基于短语数据的子集。
在步骤630,可以接收话语。可以从代理(本技术)或正在扩展系统的管理员接收话语,并且可以通过由在计算设备上执行的应用提供的用户界面来接收话语。当从管理员接收时,可以接收话语作为文本或音频数据。
在步骤640,可以接收注释数据。注释数据可以应用于话语,和/或可以更新对话状态的表示。关于图7的方法更详细地讨论用于接收注释数据的更多细节。
在步骤650,可以生成并且显示对话状态的表示。对话状态表示可以指示谁正在讲话,以及话语、动作序列和关于对话的其他数据。对话状态表示的示例在图10-27中示出。
在步骤660,可以基于注释、动作和关联自动生成语法规则。语法规则可以由具有语法归纳功能的学习模型生成。给定对话,本系统将为每一行导出一组语法规则和一组特征。所提供的关联用作关于哪些特征相关以及如何划分用户话语并且跨越划分边界进行概括的信号。
在步骤670,可以将自动生成的语法规则应用于与第二对话数据集相关联的后续话语。作为步骤610-660的结果而生成的规则可以应用于其他域。规则的生成通过使用非工程师和开发者用户来扩展对话系统。
图7是用于接收注释数据的示例性方法。图7的方法提供了图6的方法的步骤640的更多细节。首先,在步骤710,在界面内自动提供可选择动作的列表。基于话语或其他用户动作自动收集和显示可选择动作。在步骤720,可以从列表接收对动作的选择。在步骤730,可以使用下拉菜单选择动作,将鼠标放在特定动作上,或者接收来自用户的关于所选择的动作的某个其他输入。例如,用户可以指示城市的名称、所提供的值、参数、或关于动作的一些其他数据。
在步骤740,可以创建源与一个或多个目标动作之间的关联。该关联允许系统了解它为什么采取特定动作,例如话语中的哪个单词触发了特定动作。
在一些实例中,所创建的关联提供话语与某些动作和生成之间的链接。关联具有源部分和目标部分。关联的每个部分要么是话语的范围,要么是动作的子序列,要么是状态中的路径。例如,对于更大的句子“我想要明天离开”,管理员可以创建以下关联来定义'明天':
明天:现在(_);获取_日期();l:数目;对_天(_);转发([3:日期时间],[4:日期时间])
当提供对话时,本对话系统为每个规则导出一组语法规则和一组特征。本系统使用所提供的关联作为关于哪些特征是相关以及如何划分用户话语并且跨越划分边界进行概括的信号。例如,如果当前系统具有从“明天”到一系列动作的关联,则可以从用于“明天离开”的更大规则中抽象出该形式。
标记可以被标识为“[离开[明天]]”,其中括号表示源关联。可以标识动作,例如,如下:
现在();对_日期时间();1;对_数目();对_天();下一个(日期时间[-l],持续时间[-l]);航班搜索[-1].部分.[0].出发_日期+=_.这将引起如下规则:离开$日期=>$根[$l;航班搜索[-l].部分.[0].出发_日期+=_]明天=>$日期[现在();对_日期时间();1;对_数目();对_天();下一个(日期时间[-l],持续时间[-l])]
本技术的对话系统可以由一个或多个应用实现,这些应用在用户的移动设备上实现,在远程服务器上实现,和/或分布在多个位置,通过对话与用户交互,例如通过短信或语音。应用可以接收和解释用户语音或文本,例如通过移动设备麦克风或触摸显示器。应用可以包括逻辑,该逻辑然后分析所解释的语音或文本并且执行诸如检索与从用户接收的输入相关的信息等任务。例如,如果用户向执行应用指示用户想要购买TV,则应用逻辑可以询问用户她是否想要与之前购买的相同的TV,询问价格信息,以及从用户收集附加信息。应用逻辑可以基于用户语音和逻辑获取的其他数据(例如,价格数据)来提出建议。在对话的每个步骤中,应用可以合成语音以共享应用具有什么信息,用户可能想要什么信息(建议)以及其他对话。应用可以实现虚拟智能助理,该助理允许用户进行自然语言对话以请求信息,控制设备或执行任务。通过允许会话人工智能与应用交互,该应用代表强大的新范例,以使得计算机能够进行通信、协作、理解我们的目标并且完成任务。
图8是用于通过用户界面接收注释数据的示例性方法。用户界面可以由对话扩展200的界面模块220提供。首先,在步骤810,生成并且实例化用户界面。用户界面可以包括对话状态区域、输入类型指示符、输入区域、动作区域。对话状态区域可以显示对对话状态做出的更新,例如采取或选择的动作、从用户接收的数据以及其他更新。输入类型指示符指示输入是什么,诸如逐字值或字符串。输入区域是允许用户提供输入的界面的专用部分。动作区域表示在处理用户话语时进行的动作。
在步骤815,界面可以从用户接收话语。然后,在步骤820,可以在对话状态区域中显示话语。然后,在步骤825,在动作区域中显示可能动作列表。在步骤830,接收和突出显示可能动作之一的选择。然后,在步骤835,可以在对话状态区域中显示所选择的动作和任何函数自变量。然后,在步骤840,可以显示基于先前选择的动作的可能动作的列表。然后,在步骤845,选择在话语内的标记的选择。在步骤850,接收与所选择的标记相关联的动作的选择。
在步骤855,显示在界面中配置的关联。该关联可以将所选择的标记绑定到所选择的一个或多个动作。在步骤860,确定是否应当采取更多动作。如果应当采取更多动作,则该方法返回到步骤825,或者在动作区域显示可能动作列表。如果不采取更多动作,则在步骤865,确定是否有更多关联。如果应当进行更多关联,则该方法返回到步骤845,其中接收标记和动作的选择。如果不需要创建更多关联,则在步骤870,创建并且存储规则,规则是基于对话状态、所选择的动作和关联来生成的。
图9是用于将规则应用于话语的示例性方法。在步骤910,执行对话应用。对话应用可以是图1的系统的应用112、移动应用122、网络浏览器132或应用162。在步骤920,从用户接收输入话语。然后,在步骤930,使用所存储的规则处理话语。规则可以指示要采取的动作和要设置的值,并且规则可以应用于全新的数据域。在步骤940,响应于来自用户的输入话语生成输出。输出是使用所存储的规则处理话语的结果。
图10-27示出了与可扩展对话系统一起使用的示例性用户界面。在某些情况下,图10-27的用户界面示出了用于扩展对话系统的能力的示例性工作流程。
图10示出了对话扩展用户界面的初始视图。A部分是其中出现话语和对话的对话历史区域。B部分包括指示项目类型的输入类型区域。C部分包括要接收的用户话语。D部分示出了使用当前选择作为输入可以执行的所有动作。目前没有选择,因此这些动作都可以在没有输入的情况下执行。
一旦将新话语添加到对话(图11,在部分A中),就可以更新状态。可以根据在给定用户话语时应当采取的动作来更新状态(如图12所示)。从用户话语“我需要飞往波士顿的航班”,新的航班搜索被添加到该状态。管理员可以找到动作创建_航班_搜索并且单击它以将动作结果(空飞行搜索)添加到状态。
在图13中,动作创建_航班_搜索已经向对话状态添加了新的航班搜索。添加时会自动选择航班搜索。注意,动作区域现在具有可以通过选择航班搜索执行的操作。
接下来,可以创建关联,该关联向系统指示我们为什么调用动作创建_航班_搜索。虽然关联对于所有交互并非严格必要,但它们为系统提供了有用的学习提示。
图13中添加的关联是创建_航班_搜索,因为单词航班(航班)出现在用户话语中。要添加关联,管理员可以通过单击文本来选择用户话语中的范围的开头和结尾。在这种情况下,单击航班(航班)的第一和最后字母。接下来,管理员从状态中选择要与该范围关联的操作。在这种情况下,单击创建_航班_搜索()。该关联现在已经更新,以反映该航班触发了创建_航班_搜索()。然后,管理员可以单击[添加]以创建关联。
现在已经在航班与创建_航班_搜索()之间添加了关联。
在图14的用户界面中,管理员可以将状态更新到波士顿。为此,管理员获取字符串波士顿,查找该位置,获取该位置的所有机场,最后将机场代码放入航班搜索的出发目的地列表中。逐字输入类型可以解释为输入的值是字符串值,通常是来自用户话语的字符串。输入我们将用于查找城市的字符串值波士顿。
在图15中,字符串波士顿已经被添加到该状态。选择将自动设置为波士顿的新状态值。管理员可能想要调用对_实体操作,该操作将查找与波士顿匹配的已知实体。实体是已知事物的预定义列表,诸如位置和机场代码。
在图16的A部分中,对对_实体([l:字符串])的调用采用了字符串波士顿并且查找与之相匹配的所有实体。结果是具有城市波士顿的列表,其被添加到状态。然后,在B部分中,本技术可以从结果中提取城市,以便于参考它。
在一些实例中,关于动作表示,状态中的每个动作及其输入使用符号N:动作_名称(输入_l,...,输入_M),其中N是结果所处的状态中的索引。动作_名称是被调用的动作的名称。如果它不存在,则它是逐字值或标识动作,并且对于输入_l、......、输入_M,每个输入都是到状态值的路径。例如,“波士顿”将逐字值波士顿置于状态的索引1,“对_实体([l:字符串])”调用状态中的索引1处的字符串上的对_实体,并且将结果分配给状态中的索引2,并且获取_机场_代码([4:列表].[0])调用在状态的索引4处找到的列表的索引0上的获取_机场_代码,并且将结果分配给状态中的索引5。
在图17中,来自范围波士顿的关联在用户话语中被添加到刚刚执行的动作。通过单击范围波士顿的开始和结束并且然后使用Alt+Click选择多个动作,可以像以前一样完成该操作。注意,该关联是从波士顿到动作序列。用户可以选择[添加]以创建关联。
在图18中,可以解决波士顿机场的机场代码。本技术通过单击状态内的波士顿[城市]并且调用获取_机场来实现该目的。这会添加到状态获取_机场([3:城市])。接下来单击爱德华·劳伦斯·洛根将军国际机场[机场]并且在结果的第一元素上调用获取_机场_代码,该结果将添加到状态获取_机场_代码([4:列表].[0]),结果为BOS(波士顿)[机场代码]。
在图19中,管理员保持在部分A中选择BOS(波士顿)[机场代码],如选择所示。管理员可以通过航班搜索的出发目的地单击“<=”。这会将BOS(波士顿)附加到目的地列表。
不是改变现有的航班搜索,而是在图20中的状态中添加了在目的地列表中具有BOS(波士顿)的新航班搜索。用户界面示出了该条目的动作是将状态索引5处的机场代码附加到状态的索引0处的航班搜索的出发目的地列表。
在图21中,将添加关联,这些关联指示BOS(波士顿)被添加到目的地的原因是包含给波士顿的用户话语。如前所述,该过程首先在用户话语中选择波士顿的范围。然后选择采取波士顿市的动作,将其转换为机场代码,最后将其放入目的地列表。可以看出,这将增加的关联是波士顿是三个动作的原因。然后,管理员可以选择[添加]来创建该关联。
在图22中,现在已经添加了关联。创建波士顿市的动作以及创建机场代码并且将其分配给航班搜索的操作具有重叠但不同的范围。这是因为波士顿仅仅是一个城市,并不一定与机场或航班有任何关系。但是,在此系统的上下文中,波士顿表示波士顿是管理员/用户想要到达的目的地。由于我们通过航班到达地点,并且航班有机场代码s,因此波士顿的航班告诉我们,我们需要转换城市并且将其分配到航班搜索中。您可以想象系统也可以处理其他形式的交通,但不能假定波士顿应当成为机场代码,除非上下文表明我们的旅行方式是航空旅行。
接下来,在图24中,添加代理话语“好的,去往波士顿”。对话系统创建了代理的话语,因为航班搜索的目的地已经填满。在图23中,本系统可以添加关联以反映这一点。管理员选择代理话语的整个范围,以指示关联是说出整个话语的原因而不仅仅是其中的一部分。管理员还可以选择导致我们说出这种话语的状态的一部分。注意,将创建的关联如何与我们为用户话语构建的关联相反。也就是说,代理说出话语好的,去往波士顿,因为航班搜索在该状态的索引6处的出发目的地的变化。该关联将允许系统学习在更改航班搜索的目的地时通知用户。管理员可以选择[添加]以添加该关联。
在图25中,关联包装代理话语。这表明{...}内的代理话语取决于{...}之外的状态值。
管理员还可能想要添加关于代理话语使用波士顿而不是BOS(波士顿)的原因的关联。虽然可以使用我们在用户话语状态下创建的城市,但更通用的方法是根据该话语依赖的航班搜索来计算说话内容。这是代理话语的重要特性。它们应当始终从其依赖项生成。也就是说,对于依赖于状态值V的任何代理话语A,A中的任何文本逐字值(例如,波士顿)都必须股价V计算。这是一个重要的属性,可以保证系统学习何时说出内容,以及如何生成要说出的内容。
为了确保该属性成立,管理员可以在航班搜索的出发目的地中选择机场代码并且在其上调用获取_机场。接下来,本系统使用获取_城市获取该结果并且将其转换为城市。最后,管理员选择代理话语中的范围波士顿和我们刚刚计算出的波士顿的状态值。管理员可以选择[添加]以添加该关联。
在图26中,将新关联添加到代理话语中。可以看出,代理话语中的波士顿现在取决于我们计算的城市。这将允许系统了解如果需要说出这种话语,则需要调用适当的动作以根据航班搜索的出发目的地生成城市。
图28示出了由图20-27的用户界面生成的一组规则。前三个规则是用于解释用户话语的组合规则。最后一条规则是用于生成代理话语的生成规则。
第一规则叙述了对于用户话语中的任何单个专有名词,本技术可以在其上调用对_实体,然后如果它是城市则使用第一结果。
第二规则叙述了对于该形式的任何用户话语,本技术应当根据城市计算机场代码并且将其附加到航班搜索的出发目的地列表。源中的$航班搜索和$城市标记遵循其他规则来生成这些元素。例如,如果现有技术有一个规则,其中票证创建了航班搜索,则话语“我需要到波士顿的票”和“我需要飞往波士顿的航班”会创建相同的状态。
第三规则叙述了单词航班将调用创建_航班_搜索,其产生航班搜索。
第四规则,生产规则,表示如果输出的最后路径是航班搜索的出发目的地并且该列表具有长度1,则本技术应当从该目的地获取机场,该机场的城市最后说代理话语Ok,对城市[-1],其中城市[-1]是该状态的最后城市,它将永远是我们刚刚计算的城市。
图29是用于实现本技术的计算机系统400的框图。图29的系统2900可以在客户端110、移动设备120、计算设备130、网络服务器150、应用服务器160、数据存储库170等的上下文中实现。
图29的计算系统2900包括一个或多个处理器2910和存储器2920。主存储器2920部分地存储由处理器2910执行的指令和数据。主存储器2910可以在操作时存储可执行代码。图29的系统2900还包括大容量存储设备2930、便携式存储介质驱动器2940、输出设备2950、用户输入设备2960、图形显示器2970和外围设备2980。
图29所示的组件被描绘为经由单个总线2990连接。然而,组件可以通过一个或多个数据传输装置连接。例如,处理器单元2910和主存储器2920可以经由本地微处理器总线连接,并且大容量存储设备2930、外围设备2980、便携式或远程存储设备2940和显示系统2970可以经由一个或多个输入/输出(I/O)总线连接。
可以用磁盘驱动器或光盘驱动器实现的大容量存储设备2930是用于存储供处理器单元2910使用的数据和指令的非易失性存储设备。大容量存储设备2930可以存储用于实现本发明的实施例的系统软件,以用于将该软件加载到主存储器620中。
便携式存储设备2940与便携式非易失性存储介质(诸如光盘、数字视频盘、磁盘、闪存等)一起操作以向图29的计算机系统2900输入数据和代码以及从其输出数据和代码。用于实现本发明的实施例的系统软件可以存储在这样的便携式介质上,并且经由便携式存储设备2940输入到计算机系统2900。
输入设备2960提供用户界面的一部分。输入设备2960可以包括用于输入字母数字和其他信息的字母数字小键盘(诸如键盘)或者指示设备(诸如鼠标、轨迹球、指示笔或光标方向键)。另外,如图29所示的系统2900包括输出设备2950。合适的输出设备的示例包括扬声器、打印机、网络界面和显示器。
显示系统2970可以包括液晶显示器(LCD)、LED显示器、触摸显示器或其他合适的显示设备。显示系统2970接收文本和图形信息,并且处理该信息以输出到显示设备。显示系统可以通过触摸显示器接收输入并且传输所接收的输入以进行存储或进一步处理。
外围设备2980可以包括任何类型的计算机支持设备以向计算机系统添加附加功能。例如,外围设备2980可以包括调制解调器或路由器。
包含在图29的计算机系统2900中的组件可以包括个人计算机、手持计算设备、平板计算机、电话、移动计算设备、工作站、服务器、小型计算机、大型计算机或任何其他计算设备。计算机还可以包括不同的总线配置、联网平台、多处理器平台等。可以使用各种操作系统,包括Unix、Linux、Windows、Apple OS或iOS、Android和其他合适的操作系统,包括移动版本。
当实现诸如智能电话或平板计算机等移动设备或者无线地通信的任何其他计算设备时,图29的计算机系统2900可以包括一个或多个天线、无线电和用于经由无线信号进行通信的其他电路,诸如例如,使用Wi-Fi、蜂窝或其他无线信号的通信。
虽然本专利文件包含很多细节,但这些细节不应当被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此声明,但是在某些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作,以实现期望的。结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这种分离。
仅描述了少数实现和示例,并且可以基于本专利文档中描述和示出的内容来做出其他实现、增强和变化。

Claims (15)

1.一种用于扩展对话系统的方法,包括:
通过用户界面从用户接收话语,所述界面由在计算设备上执行的应用提供;
基于所述话语自动提供可能动作列表;
通过所述界面从所述用户接收对一个或多个动作的选择;
从所述用户接收小于所述话语的整体的所述话语的指定范围;以及
基于所述话语、所选择的所述一个或多个动作和所述话语的所述指定范围,自动生成语法规则。
2.根据权利要求1所述的方法,还包括在所述话语内的一个或多个标记与所选择的所述一个或多个动作中的一个或多个动作之间创建关联,其中自动生成的所述语法规则至少部分基于所述关联。
3.根据权利要求1所述的方法,还包括在所述界面内显示对话状态,所述对话状态基于对所选择的所述一个或多个动作中的每个动作的用户选择和所述话语的所述指定范围而被更新。
4.根据权利要求1所述的方法,其中所述话语的所述指定范围由在所述用户界面内接收到的用户提供的文本指示。
5.根据权利要求1所述的方法,其中所述话语的所述指定范围由从功能列表对功能的用户提供的选择指示。
6.根据权利要求1所述的方法,其中所述话语的所述指定范围由值向节点的用户提供的分配指示。
7.根据权利要求1所述的方法,还包括将所述语法规则应用于从第二用户接收的后续话语,所述语法规则根据第一组对话数据而被生成,并且所述后续话语与第二组对话数据相关联。
8.根据权利要求7所述的方法,还包括对所述后续话语中的一个或多个后续话语执行复述,以将所述一个或多个后续话语中的每个后续话语变换为能够由自动生成的所述语法规则处理的形式。
9.根据权利要求1所述的方法,还包括:
接收第一域中的短语;
从一个或多个人类操作员接收对话输入,所述对话输入构成利用所述短语的对话,所述输入响应于向所述人类操作员提供所接收的所述短语而被接收;以及
其中通过所述用户界面接收的所述话语通过处理从所述一个或多个人类操作员接收到的所述对话输入而被获得。
10.一种计算机可读存储设备,具有具化于其上的程序,所述程序由处理器可执行以执行用于扩展对话系统的方法,所述方法包括:
通过用户界面从用户接收话语,所述界面由在计算设备上执行的应用提供;
基于所述话语自动提供可能动作列表;
通过所述界面从所述用户接收对一个或多个动作的选择;
从所述用户接收小于所述话语的整体的所述话语的指定范围;
基于所述话语、所选择的所述一个或多个动作和所述对话的所述指定范围,自动生成语法规则。
11.根据权利要求10所述的计算机可读存储设备,其中所述程序还可执行以在所述话语内的一个或多个标记与所选择的所述一个或多个动作中的一个或多个动作之间创建关联,其中自动生成的所述语法规则至少部分基于所述关联。
12.根据权利要求10所述的计算机可读存储设备,其中所述程序还可执行在所述界面内显示对话状态,所述对话状态基于对所选择的所述一个或多个动作中的每个动作的用户选择和所述话语的所述指定范围而被更新。
13.一种用于扩展对话系统的系统,包括:
处理器;
存储器;以及
一个或多个模块,被存储在存储器中并且由所述处理器可执行以:
通过用户界面从用户接收话语,所述界面由在计算设备上执行的应用提供;
基于所述话语自动提供可能动作列表;
通过所述界面从所述用户接收对一个或多个动作的选择;
从所述用户接收小于所述话语的整体的所述话语的指定范围;以及
基于所述话语、所选择的所述一个或多个动作和所述对话的所述指定范围,自动生成语法规则。
14.根据权利要求13所述的系统,所述模块还可执行以在所述话语内的一个或多个标记与所选择的所述一个或多个动作中的一个或多个动作之间创建关联,其中自动生成的所述语法规则至少部分基于所述关联。
15.根据权利要求13所述的系统,所述模块还可执行以在所述界面内显示对话状态,所述对话状态基于对所选择的所述一个或多个动作中的每个动作的用户选择和所述话语的所述指定范围而被更新。
CN201880012230.6A 2017-02-23 2018-02-23 可扩展对话系统 Active CN110301004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310951039.0A CN116991971A (zh) 2017-02-23 2018-02-23 可扩展对话系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762462736P 2017-02-23 2017-02-23
US62/462,736 2017-02-23
PCT/US2018/019556 WO2018156978A1 (en) 2017-02-23 2018-02-23 Expandable dialogue system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310951039.0A Division CN116991971A (zh) 2017-02-23 2018-02-23 可扩展对话系统

Publications (2)

Publication Number Publication Date
CN110301004A CN110301004A (zh) 2019-10-01
CN110301004B true CN110301004B (zh) 2023-08-08

Family

ID=68026359

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310951039.0A Pending CN116991971A (zh) 2017-02-23 2018-02-23 可扩展对话系统
CN201880012230.6A Active CN110301004B (zh) 2017-02-23 2018-02-23 可扩展对话系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310951039.0A Pending CN116991971A (zh) 2017-02-23 2018-02-23 可扩展对话系统

Country Status (2)

Country Link
EP (1) EP3563375B1 (zh)
CN (2) CN116991971A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1417679A (zh) * 2001-10-21 2003-05-14 微软公司 以对话为目的的应用抽象
WO2006016308A1 (en) * 2004-08-06 2006-02-16 Philips Intellectual Property & Standards Gmbh A method for a system of performing a dialogue communication with a user
CN101536084A (zh) * 2005-06-30 2009-09-16 微软公司 对话分析
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN102236645A (zh) * 2010-05-06 2011-11-09 上海五和际软件信息有限公司 基于语义逻辑的类自然语言人机对话装置
CN102750271A (zh) * 2011-03-31 2012-10-24 微软公司 谈话式对话学习和纠正
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법
US9275641B1 (en) * 2014-09-14 2016-03-01 Speaktoit, Inc. Platform for creating customizable dialog system engines

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
WO2006037219A1 (en) * 2004-10-05 2006-04-13 Inago Corporation System and methods for improving accuracy of speech recognition
US20060123358A1 (en) * 2004-12-03 2006-06-08 Lee Hang S Method and system for generating input grammars for multi-modal dialog systems
US9472196B1 (en) * 2015-04-22 2016-10-18 Google Inc. Developer voice actions system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1417679A (zh) * 2001-10-21 2003-05-14 微软公司 以对话为目的的应用抽象
WO2006016308A1 (en) * 2004-08-06 2006-02-16 Philips Intellectual Property & Standards Gmbh A method for a system of performing a dialogue communication with a user
CN101536084A (zh) * 2005-06-30 2009-09-16 微软公司 对话分析
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN102236645A (zh) * 2010-05-06 2011-11-09 上海五和际软件信息有限公司 基于语义逻辑的类自然语言人机对话装置
CN102750271A (zh) * 2011-03-31 2012-10-24 微软公司 谈话式对话学习和纠正
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법
US9275641B1 (en) * 2014-09-14 2016-03-01 Speaktoit, Inc. Platform for creating customizable dialog system engines

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任务型对话系统研究综述;赵阳洋;《计算机学报》;20201031;全文 *

Also Published As

Publication number Publication date
EP3563375B1 (en) 2022-03-02
EP3563375A1 (en) 2019-11-06
CN110301004A (zh) 2019-10-01
EP3563375A4 (en) 2020-06-24
CN116991971A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US11842724B2 (en) Expandable dialogue system
US10559300B2 (en) Generating target sequences from input sequences using partial conditioning
CN106997370B (zh) 基于作者的文本分类和转换
JP6960914B2 (ja) ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成
CN107924483B (zh) 通用假设排序模型的生成与应用
US20170337261A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
US20150286943A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
JP7397903B2 (ja) インテリジェント対話方法、装置、電子機器及び記憶媒体
AU2023200803A1 (en) Maintaining context information between user interactions with a voice assistant
WO2023142451A1 (zh) 工作流生成方法、装置、电子设备
CN112487137B (zh) 使用集成共享资源来流线化对话处理
KR20200092446A (ko) 어체 변환이 가능한 기계 번역 방법 및 시스템
US11003854B2 (en) Adjusting an operation of a system based on a modified lexical analysis model for a document
CN110301004B (zh) 可扩展对话系统
US11314811B1 (en) Systems and methods for semantic search engine analysis
CN118251668A (zh) 用于从数据中提取问题答案对的基于规则的技术
Ramesh Context Aware Conversational Agent for Flight 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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200819

Address after: Washington State

Applicant after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Massachusetts, USA

Applicant before: SEMANTIC MACHINES, Inc.

GR01 Patent grant
GR01 Patent grant