MatchZoo Model Reference

DenseBaseline

Model Documentation

A simple densely connected baseline model.

Examples:
>>> model = DenseBaseline()
>>> model.params['mlp_num_layers'] = 2
>>> model.params['mlp_num_units'] = 300
>>> model.params['mlp_num_fan_out'] = 128
>>> model.params['mlp_activation_func'] = 'relu'
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.dense_baseline.DenseBaseline’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 256 quantitative uniform distribution in [16, 512), with a step size of 1
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 5), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  

DSSM

Model Documentation

Deep structured semantic model.

Examples:
>>> model = DSSM()
>>> model.params['mlp_num_layers'] = 3
>>> model.params['mlp_num_units'] = 300
>>> model.params['mlp_num_fan_out'] = 128
>>> model.params['mlp_activation_func'] = 'relu'
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.dssm.DSSM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
4 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
5 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
6 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
7 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
8 vocab_size Size of vocabulary. 419  

CDSSM

Model Documentation

CDSSM Model implementation.

Learning Semantic Representations Using Convolutional Neural Networks for Web Search. (2014a) A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval. (2014b)

Examples:
>>> import matchzoo as mz
>>> model = CDSSM()
>>> model.params['task'] = mz.tasks.Ranking()
>>> model.params['vocab_size'] = 4
>>> model.params['filters'] =  32
>>> model.params['kernel_size'] = 3
>>> model.params['conv_activation_func'] = 'relu'
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.cdssm.CDSSM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
4 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
5 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
6 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
7 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
8 vocab_size Size of vocabulary. 419  
9 filters Number of filters in the 1D convolution layer. 3  
10 kernel_size Number of kernel size in the 1D convolution layer. 3  
11 conv_activation_func Activation function in the convolution layer. relu  
12 dropout_rate The dropout rate. 0.3  

DRMM

Model Documentation

DRMM Model.

Examples:
>>> model = DRMM()
>>> model.params['mlp_num_layers'] = 1
>>> model.params['mlp_num_units'] = 5
>>> model.params['mlp_num_fan_out'] = 1
>>> model.params['mlp_activation_func'] = 'tanh'
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.drmm.DRMM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 1 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
14 mask_value The value to be masked from inputs. 0  
15 hist_bin_size The number of bin size of the histogram. 30  

DRMMTKS

Model Documentation

DRMMTKS Model.

Examples:
>>> model = DRMMTKS()
>>> model.params['top_k'] = 10
>>> model.params['mlp_num_layers'] = 1
>>> model.params['mlp_num_units'] = 5
>>> model.params['mlp_num_fan_out'] = 1
>>> model.params['mlp_activation_func'] = 'tanh'
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.drmmtks.DRMMTKS’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 1 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
14 mask_value The value to be masked from inputs. 0  
15 top_k Size of top-k pooling layer. 10 quantitative uniform distribution in [2, 100), with a step size of 1

ESIM

Model Documentation

ESIM Model.

Examples:
>>> model = ESIM()
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.esim.ESIM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 mask_value The value to be masked from inputs. 0  
10 dropout Dropout rate. 0.2  
11 hidden_size Hidden size. 200  
12 lstm_layer Number of LSTM layers 1  
13 drop_lstm Whether dropout LSTM. False  
14 concat_lstm Whether concat intermediate outputs. True  
15 rnn_type Choose rnn type, lstm or gru. lstm  

KNRM

Model Documentation

KNRM Model.

Examples:
>>> model = KNRM()
>>> model.params['kernel_num'] = 11
>>> model.params['sigma'] = 0.1
>>> model.params['exact_sigma'] = 0.001
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.knrm.KNRM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 kernel_num The number of RBF kernels. 11 quantitative uniform distribution in [5, 20), with a step size of 1
10 sigma The sigma defines the kernel width. 0.1 quantitative uniform distribution in [0.01, 0.2), with a step size of 0.01
11 exact_sigma The exact_sigma denotes the sigma for exact match. 0.001  

ConvKNRM

Model Documentation

ConvKNRM Model.

