daily pastebin goal
7%
SHARE
TWEET

Untitled

a guest Jun 13th, 2018 51 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from keras.models import Model
  2. from keras.layers import *
  3.  
  4. num_classes = 9
  5.  
  6. token_input = Input(shape=(None,), name='token_input')
  7.  
  8. token_embedding = Embedding(input_dim=embeddings.shape[0],
  9.                                                         output_dim=embeddings.shape[1],
  10.                                                         weights=[embeddings],
  11.                                                         trainable=False,
  12.                                                         name='token_embedding')(token_input)
  13.  
  14. casing_input = Input(shape=(None,), name='casing_input')
  15.  
  16. casing_embedding = Embedding(input_dim=caseMatrix.shape[0],
  17.                                                          output_dim=caseMatrix.shape[1],
  18.                                                          weights=[caseMatrix],
  19.                                                          trainable=False,
  20.                                                          name='casing_emd')(casing_input)
  21.  
  22. character_input = Input(shape=(None, maxCharLen), name='character_input')
  23.  
  24. character_embedding = TimeDistributed(Embedding(input_dim=charEmbeddings.shape[0],
  25.                                                                                                 output_dim=charEmbeddings.shape[1],
  26.                                                                                                 weights=[charEmbeddings],
  27.                                                                                                 trainable=True,
  28.                                                                                                 mask_zero=True),
  29.                                                                         input_shape=(None, maxCharLen),
  30.                                                                         name='char_emd')(character_input)
  31.  
  32. character_lstm = TimeDistributed(Bidirectional(LSTM(25,
  33.                                                                                                         return_sequences=False)),
  34.                                                                  name="char_lstm")(character_embedding)
  35.  
  36. concat_layers = [token_embedding, casing_embedding, character_lstm]
  37.  
  38. merged = concatenate(concat_layers, name='concat_layer')
  39.  
  40. bi_lstm_1 = Bidirectional(LSTM(100,
  41.                                                              return_sequences=True,
  42.                                                              dropout_W=.25,
  43.                                                              dropout_U=.25),
  44.                                                 name="BiLSTM_1")(merged)
  45.  
  46. bi_lstm_2 = Bidirectional(LSTM(75,
  47.                                                              return_sequences=True,
  48.                                                              dropout_W=.25,
  49.                                                              dropout_U=.25),
  50.                                                 name="BiLSTM_2")(bi_lstm_1)
  51.  
  52. output = TimeDistributed(Dense(num_classes,
  53.                                                          activation='softmax'),
  54.                                                  name='softmax_output')(bi_lstm_2)
  55.  
  56. output = TimeDistributed(Dense(num_classes,
  57.                                                              activation='softmax',
  58.                                                              bias=False,
  59.                                                              kernel_initializer='identity',
  60.                                                              trainable=False,
  61.                                                              name='dense_jindal'),
  62.                                                     name='softmax_jindal',
  63.                                                     trainable=False)(output)
  64.  
  65. model = Model(inputs=[token_input, casing_input, character_input], outputs=output)
  66. model.compile(loss='sparse_categorical_crossentropy', optimizer='nadam')
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top