CN105701118A - 用于归一化文件的非数值特征的方法和装置 - Google Patents
用于归一化文件的非数值特征的方法和装置 Download PDFInfo
- Publication number
- CN105701118A CN105701118A CN201410708694.4A CN201410708694A CN105701118A CN 105701118 A CN105701118 A CN 105701118A CN 201410708694 A CN201410708694 A CN 201410708694A CN 105701118 A CN105701118 A CN 105701118A
- Authority
- CN
- China
- Prior art keywords
- word
- file
- weight
- sequence
- positive example
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Abstract
本发明公开了一种用于归一化文件的非数值特征的方法和相应装置,该方法包括:将给定文件的非数值特征的至少一对正例切分为若干单词;通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
Description
技术领域
本发明涉及计算机领域,具体涉及一种用于归一化文件的非数值特征的方法和装置。
背景技术
大多数现代软件使用配置文件向用户提供灵活性,使用户能基于其特定使用场景定制配置项。例如,用户可以在配置文件httpd.conf中定制配置项MaxClients(最大客户数)的值,来调整同时连接到ApacheHTTP服务器的客户的最大数量。
一些日常的IT操作,例如应用或数据备份和恢复、工作负荷迁移、文件灾难恢复等,正变得更复杂和有挑战性,因为它们高度依赖于分布式环境中配置文件的识别。因此,存在着巨大的需求,来从现有环境中识别这些配置文件以完成这些常见的IT操作。
由于配置文件的变化性、存储位置分散性以及巨大数量,识别配置文件是非常有挑战性、劳动密集和易错的。目前用于配置文件发现的解决方案高度依赖于广泛的专家知识或高强度的人类交互。
一种可设想的自动识别配置文件的方法是使用分类器(classifier)。分类器是一种算法或相应装置,其可在使用训练数据进行学习之后,根据某一对象的特征值的组合确定该对象是否属于特定类。因此,可设想由分类器根据一文件的路径、访问权限、大小等元数据判断该文件是否属于配置文件。然而,由于分类器只能接收数值特征作为输入,而不能接收非数值特征,因此,诸如文件路径等配置文件的非数值特征并不能由分类器用来进行配置文件的识别。
可见,本领域中需要一种能够将配置文件等文件的非数值特征归一化为数值特征以便进行配置文件识别的解决方案。
发明内容
在本发明的一个方面,提供了一种用于归一化文件的非数值特征的方法,包括:将给定文件的非数值特征的至少一对正例(positiveinstance)切分为若干单词(token);通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
在本发明的另一个方面,提供了一种用于归一化文件的非数值特征的装置,包括:单词切分模块,被配置为将给定文件的非数值特征的至少一对正例切分为若干单词;单词匹配模块,被配置为通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及单词库构建模块,被配置为针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
本发明的技术方案能够将诸如文件路径等文件的非数值特征归一化为可作为分类器的输入的数值特征,从而有助于有效地自动识别诸如配置文件等文件。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1A示出了根据本发明的实施例的用于归一化文件的非数值特征的方法;
图1B更详细地示出了根据本发明的实施例的用于归一化文件的非数值特征的方法的过程;
图2示出了一组示例性文件元数据的正例;
图3示出了将配置文件路径实例切分为单词、比较单词以获得匹配单词及其匹配分数的列表、以及构成单词序列的示例;
图4示出了由给定文件的元数据的一组正例获得单词及单词序列、并进而形成单词库的示例;
图5示出了将测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配和计算的示例;
图6示出了将测试文件路径中的单词和单词序列与单词库中的单词和单词序列进行匹配从而获得该测试文件的最大匹配分数的示例;
图7示出了根据本发明的实施例的用于归一化文件的非数值特征的装置;以及
图8示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明的主要思想在于,考虑到同一类配置文件的文件路径等文件元数据(metadata)在不同环境和系统中的差异不是随机的,而是具有结构性的,比如文件路径具有层级结构与局部相同性,而充分利用文件元数据的这种内在特征,从文件路径等元数据的字符串中提取单词(token),建立单词库,计算文件元数据的相似度,从而将文件元数据的非数据特征归一化为数值特征,以进行配置文件的识别。
现参照图1A,其示出了根据本发明的实施例的用于归一化文件的非数值特征的方法。如图所示,该方法包括以下步骤:
在步骤110,将给定文件的非数值特征的至少一对正例切分为若干单词。
在步骤120,通过将所述至少一对正例中的单词进行比较获得匹配的单词。
在步骤130,针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
现参照图1B,其更详细地示出了根据本发明的实施例的用于归一化文件的非数值特征的方法的过程。
如图所示,在步骤101,获取给定文件的非数值特征的一组正例,即该给定文件在不同环境中的非数值的元数据,这些元数据已被确知属于该给定文件。该给定文件例如为特定配置文件或包含特定配置项的配置文件,该非数值的元数据例如为该配置文件的文件路径。
图2示出了一组示例性的文件元数据的正例。如图2中所示,所述文件元数据的正例为用于配置项“WASCellName”的文件元数据的正例,即包含该配置项的配置文件在各种环境下的文件路径、访问权限、访问时间等元数据。例如,作为配置文件的非数值特征的文件路径的正例包括:
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/bpm03Cell01/cell.xml,
/opt/IBM/WebSphere/Profiles/DefaultDmgr01/config/cells/TradeCell/cell.xml,
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/localhostNode01Cell/cell.xml等。
返回图1B,在步骤102,将所述给定文件的非数值特征的一组正例(例如文件路径)切分为单词。该步骤可利用给定文件的该非数值特征本身的结构特征来进行,例如,可以利用符号“/”将每个文件路径正例切分为不同单词。
在步骤103,将各对正例中的单词进行比较获得匹配的单词及匹配分数。也就是说,将每个正例与至少一个其他正例配对,或者将任何两个正例进行配对,并对于每对正例,将一个正例中的每个单词与另一个正例中的每个单词进行比较,从而获得相匹配的单词对。这种比较和匹配可采用编辑距离等方法进行,其中,计算一个正例中的一个单词与另一个正例中的每个单词的匹配分数,选择匹配分数最大的单词作为与该单词匹配的单词,从而获得相匹配的单词对及其匹配分数。
在步骤104,从在步骤103中生成的匹配的单词对及其匹配分数中去除匹配分数小于指定阈值的单词对。
在可选步骤105,由在步骤104中形成的各匹配单词对中的各单词形成单词序列,所述单词序列应当是原正例中的片段。也就是说,将更新列表中的各匹配单词进行任意组合,判断每个组合是否同时是原正例中的片段,如果是,则该组合形成所述匹配的单词序列。
图3示出了将配置文件路径实例切分为单词、获得匹配单词及其匹配分数的列表、以及构成单词序列的示例。
图3中示出了同一个配置文件的两个正例,其中,文件路径正例/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/vm81Node01Cell/nodes/vm81Node01/resources.xml被切分为单词组T1:opt、IBM、WebSphere、AppServer、profiles、AppSrv、config、cells、Node、Cell、nodes、Node、resources,且文件路径正例/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/TradeCell/resources.xml被切分为单词组T2:opt、IBM、WebSphere、AppServer、profiles、Dmgr、config、cells、TradeCell、resources。
然后,对于单词组T1中的每个单词,将其与单词组T2中的各个单词进行匹配,计算匹配分数,获得T2中匹配分数最大的单词,从而形成匹配的单词对。在这些匹配的单词对中,T1中的opt与T2中的opt等完全匹配,其匹配分数为1。T1中的单词Node、nodes和Node没有在T2中找到匹配项,因此匹配分数为空。而T1中的单词appsrv与T2中的单词dmgr的匹配分数为0.167,由于其小于指定阈值0.3,因此这对单词被排除。最后得到的匹配单词组为:opt、IBM、WebSphere、AppServer、profiles、config、cells、cell、resources、tradecell。
然后,将所述匹配单词列表中的单词进行任意组合,并与原路径进行比较,从而获得若干单词序列,例如opt/ibm/websphere/appserver/profiles、config/cells、config/cells/tradecell/resources等。
返回图1B,在步骤106,针对在步骤104中生成的每一个单词和在步骤105中生成的每一个单词序列(如有),计算该单词或单词序列匹配该给定文件的权重,并存储在单词库中。该权重表示该单词或单词序列在多大程度上代表该给定文件,换言之,当一文件元数据包含该单词或单词序列时,有多大可能该文件元数据是该给定文件的元数据。
可以有多种方法来计算所述权重。在本发明的一实施例中,使用以下公式来计算一单词或单词序列匹配给定文件的权重:
在以上公式中,weight表示要计算的权重,count表示该单词或单词序列在所述一组正例中的出现次数,count_coefficient表示用于出现次数的指定系数,max_count表示所述一组正例中的正例数,length表示该单词或单词序列的单词长度,即该单词或单词序列包含的单词数,length_coefficient表示用于单词长度的指定系数,max_length表示其所属正例的单词长度即该正例包含的单词数,position表示该单词或单词序列在其正例中的相对位置,position_coefficient表示用于位置的指定系数,其中,所述count_coefficient、length_coefficient和position_coefficient的和等于1。所述count_coefficient、length_coefficient和position_coefficient可以由用户根据其对单词或单词序列的出现次数、单词长度和位置在匹配给定文件时的重要性的判断来指定,其中越重要的因素,相应系数也越大。所述相对位置position例如可以由正例中该单词或单词序列之前的单词数或者该单词数与正例中总的单词数的比值来表示。
该公式同时考虑了单词或单词序列的出现次数、长度和位置在匹配给定文件时的作用。其意义在于,一个单词或单词序列在给定文件元数据的正例中出现的次数越大、长度越大且位置越靠后,则该单词或单词序列越能够匹配该给定文件。
当然,在本发明的一些实施例中,可以仅根据单词或单词序列的出现次数、长度和位置这三者中的任何一个或两个来计算该单词或单词序列匹配给定文件的权重。也就是说,可以使用以下三个公开中的任何一个或两个来计算单词或单词序列匹配给定文件的权重:
weight=position_coefficient·position,
然后,可以将每个单词和单词序列及其权重相关联地存储起来,例如存储在一单词库中。可选地,也可将每个单词和单词序列的出现次数、长度和位置也一起相关联地存储起来。
图4示出了由给定文件的元数据的一组正例获得单词及单词序列、并进而形成单词库的示例。如图4中所示,由给定文件的路径的一组正例获得单词和单词序列/opt、/ibm、/opt/ibm/websphee/appserver/profiles等,然后计算每个单词和单词序列的权重,并将每个单词和单词序列以及其出现次数、长度、位置和权重相关联地存储在单词库中。例如,/opt[462(c),1(l),0.133333(p),0.013202(w)]表示单词/opt在正例中的出现次数为462,其长度为1,其位置为0.133333,其权重为0.013202;/opt/ibm/websphere/appserver/profiles/cells/bpm/cell/cell[17(c),9(l),0.133333(p),0.004372(w)]表示单词序列/opt/ibm/websphere/appserver/profiles/cells/bpm/cell/cell在正例中的出现次数为17,长度为9,位置为0.133333,权重为0.004372,等等。
这样,就构建了单词库,完成了数据训练过程。此后,可使用所形成的单词库来识别测试文件或将其非数值元数据归一化为数值特征。
此外,在构建了单词库之后,可以进一步使用新的数据进行训练。也就是说,响应于获得了给定文件元数据的新的正例,可以使用这些新的正例来充实和更新所述单词库。在这种情况下,与上述过程类似,可首先将新的正例切分为单词。然后,可以将每个新的正例中的单词与其他正例中的单词进行比较和匹配,或者将新的正例中的单词与单词库中的各单词进行比较和匹配,计算其最大匹配分数,去除最大匹配分数小于指定阈值的单词,并由剩余单词形成作为所述新的正例中的片段的单词序列,然后与单词库中匹配的单词和单词序列及其出现次数等数据结合起来,以新的出现次数等重新计算每个单词和单词序列匹配给定文件的权重,并更新单词库中相应单词和单词序列的出现次数、权重等。
返回图1B,在可选步骤107,响应于接收到测试文件的非数值特征的测试实例,将该测试实例切分为若干单词和单词序列。
在可选步骤108,通过将该测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配计算该测试实例匹配给定文件的分数。所述分数将作为测试文件的非数值特征的归一化的数值特征。
在本发明的一实施例中,可采用以下具体步骤来将测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配和计算:
在步骤801,获得该测试实例的由单词和单词序列构成的不同组合方式;
在步骤802,将每种组合方式下的每个单词和单词序列与单词库中的单词及单词序列进行比较,获得单词库中最相似的单词或单词序列,以及其相似度和所述权重。所述相似度可使用编辑距离等方式计算。
在步骤803,对于每种组合方式,根据其单词和单词序列的最相似单词或单词序列的相似度和权重,计算该组合方式的权重。具体地,可将一种组合方式下的每个单词和单词序列的最相似单词或单词序列的相似度与权重相乘,然后将各个乘积相加得到该种组合方式的权重。
最后,在步骤804,获得不同组合方式中的最大权重,作为该测试实例在该非数值特征上的归一化的数值。
图5示出了将测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配和计算的示例。
如图5中所示,待测试实例为/etc/setlinux/targeted/modules/active/base,其被切分为单词etc、setlinux、targeted、modules、active、base。
然后,获得由这些单词及其序列构成的不同组合方式,例如第1行的组合方式为单个单词序列“etcsetlinuxtargetedmodulesactivebase”,第2行的组合方式为单词序列“etcsetlinuxtargetedmodulesactive”和单词“base”,第3行的组合方式为单词“etc”和单词序列“setlinuxtargetedmodulesactivebase”,等等。
然后,针对每种组合方式,将该组合方式下的单词及单词序列分别与单词库中的单词及单词序列进行比较,获得单词库最相似的单词和单词序列的相似度和权重。例如,将第2行的组合方式中的单词序列“etcsetlinuxtargetedmodulesactive”和单词“base”分别与单词库中的单词和单词序列进行比较,获得单词库中的最相似的单词序列“etcsetlinuxtargetedmodulesactive”和单词“base”的相似度和权重。
然后,根据每种组合方式的单词和单词序列的最相似单词或单词序列的相似度和权重,计算该组合方式的权重。例如,对于第二行的组合方式,根据单词库中“etcsetlinuxtargetedmodulesactive”的相似度和权重以及单词“base”的相似度和权重,计算第二行的组合方式的权重。例如,将单词库中“etcsetlinuxtargetedmodulesactive”的相似度和权重的乘积与以及“base”的相似度和权重的乘积相加,获得第二行的组合方式的权重。这样,每种组合方式都会得到一个权重。
最后,获取各组合方式的权重中最大的权重,作为该测试实例匹配该给定文件的分数。
图6示出了将测试文件路径中的单词和单词序列与单词库中的单词和单词序列进行匹配从而获得该测试文件的最大匹配分数的示例。如图6中所示,测试文件路径为/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/localhostNode01Cell/cell.xml,将其切分为不同单词及单词序列的组合后,单词序列“/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/localhostNode01Cell”和单词“cell”的组合分别与单词库中的单词序列“/opt/ibm/websphere/appserver/profiles/appsrv/config/cells/cell”和单词“cell”最相似,且权重分别为0.003307和0.136520,根据所述权重和相似度可获得该测试文件的匹配分数为0.0920。
通过以上步骤获得的测试实例匹配给定文件的分数可以作为该测试文件的数值特征,从而将该测试文件的非数值特征归一化为数值特征。
测试文件的该分数可被用来判断该测试文件是否是所述给定文件。例如可以考虑,如果该分数大于或等于一给定阈值,则判断该测试文件是所述给定文件;如果该分数小于一给定阈值,则判断该测试文件不是所述给定文件。
在本发明的一些实施例中,测试文件的分数被提供给分类器作为输入,由分类器根据该分类以及测试文件的其他特征来判断该测试文件是否是给定文件。
该方法可用于自动识别配置文件,也可用于自动识别其他类型的文件。
以上参照附图描述了根据本发明的实施例的用于归一化文件的非数值特征的方法。应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和图示的不同。例如,在本发明的一些实施例中,该方法可以不包括所述由匹配单词形成单词序列的可选步骤105,且相应地,在所述步骤106,仅针对在步骤104中生成的每一个单词计算该单词匹配该给定文件的权重,并存储在单词库中。再例如,在本发明的一些实施例中,该方法可以不包括所述可选步骤107和108。
现参照附图7,其示出了根据本发明的实施例的用于归一化文件的非数值特征的装置。该装置的各模块的操作对应于上述方法中的各步骤,为简明起见,在以下对该装置的描述中省略了与以上描述重复的部分细节,因此,可参照以上描述获得对该装置的更详细的了解。
如图所示,该用于归一化文件的非数值特征的装置700包括:
单词切分模块701,被配置为将给定文件的非数值特征的至少一对正例切分为若干单词;
单词匹配模块702,被配置为通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及
单词库构建模块704,被配置为针对每个所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
根据本发明的实施例,该装置700还包括:
可选的单词序列构成模块703,被配置为由匹配的单词构成作为正例的片段的单词序列;以及
所述单词库构建模块704,还被配置为针对每个所述单词序列,计算其匹配该给定文件的权重,并将所述单词序列及其权重存储在单词库中。
根据本发明的实施例,该装置700还包括:
所述单词切分模块701,还被配置为响应于接收到测试文件的非数值特征的测试实例,将该测试实例切分为若干单词和单词序列;以及
归一化模块705,被配置为通过将该测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配计算该测试实例匹配给定文件的分数,作为所述测试文件的非数值特征的归一化的数值特征。
根据本发明的实施例,所述将各个正例切分为若干单词,以及将测试实例切分为若干单词和单词序列,是利用所述非数值特征的结构特点进行的。
根据本发明的实施例,所述单词匹配模块702包括:
单词匹配分数计算子模块,被配置为计算一个正例中的每个单词与另一个正例中的各单词之间的最大匹配分数;
单词选择子模块,被配置为选择最大匹配分数大于给定阈值的单词,从而获得所述匹配的单词。
根据本发明的实施例,所述单词库构建模块704包括:
权重计算子模块,被配置为根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的单词位置中的至少一个,计算其匹配该给定文件的权重,其中,所述出现次数越大、单词长度越大或单词位置越靠后,则权重越大。
根据本发明的实施例,所述根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的位置中的至少一个,计算其匹配该给定文件的权重是使用以下公式中的至少一个进行的:
weight=position_coefficient·position,
其中,weight表示要计算的权重,count表示该单词或单词序列在所述一组正例中的出现次数,count_coefficient表示用于出现次数的指定系数,max_count表示所述一组正例中的实例数,length表示该单词或单词序列的单词长度,length_coefficient表示用于单词长度的指定系数,max_length表示其所属正例的单词长度,position表示该单词或单词序列在其正例中的相对位置,position_coefficient表示用于位置的指定系数,其中,所述count_coefficient、length_coefficient和position_coefficient的和为零。
根据本发明的实施例,所述归一化模块705包括:
单词及序列组合子模块,被配置为获得该测试实例的由单词和单词序列构成的不同组合方式;
单词库比较子模块,被配置为将每种组合方式下的每个单词和单词序列与单词库中的单词及单词序列进行比较,获得单词库中最相似的单词或单词序列,以及其相似度和所述权重;
权重计算子模块,被配置为对于每种组合方式,根据其单词和单词序列的最相似单词或单词序列的相似度和权重,计算该组合方式的权重;以及
最大权重选择子模块,被配置为选择不同组合方式中的最大权重,作为该测试实例匹配给定文件的分数。
根据本发明的实施例,该装置600还包括:
判断模块(未示出),其被配置为根据该测试文件的归一化的数值特征判断该测试文件是否是所述给定文件。
根据本发明的实施例,所述判断模块为分类器。
根据本发明的实施例,所述给定文件是配置文件。
根据本发明的实施例,所述非数值特征是文件路径。
以上参照附图描述了根据本发明的实施例的用于归一化文件的非数值特征的装置。应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的模块,且各模块之间的连接、包含、功能等关系可以与所描述和图示的不同。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(articleofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图8示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图8显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (24)
1.一种用于归一化文件的非数值特征的方法,包括:
将给定文件的非数值特征的至少一对正例切分为若干单词;
通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及
针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
2.根据权利要求1的方法,还包括:
由所述匹配的单词构成作为正例的片段的单词序列;以及
针对所述单词序列,计算其匹配该给定文件的权重,并将所述单词序列及其权重存储在单词库中。
3.根据权利要求2的方法,还包括:
响应于接收到测试文件的非数值特征的测试实例,将该测试实例切分为若干单词和单词序列;
通过将该测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配计算该测试实例匹配给定文件的分数,作为所述测试文件的非数值特征的归一化的数值特征。
4.根据权利要求1至3中任何一个的方法,其中,所述将正例切分为若干单词,是利用所述非数值特征的结构特点进行的。
5.根据权利要求1至3中任何一个的方法,其中,所述通过将所述至少一对正例中的单词进行比较获得匹配的单词包括:
计算一个正例中的每个单词与另一个正例中的各单词之间的最大匹配分数;
选择最大匹配分数大于给定阈值的单词,从而获得所述匹配的单词。
6.根据权利要求1至3中任何一个的方法,其中,所述针对匹配的单词或单词序列,计算其匹配该给定文件的权重包括:
根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的单词位置中的至少一个,计算其匹配该给定文件的权重,其中,所述出现次数越大、单词长度越大或单词位置越靠后,则权重越大。
7.根据权利要求6的方法,其中,所述根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的位置中的至少一个,计算其匹配该给定文件的权重是分别使用以下公式中的至少一个进行的:
weight=position_coefficient·position,
其中,weight表示要计算的权重,count表示该单词或单词序列在所述一组正例中的出现次数,count_coefficient表示用于出现次数的指定系数,max_count表示所述一组正例中的实例数,length表示该单词或单词序列的单词长度,length_coefficient表示用于单词长度的指定系数,max_length表示其所属正例的单词长度,position表示该单词或单词序列在其正例中的相对位置,position_coefficient表示用于位置的指定系数,其中,所述count_coefficient、length_coefficient和position_coefficient的和为零。
8.根据权利要求3的方法,其中,通过将该测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配计算该测试实例匹配给定文件的分数包括:
获得该测试实例的由单词和单词序列构成的不同组合方式;
将每种组合方式下的每个单词和单词序列与单词库中的单词及单词序列进行比较,获得单词库中最相似的单词或单词序列,以及其相似度和所述权重;
对于每种组合方式,根据其单词和单词序列的最相似单词或单词序列的相似度和权重,计算该组合方式的权重;以及
获得不同组合方式中的最大权重,作为该测试实例匹配给定文件的分数。
9.根据权利要求3中任何一个的方法,还包括:
根据该测试文件的归一化的数值特征判断该测试文件是否是所述给定文件。
10.根据权利要求9的方法,其中,所述根据该测试文件的归一化的数值特征判断该测试文件是否是所述给定文件包括:
将该测试文件的归一化的数值特征提供给分类器,以用于判断该测试文件是否是所述给定文件。
11.根据权利要求1至3中任何一个的方法,其中,所述给定文件是配置文件。
12.根据权利要求1至3中任何一个的方法,其中,所述非数值特征是文件路径。
13.一种用于归一化文件的非数值特征的装置,包括:
单词切分模块,被配置为将给定文件的非数值特征的至少一对正例切分为若干单词;
单词匹配模块,被配置为通过将所述至少一对正例中的单词进行比较获得匹配的单词;以及
单词库构建模块,被配置为针对所述匹配的单词,计算其匹配该给定文件的权重,并将所述单词及其权重存储在单词库中。
14.根据权利要求13的装置,还包括:
单词序列构成模块,被配置为由匹配的单词构成作为正例的片段的单词序列;以及
所述单词库构建模块,还被配置为针对所述单词序列,计算其匹配该给定文件的权重,并将所述单词序列及其权重存储在单词库中。
15.根据权利要求14的装置,还包括:
所述单词切分模块,还被配置为响应于接收到测试文件的非数值特征的测试实例,将该测试实例切分为若干单词和单词序列;以及
归一化模块,被配置为通过将该测试实例的单词和单词序列与单词库中的单词及单词序列进行匹配计算该测试实例匹配给定文件的分数,作为所述测试文件的非数值特征的归一化的数值特征。
16.根据权利要求13至15中任何一个的装置,其中,所述将各个正例切分为若干单词,是利用所述非数值特征的结构特点进行的。
17.根据权利要求13至15中任何一个的装置,其中,所述单词匹配模块包括:
单词匹配分数计算子模块,被配置为计算一个正例中的每个单词与另一个正例中的各单词之间的最大匹配分数;
单词选择子模块,被配置为选择最大匹配分数大于给定阈值的单词,从而获得所述匹配的单词。
18.根据权利要求13至15中任何一个的装置,其中,所述单词库构建模块包括:
权重计算子模块,被配置为根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的单词位置中的至少一个,计算其匹配该给定文件的权重,其中,所述出现次数越大、单词长度越大或单词位置越靠后,则权重越大。
19.根据权利要求18的装置,其中,所述根据匹配的单词或单词序列在所述一组正例中的出现次数、该单词或单词序列的单词长度、以及该单词或单词序列在正例中的位置中的至少一个,计算其匹配该给定文件的权重是分别使用以下公式中的至少一个进行的:
weight=position_coefficient·position,
其中,weight表示要计算的权重,count表示该单词或单词序列在所述一组正例中的出现次数,count_coefficient表示用于出现次数的指定系数,max_count表示所述一组正例中的实例数,length表示该单词或单词序列的单词长度,length_coefficient表示用于单词长度的指定系数,max_length表示其所属正例的单词长度,position表示该单词或单词序列在其正例中的相对位置,position_coefficient表示用于位置的指定系数,其中,所述count_coefficient、length_coefficient和position_coefficient的和为零。
20.根据权利要求15的装置,其中,所述归一化模块包括:
单词及序列组合子模块,被配置为获得该测试实例的由单词和单词序列构成的不同组合方式;
单词库比较子模块,被配置为将每种组合方式下的每个单词和单词序列与单词库中的单词及单词序列进行比较,获得单词库中最相似的单词或单词序列,以及其相似度和所述权重;
权重计算子模块,被配置为对于每种组合方式,根据其单词和单词序列的最相似单词或单词序列的相似度和权重,计算该组合方式的权重;以及
最大权重选择子模块,被配置为选择不同组合方式中的最大权重,作为该测试实例匹配给定文件的分数。
21.根据权利要求13至15中任何一个的装置,还包括:
判断模块,其被配置为根据该测试文件的归一化的数值特征判断该测试文件是否是所述给定文件。
22.根据权利要求21的装置,其中,所述判断模块为分类器。
23.根据权利要求13至15中任何一个的装置,其中,所述给定文件是配置文件。
24.根据权利要求13至15中任何一个的装置,其中,所述非数值特征是文件路径。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410708694.4A CN105701118B (zh) | 2014-11-28 | 2014-11-28 | 用于归一化文件的非数值特征的方法和装置 |
US14/933,382 US10078666B2 (en) | 2014-11-28 | 2015-11-05 | Normalizing non-numeric features of files |
US14/967,314 US10078667B2 (en) | 2014-11-28 | 2015-12-13 | Normalizing non-numeric features of files |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410708694.4A CN105701118B (zh) | 2014-11-28 | 2014-11-28 | 用于归一化文件的非数值特征的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105701118A true CN105701118A (zh) | 2016-06-22 |
CN105701118B CN105701118B (zh) | 2019-05-28 |
Family
ID=56079323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410708694.4A Active CN105701118B (zh) | 2014-11-28 | 2014-11-28 | 用于归一化文件的非数值特征的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10078666B2 (zh) |
CN (1) | CN105701118B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403411B2 (en) * | 2018-11-20 | 2022-08-02 | Cisco Technology, Inc. | Unstructured data sensitivity inference for file movement tracking in a network |
US11140042B2 (en) * | 2019-09-18 | 2021-10-05 | Servicenow, Inc. | Dictionary-based service mapping |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090007083A1 (en) * | 2007-06-28 | 2009-01-01 | Symantec Corporation | Techniques for parsing electronic files |
US20100023514A1 (en) * | 2008-07-24 | 2010-01-28 | Yahoo! Inc. | Tokenization platform |
US20100223306A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | Method and apparatus for discovering application configuration files in a system |
CN102184167A (zh) * | 2011-05-25 | 2011-09-14 | 安徽科大讯飞信息科技股份有限公司 | 一种文本数据处理方法和装置 |
CN103020281A (zh) * | 2012-12-27 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种基于空间数据数值索引的数据存储与检索方法 |
US20140101172A1 (en) * | 2012-10-05 | 2014-04-10 | Oracle International Corporation | Configurable Dynamic Matching System |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937263B2 (en) * | 2004-12-01 | 2011-05-03 | Dictaphone Corporation | System and method for tokenization of text using classifier models |
EP2030134A4 (en) | 2006-06-02 | 2010-06-23 | Initiate Systems Inc | SYSTEM AND METHOD FOR AUTOMATIC WEIGHT GENERATION FOR CHARACTERISTICITY |
US7685093B1 (en) | 2006-09-15 | 2010-03-23 | Initiate Systems, Inc. | Method and system for comparing attributes such as business names |
US7814107B1 (en) | 2007-05-25 | 2010-10-12 | Amazon Technologies, Inc. | Generating similarity scores for matching non-identical data strings |
US20090300054A1 (en) * | 2008-05-29 | 2009-12-03 | Kathleen Fisher | System for inferring data structures |
US8688792B2 (en) * | 2010-05-06 | 2014-04-01 | Nec Laboratories America, Inc. | Methods and systems for discovering configuration data |
US20120084291A1 (en) | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Applying search queries to content sets |
US8560818B2 (en) * | 2011-01-27 | 2013-10-15 | Wyse Technolgoy Inc. | Automatic retrieval, parsing and application of configuration for a specific-purpose client having a windows-based embedded image with a write-filter |
US8863082B2 (en) * | 2011-09-07 | 2014-10-14 | Microsoft Corporation | Transformational context-aware data source management |
AU2012340429B2 (en) | 2011-11-15 | 2016-12-01 | Ab Initio Technology Llc | Data clustering based on candidate queries |
US9088491B2 (en) * | 2012-03-07 | 2015-07-21 | Citrix Systems, Inc. | Systems and methods for comparing configuration files and generating corrective commands |
US8990148B1 (en) * | 2013-01-08 | 2015-03-24 | Sprint Communications Company L.P. | System and method for dynamic hierarchical data parsing |
US9183062B2 (en) * | 2013-02-25 | 2015-11-10 | International Business Machines Corporation | Automated application reconfiguration |
-
2014
- 2014-11-28 CN CN201410708694.4A patent/CN105701118B/zh active Active
-
2015
- 2015-11-05 US US14/933,382 patent/US10078666B2/en active Active
- 2015-12-13 US US14/967,314 patent/US10078667B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090007083A1 (en) * | 2007-06-28 | 2009-01-01 | Symantec Corporation | Techniques for parsing electronic files |
US20100023514A1 (en) * | 2008-07-24 | 2010-01-28 | Yahoo! Inc. | Tokenization platform |
US20100223306A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | Method and apparatus for discovering application configuration files in a system |
CN102184167A (zh) * | 2011-05-25 | 2011-09-14 | 安徽科大讯飞信息科技股份有限公司 | 一种文本数据处理方法和装置 |
US20140101172A1 (en) * | 2012-10-05 | 2014-04-10 | Oracle International Corporation | Configurable Dynamic Matching System |
CN103020281A (zh) * | 2012-12-27 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种基于空间数据数值索引的数据存储与检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105701118B (zh) | 2019-05-28 |
US10078667B2 (en) | 2018-09-18 |
US20160154801A1 (en) | 2016-06-02 |
US20160154793A1 (en) | 2016-06-02 |
US10078666B2 (en) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102308002B1 (ko) | 정보 생성 방법 및 장치 | |
US11928583B2 (en) | Adaptation of deep learning models to resource constrained edge devices | |
Dumitrache et al. | CrowdTruth 2.0: Quality metrics for crowdsourcing with disagreement | |
CN102119389A (zh) | 使用语义距离学习的自动图像注释 | |
CN105630801A (zh) | 用于检测偏离用户的方法和装置 | |
US9092673B2 (en) | Computing visual and textual summaries for tagged image collections | |
CN107507028A (zh) | 用户偏好确定方法、装置、设备及存储介质 | |
CN110874590A (zh) | 基于适配器互学习模型的训练及可见光红外视觉跟踪方法 | |
WO2021035412A1 (zh) | 一种自动机器学习AutoML系统、方法及设备 | |
CN107291760A (zh) | 无监督的特征选择方法、装置 | |
CN113393474A (zh) | 一种基于特征融合的三维点云的分类和分割方法 | |
CN111815169A (zh) | 业务审批参数配置方法及装置 | |
JP2023534696A (ja) | ネットワークトポロジーにおけるアノマリー検知 | |
CN113254716A (zh) | 视频片段检索方法、装置、电子设备和可读存储介质 | |
CN111126422B (zh) | 行业模型的建立及行业的确定方法、装置、设备及介质 | |
CN105701118A (zh) | 用于归一化文件的非数值特征的方法和装置 | |
CN116935083B (zh) | 一种图像聚类方法和装置 | |
WO2020252925A1 (zh) | 用户特征群中用户特征寻优方法、装置、电子设备及计算机非易失性可读存储介质 | |
CN103971191A (zh) | 工作线程管理方法和设备 | |
CN103377381A (zh) | 识别图像的内容属性的方法和装置 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN111723247A (zh) | 基于图的假设计算 | |
US20220300852A1 (en) | Method and System for Automating Scenario Planning | |
CN113869516B (zh) | 知识图谱嵌入模型训练方法、装置、电子设备及介质 | |
US20220391662A1 (en) | Systems and methods for gauging differences between network configurations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |