非结构化文本的机器理解的制作方法

文档序号:17123916发布日期:2019-03-16 00:07阅读:162来源:国知局
非结构化文本的机器理解的制作方法

本申请于2017年5月17日作为pct国际专利申请提交,并要求于2016年5月17日提交的名称为“naturallanguagecomprehensionwiththeepireader”的美国临时申请号62/337720的优先权,其全部公开内容通过整体引用并入于此。



背景技术:

由机器在近人类层面理解自然语言是针对人工智能的主要目标。实际上,大多数人类知识都是以文本的自然语言来收集的。因此,对非结构化、真实世界文本的机器理解已经得到来自科学家、工程师和学者的极大关注。这至少部分是由于许多自然语言处理任务(诸如信息提取、关系提取、文本摘要或机器翻译)隐式地或显式地取决于机器利用自然语言理解和推理的能力的事实。



技术实现要素:

本文所公开的实施例提供了一种采用级联的第一和第二处理电路装置的自然语言理解系统。第一处理电路装置分析文本并指示可能回答问题的一个或多个实体。第一处理电路装置输出针对该问题的候选答案集合,以及针对每个候选答案的正确性的第一概率。第二处理电路装置通过将每个候选答案插入到问题中来形成一个或多个假设,并确定每个假设与文本中的每个句子之间是否存在语义关系。由第二处理电路装置实施的语义比较可以基于识别文本蕴涵的概念,其也被称为自然语言干扰。基于比较,第二处理电路装置生成针对每个候选答案的正确性的第二概率或修正的概率,并将第一概率与第二概率组合,以产生被用来对候选答案进行排序的分数。具有最高分数的候选答案被选择作为预测的答案。

在一方面,一种系统包括第一处理电路装置、第二处理电路装置,以及存储计算机可执行指令的一个或多个存储设备,该计算机可执行指令在由第一和第二处理电路装置执行时,执行一种方法。方法包括:由第一处理电路装置处理文本和与文本有关的问题,以产生该问题的候选答案集合。候选答案集合中的每个候选答案被包括在文本中。方法还包括:由第二处理电路装置处理文本和假设集合,假设通过将每个候选答案插入到问题中来形成,其中每个假设被包括在假设集合中,并且确定文本和每个假设之间的相似性。假设中的具有最高相似性的候选答案被输出作为问题的预测的答案。

在另一方面,一种方法包括:接收与文本相关的完形填空式问题,并且由第一处理电路装置处理文本和完形填空式问题,以产生完形填空式问题的候选答案集合。候选答案集合中的每个候选答案被包括在文本中。方法还包括:由第二处理电路装置处理文本和假设集合,以确定预测的答案。由第二处理电路装置处理的操作包括:通过将每个候选答案插入到完形填空式问题中来形成假设,其中每个假设被包括在假设集合中;确定文本与每个假设之间的相似性;以及输出在假设中具有最高相似性的候选答案作为针对完形填空式问题的预测的答案。

在又一方面,一种方法包括:基于对具有文本的问题的粗略审阅来确定问题的可能的答案的集合。针对每个可能的答案的正确性的第一概率被确定,并且基于与每个可能的答案相关联的第一概率,候选答案集合被确定。然后,针对每个候选答案形成假设,其中假设包括被插入到问题中的候选答案。对于每个假设,基于假设与文本的语义比较来测量蕴涵。基于所测量的蕴涵,确定针对每个候选答案的正确性的第二概率。将第一概率和与每个假设相关联的第二概率组合以产生分数。然后,基于与每个候选答案相关联的分数,确定预测的答案。

提供本发明内容是为了以简化的形式介绍一些概念,将在下面详细的描述中进一步描述这些概念。本发明内容无意标识所要求保护的主题内容的关键特征或必要特征,也无意用于限制所要求保护的主题内容的范围。

附图说明

参考以下附图描述非限制性和非穷举性的示例。附图中的元件不一定相对于彼此按比例缩放。在可能的情况下,使用相同的附图标记来表示附图中所共有的相同特征。

图1图示了可以包括自然语言理解系统的示例系统;

图2是描述通过自然语言理解来预测问题的答案的方法的流程图;

