class_docstr: Underlying LSTM model for MSTParser used by BIST parser.
class_docstr_tok: ["Underlying","LSTM","model","for","MSTParser","used","by","BIST","parser","."]
code: def _evaluate_label(self, sentence, i, j):
      # pylint: disable=missing-docstring
      if sentence[i].rheadfov is None:
          sentence[
              i
          ].rheadfov = self.rhid_layer_foh.expr() * concatenate(
              [sentence[i].lstms[0], sentence[i].lstms[1]]
          )
      if sentence[j].rmodfov is None:
          sentence[
              j
          ].rmodfov = self.rhid_layer_fom.expr() * concatenate(
              [sentence[j].lstms[0], sentence[j].lstms[1]]
          )
  
      if self.hidden2_units > 0:
          output = (
              self.rout_layer.expr()
              * self.activation(
                  self.rhid2_bias.expr()
                  + self.rhid2_layer.expr()
                  * self.activation(
                      sentence[i].rheadfov
                      + sentence[j].rmodfov
                      + self.rhid_bias.expr()
                  )
              )
              + self.rout_bias.expr()
          )
      else:
          output = (
              self.rout_layer.expr()
              * self.activation(
                  sentence[i].rheadfov
                  + sentence[j].rmodfov
                  + self.rhid_bias.expr()
              )
              + self.rout_bias.expr()
          )
      return output.value(), output
  
file_path: nlp-architect/nlp_architect/models/bist/mstlstm.py
imports: import random
  import time
  from collections import namedtuple
  from operator import itemgetter
  from dynet import ParameterCollection, AdamTrainer, LSTMBuilder, tanh, logistic, rectify, cmult, SimpleRNNBuilder, concatenate, np, renew_cg, esum
  from nlp_architect.data.conll import ConllEntry
  from nlp_architect.models.bist import decoder
  from nlp_architect.models.bist.utils import read_conll
label_desc: Use image node_id 4 for calling the MSTParserLSTM obj's underlying member method code with example usage: obj._evaluate_label(sentence, i, j) and returns: output,  output