当前位置: 首页 > 专利查询>程思铭专利>正文

基于双向lstm的维修分类系统技术方案

技术编号:25708752 阅读:15 留言:0更新日期:2020-09-23 02:55
本发明专利技术公开了一种基于双向lstm的维修分类系统,涉及网络技术领域,该基于双向lstm的维修分类系统首先是根据某单位的维修的文本数据,利用keras、jieba等开源软件框架实现数据预处理、文本分词向量化、构建双向LSTM神经网络、自定义实现注意力机制、使用GPU训练神经网络等一些列步骤。使得整个模型的测试集准确率达到98%以上,完全达到企业级应用的标准。该基于双向lstm的维修分类系统使用神经网络结合自然语言处理技术,实现根据申请的文本进行自动分类的效果。

【技术实现步骤摘要】
基于双向lstm的维修分类系统
本专利技术涉及网络
,具体来说,本专利技术涉及一种基于双向lstm的维修分类系统。
技术介绍
目前维修分类工作主要依靠人力去完成,用户发出维修请求的文本或者语音,负责维修分类的工作人员对维修的工作进行分类。用户首先需要通过电话、网络等方式将自己的维修请求反映给负责维修分类的工作人员,这项工作过度依靠维修分类的工作人员相应的经验来判断分类,存在信息传达不及时,或者维修分类的工作人员过少而导致处理工作不及时等问题,但是如果投入的维修分类工作人员过多则相应的人力成本过高。所以这项工作往往效率不高,而且成本过高。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于双向lstm的维修分类系统,使用神经网络结合自然语言处理技术,实现根据申请的文本进行自动分类的效果。为实现上述目的,本专利技术提供以下的技术方案:该基于双向lstm的维修分类系统包括数据的基础清洗工作、文本数据分词及其向量化、模型训练及其评价;其中data目录主要是一些数据存储,包括原始文本数据、jieba分词用的停用词词典等。design_dl_model.py文件是核心网络设计的代码,model_eval.py是模型评价指标的工具类,prepare_data.py是处理原始文本的代码,util.py是整个项目工具类,用于保存一些全局的参数设置,方便进行动态的调整,main.py则是整个项目的入口函数,采用词向量+字向量的双输入,最上层的模型输入由两个分别是左边词向量右边字向量,左右两边的处理流程都是一样:第一步确定Embedding层,第二步再对Embedding层分别加上双向LSTM层和Attention层,第三步在LSTM层下面再接一个全连接层。词向量和字向量都按照这三个步骤处理完成之后,再将两边进行拼接,然后下面再加上全连接层和一个Dropout层(用来防止过拟合),核心网络的核心框架是Keras,最后一层的激活函数采用的是softmax,模型的损失函数是categorical_crossentropy,为多分类的交叉熵损失,需要注意的是使用多分类的交叉熵损失函数,y必须是二进制编码的。采用以上技术方案的有益效果是:该基于双向lstm的维修分类系统首先是根据某单位的维修的文本数据,利用keras、jieba等开源软件框架实现数据预处理、文本分词向量化、构建双向LSTM神经网络、自定义实现注意力机制、使用GPU训练神经网络等一些列步骤。使得整个模型的测试集准确率达到98%以上,完全达到企业级应用的标准。该基于双向lstm的维修分类系统使用神经网络结合自然语言处理技术,实现根据申请的文本进行自动分类的效果。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的描述。图1是该基于双向lstm的维修分类系统的核心模型架构图;图2是模型损失值的变化曲线图;图3是模型准确率的变化曲线图。具体实施方式下面结合附图详细地说明该基于双向lstm的维修分类系统的优选实施方式。图1、图2和图3出示该基于双向lstm的维修分类系统的具体实施方式:该基于双向lstm的维修分类系统包括数据的基础清洗工作、文本数据分词及其向量化、模型训练及其评价;其中data目录主要是一些数据存储,包括原始文本数据、jieba分词用的停用词词典等。design_dl_model.py文件是核心网络设计的代码,model_eval.py是模型评价指标的工具类,prepare_data.py是处理原始文本的代码,util.py是整个项目工具类,用于保存一些全局的参数设置,方便进行动态的调整,main.py则是整个项目的入口函数。根据标注完成的数据,整体了一下数据情况,本别是:室内照明类(3024条)、下水疏通类(3365条)、水龙头类(1736条),共计8125条原始数据。训练集为随机选取的5687条数据,剩下的为测试集。分词以及词的向量化是进行神经网络训练的必须步骤。该基于双向lstm的维修分类系统的分词向量化的基本流程是:第一步使用jieba进行分词,第二步加载停用词,第三步使用word2vec形成词向量,第四步使用Keras的sequence进行向量的增补,第四步的原因是原始文本的长短是不一样的,那么其转换成的向量也是不一样长度的,所以需要额外一步将长短不一样的向量裁剪成长度一样的,向量的固定的长度需要认为设定,本次项目设计中,可以通过util.py的MAX_WORD_NUM来设置每个文本的词向量长度,默认是50。如果原始文本的向量长度大于这个值就需要裁剪,如果长度小于这个值就在头部填充0。该基于双向lstm的维修分类系统中还加入了字向量,字向量的处理过程跟词向量大致相同,不同的是字向量不需要进行分词操作,直接用原始的字就可以,在长度设置上同样可以通过uti.py的MAX_CHAR_NUM进行设置,默认是100。词向量和字向量也神经网络模型训练的最重要的参数之一,回顾模型的设计模型的第一层就是一个Embedding层,该层直接决定了每个词向量和字向量在后续模型层中转换结果,至关重要。本次项目设计中采用的是Google开源的word2vec获取Embedding矩阵。需要注意的是,在获取词向量和字向量的时候,训练集和测试集数据需要分开,因为防止模型训练的时候使用到测试集的数据特征,造成过拟合的现象。如图1所示,该基于双向lstm的维修分类系统采用的是词向量+字向量的双输入。最上层的模型输入由两个分别是左边词向量右边字向量,左右两边的处理流程都是一样:第一步确定Embedding层,第二步再对Embedding层分别加上双向LSTM层和Attention层,第三步在LSTM层下面再接一个全连接层。词向量和字向量都按照这三个步骤处理完成之后,再将两边进行拼接,然后下面再加上全连接层和一个Dropout层(用来防止过拟合)。设计好模型的整体架构之后就可以开始设计核心网络,核心框架是Keras。最后一层的激活函数采用的是softmax,模型的损失函数是categorical_crossentropy,为多分类的交叉熵损失,需要注意的是使用多分类的交叉熵损失函数,y必须是二进制编码的,例如使用onehot将0,1,2三个类别进行编码。模型的评价指标选择是准确率。实现完成后,可以调用Keras的工具方法,根据模型的整体结构描述和参数情况,可以得到模型的所有需要训练的参数是368143,参数数量控制较好,比较容易进行训练。模型训练在main.py的run()函数中进行,训练的核心参数主要有batch_size,每次训练的样本数,这里设置成128;epochs,一共进行多少轮训练这里设置的是20轮,在一个复杂的神经网络中这个值一般会几百;提前终止函数主要的作用是监测一些自定义的值达到某个阈值时候提前停止模型的训练,这里设置的是监测验证集的损失函数值小于0.001的时候认为模型的已经训练很好可以提前停止。运行文件本文档来自技高网...

