用于神经语言行为识别系统的词法分析器的制作方法

文档序号:26007538发布日期:2021-07-23 21:26阅读:70来源:国知局
用于神经语言行为识别系统的词法分析器的制作方法

本申请是申请日为2015年12月10日、题为“用于神经语言行为识别系统的词法分析器”的发明专利申请201580067524.5的分案申请。

本文描述的实施例一般而言涉及数据分析系统,并且更具体而言,涉及基于输入数据来构建要在神经语言行为识别系统中使用的单词的词典。



背景技术:

许多当前可用的监控和监视系统(例如,视频监控系统、scada系统等)被训练成观察特定的活动并且在检测到这些活动之后向管理员发出警报。然而,这种基于规则的系统需要提前了解要观察的动作和/或对象。这些活动可以被硬编码到底层应用中,或者系统可以基于任何提供的定义或规则对自己进行训练。换句话说,除非底层代码包括某些行为或规则的描述以用于为给定观察结果生成警报,否则系统不能识别这些行为。然而,这种基于规则的方法是死板的。即,除非给定的行为符合预定义的规则,否则该行为的发生可能不会被监视系统检测到。即使系统训练自己来识别行为,系统也需要为要识别的内容提前定义规则。

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



技术实现要素:

本文给出的一个实施例包括用于从基于输入数据的符号的组合构建单词的词典的方法。该方法一般地包括接收符号流。每个符号与从输入数据生成的向量簇相关联。该方法还包括基于具有一个或多个级别的分级学习模型从流中的符号的组合确定单词。每个级别指示要在该级别处识别的单词的长度。为在每个级别处识别出的单词评估统计信息。该方法还包括基于所评估的统计信息识别单词中具有统计显著性(statisticalsignificance)的一个或多个单词。

本文给出的另一个实施例包括存储指令的计算机可读存储介质,当指令在处理器上执行时,执行用于从基于输入数据生成的符号的组合构建单词的词典的操作。该操作本身一般地包括接收符号流。每个符号与从输入数据生成的向量簇相关联。该操作还包括基于具有一个或多个级别的分级学习模型从流中的符号的组合确定单词。每个级别指示要在该级别处识别的单词的长度。为在每个级别处识别出的单词评估统计信息。该操作还包括基于所评估的统计信息识别单词中具有统计显著性的一个或多个单词。

本文给出的还有的另一个实施例包括具有处理器和存储器的系统,存储器存储一个或多个应用程序,这一个或多个应用程序被配置为执行用于从基于输入数据生成的符号的组合构建单词的词典的操作。该操作本身一般地包括接收符号流。每个符号与从输入数据生成的向量簇相关联。该操作还包括基于具有一个或多个级别的分级学习模型从流中的符号的组合确定单词。每个级别指示要在该级别处识别的单词的长度。为在每个级别处识别出的单词评估统计信息。该操作还包括基于所评估的统计信息识别单词中具有统计显著性的一个或多个单词。

附图说明

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

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

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

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

图4进一步示出根据一个实施例的在图2中描述的词法分析器(lexicalanalyzer)组件。

图5示出根据一个实施例的用于处理表示输入数据的符号的方法。

图6示出根据一个实施例的用于从表示输入数据的符号流构建单词的词典的方法。

图7a、7b和7c示出根据一个实施例的在图2中描述的词法分析器组件的不同学习级别。

图8示出根据一个实施例的将单词输出到感知联想记忆(perceptualassociativememory)组件的示例。

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

具体实施方式