Examples:
>>> model = ConvKNRM()
>>> model.params['filters'] = 128
>>> model.params['conv_activation_func'] = 'tanh'
>>> model.params['max_ngram'] = 3
>>> model.params['use_crossmatch'] = True
>>> model.params['kernel_num'] = 11
>>> model.params['sigma'] = 0.1
>>> model.params['exact_sigma'] = 0.001
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.conv_knrm.ConvKNRM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 filters The filter size in the convolution layer. 128  
10 conv_activation_func The activation function in the convolution layer. relu  
11 max_ngram The maximum length of n-grams for the convolution layer. 3  
12 use_crossmatch Whether to match left n-grams and right n-grams of different lengths True  
13 kernel_num The number of RBF kernels. 11 quantitative uniform distribution in [5, 20), with a step size of 1
14 sigma The sigma defines the kernel width. 0.1 quantitative uniform distribution in [0.01, 0.2), with a step size of 0.01
15 exact_sigma The exact_sigma denotes the sigma for exact match. 0.001  

BiMPM

Model Documentation

BiMPM Model.

Reference: - https://github.com/galsang/BIMPM-pytorch/blob/master/model/BIMPM.py

Examples:
>>> model = BiMPM()
>>> model.params['num_perspective'] = 4
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.bimpm.BiMPM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 mask_value The value to be masked from inputs. 0  
10 dropout Dropout rate. 0.2  
11 hidden_size Hidden size. 100 quantitative uniform distribution in [100, 300), with a step size of 100
12 num_perspective num_perspective 20 quantitative uniform distribution in [20, 100), with a step size of 20

MatchLSTM

Model Documentation

MatchLSTM Model.

https://github.com/shuohangwang/mprc/blob/master/qa/rankerReader.lua.

Examples:
>>> model = MatchLSTM()
>>> model.params['dropout'] = 0.2
>>> model.params['hidden_size'] = 200
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.matchlstm.MatchLSTM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 mask_value The value to be masked from inputs. 0  
10 dropout Dropout rate. 0.2  
11 hidden_size Hidden size. 200  
12 lstm_layer Number of LSTM layers 1  
13 drop_lstm Whether dropout LSTM. False  
14 concat_lstm Whether concat intermediate outputs. True  
15 rnn_type Choose rnn type, lstm or gru. lstm  

ArcI

Model Documentation

ArcI Model.

Examples:
>>> model = ArcI()
>>> model.params['left_filters'] = [32]
>>> model.params['right_filters'] = [32]
>>> model.params['left_kernel_sizes'] = [3]
>>> model.params['right_kernel_sizes'] = [3]
>>> model.params['left_pool_sizes'] = [2]
>>> model.params['right_pool_sizes'] = [4]
>>> model.params['conv_activation_func'] = 'relu'
>>> model.params['mlp_num_layers'] = 1
>>> model.params['mlp_num_units'] = 64
>>> model.params['mlp_num_fan_out'] = 32
>>> model.params['mlp_activation_func'] = 'relu'
>>> model.params['dropout_rate'] = 0.5
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.arci.ArcI’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
14 left_length Length of left input. 10  
15 right_length Length of right input. 100  
16 conv_activation_func The activation function in the convolution layer. relu  
17 left_filters The filter size of each convolution blocks for the left input. [32]  
18 left_kernel_sizes The kernel size of each convolution blocks for the left input. [3]  
19 left_pool_sizes The pooling size of each convolution blocks for the left input. [2]  
20 right_filters The filter size of each convolution blocks for the right input. [32]  
21 right_kernel_sizes The kernel size of each convolution blocks for the right input. [3]  
22 right_pool_sizes The pooling size of each convolution blocks for the right input. [2]  
23 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

ArcII

Model Documentation

ArcII Model.

Examples:
>>> model = ArcII()
>>> model.params['embedding_output_dim'] = 300
>>> model.params['kernel_1d_count'] = 32
>>> model.params['kernel_1d_size'] = 3
>>> model.params['kernel_2d_count'] = [16, 32]
>>> model.params['kernel_2d_size'] = [[3, 3], [3, 3]]
>>> model.params['pool_2d_size'] = [[2, 2], [2, 2]]
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.arcii.ArcII’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 left_length Length of left input. 10  
10 right_length Length of right input. 100  
11 kernel_1d_count Kernel count of 1D convolution layer. 32  
12 kernel_1d_size Kernel size of 1D convolution layer. 3  
13 kernel_2d_count Kernel count of 2D convolution layer ineach block [32]  
14 kernel_2d_size Kernel size of 2D convolution layer in each block. [(3, 3)]  
15 activation Activation function. relu  
16 pool_2d_size Size of pooling layer in each block. [(2, 2)]  
17 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