图3是图示根据文档中的文本来确定问题的候选答案集合的方法的流程图;

图4是图示图3中所示方法的过程流程图;

图5是描述根据文档中的文本来预测问题的答案的方法的流程图;

图6是图示图5中所示的方法的过程流程图;

图7是图示训练自然语言理解系统的方法的流程图;

图8是图示可以利用其实践本公开的方面的计算设备的示例物理组件的框图;以及

图9是其中可以实践本公开的方面的分布式计算系统的框图。

具体实施方式

在以下详细描述中,参考构成该详细描述的一部分的附图,并且在该详细描述中通过图示示出了具体实施例或示例。在不脱离本公开的情况下,可以组合这些方面、可以利用其他方面,以及可以作出结构改变。实施例可以被实践为方法、系统或设备。相应地,实施例可以采取硬件的实施方式、全部软件的实施方式或组合软件和硬件方面的实施方式的形式。因此,以下详细描述不应当被视为具有限制意义,并且本公开的范围由所附权利要求及其等同物限定。

本文所描述的实施例提供了一种采用两阶段过程以用于文本的机器理解的自然语言理解系统。文本通常被包括在文档(诸如网页、书籍、手册、论文或包括文本的一个或多个段落的任何其他合适的文档)中。文本包括一个或多个句子,其中每个句子包括单词的序列。在本文中使用术语“实体”或“多个实体”来表示文本中的单词、单词的序列和/或名词短语。

第一阶段或第一处理电路装置指示文档中可能回答所接收的问题的一个或多个实体。所指示的实体被包括在候选答案集合中,其中该集合包括一个或多个候选答案。第一处理电路装置输出候选答案的该集合以及针对每个候选答案的正确性的第一概率。

第二阶段或第二处理电路装置通过将每个候选答案插入到问题中来形成一个或多个假设,并且确定每个假设与文本中的每个句子之间是否存在语义关系。对于每个假设,第二处理电路装置可以测量和聚合文本中所有句子与假设之间的相似性。第二处理电路装置生成针对每个候选答案的正确性的第二概率,并将第一概率与第二概率组合,以产生针对每个候选答案的分数。然后,基于分数对候选答案进行排序,并且提供具有最高分数的候选答案作为预测的答案。

本公开的实施例提供计算复杂性和准确性之间的折衷。在一些实例中,运行第二处理电路装置的操作可能是复杂的和/或计算上昂贵的。第一处理电路装置可以通过过滤或减少由第二处理电路装置处理的候选答案的数目来降低该成本。附加地或备选地,本公开的实施例提供了一种架构,该架构是端到端可训练的并且采用完全差分的数学运算。

图1图示了可以包括自然语言理解系统的示例系统。系统100允许用户105通过客户端计算设备110提交与文档中的文本相关联的问题。客户端计算设备110可以包括或被连接到接收问题的输入设备115。问题可以作为文本问题(例如,书面的)或者作为被转变为文本问题的口头问题(例如,使用语音到文本应用(stt)120)而被提交。输入设备115可以是被配置为接收问题的任何合适类型的输入设备或多个输入设备。在非限制性示例中,输入设备115可以是键盘(实际的或虚拟的)和/或麦克风。

客户端计算设备110被配置为通过一个或多个网络(由网络130表示)访问一个或多个服务器计算设备(由服务器计算设备125表示),以与被存储在一个或多个存储设备(由存储设备140表示)上的自然语言理解系统(nlcs)135交互。如后面将更详细描述的,nlcs135处理问题和文档中的文本,以预测问题的答案。对答案的预测可以使得通过在客户端计算设备110中或被连接到客户端计算设备110的输出设备145将答案提供给用户105。在非限制性示例中,输出设备是显示预测的答案的显示器和/或“说出”预测的答案的扬声器(例如,使用文本到语音应用(tts)120)。

在一个或多个实施例中,客户端计算设备110是具有输入和输出设备115、145两者的个人或手持式计算设备。例如,客户端计算设备110可以是以下中的一个:移动电话、智能电话、平板电脑、平板手机、智能手表、可穿戴计算机、个人电脑、台式计算机、笔记本计算机、游戏设备/计算机(例如,xbox)、电视等。示例客户端计算设备的该列表仅用于示例目的,而不应当被视为限制。可以利用提供nlcs和/或与nlcs交互的任何合适的客户端计算设备。

