首页 » 漏洞 » 机器学习保险行业问答开放数据集: 2. 使用案例

机器学习保险行业问答开放数据集: 2. 使用案例

 
文章目录

在上一篇文章中,介绍了数据集的设计,该语料可以用于研究和学习,从规模和质量上,是目前中文问答语料中,保险行业垂直领域最优秀的语料,关于该语料制作过程可以通过语料 主页 了解,本篇的主要内容是使用该语料实现一个简单的问答模型,并且给出准确度和损失函数作为数据集的Baseline。

DeepQA-1

为了展示如何使用该语料训练模型和评测算法,我做了一个示例项目 - DeepQA-1 ,本文接下来会介绍DeepQA-1,假设读者了解深度学习基本概念和Python语言。

Data Loader

数据加载包含两部分:加载语料和预处理。 加载数据使用 insuranceqa_data  载入训练,测试和验证集的数据。

机器学习保险行业问答开放数据集: 2. 使用案例

机器学习保险行业问答开放数据集: 2. 使用案例

预处理是按照模型的超参数处理问题和答案,将它们组合成输入需要的格式,在本文介绍的baseline model中,预处理包含下面工作:

  1. 在词汇表(vocab)中添加辅助Token: <PAD>, <GO>. 假设是问题序列,是回复序列,输入序列可以表示为:

机器学习保险行业问答开放数据集: 2. 使用案例

超参数question_max_length代表模型中问题的最大长度。 超参数utterance_max_length代表模型中回复的最大长度,回复可能是正例,也可能是负例。

机器学习保险行业问答开放数据集: 2. 使用案例

其中,Token <GO> 用来分隔问题和回复,Token <PAD> 用来补齐问题或回复。

机器学习保险行业问答开放数据集: 2. 使用案例

训练数据包含了141,779条,正例:负例=1:10,根据超参数生成输入序列:

机器学习保险行业问答开放数据集: 2. 使用案例

上图 中 x 就是输入序列。代表标注数据:正例还是负例,正例标为[1,0],负例标为[0,1],这样做的好处是方便计算损失函数和准确度。测试数据和验证数据也用同样的方式进行处理,唯一不同的是它们不需要做成mini-batch。需要强调的是,处理词汇表和构建输入序列的方式可以尝试用不同的方法,上述方案仅作为表达baseline结果而采用,一些有助于增强模型能力的,比如使用word2vec训练词向量,设计输入序列为 等都值得尝试。

Network

baseline model使用了最简单的神经网络,输入序列从左侧进入,输出序列输出包含2个数值的vector,然后使用损失函数计算误差。

机器学习保险行业问答开放数据集: 2. 使用案例

超参数,Hyper params

机器学习保险行业问答开放数据集: 2. 使用案例

机器学习保险行业问答开放数据集: 2. 使用案例

损失函数

神经网络的激活函数使用函数,损失函数使用最大似然的思想。

机器学习保险行业问答开放数据集: 2. 使用案例

机器学习保险行业问答开放数据集: 2. 使用案例

迭代训练

使用mini-batch加载数据,迭代训练的大部分工作在 back_propagation 中完成,它计算出每次迭代的损失和b,W 的误差率,然后使用学习率和误差率更新每个b,W 。

机器学习保险行业问答开放数据集: 2. 使用案例

执行训练脚本

python3 deep_qa_1/network.py

Visual

在训练过程中,观察损失函数和准确度的变化可以帮助优化超参数的设计。

loss

python3 visual/loss.py

机器学习保险行业问答开放数据集: 2. 使用案例

accuracy

python3 visual/accuracy.py

机器学习保险行业问答开放数据集: 2. 使用案例

在迭代了25,000步后就基本维持在一个固定值,学习停止了。

Baseline

使用获得的Baseline数据为:

Epoch 25, total step 36400, accuracy 0.9031, cost 1.056221.

总结

Baseline model设计的非常简单,它展示了如何使用insuranceqa-corpus-zh训练FAQ问答模型。在过去两周中,为了能让这个数据集能满足使用,体现其价值,我花了很多时间来建设,仓促之中仍然会包含一些不足,比如数据集中,每个问题是唯一的,不包含相似问题,是这个数据集目前最大的缺陷,另外一方面,因为该数据集的回复包含一个正例和多个负例,可以用用于训练分类器,也可以用于训练ranking model。如果在使用的过程中,遇到任何问题,可以通过 数据集的地址 反馈。

原文链接:机器学习保险行业问答开放数据集: 2. 使用案例,转载请注明来源!

0