有利于深度文本匹配模型的设计、比较和共享。基于Matchzoo
matchzoo-lite的Python项目详细描述
Matchzoo Lite
发出
修改
增
数据加载器
{"text_left":"xxx xxx xx","text_right":"xxx xxx xxx","label":1}
中国中央银行
删改
- 去nltk关
- 预测数据集
- 更换投资回报测试
- 去除部分模型,只留以下模型:
- arci
- arcii
- 决策支持系统
- CDSSM
- 康沃公路
- 二重唱
- 匹配金字塔
- MVLSTM
安装
matchzoo依赖于Keras,请安装其后端引擎之一:tensorflow、theano或cntk。我们推荐TensorFlow后端。安装MatchZoo的两种方法:
从github源安装matchzoo lite
git clone http://gitlab.alipay-inc.com/niming.lxm/matchzoo-lite.git
cd matchzoo-lite
python setup.py install
Docker
docker pull seanlee97/matchzoo-lite:latest
训练您的模型
60秒后开始
要训练a Deep Semantic Structured Model,请导入matchzoo并准备输入数据。
importmatchzooasmztrain_pack=mz.datasets.wiki_qa.load_data('train',task='ranking')valid_pack=mz.datasets.wiki_qa.load_data('dev',task='ranking')predict_pack=mz.datasets.wiki_qa.load_data('test',task='ranking')
用三行代码预处理输入数据,跟踪要传递到模型中的参数。
preprocessor=mz.preprocessors.DSSMPreprocessor()train_pack_processed=preprocessor.fit_transform(train_pack)valid_pack_processed=preprocessor.transform(valid_pack)predict_pack_processed=preprocessor.transform(predict_pack)
使用Matchzoo定制的损失功能和评估指标:
ranking_task=mz.tasks.Ranking(loss=mz.losses.RankCrossEntropyLoss(num_neg=4))ranking_task.metrics=[mz.metrics.NormalizedDiscountedCumulativeGain(k=3),mz.metrics.NormalizedDiscountedCumulativeGain(k=5),mz.metrics.MeanAveragePrecision()]
初始化模型,微调超参数。
model=mz.models.DSSM()model.params['input_shapes']=preprocessor.context['input_shapes']model.params['task']=ranking_taskmodel.params['mlp_num_layers']=3model.params['mlp_num_units']=300model.params['mlp_num_fan_out']=128model.params['mlp_activation_func']='relu'model.guess_and_fill_missing_params()model.build()model.compile()
动态生成成对训练数据,使用对预测数据的自定义回调来评估模型性能。
train_generator=mz.PairDataGenerator(train_pack_processed,num_dup=1,num_neg=4,batch_size=64,shuffle=True)pred_x,pred_y=predict_pack_processed.unpack()evaluate=mz.callbacks.EvaluateAllMetrics(model,x=pred_x,y=pred_y,batch_size=len(pred_x))history=model.fit_generator(train_generator,epochs=20,callbacks=[evaluate],workers=5,use_multiprocessing=False)
参考文献
如果你对前沿的研究进展感兴趣,请看一下awaresome neural models for semantic match。
许可证
Matchzoo许可证
Apache-2.0 版权所有(C)2015,宜兴范(Fasimon)