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 _get_expr(self, sentence, i, j):
      # pylint: disable=missing-docstring
      if sentence[i].headfov is None:
          sentence[i].headfov = self.hid_layer_foh.expr() * concatenate(
              [sentence[i].lstms[0], sentence[i].lstms[1]]
          )
      if sentence[j].modfov is None:
          sentence[j].modfov = self.hid_layer_fom.expr() * concatenate(
              [sentence[j].lstms[0], sentence[j].lstms[1]]
          )
  
      if self.hidden2_units > 0:
          output = self.out_layer.expr() * self.activation(
              self.hid2_bias.expr()
              + self.hid2_layer.expr()
              * self.activation(
                  sentence[i].headfov
                  + sentence[j].modfov
                  + self.hid_bias.expr()
              )
          )  # + self.outBias
      else:
          output = self.out_layer.expr() * self.activation(
              sentence[i].headfov
              + sentence[j].modfov
              + self.hid_bias.expr()
          )  # + self.outBias
      return 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 2 for calling the MSTParserLSTM obj's underlying member method code with example usage: obj._get_expr(sentence, i, j) and returns: output