用于神经语言行为识别系统的感知联想记忆的制作方法

文档序号:11635316阅读:431来源:国知局
用于神经语言行为识别系统的感知联想记忆的制造方法与工艺

本文描述的实施例一般而言涉及数据分析系统,并且更具体而言涉及构建从一个或多个数据源获得的输入数据的神经语言模型。



背景技术:

许多当前可用的监控和监视系统(例如,视频监控系统、scada系统等)被训练成观察具体活动并且在检测到这些活动之后向管理员发出警报。

然而,这种基于规则的系统需要提前了解要观察的动作和/或对象。这些活动可以被硬编码到底层应用中,或者系统可以基于任何提供的定义或规则对自己进行训练。换句话说,除非底层代码包括对某些行为或规则的描述以用于为给定的观察结果生成警报,否则系统不能识别这些行为。这种基于规则的方法是死板的。即,除非给定的行为符合预定义的规则,否则该行为的发生可能不会被监视系统检测到。即使系统训练自己来识别行为,系统也需要为要识别的行为提前定义规则。

此外,许多监控系统(例如,视频监控系统)需要大量的计算资源,包括处理器能力、存储和带宽。例如,由于视频数据的典型尺寸,典型的视频监控系统每相机馈送需要大量的计算资源。考虑到资源的成本,这些系统难以扩展。



技术实现要素:

本文给出的一个实施例包括用于生成从一个或多个源获得的输入数据的神经语言模型的句法(syntax)的方法。该方法一般地包括接收从符号序列构建的词典的单词的流。符号从自输入数据生成的标准化向量的有序流生成。评估在流中共现(co-curring)的单词的组合的统计信息。统计信息包括单词的组合共现的频率。基于所评估的统计信息更新单词的组合的模型。该模型识别统计相关的单词。生成连接图。连接图中的每个节点表示流中的单词之一。连接节点的边表示流中的单词之间的概率关系。基于连接图来识别短语。

本文给出的另一个实施例包括存储指令的计算机可读存储介质,当指令在处理器上执行时,执行生成从一个或多个源获得的输入数据的神经语言模型的句法的操作。该操作本身一般地包括接收从符号序列构建的词典的单词流。符号从自输入数据生成的标准化向量的有序流生成。评估在流中共现的单词的组合的统计信息。统计信息包括单词的组合共现的频率。基于所评估的统计信息更新单词的组合的模型。该模型识别统计相关的单词。生成连接图。连接图中的每个节点表示流中的单词之一。连接节点的边表示流中的单词之间的概率关系。基于连接图来识别短语。

本文给出的还有的另一个实施例包括具有处理器和存储器的系统,存储器存储一个或多个应用程序,这一个或多个应用程序被配置为执行用于生成从一个或多个源获得的输入数据的神经语言学模型的句法的操作。该操作本身一般地包括接收从符号序列构建的词典的单词流。符号从自输入数据生成的标准化向量的有序流生成。评估在流中共现的单词的组合的统计信息。统计信息包括单词的组合共现的频率。基于所评估的统计信息更新单词的组合的模型。该模型识别统计相关的单词。生成连接图。连接图中的每个节点表示流中的单词之一。连接节点的边表示流中的单词之间的概率关系。基于连接图来识别短语。

附图说明

因此,可以详细理解本公开的上述特征的方式、对以上简要概括的本公开的更具体的描述可以通过参考实施例而获得,其中一些实施例在附图中示出。然而,应当注意的是,附图仅仅示出示例性实施例,并且因此不应当被认为是限制其范围,可以承认其它同等有效的实施例。

图1示出根据一个实施例的用于神经语言行为识别系统的示例计算环境。

图2示出根据一个实施例的神经语言行为识别系统的系统体系架构。

图3示出根据一个实施例的用于收集在神经语言行为识别系统中使用的传感器数据的方法。

图4示出根据一个实施例的用于初始化感知联想记忆的方法。

图5示出根据一个实施例的表示从词典输入到感知联想记忆中的单词之间的关系的连接图。

图6示出根据一个实施例的用于向认知模块发送句法的方法。

