@[toc]

学习目标:

  • 掌握如何进行fasttext模型的特征工程以及训练过程, 并实现它们.标准化模型训练流程
  • 进行fasttext模型的特征工程以及训练过程的七步诗

 

3.1 获取训练语料

  • 获取训练语料过程的三步曲:
  • 第一步: 明确原始数据来源.(1.网络爬虫;2.外部获取;3.内部提供,例如公司内容生产小组提供的各种类型的文章.)
  • 第二步: 定义正负样本.(该类别文章句子作为正样本;其他类别文章句子作为负样本)
  • 第三步: 提取正负样本语料.(先提取正样本语料,再在正样本基础上,提取正负样本语料.)
  • 提取正负样本过程的代码:/data/django-uwsgi/text_labeled/model_train/get_sample.py;
  • 函数: get_p_text_list(single_article_path);获取单篇文章的文本列表
  • 函数: get_p_sample(a_path, p_path);获得正样本的csv, 以文章路径和正样本csv写入路径为参数
  • 函数: get_sample(p_path, n_path_csv_list)获取样本集包括正负样本, 以正样本csv文件路径和负样本csv文件路径列表为参数。

3.2 进行数据分析

  • 学习了文本数据分析的过程:
  • 获取正负样本的分词列表和对应的标签.
  • 获取正负标签数量分布.
  • 获取句子长度分布.
  • 获取常见词频分布.

3.3 特征处理

特征处理过程的四步曲:

  • 第一步: 进行词汇映射. (word2num) 函数word_map()
  • 第二步: 将向量进行合适截断.(将映射后的句子向量进行截断,以降低模型输入的特征维度,来防止过拟合.)
  • 第三步: 加入n-gram特征 . (前后相邻词拼接,提高语义练习)
  • 第四步: 将向量进行最长补齐.( 为了不损失n-gram特征,使向量能够以矩阵形式作为模型输入.)

tensorflow serving健壮性的模型部署服务(pytorch现在也支持torch serve,拓展性不强,不支持微调),支持好的功能--热更新和回退(换模型时,服务不需要重启,可自己更新http://www.aitutorials.cn:8989/9/,在一台机器上,通过不同端口可以启动两个相同的服务;nginx负载均衡的作用,备用服务;冷启动?

 

根据样本集最大词汇数选择最大特征数,应大于样本集最大词汇数;等于也可以,取整数是为了后续参数计算(口算即可)

3.4 构建模型结构

torch,keras,多分类都用softmax,torch的二分类用softmax 。 keras二分类用sigmoid。

tf.keras.layers.GlobalAveragePooling1Dhttps://tensorflow.google.cn/api_docs/python/tf/keras/layers/GlobalAveragePooling1D?hl=en

GAP层:每个句子中 按列 池化

embedding_dims = 50设置依据:根据语义设置的,词义表示越多词维度可设置大点,解决一词多义问题;还要考虑参数;