本文给出的实施例描述了行为识别系统。行为识别系统可以配置有从不同数据源收集原始数据值(例如,视频数据、构建管理数据、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可以给结果得到的簇分配不同符号的集合。

一旦簇已经达到统计显著性(即,观察到的作为映射到该簇的数据已经达到点数的阈值量),映射器组件218就响应于映射到该簇的标准化数据开始向词法分析器组件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组件220。在一个实施例中,词法分析器组件219将被发送到pam组件220的单词限制为统计上最显著的单词。在实践中,对于每个单个样本,输出最频繁出现的单词中的前32个单词的出现已表明是有效的(而存储在模型中的最频繁出现的单词可以数量达到数千个单词)。注意的是,随着时间的推移,最频繁观察到的单词可能由于传入字母的观察结果的频率变化(或者由于映射器组件218对输入数据进行簇集而显现新的字母)而改变。

一旦词法分析器组件219已经构建词典(即,识别出已经达到预定义的统计显著性的单词),词法分析器组件219就将在输入流中后续观察到的单词的出现发送到pam组件220。pam组件220从由词法分析器组件319输出的单词构建短语的句法。在实践中,词法分析器组件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。

在一个实施例中,工作空间226为机器学习引擎140提供计算引擎。例如,工作空间226可以从情景记忆240和长期记忆245取回具有统计相关性的语言数据(例如,在数据中频繁出现的短语)、选择要执行的小代码模板235等。此外,工作空间326从神经语言模块215接收符号、单词和短语(以及罕见性分数),并将这些数据存储在语义记忆230中。

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

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

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

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

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

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

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

图3示出根据一个实施例的用于收集用在神经语言行为识别系统中的传感器数据的方法300。更具体而言,方法300描述数据收集器如何从相关联的输入设备取回数据并将数据发送到神经语言模块215。为了更好地描述方法300,假设用于视频源的数据收集器模块202执行方法的步骤。当然,方法300可以适用于其它类型的数据收集器组件202。

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

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

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

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

图4进一步示出根据一个实施例的在图2中描述的词法分析器组件。如所述的,映射器组件219基于从给定源(例如,视频源)发送的数据生成符号流。说明性地,映射器组件218将符号流发送到词法分析器组件219。词法分析器组件219基于符号分组在流中出现的统计频率来构建单词(即,符号的组合)的词典。词法分析器组件219将统计上显著的单词输出到pam组件220。

如所示的,词法分析器组件219本身包括学习模型410、扩充算法415和生成算法420。如提及的,映射器组件218向词法分析器组件219发送符号流。当接收到符号流时,词法分析器组件219将符号输入到学习模型410。学习模型410提供用于评估符号以构建单词的词典的分级方案。即,学习模型410提供词法分析器组件219识别统计相关的单词的级别。

在初始级别处,词法分析器组件219识别具有超过给定阈值的统计显著性分数的一个符号的单词。在一个实施例中,词法分析器组件219基于统计显著性分数来确定哪些单词要包括在词典中。统计显著性分数还允许词法分析器组件219确定在更高级别的学习模型中要进一步评估哪些符号组合。此外,词法分析器组件219基于统计显著性分数来确定当生成统计模型时要考虑哪些单词。一旦识别出一个符号的单词,词法分析器组件219就前进到下一级别以使用具有超过阈值的统计显著性分数的一个符号的单词来识别具有两个符号长度的组合。为了这样做,词法分析器组件219调用扩充算法415,并将统计上显著的一个符号的单词作为输入提供给学习模型410。第二级别学习模型410从一个符号的单词导出两个符号的单词。词法分析器组件219确定统计上显著的两个符号的单词,并且再次递增级别从而以类似的方式导出三个符号的单词。词法分析器组件219对于每个级别以这种方式继续学习单词直到最高级别,在最高级别中,词法分析器组件219学习具有最大长度的单词。如所述的,在实践中,最大长度为五已表明是有效的。因此,在这种情况下,最高级别是第五级。

在一个实施例中,词法分析器组件219生成包括先前识别出的单词的概括结果的特征模型。具体而言,词法分析器组件219识别每个单词中的具体符号的特征。然后,词法分析器组件219可以基于识别出的特征来对符号组合进行抽象。生成特征模型允许词法分析器组件219在除了符号的特定组合之外还评估符号的一般组合的统计显著性。此外,特征模型允许词法分析器组件219从观察到的特征组合中识别异常符号。

在一个实施例中,词法分析器组件219调用生成算法420以生成相对于来自映射器的输入符号流具有统计显著性的已知单词。生成算法420将词典、符号和关联的统计信息输出到pam组件220。如所述的,pam组件220从词典生成句法。pam组件220从相对于彼此通常重现的单词识别短语。集体的符号、单词和短语提供输入数据的语言模型,这允许行为识别系统学习、理解和分析数据而无需初始化之前的对输入数据的任何预先概念(preconception)。

图5示出根据一个实施例的用于处理从输入数据生成的符号的方法。方法500在步骤505处开始,其中词法分析器组件219从映射器组件218接收符号流。如所述的,每个符号被分配给表示从源(例如,视频源、网络安全源等)输入的数据的标准化数值的簇。因此,在流中观察到的符号组合可以表示用于描述数据的单词。

在步骤510处,词法分析器组件219基于分级学习模型410来识别单词。学习模型410的每个级别对应于要从符号流识别的单词的长度。在每个级别处,词法分析器组件219评估每个识别出的单词的统计信息,诸如单词在符号流中出现的频率。词法分析器组件219使用这种统计信息来识别在给定级别处的每个候选单词的统计显著性分数。相对于图6进一步地描述步骤510。

在步骤515处,词法分析器组件219基于相对于从输入符号流抽象出的可能候选特征模式的完整集合在学习模型410中识别出的、具有超过给定阈值的统计显著性分数的、统计上显著的特征模式来生成单词的出现。例如,假设词法分析器组件219频繁地观察到给定的单词模式,即,特征模式。这种模式有可能具有超过阈值的统计显著性分数。相对于图7a、7b和7c提供了更详细的示例。在这种情况下,当在符号流中观察到单词模式时,词法分析器组件219生成该单词模式。在步骤520处,词法分析器组件219将符号、生成的单词和统计信息(例如,统计显著性分数、罕见性分数、出现频率、时间戳等)输出到pam组件220。pam组件220从单词导出用于进一步描述输入数据的短语。

图6示出根据一个实施例的用于从表示输入数据的符号流构建单词的词典的方法600。更具体而言,方法600描述了符号组合的分级学习。方法600在步骤605处开始,其中词法分析器组件219确定与学习模型410的当前级别对应的长度的单词(即,符号的组合)。如所述的,学习模型410的级别指示要在该级别处识别的单词的特定长度。例如,在第一级别处,词法分析器组件219可以识别具有一个符号的长度的单词。在第五级别处,词法分析器组件219可以识别长度为五的单词。在实践中,具有五个级别的学习模型410已经证明是有效的。

在步骤610处,当每个单词在当前输入窗口中出现时,词法分析器组件219评估该单词的统计信息。这种统计信息可以包括在流中出现的频率。这样做允许词法分析器组件219从输入流给出的完整组合可能情况中识别出最常见(和不常见)的单词。最常见的单词随后被概括以识别最常见的特征组合。在生成算法420中使用特征组合,由词法分析器组件219生成与这样的模式匹配的具体和未知单词。此外,词法分析器组件219可以加强(即,更新)先前识别出的单词的统计信息。

在一个实施例中,词法分析器组件219评估针对当前输入窗口观察到的每个候选单词的统计显著性分数。统计显著性分数可以基于词法分析器组件219有多经常地观察到给定单词。当在符号流中观察到每个单词时,词法分析器组件219使用该单词的统计显著性分数来确定要输出到pam组件220的罕见性分数。即,词法分析器组件219输出在输入流中观察到的单词附带指定的统计显著性分数。

类似地,词法分析器组件219基于词法分析器组件219在符号流中有多频繁地观察到单词来评估每个单词的罕见性分数。高罕见性分数指示该单词在符号流中不频繁被观察到。词法分析器组件219基于具体单词在历史数据中有多频繁地被观察到来确定罕见性分数。

在步骤615处,词法分析器组件219识别具有统计显著性的单词。如果词法分析器组件219已经在符号的输入流中相对频繁地观察到单词,那么该单词可能具有统计显著性。统计显著性可以基于频率,该频率是单词基于词典的最大大小相对于其它可识别的单词出现的频率。如所述的,词法分析器组件219基于识别出的具有统计显著性的特征模式(即,在符号流中频繁观察到的模式)来确定哪些单词要输出到pam组件220。例如,词法分析器组件219可以确定在符号流中经常观察到的特征模式可以具有超过阈值的统计显著性分数。

在步骤620处,词法分析器组件219确定是否已经达到最高级别。如果没有达到最高级别,那么词法分析器组件219通过调用扩充算法415来递增级别。词法分析器组件219将识别出具有超过阈值的显著性分数的单词输入到接下来的学习模型410。词法分析器组件219继续执行步骤605至620,直到已经识别出最高级别的单词。

在步骤625处,词法分析器组件219生成用于识别出的单词的特征模型。特征模型包括通过学习模型410识别出的统计上显著的单词的概括结果。为了对单词进行概括,词法分析器组件219识别每个单词中的符号并将每个符号抽象成其一般特征。例如,假设三个特征f1、f2和f3被映射器组件218识别出。进一步地,每个特征具有相关联的两个符号,使得f1={a,b},f2={c,d}并且f3={e,f}。假设词法分析器组件219频繁地观察到单词ac、bc和ce。因此,ac的经概括的特征组合为f1f2,bc的经概括的特征组合是f1f2,并且cd的经概括的特征组合为f2f3。所生成的特征模型允许词法分析器组件219评估在输入流中出现的经概括的单词的统计信息。此外,特征模型允许词法分析器组件219识别异常单词。例如,ad、bd和df分别映射到特征组合f1f2、f1f2和f2f3,但是如果不被频繁地观察到,那么仍然可以是异常的。

图7a至图7c示出根据一个实施例的在不同级别处学习单词的词法分析器组件219的示例。例如,图7a示出在第一级别处学习单词的词法分析器组件219的示例。说明性地,符号流{a,b,c,d,e,f}被传递到学习模型410中。在第一级别处,词法分析器组件219识别具有一个符号的长度的简单单词。说明性地,从学习模型410得到的输出是单词a、b、c、d、e和f。

进一步地,图7b示出基于第二级别的学习模型410识别单词的词法分析器组件219。在这样的示例中,词法分析器组件219识别具有两个符号的长度的单词。为了这样做,词法分析器组件219使用在较低级别处识别出的统计上显著的单词(即,单词a、b、c、d、e和f)作为输入来调用扩充算法415。说明性地,词法分析器组件219经由学习模型410识别出结果得到的统计上显著的单词集合,例如,ab、ad、ae等等。即,在第二级别处,学习模型从一个字母的单词识别出所有合理的组合,并且评估这些组合在流中出现的频率。即,扩充算法基于数学一致性标准来确定组合是否可行(viable)。频繁出现的单词具有统计显著性。在每个级别处,每个统计上显著的单词表示比在较低级别处识别出的单词更复杂的术语。

继续该示例,图7c示出基于第三级别的学习模型410来识别单词的词法分析器组件219。在该示例中,词法分析器组件219基于来自第一级别学习模型410和第二级别学习模型410的输入单词来识别具有两个符号的长度的单词。词法分析器组件219调用扩充算法415。说明性地,词法分析器组件219经由学习模型410识别出结果得到的统计上显著的单词集合,例如,adb、abe等等。每个识别出的单词表示比在较低级别处识别出的单词更复杂的术语。

图8示出根据一个实施例的用于将单词输出到感知联想记忆组件220的示例。如所述的,映射器组件218将符号流发送到词法分析器组件219。说明性地,词法分析器组件219接收符号流{a,b,c,d,e,f}。词法分析器组件219通过分级学习模型410确定统计相关的单词(即,符号的组合)。一旦确定了统计相关的单词,词法分析器组件219就调用生成算法420。

在一个实施例中,生成算法419将统计相关的单词、符号和相关联的统计信息(例如,统计显著性分数、频率、罕见性分数)输出到pam组件220。在该示例中,单词{a,ab,adb,...}是输出。

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

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

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

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

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