为了便于理解,在可能的情况下,使用相同的标号来指明对各图共同的相同元件。可以设想的是,一个实施例的元件和特征可以有利地并入其它实施例中,而无需进一步的叙述。

具体实施方式

本文给出的实施例描述了行为识别系统。行为识别系统可以配置有从不同数据源收集原始数据值(例如,视频数据、构建管理数据、scada数据)的一个或多个数据收集器组件。例如,行为识别系统可以被配置用于视频监控。行为识别系统可以包括实时取回视频帧、将前景对象与背景对象分离、并且逐帧跟踪前景对象的数据收集器组件。数据收集器组件可以将视频帧数据标准化为数值(例如,相对于给定数据类型落入从0到1的范围内)。

在一个实施例中,行为识别系统包括对收集到的数据执行基于神经网络的语言分析的神经语言模块。具体而言,对于由传感器监视的每种类型的数据,神经语言模块创建并细化标准化数据的语言模型。即,神经语言模块构建用于描述标准化数据的语法(grammer)。语言模型包括充当语法的构建块的符号。神经语言模块识别符号的组合以构建单词的词典。一旦词典被构建,神经语言模块就识别包括词典中的单词的各种组合的短语(phrase)。行为识别系统使用这种语言模型来描述正在观察什么。语言模型允许行为识别系统区分输入数据中观察到的正常活动和异常活动。因此,每当异常活动发生时,行为识别系统可以发出警报。

为了生成语言模型,神经语言模块接收标准化数据值并将这些数据组织成簇(cluster)。神经语言模块评估每个簇的统计信息,并且识别统计相关(statisticallyrelevant)的簇。此外,神经语言模块生成对应于每个统计相关的簇的符号(例如,字母(letter))。因此,映射到给定簇的输入值可以对应于符号。

基于在输入数据中识别出的符号的统计分布,神经语言模块生成观察到的符号组合的词汇表(lexicon)(即,构建单词(word)的词典)。具体而言,神经语言模块可以识别输入数据中不同发生频率的符号模式。此外,神经语言模块可以识别不同长度(例如,从一个符号到最大符号单词长度)的统计相关的符号组合。神经语言模块可以将这种统计相关的符号组合包括在词典中,用于识别用于语言模型的短语。

使用来自词典的单词,神经语言模块基于在观察到附加数据时每个单词相对于其它单词顺次出现的概率关系生成短语。例如,神经语言模块可以识别与给定的四个字母的单词频繁顺次出现的给定的三个字母的单词之间的关系,等等。神经语言模块基于识别出的短语来确定句法(syntax)。

句法允许行为识别系统在没有预定义的活动的帮助或指导的情况下学习、识别和辨别行为模式。与基于规则的监控系统(其包含要识别或观察的内容的预定义的模式)不同,行为识别系统通过对输入进行概括(generalize)以及构建所观察到的内容的行为记忆来学习模式。随着时间的推移,行为识别系统使用这些记忆来区分观察到的数据中反映的正常行为和异常行为。

例如,神经语言模块构建字母、单词、短语,并且为每个识别出的字母、单词或短语估计“罕见性分数”。(在输入数据中观察到的字母、单词或短语的)罕见性分数提供对该字母、单词或短语相对于过去的观察结果有多不频繁地出现的度量。因此,行为识别系统可以使用罕见性分数来度量当前句法相对于稳定的符号(即,字母)模型、从符号构建的稳定的单词模型(即,词典)以及从单词构建的稳定的短语模型(即,句法)(统称为神经语言模型)有多罕见。

随着神经语言模块继续接收输入数据,神经语言模块可以衰减、加强以及生成字母模型、单词模型和句法模型。按机器学习领域的说法,神经语言模块在接收到新的数据并且给定类型的输入数据的出现增加、减少、出现或消失时进行“在线学习”。

