本发明涉及通信技术领域,尤其涉及一种终端类型识别方法及装置。
背景技术:
随着信息技术的发展,人们使用接入网络的终端设备来满足工作和生活需要,对于不同的终端设备,所需要的网络带宽以及网络接入权限均不同。为更好的实现网络管理,需要识别终端设备的终端类型,然后基于所述终端类型制定相应的网络访问策略,识别终端类型成为实现网络管理的重要环节。
传统的终端类型识别模型中,将能够表征终端类型的操作系统类型、制造商信息等特征作为终端设备的指纹信息,所述特征均可以在终端设备接入网络的通讯信息中获取。具体的识别过程为:首先进行终端类型识别模型的训练,具体为人工基于已知终端类型的终端设备的指纹信息,从所述指纹信息中提取能够表征所述终端设备的终端类型的关键词,所述关键词为相关人员基于业务特征以及业务经验所提取的,用以表征识别终端类型的关键特征。然后,使用所述终端类型识别模型对终端设备的指纹信息进行检测,完成基于所述关键词的特征提取,进而确定终端类型。
但是,在人工提取关键词的过程中,存在人为的主观因素,可能无法挑选出能够有效确定终端类型的关键词,这样,就无法准确的识别终端类型,而且识别终端类型的过程需要耗费大量的时间成本和人力成本,影响终端识别模型的性能。
有鉴于此,需要一种新的终端类型识别方法及装置,用以解决现有技术中存在的依赖于人工提取关键词无法准确识别终端类型的问题。
技术实现要素:
本发明实施例提供一种终端类型识别方法及装置,用以解决现有技术中存在的依赖于人工提取关键词无法准确识别终端类型的问题。
本发明实施例提供的具体技术方案如下:
一种终端类型识别方法,包括:
获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的动态主机控制协议可选项dhcpoption信息以及媒体访问控制mac地址;
按照预设的格式对所述指纹信息进行处理,生成待测试数据;
调用预设的文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的。
可选的,所述按照预设的格式对所述指纹信息进行处理,包括:
获取所述mac地址的前六位字符;
基于所述mac地址的前六位字符获得电气及电子工程师协会ieee登记的厂商名;
设置所述厂商名为媒体访问控制组织唯一标识macoui信息。
可选的,所述按照预设的格式对所述指纹信息进行处理,包括:
按照指定的分割方式分割所述dhcpoption信息以及所述macoui信息,得到关键词信息,其中,所述dhcpoption信息包括所述待测试终端设备的主机名、所述待测试终端设备的网络请求参数列表以及所述待测试终端设备的厂商类别标识信息;
按照预设的格式整合所述关键词信息。
可选的,获取待测试终端设备的指纹信息之前,进一步包括:对所述文本分类模型进行训练;具体包括:
获取海量的样本数据,并计算各个样本数据中各个特征词的特征概率值;
筛选出特征概率值符合第一设定条件的样本数据,获得相应的样本数据集合;
按照循环迭代方式执行以下步骤,直到确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件为止:
从所述样本数据集合中读取一个样本数据;
采用所述文本分类模型对所述一个样本数据进行识别,输出相应的终端类型识别结果及相应的概率值;
若终端类型识别结果准确且所述概率值达到预设的门限值,则读取下一个样本数据;否则,基于当前获得的终端类型识别结果及相应的概率值,调节所述文本分类模型的输出权重参数,并读取下一个样本数据;
输出训练完毕的所述文本分类模型。
可选的,所述计算各个样本数据中各个特征词的特征概率值,包括:
获取已知终端类型的终端设备集合,处理所述终端设备集合中各个终端设备的指纹信息,其中,一个终端设备的指纹信息对应一个样本数据;
分别记录与各个终端类型对应的样本数据,生成相应的样本数据子集合;
分别对每一个样本数据子集合执行以下操作:
依次计算一个样本数据子集合中各个样本数据的各个特征词在所述样本数据子集合中的特征词出现次数,以及计算所述样本数据子集合对应的终端设备数目;
基于各个特征词对应的特征词次数以及所述终端设备数目,计算各个特征词的特征概率值。
可选的,所述筛选出特征概率值符合第一设定条件的样本数据,包括:
针对任意一个样本数据执行以下操作:
获取所述任意一个样本数据中各个特征词的特征概率值;
筛选出特征概率值小于设定的随机数的特征词,保留在所述任意一个样本数据中,删除其他特征词。
可选的,确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件,包括:
每获得一个终端类型识别结果及相应的概率值,在确定所述终端类型识别结果包含正确的终端类型,以及所述概率值达到预设的门限值时,将成功识别总数目加1;
确定所述成功识别总数目连续增加的次数达到预设值时,判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件。
一种终端类型识别装置,包括:
获取单元,获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的动态主机控制协议可选项dhcpoption信息以及媒体访问控制mac地址;
处理单元,按照预设的格式对所述指纹信息进行处理,生成待测试数据;
调用单元,调用预设的文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的。
可选的,所述按照预设的格式对所述指纹信息进行处理时,所述处理单元用于:
获取mac地址的前六位字符;
基于所述mac地址的前六位字符获得电气及电子工程师协会ieee登记的厂商名;
设置所述厂商名为媒体访问控制组织唯一标识macoui信息。
可选的,所述按照预设的格式对所述指纹信息进行处理时,所述处理单元进一步用于:
按照指定的分割方式分割所述dhcpoption信息以及所述macoui信息,得到关键词信息,其中,所述dhcpoption信息包括所述待测试终端设备的主机名、所述待测试终端设备的网络请求参数列表以及所述待测试终端设备的厂商类别标识信息;
按照预设的格式整合所述关键词信息。
可选的,获取待测试终端设备的指纹信息之前,所述装置进一步包括训练单元:对所述文本分类模型进行训练;所述训练单元具体用于:
获取海量的样本数据,并计算各个样本数据中各个特征词的特征概率值;
筛选出特征概率值符合第一设定条件的样本数据,获得相应的样本数据集合;
按照循环迭代方式执行以下步骤,直到确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件为止:
从所述样本数据集合中读取一个样本数据;
采用所述文本分类模型对所述一个样本数据进行识别,输出相应的终端类型识别结果及相应的概率值;
若终端类型识别结果准确且所述概率值达到预设的门限值,则读取下一个样本数据;否则,基于当前获得的终端类型识别结果及相应的概率值,调节所述文本分类模型的输出权重参数,并读取下一个样本数据;
输出训练完毕的所述文本分类模型。
可选的,所述计算各个样本数据中各个特征词的特征概率值时,所述训练单元用于:
获取已知终端类型的终端设备集合,处理所述终端设备集合中各个终端设备的指纹信息,其中,一个终端设备的指纹信息对应一个样本数据;
分别记录与各个终端类型对应的样本数据,生成相应的样本数据子集合;
分别对每一个样本数据子集合执行以下操作:
依次计算一个样本数据子集合中各个样本数据的各个特征词在所述样本数据子集合中的特征词出现次数,以及计算所述样本数据子集合对应的终端设备数目;
基于各个特征词对应的特征词次数以及所述终端设备数目,计算各个特征词的特征概率值。
可选的,所述筛选出特征概率值符合第一设定条件的样本数据时,所述训练单元进一步用于:
针对任意一个样本数据执行以下操作:
获取所述任意一个样本数据中各个特征词的特征概率值;
筛选出特征概率值小于设定的随机数的特征词,保留在所述任意一个样本数据中,删除其他特征词。
可选的,确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件时,所述训练单元用于:
每获得一个终端类型识别结果及相应的概率值,在确定所述终端类型识别结果包含正确的终端类型,以及所述概率值达到预设的门限值时,将成功识别总数目加1;
确定所述成功识别总数目连续增加的次数达到预设值时,判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件。
一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行所述存储器中存储的可执行指令,以实现上述任一项所述的终端类型识别方法。
一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述任一项所述的终端类型识别方法。
本发明有益效果如下:
本申请实施例提供了一种终端类型识别方法及装置。首先获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的dhcpoption信息,以及mac地址,然后,按照预设的格式对所述指纹信息进行处理,生成待测试数据,再获取预设的文本分类模型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的,调用所述文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型。这样,在进行终端类型识别时可以有效准确地识别终端类型,避免了由于提取关键词不准确造成的无法准确识别终端类型的问题,同时,节约了人力和时间成本。
附图说明
图1为本申请实施例中训练文本分类模型流程示意图;
图2为本申请实施例中识别终端类型流程示意图;
图3为本申请实施例中承载网络云平台的服务器的逻辑示意图;
图4为本申请实施例中承载网络云平台的服务器的实体结构示意图。
具体实施方式
为了解决现有技术中存在的依赖于人工提取关键词无法准确识别终端类型的问题。本申请首先获取待测试终端设备的指纹信息,然后按照预设的格式对所述指纹信息进行处理,生成相应的待测试数据,再获取预设的文本分类模型对所述待测试数据进行特征识别,确定所述待测试终端的终端类型。
下面结合附图,对本申请优选的实施例做出进一步说明:
网络云平台管理大量的可接入网络,当终端设备接入网络时,所述网络云平台接收所述终端设备发送的网络接入通信请求,所述网络接入通信请求中包括所述终端设备的指纹信息。然后所述网络云平台对所述终端设备的指纹信息进行处理,然后调用预设的文本分类模型进行识别,得到所述终端设备的终端类型,进而为所述终端设备配置相应的网络访问策略。
网络云平台在实现终端类型识别的功能时,首先,需要基于已知终端类型的终端设备的指纹信息进行训练识别,以保证在实际的使用中能够准确的识别终端类型。
下面结合附图1,对所述网络云平台训练文本分类模型的过程进行说明:
步骤101:获取海量的样本数据。
获取已知终端类型的终端设备集合,处理所述终端设备集合中各个终端设备的指纹信息,其中,一个终端设备的指纹信息对应一个样本数据。其中,所述终端设备集合中包括海量的已知终端类型的终端设备的指纹信息,所述指纹信息至少包括所述终端设备的动态主机控制协议可选项(dynamichostconfigurationprotocoloption,dhcpoption)信息,以及媒体访问控制(mediaaccesscontrol,mac)地址。基于所获得的海量的已知终端类型的指纹信息,处理后可以得到海量的样本数据。
具体的,网络云平台首先接收已知终端类型的全部终端设备的指纹信息,对于一个已知终端类型的终端设备,所述网络云平台首先通过接收所述终端设备发送的网络接入通信请求,得到所述网络接入请求中所携带的所述终端设备的指纹信息,所述指纹信息可以区分不同终端设备的终端类型,所述指纹信息至少包括dhcpoption信息以及mac地址,下面对所述dhcpoption信息以及所述mac地址进行说明:
(1)dhcpoption信息
dhcpoption信息来源于动态主机控制协议(dynamichostconfigurationprotocol,dhcp),所述dhcp是所有终端设备均配置的通信协议,所述dhcpoption信息是dhch报文可选项,可以有多种的取值,每种取值所表征的dhcp内容各不相同。
例如,dhcpoption1表征子网掩码,dhcpoption6表征域名服务器,dhcpoption12表征主机名、dhcpoption55表征网络请求参数列表,dhcpoption60表征厂商类别标识信息,等等。
本申请中,所述dhcpoption信息包括dhcpoption12、dhcpoption55以及dhcpoption60。
(2)mac地址
网络云平台获取mac地址,所述mac地址用于表征终端设备中网卡的独一无二的信息,基于所述mac地址可以确定所述终端设备的厂商名,所述厂商名为电气及电子工程师协会(instituteofelectricalandelectronicsengineers,ieee)登记的与所述mac地址相对应的厂商的公司id。
进一步的,按照预设的格式处理所述终端设备集合中各个终端设备的指纹信息,并基于所述各个终端设备的指纹信息对应生成各个样本数据。
具体的,网络云平台对所获取的海量的已知终端类型的全部终端设备的指纹信息进行处理,生成海量的样本数据,所述样本数据用于在后续的步骤中进行终端类型识别,而且,每一个样本数据对应一个终端设备的指纹信息。
下面以网络云平台对一个终端设备的指纹信息进行处理生成一个样本数据为例进行说明,首先网络云平台对获取到的指纹信息进行初步整理,用空格代替所述指纹信息中的异常字符,所述异常字符包括但不限于“-”“_”。
进一步的,所述网络云平台按照预设的格式对所述指纹信息中的dhcpoption信息和mac地址进行处理,下面将对本申请中所述dhcpoption信息中包括的dhcpoption12信息、dhcpoption55信息以及dhcpoption60信息的处理进行详细说明。
(1)dhcpoption12信息处理
所述dhcpoption12信息用于表征终端设备的主机名,网络云平台采用开源工具(结巴分词(jieba))对获取的所述dhcpoption12信息进行分词处理,得到的每一段信息都可以在后续拼接为样本数据时,作为所述样本数据的特征。
例如,所述网络云平台获取的dhcpoption12的信息为“xx平板”,进行分词处理后得到的内容为“xx平板”,在生成样本数据后,‘xx’和‘平板’均是所述样本数据的特征。
(2)dhcpoption55信息处理
所述dhcpoption55信息用于表征终端设备的网络请求参数列表,网络云平台将获取的dhcpoption55信息,按照字符“,”进行分割,并在分割后的每个子项前添加“do55_”作为分割标识,得到的每一段信息都可以在后续拼接为样本数据时,作为所述样本数据的特征。
例如,所述dhcpoption55信息为“1,33,3,6,15,26,28,51,58,59”,所述网络云平台对所述dhcpoption55信息进行分割处理,得到处理后的内容为“do55_1do55_33do55_3do55_6do55_15do55_26do55_28do55_51do55_58do55_59”,在生成样本数据后,‘do55_1’、‘do55_33’、‘do55_3’、‘do55_6’、‘do55_15’、‘do55_26’、‘do55_28’、‘do55_51’、‘do55_55’、‘do55_58’、‘do55_59’均是所述样本数据的特征。
(3)dhcpoption60信息处理
所述dhcpoption60信息用于表征终端设备的厂商类别标识信息,网络云平台将获取的dhcpoption60信息进行分割,并在分割后的每个子项前添加“do60_”作为分割标识,得到的每一段信息都可以在后续拼接为样本数据时,作为所述样本数据的特征。
例如,获取所述dhcpoption60信息为“dhcpcd-5.5.6”,进行初步整理后得到所述dhcpoption60信息为“dhcpcd5.5.6”,所述网络云平台对所述dhcpoption60信息进行分割处理,得到处理后的内容为“do60_dhcpcddo60_5.5.6”,在生成样本数据后,‘do60_dhcpcd’和‘do60_5.5.6’均是所述样本数据的特征。
同时,所述网络云平台按照预设的格式对所述指纹信息中的mac地址进行进一步处理。具体的,所述网络云平台提取所述mac地址的前六位字符,并基于所述mac地址的前六位字符获得ieee登记的厂商名,设置所述厂商名为媒体访问控制组织唯一标识(mediaaccesscontrolorganizationallyuniqueidentifier,macoui)信息,并将所述macoui信息作为处理后的数据参与后续操作,得到的所述macoui信息在后续拼接为样本数据时,是所述样本数据的特征。
例如,获取的mac地址为“d065.caa9.7b5b”,所述网络云平台按照上述处理方式对所述mac地址进行处理,得到处理后的macoui信息为“xxtechnologiescoltd”,在生成样本数据后,‘xxtechnologiescoltd’是所述样本数据的特征。
进一步的,所述网络云平台将处理得到的dhcpoption信息以及macoui信息按照预设的格式进行拼接,最终得到处理后的样本数据。
例如,所述网络云平台设置采用“(macoui)(dhcpoption12信息)(dhcpoption55信息)(dhcpoption66信息)”的顺序进行信息拼接,而且采集到终端设备a的指纹信息如下:mac地址为”d065.caa9.7b5b”,dhcpoption12信息为”xx平板”,dhcpoption55信息为”1,33,3,6,15,26,28,51,58,59”,dhcpoption60信息为”dhcpcd-5.5.6”,那么采用上述预设的格式进行分别处理后,得到所述终端设备a最终的样本数据为“xxechnologiescoltdxx平板do55_1do55_33do55_6do55_15do55_26do55_28do55_51do55_58do55_59do60_dhcpcddo60_5.5.6”,如上所述,拼接得到的每一个分段部分均是所述样本数据的特征。
步骤102:计算各个样本数据中各个特征词的特征概率值。
网络云平台基于获取的已知终端类型的终端设备集合,处理所述终端设备集合中各个终端设备的指纹信息,所述各个终端设备的指纹信息对应生成各个样本数据。然后,所述网络云平台调用文本分类模型分别记录与各个终端类型对应的样本数据,生成相应的样本数据子集合。
进一步的,所述网络云平台调用所述文本分类模型针对每一个样本数据子集合中各个样本数据的各个特征词,计算所述各个特征词的特征概率值,所述样本数据子集合中的样本数据对应相同的终端类型。
具体的,所网络云平台调用所述文本分类模型依次计算一个样本数据子集合中各个样本数据的各个特征词在所述样本数据子集合中的特征词出现次数,以及计算所述样本数据子集合对应的终端设备数目,再基于各个特征词对应的特征词次数以及所述终端设备数目,采用以下公式,计算各个特征词的特征概率值:
其中,n(c,i)表示特征词i在所述样本数据子集合中出现的次数,n(i)表示所述样本数据子集合对应的终端设备数目,t(c,i)表示所述特征词i的特征概率值,x为根据实际需要所自行配置的数据,本申请中取值为0.382。
例如,假设所述网络云平台获取了60条终端设备的指纹信息,其中,属于终端类型a的终端设备的指纹信息10个,属于终端类型b的终端设备的指纹信息15个,属于终端类型c的终端设备的指纹信息20个,属于终端类型d的终端设备的指纹信息15个,经过处理后生成样本数据子集合a,包括样本数据10个;样本数据子集合b,包括样本数据15个;样本数据子集合c,包括样本数据20个;样本数据子集合d,包括样本数据15个。
下面以样本数据子集合a为例,对样本数据子集合a中各个样本数据的各个特征词的特征概率值的计算进行说明,例如,对于样本数据子集合a,样本数据的内容为:样本数据1“a,b,c”、样本数据2“b,c,d”、样本数据3“a,b,g”、样本数据4“l,b,c”、样本数据5“o,b,d”,那么,可知特征词a在样本数据子集合a中出现的次数为2次,样本数据子集合a对应的终端设备数目为5,那么通过上述公式可计算得到特征词a的特征概率值为0.18。同理特征词b的特征概率值0,特征词c的特征概率值为0.08,特征词d的特征概率值为0.18,特征词g的特征概率值为0.32。
步骤103:筛选出特征概率值符合第一设定条件的样本数据,获得相应的样本数据集合。
具体的,网络云平台使用文本分类模型将处理后生成的样本数据按照对应的终端类型分为各个样本数据子集合,再计算得到各个样本数据子集合中各个样本数据的各个特征词的特征概率值。
然后,获取所述任意一个样本数据中各个特征词的特征概率值,筛选出特征概率值小于设定的随机数的特征词,保留在所述任意一个样本数据中,删除其他特征词,特征词的特征概率值小于设定的随机数即为第一设定条件。
具体的,所述网络云平台通过所述文本分类模型,基于具有相同终端类型的样本数据子集合计算得到所述样本数据子集合中各个样本数据的各个特征词的特征概率值,然后,将各个特征词的特征概率值分别与随机生成的0-1之间的随机数进行比较,当判断出所述特征概率值小于所述随机数时,在所述样本数据子集合的所有样本数据中保留所述特征概率值对应的特征词,当判断出所述特征概率值大于所述随机数时,在所述样本数据子集合的所有样本数据中删除所述特征概率值对应的特征词。最后,基于各个样本数据子集合中经过筛选的样本数据生成样本数据集合。这样,通过将特征词的特征概率值与随机数进行比较,实现了对特征词的筛选,除去相对不重要的特征词,减轻后续文本分类模型的识别压力。
例如,已知样本数据子集合a中有5条对应终端类型a的样本数据,特征词a出现了2次,计算得到特征概率值为0.18;特征词b出现了5次,计算得到特征概率值0,特征词c出现3次,计算得到特征概率值为0.08,特征词d出现2次,计算得到特征概率值为0.18,特征词g出现1次,计算得到特征概率值为0.32,可见在上述几个特征词中,特征词g由于其特征概率值最大,所以在与生成的随机数进行比较时,最大可能会大于生成的0-1之间的随机数进而被删除,而特征词b的特征概率值为0,不可能会大于生成的0-1之间的随机数,这样,说明所述特征词b可以用于表征终端类型a,进而被保留。
步骤104:从所述样本数据集合中读取一条样本数据。
具体的,网络云平台读取经过第一设定条件筛选的样本数据集合中的一条样本数据,所述样本数据中包含的各个特征词都是经过筛选且对应的特征概率值在比较的过程中小于生成的0-1之间的随机数的。
步骤105:采用所述文本分类模型对所述一条样本数据进行识别,输出相应的终端类型识别结果及相应的概率值。
具体的,网络云平台采用文本分类模型对读取的一条样本数据进行识别,所述文本分类模型是基于文本分类工具fasttext构建的,包括有输入层、隐含层、输出层,所述输入层用于接收样本数据后,将所述样本数据映射为向量形式,并基于词向量工具(word2vec)将所述向量形式的样本数据生成所述隐含层可以进一步处理的特征矩阵形式,所述隐含层用于接收所述输入层映射的数据,使用如下公式向所述文本分类模型的输出层输入向量:
z=sigmoid(woh)
其中,z表示所述文本分类模型隐含层的输出向量,w0用于表征所述隐含层到所述输出层的权重,h表示所述隐含层对所述输入层输入的特征矩阵进行叠加平均计算。
所述h的计算公式如下:
其中,所述n表示通过word2vec工具生成的特征矩阵的列数,wi表征所述特征矩阵中某一列向量。
进一步的,所述输出层基于如下公式得到向量形式的输出概率值,所述输出层输出的终端类型的种类数目用参数class_num表征,所述class_num的具体数量可以根据实际的需要自行设置。
其中,
例如,输出的
步骤106:判断所述终端类型识别结果是否正确,且与正确结果对应的概率值是否达到预设的门限值,若是,执行步骤108,否则,执行步骤107。
具体的,网络云平台基于文本分类模型输出的终端类型识别结果及相应的概率值进行判断,所述文本分类模型可能会输出多个终端类型识别结果及相应的概率值,又由于所述文本分类模型识别的是已知终端类型的样本数据,当所述网络云平台判断出所述文本分类模型输出的终端类型识别结果中已知终端类型的概率值超过预设的门限值时,则执行步骤108,否则执行步骤107。
例如,所述网络云平台得到所述文本分类模型第一次输出的终端类型识别结果及相应的概率值为:终端类型a:0.75,终端类型b:0.2,终端类型c:0.05,且已知正确的终端类型为终端类型a,预设的门限值为0.95,那么由于得到的识别结果中终端类型a的概率值为0.75,未到预设的门限值0.95,可判断所述文本分类模型识别性能未达到预期的要求,需要进一步对所述文本分类模型进行调整。
又例如,网络云平台得到所述文本分类模型第n次输出的终端类型识别结果及相应的概率值为:终端类型a:0.96,终端类型b:0.02,终端类型c:0.02,此时终端类型a的概率值为0.96达到预设的门限值0.95,所述文本分类模型成功识别当前样本数据的终端类型。
步骤107:基于当前获得的终端类型识别结果及相应的概率值,调节所述文本分类模型的输出权重参数。
具体的,网络云平台判段文本分类模型输出的识别结果中,正确终端类型的概率值未达到预设的门限值或者所述文本分类模型输出的识别结果中无正确的终端类型时,基于当前获得的终端类型的识别结果及相应的概率值以及交叉熵损失函数调节所述文本分类模型的输出权重参数。交叉熵函数的公式如下:
其中,yj表征正确输出时应该输出的向量,
步骤108:将成功识别总数目加1。
具体的,网络云平台判段文本分类模型输出的识别结果中,当正确终端类型的概率值达到预设的门限值时,将成功识别总数目加1,所述成功识别总数目是一个累计的数值。
步骤109:判断所述成功识别总数目连续增加的次数是否达到预设值,若是,执行步骤110,否则,返回执行步骤104。
具体的,网络云平台基于成功识别总数目进行进一步判断,当判断出所述成功识别总数目连续增加的次数达到预设值时,则证明经过反复调整文本分类模型后,所述文本分类模型连续输出的终端类型识别结果正确且相应的概率值达到预设的门限值,表示所述文本分类模型能够实现趋于稳定的正确识别样本数据。
当判断出所述成功识别总数目连续增加的次数未达到预设值时,说明所述文本分类模型识别的样本数据的连续准确的次数尚未达到要求,需要返回步骤104,继续读取新的样本数据进行判断。
步骤110:判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件,输出训练完毕的所述文本分类模型。
网络云平台判断出成功识别总数目连续增加的次数达到预设值时,可以判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件。具体的,所述网络云平台每获得一个终端类型识别结果及相应的概率值,在确定所述终端类型识别结果包含正确的终端类型,以及所述概率值达到预设的门限值时,将成功识别总数目加1,当确定所述成功识别总数目连续增加的次数达到预设值时,判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件。进一步的,结束当前的样本数据读取和识别的过程,得到训练完毕的文本分类模型,所述文本分类模型可以在实际的数据识别中进行使用。
下面结合附图2,对所述网络云平台利用所述文本分类模型进行终端类型识别的过程进行说明:
步骤201:获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的dhcpoption信息,以及mac地址。
具体的,网络云平台获取待测试终端设备的指纹信息,基于所述指纹信息可以识别所述待测试终端设备,所述指纹信息至少包括所述待测试终端设备的dhcpoption信息以及mac地址,所述指纹信息的具体内容已经在步骤101中详细说明,在此不再赘述。
步骤202:按照预设的格式对所述指纹信息进行处理,生成待测试数据。
网络云平台按照预设的格式对得到的待测试终端设备的指纹信息进行处理,具体的,所述网络云平台基于mac地址生成macoui信息,并按照预设的格式对dhcpoption信息的内容进行整理,分割成若干个特征词的形式,并按照设定的拼接顺序对所述特征词进行拼接,生成待测试数据。
将指纹信息处理为待测试数据的过程与步骤101中描述的将指纹信息处理为样本数据的处理方式相同,在此不再赘述。
步骤203:调用预设的文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的。
具体的,网络云平台调用所述文本分类模型对所述待测试数据进行特征识别,所述文本分类模型是经过识别训练的,在训练所述文本分类模型时,基于经过特征词筛选的样本数据进行识别,并基于训练过程中所述文本分类模型输出的终端类型识别结果及相应的概率值,对所述文本分类模型进行调节,最终得到训练完成的所述文本分类模型,具体的训练过程请参见上述附图1对应的相关流程步骤。
进一步的,网络云平台将待测试数据输入文本分类模型中,得到所述文本分类模型输出的所述待测试数据对应的终端类型结果,确定所述待测试数据对应的终端类型。所述网络云平台在进行所述文本分类模型的终端类型识别训练时,输出的是设定的class_num个可能的终端类型以及相应的概率值,而在实际识别所述待测试数据时,所述网络云平台得到的文本分类模型的输出结果只有一个概率值最大的终端类型,具体的识别过程与上述步骤105中的识别过程相同,在此不再赘述。
基于上述实施例,参阅图3所示,本申请实施例中,承载网络云平台的服务器至少包括:
获取单元301:获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的dhcpoption信息以及mac地址;
处理单元302:按照预设的格式对所述指纹信息进行处理,生成待测试数据;
调用单元303:调用预设的文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的。
可选的,所述按照预设的格式对所述指纹信息进行处理时,所述处理单元302用于:
获取所述mac地址的前六位字符;
基于所述mac地址的前六位字符获得电气及电子工程师协会ieee登记的厂商名;
设置所述厂商名为媒体访问控制组织唯一标识macoui信息。
可选的,所述按照预设的格式对所述指纹信息进行处理时,所述处理单元302进一步用于:
按照指定的分割方式分割所述dhcpoption信息以及所述macoui信息,得到关键词信息,其中,所述dhcpoption信息包括所述待测试终端设备的主机名、所述待测试终端设备的网络请求参数列表以及所述待测试终端设备的厂商类别标识信息;
按照预设的格式整合所述关键词信息。
训练单元304:获取待测试终端设备的指纹信息之前,对所述文本分类模型进行训练;所述训练单元304具体用于:
获取海量的样本数据,并计算各个样本数据中各个特征词的特征概率值;
筛选出特征概率值符合第一设定条件的样本数据,获得相应的样本数据集合;
按照循环迭代方式执行以下步骤,直到确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件为止:
从所述样本数据集合中读取一个样本数据;
采用所述文本分类模型对所述一个样本数据进行识别,输出相应的终端类型识别结果及相应的概率值;
若终端类型识别结果准确且所述概率值达到预设的门限值,则读取下一个样本数据;否则,基于当前获得的终端类型识别结果及相应的概率值,调节所述文本分类模型的输出权重参数,并读取下一个样本数据;
输出训练完毕的所述文本分类模型。
可选的,所述计算各个样本数据中各个特征词的特征概率值时,所述训练单元304用于:
获取已知终端类型的终端设备集合,处理所述终端设备集合中各个终端设备的指纹信息,其中,一个终端设备的指纹信息对应一个样本数据;
分别记录与各个终端类型对应的样本数据,生成相应的样本数据子集合;
分别对每一个样本数据子集合执行以下操作:
依次计算一个样本数据子集合中各个样本数据的各个特征词在所述样本数据子集合中的特征词出现次数,以及计算所述样本数据子集合对应的终端设备数目;
基于各个特征词对应的特征词次数以及所述终端设备数目,计算各个特征词的特征概率值。
可选的,所述筛选出特征概率值符合第一设定条件的样本数据时,所述训练单元304进一步用于:
针对任意一个样本数据执行以下操作:
获取所述任意一个样本数据中各个特征词的特征概率值;
筛选出特征概率值小于设定的随机数的特征词,保留在所述任意一个样本数据中,删除其他特征词。
可选的,确定所述文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件时,所述训练单元304用于:
每获得一个终端类型识别结果及相应的概率值,在确定所述终端类型识别结果包含正确的终端类型,以及所述概率值达到预设的门限值时,将成功识别总数目加1;
确定所述成功识别总数目连续增加的次数达到预设值时,判定文本分类模型输出的终端类型识别结果及相应的概率值符合第二设定条件。
基于同一发明构思,参阅图4所示,本申请实施例中提出一种承载网络云平台的服务器,所述服务器至少包括:存储器401和处理器402,其中,
存储器401,用于存储可执行指令;
处理器402,用于读取所述存储器401中的计算机指令,用以实现上述任一种方法。
基于同一发明构思,本申请实施例中提供一种存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述任一种方法。
综上所述,本申请实施例中,首先获取待测试终端设备的指纹信息,所述指纹信息至少包括所述待测试终端设备的dhcpoption信息,以及mac地址,然后,按照预设的格式对所述指纹信息进行处理,生成待测试数据,再获取预设的文本分类模型,所述文本分类模型是基于经过特征词筛选的样本数据进行训练的,调用所述文本分类模型对所述待测试数据进行特征识别,确定所述待测试数据对应的终端类型。这样,在进行终端类型识别时可以有效准确地识别终端类型,避免了由于提取关键词不准确造成的无法准确识别终端类型的问题,同时,节约了人力和时间成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。