Bert

Model Documentation

Bert Model.

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.bert.Bert’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 mode Pretrained Bert model. bert-base-uncased  
4 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

MVLSTM

Model Documentation

MVLSTM Model.

Examples:
>>> model = MVLSTM()
>>> model.params['hidden_size'] = 32
>>> model.params['top_k'] = 50
>>> model.params['mlp_num_layers'] = 2
>>> model.params['mlp_num_units'] = 20
>>> model.params['mlp_num_fan_out'] = 10
>>> model.params['mlp_activation_func'] = 'relu'
>>> model.params['dropout_rate'] = 0.0
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.mvlstm.MVLSTM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
14 hidden_size Integer, the hidden size in the bi-directional LSTM layer. 32  
15 num_layers Integer, number of recurrent layers. 1  
16 top_k Size of top-k pooling layer. 10 quantitative uniform distribution in [2, 100), with a step size of 1
17 dropout_rate Float, the dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

MatchPyramid

Model Documentation

MatchPyramid Model.

Examples:
>>> model = MatchPyramid()
>>> model.params['embedding_output_dim'] = 300
>>> model.params['kernel_count'] = [16, 32]
>>> model.params['kernel_size'] = [[3, 3], [3, 3]]
>>> model.params['dpool_size'] = [3, 10]
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.match_pyramid.MatchPyramid’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 kernel_count The kernel count of the 2D convolution of each block. [32]  
10 kernel_size The kernel size of the 2D convolution of each block. [[3, 3]]  
11 activation The activation function. relu  
12 dpool_size The max-pooling size of each block. [3, 10]  
13 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

aNMM

Model Documentation

aNMM: Ranking Short Answer Texts with Attention-Based Neural Matching Model.

Examples:
>>> model = aNMM()
>>> model.params['embedding_output_dim'] = 300
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.anmm.aNMM’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 mask_value The value to be masked from inputs. 0  
10 num_bins Integer, number of bins. 200  
11 hidden_sizes Number of hidden size for each hidden layer [100]  
12 activation The activation function. relu  
13 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

HBMP

Model Documentation

HBMP model.

Examples:
>>> model = HBMP()
>>> model.params['embedding_input_dim'] = 200
>>> model.params['embedding_output_dim'] = 100
>>> model.params['mlp_num_layers'] = 1
>>> model.params['mlp_num_units'] = 10
>>> model.params['mlp_num_fan_out'] = 10
>>> model.params['mlp_activation_func'] = nn.LeakyReLU(0.1)
>>> model.params['lstm_hidden_size'] = 5
>>> model.params['lstm_num'] = 3
>>> model.params['num_layers'] = 3
>>> model.params['dropout_rate'] = 0.1
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.hbmp.HBMP’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
10 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
11 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
12 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
13 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
14 lstm_hidden_size Integer, the hidden size of the bi-directional LSTM layer. 5  
15 lstm_num Integer, number of LSTM units 3  
16 num_layers Integer, number of LSTM layers. 1  
17 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

DUET

Model Documentation

Duet Model.

Examples:
>>> model = DUET()
>>> model.params['left_length'] = 10
>>> model.params['right_length'] = 40
>>> model.params['lm_filters'] = 300
>>> model.params['mlp_num_layers'] = 2
>>> model.params['mlp_num_units'] = 300
>>> model.params['mlp_num_fan_out'] = 300
>>> model.params['mlp_activation_func'] = 'relu'
>>> model.params['vocab_size'] = 2000
>>> model.params['dm_filters'] = 300
>>> model.params['dm_conv_activation_func'] = 'relu'
>>> model.params['dm_kernel_size'] = 3
>>> model.params['dm_right_pool_size'] = 8
>>> model.params['dropout_rate'] = 0.5
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.duet.DUET’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_multi_layer_perceptron A flag of whether a multiple layer perceptron is used. Shouldn’t be changed. True  
4 mlp_num_units Number of units in first mlp_num_layers layers. 128 quantitative uniform distribution in [8, 256), with a step size of 8
5 mlp_num_layers Number of layers of the multiple layer percetron. 3 quantitative uniform distribution in [1, 6), with a step size of 1
6 mlp_num_fan_out Number of units of the layer that connects the multiple layer percetron and the output. 64 quantitative uniform distribution in [4, 128), with a step size of 4
7 mlp_activation_func Activation function used in the multiple layer perceptron. relu  
8 mask_value The value to be masked from inputs. 0  
9 left_length Length of left input. 10  
10 right_length Length of right input. 40  
11 lm_filters Filter size of 1D convolution layer in the local model. 300  
12 vocab_size Vocabulary size of the tri-letters used in the distributed model. 419  
13 dm_filters Filter size of 1D convolution layer in the distributed model. 300  
14 dm_kernel_size Kernel size of 1D convolution layer in the distributed model. 3  
15 dm_conv_activation_func Activation functions of the convolution layer in the distributed model. relu  
16 dm_right_pool_size Kernel size of 1D convolution layer in the distributed model. 8  
17 dropout_rate The dropout rate. 0.5 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.02