图1示出根据一个实施例的行为识别系统100的组件。如所示的,行为识别系统100包括一个或多个输入源设备105、网络110以及一个或多个计算机系统115。网络110可以将由源设备105输入的数据传送到计算机系统115。一般而言,计算环境100可以包括经由网络(例如,互联网)连接的一个或多个物理计算机系统115。可替代地,计算机系统115可以是由网络连接的云计算资源。说明性地,计算机系统115包括一个或多个中央处理单元(cpu)120、一个或多个图形处理单元(gpu)121、网络和i/o接口122、存储装置124(例如,磁盘驱动器、光盘驱动器等)以及存储器123,存储器123包括传感器管理模块130、感测记忆组件135和机器学习引擎140。存储装置124包括模型储存库145。

cpu120取回并执行存储在存储器123中的编程指令,以及存储和取回驻留在存储装置124中的应用数据。在一个实施例中,gpu121实现计算统一设备体系架构(computeunifieddevicearchitecture,cuda)。此外,gpu121被配置为使用gpu121的并行吞吐量体系架构提供通用处理,以更高效地取回和执行存储在存储器123中的编程指令以及还存储和取回驻留在存储装置124中的应用数据。并行吞吐量体系架构提供数千个核心用于处理应用和输入数据。因此,gpu121利用数千个核心以大规模并行方式执行读操作和写操作。利用gpu121的并行计算元件允许行为识别系统100更好地处理大量的传入数据(例如,来自视频和/或音频源的输入)。因此,行为识别系统100可以以相对较小的难度进行扩展。

传感器管理模块130提供一个或多个数据收集器组件。收集器组件中的每一个与特定输入数据源(例如,视频源、scada(监督控制和数据采集)源、音频源等)相关联。收集器组件以指定的时间间隔(例如,每分钟一次、每三十分钟一次、每三十秒一次等)从每个源取回(或接收,取决于传感器)输入数据。传感器管理模块130控制数据源之间的通信。此外,传感器管理模块130对输入数据进行标准化,并将标准化数据发送到感测记忆组件135。

感测记忆组件135是将大量数据从传感器管理模块130转移到机器学习引擎140的数据存储库。感测记忆组件135将数据存储为记录。每个记录可以包括标识符、时间戳和数据有效载荷。此外,感测记忆组件135以时间排序的方式聚合传入数据。将来自数据收集器组件中的每一个的传入数据存储在数据可在其中聚合的单个位置中允许机器学习引擎140高效地处理数据。此外,计算机系统115可以在生成用于异常活动的警报中参考存储在感测记忆组件135中的数据。在一个实施例中,感测记忆组件135可以经由存储器123中的虚拟存储器文件系统来实现。在另一个实施例中,使用键-值共享来实现感测记忆组件135。

机器学习引擎140接收从传感器管理模块135输出的数据。一般而言,机器学习引擎140的组件生成标准化向量的语言表示。如下面进一步描述的,为了这样做,机器学习引擎140对具有相似特征的标准化值进行簇集(cluster),并向每个簇分配不同的符号。机器学习引擎140然后可以识别数据中重现的符号组合(即,单词)。然后,机器学习引擎140类似地识别数据中重现的单词组合(即,短语)。

然而,要注意的是,图1仅仅示出行为识别系统100的一个可能的布置。例如,虽然输入数据源105被示为经由网络110连接到计算机系统115,但是并不总是存在或需要网络110(例如,诸如视频相机的输入源可以直接连接到计算机系统115)。

图2示出根据一个实施例的行为识别系统的系统体系架构。如所示的,传感器管理模块130和机器学习引擎140经由持久层210进行通信。

持久层210包括维护由计算机系统115的组件使用的信息的数据存储库。例如,持久层210包括维护描述数据收集器模块202的属性、系统属性(例如,计算机系统115的序列号、可用存储器、可用容量等)以及源驱动器的属性(例如,与每个数据源相关联的活动传感器、活动插件118、标准化设置等)的信息的数据存储库。其它数据存储库可以维护学习模型信息、系统事件和行为警报。此外,感测记忆组件135驻留在持久层210中。

机器学习引擎140本身包括神经语言模块215和认知模块225。神经语言模块215执行对标准化输入数据的基于神经网络的语言分析,以构建观察到的输入数据的神经语言模型。行为识别系统可以使用语言模型来描述后续观察到的活动。然而,神经语言模块215不是基于预定义的对象和动作来描述活动,而是基于从输入数据生成的符号、单词和短语来开发自定义语言。如所示的,神经语言模块215包括数据事务存储器(dtm)组件216、分类分析器组件217、映射器组件218、词法分析器组件219和感知联想记忆(pam)组件220。

