模型分词工具

分词工具  时间:2021-03-24  阅读:()
基于深度神经网络的检索相似问题模型邢超(chaoxing)白子薇(ziweibai)2016/12/27CSLT,RIIT,TsinghuaUniv.
1.
背景32.
相似问题匹配模型43.
运行说明63.
1.
模型语料准备63.
2训练与测试脚本63.
2.
1采样脚本63.
2.
2自动训练脚本63.
2.
3自动测试脚本63.
2.
4备注73.
3核心程序接口说明74.
实验94.
1.
词向量准备94.
2.
参数设置94.
3.
实验结果95.
参考文献111.
背景随着网络大数据挖掘技术以及云计算技术逐渐成熟,深度神经网络在一些自然语言理解任务中展现出远超传统方法的效果以及计算速度.
其中,由微软亚洲研究院提出的DSSM(DeepStructuredSemanticModel)模型在信息检索(IR,InformationRetrieval)中被验证有着较高的性能.
DSSM模型的基本思路是将一个检错语句通过深度神经网络抽象成一个固定维度的向量表征,基于搜索与点击(Search-Click)关系构造分类模型,该模型试图将搜索语句与点击页面的标题在语义层面彼此靠近.
微软在2012年至2014年间,连续提出了多个DSSM模型,由不同的网络结构分为:DSSM(DNNbased),CDSSM(CNNbased),RDSSM(RNNbased),LDSSM(LSTMbased)等.
其中,综合考虑计算时间以及在线策略,本文档主要介绍CDSSM,旨在节约计算资源的前提下,保证最大性能.
CNN应用于自然语言理解任务早在2012年就有研究人员提出,并且在文本分类、句子分类以及信息检索中得到了显著的成功.
一个典型的CNN在语言理解任务中的应用如图一所示.
图一CNN提取文本信息图CNN能够捕获句子中不同位置的信息,并且这些信息抽象出来,用以获得较好的句子向量表征.
微软提出的CDSSM模型,主要的贡献是:1、提出了Tri-Letter的方法,试图解决OOV的问题2、使用CNN抽象搜索语句表达,并且与另一个页面CNN抽象模型进行Softmax分类,优化不同的搜索Query对应点击页面的分类准确率.
CDSSM模型图如图二所示:图二CDSSM模型图2.
相似问题匹配模型由于上述模型在微软Bing搜索引擎中的成功实践,我们提出了一种基于CDSSM模型的相似问题匹配模型,本模型针对智能问答系统中模板匹配的痛点,使用CDSSM模型的基本思想,将模板问题与标准问题进行分组,优化目标试图使得组内问题的相似度大,而不同组之间的问题相似度小.
模型目标是在基于已有的标注模板进行训练,使得系统可以识别出大部分类似标注问题的问题从而减轻标注人员的工作量.
本模型与微软提出的CDSSM模型基本一致,但汉语和英语具有差异性,汉语无法使用lettertri-gram,因此,我们对模型进行了一些改进:逻辑输入由lettertri-gram改为word,真实的输入是由word2vec训练得到的词向量,而非与lettertri-gram对应的one-hot向量.
除此之外,其它两个不同点为:1.
损失函数由softmax改为:Loss=max0,,.
,0+2.
CNN的Region数可配置,采用拼接的方式连接不同region.
相似问题匹配模型如图三所示.
我在清华大学工作Max-PoolingMax-PoolingMax-PoolingOutputVector图三相似度问题匹配模型图3.
运行说明3.
1.
模型语料准备模型的训练语料主要采用汇联标注好的模板,标注了:扩展问题以及标准问题.
通过将扩展问题中的相似词展开,删除语句中包含非中文的语句.
得到多对相似问题.
对相似问题对进行初步处理以便我们后续过程的使用.
1、对数据进行聚类,每类分别保存在一个文件中把所有直接相似的问题和间接相似的问题归并为一类,如果A与B相似,B与C相似,可以认为A和C也是一对相似问题,即ABC彼此都相似,ABC属于一类.
2、使用结巴分词对数据进行分词通过以上方式得到的数据在之后的训练测试过程中不会再更改,并且之后训练、测试用到的数据都是由这些数据而来.
我们提交的数据就是这些数据.
3.
2训练与测试脚本3.
2.
1采样脚本初始语料的数据量太大,训练缓慢,对机器的内存和显存要求过高,因此我们需要对这些数据进行采样,以获得适量的数据进行模型的构建.
为了更好的验证模型,我们采样了多组数据进行训练和测试.
程序名称run_prepare.
sh功能:1、对初始数据进行采样,获取N组数据,每组数据有1000类,每类有500个数据.
2、分割采样数据,90%作为训练数据,10%作为测试数据3、把训练数据整理成训练过程中所需要的矩阵4、把测试数据整理成测试过程中所需要的矩阵使用示例:shrun_prepare.
sh4(参数是采样的数量.
示例中一共得到四个文件,每个文件代表一组采样数据,分别为data_0,data_1,data_2,data_3,0、1、2、3为每组数据的编号)3.
2.
2自动训练脚本程序名称:run_train.
sh功能:训练模型并保存使用示例:shrun_train.
sh00第一个参数'0'是数据组的编号,用编号区分不同组数据及对应的模型,第二个参数'0'代表实验运行指定的GPU3.
2.
3自动测试脚本程序名称:run_test.
sh功能:根据训练得到的模型进行测试,分别测试相同数据在top1、top5、top10三种情况下的正确率,并记录Badcase使用示例:shrun_test.
sh00第一个参数'0'是数据组的编号,根据编号可以定位到对应的测试数据与模型,第二个参数'0'代表实验运行指定的GPU3.
2.
4备注Badcase存在result文件夹中,文件名称与编号和topk有关.
如result_0_top1即第0组数据在top1下的Badcase.
因为机器不同,代码存储路径不同,在运行时,需要对run_train.
sh和run_test.
sh中tool_path,src_path进行修改.
3.
3核心程序接口说明本次提交python核心脚本分别为:simple_train_process.
py,simple_test_process.
py,toolbox.
其中:simple_train_process.
py为训练脚本,参数为:-source接收一个训练样本矩阵,注:本脚本只接受一个每一个类中样本数为450的样本矩阵,并且样本矩阵已经转换为word-index矩阵-dict接收一个词向量文件,注:词向量文件中词向量需要进行meanvariancenormalization,词向量文件中的中文编码为UTF-8-linearCDSSM的输出向量之后,按需要考虑是否配置线性层,使用方法为:线性层的数量每层的节点数,如:310245121024,按空格隔开.
-nonCDSSM的输出向量之后,按需要考虑是否配置非线性层,非线性层的激活函数为tanh,使用方法为:非线性层的数量每层的节点数,如:310245121024,按空格隔开.
-convCDSSM模型中的Region数量,以及不同Region中的Step数,按空格隔开,如:3123.
-num-filterCDSSM中filter的数量.
-batch本文中描述的CDSSM模型,采用mini-batch方法更新参数.
-epoch模型训练的轮数.
-output输出模型存放的位置以及名称.
使用示例:pythonsimple_train_process.
py-source.
.
/data/Data-1000-500.
train.
npy–dict.
.
/data/word_vec_norm-linear0-non0-conv3123-num-filter200-batch500-epoch100-outputmodel/modelsimple_test_process.
py为测试脚本,参数为:-source接收一个候选集矩阵.
-target接收一个测试集矩阵.
-dict接收一个词向量文件,注:词向量文件中词向量需要进行meanvariancenormalization,词向量文件中的中文编码为UTF-8-batch由于内存、显存的限制,将不同词矩阵转化为CDSSM的输出矩阵时,需要按batch进行.
-match每个测试集中的问题对应的候选集中的正确答案范围的dict-linear,-non,-conv,-num-filter,-output与训练脚本中设置的参数一致.
使用示例:pythonsimple_test_process.
py-source.
.
/data/Data-1000-500.
train.
npy-target.
.
/data/Data-1000-500.
test.
npy-dict.
.
/data/word_vec_norm-outputmodel/model-90000-match.
.
/data/match_dict-linear0-non0-conv3123-num-filter200-batch5004.
实验4.
1.
词向量准备我们选择谷歌的开源工具word2vec对语料进行训练.
语料分布:汇联提供的PlainText数据1.
7G分词工具:o词向量:使用jieba分词工具,通过结巴分词中的默认词表对数据进行分词,允许使用HMM模型.
o字向量:将训练语料每个句子逐字隔开.
Word2vec训练参数设置如下表所示类型WindowIterationcbowSizesamplenegativehsbinary词向量8200(skip-gram)2001e-4500字向量8180(skip-gram)2001e-45004.
2.
参数设置non:0linear:0conv:3123num_filter:100batch:500epoch:10参数说明:不设置线性层和非线性层,卷积层有三层,每层的Step数分别为1,2,3,filter数量为100.
一个batch的大小为500,一共训练10轮.
4.
3.
实验结果我们一共准备了四组训练语料与测试语料.
记为data_0;data_1;data_2;data_3.
四组数据top1、top5、top10的正确率如下数据data_0data_1data_2data_3Top10.
97350.
96970.
972180.
9449Top50.
99240.
990920.
990820.
99238Top100.
99450.
993880.
993560.
99516从实验结果可以看到,预测过程中,考虑top5的问题比只考虑top1的问题正确率提升显著.
但是考虑top10的问题与只考虑top5的问题相比,正确率提升不明显.
Badcase主要集中在关键词区分的类上面,即关键词不一致,上下文基本一致,分到两个不同的类中.
或关键词一致,上下文不一致,分到两个不同的类中.
示例:1、关键词不一致,上下文基本一致:眉粉怎么使用浴花怎么使代替收付费有哪类交钱规则额外手续费存在哪类收款规则派即刻清设有现货么预先整洁药剂有现货哇支票业务的收缴规范是多少践约保单的收缴规范包含几种温和型皮肤可以那个么敏感型皮肤可以那个勒腮红刷色怎么样睫毛夹怎么用2、关键词一致、上下文不一致电话端领航能否准许设立电话端领航怎么样设立呢咋样查看订单哇啥样取消订单呢有关帮得佳家用用品的种类帮得佳家用用品有啥功能红果清亮露具有副作用呢红果清亮露拥有新的哇俺要来双洁面膏洁面膏清洁干净注:因为部分数据分类有错误,导致在计算正确率时,一些实际分类正确的数据被判定为错误,导致正确率低于实际值.
我们随机采样了200个Badcase,人工检查后发现有118个属于误判,占59%.
考虑误判的情况,不同数据集top1的实际正确率如下表所示:数据data_0data_1data_2data_3Top10.
9891350.
9875770.
98859380.
9774094.
4改进后实验结果在上一步实验实验的基础上,我们在输出层加上batchnormalization(即对每个batch在输出层都做normalization),测试后几组数据的正确率如下:数据data_0data_1data_2data_3Top10.
975720.
977980.
979840.
95136Top50.
996160.
996160.
996380.
99628Top100.
998360.
998360.
998140.
998345.
参考文献【1】HuangPS,HeX,GaoJ,etal.
Learningdeepstructuredsemanticmodelsforwebsearchusingclickthroughdata[C]//Proceedingsofthe22ndACMinternationalconferenceonConferenceoninformation&knowledgemanagement.
ACM,2013:2333-2338.
【2】GaoJ,DengL,GamonM,etal.
Modelinginterestingnesswithdeepneuralnetworks:U.
S.
PatentApplication14/304,863[P].
2014-6-13.
【3】ShenY,HeX,GaoJ,etal.
Alatentsemanticmodelwithconvolutional-poolingstructureforinformationretrieval[C]//Proceedingsofthe23rdACMInternationalConferenceonConferenceonInformationandKnowledgeManagement.
ACM,2014:101-110.

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

六一云互联(41元)美国(24元)/香港/湖北/免费CDN/免费VPS

六一云互联六一云互联为西安六一网络科技有限公司的旗下产品。是一个正规持有IDC/ISP/CDN的国内公司,成立于2018年,主要销售海外高防高速大带宽云服务器/CDN,并以高质量.稳定性.售后相应快.支持退款等特点受很多用户的支持!近期公司也推出了很多给力的抽奖和折扣活动如:新用户免费抽奖,最大可获得500元,湖北新购六折续费八折折上折,全场八折等等最新活动:1.湖北100G高防:新购六折续费八折...

HaBangNet(6.95美元/月)美国vps 5TB流量/德国vps 香港双向CN2 GIA VPS

HaBangNet支持支付宝和微信支付,只是价格偏贵,之前国内用户并不多。这次HaBangNet推出三个特价套餐,其中美国机房和德国机房价格也还可以,但是香港机房虽然是双向CN2 GIA线路,但是还是贵的惊人,需要美国和德国机房的可以参考下。HaBangNet是一家成立于2014年的香港IDC商家,中文译名:哈邦网络公司,主营中国香港、新加坡、澳大利亚、荷兰、美国、德国机房的虚拟主机、vps、专用...

分词工具为你推荐
vc组合维生素C和维生素E混合胶囊有用吗,还是分开的好?云计算什么叫做“云计算”?原代码源代码是什么意思啊冯媛甑冯媛甄 康熙来了haole018.comse.haole004.com为什么手机不能放?www.299pp.com免费PP电影哪个网站可以看啊5xoy.com求个如月群真汉化版下载地址www.bbb551.com广州欢乐在线551要收费吗?partnersonline电脑内一切浏览器无法打开partnersonlinecashfiesta 该怎么使用啊~~
西安虚拟主机 买域名 3322动态域名注册 免费域名跳转 liquidweb hawkhost 圣迭戈 免费cdn加速 好看的留言 创梦 中国电信测速网 hdd 根服务器 测试网速命令 乐视会员免费领取 镇江高防服务器 register.com godaddy退款 百度新闻源申请 qq部落18-3 更多