利用深度学习为猫眼woff加密构建模型
1. 回顾
之前关于猫眼爬虫,我写过一篇通过图像识别的方式解决加密内容识别的文章:猫眼数据加密问题研究(一)图像识别。文章是通过图像识别的方式建立了对猫眼加密数据的处理。后面本来计划进行深度学习的,奈何搞忘了,最近在看nlp时,想通过深度学习建立切词模型,于是想起来了,就把这个剩下的东西补上。代码比较简单。
之前程序对所获得的woff数据以及解析数据进行了保存,如图:
我们woff文件和解析数据,正好可以制作成深度学习的训练集。
2. 深度学习
这里使用tensorflow进行模型训练。关于tensorflow的安装,大家可以参照使用 pip 安装 TensorFlow。
当环境搞定后就该进入正题了。
下面的代码也是一遍带过的,没有做调整什么的基本是想到啥就敲啥。总体也就这思路。
3. 数据处理
首先我们需要把上面所说的数据进行处理,构建成训练集。
在对坐标的处理,只需要把它放在坐标轴上形成二维数组即可。
def get(dirpath,woffpath):
res_dit = {
}
font = TTFont(woffpath)
nums = getnum(dirpath)
for name in font.getGlyphOrder()[2:]:
temp = chr(eval(name.replace('uni','0x').lower()))
temp_array = []
for i in list(font['glyf'][name].coordinates):
temp_array.append(i)
res_dit[nums[temp]] = temp_array
return res_dit
def getnum(dirpath):
dit_path = dirpath + "/dict.txt"
text = ''
with open(dit_path,'r',encoding="utf-8") as f