1.本发明涉及由相关会议的音频记录更新的文档的领域。更具体地,本发明涉及基于音频会议的音频文件来更新用于控制设备的文档的领域。
背景技术:
2.诸如源代码列表、大会记录、设备的操作手册等的文本文档通常非常冗长。手动更新此类文本文档是一项耗时且容易出错的工作。此外,如果更改是基于随后的口头谈话,则目前没有将这种口头性的更改合并到适当的文本文档中的有用方法。因此,本发明的一个或多个实施例快速和/或自动地添加来自口头会议的更新(例如来自口头会议的音频记录)以更新文本文档。
3.因此,本领域需要解决上述问题。
技术实现要素:
4.从第一方面来看,本发明提供了一种更新文档的方法,该方法包括:将文本文档分割成基于话题的文本片段;由一个或多个处理器接收与文本文档相关的音频文件;由一个或多个处理器将音频文件转换为文本以创建音频文件的文本表示;将音频文件的文本表示分割成基于话题的音频片段;将基于话题的文本片段中的基于特定话题的文本片段与基于话题的音频片段中的基于特定话题的音频片段进行匹配,其中基于话题的文本片段中的基于特定话题的文本片段和基于话题的音频片段中的基于特定话题的音频片段属于同一话题;识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异;基于基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,确定基于特定话题的音频片段满足新颖标准;以及响应于确定基于特定话题的音频片段满足新颖标准,用基于特定话题的音频片段中的内容更新基于特定话题的文本片段中的内容以创建文本文档的更新版本。
5.从另一方面来看,本发明提供了一种用于更新文档的计算机系统,该系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读非暂态存储介质,以及存储在一个或多个计算机可读非暂时性存储介质中的至少一个上的、用于通过一个或多个计算机可读存储器中的至少一个由一个或多个处理器中的至少一个执行的程序指令,所存储的程序指令被执行以执行一种方法,包括:将文本文档分割成基于话题的文本片段,其中,文本文档控制设备的操作;接收与文本文档相关的音频文件;将音频文件转换为文本以创建音频文件的文本表示;将音频文件的文本表示分割成基于话题的音频片段;将基于话题的文本片段中的基于特定话题的文本片段与基于话题的音频片段中的基于特定话题的音频片段进行匹配,其中基于话题的文本片段中的基于特定话题的文本片段和基于话题的音频片段中的基于音频片段属于同一话题;识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异;基于基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,确定基于特定话题的音频片段满足新
颖标准;响应于确定基于特定话题的音频片段满足新颖标准,用基于特定话题的音频片段中的内容更新基于特定话题的文本片段中的内容以创建文本文档的更新版本;以及利用文本文档的更新版本来执行修改设备操作的动作。
6.从另一方面来看,本发明提供了一种用于更新文档的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储用于由处理电路执行以执行用于执行本发明的步骤方法的指令。
7.从另一方面来看,本发明提供了一种存储在计算机可读介质上并可加载到数字计算机的内部存储器中的计算机程序,计算机程序包括软件代码部分,用于当所述程序在计算机上运行时执行本发明的步骤。
8.从另一方面来看,本发明提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质,其中该计算机可读存储介质具有随其体现的程序代码,其中该计算机可读存储介质本身不是瞬态信号,并且其中该程序代码是可读的并可由处理器执行以执行一种方法,该方法包括:将文本文档分割成基于话题的文本片段,其中文本文档控制设备的操作;接收与文本文档相关的音频文件;将音频文件转换为文本以创建音频文件的文本表示;将音频文件的文本表示分割成基于话题的音频片段;将基于话题的文本片段中的基于特定话题的文本片段与基于话题的音频片段中的基于特定话题的音频片段进行匹配,其中基于话题的文本片段中的基于特定话题的文本片段和基于话题的音频片段中的基于音频片段属于同一话题;识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异;基于基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,确定基于特定话题的音频片段满足新颖标准;响应于确定基于特定话题的音频片段满足新颖标准,用基于特定话题的音频片段中的内容更新基于特定话题的文本片段中的内容以创建文本文档的更新版本;以及利用文本文档的更新版本来执行修改设备的操作的动作。
9.本发明实施例的方法基于已经捕获关于文本文档控制的设备的音频会议的音频文件来修改和利用文本文档。一个或多个处理器和/或用户将文本文档分割成基于话题的文本片段,其中文本文档控制设备的操作。处理器接收与文本文档相关的音频文件,将音频文件转换为文本以创建音频文件的文本表示。处理器和/或用户将音频文件的文本表示分割为基于话题的音频片段,然后将基于话题的文本片段中的基于特定话题的文本片段与基于话题的音频片段中的基于特定话题的音频片段进行匹配,其中基于话题的文本片段中的基于特定话题的文本片段和基于话题的音频片段中的基于特定话题的音频片段属于同一话题。处理器和/或用户识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,并基于基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,确定基于特定话题的音频片段的新颖标准。响应于识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异,并且响应于确定基于特定话题的音频片段满足新颖标准,处理器和/或用户用基于特定话题的音频片段中的内容更新基于特定话题的文本片段中的内容,以创建文本文档的更新版本。处理器和/或用户然后利用文本文档的更新版本来执行修改设备的操作的动作。
10.在一个或多个实施例中,本文描述的方法通过计算机程序产品和/或计算机系统的执行来执行。
附图说明
11.现在将仅通过示例的方式参考优选实施例来描述本发明,如下图所示:
12.图1描绘了本发明在各个实施例在其中实施的示例性系统和网络;
13.图2说明了本发明的一个或多个组件的高级概述;
14.图3描绘了如在本发明的一个或多个实施例中使用的示例性深度神经网络;
15.图4是根据本发明的一个或多个实施例执行的一个或多个步骤的高级流程图;
16.图5描绘了根据本发明实施例的云计算环境;
17.图6描绘了根据本发明实施例的云计算机环境的抽象模型层。
具体实施方式
18.在一个或多个实施例中,本发明是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。在一个或多个实施例中,计算机程序产品包括计算机可读存储介质(或介质),其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。
19.计算机可读存储介质可以是可以保留和存储指令以供指令执行装置使用的有形装置。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器。只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)、记忆棒、软盘、诸如穿孔卡或其上记录有指令凹槽中的凸起结构的机械编码设备,以及前述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、传播通过波导或其他传输介质的电磁波(例如,通过光纤电缆的光脉冲)或通过电线传输的电信号。
20.本文所述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令并且转发计算机可读程序指令以在相应计算/处理设备内的计算机可读存储介质中存储。
21.一个或多个实施例中,用于执行本发明的操作的计算机可读程序指令包括汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的编程语言,如java、smalltalk、c 等,以及传统的过程编程语言,如“c”编程语言或类似的编程语言。在一个或多个实施例中,计算机可读程序指令完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上和部分在远程计算机上或完全在远程计算机上执行,或服务器。在后一种情况和一个或多个实施例中,远程计算机通过包括局域网(lan)或广域网(wan)的任何类型的网络连接到用户的计算机,或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路通过利用计算机可读程序指令的状态
信息来执行计算机可读程序指令以个性化电子电路,以便执行本发明的各个方面。
22.在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图的每个框,以及流程图和/或框图中的框的组合,可以通过计算机可读程序指令来实现。
23.在一个或多个实施例中,这些计算机可读程序指令被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理设备的处理器,创建用于实现流程图和/或框图的框中指定的功能/动作的装置。在一个或多个实施例中,这些计算机可读程序指令还存储在计算机可读存储介质中,在一个或多个实施例中,计算机可读存储介质引导计算机、可编程数据处理装置和/或其他设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制造物品,该制造物品包括实现流程图和/或框图的框中指定的功能/动作的各方面的指令。
24.在一个或多个实施例中,计算机可读程序指令也被加载到计算机、其他可编程数据处理设备或其他设备上,以使得在计算机、其他可编程设备或其他设备上执行一系列操作步骤产生计算机实现的过程,使得在计算机、其他可编程设备或其他设备上执行的指令实现流程图和/或框图的框中指定的功能/动作。
25.图中的流程图和框图说明了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框代表一个模块、段或指令的一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中标注的功能不按图中标注的顺序出现。例如,连续显示的两个框实际上基本上是同时执行的,或者这些框有时以相反的顺序执行,这取决于所涉及的功能。还应注意,在本发明的一个或多个实施例中,框图和/或流程图说明的每个框,以及框图和/或流程图说明中的框的组合,由执行特定功能或动作或执行专用硬件和计算机指令组合的基于专用硬件的系统实现。
26.现在参考附图,特别是图1,描绘了可以由本发明和/或在本发明的实现中使用的示例性系统和网络的框图。注意,所示的计算机102及其内部的示例性架构的一些或全部,包括所示的硬件和软件,可以由图1中所示的人工智能124和/或软件部署服务器150和/或文本文档服务器152和/或物理设备154和/或控制器156和/或音频文件服务器158、图2中所示的文本更新和利用逻辑(tuul)202、和/或图3中所示的深度神经网络324中所示的一个或多个神经元/节点使用。
27.示例性计算机102包括耦合到系统总线106的处理器104。处理器104可以利用一个或多个处理器,每个处理器具有一个或多个处理器核。驱动/支持显示器110的视频适配器108也耦合到系统总线106。系统总线106通过总线桥112耦合到输入/输出(i/o)总线114。i/o接口116连接到i/o总线114。i/o接口116提供与包括键盘118、鼠标120、媒体托盘122(其可以包括诸如cd-rom驱动器、多媒体接口等)、人工智能124和外部usb端口126的各种i/o设备的通信。虽然连接到i/o接口116的端口的格式对于计算机体系结构领域的技术人员来说可以是任何已知的,但在一个实施例中,这些端口中的一些或全部是通用串行总线(usb)端口。
28.如图所示,计算机102也能用连接到网络128的网络接口130与人工智能124和/或软件部署服务器150和/或文本文档服务器152和/或物理设备154(通过控制器156)和/或音
频文件服务器158进行通信。网络接口130是硬件网络接口,例如网络接口卡(nic)等。网络128可以是诸如互联网的外部网络,或者是诸如以太网或虚拟专用网络(vpn)的内部网络。下面给出物理设备154的一个或多个示例。
29.硬盘驱动器接口132也耦合到系统总线106。硬盘驱动器接口132与硬盘驱动器134连接。在一个实施例中,硬盘驱动器134填充也耦合到系统总线106的系统存储器136。系统存储器被定义为计算机102中最低级别的易失性存储器。易失性存储器包括附加的更高级别的易失性存储器(未示出),包括但不限于高速缓冲存储器、寄存器和缓冲器。填充系统存储器136的数据包括计算机102的操作系统(os)138和应用程序144。
30.os 138包括壳(shell)140,用于提供对诸如应用程序144之类的资源的透明用户访问。概括来说,壳140是在用户和操作系统之间提供解释器和接口的程序。更具体地,壳140执行输入到命令行用户界面的或来自文件的命令。因此,也称为命令处理器的壳140,通常是操作系统软件层次结构的最高级别并用作命令解释器。壳提供系统提示,解释由键盘、鼠标或其他用户输入媒体输入的命令,并将解释的命令发送到操作系统的适当较低级别(例如,内核142)进行处理。注意,虽然壳140是基于文本的、面向行的用户界面,但本发明同样很好地支持其他用户界面模式,例如图形、语音、手势等。
31.如图所示,os 138还包括内核142,内核142包括os 138的较低级别的功能,包括提供os 138的其他部分和应用程序144所需的基本服务,包括存储器管理、进程和任务管理、磁盘管理,以及鼠标和键盘管理。
32.应用程序144包括渲染器,示例性地显示为浏览器146。浏览器146包括程序模块和指令,使得万维网(www)客户端(即计算机102)能够用超文本传输协议(http)进行消息传送,向互联网发送和接收网络消息,从而能够与软件部署服务器150和其他计算机系统进行通信。
33.计算机102的系统存储器(以及部署服务器150的系统存储器的软件)中的应用程序144还包括文档修改和利用逻辑(dmul)148。dmul 148包括用于实现下文描述的过程—包括在图2-4中描述的过程—的代码。在一个实施例中,计算机102能够从软件部署服务器150下载dmul 148,包括按需下载,其中dmul 148中的代码直到需要执行时才下载。进一步注意,在本发明的一个实施例中,软件部署服务器150执行与本发明相关联的所有功能(包括执行dmul 148),从而使计算机102不必使用其自身的内部计算资源来执行dmul 148。
34.注意,计算机102中描绘的硬件元件并非旨在穷举,而是代表性的,以突出本发明所需的基本组件。例如,计算机102可以包括替代的存储器存储设备,例如磁带、数字多功能盘(dvd)、伯努利盒等。这些和其他变化旨在落入本发明的范围内。
35.本发明的一个或多个实施例通过1)摄取文本文档,从会议的音频记录更新文本文档。该过程通过以下方式执行:将文本文档分割成小单元(例如关于特定主题的页面或段落);分析小单元的话题和关键字信息;在搜索引擎中对分析的文档进行索引。
36.系统2)通过以下方式识别候选更新:在用语音转文本(stt)程序转换音频会议之后跟踪音频会议;存储一个窗口期的转录语音(例如,1-2个话语)以创建候选更新;分析候选更新的话题/关键字。
37.系统3)确定候选更新对更新该文档是否足够相关/重要。在本发明的一个或多个实施例中,总更新分数是a)发言者的重要性与b)内容特定的分数的综合。
38.所述a)发言者的重要性,是由发言者的角色确定的。例如,如果大会是关于对控制特定设备的软件进行更改,则作为负责特定设备的操作员或工程师的参会者的重要性排名,高于另一名不熟悉和/或从不操作特定设备的参会者。
39.在本发明的一个实施例中,发言者的身份和/或角色,用语音和/或面部识别以及身份:角色匹配来确定。例如,如果音频文件是音频/视频文件的一部分,则通过应用将面部点映射到已知人的数据库等的任何已知面部识别系统来使用发言者的面部识别。类似地,如果音频文件只是一个音频文件,则通过将发言者的音频剪辑(例如,使用创建发言者的单词的数字文件的快速傅里叶变换—fft)与已知的发言者说过的相似词语的数据库进行比较来实现发言者识别,从而识别特定的发言者。
40.b)用内容分数来识别候选更新内的语言的固有重要性。例如,大会期间的口语诸如“更改特定设备的操作”的口语比“我们要点午餐吗?”得分更高。
41.如果不同的段落是关于不同的话题的,则发言者的重要性也将经常改变。也就是说,在讨论特定设备的操作时,谈论操作特定设备的工程师的排名/得分将在会计师之上,但如果话题是关于更改购买/维护该特定设备的合同的定价条款的,则会计师的排名/得分将在工程师之上。
42.在本发明的一个或多个实施例中,特定文本片段落的更新分数(update score)是内容_分数(content_score)的发言者加权的版本:更新_分数(update_score)=发言者重要性(speaker_importance)*内容_分数。
43.也就是说,更新原始文本文档中的特定段落的决定,基于的是音频文件中的发言者对考虑更改的文本文档中的段落的主题而言的重要性以及该特定段落中内容的重要性的组合。例如,如果发言者被评分为对文本文档中的特定段落不重要,那么系统将忽略他/她关于该特定段落所说的任何内容。同样,如果特定段落本身被评分为不重要(例如,操作手册中的一般营销信息、不影响特定设备操作的源代码等),则不会更改。然而,如果说话人重要性与内容分数之乘积足够高,那么将修改/更新文本文档中的该段落。
44.因此,如果生产操作员在大会上提出更改设备的操作参数的口头建议(发言者重要性),并且对操作参数的这些更改将极大地影响该设备的功能(内容_分数),那么,由于更新_分数较高,将进行更改。
45.因此,如果候选更新的更新_分数足够高(高于阈值),则可以用其来自动地触发更新,也可以由人员进行审查,以决定推动更新。如果做出更新决定,则系统将识别用于文本文档中的相关部分的候选更新。否则,丢弃候选更新,系统处理返回到识别候选更新的步骤2)。
46.系统4)通过以下方式识别文本文档中的相关部分:基于所分析的候选更新生成搜索查询;将该查询提交到搜索索引;从该索引中检索相关段落(小单元)(段落搜索);将检索到的段落呈现给文档更新者(自动模块或人类用户)。也就是说,文本文档的每个部分(子单元)都按照每个部分的主题进行识别,从而可以将其与特定参会者对会议所说的音频文件中计分的段落匹配。
47.然后,系统5)通过以下方式更新和重新索引文本文档:选择以该内容更新的部分(自动地基于上述置信度/更新分数或通过用户手动选择);将新内容与所选择的部分进行比较,看看它是否代表新信息;如果存在新信息,则将该内容添加到该部分;用添加的内容
更新该部分的索引(重新索引)。即,一旦识别了音频文件中用于更新文本文档中的特定段落的相关内容,则将该相关内容用于修改该特定段落,并重新索引文本文档以显示修改的位置。
48.因此,系统基于置信度/更新分数选择文本文档的用该内容更新的一部分。系统用所选的部分的上下文分析、话题/短语检测等技术,将(音频文件中的)新内容与(文本文档中的)所选的部分进行比较,以查看它是否代表新信息,以生成满足新颖标准的信息新颖分数(即,新信息是否提供显著不同的数据以及显著不同的数据是否重要?)。如果音频文件中存在新信息,则将其添加到所选的部分。如果上述更新分数大于预定义的阈值,则这种内容添入/更新是自动的。为所选的部分更新文本文档的索引。在本发明的一个实施例中,索引不仅显示了文本文档的哪些段落已经被更新,而且还显示了索引中的(来自音频文件的)新内容。
49.因此,本发明的一个或多个实施例确定音频文件中的候选更新是否应导致文档的修改;将候选更新与相关文档部分进行比较,以确定它是否是新信息;仅用候选更新中的新颖信息更新和/或修改相关文档部分;和/或如果文本文档被修改,则实时修改/重新索引文本文档。
50.现在参考图2,给出了本发明的一个或多个组件的高级概述。
51.如图2所示,文本更新和利用逻辑(tuul)202(例如,图1所示的计算机102)从图1中介绍的文本文档服务器152接收文本文档204。tuul 202将文本文档204分割成多个基于话题的文本片段,包括基于话题的文本片段206、基于话题的文本片段208、基于话题的文本片段210和基于话题的文本片段212。可以理解,虽然出于说明目的描述了四个基于话题的文本片段,但基于话题的文本片段的数量可以多于或少于四个。
52.在本发明的第一实施例中,tuul 202最初将文本文档204划分为多个文本片段,然后确定每个文本片段的话题/主题。
53.在本发明的第二实施例中,tuul 202检查一个文本部分以确定该部分的上下文/内容/主题,并继续将相同上下文/内容/主题的后续段落添加到该部分。
54.也就是说,在第二实施例中,tuul 202将某个段落识别为与该特定段落的特定主题相关(例如,使用关键字识别、自然语言处理等)。此后,评估紧接在该特定段落之后的后续段落,以确定它们是否是关于同一主题的。如果是这样,那么将这些后续段落包含到最先确定的特定段落中。
55.然而,在第一实施例中,tuul 202首先将文本文档204划分为具有预定义性质的片段(例如,句子、段落、章节等),然后确定每个片段的主题/话题.然后聚合与同一主题/话题相关的片段,以便tuul 202可以对相关片段进行全局更改/修改。
56.在第三实施例中,本发明利用第一实施例和第二实施例的组合,以便1)组合关于同一主题的后续段落,以及2)在同一主题下将每个组合的段落与其他段落关联在一起,从而使关联的段落成为被音频文件214中的内容更新的候选。
57.tuul 202然后从图1所示的音频文件服务器158检索音频文件214,并将音频文件214分割成基于话题的音频片段216、基于话题的音频片段218、基于话题的音频片段220和基于话题的音频片段222。
58.与来自上述文本文档204的文本片段一样,可以理解,虽然出于说明目的示出了四
个基于话题的音频片段,但是基于话题的音频片段的数量可以多于或少于四个。
59.类似于所述的用于将文本文档204划分为多个文本片段的过程,基于主题/话题,将音频文件214按照话题、后续音频片段落、音频片段落的预定大小等划分为多个音频片段。
60.然而,在分割音频文件214之前,首先将其转换成文本文档(例如,使用语音到文本的转换过程)。因此,显示为音频文件214的一部分的每个基于话题的音频片段实际上是音频片段落的文本转换。这样,tuul 202将音频文件214的这些文本版本划分为具有预定义性质的片段(例如,句子、段落、章节等),然后确定每个片段的主题/话题。然后聚合与同一主题/话题相关的片段,以便tuul 202可以对相关片段进行全局更改/修改。
61.与文本文档204的分割一样,音频文件214的文本转换可以组合关于同一主题的后续段落,和/或在同一主题下将每个组合的段落与其他段落关联在一起,从而使关联的音频片段成为用于更新文本文档204中的文本片段的候选。
62.如上所述,在本发明的实施例中,各种音频片段与某些文本片段的关联,不仅基于它们在相应音频文件214和文本文档204中的位置,而且基于它们的匹配主题、相关性、重要性等。
63.例如,假设基于话题的文本片段206是与控制设备a相关的文本(例如,操作手册中的源代码等);基于话题的文本片段208是与控制设备b相关的文本;基于话题的文本片段210是描述设备a和/或设备b的尺寸、颜色等的库存描述语言;基于话题的文本片段212描述设备a和/或设备b的货币成本。
64.进一步假设,为了说明的目的(而不是为了限制本发明的范围),基于话题的音频片段216是在关于如何控制设备a和设备b的会议/大会期间人物w(例如第一操作员或设计工程师)的口头陈述的文本转换;基于话题的音频片段218是人物x(例如会计师)关于设备a成本的口头陈述的文本转换;基于话题的音频片段220是人物y(例如第二操作员或设计工程师)关于如何控制设备b的口头陈述的文本转换;基于话题的音频片段222是人物z询问(音频文件214首先被捕获的大会/会议)各方想去哪里吃午饭的口头陈述的文本转换。
65.进一步假设tuul 202已确定基于话题的音频片段216和基于话题的文本片段206以及基于话题的文本片段208与相同的主题/话题(即控制设备a和/或设备b)相关。因此,如本文所述,tuul 202将根据人物w的角色和以及基于文本片段206和/或基于话题的文本片段208和/或基于话题的音频片段216的重要性,确定基于话题的音频片段216是修改基于话题的文本片段206以及基于话题的文本片段208的候选。
66.类似地,tuul 202将确定基于话题的音频片段218是否是用于修改基于话题的文本片段212的有价值的候选(基于基于话题的音频片段218和基于话题的文本片段212都与设备a和/或设备b成本相关)。
67.类似地,如果基于话题的音频片段220和基于话题的文本片段208都针对控制设备b,则tuul 202将确定基于话题的音频片段220是用于更新基于话题的文本片段208的良好候选—假设满足新颖标准(即,改变是值得的、提议的改变水平、在修改设备b的操作时改变的重要性、人物y的角色/声誉等)
68.基于话题的文本片段210将不是修改的候选,因为关于设备a和/或设备b的大小、颜色等的库存描述语言永远不会改变。
69.基于话题的音频片段222不是用于修改文本文档204中的任何文本片段的候选,因为询问参会人员想去哪里吃午饭与文本文档204的内容无关。
70.现在假设tuul 202基于发言者的角色、文本片段的重要性、口述音频片段的重要性等,确定基于话题的文本片段206将被基于话题的音频片段216的内容修改—因为基于话题的音频片段216中的内容与当前在基于话题的文本片段206中发现的内容不同。例如,假设设备a是一个旋转设备,并且人物w在文本文档204生成后的一次大会上表示,“设备a要将其额定运行速度从每分钟2000转(rpm)加快到2500rpm”。因此,已经确定了基于话题的文本片段206和基于话题的音频片段216都与设备a的操作参数有关的tuul202,将自动修改基于话题的文本片段206,以将“2000rpm”更改为“2500rpm”。如果文本文档204是设备a的操作手册,则在其中进行此更改,作为设备a的操作员的参考。但是,如果文本文档204是控制器156用来控制设备a(例如物理设备154)的操作的源代码,则tuul 202为改变设备a的操作而识别(例如,从源代码中的注释、tuul已知的与控制操作速度相关的源代码等)文本文档204中的适当源代码,并自动修改这部分源代码。
71.tuul 202用分别取自基于话题的音频片段216和/或基于话题的音频片段220(用于基于话题的文本片段208)和/或基于话题的音频片段218(用于基于话题的文本片段212)的新信息(即不同于已经存在于基于话题的文本片段208和/或基于话题的文本片段212的)来对基于话题的文本片段208和/或基于话题的文本片段212作出类似的交互/评估/修改。
72.在本发明的一个或多个实施例中,tuul 202用自然语言处理(nlp)和/或机器学习(ml)来确定文本文档204中的哪些文本片段(如果有的话)要被图2中所示的音频文件214中的一个或多个音频片段修改。
73.在本发明的一个或多个实施例中,tuul 202用图1所示的人工智能124来确定文本文档204中的哪些文本片段(如果有的话)要被图2中所示的音频文件214中的一个或多个音频片段修改。
74.在本发明的一个或多个实施例中,人工智能124利用电子神经网络架构,例如在深度神经网络(dnn)或卷积神经网络(cnn)中发现的架构。
75.在优选实施例中,用深度神经网络(dnn)来评估从文本文档服务器152接收的文本语料库中的文档中的文本/数字数据,而用cnn来评估图像语料库的图像。
76.cnn与dnn的相似之处在于两者都利用互连的电子神经元。然而,cnn与dnn的不同之处在于:1)cnn具有其大小基于滤波器大小、步幅值、填充值等的神经层;2)cnn利用卷积方案来分析图像数据。cnn的“卷积”之名基于的是过滤和汇集像素数据(一种对两个函数的数学运算)的卷积(即,对两个函数进行数学运算以获得结果)以生成预测输出(获得结果)。
77.电子神经网络(dnn或cnn)内的逻辑单元被称为“神经元”或“节点”。如果电子神经网络完全用软件实现,那么每个神经元/节点都是一段单独的代码(即执行某些动作的指令)。如果电子神经网络完全用硬件实现,那么每个神经元/节点都是一个单独的硬件逻辑(例如处理器、门阵列等)。如果将电子神经网络实现为硬件和软件的组合,那么每个神经元/节点就是一组指令和/或一个硬件逻辑。
78.顾名思义,神经网络大致模仿生物神经网络(例如人脑)。生物神经网络由一系列相互影响的相互连接的神经元组成。例如,第一神经元可以通过释放由第二神经元接收的神经递质(来自第一神经元)通过突触电连接到第二神经元。这些神经递质可以导致第二个
神经元变得兴奋或抑制。兴奋/抑制的互连神经元的模式最终会导致生物学结果,包括思想、肌肉运动、记忆恢复等。虽然对生物神经网络的这个描述高度简化,高级概述是一个或多个生物神经元影响一个或多个其他生物电连接的生物神经元的操作。
79.电子神经网络类似地由电子神经元组成。然而,与生物神经元不同,电子神经元在技术上从来不是“抑制性的”,而往往只是不同程度地“兴奋性的”。
80.在电子神经网络中,神经元被布置在称为输入层、隐藏层和输出层的层中。输入层中包括的神经元/节点接收输入数据,并将其发送到一系列隐藏层神经元,其中,隐藏层中一层的所有神经元与隐藏层下一层中的所有神经元互连。隐藏层中的最后一层然后将计算结果输出到输出层,其通常是用于保存向量信息的一个或多个节点。
81.现在参考图3,介绍根据本发明一个或多个实施例用来评估文本数据(例如,图2所示的文本文档204的片段和/或音频文件214的片段)以用于更新的文本文档片段的深度神经网络(dnn)324。
82.例如,为了说明的目的,假设dnn 324的输入是:图2的基于话题的文本片段208;基于话题的音频片段216(这是人物w说出的关于设备b应该如何操作/控制的词语的文本版本);基于话题的音频片段220(这是人物y说出的关于设备b应该如何操作/控制的词语的文本版本);新颖标准301(例如,为了修改/更新基于话题的文本片段208必须满足什么标准)。新颖标准301的元素的示例包括但不限于:在特定的基于话题的文本片段中和特定的基于话题的音频片段中找到的共同主题,谁说出了在基于话题的音频片段中找到的词语,基于话题的文本片段中和基于话题的音频片段中的内容之间的差异量,在基于话题的文本片段中找到的内容和/或在基于话题的音频片段中找到的内容的重要性,等等。
83.如图3所示,dnn 324中的电子神经元按层排列,称为输入层303、隐藏层305和输出层307。输入层303中包括的神经元/节点接收输入数据并将其发送到一系列神经元隐藏层(例如,隐藏层305),其中,隐藏层中的一层的神经元与隐藏层305中的下一层中的所有神经元互连。隐藏层305中的最后一层然后将计算结果输出到输出层307,其通常是多个节点,每个节点都保存矢量信息。在本发明的实施例中,输出层307中的每个神经元都与一个向输出302的特定输出相关联,如图3所示。
84.在图3所示的例子中,dnn 324可以生成输出302中的两个输出:更新的基于话题的文本片段315的第一版本(“文本片段315”),以及更新的基于话题的文本片段317的第二版本(“文本片段317”)。
85.例如,基于所示的到输入层303的输入,文本片段315可以是基于话题的文本片段208的修改版本,其中,用于控制设备b的操作的源代码(在本发明的一个实施例中其是基于话题的文本片段208)、操作手册(在本发明的另一个实施例中其是基于话题的文本片段208)等被改变,以反映在基于话题的音频片段中发现的变化216。类似地,文本片段317可以是用基于话题的音频成分220中的内容改变基于话题的文本片段208的结果。
86.也就是说,使用本文针对dnn 324描述的操作,dnn 324可以(基于基于话题的音频片段216与基于话题的音频片段220满足新颖标准301的程度)确定基于话题的音频片段216中的内容、或基于话题的音频片段220中的内容、或基于话题的音频片段216中和基于话题的音频片段220中的内容的组合,是用于修改基于话题的文本片段的最佳候选208。
87.因此,如果dnn 324确定人物w是谁以及他/她在基于话题的音频片段216中所说的
话对基于话题的文本片段208的内容相比于人物y在基于话题的音频片段220里所说的话更相关/更重要,则用基于话题的音频片段216的内容来更新基于话题的文本片段208。如果dnn 324确定人物y是谁以及他/她在基于话题的音频片段220对基于话题的文本片段208的内容相比于人物w在基于话题的音频片段216中所说的更相关/更重要,则用基于话题的音频片段220来更新基于话题的文本片段208。然而,如果dnn 324确定人物w和人物y同等重要,他们说的话对基于话题的文本片段208同等相关,并且他们说的话彼此不矛盾,则将基于话题的音频片段216和基于话题的音频片段220二者中的内容合并到基于话题的文本片段208中。
88.如上所述,所示的dnn 324中的每个节点表示电子神经元,诸如所示的神经元309。如框311所示,每个神经元(包括神经元309)包括多个特征,诸如数学函数、输出值、权重和偏置值。
89.数学函数是用于处理一个或多个上游神经元中的数据的数学公式。例如,假设中间隐藏层305中所示的一个或多个神经元向神经元309发送数据值。然后神经元309通过执行框311中所示的数学函数来处理这些数据值,以便生成一个或多个输出值,数据值然后被发送到另一个神经元,诸如隐藏层305中的另一个神经元或输出层307中的神经元。每个神经元还具有特定于该神经元和/或其他连接的神经元的权重。此外,输出值与偏置值相加,这增加或减少输出值,从而允许对dnn 324进一步进行“微调”。
90.例如,假设神经元313在将其对一条数据的分析结果发送到神经元309。神经元309具有定义具体来自神经元313的数据的重要性的第一权重。如果数据重要,则将来自神经元313的数据重重地加权,和/或增加以偏置值,从而导致神经元309内的数学函数生成更高的输出,这将对在输出层307中的神经元产生更大的影响。类似地,如果已经确定神经元313对神经元309的操作很重要,则神经元313中的权重将增加,使得神经元309接收神经元313中的数学函数的输出的更高值。或者,可以通过减小用于影响神经元309的输出的权重和/或偏置量来最小化神经元309的输出。这些权重/偏置量对于dnn 324中的一个、一些或所有神经元来说是可调节的,从而从输出层307产生可靠的输出。这种调整可替代地手动或自动执行。
91.在手动调整时,数学函数、输出值、权重和/或偏置值由用户以重复的方式调整,直到来自输出层307的输出匹配期望。例如,假设文本片段315使用基于话题的音频片段216中的内容来更新基于话题的文本片段208,而文本片段317使用基于话题的音频片段220中的内容来更新基于话题的文本片段208。进一步假设输出302以更可靠/更合适的顺序输出更新的文本片段。于是,dnn 324将文本片段315排名在文本片段317之上,并按这样的排名进行输出,这是因为dnn 324已经将基于话题的音频片段216解释为与基于话题的音频片段220相比对基于话题的文本片段202来说更相关和更重要。然而,进一步假设dnn 324的审阅者确定基于话题的音频片段220中的关键字、发言者的角色等实际上比在基于话题的音频片段216中所发现的更符合新颖标准301。于是,手动地调整框311中所示的数学函数、输出值、权重和/或偏置值,直到文本片段317的排名和显示的顺序高于文本片段315。
92.在自动调整时,用“反向传播”来调整数学函数、输出值、权重和/或偏置量,其中“梯度下降”方法确定应如何调整每个数学函数、输出值、权重和/或偏置量才能提供准确的输出302。即,假设基于话题的音频片段220实际上比基于话题的音频片段216更好地满足新
颖标准,则对框311中所示的数学函数、输出值、权重和/或偏置值递归地进行调整,直到文本片段317的排名和显示的顺序高于文本片段315。
93.现在参考图4,给出了根据本发明的一个或多个实施例执行的一个或多个步骤的高级流程图。
94.在启动框402之后,一个或多个处理器和/或用户将文本文档分割成基于话题的文本片段,如框404中所述。在本发明的实施例中,该文本文档控制设备的操作。也就是说,该文本文档是控制该设备的电子控制器的源代码,和/或是用于控制设备的操作手册。
95.如框406中所述,一个或多个处理器(例如图1中所示的处理器104)接收与文本文档相关的音频文件。例如在图2中,音频文件214与文本文档204相关,因为它们都与设备a和/或设备b相关。在本发明实施例中,基于关于与音频文件214和文本文档204相关联的元数据(例如“设备a”、“设备b”、“操作控制”等)、音频文件214的标题(例如“对设备a和设备b操作的推荐更改”)和文本文档204的标题(例如“设备a和设备b的操作”)等,音频文件214和文本文档204被认为是彼此相关。
96.如框408中所述,处理器将音频文件转换为文本以创建音频文件的文本表示(例如,使用已知的语音转文本-stt算法)。
97.如框410中所述,处理器和/或用户将音频文件的文本表示分割为基于话题的音频片段。例如,基于内容、上下文、使用的关键字等,将音频文件214的文本版本分割成图2所示的基于话题的音频片段216、228、220、222,以便识别每个基于话题的音频片段216、218、220、222的话题/内容。
98.如框412中所述,处理器和/或用户将基于话题的文本片段中的基于特定话题的文本片段与基于话题的音频片段中的基于特定话题的音频片段匹配,其中基于话题的文本片段中的基于特定话题的文本片段和基于话题的音频片段中的基于特定话题的音频片段属于同一话题。例如在图2中,基于话题的音频片段220的话题是“控制设备b”,这与基于话题的文本片段208的话题相同。
99.如框414中所述,处理器和/或用户识别基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异。例如,即使基于话题的文本片段208和基于话题的音频片段220都针对相同话题“控制设备b”,它们的内容也可能不同。也就是说,基于话题的文本片段208可能陈述“以2500rpm操作设备b”,而基于话题的音频片段220可能陈述“以2000rpm操作设备b”。
100.如框416中所述,处理器和/或用户基于基于特定话题的文本片段中的内容与基于特定话题的音频片段中的内容之间的差异确定基于特定话题的音频片段满足新颖标准。在上面的示例中,“2000rpm”与“2500rpm”的差异足以满足这一新颖(即新信息)标准。
101.如框418中所述,响应于确定基于特定话题的音频片段满足新颖标准,处理器(和/或图3中所示的dnn 324)用基于特定话题的音频片段中的内容更新基于特定话题的文本片段中的内容,以创建文本文档的更新版本(例如,图3中所示的更新的基于话题的文本片段315的第一版本)。如果这个更新是由神经网络或类似的人工智能执行的,那么这个更新是使用上述的用于图3中所示的dnn 324的过程来执行的。如果这个更新是由图1所示的处理器104执行的,则图3所示的更新的基于话题的文本片段315的第一版本的生成是由处理器104执行程序创建的,该程序1)识别所选择的文本/音频文件段中的内容之间的差异,2)确
定该差异是显著的(例如,改变操作值超出了预定范围),以及3)用新内容音频片段更新文本片段。
102.如框420中所述,处理器利用文本文档的更新版本来执行修改设备的操作的动作。例如,如果文本文档是源代码,则图2所示的tuul 202用该更新版本的源代码对控制器156重新编程,以改变由控制器156控制的物理设备154的操作。于是,在上面的示例中,物理设备154(例如,泵)将从以2000rpm旋转切换到以2500rpm旋转。因此,通过以对特定条件集最佳的方式执行,改进了设备的操作。
103.流程图在终止框422处结束。
104.在本发明的一个实施例中,音频文件是在文本文档之后生成的。因此,音频文件的内容修改了已经存在的文本文档。
105.在本发明的实施例中,处理器将自然语言处理(nlp)应用于音频文件的基于文本的表示,以为文本文档识别候选文档更新。例如,假设基于话题的音频片段216是人物w所说的词语的文本版本,其中人物w说:“我认为我们应该将设备b的旋转速度加快25%”。nlp认为该语句是1)关于设备b的;2)要将设备b的转速提高25%。此后,nlp还将评估基于话题的文本片段208,将其识别为1)是关于设备b的操作的;2)该设备当前以2000rpm的转速操作。因此,系统将关联该信息以在基于话题的文本片段208中将设备b的转速增加到2500rpm。
106.在本发明的实施例中,处理器基于说出基于特定话题的音频片段的发言者的角色进一步确定基于特定话题的音频片段满足新颖标准。也就是说,如上所述,不仅音频片段和文本片段中的信息差异表明这种信息差异是新颖的(显著不同),而且发言者的角色也表明这种新颖的/不同的信息很重要。也就是说,如果泵操作员声明泵的转速应提高25%,则该声明比没有泵技术/操作角色的人员声明泵的转速应降低25%更可信。
107.在本发明的实施例中,处理器确定基于特定话题的音频片段的重要性分数—其中重要性分数基于更新基于特定话题的文本片段时基于特定话题的音频片段对文本文档作出的改变的类型,并且基于基于特定话题的音频片段的重要性分数来确定基于特定话题的音频片段满足新颖标准。例如,如果图2中的人物w建议将设备b的转速提高25%(基于话题的音频片段216),而人物y建议将设备b涂成灰色而不是白色(基于话题的音频片段220),那么,通过使用nlp或者识别发言者正在谈论什么的类似逻辑,赋予基于话题的音频片段音216比基于话题的音频片段220的更高的重要性。因此,修改基于话题的文本片段208,以反映设备b的转速增加到2500rpm,同时忽略人物y将设备b涂成灰色的建议,因为泵(设备b)的颜色不会影响它的性能。
108.在本发明实施例中,处理器向用户提供基于特定话题的音频片段以供反馈;在收到用户反馈后,更新文本文档;并对更新的文本文档重新编制索引。也就是说,一旦使用本文描述的过程整体更新了图2所示的文本文档204,它就被发送给用户以获得批准反馈。一旦用户已经审查并批准了更改,文本文档204就被重新索引,以在索引中显示已经进行了哪些更改,以及它们在文本文档204中的位置。
109.在本发明实施例中,文本文档是源代码,其在由一个或多个处理器执行时,使设备的控制器执行修改设备的操作的动作,如图1和图2所示。
110.在一个或多个实施例中,本发明用云计算来实施。不过事先应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发
明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
111.云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供商的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
112.特性如下:
113.按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务提供商进行人工交互。
114.广泛的网络接入:通过网络提供功能,并通过标准机制进行访问,所述标准机制促进由异构的瘦客户端或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用。
115.资源池化:提供者的计算资源被汇集起来以使用多租户模型来服务于多个消费者,不同的物理和虚拟资源根据需要被动态分配和重新分配。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制权或知识,但可能能够指定更高抽象层级的位置(例如,国家、州或数据中心)。
116.快速弹性:可以快速且弹性地配置功能,在某些情况下自动地快速扩展,迅速释放以快速收缩。对于消费者而言,可用于配置的功能通常看起来是无限的,可以在任何时间以任何数量购买。
117.度量的服务:云系统通过利用与服务类型(例如,存储、处理、带宽和活动用户帐户)相适应的某种抽象级别的计量功能来自动控制和优化资源使用。可以监视、控制和报告资源使用情况,为所使用服务的提供者和使用者提供透明度。
118.软件即服务(saas):向消费者提供的功能是使用在云基础设施上运行的提供者的应用。这些应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用功能的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
119.平台即服务(paas):向消费者提供的功能是在云基础结构上部署消费者创建或获取的应用,所述应用是用提供者所支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
120.基础设施即服务(iaas):向消费者提供的功能是提供消费者能够部署和运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
121.部署模型如下:
122.私有云:云基础结构仅为组织运营。它可以由组织或第三方管理,并且可存在于场所内或场所外。
123.社区云:云基础结构由多个组织共享,并支持具有共同关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。在一个或多个实施例中,它可以由组织或第三方管理,并且可存在于场所内或场所外。
124.公共云:云基础结构可供公众或大型行业团体使用,并由销售云服务的组织拥有。
125.混合云:云基础结构是由两个或更多个云(私有、社区或公共的)组成的,这些云仍然是唯一性实体,但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用的可移植性(例如,用于云之间的负载平衡的云突发)。
126.云计算环境是面向服务的,着重于无状态性、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础架构。
127.现在参见图5,描绘说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点52,云消费者使用的本地计算设备(诸如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n)可与云计算节点52通信。节点52可以彼此通信。它们可以在一个或多个网络中,诸如在上文所述的私有云、社区云、公共云或混合云或其组合中,被物理地或虚拟地分组(未示出)。这允许云计算环境50提供基础结构、平台和/或软件作为服务,云消费者不需要为其在本地计算设备上维护资源。应当理解,图21中所示的计算设备54a-n的类型仅旨在是说明性的,并且计算节点52和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备进行通信。
128.现在参见图6,示出了由云计算环境50(图5)提供的一组功能抽象层。应预先理解,图6中所示的部件、层和功能旨在仅是说明性的,本发明的实施例不限于此。如图所示,提供了以下层和相应的功能:
129.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
130.虚拟化层70提供抽象层,在一个或多个实施例中,从抽象层提供以下虚拟实体的示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
131.在一个示例中,管理层80可提供下文所描述的功能。资源供应81提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价82在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或开票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(sla)计划和履行85为根据sla预期的云计算资源的未来要求提供云计算资源的预安排和采购。
132.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教育交付93;数据分析处理94;事务处理95;以及执行本文描述的本发明的一个或多个特征的文档更新和利用处理96。
133.本文使用的术语仅用于描述具体实施例,并不旨在限制本发明。如本文中使用的,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另有明确指示。将进一步理解,当在本说明书中使用术语“包括”和/或“包含”时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组的存在或添加。
134.以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行功能的任何结构、材料或动作。出于说明和描述的目的已经给出了对一个或多个实施例的描述,但是并不旨在是详尽的或限于所公开的形式。许多修改和变化对本领域的普通技术人员将是明显的。实施例的选择和描述方式是为了最好地解释各个方面和实际应用,使得本领域普通技术人员能够理解具有适合于所预期的特定用途的不同修改的不同实施例。
135.在本发明的一个或多个实施例中,本发明中描述的任何方法都是通过使用vhdl(vhsic硬件描述语言)程序和vhdl芯片来实现的。vhdl是现场可编程门阵列(fpga)、专用集成电路(asic)和其他类似电子设备的典型设计入口语言。因此,在本发明的一个或多个实施例中,本文描述的任何软件实现方法由基于硬件的vhdl程序模拟,然后将其应用于vhdl芯片,例如fpga。
136.以上参考其示例性实施例详细描述了本技术的本发明实施例,很明显,在不偏离后附权利要求中定义的本发明范围的情况下,可以进行修改和变更。