| { |
| "dataset_reader": { |
| "type": "squad", |
| "token_indexers": { |
| "elmo": { |
| "type": "elmo_characters" |
| }, |
| "token_characters": { |
| "type": "characters", |
| "character_tokenizer": { |
| "byte_encoding": "utf-8", |
| "end_tokens": [ |
| 260 |
| ], |
| "start_tokens": [ |
| 259 |
| ] |
| }, |
| "min_padding_length": 5 |
| }, |
| "tokens": { |
| "type": "single_id", |
| "lowercase_tokens": true |
| } |
| } |
| }, |
| "model": { |
| "type": "bidaf", |
| "dropout": 0.2, |
| "matrix_attention": { |
| "type": "linear", |
| "combination": "x,y,x*y", |
| "tensor_1_dim": 200, |
| "tensor_2_dim": 200 |
| }, |
| "modeling_layer": { |
| "type": "lstm", |
| "bidirectional": true, |
| "dropout": 0.2, |
| "hidden_size": 100, |
| "input_size": 800, |
| "num_layers": 2 |
| }, |
| "num_highway_layers": 2, |
| "phrase_layer": { |
| "type": "lstm", |
| "bidirectional": true, |
| "hidden_size": 100, |
| "input_size": 1224, |
| "num_layers": 1 |
| }, |
| "span_end_encoder": { |
| "type": "lstm", |
| "bidirectional": true, |
| "hidden_size": 100, |
| "input_size": 1400, |
| "num_layers": 1 |
| }, |
| "text_field_embedder": { |
| "token_embedders": { |
| "elmo": { |
| "type": "elmo_token_embedder", |
| "do_layer_norm": false, |
| "dropout": 0, |
| "options_file": "https://allennlp.s3.amazonaws.com/models/elmo/2x4096_512_2048cnn_2xhighway/elmo_2x4096_512_2048cnn_2xhighway_options.json", |
| "weight_file": "https://allennlp.s3.amazonaws.com/models/elmo/2x4096_512_2048cnn_2xhighway/elmo_2x4096_512_2048cnn_2xhighway_weights.hdf5" |
| }, |
| "token_characters": { |
| "type": "character_encoding", |
| "dropout": 0.2, |
| "embedding": { |
| "embedding_dim": 16, |
| "num_embeddings": 262 |
| }, |
| "encoder": { |
| "type": "cnn", |
| "embedding_dim": 16, |
| "ngram_filter_sizes": [ |
| 5 |
| ], |
| "num_filters": 100 |
| } |
| }, |
| "tokens": { |
| "type": "embedding", |
| "embedding_dim": 100, |
| "pretrained_file": "https://allennlp.s3.amazonaws.com/datasets/glove/glove.6B.100d.txt.gz", |
| "trainable": false |
| } |
| } |
| } |
| }, |
| "train_data_path": "https://allennlp.s3.amazonaws.com/datasets/squad/squad-train-v1.1.json", |
| "validation_data_path": "https://allennlp.s3.amazonaws.com/datasets/squad/squad-dev-v1.1.json", |
| "trainer": { |
| "callbacks": [ |
| "tensorboard" |
| ], |
| "grad_norm": 5, |
| "learning_rate_scheduler": { |
| "type": "reduce_on_plateau", |
| "factor": 0.5, |
| "mode": "max", |
| "patience": 2 |
| }, |
| "num_epochs": 20, |
| "optimizer": { |
| "type": "adam", |
| "betas": [ |
| 0.9, |
| 0.9 |
| ] |
| }, |
| "patience": 10, |
| "validation_metric": "+em" |
| }, |
| "data_loader": { |
| "batch_sampler": { |
| "type": "bucket", |
| "batch_size": 40 |
| } |
| } |
| } |