在一个实施例中,dtm组件216从感测记忆组件135取回输入数据的标准化向量,并在由gpu121提供的流水线体系架构中对输入数据进行分级(stage)。分类分析器组件217评估由dtm组件216组织的标准化数据并将数据映射到神经网络上。在一个实施例中,神经网络是自组织映射(self-organizingmap,som)和自适应共振理论(adaptiveresonancetheory,art)网络的组合。

映射器组件218基于彼此关联地重复出现的值对数据流进行簇集。此外,映射器组件218为每个输入特征生成簇集合。例如,假设输入数据对应于视频数据,那么特征可以包括位置、速度、加速度等。映射器组件218将为这些特征中的每一个生成单独的簇集合。映射器组件218基于簇集的输入数据来识别符号(即,构建字母的字母表)。具体而言,映射器组件218确定数据在每个簇中的统计分布。例如,映射器组件218确定值在簇中的分布的均值、方差和标准偏差。当更多的标准化数据被接收时,映射器组件218还更新这些统计信息。此外,每个簇可以与统计显著性分数相关联。给定簇的统计显著性随着接收到映射到该簇的更多数据而增加。此外,当映射器组件218随着时间的推移较不经常地观察到映射到簇的数据时,映射器组件218使该簇的统计显著性衰减。

在一个实施例中,映射器组件218将符号集合分配给具有统计显著性的簇。如果超过了映射到簇的输入数据的阈值量,那么该簇可以具有统计显著性。符号可以被描述为用于创建在对输入数据的神经语言分析中使用的单词的字母表的字母。符号提供属于给定簇的数据的“模糊”表示。

此外,映射器组件218是自适应的。即,随着从标准化数据生成的新簇随时间的推移被加强(从而导致这些簇相对于从输入数据显现的其它簇达到统计显著性的级别),映射器组件218可以识别与这些簇对应的新符号。映射器组件218在线学习,并且可以将相似的观察结果合并成更概括的簇。映射器组件218可以向结果得到的簇分配不同的符号。

一旦簇已经达到统计显著性(即,观察到的作为映射到该簇的数据已经达到点数的阈值量),映射器组件219就响应于映射到该簇的标准化数据开始向词法分析器组件219发送对应的符号。在一个实施例中,映射器组件218将可以被发送到词法组件219的符号限制到统计上最显著的簇。在实践中,输出分配给前32个簇的符号(即,字母)已表明是有效的。然而,其它数量(诸如前64个或前128个最频繁重现的簇)也可以证明是有效的。注意的是,随着时间的推移,最频繁观察到的符号可能由于簇的统计显著性的增加(或减少)而改变。因此,给定的簇有可能失去统计显著性。随着时间的推移,用于统计显著性的阈值可能增加,并且因此,如果观察到的映射到给定簇的数据的量不能满足阈值,那么该簇失去统计显著性。

在一个实施例中,映射器组件218评估每个符号的罕见性分数。罕见性分数基于随着时间的推移给定符号相对于输入数据流中观察到的其它符号的频率。随着神经语言模块215接收到附加的数据,罕见性分数可以随时间推移而增加或减少。

映射器组件218向词法分析器组件219发送符号(例如,字母)流、时间戳数据、罕见性分数和统计数据(例如,与给定符号相关联的簇的表示)。词法分析器组件219基于从映射器组件218输出的符号构建词典。在实践中,映射器组件218可能需要大约5000个观察结果(即,输入数据的标准化向量)以生成稳定的符号字母表。

词法分析器组件219从由映射器组件218传送的符号构建包括共现(co-occuring)符号的组合(例如,单词)的词典。词法分析器组件219识别从映射器组件218输出的字母和特征的重复共现并且计算该共现在整个符号流中出现的频率。符号的组合可以表示特定的活动、事件等。