DIIN

Model Documentation

DIIN model.

Examples:
>>> model = DIIN()
>>> model.params['embedding_input_dim'] = 10000
>>> model.params['embedding_output_dim'] = 300
>>> model.params['mask_value'] = 0
>>> model.params['char_embedding_input_dim'] = 100
>>> model.params['char_embedding_output_dim'] = 8
>>> model.params['char_conv_filters'] = 100
>>> model.params['char_conv_kernel_size'] = 5
>>> model.params['first_scale_down_ratio'] = 0.3
>>> model.params['nb_dense_blocks'] = 3
>>> model.params['layers_per_dense_block'] = 8
>>> model.params['growth_rate'] = 20
>>> model.params['transition_scale_down_ratio'] = 0.5
>>> model.params['conv_kernel_size'] = (3, 3)
>>> model.params['pool_kernel_size'] = (2, 2)
>>> model.params['dropout_rate'] = 0.2
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.diin.DIIN’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 mask_value The value to be masked from inputs. 0  
10 char_embedding_input_dim The input dimension of character embedding layer. 100  
11 char_embedding_output_dim The output dimension of character embedding layer. 8  
12 char_conv_filters The filter size of character convolution layer. 100  
13 char_conv_kernel_size The kernel size of character convolution layer. 5  
14 first_scale_down_ratio The channel scale down ratio of the convolution layer before densenet. 0.3  
15 nb_dense_blocks The number of blocks in densenet. 3  
16 layers_per_dense_block The number of convolution layers in dense block. 8  
17 growth_rate The filter size of each convolution layer in dense block. 20  
18 transition_scale_down_ratio The channel scale down ratio of the convolution layer in transition block. 0.5  
19 conv_kernel_size The kernel size of convolution layer in dense block. (3, 3)  
20 pool_kernel_size The kernel size of pooling layer in transition block. (2, 2)  
21 dropout_rate The dropout rate. 0.0 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01

MatchSRNN

Model Documentation

Match-SRNN Model.

Examples:
>>> model = MatchSRNN()
>>> model.params['channels'] = 4
>>> model.params['units'] = 10
>>> model.params['dropout'] = 0.2
>>> model.params['direction'] = 'lt'
>>> model.guess_and_fill_missing_params(verbose=0)
>>> model.build()

Model Hyper Parameters

Name Description Default Value Default Hyper-Space
0 model_class Model class. Used internally for save/load. Changing this may cause unexpected behaviors. <class ‘matchzoo.models.match_srnn.MatchSRNN’>  
1 task Decides model output shape, loss, and metrics.    
2 out_activation_func Activation function used in output layer.    
3 with_embedding A flag used help auto module. Shouldn’t be changed. True  
4 embedding FloatTensor containing weights for the Embedding.    
5 embedding_input_dim Usually equals vocab size + 1. Should be set manually.    
6 embedding_output_dim Should be set manually.    
7 padding_idx If given, pads the output with the embedding vector atpadding_idx (initialized to zeros) whenever it encountersthe index. 0  
8 embedding_freeze True to freeze embedding layer training, False to enable embedding parameters. False  
9 channels Number of word interaction tensor channels 4  
10 units Number of SpatialGRU units 10  
11 direction Direction of SpatialGRU scanning lt  
12 dropout The dropout rate. 0.2 quantitative uniform distribution in [0.0, 0.8), with a step size of 0.01