如应当理解的,出于说明本方法和系统的目的描述图1,图1无意将本公开限制于步骤的特定顺序或者硬件或软件组件的特定组合。

图2是描绘通过自然语言理解来预测问题的答案的方法的流程图。最初,如在框200中所示,接收由(例如,涉及)文档中的文本支持的问题。在一些实施例中,该问题是完形填空式问题,其包括删除了一个或多个实体(例如,空白)的句子或单词的序列。完形填空式问题的一个示例是“填空”问题。本文所公开的实施例被描述为使用具有一个缺失实体(例如,一个空白)的完形填空式问题,尽管实施例不限于该问题格式或类型。

然后,由第一处理电路装置处理问题和文档,以确定或预测针对空白的候选答案集合(框205)。从文本中导出或获得候选答案的该集合。在一个实施例中,第一处理电路装置执行对文本的粗略审阅并指向是问题的可能的答案的文本中的一个或多个实体。然后,第一处理电路装置可以过滤或减少可能的答案的数目以产生并对一个或多个很可能的答案进行排序。一些或所有可能的答案形成候选答案集合。结合图3和图4更详细地描述由第一处理电路装置执行的操作。

接下来,如在框210中所示,由第二处理电路装置处理候选答案集合,以确定候选答案集合中的哪个答案是预测的答案。在一个实施例中,第二处理电路装置包括一对卷积网络,其输出被连接到神经网络(例如,具有门控递归单元(gru)的一个或多个的递归神经网络)。第二处理电路装置基于与文本的更深的语义比较来对很可能的答案进行重新排序。由第二处理电路装置实施的语义比较是基于识别文本蕴涵的概念(也被称为自然语言干扰)。基于重新排序,第二处理电路装置输出问题的预测的答案。结合图5和图6更详细地描述由第二处理电路装置执行的操作。

图3是图示根据文档中的文本确定问题的候选答案集合的方法的流程图。图3描绘了可以在图2中的框205中被执行的操作。方法通过指向它们在支持文本中的位置来选择候选答案集合。第一处理电路装置执行问题与支持文本的粗浅的或粗略的比较,以确定问题的一个或多个可能的答案以及与每个可能的答案相关联的概率。第一处理电路装置基于相关联的概率对可能的答案进行排序,并选择给定数目的经排序的可能的答案作为候选答案集合(例如,很可能的答案的集合)。该选择可以基于阈值或者基于很可能的答案的预定数目(例如,前五个或前十个很可能的答案)。

最初,当问题未被起草为完形填空式问题时,在框300处将所接收的问题格式化或重写为完形填空式问题。框300是可选的,并且当问题被呈现为完形填空式问题时不被执行。

接下来,如在框305中所示,问题和文档由第一处理电路装置处理,以从文档中的文本预测可能的答案的集合。在一个实施例中,第一处理电路装置是接收文档和问题的神经网络。具体地,神经网络被配置成指针网络,其使用一对双向递归神经网络f(θt,t)和g(θq,q)来编码文本和问题,其中t表示文本、θt表示文本编码器的参数,并且是文本(包括n个实体)的矩阵表示,其列是单独的实体嵌入ti。同样,q表示问题、θq表示问题编码器的参数,并且是问题(包括nq个实体)的矩阵表示,其列是单独的实体嵌入qj。d表示嵌入维度。

双向递归神经网络具有在输入矩阵t的列(例如,实体嵌入)上扫描的门控递归单元(gru)。第一gru的隐藏状态给出以在前的实体为条件的第i个实体的表示。为了包括来自在前的实体的上下文,第二gru以反方向在矩阵t上运行。第一gru和第二gru的组合在本文中被称为bigru。在每一步,bigru输出两个d维的编码矢量,一个用于前向方向以及一个用于后向方向。编码矢量被连接以产生矢量

处理问题的bigru是类似的,但是通过将最终的前向状态与初始后向状态连接来获得问题的单向量表示,其被表示为

返回图3,在框310处继续该过程,其中确定可能的答案的集合上的概率分布。确定或估计针对每个候选答案的正确性的概率。针对所有可能的答案的概率之和大体上等于百分之百。

在一个实施例中,文本t中的第i个实体回答问题q的概率被建模为:

si∝exp(f(ti·g(q))等式1

该等式取文本和问题表示的内积,跟随有softmax函数(例如,归一化指数)。在许多情况下,唯一实体在文本中重复。因此,可以使用以下等式计算实体w是正确答案的概率:

针对文本t中的每个唯一实体评估该概率,其产生文本t中的唯一实体上的概率分布。实质上,确定唯一实体上的概率分布确定了可能的候选的集合上的概率分布。

接下来,如在框315中所示,将可能的候选的集合过滤或排序以产生候选答案集合(例如,很可能的答案的集合)。在一个实施例中,第一处理电路装置通过输出来自等式2的k个最高单词概率的集合{p1,...,pk}以及k个最可能的答案的集合来过滤可能的答案的集合。然后,输出候选答案集合并将其发送到第二处理电路装置。

图4是图示图3中所示方法的过程流程图。文档400包括文本405的一个或多个段落。在所图示的实施例中,文本的段落包括三个句子:“那是美好的一天”、“sam和james玩了一整天”和“从此以后,他们幸福地生活”。接收与文档400中的文本405的一个或多个段落有关的问题410。在所图示的实施例中,问题410是“[空白]是sam的最好的朋友”(完形填空式问题),其中问题中的一个实体缺失(例如,空白415)。

在其他实施例中,当所接收的问题不是完形填空式问题时,问题格式器420可以将非完形填空式问题转变为完形填空式问题。如先前结合图3所描述的,问题格式器420是可选的,并且当问题作为完形填空式问题被提交时不被利用。

文本405的一个或多个段落和问题410被输入到包括一个或多个神经网络(由神经网络430表示)的第一处理电路装置425。神经网络430执行图3中所示的方法。神经网络430处理问题410和文本405的段落,以预测可能的候选答案集合435。

在所图示的实施例中,候选答案集合435包括三个候选答案440以及与每个候选答案445相关联的概率。候选答案“ernie”与概率“p1”相关联,其中“p1”表示“ernie”是正确答案或预测的答案的概率“p1”。类似地,候选答案“james”与概率“p2”相关联,以及候选答案“tom”与概率“p3”相关联。

在一个实施例中,神经网络430是指针网络,其使用一对bigru来指向文本405中的候选答案的位置。指针网络可以被实施为生成在实体上分布的概率并且是完全可差分的任何合适的指针网络。例如,在一个实施例中,指针网络是注意力总和读取器网络,尽管这不是必需的。在其他实施例中,指针网络可以是匹配-lstm网络、多视角上下文匹配网络或reasonet。

图5是描绘根据文档中的文本预测问题的答案的方法的流程图。图5描绘了可以在图2中的框210中被执行的操作。该方法通过将候选答案插入到问题中来形成假设,并且然后估计每个假设与支持文本中的每个句子的一致性。每个估计被用作与假设相关联的概率的测量(第二概率)。每个第二概率是对支持文本中所有句子上的估计的聚合。基于第二概率,对候选答案进行重新排序并且选择并输出预测的答案。基本上,第二处理电路装置执行问题与支持文本的更深的语义比较,以对候选答案集合中的候选答案进行重新排序,并且基于重新排序,选择或输出预测的答案。

最初,如在框500中所示,第二处理电路装置从第一处理电路装置接收候选答案集合。此后,在框505处,第二处理电路装置使用每个候选答案形成假设。第二处理电路装置将候选答案插入到空白位置处的问题序列q中。换句话说,第二处理电路装置利用候选答案来填充空白。

接下来,如在框510中所示,第二处理电路装置将每个假设与文本中的句子进行比较,以测量假设和句子之间的文本蕴涵。在一个实施例中,文本被编码成句子的序列ns:其中si是实体的序列。对于每个假设和每个句子,对第二处理电路装置的输入包括两个矩阵:(其列是针对句子si的每个实体的嵌入向量)和(其列是针对假设hk中每个实体的嵌入向量)。在一些方面中,可以利用可训练的嵌入来表示文档中的实体。使用矩阵来表示可训练的嵌入,其中d是嵌入维度,并且|v|是词汇量大小。嵌入向量来自矩阵w。

在一些实施方式中,第二处理电路装置包括一对卷积网络以及具有gru的递归神经网络(以下称为gru)。矩阵si和hk被输入到卷积网络中,卷积网络利用矩阵增大si。m的第一行包含句子中的每个实体嵌入与候选答案嵌入的内积,并且第二行包含每个句子实体嵌入与问题中的任何实体嵌入的最大内积。

然后,将经增大的si与一组滤波器进行卷积,而将hk与滤波器进行卷积,其中m是卷积滤波器宽度。在一些实施例中,添加偏置项并且在卷积之后应用非线性。

为了测量假设和句子之间的文本蕴涵,使用双线性形式在矢量表示之间计算标量相似性分数:

其中是可训练参数的矩阵。然后将相似性分数与句子和假设表示连接以获得向量其他实施例可以不同地确定文本蕴含。

得到的ns矢量的序列馈送到gru中以用于合成,gru的隐藏维度为ds。在一些实例中,针对特定假设的证据分布在几个句子中。例如,“足球在公园里”的假设可以基于“sam拿起足球”的一个句子以及“sam跑到公园”的随后的句子。第二处理电路装置通过在xik上运行gru来合成分布式信息,其中i索引句子并表示步长维度。在一些实施例中,第二处理电路装置并行处理所有k个假设,并且通过使用softmax分类器ek∝exp(yk)的卷积网络将每个假设的估计的蕴涵归一化,其中yk是表示基于文本的针对hk所收集的证据的标量。

返回到图5中的框515,第二处理电路装置确定假设包括答案的第二概率。在一个实施例中,由第二处理电路装置产生的证据ek被解释为对由第一处理电路装置输出的概率pk的校正。在这种实施例中,可以根据等式4计算针对每个假设的第二概率。

πk∝ekpk等式4

接下来,如在框520中所示,组合第一概率和第二概率以产生分数。然后选择假设中具有最高分数的答案作为预测的答案,并且输出预测的答案(框525、框530)。可以使用任何合适的输出设备将预测的答案呈现给用户(例如,图1中的用户105)。在一个实施例中,预测的答案的选择使预测的答案被显示在诸如客户端计算设备(例如,图1中的客户端计算设备110)中包括或连接到的显示器上。

图6是描绘图5的方法的过程流程图。如图所示,第二处理电路装置600包括第一卷积网络605和第二卷积网络610,其输出由一个或多个神经网络(由神经网络615表示)接收。

通过利用每个候选答案来填充在空白415(图4)中来产生假设620。如在图6中所示,候选答案“james”625填充空白415。第一卷积网络605接收文本405并将文本405编码为句子的序列ns。第二卷积网络610接收并编码假设620。基本上,一对卷积网络605、610生成假设的抽象表示和句子的序列中的每个句子。

然后将经编码的假设和经编码的句子的序列输入到神经网络615中,神经网络615将假设与句子进行比较,以测量假设和句子之间的文本蕴涵。如先前所描述的,神经网络615可以是估计并聚合所有句子上的蕴涵的gru。

神经网络615生成针对每个候选答案的第二概率,并组合第一概率和第二概率以产生分数630。如在图6中所示,神经网络615输出针对候选答案“james”625的分数“s2”630。当已经处理了所有候选答案时,选择具有最高分数的候选答案作为预测的答案。然后可以将预测的答案提供给客户端计算设备(例如,图1中的客户端计算设备110)。

如应当理解的,出于说明本方法和系统的目的,描述了图2-图6,并且无意将本公开限制于步骤的特定序列或者硬件或软件组件的特定组合。图2、图3和图5中所示的流程图可以包括附加框或省略一个或多个框。例如,可以省略图5中的520,并且在框525处的操作可以选择具有最高的第二概率的候选答案作为预测的答案。附加地或备选地,结合图3-图6来描述的数学计算和等式是非限制性示例,并且其他实施例可以使用不同的计算和等式来执行这些方法。

如先前所描述的,第一和第二处理电路装置的组合提供了计算复杂性和准确性之间的折衷。在一些实例中,第二处理电路装置的操作可能是复杂的和/或计算上昂贵的。第一处理电路装置可以通过过滤或减少由第二处理电路装置处理的候选答案的数目来降低该成本。附加地或备选地,第一和第二处理电路装置的组合提供了采用完全差分的并且是端到端可训练的数学运算的架构。向前传播由第一处理电路装置产生的第一概率并且将第一概率与由第二处理电路装置生成的第二概率组合使得nlcs端到端可差分。

图7是图示训练自然语言理解系统(nlcs)的方法的流程图。在一些实施例中,可以使用包括问题和相关联或支持的文本的一个或多个数据集来训练nlcs。一个示例数据集是有线新闻网络(cnn)数据集。使用摘自cnn网站的文章来构建cnn数据集。文章本身构成了文本,并且从每篇文章附带的简短摘要陈述中综合生成问题。

另一示例数据集是儿童书籍测试(cbt)数据集。与cnn数据集类似地但是从儿童书籍构造cbt数据集。从二十个句子的书摘中获得文本,并且通过替换后续句子(例如,在第二十一句中)中的单个单词来生成问题。

最初,来自一个或多个数据集的文本和问题由第一和第二处理电路装置接收和处理(框700和框705)。如先前所描述的,示例数据集包括但不限于:cnn数据集和cbt数据集。根据上面结合图3-图6所描述的方法来处理文本和问题。基于由第二处理电路装置产生的分数(例如,经组合的第一概率和第二概率),调整第一和第二处理电路装置的参数,以降低或最小化与第一和第二处理电路装置相关联的总成本(框715)。

在一个实施例中,bigru和gru的参数被优化以降低总成本。参数包括定义神经网络中不同层之间的连接的权重矩阵。具体地,调整参数以降低或最小化包括两个项的总成本。表示与第一处理电路装置相关联的成本,而表示与第二处理电路装置相关联的成本。由等式5给出与第一个处理电路相关联的损耗:

其中p(a*|t,q)如在等式2中所定义的,并且a*表示真实答案。

可以由等式6定义与第二处理电路装置相关联的损耗:

其中γ是边缘超参数、是由第二处理电路装置提出的k个答案的集合,并且指示将截断成非负值。直观地,损耗指示针对正确答案的端到端概率π*应当至少比针对由第二处理电路装置提出的任何其他答案的概率大γ。在训练期间,第二处理电路装置可能错过正确的答案,尤其是在早期时间段或早期时期。因此,在训练期间,可以将正确答案强制加入到前k个集合中。

的经加权的组合定义总损耗项其可以被表示为:

其中γ是超参数,用于加权第一和第二处理电路装置中损耗的相对贡献。

图8是图示可以实践本公开的方面的电子设备800的物理组件(例如,硬件)的框图。下面所描述的组件可以适用于上述计算设备(包括图1中的服务器计算设备125)。

在基本配置中,电子设备800可以包括至少一个处理单元805和系统存储器810。取决于电子设备的配置和类型,系统存储器810可以包括但不限于:易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存或这些存储器的任何组合。系统存储器810可以包括多个程序模块和数据文件,诸如操作系统815、适于解析所接收的输入、确定所接收的输入的主题内容、确定与输入相关联的动作等的一个或多个程序模块820,以及nlcs程序模块825。当在处理单元805上执行时,nlcs程序模块825可以执行和/或使得执行包括但不限于如本文所描述的方面的过程。

例如,操作系统815可以适于控制电子设备800的操作。此外,本公开的实施例可以结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定的应用或系统。在图8中通过虚线830内的那些组件来图示该基本配置。

电子设备800可以具有附加的特征或功能。例如,电子设备800还可以包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。在图8中,通过可移动存储设备835和不可移动存储设备840来图示这种附加的存储装置。

电子设备800还可以具有一个或多个输入设备845,诸如键盘、触控板、鼠标、笔、声音或语音输入设备、触摸、力和/或滑动输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备850。上述设备是示例,并且可以使用其他设备。电子设备800可以包括允许与其他电子设备860通信的一个或多个通信连接855。合适的通信连接855的示例包括但不限于:射频(rf)发射器、接收器和/或收发器电路装置、通用串行总线(usb)、并行和/或串行端口。

本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括:以任何方法或技术实施的用于存储信息(诸如,计算机可读指令、数据结构或程序模块)的易失性和非易失性、可移动和不可移动介质。

系统存储器810、可移动存储设备835和不可移动存储设备840都是计算机存储介质的示例(例如,存储器存储装置)。计算机存储介质可以包括:ram、rom、电可擦除只读存储器(eeprom)、闪存或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储设备、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可以被用来存储信息且可以由电子设备800访问的任何其他制品。任何这种计算机存储介质可以是电子设备800的一部分。计算机存储介质不包括载波或其他经传播或调制的数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块或经调制的数据信号中的其他数据(诸如载波或其他传输机制)来实施,并且包括任何信息传递介质。术语“经调制的数据信号”可以描述具有以使得对信号中的信息进行编码的这种方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、射频(rf)、红外和其他无线介质)。