在一个实施例中,词法分析器组件219限制词典中单词的长度,以允许词法分析器组件219识别若干可能的组合而不会不利地影响计算机系统115的性能。此外,词法分析器组件219可以使用基于级别的学习模型来分析符号组合以及学习单词。词法分析器组件219在递增的级别处学习单词直到最大符号组合长度,即,其中在第一级别处学习一个字母的单词,在第二级别处学习两个字母的单词,等等。在实践中,将单词限制为最多五个或六个符号已表明是有效的。

类似于映射器组件218,词法分析器组件219是自适应的。即,随着时间的推移,词法分析器组件219可以学习并生成词典中的单词。当词法分析器组件219随着时间的推移接收到后续的符号流时,词法分析器组件219还可以使词典中的单词的统计显著性加强或衰减。此外,词法分析器组件219可以基于单词在数据中有多频繁地重现来确定每个单词的罕见性分数。随着神经语言模块215处理附加的数据,罕见性分数可以随时间的推移而增加或减少。

此外,当附加的观察结果(即,符号)被传递到词法分析器组件219并被识别为是给定的单词的一部分时,词法分析器组件219可以确定该单词模型已经成熟。一旦单词模型已经成熟,词法分析器组件219就可以将模型中的这些单词的观察结果输出到pam组件219。在一个实施例中,词法分析器组件219将被发送到pam组件320的单词限制为统计上最相关的单词。在实践中,对于每个单个样本,输出前32个最频繁出现的单词的出现已表明是有效的(而存储在模型中的最频繁出现的单词可以数量达到数千个单词)。注意的是,随着时间的推移,最频繁观察到的单词可能由于传入字母的观察结果的频率变化(或者由于映射器组件218对输入数据进行簇集而显现新的字母)而改变。

一旦词法分析器组件219已经构建词典(即,识别出已经达到预定义的统计显著性的单词),词法分析器组件219就将在输入流中后续观察到的单词的出现发送到pam组件220。pam组件220从由词法分析器组件219输出的单词构建短语的句法。在实践中,词法分析器组件219可以在接收到大约15000个观察结果(即,来自映射器组件218的输入字母)之后构建出有用的单词词典。

pam组件220基于从词法分析器组件219输出的单词的序列来识别短语的句法。具体而言,pam组件220接收由词法分析器组件219识别出的单词、生成连接图,其中图的节点表示单词,并且边表示单词之间的关系。pam组件220可以基于单词在数据流中彼此连接的频率使链接加强或衰减。

类似于映射器组件218和词法分析器组件219,pam组件220基于短语在语言数据中有多频繁地重现来确定每个识别出的短语的罕见性分数。随着神经语言模块215处理附加的数据,罕见性分数可以随着时间的推移而增加或减少。

类似于词法分析器组件219,pam组件220可以限制给定短语的长度,以允许pam组件220能够识别若干可能的组合而不会不利地影响计算机系统115的性能。

pam组件220通过从词法分析器组件219输出的单词的观察结果来识别句法短语。随着单词的观察结果累积,pam组件220可以确定给定的短语已经成熟,即,短语已经达到统计相关性的度量。pam组件220然后将该短语的观察结果输出到认知模块225。pam组件220将包括符号流、单词、短语、时间戳数据、罕见性分数和统计计算结果的数据发送到认知模块325。在实践中,pam组件220可以在从词法分析器组件219观察到大约5000个单词之后获得有意义的短语集合。

在成熟之后,生成的字母、单词和短语形成输入数据的稳定神经语言模型,计算机系统115使用该模型将字母、单词和短语的后续观察结果与稳定模型进行比较。当接收到新的数据时,神经语言模块215更新语言模型。此外,神经语言模块215可以将当前观察到的句法与模型进行比较。即,在构建稳定的字母集合之后,神经语言模块215可以构建稳定的单词模型(例如,词典)。继而,神经语言模块215可以用于构建稳定的短语模型(例如,句法)。此后,当神经语言模块215后续接收到标准化数据时,模块215可以输出符号、单词和短语的有序流,所有这些可以与稳定模型进行比较,以识别感兴趣的模式或检测在输入数据流中出现的偏差。

