CN110750984A - 命令行字符串处理方法、终端、装置及可读存储介质 - Google Patents
命令行字符串处理方法、终端、装置及可读存储介质 Download PDFInfo
- Publication number
- CN110750984A CN110750984A CN201911018971.8A CN201911018971A CN110750984A CN 110750984 A CN110750984 A CN 110750984A CN 201911018971 A CN201911018971 A CN 201911018971A CN 110750984 A CN110750984 A CN 110750984A
- Authority
- CN
- China
- Prior art keywords
- command
- word segmentation
- list
- type
- command line
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 230000011218 segmentation Effects 0.000 claims abstract description 203
- 239000013598 vector Substances 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims description 15
- 239000000203 mixture Substances 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 22
- 238000012549 training Methods 0.000 abstract description 14
- 239000011159 matrix material Substances 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种命令行字符串处理方法,包括以下步骤:获取命令行字符串对应的命令信息,并基于命令信息确定所述命令行字符串对应的分词类型,而后基于所述分词类型对命令参数进行分词操作生成分词列表,并基于命令更新所述分词列表,接下来生成更新后的分词列表对应的序列数值向量,最后基于更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。本发明还公开了一种装置、终端及可读存储介质。实现了对命令行字符串进行合理分词,进一步根据分词列表的列表长度对命令行字符串分类,使序列数值向量长度对齐,以便模型训练时对不同类别的序列数值向量分别进行处理,节省模型训练的时间和速度,提升模型训练效率。
Description
技术领域
本发明涉及机器学习技术领域,尤其涉及一种命令行字符串处理方法、终端、装置及可读存储介质。
背景技术
自然语言语料一般都是由封闭的(或者是相对封闭的,即陌生词较少) 词汇集合组成的,例如,英语常用的单词大概有9万个,汉语常用的汉字有6763 个(注:GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008 个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个特殊字符)。
与自然语言不同的是,计算机命令行字符串(例如,Linux命令行字符, MySQL命令行字符,DOS命令行字符串,等等)是由非封闭的词汇集合组成的。在处理非封闭的词汇系统时,遇到的最大的困难就是不断出现的陌生词,例如,用户自定义的词汇。现有技术中,字符嵌入(character embedding)模型、词嵌入(word embedding)或者句嵌入(sentenceembedding)模型,在新的语料数据上使用时,如果有很多陌生词汇(即训练语料数据中没有出行过的词汇),现有模型一般不能将这些陌生词映射到合适的数值向量上,也不能很好的提取字符串或者句子里前后文的关系,那这样就会显著影响机器学习模型的性能,例如,情感分类模型的性能,或者命令行异常检测模型的性能。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种命令行字符串处理方法、终端、装置及可读存储介质,旨在解决命令行字符串由于存在陌生词,现有分词模型无法对其进行合理分词,导致影响机器学习模型性能的技术问题。
为实现上述目的,本发明提供一种命令行字符串处理方法,命令行字符串包括命令和命令参数,所述的命令行字符串处理方法包括以下步骤:
获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
生成更新后的分词列表对应的序列数值向量;
基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
进一步地,在一实施方式中,所述命令信息包括自定义参数、特定参数和混合参数,所述分词类型包括字符型、词组型和混合型,所述基于所述命令信息确定所述命令行字符串对应的分词类型的步骤包括:
当所述命令信息为自定义参数时,确定所述分词类型为字符型;
当所述命令信息为特定参数时,确定所述分词类型为词组型;
当所述命令信息为混合参数时,确定所述分词类型为混合型。
进一步地,在一实施方式中,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤包括:
当所述分词类型为混合型时,将所述命令参数与预设词典进行比较,确定匹配的第一可识别分词以及第一不可识别字符;
基于所述第一不可识别字符中的各个字符以及所述第一可识别分词,生成所述分词列表。
进一步地,在一实施方式中,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤,还包括:
当所述分词类型为词组型时,将所述命令参数与所述预设词典进行比较,确定匹配的第二可识别分词以及判断是所述命令参数中否存在第二不可识别字符;
当存在所述第二不可识别字符时,生成参数异常的提示信息,并保存所述第二不可识别字符以供人工检核;
当不存在第二不可识别字符时,基于所述第二可识别分词生成所述分词列表。
进一步地,在一实施方式中,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤,还包括:
当所述分词类型为字符型时,基于所述命令参数中的各个字符生成所述分词列表。
进一步地,在一实施方式中,所述获取命令行字符串对应的命令信息的步骤包括:
在预设的常用命令清单中获取所述命令对应的输入参数类型,并将所述输入参数类型作为所述命令信息。
进一步地,在一实施方式中,其特征在于,所述基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型的步骤包括:
将所述更新后的分词列表的列表长度与预设的样本类型库进行匹配,基于匹配结果确定所述序列数值向量对应的样本类型。
进一步地,在一实施方式中,所述命令行字符串处理装置包括:
匹配模块,用于获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
分词模块,用于基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
生成模块,用于生成更新后的分词列表对应的序列数值向量;
分类模块,用于基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
此外,为实现上述目的,本发明还提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的命令行字符串处理程序,所述命令行字符串处理程序被所述处理器执行时实现上述任一项所述的命令行字符串处理方法的步骤。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有命令行字符串处理程序,所述命令行字符串处理程序被处理器执行时实现上述任一项所述的命令行字符串处理方法的步骤。
本发明获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型,而后基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表,接下来生成更新后的分词列表对应的序列数值向量,最后基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。通过先确定命令行字符串中命令参数的分词类型,再根据分词类型对命令行字符串进行字符和/或词汇提取的分词操作,根据分词类型可以识别出专业词汇,从而防止专业词汇被错误拆分成字符,影响前后文的关系,同时根据分词类型可以识别出自定义参数,对自定义参数进行字符拆分,从而有效的避免了陌生词,实现了对命令行字符串进行合理分词,最后再根据分词列表的列表长度对命令行字符串分类,以方便序列数值向量长度对齐,以便模型训练时对不同类别的序列数值向量分别进行处理,节省模型训练的时间和速度,提升模型训练效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中终端的结构示意图;
图2为本发明命令行字符串处理方法第一实施例的流程示意图;
图3为本发明一实施例中命令行字符串处理的流程示意图;
图4为本发明命令行字符串处理方法第二实施例的流程示意图;
图5为本发明命令行字符串处理装置实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中终端的结构示意图。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI 接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的目标检测系统结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及命令行字符串处理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接用户端,与用户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的命令行字符串处理程序。
在本实施例中,终端包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的命令行字符串处理程序,其中,处理器1001调用存储器1005中存储的命令行字符串处理程序时,执行本申请各个实施例提供的命令行字符串处理方法的步骤。
本发明还提供一种命令行字符串处理方法,参照图2,图2为本发明命令行字符串处理方法第一实施例的流程示意图。
本发明实施例提供了命令行字符串处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,参照图3,首先使用基于规则的方法对一个命令行字符串进行分词,规则是针对命令行字符串设计的;而后如果分词的结果既有词汇又有字符,那么就对分词的结果同时使用词嵌入(word embedding)和字符嵌入(character embedding),将命令行字符串转换为数值向量或者矩阵;接下来根据分词后获得的词汇序列的长度对命令行字符串进行分类,方便进行序列数据长度对齐,并对不同长度类别的序列数据分别处理。
在本实施例中,该命令行字符串处理方法包括:
步骤S10,获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
在实施例中,当数据处理算法和机器学习模型的处理对象是字符数据或者文本数据时,例如,运用机器学习算法对文本进行情感分类,一般都需要先将数据转换为数值向量或者矩阵(矩阵可以看成是由一系列数值向量组成的,即序列数据),再将这些数值向量或者矩阵输入给数据处理算法或者机器学习模型进行处理。举例说明数值向量,采用独热(one-hot)编码对词汇进行编码,the cat sat on the mat对应的数值向量为(10000,01000,00100, 00010,10000,00001)。
进一步地,命令行字符串是有命令和命令参数组成,例如Linux命令行字符串,DOS命令行字符串,对于像命令行字符串这样的数据,如果使用字符嵌入(characterembedding),将一个命令行字符串中的每个字符都提出来,构成字符集合,然后进行字符嵌入,进而将该命令行字符串转换为数值向量或者矩阵。这种方法可以有效解决非封闭词汇系统里遇到的陌生词的问题,因为是按照字符来处理的,而字符系统总是封闭的。但是,这种方法却有两个缺点:一是,使用字符嵌入会失去命令行字符串里词汇的物理意义,例如,“scp”是一个特殊的命令,如果将其拆开,分别对“s”、“c”和“p”进行字符嵌入,那么就会失去“scp”这个词的特殊意义;二是,如果一个命令行字符串包含的字符数量较多,这种方法会把一个长的命令行字符串转换成一个很大的字符矩阵(每个字符对应矩阵的一列或者一行),也就是很长的序列数据。
进一步地,对于像命令行字符串这样数据,如果使用词嵌入(word embedding),存在的问题是对命令行字符串做分词很困难。举例说明,命令行字符串:“rm/home/petercheng/autoencoder/paper.pdf”,如果把其分词为“rm”和“/home/petercheng/autoencoder/paper.pdf”两个部分,那么对与“/home/petercheng/autoencoder/paper.pdf”这部分就会很难做词嵌入,因为“/home/petercheng/autoencoder/paper.pdf”里面包含很多用户自定义的词汇和特殊标点符号。如果将其分词为“rm”、“/home/petercheng/autoencoder/paper”、“.”和“pdf”四个词汇,那么就破坏了“paper.pdf”这个词组的物理意义。另外,即使做了词嵌入,遇到了陌生词,也无法将陌生词映射到一个合适的向量上,无法提出前后文关系。
进一步地,对于像命令行字符串这样数据,如果使用句嵌入(sentenceembedding)将一个命令行字符串转换为一个数值向量。这种做法不能使用序列数据处理技术,例如,不能利用循环神经网络,即不能将一个命令行字符串转换为一个数值矩阵(矩阵由一系列数值向量组成,例如,每个词对应一个数值向量)。
具体地,为了对命令行字符串进行合理分词,首先获取命令行字符串对应的命令信息,并根据命令信息确定命令行字符串对应的分词类型。无论是 Linux命令、DOS命令还是其他系统的命令,命令数量都是相当庞大,而且每个具体命令对应的命令参数也各不相同,但是纵观所有的命令,可以将命令参数大致分为三类,以Linux命令举例说明,第一种类型的命令参数完全由用户自定义的,例如:mkdir dir1,创建一个叫做'dir1'的目录',参数dir1是用户自定义参数;第二种类型的命令参数是有特定含义的,专有词汇,有标准写法,例如cat/proc/version,显示内核的版本,参数/proc是指proc文件系统, version是指版本,这些参数是系统定义参数;第三种类型的命令参数是混合型的,既有用户自定义参数又有系统定义参数,例如rm-rf dir1,删除一个叫做'dir1'的目录并同时删除其内容,参数-rf是系统定义参数,表示删除当前目录下的所有文件,参数dir1是用户自定义参数。
具体地,步骤S10包括:
步骤a,在预设的常用命令清单中获取所述命令对应的输入参数类型,并将所述输入参数类型作为所述命令信息。
在本实施例中,无论是Linux命令、DOS命令还是其他系统的命令,每个系统的常用命令的数量是确定的,则可以说命令是封闭的,可以从系统的官方平台获取到所有常用命令。预设的常用命令清单中包括命令和命令对应的输入参数类型。具体地,首先从命令行字符串提取命令,然后在常用命令清单中查询该命令,获取到该命令对应的输入参数类型,其中,输入参数类型包括自定义参数、特定参数以及混合参数,并将获取到的输入参数类型作为命令信息。
步骤b,当所述命令信息为自定义参数时,确定所述分词类型为字符型;
在本实施例中,根据命令行字符串中的命令确定命令信息为自定义参数时,说明命令参数完全由用户自定义的,则可以采用字符嵌入(character embedding),将该命令参数中的每个字符都提出来,构成字符集合,然后进行字符嵌入,进而将该命令行字符串中的命令和命令参数转换为数值向量或者矩阵,即当命令信息为自定义参数时,确定分词类型为字符型。
步骤c,当所述命令信息为特定参数时,确定所述分词类型为词组型;
在本实施例中,根据命令行字符串中的命令确定命令信息为特定参数时,说明命令参数都是系统定义参数,专有词汇,有特定含义和标准写法,对命令参数可以用词嵌入,对分词操作所获得的词汇集合进行嵌入,进而将该命令行字符串中的命令和命令参数转换为数值向量或者矩阵,即当命令信息为特定参数时,确定分词类型为词组型。
步骤d,当所述命令信息为混合参数时,确定所述分词类型为混合型。
在本实施例中,根据命令行字符串中的命令确定命令信息为混合参数时,说明命令参数既有用户自定义参数又有系统定义参数,在分词操作时需要在命令参数中区分出系统定义参数和用户自定义参数,即当命令信息为混合参数时,确定分词类型为混合型。
步骤S20,基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
在本实施例中,根据分词类型对命令行字符串进一步执行分词操作。分词类型包括字符型、词组型和混合型,当分词类型为字符型时,将命令参数中的每个字符都提出来,进而生成分词列表,然后再将该命令行字符串中的命令补充到分词列表中,即对分词列表进行更新,优选地,将命令放置在分词列表的首项,即更新后的分词列表由命令和命令参数对应的字符组成;当分词类型为词组型时,将命令参数中的每个系统定义参数都提出来,生成分词列表,然后再将该命令行字符串中的命令补充到分词列表中,即对分词列表进行更新,优选地,将命令放置在分词列表的首项,即更新后的分词列表由命令和命令参数对应的系统定义参数组成;当分词类型为混合型时,首先将命令参数中的每个系统定义参数都提出来,然后将剩余的参数中的每个字符都提出来,生成分词列表,然后再将该命令行字符串中的命令补充到分词列表中,即对分词列表进行更新,优选地,将命令放置在分词列表的首项,即更新后的分词列表由命令、系统定义参数和字符组成。
步骤S30,生成更新后的分词列表对应的序列数值向量;
在本实施例中,首先,根据现有的字符嵌入和词嵌入算法分别对分词列表中的字符和词汇进行映射,生成每个词汇和字符对应的数值向量,需要说明的是,当命令行字符串的分词类型是字符型时,则该命令行字符串对应的分词列表由命令和命令参数对应的字符组成,此时需要利用词嵌入对分词列表中的命令进行映射,转换为数值向量,利用字符嵌入算法将分词列表中的字符转换为数值向量;当命令行字符串的分词类型是词组型时,则该命令行字符串对应的分词列表由命令和系统定义参数组成,即是都是词汇,此时只需要词嵌入算法将分词列表中的词汇转换为数值向量;当命令行字符串的分词类型是混合型时,则该命令行字符串对应的分词列表由命令、系统定义参数和字符组成,此时即需要字符嵌入算法将分词列表中的字符转换为数值向量,同时需要词嵌入算法将分词列表中的词汇转换为数值向量。然后,将分词列表中所有的词汇和字符对应的数值向量排列在一起,构成分词列表对应的序列数值向量,即序列数据。
需要说明的是,因为分词列表存在由系统定义参数和单个字符组成的情况,优选地,分词列表中的每一项需要提供对应的标签,用于标注该项是字符还是词汇,根据各个标签将分词列表中字符或词汇进行映射,生成每个词汇和字符对应的数值向量。
步骤S40,基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
在本实施例中,对一个命令行字符串进行分词之后,可以得到该命令行字符串对应的分词列表,如果一个命令行字符串比较长,那么分词后就会得到很长的分词列表。例如,对于命令行字符串“rm/home/petercheng/federated learning/readinggroup/autoencoder/paper.pdf”,因为该字符串包括很多用户自定义的参数,自定义参数将被拆分成字符,因此分词的结果就是一个很长的分词列表(包括多个字符)。如果直接将这个分词列表转换为序列数值向量即每个词汇或者字符映射为一个数值向量,进而将分词列表映射为一个数值向量,就会得到很一个庞大的数值向量,这样会显著增加训练机器学习模型的计算复杂度。为了有效提高计算效率,节省训练模型的时间,故进一步根据分词列表的列表长度确定序列数值向量对应的样本类型,方便序列数值向量的长度对齐,并对不同类别的序列数值向量分别进行处理。
具体地,步骤S40包括:将所述更新后的分词列表的列表长度与预设的样本类型库进行匹配,基于匹配结果确定所述序列数值向量对应的样本类型。
在本实施例中,将命令行字符串根据分词后的分词列表的长度进行分类,以便对齐序列数值向量的长度,并对不同的类别的序列数值向量分别进行处理,例如,训练机器学习模型时,将样本类型相同(即分词列表的列表长度在一个范围内)的序列数值向量作为样本集对模型进行训练,不同样本类型的序列数值向量分批次对模型进行训练。
具体地,将分词列表的列表长度与预设的样本类型库进行匹配,预设样本类型库包括样本类型,以及每个样本类型对应的长度范围。举例说明,预设样本类型库中的样本类型包括四类,小型样本、中型样本、大型样本和超大型样本,其中,小型样本对应的分词列表长度小于20;中型样本对应的分词列表在21到40之间;大型样本对应的分词列表长度在41到60之间;超大型样本对应的分词列表长度大于60。接下来,在模型训练时对这四类序列数值向量,也就是四种命令行字符串分别进行处理,优选地,还可以对超大型样本进行分段处理,并由多个计算单元分别处理不同的分段。
这种分类处理的方法特别适用于训练循环神经网络模型和卷积神经网络模型的场景,例如,可以使用长短期记忆(long short-term memory,LSTM) 网络来处理所述词汇序列对应的序列数值向量(即序列数据),所述词汇序列的长度对应了LSTM记忆的长度(即时间步的总个数)。LSTM是RNN的一种[2,3]。我们可以对分词后词汇序列长度大于80的命令行数据进行分段处理,例如,分为两段处理,并分别由两个计算单元(例如:两个CPU)来处理这两段,进行LSTM模型的训练。再对两个计算单元的结果进行拼接进而获得有较长期记忆的LSTM模型。
本实施例提出的命令行字符串处理方法,通过获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型,而后基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表,接下来生成更新后的分词列表对应的序列数值向量,最后基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。通过先确定命令行字符串中命令参数的分词类型,再根据分词类型对命令行字符串进行字符和/或词汇提取的分词操作,根据分词类型可以识别出专业词汇,从而防止专业词汇被错误拆分成字符,影响前后文的关系,同时根据分词类型可以识别出自定义参数,对自定义参数进行字符拆分,从而有效的避免了陌生词,实现了对命令行字符串进行合理分词,最后再根据分词列表的列表长度对命令行字符串分类,以方便序列数值向量长度对齐,以便模型训练时对不同类别的序列数值向量分别进行处理,节省模型训练的时间和速度,提升模型训练效率。
基于第一实施例,参照图4,提出本发明命令行字符串处理方法的第二实施例,在本实施例中,步骤S30包括:
步骤S31,当所述分词类型为混合型时,将所述命令参数与预设词典进行比较,确定匹配的第一可识别分词以及第一不可识别字符;
在本实施例中,预设词典中收集了常用命令清单中所涉及的全部系统定义参数。当所述分词类型为混合型时,将命令参数与预设词典进行比较,可以将命令参数中的系统定义参数提取出来,提取出的参数即第一可识别分词,其中,第一可识别分词包括一个或多个词汇,每一词汇都可以在预设词典中查询到;命令参数中除第一可识别分词以外的字符串为第一不可识别字符,第一不可识别字符即为用户自定义参数,其中,第一不可识别字符包括一个或多个字符。
步骤S32,基于所述第一不可识别字符中的各个字符以及所述第一可识别分词,生成所述分词列表。
在本实施例中,进一步对第一不可识别字符进行分词,因为第一不可识别字符不包括系统定义参数,是用户自定义参数,故将第一不可识别字符中的每个字符都提出来,构成字符集合,与命令一起生成分词列表,分词列表由命令、第一可识别分词中的各个词汇和第一不可识别字符中的各个字符组成。
进一步地,在一实施例中,步骤S30还包括:
步骤S33,当所述分词类型为词组型时,将所述命令参数与所述预设词典进行比较,确定匹配的第二可识别分词以及判断是所述命令参数中否存在第二不可识别字符;
在本实施例中,当所述分词类型为词组型时,将命令参数与预设词典进行比较,可以将命令参数中的系统定义参数提取出来,提取出的参数即第二可识别分词,其中,第二可识别分词包括一个或多个词汇,每一词汇都可以在预设词典中查询到;同时判断命令参数中除第二可识别分词以外是否还存在其他字符串,也就是第二不可识别字符。
步骤S34,当存在所述第二不可识别字符时,生成参数异常的提示信息,并保存所述第二不可识别字符以供人工检核;
在本实施例中,正常情况下,分词类型为词组型时,命令参数都是系统定义参数。如果存在第二不可识别字符,说明该命令参数出现异常,需要上报异常,进行人工检核。举例说明,把命令行字符串“go 10.13.47.28”分词为:“go”和“10.13.47.28”,“10.13.47.28”是一个IP地址,有特殊物理意义,不应该根据符号“.”来拆分,对于一个运维系统里常见的IP地址也是一个封闭的系统,如果突然出现陌生的IP地址或者网址,那么可能就是异常情况。
步骤S35,当不存在第二不可识别字符时,基于所述第二可识别分词生成所述分词列表。
在本实施例中,当不存在第二不可识别字符,说明命令参数正常,第二可识别分词包括一个或多个词汇,每一词汇都可以在预设词典中查询到,故进一步根据命令和第二可识别分词生成分词列表。
进一步地,在一实施例中,步骤S30还包括:
步骤S36,当所述分词类型为字符型时,基于所述命令行字符串中的各个字符生成所述分词列表。
在本实施例中,分词类型为字符型,说明该命令参数中的命令参数都是用户自定义的,故可以采用字符嵌入,将命令参数中的每个字符都提出来,构成字符集合,这些字符集合和命令一起生成分词列表。
本实施例提出的命令行字符串处理方法,通过当所述分词类型为词组型时,将所述命令参数与所述预设词典进行比较,确定匹配的第二可识别分词以及判断是所述命令行字符串中否存在第二不可识别字符,而后基于所述第一不可识别字符中的各个字符以及所述第一可识别分词,生成所述分词列表。通过根据分词类型对命令行字符串进行分词操作,有效的避免了陌生词,实现了对命令行字符串进行合理分词。
本发明进一步提供一种命令行字符串处理装置,参照图5,图5为本发明命令行字符串处理装置实施例的功能模块示意图。
匹配模块10,用于获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
分词模块20,用于基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
生成模块30,用于生成更新后的分词列表对应的序列数值向量;
分类模块40,用于基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
进一步地,所述匹配模块10还用于:
当所述命令信息为自定义参数时,确定所述分词类型为字符型;
当所述命令信息为特定参数时,确定所述分词类型为词组型;
当所述命令信息为混合参数时,确定所述分词类型为混合型。
进一步地,所述生成模块30还用于:
当所述分词类型为混合型时,将所述命令参数与预设词典进行比较,确定匹配的第一可识别分词以及第一不可识别字符;
基于所述第一不可识别字符中的各个字符以及所述第一可识别分词,生成所述分词列表。
进一步地,所述生成模块30还用于:
当所述分词类型为词组型时,将所述命令参数与所述预设词典进行比较,确定匹配的第二可识别分词以及判断是所述命令参数中否存在第二不可识别字符;
当存在所述第二不可识别字符时,生成参数异常的提示信息,并保存所述第二不可识别字符以供人工检核;
当不存在第二不可识别字符时,基于所述第二可识别分词生成所述分词列表。
进一步地,所述生成模块30还用于:
当所述分词类型为字符型时,基于所述命令参数中的各个字符生成所述分词列表。
进一步地,所述匹配模块10还用于:
在预设的常用命令清单中获取所述命令对应的输入参数类型,并将所述输入参数类型作为所述命令信息。
进一步地,所述分类模块40还用于:
将所述更新后的分词列表的列表长度与预设的样本类型库进行匹配,基于匹配结果确定所述序列数值向量对应的样本类型。
此外,本发明实施例还提出一种可读存储介质,所述可读存储介质上存储有命令行字符串处理程序,所述命令行字符串处理程序被处理器执行时实现上述各个实施例中命令行字符串处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个可读存储介质(如 ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台系统设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种命令行字符串处理方法,其特征在于,命令行字符串包括命令和命令参数,所述的命令行字符串处理方法包括以下步骤:
获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
生成更新后的分词列表对应的序列数值向量;
基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
2.如权利要求1所述的命令行字符串处理方法,其特征在于,所述命令信息包括自定义参数、特定参数和混合参数,所述分词类型包括字符型、词组型和混合型,所述基于所述命令信息确定所述命令行字符串对应的分词类型的步骤包括:
当所述命令信息为自定义参数时,确定所述分词类型为字符型;
当所述命令信息为特定参数时,确定所述分词类型为词组型;
当所述命令信息为混合参数时,确定所述分词类型为混合型。
3.如权利要求1或2任一项所述的命令行字符串处理方法,其特征在于,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤包括:
当所述分词类型为混合型时,将所述命令参数与预设词典进行比较,确定匹配的第一可识别分词以及第一不可识别字符;
基于所述第一不可识别字符中的各个字符以及所述第一可识别分词,生成所述分词列表。
4.如权利要求1或2任一项所述的命令行字符串处理方法,其特征在于,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤,还包括:
当所述分词类型为词组型时,将所述命令参数与所述预设词典进行比较,确定匹配的第二可识别分词以及判断是所述命令参数中否存在第二不可识别字符;
当存在所述第二不可识别字符时,生成参数异常的提示信息,并保存所述第二不可识别字符以供人工检核;
当不存在第二不可识别字符时,基于所述第二可识别分词生成所述分词列表。
5.如权利要求1或2任一项所述的命令行字符串处理方法,其特征在于,所述基于所述分词类型对所述命令参数进行分词操作生成分词列表的步骤,还包括:
当所述分词类型为字符型时,基于所述命令参数中的各个字符生成所述分词列表。
6.如权利要求1所述的命令行字符串处理方法,其特征在于,所述获取命令行字符串对应的命令信息的步骤包括:
在预设的常用命令清单中获取所述命令对应的输入参数类型,并将所述输入参数类型作为所述命令信息。
7.如权利要求1至6中任一项所述的命令行字符串处理方法,其特征在于,所述基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型的步骤包括:
将所述更新后的分词列表的列表长度与预设的样本类型库进行匹配,基于匹配结果确定所述序列数值向量对应的样本类型。
8.一种命令行字符串处理装置,其特征在于,所述命令行字符串处理装置包括:
匹配模块,用于获取所述命令行字符串对应的命令信息,并基于所述命令信息确定所述命令行字符串对应的分词类型;
分词模块,用于基于所述分词类型对所述命令参数进行分词操作生成分词列表,并基于所述命令更新所述分词列表;
生成模块,用于生成更新后的分词列表对应的序列数值向量;
分类模块,用于基于所述更新后的分词列表的列表长度确定所述序列数值向量对应的样本类型。
9.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的命令行字符串处理程序,所述命令行字符串处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的命令行字符串处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有所述命令行字符串处理程序,所述命令行字符串处理程序被处理器执行时实现如权利要求1至7中任一项所述的命令行字符串处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911018971.8A CN110750984B (zh) | 2019-10-24 | 2019-10-24 | 命令行字符串处理方法、终端、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911018971.8A CN110750984B (zh) | 2019-10-24 | 2019-10-24 | 命令行字符串处理方法、终端、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750984A true CN110750984A (zh) | 2020-02-04 |
CN110750984B CN110750984B (zh) | 2023-11-21 |
Family
ID=69279819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911018971.8A Active CN110750984B (zh) | 2019-10-24 | 2019-10-24 | 命令行字符串处理方法、终端、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750984B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310186A (zh) * | 2020-03-17 | 2020-06-19 | 优刻得科技股份有限公司 | 混淆命令行检测方法、装置及系统 |
CN111339378A (zh) * | 2020-02-27 | 2020-06-26 | 广东安创信息科技开发有限公司 | 一种运维管理中的字符命令审计方法及系统 |
CN113918943A (zh) * | 2021-09-08 | 2022-01-11 | 北京天融信网络安全技术有限公司 | 命令参数安全检测方法及装置 |
CN114169293A (zh) * | 2021-11-29 | 2022-03-11 | 深延科技(北京)有限公司 | 文本转换方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283583A1 (en) * | 2014-03-14 | 2016-09-29 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and storage medium for text information processing |
CN108776762A (zh) * | 2018-06-08 | 2018-11-09 | 北京中电普华信息技术有限公司 | 一种数据脱敏的处理方法及装置 |
CN108920463A (zh) * | 2018-06-29 | 2018-11-30 | 北京奇虎科技有限公司 | 一种基于网络攻击的分词方法及系统 |
CN109492233A (zh) * | 2018-11-14 | 2019-03-19 | 北京捷通华声科技股份有限公司 | 一种机器翻译方法和装置 |
CN109977014A (zh) * | 2019-03-22 | 2019-07-05 | 泰康保险集团股份有限公司 | 基于区块链的代码错误识别方法、装置、设备及存储介质 |
-
2019
- 2019-10-24 CN CN201911018971.8A patent/CN110750984B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283583A1 (en) * | 2014-03-14 | 2016-09-29 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and storage medium for text information processing |
CN108776762A (zh) * | 2018-06-08 | 2018-11-09 | 北京中电普华信息技术有限公司 | 一种数据脱敏的处理方法及装置 |
CN108920463A (zh) * | 2018-06-29 | 2018-11-30 | 北京奇虎科技有限公司 | 一种基于网络攻击的分词方法及系统 |
CN109492233A (zh) * | 2018-11-14 | 2019-03-19 | 北京捷通华声科技股份有限公司 | 一种机器翻译方法和装置 |
CN109977014A (zh) * | 2019-03-22 | 2019-07-05 | 泰康保险集团股份有限公司 | 基于区块链的代码错误识别方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339378A (zh) * | 2020-02-27 | 2020-06-26 | 广东安创信息科技开发有限公司 | 一种运维管理中的字符命令审计方法及系统 |
CN111310186A (zh) * | 2020-03-17 | 2020-06-19 | 优刻得科技股份有限公司 | 混淆命令行检测方法、装置及系统 |
CN113918943A (zh) * | 2021-09-08 | 2022-01-11 | 北京天融信网络安全技术有限公司 | 命令参数安全检测方法及装置 |
CN114169293A (zh) * | 2021-11-29 | 2022-03-11 | 深延科技(北京)有限公司 | 文本转换方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110750984B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717406B (zh) | 文本情绪分析方法、装置及存储介质 | |
CN109766540B (zh) | 通用文本信息提取方法、装置、计算机设备和存储介质 | |
CN111309912B (zh) | 文本分类方法、装置、计算机设备及存储介质 | |
CN110750984B (zh) | 命令行字符串处理方法、终端、装置及可读存储介质 | |
CN108959242B (zh) | 一种基于中文字符词性特征的目标实体识别方法及装置 | |
CN111198948B (zh) | 文本分类校正方法、装置、设备及计算机可读存储介质 | |
US10133965B2 (en) | Method for text recognition and computer program product | |
JP4427500B2 (ja) | 意味解析装置、意味解析方法および意味解析プログラム | |
CN110222330B (zh) | 语义识别方法及装置、存储介质、计算机设备 | |
JP2011118526A (ja) | 単語意味関係抽出装置 | |
CA3048356A1 (en) | Unstructured data parsing for structured information | |
TWI567569B (zh) | Natural language processing systems, natural language processing methods, and natural language processing programs | |
CN108776677B (zh) | 平行语句库的创建方法、设备及计算机可读存储介质 | |
CN111612081B (zh) | 识别模型的训练方法、装置、设备及存储介质 | |
CN108170708B (zh) | 一种车辆实体识别方法、电子设备、存储介质、系统 | |
CN113312899B (zh) | 文本分类方法、装置和电子设备 | |
CN114757176A (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
US8880391B2 (en) | Natural language processing apparatus, natural language processing method, natural language processing program, and computer-readable recording medium storing natural language processing program | |
CN115438650B (zh) | 融合多源特征的合同文本纠错方法、系统、设备及介质 | |
JP6626917B2 (ja) | 英語の音節計算法に基づいた可読性評価方法及びシステム | |
CN115357699A (zh) | 文本抽取方法、装置、设备及存储介质 | |
KR101143650B1 (ko) | 분석용 디스플레이 문서 준비 장치 | |
JP7040155B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114003725A (zh) | 信息标注模型的构建方法以及信息标注的生成方法 | |
CN110929514B (zh) | 文本校对方法、装置、计算机可读存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |