Skip to main content

Table 1 Pseudo-code of the optimization algorithm

From: TrigNER: automatically optimized biomedical event trigger recognition on scientific documents

Optimization(D, T, F, O, C, N, H, V)

1)

randomly split dataset D into train D T and development D D datasets

2)

for each trigger type T i ϵ T

 

a) for each feature type F j ϵ F

 

  i) activate feature F j on model configuration MC i

 

  ii) call TrainModels with D T , D D , MC i and O

 

  iii) if no improvement, deactivate feature F j on model configuration MC i

 

b) for each context type C j ϵ C

 

  i) activate context C j on model configuration MC i

 

  ii) call TrainModels with D T , D D , MC i and O

 

c) store best performing context on model configuration MC i

 

d) for each feature with n-grams FN j ϵ FN

 

  i) for each n-grams N k ϵ N

 

    (1) activate n-gram N k for feature FN j on model configuration MC i

 

    (2) call TrainModels with D T , D D , MC i and O

 

  ii) store best performing n-gram of feature FN j on model configuration MC i

 

e) for each feature with dependency hops FH j ϵ FH

 

  i) for each dependency hop H k ϵ H

 

    (1) activate hop H k for feature FH j on model configuration MC i

 

    (2) call TrainModels with D T , D D , MC i and O

 

  ii) store best performing n-gram of feature FN j on model configuration MC i

 

f) for each feature with vertex feature type FV j ϵ FV

 

  i) for each vertex feature type V k ϵ V

 

    (1) activate vertex type V k for feature FV j on model configuration MC i

 

    (2) call TrainModels with D T , D D , MC i and O

 

  ii) store best performing vertex type of feature FV j on model configuration MC i

3)  Return MC

Train models (D T , D D , MC i , O)

1)  for each O j ϵ O

 

a) train model M on dataset D T using MC i

 

b) get performance of model M on dataset D D

 

c) store performance and model order if better

2)  return better performance and order