如所示的,认知模块226包括工作空间226、语义记忆(sematicmemory)230、小代码(codelet)模板235、情景记忆(episodicmemory)240、长期记忆(longtermmemory)245和异常检测组件250。情景记忆230存储上述的稳定神经语言模型,即,来自映射器组件218、词法分析器组件219以及pam组件220的稳定副本。

在一个实施例中,工作空间226为机器学习引擎140提供计算引擎。工作空间226执行计算(例如,异常建模计算)并存储来自计算的中间结果。

工作空间226从pam组件220取回神经语言数据,并根据需要将该数据传播(disseminate)到认知模块225的不同部分。

情景记忆240存储与刚过去的特定情景相关的语言观察结果,并且可以对诸如特定事件的“内容(what)”以及“时间(when)”之类的具体细节进行编码。

长期记忆245存储语言数据的概括结果(generalization),其中特定的情景细节被剥离。以这种方式,当出现新的观察结果时,来自情景记忆240和长期记忆245的记忆可以用于关联和理解当前事件,即,可以将新的事件与(如由先前观察到的语言数据表示的)过去的经验进行比较,从而导致存储在长期记忆245中的信息随着时间的推移而加强、衰减和调整。在特定实施例中,长期记忆245可以被实现为art网络和稀疏分布的记忆数据结构。然而,重要的是,这种方法不需要提前定义事件。

小代码模板235提供可执行的小代码或小代码片段的汇集,这些可执行的小代码或小代码片段评估不同的事件序列以确定一个序列可以如何跟随(或以其它方式关联到)另一个序列。小代码模板325可以包括确定性小代码以及随机性小代码。更一般而言,小代码可以从输入数据的语言表示中检测感兴趣的模式。例如,小代码可以将当前观察结果(即,具有过去已经观察到的内容的当前短语实例)与存储在语义记忆230中的先前观察到的活动进行比较。通过重复调度小代码以用于执行、将记忆和知觉复制到工作空间226/从工作空间226复制记忆和知觉,认知模块225执行用于观察和学习在语言数据内出现的行为模式的认知循环。

异常检测组件250评估由神经语言模块215发送的罕见性分数,以确定是否响应于由罕见性分数指示的一些异常活动而发出警报。具体而言,异常检测组件250提供表示罕见性分数的概率直方图模型(例如,罕见词汇表分数模型、罕见句分数法模型和异常模型)。罕见词汇表分数模型和罕见句法分数模型是基于从词法分析器组件219和pam组件220发送的罕见性分数而生成的。异常模型从罕见词汇表分数模型和罕见句法分数模型接收输入百分位数(percentiles),并基于这些百分位数生成绝对的罕见性分数。异常检测组件250评估这些分数并确定是否基于给定的分数发送警报。异常检测组件250可以向输出设备发送警报数据,管理员可以例如经由管理控制台在该输出设备处查看警报。

认知模块225通过将新观察结果与保留在语义记忆230中的稳定神经语言模型中的习得模式进行比较并且然后估计这些新观察结果的稀有性来对输送给语义记忆230的语言内容(即,识别出的符号、单词、短语)执行学习分析。

具体而言,异常检测组件250评估符号、单词和短语中的每一个的罕见性分数,以识别观察到的数据中的异常出现。一旦已经识别出异常观察结果,异常组件就可以发出警报(例如,通知计算机系统115的用户或管理员)。

图3示出根据一个实施例的用于收集用在神经语言行为识别系统中的传感器数据的方法300。更具体而言,方法300描述用于数据收集器从相关联的输入设备取回数据并将数据发送到神经语言模块215的方法。针对此示例,假设数据收集器模块202是以给定的帧速率捕捉图像数据的视频源。当然,可以使用各种数据收集器组件202。

方法300在步骤305处开始,其中数据收集器模块202从源输入设备取回(或接收)数据。在这种情况下,数据收集器模块202可以从视频源(诸如被定位成观察诸如宾馆大厅的特定位置的视频相机)取回视频帧。此外,数据收集器模块202识别要发送到感测记忆组件135的数据值。为了这样做,数据收集器模块202可以评估视频帧以将前景对象与背景对象分离、测量识别出的前景对象的外观和运动信息,并且跟踪横跨场景(即,相机的视野)移动的前景对象。因此,数据收集器模块202生成描述视频帧中描绘的对象的外观和运动方面的特征的数据值集合。