【技术保护点】
1.一种基于双向lstm的维修分类系统,其特征在于:所述基于双向lstm的维修分类系统包括数据的基础清洗工作、文本数据分词及其向量化、模型训练及其评价;其中data目录主要是一些数据存储,包括原始文本数据、jieba分词用的停用词词典,design_dl_model.py文件是核心网络设计的代码,model_eval.py是模型评价指标的工具类,prepare_data.py是处理原始文本的代码,util.py是整个项目工具类,用于保存一些全局的参数设置,方便进行动态的调整,main.py则是整个项目的入口函数,采用词向量+字向量的双输入,最上层的模型输入由两个分别是左边词向量右边字向量,左右两边的处理流程都是一样:第一步确定Embedding层,第二步再对Embedding层分别加上双向LSTM层和Attention层,第三步在LSTM层下面再接一个全连接层。词向量和字向量都按照这三个步骤处理完成之后,再将两边进行拼接,然后下面再加上全连接层和一个Dropout层(用来防止过拟合),核心网络的核心框架是Keras,最后一层的激活函数采用的是softmax,模型的损失函数是categorical_crossentropy,为多分类的交叉熵损失,需要注意的是使用多分类的交叉熵损失函数,y必须是二进制编码的。/n...

【技术特征摘要】
1.一种基于双向lstm的维修分类系统,其特征在于:所述基于双向lstm的维修分类系统包括数据的基础清洗工作、文本数据分词及其向量化、模型训练及其评价;其中data目录主要是一些数据存储,包括原始文本数据、jieba分词用的停用词词典,design_dl_model.py文件是核心网络设计的代码,model_eval.py是模型评价指标的工具类,prepare_data.py是处理原始文本的代码,util.py是整个项目工具类,用于保存一些全局的参数设置,方便进行动态的调整,main.py则是整个项目的入口函数,采用词向量+字向量的双输入,最上层的模型输...

【专利技术属性】
技术研发人员:程思铭
申请(专利权)人:程思铭
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1