CN105283868B - 用于概率解析的方法、组件、介质和系统 - Google Patents
用于概率解析的方法、组件、介质和系统 Download PDFInfo
- Publication number
- CN105283868B CN105283868B CN201480012119.9A CN201480012119A CN105283868B CN 105283868 B CN105283868 B CN 105283868B CN 201480012119 A CN201480012119 A CN 201480012119A CN 105283868 B CN105283868 B CN 105283868B
- Authority
- CN
- China
- Prior art keywords
- probability
- probability distribution
- variable
- parsing
- string
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Abstract
描述了用于计算关于文本和其他有序项序列的结构的信息以使得下游系统(诸如机器翻译系统、信息检索系统、文档分类系统和其他系统)能够使用该结构信息的概率分析。在各个实施例中,解析推断组件包括从概率程序中编译的(诸)推断算法,该概率程序定义用于生成文本或其他有序项序列的随机过程。在各示例中,解析推断组件接收与概率程序所定义的随机过程兼容的一个或多个文本观察或示例。解析推断组件可将推断算法应用到文本以更新串或与解析有关的其他值上的一个或多个概率分布。在一些示例中,解析推断组件使用推断结果来完成部分示例以在信息检索任务方面协助用户。
Description
背景
解析可被认为是用于寻找文本或其他有序项序列的结构的过程。已经被用于生成文本的语法或其他规则可以是可用的并且被用于寻找该结构;或者可能需要寻找出语法本身。然而,由于人们可使用文本来表达他们自己的各种方式和语言的自然模糊性,解析未被结构化的文本是非常有挑战性的任务。
由于大量信息仅以未被结构化的文本的形式可用(诸如在因特网上可用的大部分信息),因此需要解析这种未被结构化的文本的准确、快速且成本高效的方式,以使得自动化系统(诸如信息检索系统、文档分类系统、机器翻译系统和其他系统)能够利用该信息。
一些先前的解析方式涉及手动地书写大量的机器学习代码,这是耗时、难以理解和维护以及容易出错的。
使用大量经标记的训练数据训练的分类器可被用于从未被结构化的文本中提取信息。然而,获得经标记的训练数据通常是昂贵的且耗时的,并且一旦被训练,分类器不适应于改变对语言的使用,诸如新的单词或短语。
一些先前的解析方式使用了常规表达式来分析文本。然而,常规表达式难以被新手用户使用并使用有限的语言来定义,所以不允许丰富且复杂的解析过程被定义,例如,解析不能依赖于非文本线索。
下面描述的实施例不限于解决用于解析文本和其他有序项序列的已知系统的任何或所有缺点的实现。
概述
下面呈现了本发明的简要概述,以便向读者提供基本理解。本概述不是本公开的穷尽概览,并且不标识本发明的关键/重要元素或描述本说明书的范围。其唯一的目的是以简化形式呈现此处所公开的精选概念,作为稍后呈现的更详细的描述的序言。
描述了用于计算关于文本和其他有序项序列的结构的信息以使得下游系统(诸如机器翻译系统、信息检索系统、文档分类系统和其他系统)能够使用该结构信息的概率解析。在各个实施例中,解析推断组件包括从概率程序中编译的(诸)推断算法,该概率程序定义用于生成文本或其他有序项序列的随机过程。在各示例中,解析推断组件接收与概率程序所定义的随机过程兼容的一个或多个文本观察或示例。解析推断组件可将推断算法应用到文本以更新串或与解析有关的其他值上的一个或多个概率分布。在一些示例中,解析推断组件使用推断结果来完成部分示例以在信息检索任务方面协助用户。
通过结合附图参考以下详细描述,可易于领会并更好地理解许多附带特征。
附图简述
根据附图阅读以下具体实施方式,将更好地理解本发明,在附图中:
图1是用于生成解析推断结果的解析推断组件的示意图;
图2是在推断引擎和/或解析推断组件处的示例方法的流程图;
图3是图1的用于完成部分示例的解析推断组件的示意图;
图4是在图3的解析推断组件处的一方法的流程图;
图5是图3的图形用户界面处的示例显示的示意图;
图6是图3的图形用户界面处的另一示例显示的示意图;
图7是概率程序的因子图的一示例的示意图;
图8是表示串上的概率分布的两个示例随机自动机的示意图;
图9示出了示例性基于计算的设备,其中解析推断组件和/或推断引擎的实施例可被实现。
在各个附图中使用相同的附图标记来指代相同的部件。
详细描述
下面结合附图提供的详细描述旨在作为本发明示例的描述,并不旨在表示可以构建或使用本发明示例的唯一形式。本描述阐述了本发明示例的功能,以及用于构建和操作本发明示例的步骤的序列。然而,可以通过不同的示例来实现相同或等效功能和序列。
虽然在本文中将本发明的示例描述并示出为在信息检索系统中实现,但是所描述的系统只是作为示例而非限制来提供的。本领域的技术人员将理解,本示例适于在使用文本或其他有序项序列的各种不同类型的系统中应用。
图1是用于生成解析推断结果的解析推断组件的示意图。解析推断组件是使用软件和/或一个或多个硬件逻辑组件被计算机实现的。其包括经编译的概率程序110和任选地用于访问和获得观察108的观察工具112。用于定义概率程序的语言可以是具有串操纵方法的标准编程语言(或标准编程语言的子集)。观察108是与在概率程序中指定的任何要求兼容的文本或其他有序项序列的示例。有序项序列可以是其中项是字符的字符序列、其中项是人的姓名的姓名列表、其中项是学校的学校列表或其他类型的项的列表。观察108在一些情况下可以是部分或不完整的示例,如在以下将详细描述的。解析推断组件100使用经编译的概率程序110和观察108来实现推断以产生解析推断结果114。例如,解析推断结果114包括概率程序中变量的概率分布,其中变量中的至少一个是串或另一有序项序列。概率分布可初始地被设置为默认概率分布并可通过应用观察108来被更新。随着更多的观察108通过使用解析推断组件被获取并被应用,解析推断结果114变得更准确并提供关于文本或其他有序项序列的结构的更多信息。
通过这种方式,随着概率分布被习得,概率解析被实现,这些概率分布描述语法、规则或操作如何被用于生成文本或其他有序项序列。这在无需大量的经标记的训练数据以及无需使用常规表达式或用于处理文本的单独的语言的情况下被实现。来自概率程序的不处理串的部分的信息可被容易地用于提升解析的准确性,这是因为作为串上的概率分布的变量可与其他类型的变量在相同的程序中使用。
解析推断结果114可被传递到另一系统116,诸如信息检索系统118、机器翻译系统120、文本操纵系统122或其他。其中解析推断结果114被用在信息检索中的一示例在本文档中稍后来描述。
经编译的概率程序110包括被推断引擎106导出的推断算法。例如,推断引擎可包括如在转让给微软公司的、2012年1月24日授权的、发明人为Minka等、题为“Compiler forProbabilistic Programs(用于概率程序的编译器)”的美国专利8103598中描述的概率编译器,其中该编译器被扩展来处理包括对使用有序项序列上的概率分布表示的随机变量的声明或引用的概率程序。概率程序可包括对类型double(双精度)、integer(整数)、Boolean(布尔)的随机变量的声明或引用;经扩展的编译器可使得类型string(串)和list(列表)的随机变量另外被支持。
参考图1和2,概率程序在推断引擎处被接收202。例如,用户可操作编程环境来创建概率程序。解析推断组件根据传入数据的结构来自动地生成概率程序也是可能的(这将参考图3来更加详细地描述)。在其中解析推断组件动态地生成概率程序的示例中,它将概率程序发送到推断引擎以供编译并作为回复接收包括消息传递算法的概率程序的经编译的形式。
概率程序定义用于生成有序项序列的随机过程。例如,项是字符并且有序项序列是文本。该过程是随机的,这是因为它包括具有仅能被表达为分布(诸如在有序项序列上的分布)的未确定值的变量。例如,在文本的情况下,变量可具有在作为人的名字的串上的均匀概率分布(并且所以采取特定形式,其中第一字符是选自已知字母表的大写字母并且之后的字符是选自已知字母表的小写字符)。作为另一示例,变量可采取反映不同名字和姓氏的相对频率的更加复杂的分布。
在一示例中,概率程序可定义用于通过使用来自多个可用操作中可被应用到有序项序列的一个或多个操作来生成有序项序列的随机过程。例如,通过对串使用一操作来生成文本,该操作诸如用于格式化一个或多个串、寻找串的长度、串接两个或更多个串、创建串的索引、寻找串的起始字符、寻找串的结束字符、寻找串的子串、将一个或多个字符插入到串中、替换串、从串的结束或开始中移除字符等。这些操作是对可用的标准语言操作的补充,可用的标准语言操作诸如loop(循环)、switch(转变)、if(如果)语句、阵列索引等。
在各示例中,用于生成有序项序列的一操作可采用一个或多个自变量,这些自变量自身可以被写为有序项序列并使用概率变量来表示。例如,用于格式化多个串的操作可采用包括对该多个串的引用以及指示各串要如何被格式化的模板的自变量。模板自身是串并且其值可被表示为串上的概率分布。这使得解析推断组件能够通过使用观察到的文本的示例来作出推断以习得可能的模板。
概率程序104可使用包括由边连接的多个节点(变量节点和因子节点)的因子图来表示。变量节点表示概率程序中的变量。因子节点表示概率程序中的一操作并且被连接到作为该操作的自变量或该操作的返回值的变量。
因子图还提供用于计算推断结果的数据结构。变量上的概率分布的形式的消息按沿着图的各边的两个方向被传递。在每个变量节点处,这些消息被用于更新表示在其处被存储的变量的值的概率分布。在每个因子节点处,从因子接收到的消息中计算从该因子传出的消息。这些计算可被称为消息运算符。消息传递算法以正方向和/或反方向(或以根据输入的模式的任意其他方向)在因子图上传递消息来执行推断,藉此概率分布被更新。
如以上提到的,推断引擎106包括概率编译器。该编译器包括消息运算符的一个或多个数据库。该编译器采取概率程序104并通过导出推断算法(其也可被称为消息传递算法)来对该概率程序104进行编译204以产生经编译的概率程序110。编译器访问来自消息运算符数据库的适当的指定的消息运算符并将这些消息运算符排序来形成推断算法。例如,一操作(诸如格式化多个串)可具有要被使用的一个或多个相关联的消息运算符。
消息运算符可通过使用随机换能器来被实现,该随机换能器更新使用随机自动机表示的概率分布。随机自动机是有限状态机,其中表示过程或实体的状态的节点通过表示状态之间的转变的概率并用序列的元素上的概率分布(例如,字符上的分布)来标记的边连接。
例如,为了表示在作为人的姓名的串上的概率分布,可使用具有针对姓名中的字符的节点以及显示从第一字符移动到第二字符并以此通过姓名的概率的边的随机自动机。这在以下参考图8更详细地描述。随机换能器采取与随机自动机类型的形式,除了它的边用元素上的输入和输出分布来标记,它们中的任一个可以是空(∈)。随机换能器可被应用到输入随机自动机来产生输出随机自动机。重要的是,换能器也是可逆的,使得在给定一输出自动机的情况下,换能器也可考虑在逆转过程中的任意不确定性来导出输入自动机。因此,随机换能器可被用于实现在正方向或反方向上的消息的消息运算符,并因此形成计算的一部分以更新例如串上的概率分布。
解析推断组件访问208与概率程序兼容的有序序列的至少一个示例。一示例(诸如串)在以下情况下与概率程序兼容:它可能已根据由概率程序定义的过程生成。解析推断组件运行210消息传递来使用该示例更新概率程序的变量的概率分布。关于有序序列的结构的经推断的信息可接着被输出212。
在图2的示例中,推断引擎200被显示为实现编译步骤并且解析推断组件206实现推断。然而,在一些示例中,推断引擎实现编译和推断也是可能。推断引擎和解析推断组件成为整体也是可能的。
现在给出可用在解析推断组件处的经编译的形式来使用的概率程序的一些示例。在这些示例中,用符号“//”开始的行包括评论以及不是程序的一部分的指令。
在第一示例中,概率程序包括变量“string a”和“string b”,它们两者均是随机变量并由此它们的值使用串上的概率分布来表示。在该程序中,它们被给予均匀先验分布,指示关于串的信息不是已知的。称为“String.Format(串.格式化)”的标准串操作被用于将该两个串格式化在一起并且变量“string c”采用格式化操作的结果。格式化操作用串之间的空格将串(以a b的次序)串接,并在结束处添加两个感叹号标记。变量“c”进一步被约束为等于特定观察到的结果。在这个示例中,观察到的结果是“Hello Uncertain World!!”。解析推断组件使用该观察到的结果来实现推断并如以上描述的来更新变量a和b的概率分布。
//创建两个未确定串
string a=Strings.Uniform();
string b=Strings.Uniform();
//将两个串格式化在一起
tring c=String.Format(“{0}{1}!!”,a,b);
//观察结果
constrain(c==“Hello Uncertain World!!”);
在这个示例中,所得到的在“a”上的分布是:
UniformOver("Hello Uncertain","Hello")
并且在“b”上的分布是:
UniformOver("Uncertain World",“World")
解析推断组件能够提供解析推断结果,其在这个情况下包括关于在变量a和变量b上的概率分布的信息。例如,在变量a上的概率分布是在两个可能串(其为“HelloUncertain”和“Hello”)上的均匀分布。在变量b上的概率分布是在两个可能串(其为“Uncertain World”和“World”)上的均匀分布。这个示例示出解析推断组件如何能够使用观察来作出关于如何根据在概率程序中指定的用于生成文本的概率过程来解析文本的推断。
如以上提到的,用于生成有序项序列的一操作可采用一个或多个自变量,这些自变量自身可以是被写为有序项序列并因此使用概率变量来表示的操作。现在给出这个的一个示例。
概率程序包括变量“string a”和“string b”,其两者均是串上的均匀概率分布。变量“string template(模板)”被给予在包括被非单词字符(诸如空格或感叹号)包围的“{1}”的所有串上的分布。称为“String.Format”标准串操作被用将模板输出以及两个串格式化在一起。变量“string c”采用格式化操作的结果。
string a=Strings.Uniform();
string b=Strings.Uniform();//未确定模板
string template=Strings.Uniform()+Chars.NonWord()+“{1}”+Chars.NonWord()+Strings.Uniform();
//将两个串格式化在一起
string c=String.Format(template,a,b);
//观察输入和输出
constrain(a==“Hello”);
constrain(c==“Hello Uncertain World!!”);
在这个示例中,观察到的结果是用于输出变量c的“Hello Uncertain World!!”以及用于变量a的“Hello”。解析推断组件使用观察到的结果来实现推断并如以上描述的来更新变量b和模板的概率分布。在这个示例中,变量模板上的分布是如以下的三个可能串上的均匀分布:Uniform(“{0}Uncertain{1}!!”,“{0}{1}!!”,“{0}{1}World!!”)。
在这个示例中,该三个可能串给出将自变量串a和b组合到观察到的串中的替换方式。通过这种方式,程序已经被用于习得可被用于产生观察到的串的可能格式化操作。
在这个示例中,输出串和到格式化操作的自变量被观察到并且模板分布被推断。其他组合是可能的。例如,模板可被观察到并且推断被用于将自变量的概率分布更新为格式化操作,如在以上第一个示例中讨论的。观察模板和自变量的子集以获得未确定的结果串也是可能的。
如以上提到的,来自概率程序的不处理串的部分的信息可被容易地用于提升解析的准确性,这是因为串变量可与其他类型的变量在相同的程序中使用。这在以下示例中被示出,该示例取一列串作为输入并习得将输出其中各串的第一部分“C:\\”被剥离的那些串的模板。输入和输出串被指定为如下:
string[]inputs={“C:\\Users”,“C:\\Tools”};
string[]outputs={“Users”,“Tools”};
开始点的变量被定义为“int start”,其是在整数上的均匀分布。结束点的变量被定义为“int end”,其是在整数上的均匀分布。开始点是自串的一端起的字符的数量,即从串的右手边起计数负整数以及从串的左手边起计数正整数。
//开始和结束点(对于从右手边起-ve个字符)
int start=Ints.Uniform();
int end=Ints.Uniform();
//在输入/输出对上循环
for(int i=0;i<inputs.Length;i++){outputs[i]=inputs[i].Substring(start,end);}
程序在输入输出对上循环并通过应用子串操作来创建输出(该子串操作通过使用给定串内的给定开始和结束点来取该给定串的子串)。针对变量start(开始)和end(结束)的一些可能值已经从输入和输出的列表中观察到。这些观察被用于作出推断并更新变量start和end的概率分布。在这个示例中,变量“start”上的分布变成在两个可能整数-6和3上的均匀分布。变量“end”上的分布变成在两个可能整数-1和8上的均匀分布。
如果接收到输入串“C:\\System”变为“System”的另一观察,则该观察可被用于实现推断并将变量start的概率分布更新为整数3的点质量以及将变量end的概率分布更新为整数-1的点质量。
现在参考图3给出其中解析推断组件被用于完成部分文本或其他不完整示例以及给出被完成的信息的确定性信息的示例。
图3显示解析推断组件306,诸如图1的解析推断组件100。它具有由推断引擎304(如以上参考图1的推断引擎106所描述的)产生的经编译的概率程序308(诸如图1的经编译的概率程序110)。具有概率分布310的形式的解析推断结果可被存储在解析推断组件处或解析推断组件可访问的另一位置处。例如,解析推断结果可被存储在经由通信网络300与解析推断组件306通信的推断结果存储303处。
终端用户能够通过使用可从他或她的计算设备322(诸如电话316、平板计算机318或个人计算机320)访问的图形用户界面310来使用解析推断组件306。图形用户界面310可以是基于web的或可以具有任意其他合适的类型。可被提供的图形用户界面的示例在稍后参考图5和6来讨论。图形用户界面310可通过解析推断组件306或通过与解析推断组件306通信的任意其他实体来提供。通过使用图形用户界面,终端用户能够利用概率推断的能力,即使他或她不具有在统计学或机器学习方面的训练。
在一些示例中,解析推断组件和图形用户界面作为用于操纵数据网格的应用软件的一部分来提供。例如,用于显示并操纵形成数据网格的各行和各列单元格的应用软件,其中这些单元格可包括数字值和/或文本。用于显示和操纵数据网格的应用软件可被存储在计算设备322或与计算设备322通信的另一实体处。
在解析推断组件306处的观察工具311可被提供来获得对文本或符合概率程序中指定的要求的其他有序序列的观察。观察可具有概率程序中的非串变量。观察可从一个或多个实体中获得,该一个或多个实体诸如文档语料库302、有序项序列数据库326、推断结果存储303或经由通信网络300与解析推断组件306通信的其他源。观察可通过观察工具311与搜索引擎324一起工作来获得,该搜索引擎324能够访问观察源,诸如文档语料库302。观察还可由用户在图形用户界面310处或以其他方式来输入。通过这种方式,现有的观察的源(诸如文档)可被使用,而无需在实现机器学习和推断之前导出数据并操纵该数据。并且,终端用户不需要预先处理数据例如来转换不同类型的变量或移除具有缺失数据的示例。这简化了针对终端用户的操作。
终端用户可使用图形用户界面310来向解析推断组件306输入部分示例312。解析推断组件306返回数据(诸如文本)以与关于该数据有多确定的信息一起来完成该部分示例。例如,部分示例可包括数据网格的一列或一行,其中该行或该列的单元格中的一些是空的并且该行或该列的一个或多个单元格被填充。解析推断组件306可返回文本来完成空的单元格并指示被完成的文本有多确定。部分示例可被称为对象,该对象是包括多个属性值的数据结构,其中属性值中的至少一个是未知的并且属性值中的至少一个是已知的。属性值可以是有序项序列,诸如串。属性值可以不是有序项序列,例如,它可以是不具有串形式的日期。在属性值不是有序项序列的情况下,它可以被概率程序转换成有序项序列。例如,不具有串形式的数据可被转换成串形式。
即使观察源(例如,文档语料库302)包括未被结构化的文本,解析推断组件依然能够通过使用解析推断结果来利用这些源。并且,由于观察源(例如,文档语料库302)可被定位在云中,所以大量的未被结构化的文本可对解析推断组件可用,其中这些量可以大于可实际上和/或有用地显示在终端用户设备322处的图形用户界面310中的文本的量。通过在解析推断组件处使用大量的未被结构化的文本,解析推断组件作出的预测的准确性和确定性可被提升。
图4是在图3的解析推断组件306处的一方法的流程图。至少一个部分示例被接收400。例如,部分示例可作为用户输入的结果从图形用户界面310中接收。如果经编译的概率程序指定文本要通过组合多个未确定值(每个未确定值由概率分布来表示)的串形式来生成,则部分示例可以是这样的未确定值的子集的实例。
解析推断组件306使用其具有的表示有序项序列的结构的当前概率分布来获得402完整的观察。例如,观察工具生成查询来发送到搜索引擎324。这些查询可使用当前概率分布来生成。响应于这些查询,搜索引擎返回文档列表。观察工具在这些文档中寻找具有与用于生成文本的经编译的概率程序兼容的形式的文本。该文本被观察工具提取并形成完整的观察。从中提取文本的文档的地址可与所提取的文本以及任选地其他信息(诸如所提取的文本附近的文本、文档的标题或其他信息)一起被观察工具存储。
解析推断组件使用通过观察工具获得的完整的观察来更新404概率分布。这通过以下方式来实现:通过使用经编译的概率程序来传递消息来实现推断。经更新的概率分布被用于完成部分示例406并提供被完成的文本的确定性信息。推断结果也可被存储408。
图5是可在图3的图形用户界面310处作出的示例图形用户界面显示的示意图。这个示例显示可如何使用推断结果来填充具有缺失的文本的单元格。图形用户界面显示示出包括以列和行安排的单元格的数据网格500。个体行可被用于表示对象并且个体列可被用于表示对象的属性。解析推断组件习得这些属性上的概率分布并且这些推断结果可被用于完成缺失的属性值、标识属性值中的错误以及建议对属性值中的错误的修正。
在这个示例中,列被标记为A、B、C和D,并且行被标号为0到6。通过移动滚动条,可显示更多行和列。包括已经被用户输入的数据的单元格可用小点来填充。用户填充的单元格是A1、A2、A3、A4、A5、B1、B6。在这个示例中,列A中行1到6中的单元格包括美国总统的姓名,并且列B中行1到6中的单元格包括日期。美国总统的姓名是一属性的值。列B中行1到6中的日期是另一属性的值。解析推断组件已经被用于在单元格A6、B0、B2、B3、B4、B5中填充数据。例如,用户可能希望寻找一些美国总统的出生日期。他或她可在单元格A1中输入一位美国总统的姓名以及在单元格B1中输入该总统的出生日期。用户接着在单元格A2到A5中输入其他美国总统的姓名。解析推断组件填充列B中的标题(其是行B0中的“was born on(出生于)”)并在列B中填充其他总统的出生日期(使用如与例如用户输入相同的格式)。小的“?”符号可被显示在包括来自解析推断组件的数据的单元格中。这个符号的水平或阴影或颜色可被用于表示被完成的数据有多确定。确定性的其他符号或表示可被使用。
用户还能够在单元格B6中输入出生日期(诸如1884年5月8日)并通过解析推断组件在单元格A6中获得姓名“Harry Truman”。用户能够在列标题中输入一些文本,以便获得该列中的属性值。例如,用户可在新列中输入“born on”并获得该列中的属性值。
在一些示例中,解析推断组件306被安排成纠正用户输入的数据中或观察工具获得的数据中的拼写错误或打字错误。这通过使用对特征习得的概率分布来标识具有高未确定性的属性值以及建议具有提升的确定性的替换属性值来实现。典型错误的知晓也可被用于标识和纠正拼写错误和打字错误。
图6是图5的示例图形用户界面的示意图,其中用户选择了单元格B3中的“?”符号。弹出显示窗口600被提供,其显示被观察工具找到的支持显示在B3中的值的完整观察。可显示观察的细节,诸如到从中提取观察的文档的链接、来自文档的相邻文本、文档的标题。附加地,替换值以及支持每个替换值的观察的细节可被显示,这些替换值被计算为具有比所显示的值更低的概率。这允许用户检查每个替换值和支持文本并且为他们自己决定在被完成的表格中使用哪个值。在图6的示例中,替换值19August 1945(1945年8月19日)与支持这个替换值的一个示例观察一起被显示。
现在给出供在图3的解析推断组件中以经编译的形式使用的概率程序的一个示例。这仅仅是一个示例并且许多其他方式是可能的。
DateTime date=Dates.Uniform();
string template="{0}"+Strings.Uniform()+"{1}";
string name=Chars.Upper()+Strings.Lower()+“”+Chars.Upper()+Strings.Lower();
string datestr=dateToString(date);
string c=String.Format(template,name,datestr);
这个概率程序生成以下形式的文本:
Name(姓名)"was born on(出生于)"date(日期)
其中“was born on”是一示例可信的模板。它包括变量指示的日期,其值通过日期上的均匀分布来表示(注意,变量指示的日期不具有串形式,而是在过程中稍后被转换成串)。它包括变量指示的模板,其被表示为采取以下形式的串上的均匀分布:第一自变量“anything(任何事物)”第二自变量,其中第一自变量被指示为{0}并且第二自变量被指示为{1}。它包括被结构化为类似姓名的变量指示的姓名,其中它由未知大写字符之后是小写串、空格以及接着另一大写字符和小写串形成。它包括变量datestr,其获取由具有自变量date(日期)的函数DateToString产生的不确定串值。变量c采取对串进行称为String.Format的操作的结果,该操作使用模板自变量来组合自变量name(姓名)和dateStr。
具有以上概率程序的经编译的形式的解析推断组件可被用于寻找人的出生日期。例如,一个示例从图形用户界面310处的用户输入中取得。在图5中示出的示例中,示例是name(姓名)=Barack Obama;date(日期)=4August1961(1961年8月4日)。变量name和date的这些实例被观察工具用来获得文本的完整示例。例如,查询“Barack Obama 4August1961”被发送到搜索引擎来获得文档列表。这些文档的包括搜索项的部分接着被用作变量c的观察。这些观察被用于实现推断并因此更新与概率变量相关联的概率分布。例如,变量template(模板)上的分布可被更新来采取如下示意性地示出的有序混合分布的形式:
50%{0}was born on(出生在){1}
25%{0}born(出生){1}
12%{0}date of birth(出生日期){1}
…
其中模板的观察到的示例依据出现频率来排序并且混合可被表示为自动机。
当用户例如通过在图5的单元格A3中输入Bill Clinton来提交新姓名时,该新姓名信息经由因子节点710输入来将变量节点718处的概率分布更新为是关于值“BillClinton”的点质量。消息传递可接着被执行来更新因子图的其他概率分布。在更新完成后,日期变量720的概率分布表示Bill Clinton出生的日期以及关于该日期的任意不确定性。
图7是表示以上提到的生成以下形式的文本的概率程序的因子图700的示意图;
Name(姓名)"was born on(出生于)"date(日期)
因子图包括针对概率程序中每一变量的一个变量节点。所以变量name(姓名)具有变量节点718、变量date(日期)具有变量节点720、变量template(模板)具有变量节点722、变量dateStr具有变量节点724并且输出串c具有变量节点726。因子节点(显示为图7中的方块)具有相关联的消息运算符,其从该因子接收到的消息计算每个相邻变量的消息。其中这些消息是序列上的分布,它们会具有随机自动机的形式。例如,变量节点Name(姓名)718接收来自因子节点702的概率分布,其是表示姓名的串上的均匀概率分布。在其中特定姓名被观察到的情况下,变量节点Name(姓名)718接收来自因子节点710的概率分布作为表示该特定已知姓名的点质量。
以同样的方式,变量节点Date(日期)720接收来自因子节点704的概率分布,该概率分布是日期上的均匀概率分布。在其中特定日期被观察到的情况下,变量节点date(日期)720接收来自因子节点708的概率分布作为表示该特定日期的概率的点质量。
变量节点template(模板)722接收来自因子节点706的概率分布。该概率分布在具有特定格式的串上可以是均匀的。
因子节点DateToString(日期到串)716将日期上的概率分布从变量节点720转换到表示日期的串上的概率分布。因子节点format(格式化)714取得来自变量节点718、714和722的概率分布并将它们进行转换以创建被存储在变量节点726处的输出串726上的概率分布。
消息传递可发生。例如,输出串726被观察到并且针对该观察到的串的概率分布被因子节点712生成并被传递到变量节点726。格式化因子节点714取得节点726处的新的概率分布并使用它来将消息传递到变量节点718、724和722,其更新在这些变量节点处的概率分布。消息还从dateToString因子节点716传递到日期变量节点720,从而更新日期上的概率分布。通过这种方式,来自观察到的示例的知识被用于更新变量节点处的概率分布并因此完成部分示例或更新模板分布以使得在从因子节点710和708中接收到新的部分示例时改进检索性能。
图7的因子图仅仅是一个示例。它可通过添加更多的因子节点和变量节点来扩展。例如,表示对串的其他操作的因子节点可被使用。例如,表示其他属性的变量节点可被添加,诸如针对每位总统的第一夫人、每个人的出生地或其他值。注意,图7的因子图的顶部用属性值来操作,诸如日期、位置、姓名、时间和通常不是串的数量。任意非串值通过使用适当的因子节点(诸如图7的示例中的因子节点716)被转换到串。通过这种方式,因子图的较低部分仅用串来操作。
在解析推断组件动态地生成概率程序的情况下,它可根据输入数据的结构(诸如使用图形用户界面310输入的数据的任意行和列)来实现这个。例如,变量节点可针对每个表示该行的项的列的属性的值的单元格来创建。其列数据不具有类型串的任意变量节点被连接到适当的因子节点以将该列的属性值转换到串或其他有序项序列。变量节点被创建并连接到因子节点来保持到串的转换的结果。变量节点使用一个或多个因子节点(诸如图7的因子节点714)来根据一个或多个串操作被连接在一起。
如以上提到的,消息操作符可使用随机换能器来实现并且概率分布可使用随机自动机来表示。随机自动机的示例在图8中被给出,其显示用于在被结构化为人的姓名的串上的概率分布的随机自动机800。第一节点800表示一事件,该事件正生成人的名字的初始字母,该初始字母是均匀地选自如指示的字母表A到Z的大写字母。第二节点804表示生成人的名字的第二和后续小写字符,其中字符是来自如指示的字母表a到z并且生成小写字符的概率是0.8。第二节点804还可能生成如通过从第二节点804到节点806的被标记有概率0.2的箭头指示的空格。在离开一节点的各边上的概率相加为1。第三节点806表示生成人的姓氏的第一个字母,该第一个字母是来自如指示出的字母表A到Z的大写字母。最终节点808表示生成人的姓氏的第二和后续小写字符(在这个示例中具有概率0.7),其中字符来自如指示出的字母表a到z并且在这个示例中表示结束具有概率0.3的过程。
图8还显示用于生成由任意数量的空格包围的串“Hello”、“hello”或“Hi”的随机自动机810。随机自动机开始节点是节点812,其可生成三个动作中的任一个,因为它具有离开它的三条边。在概率0.1的情况下,它根据点质量生成空格,在概率0.3的情况下,它不采取动作(如由到节点824的∈边指示的)以及在概率0.6的情况下,它根据在两个字符h和H上的均匀分布要么生成字符h要么生成字符H。节点814根据点质量生成字符e,节点816根据点质量生成字符l,节点818根据点质量生成字符l并且节点820根据点质量生成字符o。节点822根据点质量来生成空格(在这个示例中使用边上的概率0.1)或结束具有如这个节点的双圆圈指示的概率0.9的过程。
节点824根据点质量来生成字符H,节点826根据点质量来生成字符i并且节点828结束该过程。
作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如,但非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),图形处理单元(GPU)。
图9示出示例性的基于计算的设备900的各组件,该基于计算的设备900可被实现成计算和/或电子设备的任何形式,并且其中可实现解析推断组件100、306的实施例。
基于计算的设备900包括一个或多个处理器902,这些处理器可以是微处理器、控制器或用于处理计算机可执行指令以控制设备的操作来推断有序项序列(诸如文本)的结构的任何其他合适类型的处理器。在某些示例中,对于使用片上系统体系结构的示例,处理器902可包括用硬件(而非软件或固件)实现此处描述的方法的一部分的一个或多个固定功能块(也被称为加速计)。可以在基于计算的设备处提供包括操作系统904的平台软件或任何其他合适的平台软件以使得解析推断组件908(以及任选地推断引擎906)能够在该设备上执行。在一些示例中,推断引擎906不存在在设备处并可经由通信接口914来访问。数据存储910可被提供并可存储观察、观察源的地址、概率分布以及其他数据。
可以使用可由基于计算的设备900访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质可以包括例如诸如存储器912等计算机存储介质和通信介质。诸如存储器912等计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以以诸如载波或其他传输机构等已调制数据信号来体现计算机可读指令、数据结构、程序模块或者其他数据。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质不应被解释为本质上是传播信号。传播信号可存在于计算机存储介质中,但是传播信号本身不是计算机存储介质的示例。虽然在基于计算的设备900中示出了计算机存储介质(存储器912),然而应当理解,该存储可以是分布式的或位于远处并经由网络或其他通信链路(例如,使用通信接口914)来访问。
基于计算的设备900还包括输入/输出控制器916,该输入/输出控制器被布置成向显示设备918输出显示信息,该显示设备可与基于计算的设备900分开或集成。该显示信息可以提供图形用户界面。输入/输出控制器916还被安排成接收并处理来自一个或多个设备的输入,如用户输入设备920(例如,鼠标、键盘、相机、话筒、或其他传感器)。在一些示例中,用户输入设备920可以检测语音输入、用户姿势或其他用户动作,并且可以提供自然用户界面(NUI)。该用户输入可被用于创建、编辑、删除、操纵概率程序、输入观察、指定观察源、与图形用户界面310交互以及用于本文中描述的其他方法。在一实施例中,如果显示设备918是触敏显示设备,那么它还可担当用户输入设备920。输入/输出控制器916还可向除显示设备之外的设备输出数据,例如,本地连接的打印设备。
输入/输出控制器916、显示设备918以及可任选地用户输入设备920可包括使用户能够按自然的、免受诸如鼠标、键盘、遥控器等输入设备所施加的人工约束的方式与基于计算的设备交互的NUI技术。可以提供的NUI技术的示例包括但不限于依赖于语音和/或话音识别、触摸和/或指示笔识别(触敏显示器)、屏幕上和屏幕附近的姿势识别、空中姿势、头部和眼睛跟踪、语音和话音、视觉、触摸、姿势以及机器智能的那些技术。可被使用NUI技术的其他示例包括意图和目的理解系统,使用深度相机(如立体相机系统、红外相机系统、rgb相机系统以及这些的组合)的运动姿势检测系统,使用加速度计/陀螺仪的运动姿势检测,面部识别,3D显示,头部、眼睛和注视跟踪,沉浸式增强现实和虚拟现实系统,以及用于使用电场传感电极(EEG和相关方法)的感测大脑活动的技术。
此处所使用的术语“计算机”或“基于计算的设备”是指带有处理能力以便它可以执行指令的任何设备。本领域技术人员可以理解,这样的处理能力被结合到许多不同设备,并且因此术语每个“计算机”和“基于计算的设备”包括个人电脑、服务器、移动电话(包括智能电话)、平板电脑、机顶盒、媒体播放器、游戏控制台、个人数字助理和许多其它设备。
本文描述的方法可由有形存储介质上的机器可读形式的软件来执行,例如计算机程序的形式,该计算机程序包括在该程序在计算机上运行时适用于执行本文描述的任何方法的所有步骤的计算机程序代码装置并且其中该计算机程序可被包括在计算机可读介质上。有形存储介质的示例包括计算机存储设备,计算机存储设备包括计算机可读介质,诸如盘(disk)、拇指型驱动器、存储器等而不包括所传播的信号。传播信号可存在于有形存储介质中,但是传播信号本身不是有形存储介质的示例。软件可适于在并行处理器或串行处理器上执行以使得各方法步骤可以按任何合适的次序或同时执行。
这承认,软件可以是有价值的,单独地可交换的商品。它旨在包含运行于或者控制“哑”或标准硬件以实现所需功能的软件。它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等“描述”或者定义硬件配置以实现期望功能的软件。
本领域技术人员会认识到,用于存储程序指令的存储设备可分布在网络上。例如,远程计算机可以存储被描述为软件的进程的示例。本地或终端计算机可以访问远程计算机并下载软件的一部分或全部以运行程序。可另选地,本地计算机可以根据需要下载软件的片段,或在本地终端上执行一些软件指令,并在远程计算机(或计算机网络)上执行另一些软件指令。本领域的技术人员还将认识到,通过利用本领域的技术人员已知的传统技术,软件指令的全部,或一部分可以通过诸如DSP、可编程逻辑阵列等等之类的专用电路来实现。
对精通本技术的人显而易见的是,此处给出的任何范围或设备值可以被扩展或改变,而不会丢失寻求的效果。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
可以理解,上文所描述的优点可以涉及一个实施例或可以涉及多个实施例。各实施例不仅限于解决任何或全部所陈述的问题的那些实施例或具有任何或全部所陈述的优点那些实施例。进一步可以理解,对“一个”项目的引用是指那些项目中的一个或多个。
此处所描述的方法的步骤可以在适当的情况下以任何合适的顺序,或同时实现。另外,在不偏离此处所描述的主题的精神和范围的情况下,可以从任何一个方法中删除各单独的框。上文所描述的任何示例的各方面可以与所描述的其他示例中的任何示例的各方面相结合,以构成进一步的示例,而不会丢失寻求的效果。
此处使用了术语“包括”旨在包括已标识的方法的框或元件,但是这样的框或元件不包括排它性的列表,方法或设备可以包含额外的框或元件。
可以理解,上面的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对各示例性实施例的结构和使用的全面描述。虽然上文以一定的详细度或参考一个或多个单独实施例描述了各实施例,但是,在不偏离本说明书的精神或范围的情况下,本领域的技术人员可以对所公开的实施例作出很多更改。
Claims (12)
1.一种用于解析有序项序列的方法,包括:
在处理器处访问定义用于生成有序项序列的随机过程的概率程序,所述随机过程具有表示所述随机过程中涉及的可能有序项序列的一个或多个概率分布;
在所述处理器处接收与所述随机过程兼容的有序项序列中的至少一部分的至少一个示例;
通过使用所述至少一个示例实现推断来更新所述一个或多个概率分布;以及
输出关于所述一个或多个概率分布的信息;
其中所述概率分布描述了语法、规则或操作如何被用于生成所述有序项序列。
2.如权利要求1所述的方法,其特征在于,所述随机过程还包括具有选自以下任一的类型的至少一个未确定变量:布尔变量、整数变量、双精度变量、日期变量、包括多个属性的复合变量。
3.如权利要求1或权利要求2所述的方法,其特征在于,所述随机过程包括来自指定的多个用于生成有序项序列的指定的多个操作的一个或多个操作;具有至少一个自变量的至少一个操作,该至少一个自变量自身是由有序项序列上的概率分布表示的操作。
4.如权利要求1或权利要求2所述的方法,其特征在于,访问所述随机过程包括访问经编译的概率程序,所述概率程序包括被安排成通过使用随机换能器更新随机自动机来更新所述概率分布的消息传递算法。
5.如权利要求1或权利要求2所述的方法,其特征在于,包括使用所述至少一个示例和所述一个或多个概率分布来获得与所述随机过程兼容的有序项序列的完整示例。
6.如权利要求5所述的方法,其特征在于,包括通过使用所述完整示例实现推断来更新所述一个或多个概率分布。
7.如权利要求1所述的方法,其特征在于,包括使用经更新的概率分布来完成部分示例,所述部分示例属于具有多个属性的对象,所述多个属性中的至少一个是已知的并且所述多个属性中的至少一个是未知的,并且其中使用经更新的概率分布来完成所述部分示例包括计算未知的属性值中的至少一个的值。
8.如权利要求7所述的方法,其特征在于,包括使用经更新的概率分布来计算被完成的部分示例的确定性并显示关于所计算的确定性的信息。
9.一种包括定义用于生成有序项序列的随机过程的概率程序的设备可执行指令的解析推断组件,所述随机过程使用表示在所述随机过程中涉及的可能有序项序列的一个或多个概率分布;所述解析推断组件具有:
输入控制器,所述输入控制器被安排成接收与所述随机过程兼容的有序项序列的至少一部分的至少一个示例;并且其中所述设备可执行指令被安排成通过使用所述至少一个示例实现推断来更新所述一个或多个概率分布;
其中所述概率分布描述了语法、规则或操作如何被用于生成所述有序项序列。
10.如权利要求9所述的解析推断组件,其特征在于,包括被安排成动态地生成用于生成所述有序项序列的概率程序的处理器。
11.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求1-8中任一权利要求所述的方法。
12.一种计算机系统,包括用于执行如权利要1-8中任一权利要求所述的方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/783,349 US9251467B2 (en) | 2013-03-03 | 2013-03-03 | Probabilistic parsing |
US13/783,349 | 2013-03-03 | ||
PCT/US2014/018461 WO2014137672A2 (en) | 2013-03-03 | 2014-02-26 | Probabilistic parsing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105283868A CN105283868A (zh) | 2016-01-27 |
CN105283868B true CN105283868B (zh) | 2018-07-10 |
Family
ID=50349844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480012119.9A Active CN105283868B (zh) | 2013-03-03 | 2014-02-26 | 用于概率解析的方法、组件、介质和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9251467B2 (zh) |
EP (1) | EP2965230A2 (zh) |
CN (1) | CN105283868B (zh) |
WO (1) | WO2014137672A2 (zh) |
Families Citing this family (146)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
EP2954514B1 (en) | 2013-02-07 | 2021-03-31 | Apple Inc. | Voice trigger for a digital assistant |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014002747T5 (de) | 2013-06-09 | 2016-03-03 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten |
US10496929B2 (en) * | 2013-09-30 | 2019-12-03 | Oracle International Corporation | Data-parallel probabilistic inference |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
WO2017039595A1 (en) * | 2015-08-28 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Graph inference calculator |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
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 |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10180808B2 (en) | 2016-10-27 | 2019-01-15 | Samsung Electronics Co., Ltd. | Software stack and programming for DPU operations |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
KR101857988B1 (ko) * | 2017-03-16 | 2018-05-16 | 주식회사 핸즈 | 다른 사람과 만날 확률을 제공하는 방법 및 서버 |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
GB201800473D0 (en) | 2018-01-11 | 2018-02-28 | Microsoft Technology Licensing Llc | Knowledge base construction |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US20230076773A1 (en) * | 2021-08-27 | 2023-03-09 | Microsoft Technology Licensing, Llc | Knowledge base with type discovery |
US20230067688A1 (en) * | 2021-08-27 | 2023-03-02 | Microsoft Technology Licensing, Llc | Knowledge base with type discovery |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682065A (zh) * | 2011-02-03 | 2012-09-19 | 微软公司 | 使用输入-输出示例的语义实体操纵 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021403A (en) | 1996-07-19 | 2000-02-01 | Microsoft Corporation | Intelligent user assistance facility |
AU9513198A (en) | 1997-09-30 | 1999-04-23 | Ihc Health Services, Inc. | Aprobabilistic system for natural language processing |
WO2000070481A1 (en) | 1999-05-14 | 2000-11-23 | Manna, Inc. | Intelligent computer system |
US7200563B1 (en) | 1999-08-20 | 2007-04-03 | Acl International Inc. | Ontology-driven information system |
US6556960B1 (en) | 1999-09-01 | 2003-04-29 | Microsoft Corporation | Variational inference engine for probabilistic graphical models |
US6691122B1 (en) | 2000-10-30 | 2004-02-10 | Peopleclick.Com, Inc. | Methods, systems, and computer program products for compiling information into information categories using an expert system |
US6820075B2 (en) * | 2001-08-13 | 2004-11-16 | Xerox Corporation | Document-centric system with auto-completion |
US7610189B2 (en) | 2001-10-18 | 2009-10-27 | Nuance Communications, Inc. | Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal |
US7426496B2 (en) * | 2004-03-03 | 2008-09-16 | Microsoft Corporation | Assisted form filling |
US7454393B2 (en) | 2003-08-06 | 2008-11-18 | Microsoft Corporation | Cost-benefit approach to automatically composing answers to questions by extracting information from large unstructured corpora |
US7433853B2 (en) | 2004-07-12 | 2008-10-07 | Cardiac Pacemakers, Inc. | Expert system for patient medical information analysis |
US7050868B1 (en) | 2005-01-24 | 2006-05-23 | Microsoft Corporation | Bayesian scoring |
US8103445B2 (en) | 2005-04-21 | 2012-01-24 | Microsoft Corporation | Dynamic map rendering as a function of a user parameter |
US7685144B1 (en) * | 2005-12-29 | 2010-03-23 | Google Inc. | Dynamically autocompleting a data entry |
US20090216911A1 (en) * | 2008-02-21 | 2009-08-27 | Larry Long | Method and system for intuitive coding to enter text expansions |
US8103598B2 (en) | 2008-06-20 | 2012-01-24 | Microsoft Corporation | Compiler for probabilistic programs |
EP2635979A1 (en) * | 2010-11-01 | 2013-09-11 | Koninklijke Philips Electronics N.V. | Suggesting relevant terms during text entry |
US9443036B2 (en) * | 2013-01-22 | 2016-09-13 | Yp Llc | Geo-aware spellchecking and auto-suggest search engines |
-
2013
- 2013-03-03 US US13/783,349 patent/US9251467B2/en active Active
-
2014
- 2014-02-26 WO PCT/US2014/018461 patent/WO2014137672A2/en active Application Filing
- 2014-02-26 CN CN201480012119.9A patent/CN105283868B/zh active Active
- 2014-02-26 EP EP14712394.7A patent/EP2965230A2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682065A (zh) * | 2011-02-03 | 2012-09-19 | 微软公司 | 使用输入-输出示例的语义实体操纵 |
Non-Patent Citations (1)
Title |
---|
Bi-directional Joint Inference for Entity Resolution and Segmentation Using Imperatively-Defined Factor Graphs;Sameer Singh et al;《Machine Learning and Knowledge Discovery in Databases》;20090907;附图1 * |
Also Published As
Publication number | Publication date |
---|---|
US20140250046A1 (en) | 2014-09-04 |
CN105283868A (zh) | 2016-01-27 |
EP2965230A2 (en) | 2016-01-13 |
US9251467B2 (en) | 2016-02-02 |
WO2014137672A2 (en) | 2014-09-12 |
WO2014137672A3 (en) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105283868B (zh) | 用于概率解析的方法、组件、介质和系统 | |
Raschka et al. | Machine Learning with PyTorch and Scikit-Learn: Develop machine learning and deep learning models with Python | |
Raschka et al. | Python machine learning: Machine learning and deep learning with Python, scikit-learn, and TensorFlow 2 | |
EP1672537B1 (en) | Data semanticizer | |
Gulwani | Programming by examples | |
US10496749B2 (en) | Unified semantics-focused language processing and zero base knowledge building system | |
CN105393265B (zh) | 人机交互学习中的主动特征化 | |
CN104462056B (zh) | 用于呈现基于知识的信息的方法和信息操纵系统 | |
CN105593849B (zh) | 数据库访问 | |
CN110036399A (zh) | 神经网络数据录入系统 | |
CN106202059A (zh) | 机器翻译方法以及机器翻译装置 | |
CN107810496A (zh) | 用户文本分析 | |
CN108140018A (zh) | 创作用于基于文本的文档的视觉表示 | |
CN110991168A (zh) | 同义词挖掘方法、同义词挖掘装置及存储介质 | |
CN111326251B (zh) | 一种问诊问题输出方法、装置以及电子设备 | |
Sheikh et al. | Generative model chatbot for human resource using deep learning | |
CN106557463A (zh) | 情感分析方法及装置 | |
Lande et al. | GPT Semantic Networking: A Dream of the Semantic Web–The Time is Now | |
EP4174714A1 (en) | Text sequence generation method, apparatus and device, and medium | |
CN110032645A (zh) | 文本情感识别方法、系统、设备以及介质 | |
Tamosiunaite et al. | Cut & recombine: reuse of robot action components based on simple language instructions | |
Moreno et al. | Supporting knowledge creation through has: The hyperknowledge annotation system | |
Shao et al. | Visual explanation for open-domain question answering with bert | |
Tho | N/A Modern Approaches in Natural Language Processing | |
US11886826B1 (en) | Systems and methods for language model-based text insertion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |