首页 / 专利库 / 软件 / 图形用户界面 / 用于对电子设备的会话代理进行视觉理解和编程的系统和方法

用于对电子设备的会话代理进行视觉理解和编程的系统和方法

阅读:1047发布:2020-06-17

专利汇可以提供用于对电子设备的会话代理进行视觉理解和编程的系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 的系统和方法的实施方式涉及一种 计算机程序 ,其采用 拖放 用户界面 来管理对话状态、 跟踪 对话上下文、理解对话话语并管理对话通话。每个对话元素在“ 节点 ”中定义,所述节点可以拖放到用户界面的画面中。一个实施方式提供了用于自由链接节点的布线机制。对话话语包含在消息中,所述消息流经链接不同节点的线路,直到离开画面到达最终用户。然后,通过基于节点的连接编译与节点相关联的源代码来生成会话代理的可执行图像。会话代理可以部署在诸如家庭设备的 电子 设备中,所述电子设备被配置成使用部署在其中的会话代理、响应于用户口头命令或 请求 来执行动作。,下面是用于对电子设备的会话代理进行视觉理解和编程的系统和方法专利的具体信息内容。

1.一种用于配置电子设备的会话代理的计算机实现的方法,所述方法包括:
连接所述电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;
响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;
自动地将所述路由器节点配置成向所述输出节点发送消息;
将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及
编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。
2.如权利要求1所述的方法,还包括:
用户界面的画面内呈现表示所述输入节点的第一图形表示;以及
在所述用户界面的所述画面内呈现表示所述路由器节点的第二图形表示,其中响应于使用所述画面上的线路连接将所述输入节点的输出端可视地连接到所述路由器节点的输入端的用户动作,执行连接所述输入节点和所述路由器节点。
3.如权利要求1所述的方法,还包括提供图形用户界面以允许用户为所述进入节点配置一组一个或多个条件,其中当所述输入话语包含与所述条件中的至少一个匹配的特征时,调用所述进入节点。
4.如权利要求1所述的方法,还包括提供图形用户界面以允许用户配置用于所述状态节点的表示所述输出话语的信息。
5.如权利要求1所述的方法,还包括连接所述输入节点与所述路由器节点之间的自然语言理解NLU节点,其中所述NLU节点被配置成分析所述输入话语以确定所述输入话语的意图,以调用所述进入节点。
6.如权利要求5所述的方法,其中所述进入节点是多个成对的进入节点和状态节点中的一个,其中所述路由器节点被配置成基于所述意图从所述多个进入节点中选择所述进入节点。
7.如权利要求5所述的方法,还包括提供训练界面以使用机器学习引擎来训练所述NLU节点,其中所述训练界面允许用户输入待由所述机器学习引擎分析的话语以预测与所述话语相关联的意图。
8.如权利要求7所述的方法,其中所述训练界面进一步允许所述用户提供指示所预测的意图是否正确的反馈,并且其中所述反馈用于修改所述NLU节点的操作以提高预测准确度。
9.一种非暂时性机器可读介质,具有存储在其中的指令,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:
连接电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;
响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;
自动地将所述路由器节点配置成向所述输出节点发送消息;
将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及
编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。
10.如权利要求9所述的机器可读介质,其中所述操作还包括:
在用户界面的画面内呈现表示所述输入节点的第一图形表示;以及
在所述用户界面的所述画面内呈现表示所述路由器节点的第二图形表示,其中响应于使用所述画面上的线路连接将所述输入节点的输出端可视地连接到所述路由器节点的输入端的用户动作,执行连接所述输入节点和所述路由器节点。
11.如权利要求9所述的机器可读介质,其中所述操作还包括提供图形用户界面以允许用户为所述进入节点配置一组一个或多个条件,其中当所述输入话语包含与所述条件中的至少一个匹配的特征时,调用所述进入节点。
12.如权利要求9所述的机器可读介质,其中所述操作还包括提供图形用户界面以允许用户配置用于所述状态节点的表示所述输出话语的信息。
13.如权利要求9所述的机器可读介质,其中所述操作还包括连接所述输入节点与所述路由器节点之间的自然语言理解NLU节点,其中所述NLU节点被配置成分析所述输入话语以确定所述输入话语的意图,以调用所述进入节点。
14.如权利要求13所述的机器可读介质,其中所述进入节点是多个成对的进入节点和状态节点中的一个,其中所述路由器节点被配置成基于所述意图从所述多个进入节点中选择所述进入节点。
15.如权利要求13所述的机器可读介质,其中所述操作还包括提供训练界面以使用机器学习引擎来训练所述NLU节点,其中所述训练界面允许用户输入待由所述机器学习引擎分析的话语以预测与所述话语相关联的意图。
16.如权利要求15所述的机器可读介质,其中所述训练界面进一步允许所述用户提供指示所预测的意图是否正确的反馈,并且其中所述反馈用于修改所述NLU节点的操作以提高预测准确度。
17.一种数据处理系统,包括:
处理器;以及
存储器,所述存储器联接到所述处理器并存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:
连接电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;
响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;
自动地将所述路由器节点配置成向所述输出节点发送消息;
将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及
编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。
18.如权利要求17所述的系统,其中所述操作还包括:
在用户界面的画面内呈现表示所述输入节点的第一图形表示;以及
在所述用户界面的所述画面内呈现表示所述路由器节点的第二图形表示,其中响应于使用所述画面上的线路连接将所述输入节点的输出端可视地连接到所述路由器节点的输入端的用户动作,执行连接所述输入节点和所述路由器节点。
19.如权利要求17所述的系统,其中所述操作还包括提供图形用户界面以允许用户为所述进入节点配置一组一个或多个条件,其中当所述输入话语包含与所述条件中的至少一个匹配的特征时,调用所述进入节点。
20.如权利要求17所述的系统,其中所述操作还包括提供图形用户界面以允许用户配置用于所述状态节点的表示所述输出话语的信息。
21.如权利要求17所述的系统,其中所述操作还包括连接所述输入节点与所述路由器节点之间的自然语言理解NLU节点,其中所述NLU节点被配置成分析所述输入话语以确定所述输入话语的意图,以调用所述进入节点。
22.如权利要求21所述的系统,其中所述进入节点是多个成对的进入节点和状态节点中的一个,其中所述路由器节点被配置成基于所述意图从所述多个进入节点中选择所述进入节点。