此外,可以在包括分立电子元件的电气电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中或者在包含电子元件或微处理器的单个芯片上实践本公开的实施例。例如,可以经由片上系统(soc)实践本公开的实施例,其中图8中所图示的每个或许多组件可以被集成到单个集成电路上。这种soc器件可以包括:一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些被集成(或“烧制”)到芯片衬底上作为单个集成电路。

当经由soc操作时,可以经由与单个集成电路(芯片)上的电子设备800的其他组件集成的专用逻辑来操作本文所描述的关于客户端切换协议的能力的功能。还可以使用能够执行逻辑运算(诸如,例如and、or和not)的其他技术(包括但不限于机械、光学、流体和量子技术)来实践本公开的实施例。另外,可以在通用计算机或任何其他电路或系统中实践本公开的实施例。

图9是图示其中可以实践本公开的方面的分布式系统的框图。系统900允许用户通过通用计算设备905(例如,台式计算机)、平板计算设备910和/或移动计算设备915提交与文档中的支持文本有关的问题。通用计算设备905、平板计算设备910和移动计算设备915可以各自包括图1的客户端计算设备110中所示的组件。

通用计算设备905、平板计算设备910和移动计算设备915各自被配置为访问一个或多个网络(由网络920表示),以与被存储在一个或多个存储设备(由存储设备930表示)中并由一个或多个服务器计算设备(由服务器计算设备935表示)执行的nlcs925交互。