在步骤310处,数据收集器模块202将每个数据值相对于该数据值的类型标准化为落入在范围内(例如,在0到1之间,包括0和1)的数值。例如,与运动特征相关联的值相对于与运动特征相关联的其它值被标准化为从0到1。这样做将每个值转换成公共格式并且允许神经语言模块215辨识视频流中的重现事件。

在对值进行标准化之后,在步骤315处,数据收集器模块202识别与标准化值相关联的附加数据,诸如给定值的时间戳、与值的数据类型(例如,运动特征、外观特征、地点、位置等)相关联的平均值、以及该数据类型的历史高值和历史低值。这样做允许数据收集器模块202在视频源被修改的情况下重新调整标准化。具体而言,数据收集器模块202参考识别出的历史值和平均值来重新调整标准化。

在步骤320处,数据收集器模块202将标准化值的向量和相关联的数据发送到感测记忆组件135。如所述的,感测记忆组件135存储标准化值和相关联的数据。然后,神经语言模块215可以从感测记忆组件135取回标准化值并在此后执行语言分析。

图4示出根据一个实施例的用于初始化pam组件220的方法400。方法400在步骤405处开始,其中pam组件220接收来自词法分析器组件219的单词的观察结果的流。如所述的,词法分析器组件219通过评估映射器组件218输出的符号的分组的统计频率来生成单词。当符号分组(再次地,是单词)出现时,词法分析器组件219识别统计相关的符号组合(即,单词),并将单词输出到pam组件220。如所述的,符号、单词和短语被识别,以构建符号、单词和短语在流中被共同观察到(即,统计相关)的频率的统计模型。

在步骤410处,pam组件220评估共现单词的统计信息。这种统计信息可以包括pam组件220有多经常地观察到每个单词与其它单词共现。在一个实施例中,统计信息可以包括统计显著性分数,该统计显著性分数是根据给定单词与由词法分析器组件219传入的另一个单词有多频繁地共现而确定的。为了确定每个单词有多频繁地与其它单词一起被观察到,pam组件220可以生成基于共现来布置每个单词的矩阵。

在步骤420处,pam组件220生成连接图。连接图中的每个节点表示由词法组件219输出的单词之一。无向边连接节点以指示以相对频率共现的单词之间的关系。此外,边可以基于单词之间的显著性分数进行加权。连接节点的串可以表示行为识别系统用于对输入到神经语言模块210、(由映射器组件217)簇集成符号并且(由词法组件)解析成单词的数据进行描述的短语。

随着时间的推移,pam组件220可以从词法分析器组件219接收单词的附加观察结果。当统计显著性分数增加时,例如,当pam组件220观察到彼此共现的两个单词的后续实例时,pam组件220可以加强给定的边。此外,当随着时间的推移出现较少的观察结果时(即,当随着时间的推移统计显著性分数减少时),pam组件220可以消除边。

图5示出根据一个实施例的由pam组件220生成的示例连接图500。当词法分析器组件219初始地向pam组件220输出单词流时,pam组件220生成连接图500。

节点(由圆圈表示)表示由词法分析器组件219发送的识别出的单词。连接节点的无向边表示pam组件220已经观察到连接的单词在单词流中共现。此外,边可以基于两个共现单词之间的统计显著性分数进行加权。此外,pam组件220可以分别基于统计显著性分数增加或减少来加强或衰减边。例如,如果pam组件220观察到两个单词之间还有的共现,那么统计显著性分数可以增加。作为增加的结果,pam组件220可以加强连接图中两个单词的边。

图500建立由pam组件220识别出的短语的句法。短语是可能基于以给定短语的顺序出现的每个单词的概率关系(通过连接图的给定路径)而在单词流中出现的单词的序列。pam组件220输出在由映射器输出的单词流中观察到的、含有具有超过给定阈值的统计显著性分数的共现单词的短语。此外,pam组件220可以将对由pam组件220输出的短语进行特征化的元数据发送到认知模块225。例如,pam组件200可以包括来自映射器组件218和词法分析器组件219的元数据,诸如由映射器组件218和词法分析器组件219发送的符号、单词以及相关联的统计信息。统一地,符号、单词、短语连同与观察到符号、单词和短语的频率相关的所有元数据以及由映射器和词法分析器组件分配的评分形成对输入数据进行描述的神经语言模型。继而,认知模块225分析神经语言模型来解释传入数据(例如,在识别正常行为和异常行为中)。

