|
[paths] |
|
train = "assets/clausecat/train.spacy" |
|
dev = "assets/clausecat/dev.spacy" |
|
vectors = ${paths.ner_model} |
|
init_tok2vec = "assets/pretrained_weights_clausecat.bin" |
|
ner_model = "training/ner/config_tok2vec/model-best" |
|
|
|
[system] |
|
gpu_allocator = "pytorch" |
|
seed = 0 |
|
|
|
[nlp] |
|
lang = "en" |
|
pipeline = ["sentencizer","tok2vec","ner","benepar","segmentation","clausecat","aggregation"] |
|
batch_size = 128 |
|
disabled = [] |
|
before_creation = null |
|
after_creation = null |
|
after_pipeline_creation = null |
|
tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"} |
|
|
|
[components] |
|
|
|
[components.aggregation] |
|
factory = "healthsea.aggregation.v1" |
|
|
|
[components.benepar] |
|
factory = "benepar" |
|
disable_tagger = false |
|
model = "benepar_en3" |
|
subbatch_max_tokens = 500 |
|
|
|
[components.clausecat] |
|
factory = "healthsea.clausecat.v1" |
|
threshold = 0.5 |
|
|
|
[components.clausecat.model] |
|
@architectures = "healthsea.clausecat_model.v1" |
|
blinder = {"@layers":"healthsea.blinder.v1"} |
|
|
|
[components.clausecat.model.textcat] |
|
@architectures = "spacy.TextCatEnsemble.v2" |
|
nO = null |
|
|
|
[components.clausecat.model.textcat.linear_model] |
|
@architectures = "spacy.TextCatBOW.v2" |
|
exclusive_classes = true |
|
ngram_size = 1 |
|
no_output_layer = false |
|
nO = null |
|
|
|
[components.clausecat.model.textcat.tok2vec] |
|
@architectures = "spacy.Tok2Vec.v2" |
|
|
|
[components.clausecat.model.textcat.tok2vec.embed] |
|
@architectures = "spacy.MultiHashEmbed.v2" |
|
width = 64 |
|
rows = [2000,2000,1000,1000,1000,1000] |
|
attrs = ["ORTH","LOWER","PREFIX","SUFFIX","SHAPE","ID"] |
|
include_static_vectors = false |
|
|
|
[components.clausecat.model.textcat.tok2vec.encode] |
|
@architectures = "spacy.MaxoutWindowEncoder.v2" |
|
width = ${components.clausecat.model.textcat.tok2vec.embed.width} |
|
window_size = 1 |
|
maxout_pieces = 3 |
|
depth = 2 |
|
|
|
[components.ner] |
|
factory = "ner" |
|
incorrect_spans_key = null |
|
moves = null |
|
scorer = {"@scorers":"spacy.ner_scorer.v1"} |
|
update_with_oracle_cut_size = 100 |
|
|
|
[components.ner.model] |
|
@architectures = "spacy.TransitionBasedParser.v2" |
|
state_type = "ner" |
|
extra_state_tokens = false |
|
hidden_width = 64 |
|
maxout_pieces = 2 |
|
use_upper = false |
|
nO = null |
|
|
|
[components.ner.model.tok2vec] |
|
@architectures = "spacy.Tok2VecListener.v1" |
|
width = 256 |
|
upstream = "tok2vec" |
|
|
|
[components.segmentation] |
|
factory = "healthsea.segmentation.v1" |
|
|
|
[components.sentencizer] |
|
factory = "sentencizer" |
|
overwrite = false |
|
punct_chars = null |
|
scorer = {"@scorers":"spacy.senter_scorer.v1"} |
|
|
|
[components.tok2vec] |
|
factory = "tok2vec" |
|
|
|
[components.tok2vec.model] |
|
@architectures = "spacy.Tok2Vec.v2" |
|
|
|
[components.tok2vec.model.embed] |
|
@architectures = "spacy.MultiHashEmbed.v2" |
|
width = 256 |
|
attrs = ["ORTH","SHAPE"] |
|
rows = [5000,2500] |
|
include_static_vectors = true |
|
|
|
[components.tok2vec.model.encode] |
|
@architectures = "spacy.MaxoutWindowEncoder.v2" |
|
width = 256 |
|
depth = 8 |
|
window_size = 1 |
|
maxout_pieces = 3 |
|
|
|
[corpora] |
|
|
|
[corpora.dev] |
|
@readers = "healthsea.clausecat_reader.v1" |
|
path = ${paths.dev} |
|
|
|
[corpora.train] |
|
@readers = "healthsea.clausecat_reader.v1" |
|
path = ${paths.train} |
|
|
|
[training] |
|
accumulate_gradient = 3 |
|
dev_corpus = "corpora.dev" |
|
train_corpus = "corpora.train" |
|
seed = ${system.seed} |
|
gpu_allocator = ${system.gpu_allocator} |
|
dropout = 0.1 |
|
patience = 1600 |
|
max_epochs = 0 |
|
max_steps = 20000 |
|
eval_frequency = 200 |
|
frozen_components = ["tok2vec","ner"] |
|
annotating_components = [] |
|
before_to_disk = null |
|
|
|
[training.batcher] |
|
@batchers = "spacy.batch_by_words.v1" |
|
discard_oversize = false |
|
tolerance = 0.2 |
|
get_length = null |
|
|
|
[training.batcher.size] |
|
@schedules = "compounding.v1" |
|
start = 100 |
|
stop = 1000 |
|
compound = 1.001 |
|
t = 0.0 |
|
|
|
[training.logger] |
|
@loggers = "spacy.ConsoleLogger.v1" |
|
progress_bar = true |
|
|
|
[training.optimizer] |
|
@optimizers = "Adam.v1" |
|
beta1 = 0.9 |
|
beta2 = 0.999 |
|
L2_is_weight_decay = true |
|
L2 = 0.01 |
|
grad_clip = 1.0 |
|
use_averages = false |
|
eps = 0.00000001 |
|
|
|
[training.optimizer.learn_rate] |
|
@schedules = "warmup_linear.v1" |
|
warmup_steps = 250 |
|
total_steps = 20000 |
|
initial_rate = 0.00005 |
|
|
|
[training.score_weights] |
|
sents_f = null |
|
sents_p = null |
|
sents_r = null |
|
ents_f = null |
|
ents_p = null |
|
ents_r = null |
|
ents_per_type = null |
|
cats_score = 1.0 |
|
cats_score_desc = null |
|
cats_micro_p = null |
|
cats_micro_r = null |
|
cats_micro_f = null |
|
cats_macro_p = null |
|
cats_macro_r = null |
|
cats_macro_f = null |
|
cats_macro_auc = null |
|
cats_f_per_type = null |
|
cats_macro_auc_per_type = null |
|
|
|
[pretraining] |
|
max_epochs = 100 |
|
dropout = 0.2 |
|
n_save_every = null |
|
n_save_epoch = 1 |
|
component = "clausecat" |
|
layer = "tok2vec" |
|
corpus = "corpora.pretrain" |
|
|
|
[pretraining.batcher] |
|
@batchers = "spacy.batch_by_words.v1" |
|
size = 10000 |
|
discard_oversize = false |
|
tolerance = 0.2 |
|
get_length = null |
|
|
|
[pretraining.objective] |
|
@architectures = "spacy.PretrainVectors.v1" |
|
maxout_pieces = 3 |
|
hidden_size = 300 |
|
loss = "cosine" |
|
|
|
[pretraining.optimizer] |
|
@optimizers = "Adam.v1" |
|
beta1 = 0.9 |
|
beta2 = 0.999 |
|
L2_is_weight_decay = true |
|
L2 = 0.01 |
|
grad_clip = 1.0 |
|
use_averages = true |
|
eps = 0.00000001 |
|
learn_rate = 0.001 |
|
|
|
[initialize] |
|
vectors = ${paths.vectors} |
|
init_tok2vec = ${paths.init_tok2vec} |
|
vocab_data = null |
|
lookups = null |
|
before_init = null |
|
after_init = null |
|
|
|
[initialize.components] |
|
|
|
[initialize.tokenizer] |