在一些方面中,服务器计算设备935可以访问和/或接收包括支持文本的各种类型的文档。可以在存储设备930中存储或者从其他源(诸如目录服务940、网络门户945、邮箱服务950、即时消息传送服务955和/或社交网络服务960)传输文档。在一些实例中,这些源可以提供稳健的报告、分析、数据编译和/或存储服务等,而其他服务可以提供搜索引擎或对数据和信息、图像、视频、文档处理等的其他访问。

如应当理解的,出于说明本方法和系统的目的,描述了图9,并且无意将本公开限制于步骤的特定序列或硬件或软件组件的特定组合。

例如,以上参考根据本公开的方面的方法、系统和计算机程序产品的框图和/或操作说明描述了本公开的方面。框中所指出的功能/动作可以不按任何流程图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时被执行,或者这些框有时可以以相反的顺序来执行,这取决于所涉及的功能/行为。

本申请中所提供的一个或多个方面的描述和说明无意以任何方式限制或约束本公开的范围。本申请中所提供的方面、示例和细节被认为足以传达占有并使得其他人能够制作和使用所要求保护的公开内容的最佳模式。所要求保护的公开内容不应当被解释为限于本申请中所提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,都旨在选择性地包括或省略各种特征(结构的和方法的两者)以产生具有特定特征集合的实施例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入本申请中所实施的总体发明构思的更广泛方面的精神内的变型、修改和替换方面,其不脱离本申请所要求保护的公开内容的更广泛范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1