图6示出根据一个实施例的用于将由pam组件(在由词法组件提供的单词流中)观察到的短语发送到认知模块225的方法600。具体而言,方法600描述pam组件220在初始化之后(即,在初始地生成完全连接图之后)如何处理来自词法分析器组件219的传入单词。方法600在步骤605处开始,其中pam组件220开始从词法分析器组件219接收单词的观察结果的流。pam组件220观察接收到的单词之间的共现,例如,单词a在流中位于单词b旁边。pam组件220还可以用输入来识别新共现的单词。

在步骤610处,pam组件220更新与流中的每个观察结果相关联的共现统计信息。例如,如果在流中观察到一对共现单词,那么pam组件220可以增加这一对共现单词的统计显著性分数。作为另一个示例,可能在流中观察到先前未观察到共现的一对单词共现。如果是这样,那么pam组件220增加这对单词的统计显著性分数。

在步骤615处,pam组件220更新完全连接图。例如,pam组件220可以加强在图中统计显著性分数增加的部分处的边。此外,pam组件220可以向观察到的、已经达到统计相关性(例如,统计显著性分数已经超过阈值)的对添加边。

在步骤620处,pam组件220输出含有具有超过给定阈值的统计显著性分数的共现单词的短语。超过这种阈值可以指示给定短语是成熟的并且可以被发送到认知模块225。此外,pam组件220还可以附随短语发送符号、单词和相关联的统计信息。如所述的,这些符号、单词和短语形成行为识别系统用于对输入数据进行描述的神经语言模型。

本公开的一个实施例被实现为与计算机系统一起使用的程序产品。程序产品的(一个或多个)程序定义实施例(包括本文描述的方法)的功能,并且可以被包含在各种计算机可读存储介质上。计算机可读存储介质的示例包括(i)在其上永久存储信息的不可写存储介质(例如,计算机内的只读存储器设备,诸如可由光学介质驱动器读取的cd-rom或dvd-rom盘);(ii)在其上存储可改变信息的可写存储介质(例如,硬盘驱动器或软盘驱动器内的软盘)。当承载引导本公开的功能的计算机可读指令时,这种计算机可读存储介质是本公开的实施例。其它示例介质包括通过其信息被运送到计算机(诸如通过包括无线通信网络的计算机网络或电话网络)的通信介质。

一般而言,为了实现本公开的实施例而执行的例程可以是操作系统或具体应用、组件、程序、模块、对象或指令序列的一部分。本公开的计算机程序典型地由许多指令组成,这些指令将由本机计算机转换为机器可读格式并因此转换成可执行指令。此外,程序由变量和数据结构组成,这些变量和数据结构或者驻留在程序本地,或者可以在存储器或存储设备中找到。此外,本文描述的各种程序可以基于在本公开的特定实施例中为其实现这些程序的应用来识别。然而,应当领会的是,以下的任何特定程序命名法仅仅是为了方便而使用,并且因此本公开不应限于仅在由这种命名法识别和/或暗示的任何具体应用中使用。

如上所述,本文的实施例提供用于经由神经语言行为识别系统基于表示从源(例如,视频源、scada源、网络安全源等)输入的数据的单词的词典来确定句法的技术。符号、单词和句法形成用于对由行为识别系统观察到的输入数据进行描述的语言模型的基础。行为识别系统基于语言模型分析和学习行为,以区分观察到的数据中的正常活动和异常活动。有利地,这种方法不依赖于预定义的模式来识别行为和异常,而是通过观察场景并生成关于它观察到的内容的信息来学习模式和行为。

虽然前述内容针对本公开的实施例,但是可以在不脱离其基本范围的情况下设计本公开的其它实施例和进一步实施例,并且其范围由以下的权利要求来确定。

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