配方文件识别方法及装置、电子设备、存储介质与流程

文档序号:20875992发布日期:2020-05-26 16:32阅读:205来源:国知局
配方文件识别方法及装置、电子设备、存储介质与流程
本公开涉及人工智能
技术领域
,特别涉及一种配方文件识别方法、配方文件识别装置、电子设备及计算机可读存储介质。
背景技术
:在很多企业中,配方(recipe)文件都具有很高的机密性,例如半导体晶圆厂的工艺配方文件、制药公司的合成配方文件、食品厂的食材配方文件等,一旦发生外泄,将造成企业的重大损失。为了防止该情况的发生,需要将配方文件从种类繁多的企业内部文件中识别出来,以进行严格的区分性管理。现有的配方文件识别方法较多的依赖于关键词匹配,基于事先配置的关键词库,对文件的文件名或内容关键词进行查找匹配,根据匹配的结果判断文件是否为配方文件。然而,配方文件的关键词与企业内部其他文件的关键词之间难免有一定的重合,通过上述方法难以精准的区分出两类文件,导致配方文件识别的准确率较低、误判率较高,且对于人为恶意篡改、隐藏文件名或文件内容的情况,上述方法也无法有效地识别出,从而给企业的信息安全管理带来风险。需要说明的是,在上述
背景技术
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:本公开提供了一种配方文件识别方法、配方文件识别装置、电子设备及计算机可读存储介质,进而至少在一定程度上克服现有的配方文件识别方法准确率较低且识别范围较小的问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一个方面,提供一种配方文件识别方法,包括:获取待识别文件;从所述待识别文件中提取出配方关键词,所述配方关键词为所述待识别文件中与数值成组出现的词;根据所述待识别文件的配方关键词得到所述待识别文件的特征张量;利用配方文件识别模型对所述特征张量进行处理,得到所述待识别文件是否为配方文件的识别结果。在本公开的一种示例性实施例中,所述方法还包括:获取多个样本文件与所述样本文件的文件类型,所述文件类型包括配方文件与非配方文件;根据所述样本文件的配方关键词得到所述样本文件的样本特征张量;利用所述样本特征张量与所述文件类型训练机器学习模型,得到所述配方文件识别模型。在本公开的一种示例性实施例中,在获取多个样本文件后,所述方法还包括:对所述样本文件的文本进行分词,根据分词的结果构建样本词库;将所述样本文件的文本中的词组添加到所述样本词库中,得到完整的所述样本词库;所述从所述待识别文件中提取出配方关键词包括:从所述待识别文件中提取出与数值相邻的词或词组,将所述词或词组与所述样本词库进行匹配,并将匹配成功的词或词组确定为所述待识别文件的配方关键词。在本公开的一种示例性实施例中,在得到完整的所述样本词库后,所述方法还包括:通过所述样本词库提取所述样本文件的配方关键词,得到配方词库;对所述配方词库中的配方关键词进行独热(one-hot)编码,得到所述配方关键词的独热向量;所述根据所述待识别文件的配方关键词得到所述待识别文件的特征张量包括:根据所述待识别文件的配方关键词的独热向量,得到所述待识别文件的特征张量。在本公开的一种示例性实施例中,所述根据所述待识别文件的配方关键词的独热向量,得到所述待识别文件的特征张量包括:将所述待识别文件的全部配方关键词的独热向量相加,得到所述待识别文件的特征向量。在本公开的一种示例性实施例中,在获取待识别文件后,所述方法还包括:提取所述待识别文件的路径名;所述根据所述待识别文件的配方关键词得到所述待识别文件的特征张量包括:根据所述待识别文件的配方关键词与所述待识别文件的路径名得到所述特征张量。在本公开的一种示例性实施例中,在获取多个样本文件后,所述方法还包括:提取所述样本文件的路径名,并对所述样本文件的路径名进行分词,根据分词的结果构建路径词库;对所述路径词库中的路径词进行独热编码,得到所述路径词的独热向量;所述根据所述待识别文件的配方关键词与所述待识别文件的路径名得到所述特征张量包括:根据所述待识别文件的配方关键词得到所述待识别文件的第一特征向量;根据所述路径词库将所述待识别文件的路径名拆分为路径词,并根据所述待识别文件的路径词的独热向量得到所述待识别文件的第二特征向量;根据所述第一特征向量与所述第二特征向量生成所述待识别文件的特征张量。在本公开的一种示例性实施例中,在获取待识别文件后,所述方法还包括:提取所述待识别文件的文件名;所述根据所述待识别文件的配方关键词得到所述待识别文件的特征张量包括:根据所述待识别文件的配方关键词与所述待识别文件的文件名得到所述特征张量。在本公开的一种示例性实施例中,在获取多个样本文件后,所述方法还包括:提取所述样本文件的文件名,并对所述样本文件的文件名进行分词,根据分词的结果构建文件名词库;对所述文件名词库中的文件名词进行独热编码,得到所述文件名词的独热向量;所述根据所述待识别文件的配方关键词与所述待识别文件的文件名得到所述特征张量包括:根据所述待识别文件的配方关键词得到所述待识别文件的第一特征向量;根据所述文件名词库将所述待识别文件的文件名拆分为文件名词,并根据所述待识别文件的文件名词的独热向量得到所述待识别文件的第三特征向量;根据所述第一特征向量与所述第三特征向量生成所述待识别文件的特征张量。在本公开的一种示例性实施例中,所述机器学习模型包括神经网络模型。在本公开的一种示例性实施例中,所述神经网络模型包括1个输入层、5个中间层与1个输出层。在本公开的一种示例性实施例中,所述从所述待识别文件中提取出配方关键词包括:对所述待识别文件的文本进行分词(tokenize),并根据分词的结果提取出所述待识别文件的配方关键词。在本公开的一种示例性实施例中,在对所述待识别文件的文本进行分词之前,所述方法还包括:对所述待识别文件的文本进行预处理,所述预处理包括以下处理中的任意一种或多种:删除无用字符、大小写转换、词干提取(stemming)与词形还原(lemmatization)。根据本公开的一个方面,提供一种配方文件识别装置,包括:文件获取模块,用于获取待识别文件;关键词提取模块,用于从所述待识别文件中提取出配方关键词,所述配方关键词为所述待识别文件中与数值成组出现的词;张量转换模块,用于根据所述待识别文件的配方关键词得到所述待识别文件的特征张量;模型处理模块,用于利用配方文件识别模型对所述特征张量进行处理,得到所述待识别文件是否为配方文件的识别结果。根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。本公开的示例性实施例具有以下有益效果:基于待识别文件中与数值成组出现的配方关键词,利用配方关键词编码的方式生成待识别文件的特征张量,并利用配方文件识别模型对特征张量进行处理,得到识别结果。一方面,通过提取配方关键词以及转换特征张量的方式,从待识别文件中充分提取出了与文件类型识别相关的特征信息,该特征信息可以更加全面的反映待识别文件的内容,基于该特征信息进行模型的识别处理,可以提高识别结果的准确度。另一方面,基于对配方文件中关键词的特点挖掘,定义与数值成组出现的词为配方关键词,从而可以大大减少从待识别文件中提取的关键词数量,并降低后续转换特征张量以及模型处理过程中的运算量,提高配方文件识别的效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本示例性实施例的一种配方文件识别方法的流程图;图2示出本示例性实施例的另一种配方文件识别方法的流程图;图3示出本示例性实施例的再一种配方文件识别方法的流程图;图4示出本示例性实施例的一种神经网络模型的示意图;图5示出本示例性实施例的另一种神经网络模型的示意图;图6示出本示例性实施例中一种配方文件识别装置的结构框图;图7示出本示例性实施例中一种用于实现上述方法的电子设备;图8示出本示例性实施例中一种用于实现上述方法的计算机可读存储介质。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。本公开的示例性实施例首先提供了一种配方文件识别方法,用于识别文件是否为配方文件。本示例性实施例的执行主体可以是企业、医院等机构内部用于文件管理的服务器或终端。参考图1所示,该配方文件识别方法可以包括以下步骤s110~s140:步骤s110,获取待识别文件。以执行主体是服务器为例说明,服务器可以从其他设备上收集待识别文件,也可以对待识别文件的文件库建立副本。除了获取待识别文件,服务器还需要读取待识别文件中的内容,否则无法正常进行后续的识别过程,因此可以为服务器配置相应的权限。步骤s120,从待识别文件中提取出配方关键词,配方关键词为待识别文件中与数值成组出现的词。通常配方的核心内容为各个组分、各个工艺步骤、各个设备的参数,与数值密不可分,基于此,在本示例实施方式中,可以认为与数值成组出现的词为配方关键词,例如在半导体工艺配方文件中,可能经常出现“pressure:500torr”、“temperature:350℃”等信息,则“pressure”、“torr”、“temperature”等词可以是配方关键词。与数值成组出现可以是指与数值相邻,位于数值前或数值后,与数值之间的间隔不超过一定的字符数,或者与数值之间具有特定的符号等,本示例实施方式对此不做特别限定。在步骤s120中,对于待识别文件是否为配方文件尚不确定,可以将待识别文件的文本中与数值成组出现的词提取出来,作为待识别文件的配方关键词,此时的配方关键词并不意味着待识别文件就是配方文件,可视为待定的配方关键词,其体现了待识别文件中可能与配方相关的特征信息。在提取配方关键词时,可以将待识别文件的全部文本中,与数值成组出现的词都提取出来,也可以对于待识别文件的部分文本(例如摘要、结论等)进行提取,还可以设置其他的提取条件,例如在数值中筛选出具有单位符号的数值,仅提取与这些数值成组出现的词,等等,本示例实施方式对此不做特别限定。在一示例性实施例中,步骤s120可以通过以下步骤实现:对待识别文件的文本进行分词,并根据分词的结果提取出待识别文件的配方关键词。其中,分词可以通过分词工具实现,例如jieba(结巴)分词工具、corenlp(斯坦福大学团队开发的分词工具包,支持中文)、ltp(哈尔滨工业大学团队开发的语言分析工具)等,也可以通过自定义的词库对待识别文件的文本逐词匹配,匹配到的词作为分词结果。在分词后,可以保留文本中的数值,并将词与数值按照其在原文本中的顺序排列,从而可以提取出与数值成组出现的词,作为配方关键词。进一步的,在对待识别文件的文本进行分词之前,还可以对待识别文件的文本进行预处理,预处理可以包括以下处理中的任意一种或多种:删除无用字符、大小写转换、词干提取与词形还原。其中,删除无用字符是指删除待识别文件的文本中无实际语义的字符,例如回车符([\r])、换行符([\n])、制表符([\t])、两个以上连续空白字符等格式性字符,或者“的”、“啊”、“谢谢”等结构词或语气词;在删除无用字符时,可以将无用字符直接从文本中删除,也可以将无用字符统一转换为一个空白字符(一个空格符)。大小写转换是指将文本中的英文单词统一大小写格式,例如将段首大写的字母全部转换为小写。词干提取是指将文本中的英文单词去除词缀得到词根,词形还原是指将英文单词还原到一般性词形(例如由不同时态的词还原为一般现在时态的词),词干提取与词形还原是对英文单词进行规范化处理的两种手段,其目的是将表达同一语义但具有不同变形的词统一转换为一个基本词,以减少文本中不同的词的数量。基于对待识别文件的文本进行预处理,可以去除待识别文件中的无用信息,以更加方便的进行分词、配方关键词的提取以及其他后续步骤,降低各步骤所需的资源量。步骤s130,根据待识别文件的配方关键词得到待识别文件的特征张量。在从待识别文件中提取出配方关键词后,可以利用配方关键词组合的形式表征待识别文件的特征信息。具体而言,可以将待识别文件的配方关键词分别转换为词向量,例如可以利用配方词库对其中的配方关键词进行one-hot编码,以得到每个配方关键词的one-hot向量,也可以通过word2vec(wordtovector)等工具构建关于配方关键词的编码矩阵,以得到每个配方关键词的特征向量等;基于配方关键词的词向量,可以通过相加、加权、拼接、组合等形式生成待识别文件的特征张量,特征张量可以是向量的形式,也可以是矩阵的形式。例如可以对待识别文件中每个配方关键词的特征向量进行相同维度的相加或加权求和计算,得到待识别文件的特征向量;或者可以根据每个配方关键词在待识别文件中的顺序,将配方关键词的特征向量组合为待识别文件的特征矩阵等等。本示例实施方式对此不做特别限定。步骤s140,利用配方文件识别模型对上述特征张量进行处理,得到待识别文件是否为配方文件的识别结果。配方文件识别模型为已经完成训练的机器学习模型,可以对文件类型进行分类,在本示例性实施例中,配方文件识别模型以特征张量为输入,以文件是否为配方文件的识别结果为输出。在步骤s130中获得待识别文件的特征张量后,可以将其输入到配方文件识别模型中,即可以输出待识别文件是否为配方文件的识别结果,从而完成识别过程。对于批量的文件,也可以通过上述步骤s110~s140实现快速识别,以将文件进行配方文件/非配方文件的分类,以便于后续针对性地进行管理。基于上述说明,在本示例性实施例中,基于待识别文件中与数值成组出现的配方关键词,利用配方关键词编码的方式生成待识别文件的特征张量,并利用配方文件识别模型对特征张量进行处理,得到识别结果。一方面,通过提取配方关键词以及转换特征张量的方式,从待识别文件中充分提取出了与文件类型识别相关的特征信息,该特征信息可以更加全面的反映待识别文件的内容,基于该特征信息进行模型的识别处理,可以提高识别结果的准确度。另一方面,基于对配方文件中关键词的特点挖掘,定义与数值成组出现的词为配方关键词,从而可以大大减少从待识别文件中提取的关键词数量,并降低后续转换特征张量以及模型处理过程中的运算量,提高配方文件识别的效率。在一示例性实施例中,参考图2所示,配方文件识别方法还可以包括以下用于获取配方文件识别模型的步骤:步骤s210,获取多个样本文件201与样本文件201的文件类型,文件类型包括配方文件(recipefiles)与非配方文件(non-recipefiles);步骤s240,根据样本文件201的配方关键词得到样本文件201的样本特征张量;步骤s250,利用样本特征张量与文件类型训练机器学习模型,得到配方文件识别模型203。其中,样本文件201为已经完成分类的文件,具有确定的文件类型,文件类型即样本文件201是配方文件或非配方文件。为了得到充分的样本,可以收集大量的样本文件,以覆盖各种类型的文件,以半导体晶圆厂的内部文件为例,样本文件可以包括足够的配方文件与非配方文件,并覆盖各个部门的文件、各个工艺流程的文件等,可以在后续实现较好的模型训练效果。步骤s240可以参照步骤s130的具体实施方式执行,使样本文件201与待识别文件可以通过同样的转换方法,得到相同形式的特征张量与样本特征张量。基于样本特征张量与样本文件201的文件类型,可以构建训练数据库202,其中样本特征张量为训练数据,文件类型为监督数据,例如可以用1/0表示配方文件/非配方文件,配方文件的监督数据为1,非配方文件的监督数据为0。在步骤s250中,可以将训练数据输入到机器学习模型中,并根据输出数据与监督数据的差别,迭代调整机器学习模型的参数,最终模型的准确率达到一定的标准,表示训练完成,得到可以实际应用的配方文件识别模型。上述机器学习模型可以采用神经网络模型、支持向量机模型、逻辑回归模型等各种不同类型的模型,一般而言,以多维度张量作为输入的机器学习模型,都适合于作为本示例实施方式中的初始模型,通过训练后得到配方文件识别模型。在一示例性实施例中,参考图2所示,在步骤s210后,还可以包括:步骤s220,对样本文件的文本进行预处理;步骤s230,对预处理后的样本文件的文本提取配方关键词。其中,预处理可以包括删除无用字符、大小写转换、词干提取与词形还原中的一种或多种具体处理手段。对样本文件的文本提取配方关键词,可参照步骤s120的具体实施方式执行,在此不进行赘述。在一示例性实施例中,参考图2所示,在获取多个样本文件201后,配方文件识别方法还可以包括以下步骤:步骤s211,对样本文件201的文本进行分词,根据分词的结果构建样本词库204;步骤s212,将样本文件201的文本中的词组添加到样本词库204中,得到完整的样本词库204;相应的,步骤s120可以通过以下步骤实现:步骤s302,从待识别文件205(unknownfiles)中提取出与数值相邻的词或词组,将这些词或词组与样本词库204进行匹配,并将匹配成功的词或词组确定为待识别文件205的配方关键词。具体而言,可以对全部的样本文件201的文本进行分词,统计其中出现过的词,形成样本词库,也可以筛选出其中较常出现的词(或筛除生僻词),以构建常用词的样本词库;在样本文件201足够且全面的基础上,样本词库204也可以覆盖到特定应用场景的全方面。除了统计样本文件201的文本中的词以外,还可以统计出现过的词组(或组合词,例如退火+时间、沉积+速率等),并基于一定的出现率标准,筛选出较常出现的词组,也添加到样本词库204中,则样本词库204中即包含词,又包含词组。在一示例性实施例中,样本词库204的形式可以如表1所示,在样本词库204中可以对各个词或词组进行编号,也可以记录其他相关信息,例如词的类型(英文词、英文词组、中文词、中文词组)、词的长度(字符数)、统计出的词频、配方关联度(通常为与配方文件的关联度)等。编号词类型长度词频%配方关联度%1temperatureword-eng110.5229.32depratephrase-eng80.2745.63退火时间phrase-chn80.0852.24上班时间phrase-chn80.113.2表1基于上述样本词库204,可以对待识别文件205进行配方关键词的提取。在提取前,也可以通过步骤s301对待识别文件205的文本进行预处理。在步骤s302中,可以提取出与数值相邻的词或词组,通常与一个数值相邻的词或词组可以有多种组合结果,例如待识别文件205中包含文本“condition:implantangle7deg,implantcurrent0.005ampere”,其中与数值“7”相邻的词组有很多组合情况:condition+implant+angle、implant+angle、deg+implant、deg+implant+current等。通过样本词库204的匹配,发现implant+angle的词组在样本词库204中有记录,从而可以提取implant+angle作为一个配方关键词。当然,在一个数值的相邻位置,可能存在多个词或词组匹配成功的情况,可以将其全部提取出来,也可以提取出其中匹配度最高的一个,还可以通过其他标准进行选择性提取等,本示例实施方式对此不做特别限定。进一步的,参考图2所示,在得到完整的样本词库204后,配方文件识别方法还可以包括以下步骤:步骤s213,通过样本词库204提取样本文件201的配方关键词,得到配方词库206;步骤s214,对配方词库206中的配方关键词进行one-hot编码,得到配方关键词的one-hot向量;相应的,步骤s130可以包括以下步骤:步骤s303,根据待识别文件的配方关键词的one-hot向量,得到待识别文件的特征张量。其中,配方词库206为样本词库204的一个子集,样本词库204中的词或词组在样本文件201中与数值成组出现的为样本文件201的配方关键词,可以生成配方词库。换而言之,样本词库204中的词需要满足至少一个条件:在样本文件204中出现过(一些实施例中可以增加关于词频的条件);配方词库206中的词需要满足至少两个条件:在样本文件201中出现过,并且在样本文件201中与数值成组出现(一些实施例中也可以增加关于词频的条件)。配方词库206中的词为配方关键词,配方词库206可视为全部配方关键词的集合。配方词库206中的每个配方关键词都有特定的编号,在一示例性实施例中,配方词库206的形式可以如表2所示,除了记录配方关键词的编号外,还可以记录词的类型、词的长度、统计出的词频(该词频基于统计出与数值成组出现的情况,与样本词库中的词频不同)、数值关联度(通常为与数值成组出现的概率)等相关信息。编号词类型长度词频%数值关联度%1temperatureword-eng112.9635.52depratephrase-eng82.2542.23退火时间phrase-chn81.5826.6表2基于配方词库206中配方关键词的编号,可以建立每个配方关键词的one-hot编码,具体而言,如果配方词库的总词数为e,则可以将每个配方关键词转换为e维的向量,其中配方关键词的编号所对应的维度值为1,其余维度值为0,从而可以获得每个配方关键词的one-hot向量。基于配方关键词的one-hot向量,可以对文件进行编码。在步骤s303中,可以获取待识别文件205的每个配方关键词的one-hot向量,将其相加、加权或组合以得到待识别文205件的特征向量或特征矩阵。在一示例性实施例中,步骤s303可以具体通过以下步骤实现:将待识别文件的全部配方关键词的one-hot向量相加,得到待识别文件的特征向量。其中,在对多个配方关键词的one-hot向量相加时,可以使每个配方关键词参与一次计算,得到的特征向量中,维度值是1或0,1表示该维度对应的配方关键词在待识别文件中出现过,0表示该维度对应的配方关键词在待识别文件中未出现过;或者可以根据每个配方关键词在待识别文件中出现过的次数参与多次计算,得到的特征向量中,维度值表示该维度对应的配方关键词在待识别文件中的出现次数;本示例实施方式对此不做特别限定。利用配方关键词的one-hot向量对待识别文件进行特征张量的编码,可以有效提取出待识别文件中与配方相关的特征信息。后续可以执行步骤s304,利用配方文件识别模型203对特征张量进行处理,得到识别结果。在一示例性实施例中,参考图3所示,在获取待识别文件305后,配方文件识别方法还可以包括以下步骤:步骤s312,提取待识别文件305的路径名;相应的,步骤s130可以包括以下步骤:根据待识别文件305的配方关键词与待识别文件305的路径名得到特征张量。其中,路径名是指待识别文件305的来源路径,例如待识别文件305位于哪台设备、哪个分区、哪个文件夹、哪个数据库等,通常路径名可以在一定程度上反映文件的类型,可视为文件特征信息的一部分,将其与配方关键词共同编码为待识别文件305的特征张量,可以包含更多信息。进一步的,在获取多个样本文件301后,配方文件识别方法还可以包括以下步骤:步骤s321,提取样本文件301的路径名,并对样本文件301的路径名进行分词,根据分词的结果构建路径词库302;步骤s322,对路径词库302中的路径词进行one-hot编码,得到路径词的one-hot向量;相应的,根据待识别文件305的配方关键词与待识别文件305的路径名得到特征张量包括以下步骤:步骤s314,根据待识别文件305的配方关键词得到待识别文件305的第一特征向量;步骤s315,根据路径词库302将待识别文件305的路径名拆分为路径词,并根据待识别文件305的路径词的one-hot向量得到待识别文件305的第二特征向量;步骤s317,根据第一特征向量与第二特征向量生成待识别文件305的特征张量。其中,路径词库302的建立方法可类似于上述样本词库或配方词库的建立方法,对路径词库302中的路径词进行one-hot编码的方法也与上述配方关键词的one-hot编码方法类似,因此不进行赘述。待识别文件305可以分别提取两部分特征:配方关键词与路径名,分别编码为第一特征向量与第二特征向量,然后组合生成待识别文件305的特征张量。在步骤s317中,可以将第一特征向量与第二特征向量进行拼接,得到更高维度的特征向量,也可以将第一特征向量与第二特征向量转换为同维度向量后(例如对维度较少的向量进行预设填充,不足的维度填充为0或者1等),组合为特征矩阵等。本示例实施方式对此不做特别限定。在一示例性实施例中,在获取待识别文件305后,配方文件识别方法还可以包括以下步骤:步骤s313,提取待识别文件305的文件名;相应的,步骤s130可以包括以下步骤:根据待识别文件305的配方关键词与待识别文件305的文件名得到特征向量。其中,文件名也可以在一定程度上反映文件的类型,可视为文件特征信息的一部分,将其与配方关键词共同编码为待识别文件305的特征张量,可以包含更多信息。进一步的,在获取多个样本文件301后,配方文件识别方法还可以包括以下步骤:步骤s323,提取样本文件301的文件名,并对样本文件301的文件名进行分词,根据分词的结果构建文件名词库303;步骤s324,对文件名词库303中的文件名词进行one-hot编码,得到文件名词的one-hot向量;根据待识别文件305的配方关键词与待识别文件305的文件名得到特征向量包括:步骤s314,根据待识别文件305的配方关键词得到待识别文件305的第一特征向量;步骤s316,根据文件名词库303将待识别文件305的文件名拆分为文件名词,并根据待识别文件305的文件名词的one-hot向量得到待识别文件305的第三特征向量;步骤s318,根据第一特征向量与第三特征向量生成待识别文件305的特征张量。其中,文件名词是指文件名中所包含的词。文件名词库303的建立方法可类似于上述样本词库或配方词库的建立方法,对文件名词库303中的文件名词进行one-hot编码的方法也与上述配方关键词的one-hot编码方法类似,因此不进行赘述。待识别文件305可以分别提取两部分特征:配方关键词与文件名,分别编码为第一特征向量与第三特征向量,然后组合生成待识别文件305的特征张量。在步骤s318中,可以将第一特征向量与第三特征向量进行拼接,得到更高维度的特征向量,也可以将第一特征向量与第三特征向量转换为同维度向量后,组合为特征矩阵等。本示例实施方式对此不做特别限定。在一示例性实施例中,也可以根据第一特征向量、第二特征向量与第三特征向量生成待识别文件305的特征张量,例如按照上述拼接或组合的方法对第一特征向量、第二特征向量与第三特征向量进行拼接或组合等。特征张量中包含了待识别文件的配方关键词信息、路径信息、文件名信息,基于该特征张量,可以通过步骤s319,将特征张量输入到配方文件识别模型中,得到识别结果,从而进一步提高识别结果的准确度。在一示例性实施例中,可以根据样本文件301生成配方词库304,则步骤314中,可以根据配方词库304中配方关键词的one-hot向量,生成待识别文件的第一特征向量。该步骤的具体实施方式可以与图2中的步骤s303类似。在一示例性实施例中,步骤s250中的机器学习模型可以是神经网络模型。在文件类型复杂的应用场景中,配方关键词的数量较多,样本文件或待识别文件转换得到的样本特征张量或特征张量具有较高的维度,神经网络模型在处理高维张量方面具有优势。进一步的,该神经网络模型可以包括1个输入层、5个中间层与1个输出层。图4示出了神经网络模型的一种示例性示意图。其中input为输入层,包括n个神经元,n为配方关键词的词库大小,即配方关键词的one-hot向量为n维向量;dense_1~dense_5为5个中间层,采用sigmoid激活函数,可以进行批量规范化处理(batchnormalization),并设置一定的丢弃率(dropout),随机丢弃一定的神经元数量,以减少模型的运算量;其中dense_1、dense_2、dense_4、dense_5分别包括100个神经元,dense_3包括20个神经元;output为输出层,可以采用rmse(rootmeansquareerror,均方根误差)损失函数与sgd(stochasticgradientdescent,随机梯度下降法)优化算法。特别的,图4中的虚线部分还可以对配方关键词进行特征编码,具体而言,基于训练完成的完整神经网络模型,将input层到dense_3层部分截取出来,输入配方关键词的one-hot向量,可以在dense_3层输出该配方关键词的20维的词向量。通常词向量基于配方词库的空间特征,有别于one-hot形式的稀疏向量,特征的表征更加充分。可以基于配方关键词的词向量执行步骤s130,获取待识别文件的配方关键词的词向量,并将词向量进行组合或拼接,得到特征稠密的特征张量。应当理解,图4中所示的神经网络模型仅是示例性的,根据实际需要,可以设置任意数量的中间层,也可以增设其他类型的隐藏层,如全连接层、softmax(归一化指数)层等;此外,每一层的配置可以调整,例如神经元的数量可调,激活函数可以采用relu(修正线性单元)函数、tanh(双曲正切)函数等其他函数,优化算法可以采用adam(适应性矩估计)优化器等;本示例实施方式对此不做特别限定。在一示例性实施例中,可以对图4中的神经网络模型进行简化,得到如图5所示的神经网络模型,其中,dense_3层之后连接dense_6层,可作为输出层,可以采用sigmoid激活函数、binary_crossentropy(交叉熵)损失函数以及adam优化器。本公开的示例性实施例还提供了一种配方文件识别装置,参考图6所示,该配方文件识别装置600可以包括:文件获取模块610,用于获取待识别文件;特征提取模块620,用于从待识别文件中提取出配方关键词,配方关键词为待识别文件中与数值成组出现的词;张量转换模块630,用于根据待识别文件的配方关键词得到待识别文件的特征张量;模型处理模块640,用于利用配方文件识别模型对特征张量进行处理,得到待识别文件是否为配方文件的识别结果。在一示例性实施例中,配方文件识别装置还可以包括模型获取模块,模型获取模块又可以包括以下单元:样本文件获取单元,用于获取多个样本文件与样本文件的文件类型,文件类型包括配方文件与非配方文件;样本张量转换单元,用于根据样本文件的配方关键词得到样本文件的样本特征张量;模型训练单元,用于利用样本特征张量与文件类型训练机器学习模型,得到配方文件识别模型。在一示例性实施例中,配方文件识别装置还可以包括词库管理模块,词库管理模块又可以包括:样本词库单元,用于对样本文件的文本进行分词,根据分词的结果构建样本词库,以及将样本文件的文本中的词组添加到样本词库中,得到完整的样本词库;特征提取模块可以用于从待识别文件中提取出与数值相邻的词或词组,将这些词或词组与样本词库进行匹配,并将匹配成功的词或词组确定为待识别文件的配方关键词。在一示例性实施例中,词库管理模块还可以包括:配方词库单元,用于通过样本词库提取样本文件的配方关键词,得到配方词库,以及对配方词库中的配方关键词进行one-hot编码,得到配方关键词的one-hot向量;张量转换模块可以用于根据待识别文件的配方关键词的one-hot向量,得到待识别文件的特征张量。在一示例性实施例中,张量转换模块可以用于将待识别文件的全部配方关键词的one-hot向量相加,得到待识别文件的特征向量。在一示例性实施例中,特征提取模块还可以包括:路径特征提取单元,用于提取待识别文件的路径名;张量转换模块可以用于根据待识别文件的配方关键词与待识别文件的路径名得到特征张量。在一示例性实施例中,词库管理模块还可以包括路径词库单元,用于提取样本文件的路径名,并对样本文件的路径名进行分词,根据分词的结果构建路径词库,以及对路径词库中的路径词进行one-hot编码,得到路径词的one-hot向量;张量转换模块可以包括:第一转换单元,用于根据待识别文件的配方关键词得到待识别文件的第一特征向量;第二转换单元,用于根据路径词库将待识别文件的路径名拆分为路径词,并根据待识别文件的路径词的one-hot向量得到待识别文件的第二特征向量;向量合并单元,用于根据第一特征向量与第二特征向量生成待识别文件的特征张量。在一示例性实施例中,特征提取模块还可以包括:文件名提取单元,用于提取待识别文件的文件名;张量转换模块可以用于根据待识别文件的配方关键词与待识别文件的文件名得到特征张量。在一示例性实施例中,词库管理模块还可以包括文件名词库单元,用于提取样本文件的文件名,并对样本文件的文件名进行分词,根据分词的结果构建文件名词库,以及对文件名词库中的文件名词进行one-hot编码,得到文件名词的one-hot向量;张量转换模块可以包括:第一转换单元,用于根据待识别文件的配方关键词得到待识别文件的第一特征向量;第三转换单元,用于根据文件名词库将待识别文件的文件名拆分为文件名词,并根据待识别文件的文件名词的one-hot向量得到待识别文件的第三特征向量;向量合并单元,用于根据第一特征向量与第三特征向量生成待识别文件的特征张量。在一示例性实施例中,上述机器学习模型可以包括神经网络模型。在一示例性实施例中,上述神经网络模型可以包括1个输入层、5个中间层与1个输出层。在一示例性实施例中,特征提取模块可以用于对待识别文件的文本进行分词,并根据分词的结果提取出待识别文件的配方关键词。在一示例性实施例中,文件获取模块还可以包括:预处理单元,用于在获取待识别文件后,对待识别文件的文本进行预处理,预处理包括以下处理中的任意一种或多种:删除无用字符、大小写转换、词干提取与词形还原。上述装置中的各模块/单元的具体细节已经在对应的方法部分实施例中进行了详细的说明,因此不再赘述。本公开的示例性实施例还提供了一种能够实现上述方法的电子设备。所属
技术领域
的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。下面参照图7来描述根据本公开的这种示例性实施例的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元710可以执行图1所示的步骤s110~s140等。存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(rom)723。存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备700也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施例的方法。本公开的示例性实施例还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。参考图8所示,描述了根据本公开的示例性实施例的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施例,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1