说明书全文

用于对电子设备的会话代理进行视觉理解和编程的系统和

方法

技术领域

[0001] 本发明的实施方式总体涉及电子设备。更具体地,本发明的实施方式涉及对电子设备的会话代理进行编程。

背景技术

[0002] 对会话代理进行编程以进行多轮对话需要详细的计划和仔细的实施。这是一个三阶段的精炼过程,包括为会话流程绘制蓝图/图表、实施图表、以及测试和重复精炼直到满意为止。前两个步骤难以保持同步,因为它们是在两个不同位置实施的。对于快速开发来说,一体化解决方案是更合期望的。
[0003] 除了对话管理,在每一轮对话中理解话语也是必不可少的。它也是一个精炼过程,包括定义要在对话中预测的意图/实体、对训练样本进行注解并训练预测系统、对性能进行测试和评估、以及重复这些步骤进行精炼直到满意为止。这类手动操作是耗时且低效的。

发明内容

[0004] 本公开的实施方式提供用于配置电子设备的会话代理的计算机实现的方法、非暂时性机器可读介质以及数据处理系统。
[0005] 在本公开的一方面,用于配置电子设备的会话代理的计算机实现的方法包括:连接所述电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;自动地将所述路由器节点配置成向所述输出节点发送消息;将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。
[0006] 在本公开的另一方面,非暂时性机器可读介质具有存储在其中的指令,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:连接电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;自动地将所述路由器节点配置成向所述输出节点发送消息;将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。
[0007] 在本公开的又一方面,数据处理系统包括:处理器;以及存储器,所述存储器联接到所述处理器并存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作,所述操作包括:连接电子设备的会话代理的输入节点、路由器节点和输出节点,其中所述输入节点用于从所述电子设备的输入接口接收输入话语,其中所述输出节点用于作为对所述输入话语的响应、将输出话语传输到所述电子设备的输出接口,其中所述路由器节点用于管理对话上下文和通话并且在所述输入节点与所述输出节点之间路由消息;响应于将所述输入节点连接到所述路由器节点,自动地将所述输入节点配置成向所述路由器节点发送消息;自动地将所述路由器节点配置成向所述输出节点发送消息;将进入节点连接到状态节点,其中所述路由器节点被配置成响应于从所述输入节点接收到的输入短语来调用所述进入节点,其中所述状态节点包含待传输回到所述路由器节点的数据,所述数据用于生成所述输出话语;以及编译与所述输入节点、所述路由器节点、所述输出节点、所述进入节点和所述状态节点相关联的源代码,以生成表示所述会话代理的可执行图像。附图说明
[0008] 本发明的实施方式在附图的各图中以举例而非限制的方式示出,附图中的相同参考数字指示相似元件。
[0009] 图1是示出根据一个实施方式的具有会话引擎的电子设备的示例的框图
[0010] 图2是示出根据一个实施方式的会话代理的示例的框图。
[0011] 图3是示出根据一个实施方式的自然语言理解节点的示例的框图。
[0012] 图4是示出根据一个实施方式的意图映射表的示例的框图。
[0013] 图5是示出根据一个实施方式的会话代理设计系统的示例的框图。
[0014] 图6A至图6H是示出根据特定实施方式的用于设计和配置会话代理的图形用户界面的示例的屏幕截图。
[0015] 图7A至图7F是示出根据特定实施方式的用于设计和训练自然语言理解节点的图形用户界面的示例的屏幕截图。
[0016] 图8是示出根据一个实施方式的设计会话代理的过程的流程图
[0017] 图9是示出根据一个实施方式的数据处理系统的框图。

具体实施方式

[0018] 将参考以下所讨论的细节来描述本发明的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是对本发明的说明,而不应当解释为限制本发明。描述了许多特定细节以提供对本发明各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节以提供对本发明的实施方式的简洁讨论。
[0019] 本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可以包括在本发明的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。
[0020] 本发明的系统和方法的实施方式涉及用于设计会话代理的会话代理设计平台,其采用拖放用户界面来管理对话状态、跟踪对话上下文、理解对话话语并管理对话通话。每个对话元素在“节点”中定义,所述节点可以拖放到用户界面的画面中。一个实施方式提供了用于自由链接节点的布线机制。对话话语包含在消息中,所述消息流经链接不同节点的线路,直到离开画面到达最终用户。然后,通过基于节点的连接来编译与节点相关联的源代码来生成会话代理的可执行图像。会话代理可以部署在诸如家庭设备的电子设备中,所述电子设备被配置成使用部署在其中的会话代理、响应于用户的口头命令或请求来执行动作。
[0021] 在一个实施方式中,系统包含特定的自然语言理解(NLU)节点,其对对话话语进行自然语言理解。NLU节点根据输入话语输出对话意图并提取一个或多个对话实体。然后,它通过链接到接下来的节点的线路输出所提取的意图和实体。NLU系统提供直观的注释界面,人们可以使用鼠标点击来选择和标记话语中的实体。然后,它应用交互式机器学习来训练预测系统。
[0022] 根据一个实施方式,提供图形用户界面以允许用户通过将对话元素(本文称为节点)拖放到用户界面的画面中来设计会话代理。用户可以自由地连接节点,从而创建会话代理的会话流。会话代理包括用于从电子设备的输入接口接收输入话语的输入节点、用于管理和路由会话的消息的路由器节点、以及用于将输出话语和/或其他内容(例如,图像)发射到电子设备的输出接口的输出节点。输出话语可以呈现为对输入话语的响应,其表示用户与设备之间的会话循环。
[0023] 另外,会话代理包括一个或多个节点序列,所述节点序列可以由路由器节点调用以处理输入话语并生成表示输出话语的数据。每个节点序列表示由序列中的每个节点执行的操作的处理流程。每个节点序列包括进入节点、一个或多个中间节点(可选)以及状态节点。用户可以使用由图形用户界面提供的交互工具将一个节点的输出端可视地连接到另一个节点的输入端。响应于在用户界面上将输入节点连接到路由器节点,系统自动地将输入节点配置成经由第一应用程序编程接口(API)向路由器节点发送消息。类似地,响应于将路由器节点连接到输出节点,系统自动地将路由器节点配置成经由第二API向输出节点发送消息。每个节点预先配置有源代码以执行与这个特定节点相关联的预定义操作。通过基于节点的连接编译节点的源代码来生成会话代理的可执行图像。
[0024] 图1是示出根据一个实施方式的具有会话引擎的电子设备的示例的框图。参考图1,设备100可以是诸如移动设备、家庭设备、笔记本电脑或台式机等的电子设备。例如,设备
100是诸如Google Home设备、Amazon Echo设备的家庭设备或IoT(物联网)设备。电子设备
100还可以是具有在其中运行的移动应用程序(例如,Apple Siri、Microsoft Cortana)的任何移动设备。在一个实施方式中,设备100包括其中的会话引擎101,其中会话引擎101可以被加载到存储器中并由电子设备100的一个或多个处理器(未示出)执行。
[0025] 在一个实施方式中,会话引擎101包括部署在其中的一个或多个会话代理105。会话代理105被配置成从输入接口102接收例如来自用户的输入。输入可以包含由用户说出并经由音频接口(例如,麦克)接收的输入短语,其可以使用语音识别过程被转录为文本短语或句子。可替代地,输入可以通过网络作为文本格式接收,例如,经由电子邮件,文本等。
[0026] 响应于输入短语或话语,选择会话代理105中的一个来处理输入短语并且相对于用户以会话方式生成作为对输入的响应的输出。因此,输入可以表示用户的查询,并且会话代理105处理所述查询并且以作为对查询的响应的输出进行响应,所述输出可以经由输出接口103呈现给用户。输出接口103可以联接到音频输出接口(例如,扬声器)和/或显示接口,所述显示接口可以联接到显示设备以显示输出的内容(例如,图像)。
[0027] 另外,会话代理105可以通过网络与外部信息源104通信,以获得附加信息,该附加信息是响应于查询的输出的一部分。例如,用户可以说“温度是多少?”,并且作为响应,会话代理105可以联系作为外部源104的一部分的外部气象服务以获得当前温度。所获得的当前温度可以被编译为要传输到输出接口103的输出的一部分,所述输出可以例如经由扬声器呈现给用户。在另一个示例中,用户可以说“给我看一张猫的照片”。作为响应,会话代理可以访问外部图像搜索引擎以搜索具有猫的图像。
[0028] 可以使用代理设计系统110来设计和提供会话代理105。设计系统110采用拖放式图形用户界面(GUI)来管理对话状态、跟踪对话上下文、理解对话话语并管理对话通话。每个对话元素在“节点”中定义,所述节点可以拖放到用户界面的画面(canvas)中。一个实施方式提供了用于自由链接节点的布线机制。对话话语包含在消息中,所述消息流经链接不同节点的线路,直到离开画面到达最终用户。然后,通过基于节点的连接编译与节点相关联的源代码来生成会话代理的可执行图像。会话代理可以部署在诸如家庭设备或移动设备的电子设备中,所述电子设备被配置成使用部署在其中的会话代理、响应于用户的口头命令或请求来执行动作。
[0029] 系统包含特定的自然语言理解(NLU)节点,其对对话话语进行自然语言理解。NLU节点根据输入话语输出对话意图并提取对话实体。然后,它通过链接到接下来的节点的线路输出所提取的意图和实体。NLU系统提供直观的注释界面,人们可以使用鼠标点击来选择和标记话语中的实体。然后,它应用交互式机器学习来训练预测系统。
[0030] 根据一个实施方式,在设计系统110处提供图形用户界面以允许用户通过将对话元素(称为节点)拖放到用户界面的画面中来设计会话代理。用户可以自由地连接节点,从而创建会话代理的会话流。会话代理包括用于从电子设备的输入接口接收输入话语的输入节点、用于管理和路由会话的消息的路由器节点、以及用于将输出话语和/或其他输出内容发射到电子设备的输出接口的输出节点。输出话语可以呈现为对输入话语的响应,其表示用户与设备之间的会话循环。
[0031] 另外,会话代理105包括一个或多个节点序列,所述节点序列可以由路由器节点调用以处理输入话语并生成表示输出话语的数据。每个节点序列表示由序列中的每个节点执行的操作的处理流程。每个节点序列包括进入节点、一个或多个中间节点(可选)以及状态节点。用户可以将一个节点的输出端可视地连接到另一个节点的输入端。响应于在用户界面上将输入节点连接到路由器节点,系统自动地将输入节点配置成经由应用程序编程接口(API)向路由器节点发送消息。类似地,响应于将路由器节点连接到输出节点,系统自动地将路由器节点配置成经由API向输出节点发送消息。每个节点预先配置有源代码以执行与这个特定节点相关联的预定义操作。通过基于节点的连接编译节点的源代码来生成会话代理的可执行图像。
[0032] 图2是示出根据一个实施方式的会话代理的示例的框图。会话代理200可以表示图1的会话代理105中的任一个。参考图2,根据一个实施方式,会话代理200包括输入节点201、NLU节点202(可选)、路由器节点203(也称为对话管理器或管理节点)以及输出节点204。另外,会话代理200包括一个或多个对话处理节点集合。每个对话处理节点集合包括进入节点(例如,节点211A至211B)、一个或多个中间节点(例如,节点212A至212B和节点213A至213B)以及状态节点(例如,节点214A至214B)。
[0033] 会话内容表示为网络或流程中的节点。每个节点包括节点接收消息的输入端和节点发送消息的输出端。流程(运行会话)的执行通过网络中节点之间的消息流发生。在会话中,消息通常源自输入节点201。例如,Twilio In、Alexa In和Cortana In节点可用于基于来自SMS、Amazon Echo或Microsoft Cortana的用户输入来创建和发送消息。这些输入节点不接收来自其他节点的消息,因此它们不接受传入的线路。
[0034] 一旦输入节点201接收到用户输入,它就通过其输出端发送出消息。由输入节点201创建的消息将包含有效载荷特性,所述特性保存对应于用户的自然语言输入的字符串。
通过连接线路,这种消息通常进入NLU节点202,所述NLU节点202将自然语言输入映射到驱动会话交互的符号(例如,意图、实体)中。将NLU结果作为NLU特性添加到消息中。然后,通过连接线路将消息发送到路由器节点203。
[0035] 然后,路由器节点203通过进入节点(例如,进入节点211A至211B,统称为进入节点211)和状态节点(例如,状态节点214A至214B,统称为状态节点214)的网络来引导消息。这个过程生成系统话语,路由器节点203将所述系统话语作为有效载荷特性中的字符串放置在其外发消息中。然后,路由器节点203通过线路发送出消息,所述线路通常连接到与所使用的输入节点201匹配的输出节点204(例如,Twilio In到Twilio Out、Amazon In到Amazon Out)。节点表示执行特定操作的函数或子例程。将一个节点的输出端连接到另一个节点的输入端的线路表示用于两个节点之间的通信的API。
[0036] 路由器节点203负责选择在每轮会话期间要执行的动作的系统。呈现给路由器的选择是流程中的进入节点。路由器将仅考虑具有在对话中的那个点满足的入口条件的进入节点。一旦路由器节点203接收到消息,它就会选择进入节点211中的一个。如果都不符合,路由器经由输出线路发送出消息。如果进入节点从路由器接收到消息,它将通过其自己的输出线路传递这个消息。如果消息到达没有输出线路的状态节点,例如,到另一个进入节点,则状态节点将其消息发送回到路由器节点203。换句话说,进入节点211和状态节点214是路由器节点203去往作者定义的会话内容的入口点和出口点。这个会话内容由进入节点211、状态节点214以及它们之间可用的任何其他中间节点212至213组成。例如,它可以包括气象服务节点作为访问由远程气象服务提供商提供的天气服务的中间节点。
[0037] 在每轮会话中,系统可以使用几个进入节点来构建系统响应。一旦路由器节点203从NLU节点202接收到用户输入和对应的标记,路由器节点203就将优先选择包含一个或多个入口条件的进入项,目的是响应用户输入。路由器节点203还牢记在这轮对话中已评估的进入节点。因此,每一轮期间仅访问一个进入节点。这防止了路由器进入无限循环。
[0038] 进入节点211是路由器进入会话内容的入口点,其通常是网络的集合,每个网络由进入节点(入口点)和状态节点(网络的出口点)相隔。在进入节点与状态节点之间,可以存在其他中间节点212至213。在从路由器接收消息的进入节点与将消息发送回到路由器的最后状态节点之间发生的所有节点间通信通过节点之间的表示API的线路发生。
[0039] 状态节点214更新会话上下文并且定义会话代理的动作,包括它对用户说的内容。每个状态节点包括代码编辑器,其中可以添加诸如JavaScript代码的任意可执行代码。只要状态节点接收到消息,这个代码就会运行。可以在状态节点内访问整个消息对象。另外,状态节点包括可以添加系统话语的字段。每当状态节点接收到消息时,其话语就会在当前这轮会话中添加到系统的输出并进而到达用户。
[0040] 状态节点的两个最基本的用途包括添加系统话语以定义系统将向用户呈现的内容以及更新用户变量。所有用户变量在整个交互过程中都会持续存在。每当进入节点接收到消息时,所有用户变量都是可用的,并且当路由器节点203决定选择哪个进入节点时,这些变量可用于入口条件。状态节点包括诸如表示“对话到此结束”的复选框的属性。如果在特定状态节点中选中了这个框,则无论何时执行这个状态节点,会话都结束。重置路由器的状态并删除所有用户变量。
[0041] NLU节点(诸如NLU节点202)被设计成将用户话语映射到有限的符号词汇表。两组符号包括意图和实体的输出,如图3所示。现在参考图3,NLU节点202被配置成接收话语301、分析话语301并且使用自然语言处理(NLP)来确定意图302和一个或多个实体303。具体地,根据一个实施方式,NLU节点202包括用于接收和分析话语301的NLP模310。话语301可以包括由用户说出或提供的短语或句子,诸如对要执行的信息或动作的请求。
[0042] 响应于话语301,NLP模块310对话语执行NLP操作以确定意图并且从话语中提取共同表示用户意图和意义的实体或特征。自然语言处理是计算机科学、人工智能计算语言学领域,涉及计算机与人类(自然)语言之间的交互,并且具体地涉及编程计算机以便有效地处理大型自然语言语料库。自然语言处理中的挑战通常涉及自然语言理解、自然语言生成(通常来自正式的、机器可读的逻辑形式)、连接语言和机器感知对话系统或其某种组合。
[0043] 意图是捕获输入话语的主要交际意图的话语类别。例如,意图“同意”捕获了许多话语的交际意图,诸如“我同意”、“是”、“当然”、“是,我同意”和“我也这么认为”。NLU节点202使用的意图词汇或样本话语由内容作者定义,并且由任意数量的任意字符串组成。这些意图可以被认为是NLU节点将每个进入的输入话语放置在其中的容器。
[0044] 除了一个意图之外,每个话语可以包含零个或多个实体,所述实体是输入话语中对应于由内容作者定义的类别的单词序列。与意图类似,这些类别也具有任意数字和标签。常见示例包括位置、组织名称和价格。考虑一下,以下话语:“请帮我预订晚上7点在Matsuhisa的六个人的位置。”这里的意图可以是预定_餐厅,并且实体可以是宴会_规模(对应于单词“六个”)、餐厅_名称(对应于单词“Matsuhisa”)和时间(对应于“晚上7点”)。应当注意,这些任务是在当前话语的上下文中进行的。
[0045] 在一个实施方式中,NLU节点202维持意图映射表或预测模型315以确定话语的意图。当NLU节点202接收到话语301时,NLP模块310分析话语301并从话语301中提取特定关键字。基于关键字,NLP模块310在意图映射表315中进行搜索或应用意图预测模型来确定与所述关键字相关联的意图。意图映射表315的示例在图4中示出。现在参考图4,意图映射表400包括多个意图映射条目。每个映射条目将特定意图401映射到与这个特定意图相关联的关键字或话语402的列表。如果从话语301获得的关键字与特定条目的字段402中的任意关键字匹配,则可以从对应条目的字段401确定并获得与所述关键字相关联的意图。可替代地,可以使用机器学习意图预测模型来确定意图。可以使用大量已知数据来训练意图预测模型,所述数据表示在给定特定情况(诸如相同或相似的话语)的情况下大多数用户的意图。
[0046] 返回参考图2,输入节点201与会话平台诸如Amazon Echo设备、Facebook Messenger、Telegram、Kik、Twilio、Slack或Skype连接。它通过线路将消息发送到后续节点以供进一步的处理。NLU节点202访问自然语言理解服务以便对消息进行处理。路由器节点203是管理会话并维持其上下文的节点。通过路由器节点的输入端口接收到的消息通常包含用户输入或其他外部输入。作为对话管理器进行操作的路由器节点203负责在进入节点(进入节点仅包含用于消息通过的规则)之中选择哪个进入节点将接收这个消息。输出节点
204将消息发送回到输入节点201的发送者。
[0047] 在一个实施方式中,如果满足与进入节点211相关联的一组条件,则进入节点211从路由器节点203接收消息(不可见地、无线地)并且通过输出线路传递所述消息。每个进入节点定义一组规则以确定消息是否可以通过。当消息到达时,将针对每个定义的规则来评估所选择的特性或实体。如果满足所有规则,则将消息作为输出发送。尽管可以存在多个具有全部通过规则的进入节点,但是路由器节点203将一次仅向一个进入节点发送消息,因此多个进入节点将不会同时输出相同的消息。路由器节点203基于进入节点的规则(例如,意图、实体)来选择哪个进入节点发送消息。如果存在具有匹配规则的多个进入节点,则可以定义优选哪些节点的不同对话策略。例如,具有较多特定规则(等于、是真/假、为空、包含)的节点优先于具有较少特定规则(小于/大于、不为空等)的节点。状态节点204更新会话的上下文,并且可选地指定文本输出。通常,状态更新采用计算机代码的形式,所述计算机代码可以添加到节点中。
[0048] 在进入节点与状态节点之间,可以存在任何数量的其他节点以对通过线路传递的消息执行任何功能。例如,函数节点可以改变消息文本。Web API节点可以在web上请求额外的信息(例如,访问天气服务、图像搜索引擎)。可以存在进入节点到状态节点的链路的多个示例,使得对话可以任意扩展。所有进入节点和状态节点由路由器节点203管理。
[0049] 可以经由诸如代理设计系统110的代理设计系统来设计、配置和部署图2中的所有节点,所述代理设计系统提供用户友好的图形用户界面。在设计阶段期间,图形用户界面允许用户将任何节点拖放到用户界面的画面中。用户可以自由地移动节点并将任何节点与任何节点连接以建立通信信道,诸如节点之间的API。基础系统将自动地生成表示节点的至少一部分功能的源代码的至少一部分。
[0050] 图5是示出根据本发明一个实施方式的会话代理设计系统的框图。系统500可以表示图1的代理设计系统110。参考图5,代理设计系统500包括代理设计平台,所述代理设计平台可以加载到存储器501上并且由一个或多个处理器502执行。设计平台包括注释模块511、手动校正模块512、评估模块514、训练模块513、代理编译器520和节点设计模块525,它们可以用软件硬件或其组合来实现。代理设计平台还包括代理图形用户界面510,其可以显示在显示设备(未示出)上并且与诸如代理开发者的用户交互。
[0051] 利用设计GUI 510,用户可以将任何一个预配置的节点从永久性存储设备503中的节点库530拖放到GUI 510的设计画面中并且可视地将节点连接。例如,用户可以使用诸如鼠标或光标的指示设备来绘制线路或链路以便在设计GUI 510上将第一节点的输出端口连接到第二节点的输入端口。第一节点的输出端与第二节点的输入端之间的连接表示第一节点与第二节点之间的关系。在一个实施方式中,每个配置的节点与已经配置成执行一个或多个预定义操作的预配置源代码(例如,源代码模板)相关联或包含所述预配置源代码。
[0052] 当用户将第一节点的输出端口连接到第二节点的输入端口时,诸如代理编译器520和/或节点设计模块525的基础系统会自动地生成附加源代码以便在第一节点与第二节点之间建立通信。例如,节点设计模块525可以响应于将第一节点的输出端可视地连接到第二节点的输入端的用户动作,经由适当的API生成呼叫以便从第一节点向第二节点发送消息。用户还可以进一步编辑任何节点的源代码以用于对应节点的特定应用或附加功能。所述修改可以由节点设计模块525捕获、处理并保存,例如,作为存储在永久性存储设备503(例如,硬盘)中的会话代理535的一部分。
[0053] 如上所述,在一些情况下,可以利用NLU节点来理解从用户接收到的话语以确定意图并从所述话语中提取一个或多个实体或特征。在一个实施方式中,设计平台500还包括NLU系统,该NLU系统具有注释模块511、手动校正模块512、评估模块514和训练模块513。
[0054] 当新的话语进入时,注释模块511(也称为意图确定模块)将首先自动地对所述话语进行注释。自动注释操作包括意图分类和实体提取。意图是捕获输入话语的主要交际意图的话语种类。实体是包含诸如关键字的关键信息的话语的子单元。通过自动呈现给人的自动化,可以经由手动校正模块512在其上应用进一步的手动校正以便节省一些重复的工作。手动校正模块512经由GUI 510与用户通信以引发用户确认和/或校正由注释模块511提供的注释。然后,可以经由训练模块513来训练预测系统或模型,并且使用所述预测系统或模型经由评估模块514来评估到目前为止所注释的所有句子(例如,确认或正确的百分比)。改进的系统可用于帮助注释注释模块511随后接收到的更多话语。这是一个迭代过程,直到达到满足性能。
[0055] 一旦经由设计GUI 510配置了会话代理,就可以通过对代理编译器510所涉及的节点的源代码进行编译来生成会话代理的可执行图像,其可以作为会话代理535的一部分存储。然后,可以将会话代理部署到诸如图2的电子设备200的电子设备上。
[0056] 应当注意,上文示出和描述的一些或所有组件可以以软件、硬件或其组合来实现。例如,此类组件可以实现为安装并存储在永久性存储设备中的软件,所述软件可以由处理器(未示出)在存储器中加载并执行以实施贯穿本申请所述的过程或操作。可替代地,此类组件可以实现为编程或嵌入到专用硬件(诸如集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程阵列(FPGA))中的可执行代码,所述可执行代码可通过来自应用程序的对应驱动程序和/或操作系统来访问。此外,此类组件可以实现为处理器或处理器核心中的特定硬件逻辑,作为可由软件组件经由一个或多个特定指令访问的指令集的一部分。
[0057] 图6A至图6H是示出根据本发明的特定实施方式的用于设计会话代理的图形用户界面的示例的屏幕截图。可以通过图5的设计GUI 510来呈现如图6A至图6H所示的GUI。参考图6A,设计GUI包括节点库区601、画面设计区602和信息区603。库区601列出了已经预先配置并且可供使用的所有可用节点。节点库区601包括对话节点区604、NLU区605和机器人区(bots section)606。应当注意,区604至606可以整合或扩展为更少或更多的区。对话节点区604列出了至少一个进入节点、一个状态节点和一个路由器节点。NLU区605包括至少一个NLU节点。机器人区606包括与要部署的各种不同平台(例如像,Amazon Alexa、Slack等)相关联的输入节点和输出节点。
[0058] 用户可以从节点库区601中选择任何节点到设计区域,即画面602,例如,通过将所选择的一个或多个节点拖放到画面602中来提供或设计会话代理,如图6B所示。现在参考图6B,在这个示例中,假设用户已经将输入节点601、路由器节点602和输出节点603拖放到画面中。输入节点601对应于用于接收话语的聊天界面,并且输出节点被配置成将作为对话语的响应的输出发送回聊天界面,即话语的发送者。另外,存在三对进入节点604至606和状态节点607至609。可以通过拖放操作从图6A的库区601中选择这些节点604至609中的每一个。
[0059] 用户可以编辑每个节点的特性,例如,通过双击对应节点的图形表示,如图6C所示。现在参考图6C,图6C示出了用于编辑节点604的特性的GUI页面。用户可以经由字段611重命名节点604,在这个示例中,为“初始状态”。另外,用户可以通过经由字段612标示复选框“初始状态”来指定这个节点是初始状态。通过将节点标示为初始状态,路由器节点602被配置成在会话代理启动时调用这个节点。
[0060] 类似地,用户还可以通过双击图6B中的节点607来编辑对应于进入节点604的状态节点607,如图6D所示。现在参考图6D,系统在字段613中自动地生成源代码。另外,用户可以经由字段614指定要返回给发送者的信息。当通过从其对应的输入节点604接收消息来调用这个状态节点时,将从字段614获得信息并将所述信息传输回到路由器节点602并且经由输出节点603呈现给用户。此外,用户还可以通过标示复选框615来指定这个状态节点是否将结束会话。如果选择复选框615,则会话流将结束。可替代地,用户可以通过标示复选框616来指定在这个状态节点之后是否请求用户提供进一步的输入。如果标示了复选框616,则系统将等待进一步的用户输入而不终止会话通话。
[0061] 图6E示出了用于编辑进入节点605的特性的用户界面,并且图6F示出了用于编辑状态节点608的特性的用户界面。参考图6E,用户可以指定一个或多个条件,路由器节点602使用该一个或多个条件来确定是否应当调用进入节点605。在这个示例中,用户指定如果在字段621中指定的消息的有效载荷等于在字段622中指定的字符串“否”,则将选择进入节点605。因此,对于如图6B所示的示例,如果从输入节点601接收到的话语包含有效载荷“否”,则路由器节点602从话语中提取实体并将所述实体与每个进入节点604至606中阐述的条件进行比较。在如图6E所示的示例中,已经满足进入节点605的条件,因此将选择进入节点
605。
[0062] 图6G示出了用于编辑状态节点609的特性的用户界面。如图6G所示,用户可以指定这个状态节点在被调用时将通过选择属性“对话到此结束”来结束会话通话。一旦用户点击OK按钮,所有设置例如由节点设计模块525保存,作为正在设计的会话代理的一部分。应当注意,一个节点的输入端可以连接到多个节点的输出端。类似地,一个节点的输出端可以连接到多个节点的输入端,如图6H所示。在此类情况下,路由器节点602被配置成将话语的属性或实体与每个下游节点中阐述的条件进行比较,以确定应当选择哪个下游节点。
[0063] 图7A至图7D是示出根据一个实施方式的用于训练自然语言理解节点的图形用户界面的屏幕截图。参考图7A,如上所述,在输入节点601与路由器节点602之间,可以存在用于确定从输入节点601接收到的话语的意图或类别的NLU节点610。如上所述,NLU节点610使用自然语言处理来确定话语的意图。NLU节点610进一步从话语中提取特定实体。可以使用训练图形用户界面来训练NLU节点610。
[0064] 例如,如图7B所示,用户可以通过以下方式来训练肯定响应意图:经由字段702指定一组话语,以指定所列出的话语属于同一类别,即肯定响应意图。类似地,用户可以通过图形用户界面指定与否定响应意图相关联的一组话语,如图7C所示。一旦配置了NLU节点,用户就可以使用图形用户界面来测试和训练NLU节点,如图7D所示。参考图7D,对于特定的NLU节点,用户可以在字段710中输入任何话语,并且训练系统(例如,注释模块511)分析所述话语以确定与话语相关联的意图并在字段712中显示分析结果。用户可以点击按钮715以显示结果列表。然后,用户可以确认正确的结果和/或移除不正确的结果,以训练系统。基于用户交互,NLU节点已经由训练模块513训练,并且评估模块514迭代地评估校正,直到NLU节点的正确预测的百分比高于预定阈值
[0065] 为了利用NLU节点710的输出,进入节点605至606的特性必须如图7E和图7F所示那样改变。如图7E所示,条件被配置成匹配NLU节点710提供的意图特性,在这个示例中,针对进入节点606的条件为肯定响应意图。类似地,如图7F所示,进入节点605的条件是否定响应意图。因此,在运行时,如果输入包含如图7B中所示的任意话语,则NLU节点610可以确定肯定响应的意图并且可以由路由器节点602调用进入节点606。类似地,当输入包含如图7C所示的任意话语时,NLU节点610可以确定否定响应的意图,并且可以由路由器节点602调用进入节点605。图7A至图7F的基础操作由图5的模块511至514处理。
[0066] 图8是示出根据一个实施方式的设计和配置会话代理的过程的流程图。过程800可以由处理逻辑来执行,所述处理逻辑可包括软件、硬件或其组合。例如,过程800可以由图5的系统500执行。参考图8,在操作801中,处理逻辑连接电子设备的会话代理的输入节点、路由器节点和输出节点。输入节点用于从电子设备的输入接口接收输入话语。输出节点用于作为对输入话语的响应,将输出话语传输到电子设备的输出接口。在操作802中,响应于将输入节点连接到路由器节点,处理逻辑自动地将输入节点配置成向路由器节点发送消息。在操作803中,处理逻辑自动地将路由器节点配置成向输出节点发送消息。在操作804中,处理逻辑将进入节点连接到状态节点。路由器节点被配置成响应于从输入节点接收到的输入短语来调用进入节点,其中状态节点包含要传输回到路由器节点的数据,所述数据用于生成输出话语。在操作805中,处理逻辑编译与输入节点、路由器节点、输出节点、进入节点和状态节点相关联的源代码,以生成表示会话代理的可执行图像。
[0067] 图9是示出可以与本发明的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可以表示以上所述的执行上述过程或方法中的任一个的任何数据处理系统,例如像上述的客户端设备或服务器(例如像,如上所述的图2的系统200或图5的系统500)。
[0068] 系统1500可以包括许多不同的部件。这些部件可以实施为集成电路(IC)、集成电路的部分、分立电子装置或适用于电路板(诸如,计算机系统主板或插入卡)的其它模块或者实施为以其它方式并入计算机系统的机架内的部件。
[0069] 还应注意,系统1500旨在示出计算机系统的许多部件的高阶视图。然而,应当理解的是,某些实施例中可以具有附加的部件,此外,其它实施例中可以具有所示部件的不同布置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出了单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的任何一种或多种方法的机器或系统的任何集合。
[0070] 在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、加密处理器、协处理器、嵌入式处理器、或者能够处理指令的任何其它类型的逻辑。
[0071] 处理器1501(其可以是低功率多核处理器套接口,诸如超电压处理器)可以充当用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可以实施为片上系统(SoC)。处理器1501被配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可以包括与可选的图形子系统1504通信的图形接口,图形子系统1504可以包括显示控制器、图形处理器和/或显示装置。
[0072] 处理器1501可以与存储器1503通信,存储器1503在一个实施方式中可以经由多个存储器装置实施以提供给定量的系统存储。存储器1503可以包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。存储器1503可以存储包括由处理器1501或任何其它装置执行的指令序列的信息。例如,各种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,来自 公司的 操作系统、来自苹果公司的Mac 来自 公司的 Linux、Unix,
或者其它实时或嵌入式操作系统,诸如VxWorks。
[0073] 系统1500还可以包括IO装置,诸如装置1505至1508,包括网络接口装置1505、可选的输入装置1506,以及其它可选的IO装置1507。网络接口装置1505可以包括无线收发器和/或网络接口卡(NIC)。所述无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或者它们的组合。NIC可以是以太网卡。
[0074] 输入装置1506可以包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504集成在一起)、指针装置(诸如,手写笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可以包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种,以及其它接近传感器阵列或用于确定与触摸屏接触的一个或多个点的其它元件来检测其接触和移动或间断。
[0075] IO装置1507可以包括音频装置。音频装置可以包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其它IO装置1507还可以包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计运动传感器、陀螺仪磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可以包括成像处理子系统(例如,摄像机),所述成像处理子系统可以包括用于促进摄像机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合装置(CCD)或互补金属化物半导体(CMOS)光学传感器。某些传感器可以经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其它装置可以根据系统1500的具体配置或设计由嵌入式控制器(未示出)控制。
[0076] 为了提供对诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储设备(未示出)也可以联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应性,这种大容量存储设备可以经由固态装置(SSD)来实施。然而,在其它实施方式中,大容量存储设备可以主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储设备充当SSD高速缓存以在断电事件期间实现上下文状态以及其它此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可以例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可以提供系统软件的非易失性存储,所述系统软件包括所述系统的基本输入/输出软件(BIOS)以及其它固件。
[0077] 存储装置1508可以包括计算机可访问的存储介质1509(也被称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述部件中的任一个,例如如上描述的模块511至514,代理编译器520。处理模块/单元/逻辑1528还可以在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/逻辑1528还可以通过网络经由网络接口装置1505进行传输或接收。
[0078] 计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本发明的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其它非暂时性机器可读介质。
[0079] 本文所述的处理模块/单元/逻辑1528、部件以及其它特征可以实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或类似装置)的功能中。此外,处理模块/单元/逻辑1528可以实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
[0080] 应注意,虽然系统1500被示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本发明的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/或其它数据处理系统也可以与本发明的实施方式一起使用。
[0081] 前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
[0082] 然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储设备、传输或显示装置内类似地表示为物理量的其它数据。
[0083] 附图中所示的技术可以使用在一个或多个电子设备上存储和执行的代码和数据来实现。此类电子设备使用计算机可读介质诸如非暂时性计算机可读存储介质(例如磁盘、光盘、随机存取存储器、只读存储器、闪存存储器设备、相变存储器)和暂时性计算机可读传输介质(例如电、光、声或其他形式的传播信号—例如载波、红外信号、数字信号)来存储和(通过网络在内部和/或与其他电子设备)传送代码和数据。
[0084] 前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
[0085] 在以上的说明书中,已经参考本发明的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可以对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