In [1]:
from google.colab import drive
drive.mount('/content/gdrive')
import os
os.chdir('/content/gdrive/My Drive/finch/tensorflow2/text_matching/ant/main')
Mounted at /content/gdrive
In [2]:
%tensorflow_version 2.x
!pip install tensorflow-addons
Requirement already satisfied: tensorflow-addons in /usr/local/lib/python3.6/dist-packages (0.8.3)
Requirement already satisfied: typeguard in /usr/local/lib/python3.6/dist-packages (from tensorflow-addons) (2.7.1)
In [3]:
from sklearn.metrics import classification_report

import json
import tensorflow as tf
import tensorflow_addons as tfa
import numpy as np
import pprint
import logging
import time
import math

print("TensorFlow Version", tf.__version__)
print('GPU Enabled:', tf.test.is_gpu_available())
TensorFlow Version 2.3.0
WARNING:tensorflow:From <ipython-input-3-ffaeb35fafda>:13: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
GPU Enabled: True
In [4]:
def get_vocab(f_path):
  k2v = {}
  with open(f_path) as f:
    for i, line in enumerate(f):
      line = line.rstrip()
      k2v[line] = i
  return k2v
In [5]:
# stream data from text files
def data_generator(f_path, char2idx):
  with open(f_path) as f:
    print('Reading', f_path)
    for line in f:
      line = json.loads(line.rstrip())
      text1, text2, label = line['sentence1'], line['sentence2'], line['label']
      text1 = [char2idx.get(c, len(char2idx)) for c in list(text1)]
      text2 = [char2idx.get(c, len(char2idx)) for c in list(text2)]
      yield ((text1, text2), int(label))


def dataset(is_training, params):
  _shapes = (([None], [None]), ())
  _types = ((tf.int32, tf.int32), tf.int32)
  _pads = ((0, 0), -1)
  
  if is_training:
    ds = tf.data.Dataset.from_generator(
      lambda: data_generator(params['train_path'], params['char2idx']),
      output_shapes = _shapes,
      output_types = _types,)
    ds = ds.shuffle(params['buffer_size'])
    ds = ds.padded_batch(params['batch_size'], _shapes, _pads)
    ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
  else:
    ds = tf.data.Dataset.from_generator(
      lambda: data_generator(params['test_path'], params['char2idx']),
      output_shapes = _shapes,
      output_types = _types,)
    ds = ds.padded_batch(params['batch_size'], _shapes, _pads)
    ds = ds.prefetch(tf.data.experimental.AUTOTUNE)
  
  return ds
In [6]:
class RE2(tf.keras.Model):
  def __init__(self, params: dict):
    super().__init__()
    
    self.pretrained_embedding = tf.Variable(np.load(params['embedding_path']), name='pretrained_embedding', dtype=tf.float32)
    self.embed_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.birnn = [tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(
        params['hidden_size'], return_sequences=True, zero_output_for_mask=True), name='birnn_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.enc_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.align_t = self.add_weight(name='temperature',
                                   shape=(),
                                   trainable=True,
                                   initializer=tf.initializers.constant(math.sqrt(1/params['hidden_size'])))
    self.align_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    self.align_fc1 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='align_fc1_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.align_fc2 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='align_fc2_%d'%(i+1)) for i in range(params['num_blocks'])]
      
    self.fusion_fc1 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc1_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc2 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc2_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc3 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc3_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_fc4 = [tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='fusion_fc4_%d'%(i+1)) for i in range(params['num_blocks'])]
    self.fusion_dropout = tf.keras.layers.Dropout(params['dropout_rate'])
    
    self.out_drop1 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.out_fc = tf.keras.layers.Dense(params['hidden_size'], params['activation'], name='out_fc')
    self.out_drop2 = tf.keras.layers.Dropout(params['dropout_rate'])
    self.out_linear = tf.keras.layers.Dense(1, name='out_linear')
    
  
  
  def call(self, inputs, training=False):
    x1, x2 = inputs
    
    if x1.dtype != tf.int32:
      x1 = tf.cast(x1, tf.int32)
    if x2.dtype != tf.int32:
      x2 = tf.cast(x2, tf.int32)
    
    batch_sz = tf.shape(x1)[0]
    
    mask1 = tf.sign(x1)
    mask2 = tf.sign(x2)
    
    x1 = self.embedding(x1, training=training)
    x2 = self.embedding(x2, training=training)
    
    res_x1, res_x2 = x1, x2
    
    for i in range(params['num_blocks']):
      
      if i > 0:
        x1 = self.connection(x1, res_x1, i)
        x2 = self.connection(x2, res_x2, i)
        res_x1, res_x2 = x1, x2
    
      x1_enc = self.encoding(x1, mask1, i, training=training)
      x2_enc = self.encoding(x2, mask2, i, training=training)
    
      x1 = tf.concat((x1, x1_enc), -1)
      x2 = tf.concat((x2, x2_enc), -1)
      
      align_1, align_2 = self.alignment(x1, x2, mask1, mask2, i, training=training)
      
      x1 = self.fusion(x1, align_1, i, training=training)
      x2 = self.fusion(x2, align_2, i, training=training)
    
    x1 = self.pooling(x1, mask1)
    x2 = self.pooling(x2, mask2)
    
    x = self.prediction(x1, x2, training=training)
    
    return x
  
  
  def embedding(self, x, training):
    x = tf.nn.embedding_lookup(self.pretrained_embedding, x)
    x = self.embed_dropout(x, training=training)
    return x
  
  
  def connection(self, x, res, i):
    if i == 1:
      x = tf.concat((res, x), -1)
    elif i > 1:
      hidden_size = x.shape[-1]
      x = (res[:, :, -hidden_size:] + x) * tf.math.sqrt(0.5)
      x = tf.concat((res[:, :, :-hidden_size], x), -1)
    return x
    
    
  def encoding(self, x, mask, i, training):
    x = self.birnn[i](x, mask=tf.cast(mask, tf.bool))
    x = self.enc_dropout(x, training=training)
    return x
  
  
  def alignment(self, x1, x2, mask1, mask2, i, training):
    mask1 = tf.cast(tf.expand_dims(mask1, -1), tf.float32)
    mask2 = tf.cast(tf.expand_dims(mask2, -1), tf.float32)
    
    x1_ = self.align_fc1[i](self.align_dropout(x1, training=training))
    x2_ = self.align_fc2[i](self.align_dropout(x2, training=training))
    align = tf.matmul(x1_, x2_, transpose_b=True) * self.align_t
    mask = tf.matmul(mask1, mask2, transpose_b=True)
    align = mask * align + (1 - mask) * tf.float32.min
    align_1 = tf.nn.softmax(align, 1)
    align_2 = tf.nn.softmax(align, 2)
    
    x2 = tf.matmul(align_1, x1, transpose_a=True)
    x1 = tf.matmul(align_2, x2)
    return x1, x2
  
  
  def fusion(self, x, align, i, training):
    x = tf.concat([self.fusion_fc1[i](tf.concat((x, align), -1)),
                   self.fusion_fc2[i](tf.concat((x, x - align), -1)),
                   self.fusion_fc3[i](tf.concat((x, x * align), -1))], -1)
    x = self.fusion_dropout(x, training=training)
    x = self.fusion_fc4[i](x)
    return x
  
  
  def pooling(self, x, mask):
    mask = tf.cast(tf.expand_dims(mask, -1), tf.float32)
    return tf.reduce_max(x * mask, 1)
  
  
  def prediction(self, x1, x2, training):
    x = tf.concat((x1, x2, x1 * x2, x1 - x2), -1)
    x = self.out_drop1(x, training=training)
    x = self.out_fc(x)
    x = self.out_drop2(x, training=training)
    x = self.out_linear(x)
    x = tf.squeeze(x, 1)
    return x
In [7]:
params = {
  'train_path': '../data/train.json',
  'test_path': '../data/dev.json',
  'vocab_path': '../vocab/char.txt',
  'embedding_path': '../vocab/char.npy',
  'batch_size': 32,
  'buffer_size': 34334,
  'num_blocks': 2,
  'dropout_rate': .2,
  'hidden_size': 300,
  'activation': tf.nn.relu,
  'init_lr': 1e-4,
  'max_lr': 8e-4,
  'label_smooth': .0,
  'clip_norm': .1,
  'num_patience': 10,
}
In [8]:
def label_smoothing(label, smooth):
  if smooth > 0.:
    return label * (1 - smooth) + 0.5 * smooth
  else:
    return label

params['char2idx'] = get_vocab(params['vocab_path'])
params['vocab_size'] = len(params['char2idx']) + 1

# input stream ids check
(text1, text2), _ = next(data_generator(params['train_path'], params['char2idx']))
print(text1)
print(text2)
Reading ../data/train.json
[26, 25, 5, 1, 416, 20, 4, 7, 21, 22, 99, 128, 301, 87, 51, 246, 15]
[5, 1, 23, 301, 87, 38, 19, 4, 246, 15]
In [ ]:
model = RE2(params)
model.build([[None, None], [None, None]])
pprint.pprint([(v.name, v.shape) for v in model.trainable_variables])

decay_lr = tfa.optimizers.Triangular2CyclicalLearningRate(
  initial_learning_rate = params['init_lr'],
  maximal_learning_rate = params['max_lr'],
  step_size = 8 * params['buffer_size'] // params['batch_size'],)
optim = tf.optimizers.Adam(params['init_lr'])
global_step = 0

best_acc = .0
count = 0

t0 = time.time()
logger = logging.getLogger('tensorflow')
logger.setLevel(logging.INFO)

while True:
  # TRAINING
  for ((text1, text2), labels) in dataset(is_training=True, params=params):
    with tf.GradientTape() as tape:
      logits = model((text1, text2), training=True)
      labels = tf.cast(labels, tf.float32)
      num_neg = tf.reduce_sum(tf.cast(tf.equal(labels, 0.), tf.float32)).numpy()
      num_pos = tf.reduce_sum(labels).numpy()
      if num_pos == 0.:
        pos_weight = 1.
      else:
        pos_weight = num_neg / num_pos
      loss = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(
        labels = label_smoothing(labels, params['label_smooth']),
        logits = logits,
        pos_weight = pos_weight))
    
    optim.lr.assign(decay_lr(global_step))
    grads = tape.gradient(loss, model.trainable_variables)
    grads, _ = tf.clip_by_global_norm(grads, params['clip_norm'])
    optim.apply_gradients(zip(grads, model.trainable_variables))
    
    if global_step % 100 == 0:
      logger.info("Step {} | Loss: {:.4f} | Spent: {:.1f} secs | LR: {:.6f}".format(
        global_step, loss.numpy().item(), time.time()-t0, optim.lr.numpy().item()))
      t0 = time.time()
    global_step += 1
  
  # EVALUATION
  m = tf.keras.metrics.Accuracy()
  intent_true = []
  intent_pred = []

  for ((text1, text2), labels) in dataset(is_training=False, params=params):
    logits = tf.sigmoid(model((text1, text2), training=False))
    y_pred = tf.cast(tf.math.greater_equal(logits, .5), tf.int32)
    m.update_state(y_true=labels, y_pred=y_pred)
    intent_true += labels.numpy().flatten().tolist()
    intent_pred += y_pred.numpy().flatten().tolist()

  acc = m.result().numpy()
  logger.info("Evaluation: Testing Accuracy: {:.3f}".format(acc))

  logger.info('\n'+classification_report(y_true = intent_true,
                                         y_pred = intent_pred,
                                         labels = [0, 1],
                                         target_names = ['Not Matched', 'Matched'],
                                         digits = 3))

  if acc > best_acc:
    best_acc = acc
    # you can save model here
    count = 0
  else:
    count += 1
  logger.info("Best Accuracy: {:.3f}".format(best_acc))

  if count == params['num_patience']:
    print(params['num_patience'], "times not improve the best result, therefore stop training")
    break
[('birnn_1/forward_lstm/lstm_cell_1/kernel:0', TensorShape([300, 1200])),
 ('birnn_1/forward_lstm/lstm_cell_1/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_1/forward_lstm/lstm_cell_1/bias:0', TensorShape([1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/kernel:0', TensorShape([300, 1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_1/backward_lstm/lstm_cell_2/bias:0', TensorShape([1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/kernel:0', TensorShape([600, 1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_2/forward_lstm_1/lstm_cell_4/bias:0', TensorShape([1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/kernel:0', TensorShape([600, 1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/recurrent_kernel:0',
  TensorShape([300, 1200])),
 ('birnn_2/backward_lstm_1/lstm_cell_5/bias:0', TensorShape([1200])),
 ('align_fc1_1/kernel:0', TensorShape([900, 300])),
 ('align_fc1_1/bias:0', TensorShape([300])),
 ('align_fc1_2/kernel:0', TensorShape([1200, 300])),
 ('align_fc1_2/bias:0', TensorShape([300])),
 ('align_fc2_1/kernel:0', TensorShape([900, 300])),
 ('align_fc2_1/bias:0', TensorShape([300])),
 ('align_fc2_2/kernel:0', TensorShape([1200, 300])),
 ('align_fc2_2/bias:0', TensorShape([300])),
 ('fusion_fc1_1/kernel:0', TensorShape([1800, 300])),
 ('fusion_fc1_1/bias:0', TensorShape([300])),
 ('fusion_fc1_2/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc1_2/bias:0', TensorShape([300])),
 ('fusion_fc2_1/kernel:0', TensorShape([1800, 300])),
 ('fusion_fc2_1/bias:0', TensorShape([300])),
 ('fusion_fc2_2/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc2_2/bias:0', TensorShape([300])),
 ('fusion_fc3_1/kernel:0', TensorShape([1800, 300])),
 ('fusion_fc3_1/bias:0', TensorShape([300])),
 ('fusion_fc3_2/kernel:0', TensorShape([2400, 300])),
 ('fusion_fc3_2/bias:0', TensorShape([300])),
 ('fusion_fc4_1/kernel:0', TensorShape([900, 300])),
 ('fusion_fc4_1/bias:0', TensorShape([300])),
 ('fusion_fc4_2/kernel:0', TensorShape([900, 300])),
 ('fusion_fc4_2/bias:0', TensorShape([300])),
 ('out_fc/kernel:0', TensorShape([1200, 300])),
 ('out_fc/bias:0', TensorShape([300])),
 ('out_linear/kernel:0', TensorShape([300, 1])),
 ('out_linear/bias:0', TensorShape([1])),
 ('pretrained_embedding:0', TensorShape([1706, 300])),
 ('temperature:0', TensorShape([]))]
Reading ../data/train.json
INFO:tensorflow:Step 0 | Loss: 0.8712 | Spent: 12.6 secs | LR: 0.000100
INFO:tensorflow:Step 100 | Loss: 0.9643 | Spent: 11.9 secs | LR: 0.000108
INFO:tensorflow:Step 200 | Loss: 0.7907 | Spent: 12.3 secs | LR: 0.000116
INFO:tensorflow:Step 300 | Loss: 0.9822 | Spent: 11.9 secs | LR: 0.000124
INFO:tensorflow:Step 400 | Loss: 0.9764 | Spent: 11.7 secs | LR: 0.000133
INFO:tensorflow:Step 500 | Loss: 0.9280 | Spent: 11.8 secs | LR: 0.000141
INFO:tensorflow:Step 600 | Loss: 0.7189 | Spent: 12.5 secs | LR: 0.000149
INFO:tensorflow:Step 700 | Loss: 1.0880 | Spent: 12.0 secs | LR: 0.000157
INFO:tensorflow:Step 800 | Loss: 1.0590 | Spent: 12.2 secs | LR: 0.000165
INFO:tensorflow:Step 900 | Loss: 0.9718 | Spent: 11.9 secs | LR: 0.000173
INFO:tensorflow:Step 1000 | Loss: 0.8004 | Spent: 11.7 secs | LR: 0.000182
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.562
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.719     0.599     0.654      2978
     Matched      0.349     0.478     0.404      1338

    accuracy                          0.562      4316
   macro avg      0.534     0.539     0.529      4316
weighted avg      0.604     0.562     0.576      4316

INFO:tensorflow:Best Accuracy: 0.562
Reading ../data/train.json
INFO:tensorflow:Step 1100 | Loss: 0.9751 | Spent: 26.8 secs | LR: 0.000190
INFO:tensorflow:Step 1200 | Loss: 0.9377 | Spent: 12.3 secs | LR: 0.000198
INFO:tensorflow:Step 1300 | Loss: 0.8401 | Spent: 12.1 secs | LR: 0.000206
INFO:tensorflow:Step 1400 | Loss: 1.0105 | Spent: 11.7 secs | LR: 0.000214
INFO:tensorflow:Step 1500 | Loss: 1.0587 | Spent: 11.9 secs | LR: 0.000222
INFO:tensorflow:Step 1600 | Loss: 1.0793 | Spent: 11.6 secs | LR: 0.000230
INFO:tensorflow:Step 1700 | Loss: 0.9755 | Spent: 11.9 secs | LR: 0.000239
INFO:tensorflow:Step 1800 | Loss: 1.2377 | Spent: 11.7 secs | LR: 0.000247
INFO:tensorflow:Step 1900 | Loss: 0.9216 | Spent: 11.8 secs | LR: 0.000255
INFO:tensorflow:Step 2000 | Loss: 1.0368 | Spent: 11.7 secs | LR: 0.000263
INFO:tensorflow:Step 2100 | Loss: 1.1608 | Spent: 11.7 secs | LR: 0.000271
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.575
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.741     0.592     0.658      2978
     Matched      0.372     0.539     0.440      1338

    accuracy                          0.575      4316
   macro avg      0.556     0.565     0.549      4316
weighted avg      0.626     0.575     0.590      4316

INFO:tensorflow:Best Accuracy: 0.575
Reading ../data/train.json
INFO:tensorflow:Step 2200 | Loss: 1.1092 | Spent: 26.5 secs | LR: 0.000279
INFO:tensorflow:Step 2300 | Loss: 0.8874 | Spent: 12.0 secs | LR: 0.000288
INFO:tensorflow:Step 2400 | Loss: 0.8320 | Spent: 12.3 secs | LR: 0.000296
INFO:tensorflow:Step 2500 | Loss: 0.8561 | Spent: 11.9 secs | LR: 0.000304
INFO:tensorflow:Step 2600 | Loss: 0.8579 | Spent: 11.9 secs | LR: 0.000312
INFO:tensorflow:Step 2700 | Loss: 1.2912 | Spent: 12.2 secs | LR: 0.000320
INFO:tensorflow:Step 2800 | Loss: 1.0639 | Spent: 11.9 secs | LR: 0.000328
INFO:tensorflow:Step 2900 | Loss: 0.8277 | Spent: 12.3 secs | LR: 0.000337
INFO:tensorflow:Step 3000 | Loss: 0.8862 | Spent: 11.7 secs | LR: 0.000345
INFO:tensorflow:Step 3100 | Loss: 0.9442 | Spent: 11.8 secs | LR: 0.000353
INFO:tensorflow:Step 3200 | Loss: 0.8169 | Spent: 11.9 secs | LR: 0.000361
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.523
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.780     0.430     0.554      2978
     Matched      0.365     0.729     0.487      1338

    accuracy                          0.523      4316
   macro avg      0.572     0.580     0.520      4316
weighted avg      0.651     0.523     0.533      4316

INFO:tensorflow:Best Accuracy: 0.575
Reading ../data/train.json
INFO:tensorflow:Step 3300 | Loss: 0.8097 | Spent: 27.0 secs | LR: 0.000369
INFO:tensorflow:Step 3400 | Loss: 1.0919 | Spent: 12.6 secs | LR: 0.000377
INFO:tensorflow:Step 3500 | Loss: 0.8149 | Spent: 11.9 secs | LR: 0.000385
INFO:tensorflow:Step 3600 | Loss: 0.8959 | Spent: 12.7 secs | LR: 0.000394
INFO:tensorflow:Step 3700 | Loss: 1.0296 | Spent: 12.1 secs | LR: 0.000402
INFO:tensorflow:Step 3800 | Loss: 0.7947 | Spent: 12.0 secs | LR: 0.000410
INFO:tensorflow:Step 3900 | Loss: 0.7539 | Spent: 11.7 secs | LR: 0.000418
INFO:tensorflow:Step 4000 | Loss: 1.0318 | Spent: 12.1 secs | LR: 0.000426
INFO:tensorflow:Step 4100 | Loss: 0.9489 | Spent: 12.0 secs | LR: 0.000434
INFO:tensorflow:Step 4200 | Loss: 1.0440 | Spent: 12.1 secs | LR: 0.000443
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.590
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.772     0.577     0.660      2978
     Matched      0.397     0.620     0.484      1338

    accuracy                          0.590      4316
   macro avg      0.584     0.598     0.572      4316
weighted avg      0.655     0.590     0.606      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 4300 | Loss: 0.7902 | Spent: 26.8 secs | LR: 0.000451
INFO:tensorflow:Step 4400 | Loss: 0.8812 | Spent: 12.2 secs | LR: 0.000459
INFO:tensorflow:Step 4500 | Loss: 1.0203 | Spent: 11.9 secs | LR: 0.000467
INFO:tensorflow:Step 4600 | Loss: 0.8792 | Spent: 11.9 secs | LR: 0.000475
INFO:tensorflow:Step 4700 | Loss: 0.7945 | Spent: 12.1 secs | LR: 0.000483
INFO:tensorflow:Step 4800 | Loss: 0.8486 | Spent: 12.1 secs | LR: 0.000491
INFO:tensorflow:Step 4900 | Loss: 0.6858 | Spent: 12.2 secs | LR: 0.000500
INFO:tensorflow:Step 5000 | Loss: 0.7920 | Spent: 12.2 secs | LR: 0.000508
INFO:tensorflow:Step 5100 | Loss: 0.9977 | Spent: 12.5 secs | LR: 0.000516
INFO:tensorflow:Step 5200 | Loss: 0.7986 | Spent: 11.9 secs | LR: 0.000524
INFO:tensorflow:Step 5300 | Loss: 0.8458 | Spent: 12.2 secs | LR: 0.000532
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.554
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.786     0.485     0.600      2978
     Matched      0.381     0.706     0.495      1338

    accuracy                          0.554      4316
   macro avg      0.584     0.596     0.548      4316
weighted avg      0.661     0.554     0.568      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 5400 | Loss: 0.7527 | Spent: 27.1 secs | LR: 0.000540
INFO:tensorflow:Step 5500 | Loss: 0.6434 | Spent: 12.1 secs | LR: 0.000549
INFO:tensorflow:Step 5600 | Loss: 0.9114 | Spent: 12.2 secs | LR: 0.000557
INFO:tensorflow:Step 5700 | Loss: 0.7606 | Spent: 12.0 secs | LR: 0.000565
INFO:tensorflow:Step 5800 | Loss: 0.7833 | Spent: 12.4 secs | LR: 0.000573
INFO:tensorflow:Step 5900 | Loss: 0.9210 | Spent: 12.5 secs | LR: 0.000581
INFO:tensorflow:Step 6000 | Loss: 1.3079 | Spent: 12.3 secs | LR: 0.000589
INFO:tensorflow:Step 6100 | Loss: 1.0214 | Spent: 12.1 secs | LR: 0.000597
INFO:tensorflow:Step 6200 | Loss: 0.5823 | Spent: 12.0 secs | LR: 0.000606
INFO:tensorflow:Step 6300 | Loss: 0.8644 | Spent: 12.1 secs | LR: 0.000614
INFO:tensorflow:Step 6400 | Loss: 0.8064 | Spent: 12.2 secs | LR: 0.000622
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.567
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.801     0.496     0.613      2978
     Matched      0.393     0.726     0.510      1338

    accuracy                          0.567      4316
   macro avg      0.597     0.611     0.561      4316
weighted avg      0.674     0.567     0.581      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 6500 | Loss: 0.7732 | Spent: 26.6 secs | LR: 0.000630
INFO:tensorflow:Step 6600 | Loss: 0.8586 | Spent: 12.2 secs | LR: 0.000638
INFO:tensorflow:Step 6700 | Loss: 0.8116 | Spent: 11.9 secs | LR: 0.000646
INFO:tensorflow:Step 6800 | Loss: 0.7945 | Spent: 12.1 secs | LR: 0.000655
INFO:tensorflow:Step 6900 | Loss: 0.6731 | Spent: 11.9 secs | LR: 0.000663
INFO:tensorflow:Step 7000 | Loss: 0.9838 | Spent: 12.1 secs | LR: 0.000671
INFO:tensorflow:Step 7100 | Loss: 1.0179 | Spent: 11.7 secs | LR: 0.000679
INFO:tensorflow:Step 7200 | Loss: 0.6473 | Spent: 11.9 secs | LR: 0.000687
INFO:tensorflow:Step 7300 | Loss: 0.6568 | Spent: 11.8 secs | LR: 0.000695
INFO:tensorflow:Step 7400 | Loss: 0.7680 | Spent: 11.8 secs | LR: 0.000704
INFO:tensorflow:Step 7500 | Loss: 1.2427 | Spent: 11.7 secs | LR: 0.000712
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.525
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.817     0.401     0.538      2978
     Matched      0.375     0.800     0.510      1338

    accuracy                          0.525      4316
   macro avg      0.596     0.600     0.524      4316
weighted avg      0.680     0.525     0.529      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 7600 | Loss: 0.7675 | Spent: 26.4 secs | LR: 0.000720
INFO:tensorflow:Step 7700 | Loss: 0.8741 | Spent: 11.9 secs | LR: 0.000728
INFO:tensorflow:Step 7800 | Loss: 0.7588 | Spent: 11.9 secs | LR: 0.000736
INFO:tensorflow:Step 7900 | Loss: 0.7709 | Spent: 11.9 secs | LR: 0.000744
INFO:tensorflow:Step 8000 | Loss: 0.6678 | Spent: 12.5 secs | LR: 0.000752
INFO:tensorflow:Step 8100 | Loss: 1.0163 | Spent: 11.9 secs | LR: 0.000761
INFO:tensorflow:Step 8200 | Loss: 0.8985 | Spent: 12.5 secs | LR: 0.000769
INFO:tensorflow:Step 8300 | Loss: 0.8452 | Spent: 12.2 secs | LR: 0.000777
INFO:tensorflow:Step 8400 | Loss: 0.9369 | Spent: 12.7 secs | LR: 0.000785
INFO:tensorflow:Step 8500 | Loss: 0.6365 | Spent: 12.2 secs | LR: 0.000793
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.533
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.841     0.399     0.541      2978
     Matched      0.384     0.832     0.525      1338

    accuracy                          0.533      4316
   macro avg      0.612     0.616     0.533      4316
weighted avg      0.699     0.533     0.536      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 8600 | Loss: 0.9172 | Spent: 26.8 secs | LR: 0.000799
INFO:tensorflow:Step 8700 | Loss: 0.8847 | Spent: 11.8 secs | LR: 0.000790
INFO:tensorflow:Step 8800 | Loss: 0.7115 | Spent: 12.0 secs | LR: 0.000782
INFO:tensorflow:Step 8900 | Loss: 0.8944 | Spent: 12.5 secs | LR: 0.000774
INFO:tensorflow:Step 9000 | Loss: 0.7350 | Spent: 12.0 secs | LR: 0.000766
INFO:tensorflow:Step 9100 | Loss: 0.9392 | Spent: 11.8 secs | LR: 0.000758
INFO:tensorflow:Step 9200 | Loss: 1.1938 | Spent: 12.0 secs | LR: 0.000750
INFO:tensorflow:Step 9300 | Loss: 0.7057 | Spent: 12.1 secs | LR: 0.000742
INFO:tensorflow:Step 9400 | Loss: 0.7534 | Spent: 11.7 secs | LR: 0.000733
INFO:tensorflow:Step 9500 | Loss: 0.8076 | Spent: 11.9 secs | LR: 0.000725
INFO:tensorflow:Step 9600 | Loss: 0.8714 | Spent: 11.8 secs | LR: 0.000717
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.574
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.808     0.502     0.619      2978
     Matched      0.399     0.734     0.517      1338

    accuracy                          0.574      4316
   macro avg      0.603     0.618     0.568      4316
weighted avg      0.681     0.574     0.588      4316

INFO:tensorflow:Best Accuracy: 0.590
Reading ../data/train.json
INFO:tensorflow:Step 9700 | Loss: 0.6797 | Spent: 26.4 secs | LR: 0.000709
INFO:tensorflow:Step 9800 | Loss: 0.6675 | Spent: 12.2 secs | LR: 0.000701
INFO:tensorflow:Step 9900 | Loss: 0.6683 | Spent: 12.1 secs | LR: 0.000693
INFO:tensorflow:Step 10000 | Loss: 0.8638 | Spent: 12.0 secs | LR: 0.000684
INFO:tensorflow:Step 10100 | Loss: 0.7164 | Spent: 11.9 secs | LR: 0.000676
INFO:tensorflow:Step 10200 | Loss: 0.7859 | Spent: 12.4 secs | LR: 0.000668
INFO:tensorflow:Step 10300 | Loss: 0.7242 | Spent: 11.9 secs | LR: 0.000660
INFO:tensorflow:Step 10400 | Loss: 0.7814 | Spent: 12.1 secs | LR: 0.000652
INFO:tensorflow:Step 10500 | Loss: 0.7697 | Spent: 12.2 secs | LR: 0.000644
INFO:tensorflow:Step 10600 | Loss: 0.6907 | Spent: 12.6 secs | LR: 0.000636
INFO:tensorflow:Step 10700 | Loss: 0.7326 | Spent: 11.8 secs | LR: 0.000627
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.607
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.815     0.556     0.661      2978
     Matched      0.421     0.718     0.531      1338

    accuracy                          0.607      4316
   macro avg      0.618     0.637     0.596      4316
weighted avg      0.693     0.607     0.621      4316

INFO:tensorflow:Best Accuracy: 0.607
Reading ../data/train.json
INFO:tensorflow:Step 10800 | Loss: 0.8125 | Spent: 26.8 secs | LR: 0.000619
INFO:tensorflow:Step 10900 | Loss: 1.0979 | Spent: 12.2 secs | LR: 0.000611
INFO:tensorflow:Step 11000 | Loss: 0.6902 | Spent: 12.2 secs | LR: 0.000603
INFO:tensorflow:Step 11100 | Loss: 0.6544 | Spent: 12.0 secs | LR: 0.000595
INFO:tensorflow:Step 11200 | Loss: 0.6138 | Spent: 11.9 secs | LR: 0.000587
INFO:tensorflow:Step 11300 | Loss: 0.9133 | Spent: 12.4 secs | LR: 0.000578
INFO:tensorflow:Step 11400 | Loss: 0.7193 | Spent: 11.7 secs | LR: 0.000570
INFO:tensorflow:Step 11500 | Loss: 0.8396 | Spent: 11.8 secs | LR: 0.000562
INFO:tensorflow:Step 11600 | Loss: 0.6595 | Spent: 11.9 secs | LR: 0.000554
INFO:tensorflow:Step 11700 | Loss: 0.5029 | Spent: 11.9 secs | LR: 0.000546
INFO:tensorflow:Step 11800 | Loss: 0.8688 | Spent: 12.0 secs | LR: 0.000538
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.592
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.831     0.513     0.634      2978
     Matched      0.415     0.768     0.539      1338

    accuracy                          0.592      4316
   macro avg      0.623     0.641     0.586      4316
weighted avg      0.702     0.592     0.605      4316

INFO:tensorflow:Best Accuracy: 0.607
Reading ../data/train.json
INFO:tensorflow:Step 11900 | Loss: 0.5528 | Spent: 26.5 secs | LR: 0.000529
INFO:tensorflow:Step 12000 | Loss: 0.9088 | Spent: 12.2 secs | LR: 0.000521
INFO:tensorflow:Step 12100 | Loss: 0.7475 | Spent: 11.8 secs | LR: 0.000513
INFO:tensorflow:Step 12200 | Loss: 0.7316 | Spent: 12.0 secs | LR: 0.000505
INFO:tensorflow:Step 12300 | Loss: 0.6318 | Spent: 12.0 secs | LR: 0.000497
INFO:tensorflow:Step 12400 | Loss: 1.1544 | Spent: 12.5 secs | LR: 0.000489
INFO:tensorflow:Step 12500 | Loss: 1.1289 | Spent: 12.4 secs | LR: 0.000481
INFO:tensorflow:Step 12600 | Loss: 0.6127 | Spent: 12.0 secs | LR: 0.000472
INFO:tensorflow:Step 12700 | Loss: 1.1001 | Spent: 12.1 secs | LR: 0.000464
INFO:tensorflow:Step 12800 | Loss: 0.8228 | Spent: 11.8 secs | LR: 0.000456
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.583
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.835     0.494     0.621      2978
     Matched      0.410     0.783     0.538      1338

    accuracy                          0.583      4316
   macro avg      0.623     0.638     0.579      4316
weighted avg      0.703     0.583     0.595      4316

INFO:tensorflow:Best Accuracy: 0.607
Reading ../data/train.json
INFO:tensorflow:Step 12900 | Loss: 0.5475 | Spent: 27.1 secs | LR: 0.000448
INFO:tensorflow:Step 13000 | Loss: 0.4884 | Spent: 12.1 secs | LR: 0.000440
INFO:tensorflow:Step 13100 | Loss: 0.6628 | Spent: 11.8 secs | LR: 0.000432
INFO:tensorflow:Step 13200 | Loss: 0.4891 | Spent: 12.2 secs | LR: 0.000423
INFO:tensorflow:Step 13300 | Loss: 0.5194 | Spent: 12.3 secs | LR: 0.000415
INFO:tensorflow:Step 13400 | Loss: 0.7192 | Spent: 11.9 secs | LR: 0.000407
INFO:tensorflow:Step 13500 | Loss: 0.5947 | Spent: 11.9 secs | LR: 0.000399
INFO:tensorflow:Step 13600 | Loss: 0.5780 | Spent: 11.8 secs | LR: 0.000391
INFO:tensorflow:Step 13700 | Loss: 0.7595 | Spent: 11.7 secs | LR: 0.000383
INFO:tensorflow:Step 13800 | Loss: 0.5290 | Spent: 11.7 secs | LR: 0.000375
INFO:tensorflow:Step 13900 | Loss: 0.6720 | Spent: 11.9 secs | LR: 0.000366
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.611
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.820     0.558     0.664      2978
     Matched      0.425     0.728     0.537      1338

    accuracy                          0.611      4316
   macro avg      0.623     0.643     0.600      4316
weighted avg      0.698     0.611     0.625      4316

INFO:tensorflow:Best Accuracy: 0.611
Reading ../data/train.json
INFO:tensorflow:Step 14000 | Loss: 0.7051 | Spent: 26.6 secs | LR: 0.000358
INFO:tensorflow:Step 14100 | Loss: 0.8118 | Spent: 12.0 secs | LR: 0.000350
INFO:tensorflow:Step 14200 | Loss: 0.6111 | Spent: 12.3 secs | LR: 0.000342
INFO:tensorflow:Step 14300 | Loss: 0.5354 | Spent: 11.8 secs | LR: 0.000334
INFO:tensorflow:Step 14400 | Loss: 0.4134 | Spent: 12.1 secs | LR: 0.000326
INFO:tensorflow:Step 14500 | Loss: 0.5706 | Spent: 12.3 secs | LR: 0.000317
INFO:tensorflow:Step 14600 | Loss: 0.7644 | Spent: 11.9 secs | LR: 0.000309
INFO:tensorflow:Step 14700 | Loss: 0.4789 | Spent: 11.7 secs | LR: 0.000301
INFO:tensorflow:Step 14800 | Loss: 0.8423 | Spent: 11.9 secs | LR: 0.000293
INFO:tensorflow:Step 14900 | Loss: 0.3923 | Spent: 12.1 secs | LR: 0.000285
INFO:tensorflow:Step 15000 | Loss: 0.7646 | Spent: 12.0 secs | LR: 0.000277
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.625
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.813     0.593     0.686      2978
     Matched      0.434     0.697     0.535      1338

    accuracy                          0.625      4316
   macro avg      0.624     0.645     0.610      4316
weighted avg      0.696     0.625     0.639      4316

INFO:tensorflow:Best Accuracy: 0.625
Reading ../data/train.json
INFO:tensorflow:Step 15100 | Loss: 0.6289 | Spent: 27.4 secs | LR: 0.000268
INFO:tensorflow:Step 15200 | Loss: 0.5622 | Spent: 12.5 secs | LR: 0.000260
INFO:tensorflow:Step 15300 | Loss: 0.7088 | Spent: 12.1 secs | LR: 0.000252
INFO:tensorflow:Step 15400 | Loss: 0.6100 | Spent: 11.9 secs | LR: 0.000244
INFO:tensorflow:Step 15500 | Loss: 0.5047 | Spent: 11.8 secs | LR: 0.000236
INFO:tensorflow:Step 15600 | Loss: 0.4121 | Spent: 12.1 secs | LR: 0.000228
INFO:tensorflow:Step 15700 | Loss: 0.9677 | Spent: 12.4 secs | LR: 0.000220
INFO:tensorflow:Step 15800 | Loss: 0.7193 | Spent: 12.3 secs | LR: 0.000211
INFO:tensorflow:Step 15900 | Loss: 1.1861 | Spent: 12.1 secs | LR: 0.000203
INFO:tensorflow:Step 16000 | Loss: 0.8472 | Spent: 12.1 secs | LR: 0.000195
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.622
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.816     0.583     0.680      2978
     Matched      0.433     0.708     0.537      1338

    accuracy                          0.622      4316
   macro avg      0.625     0.646     0.609      4316
weighted avg      0.697     0.622     0.636      4316

INFO:tensorflow:Best Accuracy: 0.625
Reading ../data/train.json
INFO:tensorflow:Step 16100 | Loss: 0.4480 | Spent: 26.5 secs | LR: 0.000187
INFO:tensorflow:Step 16200 | Loss: 0.5426 | Spent: 12.0 secs | LR: 0.000179
INFO:tensorflow:Step 16300 | Loss: 0.6622 | Spent: 12.1 secs | LR: 0.000171
INFO:tensorflow:Step 16400 | Loss: 0.5298 | Spent: 11.8 secs | LR: 0.000162
INFO:tensorflow:Step 16500 | Loss: 1.0193 | Spent: 11.9 secs | LR: 0.000154
INFO:tensorflow:Step 16600 | Loss: 0.9362 | Spent: 11.9 secs | LR: 0.000146
INFO:tensorflow:Step 16700 | Loss: 0.5530 | Spent: 12.1 secs | LR: 0.000138
INFO:tensorflow:Step 16800 | Loss: 0.6266 | Spent: 12.0 secs | LR: 0.000130
INFO:tensorflow:Step 16900 | Loss: 0.3820 | Spent: 12.1 secs | LR: 0.000122
INFO:tensorflow:Step 17000 | Loss: 0.4442 | Spent: 12.1 secs | LR: 0.000114
INFO:tensorflow:Step 17100 | Loss: 0.4243 | Spent: 11.8 secs | LR: 0.000105
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.630
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.809     0.608     0.694      2978
     Matched      0.438     0.679     0.533      1338

    accuracy                          0.630      4316
   macro avg      0.623     0.644     0.614      4316
weighted avg      0.694     0.630     0.644      4316

INFO:tensorflow:Best Accuracy: 0.630
Reading ../data/train.json
INFO:tensorflow:Step 17200 | Loss: 0.4554 | Spent: 26.5 secs | LR: 0.000101
INFO:tensorflow:Step 17300 | Loss: 0.2668 | Spent: 12.0 secs | LR: 0.000105
INFO:tensorflow:Step 17400 | Loss: 0.6696 | Spent: 12.1 secs | LR: 0.000110
INFO:tensorflow:Step 17500 | Loss: 0.5558 | Spent: 12.1 secs | LR: 0.000114
INFO:tensorflow:Step 17600 | Loss: 0.6700 | Spent: 12.0 secs | LR: 0.000118
INFO:tensorflow:Step 17700 | Loss: 0.4960 | Spent: 12.0 secs | LR: 0.000122
INFO:tensorflow:Step 17800 | Loss: 0.4556 | Spent: 12.0 secs | LR: 0.000126
INFO:tensorflow:Step 17900 | Loss: 0.7739 | Spent: 11.9 secs | LR: 0.000130
INFO:tensorflow:Step 18000 | Loss: 0.4971 | Spent: 11.9 secs | LR: 0.000134
INFO:tensorflow:Step 18100 | Loss: 1.0750 | Spent: 12.3 secs | LR: 0.000138
INFO:tensorflow:Step 18200 | Loss: 0.6195 | Spent: 11.9 secs | LR: 0.000142
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.630
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.810     0.605     0.693      2978
     Matched      0.438     0.685     0.534      1338

    accuracy                          0.630      4316
   macro avg      0.624     0.645     0.614      4316
weighted avg      0.695     0.630     0.644      4316

INFO:tensorflow:Best Accuracy: 0.630
Reading ../data/train.json
INFO:tensorflow:Step 18300 | Loss: 0.2654 | Spent: 26.5 secs | LR: 0.000146
INFO:tensorflow:Step 18400 | Loss: 0.4491 | Spent: 12.0 secs | LR: 0.000150
INFO:tensorflow:Step 18500 | Loss: 0.5169 | Spent: 11.9 secs | LR: 0.000154
INFO:tensorflow:Step 18600 | Loss: 0.5641 | Spent: 12.2 secs | LR: 0.000158
INFO:tensorflow:Step 18700 | Loss: 0.3679 | Spent: 11.8 secs | LR: 0.000163
INFO:tensorflow:Step 18800 | Loss: 0.6017 | Spent: 11.9 secs | LR: 0.000167
INFO:tensorflow:Step 18900 | Loss: 0.6301 | Spent: 12.1 secs | LR: 0.000171
INFO:tensorflow:Step 19000 | Loss: 0.5228 | Spent: 11.8 secs | LR: 0.000175
INFO:tensorflow:Step 19100 | Loss: 0.4147 | Spent: 11.8 secs | LR: 0.000179
INFO:tensorflow:Step 19200 | Loss: 0.6069 | Spent: 12.1 secs | LR: 0.000183
INFO:tensorflow:Step 19300 | Loss: 0.3881 | Spent: 11.8 secs | LR: 0.000187
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.638
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.809     0.623     0.704      2978
     Matched      0.445     0.672     0.535      1338

    accuracy                          0.638      4316
   macro avg      0.627     0.647     0.619      4316
weighted avg      0.696     0.638     0.651      4316

INFO:tensorflow:Best Accuracy: 0.638
Reading ../data/train.json
INFO:tensorflow:Step 19400 | Loss: 0.3873 | Spent: 26.3 secs | LR: 0.000191
INFO:tensorflow:Step 19500 | Loss: 0.3995 | Spent: 12.3 secs | LR: 0.000195
INFO:tensorflow:Step 19600 | Loss: 0.6201 | Spent: 12.1 secs | LR: 0.000199
INFO:tensorflow:Step 19700 | Loss: 0.5981 | Spent: 12.0 secs | LR: 0.000203
INFO:tensorflow:Step 19800 | Loss: 0.5336 | Spent: 12.6 secs | LR: 0.000207
INFO:tensorflow:Step 19900 | Loss: 0.4729 | Spent: 11.9 secs | LR: 0.000211
INFO:tensorflow:Step 20000 | Loss: 0.6181 | Spent: 12.0 secs | LR: 0.000216
INFO:tensorflow:Step 20100 | Loss: 0.3665 | Spent: 11.8 secs | LR: 0.000220
INFO:tensorflow:Step 20200 | Loss: 0.5181 | Spent: 11.7 secs | LR: 0.000224
INFO:tensorflow:Step 20300 | Loss: 0.5297 | Spent: 12.1 secs | LR: 0.000228
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.620
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.815     0.581     0.678      2978
     Matched      0.431     0.706     0.535      1338

    accuracy                          0.620      4316
   macro avg      0.623     0.643     0.607      4316
weighted avg      0.696     0.620     0.634      4316

INFO:tensorflow:Best Accuracy: 0.638
Reading ../data/train.json
INFO:tensorflow:Step 20400 | Loss: 0.4609 | Spent: 26.2 secs | LR: 0.000232
INFO:tensorflow:Step 20500 | Loss: 0.4052 | Spent: 12.1 secs | LR: 0.000236
INFO:tensorflow:Step 20600 | Loss: 0.7772 | Spent: 12.4 secs | LR: 0.000240
INFO:tensorflow:Step 20700 | Loss: 0.4423 | Spent: 12.0 secs | LR: 0.000244
INFO:tensorflow:Step 20800 | Loss: 0.3212 | Spent: 11.7 secs | LR: 0.000248
INFO:tensorflow:Step 20900 | Loss: 0.5902 | Spent: 11.9 secs | LR: 0.000252
INFO:tensorflow:Step 21000 | Loss: 0.3232 | Spent: 12.2 secs | LR: 0.000256
INFO:tensorflow:Step 21100 | Loss: 0.6895 | Spent: 11.9 secs | LR: 0.000260
INFO:tensorflow:Step 21200 | Loss: 0.4383 | Spent: 11.8 secs | LR: 0.000264
INFO:tensorflow:Step 21300 | Loss: 0.4763 | Spent: 11.7 secs | LR: 0.000269
INFO:tensorflow:Step 21400 | Loss: 0.5168 | Spent: 12.0 secs | LR: 0.000273
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.647
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.800     0.650     0.717      2978
     Matched      0.451     0.639     0.529      1338

    accuracy                          0.647      4316
   macro avg      0.626     0.645     0.623      4316
weighted avg      0.692     0.647     0.659      4316

INFO:tensorflow:Best Accuracy: 0.647
Reading ../data/train.json
INFO:tensorflow:Step 21500 | Loss: 0.5501 | Spent: 26.5 secs | LR: 0.000277
INFO:tensorflow:Step 21600 | Loss: 0.5119 | Spent: 11.7 secs | LR: 0.000281
INFO:tensorflow:Step 21700 | Loss: 0.3698 | Spent: 12.1 secs | LR: 0.000285
INFO:tensorflow:Step 21800 | Loss: 0.6564 | Spent: 12.3 secs | LR: 0.000289
INFO:tensorflow:Step 21900 | Loss: 0.2394 | Spent: 11.8 secs | LR: 0.000293
INFO:tensorflow:Step 22000 | Loss: 0.5643 | Spent: 12.2 secs | LR: 0.000297
INFO:tensorflow:Step 22100 | Loss: 0.3614 | Spent: 12.0 secs | LR: 0.000301
INFO:tensorflow:Step 22200 | Loss: 0.8670 | Spent: 12.1 secs | LR: 0.000305
INFO:tensorflow:Step 22300 | Loss: 0.3617 | Spent: 11.9 secs | LR: 0.000309
INFO:tensorflow:Step 22400 | Loss: 0.3816 | Spent: 11.7 secs | LR: 0.000313
INFO:tensorflow:Step 22500 | Loss: 0.4764 | Spent: 11.7 secs | LR: 0.000318
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.644
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.816     0.626     0.708      2978
     Matched      0.452     0.685     0.544      1338

    accuracy                          0.644      4316
   macro avg      0.634     0.656     0.626      4316
weighted avg      0.703     0.644     0.658      4316

INFO:tensorflow:Best Accuracy: 0.647
Reading ../data/train.json
INFO:tensorflow:Step 22600 | Loss: 0.2994 | Spent: 26.3 secs | LR: 0.000322
INFO:tensorflow:Step 22700 | Loss: 0.4151 | Spent: 11.9 secs | LR: 0.000326
INFO:tensorflow:Step 22800 | Loss: 0.8977 | Spent: 11.8 secs | LR: 0.000330
INFO:tensorflow:Step 22900 | Loss: 0.3722 | Spent: 12.0 secs | LR: 0.000334
INFO:tensorflow:Step 23000 | Loss: 0.3146 | Spent: 11.9 secs | LR: 0.000338
INFO:tensorflow:Step 23100 | Loss: 0.5714 | Spent: 11.8 secs | LR: 0.000342
INFO:tensorflow:Step 23200 | Loss: 0.6323 | Spent: 11.9 secs | LR: 0.000346
INFO:tensorflow:Step 23300 | Loss: 0.4358 | Spent: 11.8 secs | LR: 0.000350
INFO:tensorflow:Step 23400 | Loss: 0.5864 | Spent: 12.2 secs | LR: 0.000354
INFO:tensorflow:Step 23500 | Loss: 0.6135 | Spent: 11.8 secs | LR: 0.000358
INFO:tensorflow:Step 23600 | Loss: 0.4695 | Spent: 12.0 secs | LR: 0.000362
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.642
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.805     0.636     0.711      2978
     Matched      0.448     0.656     0.532      1338

    accuracy                          0.642      4316
   macro avg      0.626     0.646     0.621      4316
weighted avg      0.694     0.642     0.655      4316

INFO:tensorflow:Best Accuracy: 0.647
Reading ../data/train.json
INFO:tensorflow:Step 23700 | Loss: 0.4615 | Spent: 26.4 secs | LR: 0.000366
INFO:tensorflow:Step 23800 | Loss: 0.6183 | Spent: 12.1 secs | LR: 0.000371
INFO:tensorflow:Step 23900 | Loss: 0.2115 | Spent: 12.1 secs | LR: 0.000375
INFO:tensorflow:Step 24000 | Loss: 0.4423 | Spent: 11.8 secs | LR: 0.000379
INFO:tensorflow:Step 24100 | Loss: 0.3588 | Spent: 11.9 secs | LR: 0.000383
INFO:tensorflow:Step 24200 | Loss: 0.7242 | Spent: 12.2 secs | LR: 0.000387
INFO:tensorflow:Step 24300 | Loss: 0.2967 | Spent: 11.9 secs | LR: 0.000391
INFO:tensorflow:Step 24400 | Loss: 0.6167 | Spent: 12.3 secs | LR: 0.000395
INFO:tensorflow:Step 24500 | Loss: 0.3580 | Spent: 12.5 secs | LR: 0.000399
INFO:tensorflow:Step 24600 | Loss: 0.4253 | Spent: 12.3 secs | LR: 0.000403
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.634
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.795     0.634     0.705      2978
     Matched      0.438     0.635     0.518      1338

    accuracy                          0.634      4316
   macro avg      0.616     0.634     0.612      4316
weighted avg      0.684     0.634     0.647      4316

INFO:tensorflow:Best Accuracy: 0.647
Reading ../data/train.json
INFO:tensorflow:Step 24700 | Loss: 0.4033 | Spent: 26.8 secs | LR: 0.000407
INFO:tensorflow:Step 24800 | Loss: 0.3541 | Spent: 11.9 secs | LR: 0.000411
INFO:tensorflow:Step 24900 | Loss: 0.2581 | Spent: 12.2 secs | LR: 0.000415
INFO:tensorflow:Step 25000 | Loss: 1.1551 | Spent: 11.8 secs | LR: 0.000419
INFO:tensorflow:Step 25100 | Loss: 0.3195 | Spent: 11.8 secs | LR: 0.000424
INFO:tensorflow:Step 25200 | Loss: 0.5183 | Spent: 12.1 secs | LR: 0.000428
INFO:tensorflow:Step 25300 | Loss: 0.6968 | Spent: 12.2 secs | LR: 0.000432
INFO:tensorflow:Step 25400 | Loss: 0.4757 | Spent: 12.0 secs | LR: 0.000436
INFO:tensorflow:Step 25500 | Loss: 0.4393 | Spent: 11.7 secs | LR: 0.000440
INFO:tensorflow:Step 25600 | Loss: 0.6371 | Spent: 12.2 secs | LR: 0.000444
INFO:tensorflow:Step 25700 | Loss: 0.3636 | Spent: 12.1 secs | LR: 0.000448
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.655
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.786     0.688     0.734      2978
     Matched      0.456     0.582     0.512      1338

    accuracy                          0.655      4316
   macro avg      0.621     0.635     0.623      4316
weighted avg      0.684     0.655     0.665      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 25800 | Loss: 0.3334 | Spent: 26.6 secs | LR: 0.000448
INFO:tensorflow:Step 25900 | Loss: 0.3195 | Spent: 12.3 secs | LR: 0.000444
INFO:tensorflow:Step 26000 | Loss: 0.5016 | Spent: 11.9 secs | LR: 0.000440
INFO:tensorflow:Step 26100 | Loss: 0.2574 | Spent: 12.0 secs | LR: 0.000436
INFO:tensorflow:Step 26200 | Loss: 0.4017 | Spent: 12.1 secs | LR: 0.000432
INFO:tensorflow:Step 26300 | Loss: 0.4682 | Spent: 12.3 secs | LR: 0.000428
INFO:tensorflow:Step 26400 | Loss: 0.5941 | Spent: 12.3 secs | LR: 0.000423
INFO:tensorflow:Step 26500 | Loss: 0.3541 | Spent: 11.9 secs | LR: 0.000419
INFO:tensorflow:Step 26600 | Loss: 0.9280 | Spent: 11.9 secs | LR: 0.000415
INFO:tensorflow:Step 26700 | Loss: 0.4454 | Spent: 11.8 secs | LR: 0.000411
INFO:tensorflow:Step 26800 | Loss: 0.3874 | Spent: 12.2 secs | LR: 0.000407
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.643
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.787     0.662     0.719      2978
     Matched      0.445     0.602     0.511      1338

    accuracy                          0.643      4316
   macro avg      0.616     0.632     0.615      4316
weighted avg      0.681     0.643     0.655      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 26900 | Loss: 0.6391 | Spent: 26.7 secs | LR: 0.000403
INFO:tensorflow:Step 27000 | Loss: 0.4899 | Spent: 12.1 secs | LR: 0.000399
INFO:tensorflow:Step 27100 | Loss: 0.4161 | Spent: 11.8 secs | LR: 0.000395
INFO:tensorflow:Step 27200 | Loss: 0.5076 | Spent: 11.8 secs | LR: 0.000391
INFO:tensorflow:Step 27300 | Loss: 0.3619 | Spent: 12.0 secs | LR: 0.000387
INFO:tensorflow:Step 27400 | Loss: 0.3112 | Spent: 11.9 secs | LR: 0.000383
INFO:tensorflow:Step 27500 | Loss: 0.3804 | Spent: 12.0 secs | LR: 0.000379
INFO:tensorflow:Step 27600 | Loss: 0.4006 | Spent: 11.8 secs | LR: 0.000375
INFO:tensorflow:Step 27700 | Loss: 0.3244 | Spent: 11.8 secs | LR: 0.000370
INFO:tensorflow:Step 27800 | Loss: 0.2644 | Spent: 12.2 secs | LR: 0.000366
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.641
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.788     0.657     0.716      2978
     Matched      0.442     0.605     0.511      1338

    accuracy                          0.641      4316
   macro avg      0.615     0.631     0.614      4316
weighted avg      0.681     0.641     0.653      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 27900 | Loss: 0.2737 | Spent: 27.2 secs | LR: 0.000362
INFO:tensorflow:Step 28000 | Loss: 0.1858 | Spent: 11.9 secs | LR: 0.000358
INFO:tensorflow:Step 28100 | Loss: 0.2155 | Spent: 11.9 secs | LR: 0.000354
INFO:tensorflow:Step 28200 | Loss: 0.4784 | Spent: 12.0 secs | LR: 0.000350
INFO:tensorflow:Step 28300 | Loss: 0.4596 | Spent: 12.1 secs | LR: 0.000346
INFO:tensorflow:Step 28400 | Loss: 0.5360 | Spent: 12.1 secs | LR: 0.000342
INFO:tensorflow:Step 28500 | Loss: 0.3218 | Spent: 11.8 secs | LR: 0.000338
INFO:tensorflow:Step 28600 | Loss: 0.4276 | Spent: 12.0 secs | LR: 0.000334
INFO:tensorflow:Step 28700 | Loss: 0.2340 | Spent: 12.0 secs | LR: 0.000330
INFO:tensorflow:Step 28800 | Loss: 0.4579 | Spent: 12.1 secs | LR: 0.000326
INFO:tensorflow:Step 28900 | Loss: 0.2780 | Spent: 12.1 secs | LR: 0.000322
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.642
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.789     0.658     0.717      2978
     Matched      0.444     0.608     0.513      1338

    accuracy                          0.642      4316
   macro avg      0.616     0.633     0.615      4316
weighted avg      0.682     0.642     0.654      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 29000 | Loss: 0.2112 | Spent: 26.8 secs | LR: 0.000317
INFO:tensorflow:Step 29100 | Loss: 0.3560 | Spent: 12.7 secs | LR: 0.000313
INFO:tensorflow:Step 29200 | Loss: 0.3464 | Spent: 11.8 secs | LR: 0.000309
INFO:tensorflow:Step 29300 | Loss: 0.1381 | Spent: 12.2 secs | LR: 0.000305
INFO:tensorflow:Step 29400 | Loss: 1.0239 | Spent: 11.9 secs | LR: 0.000301
INFO:tensorflow:Step 29500 | Loss: 0.1867 | Spent: 11.8 secs | LR: 0.000297
INFO:tensorflow:Step 29600 | Loss: 0.3430 | Spent: 12.2 secs | LR: 0.000293
INFO:tensorflow:Step 29700 | Loss: 0.5077 | Spent: 12.3 secs | LR: 0.000289
INFO:tensorflow:Step 29800 | Loss: 0.5171 | Spent: 12.1 secs | LR: 0.000285
INFO:tensorflow:Step 29900 | Loss: 0.5644 | Spent: 12.3 secs | LR: 0.000281
INFO:tensorflow:Step 30000 | Loss: 0.3370 | Spent: 11.8 secs | LR: 0.000277
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.640
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.789     0.653     0.715      2978
     Matched      0.442     0.611     0.513      1338

    accuracy                          0.640      4316
   macro avg      0.615     0.632     0.614      4316
weighted avg      0.681     0.640     0.652      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 30100 | Loss: 0.7646 | Spent: 26.6 secs | LR: 0.000273
INFO:tensorflow:Step 30200 | Loss: 0.3021 | Spent: 12.4 secs | LR: 0.000268
INFO:tensorflow:Step 30300 | Loss: 0.1712 | Spent: 12.0 secs | LR: 0.000264
INFO:tensorflow:Step 30400 | Loss: 0.2091 | Spent: 11.9 secs | LR: 0.000260
INFO:tensorflow:Step 30500 | Loss: 0.8886 | Spent: 11.9 secs | LR: 0.000256
INFO:tensorflow:Step 30600 | Loss: 0.1923 | Spent: 11.8 secs | LR: 0.000252
INFO:tensorflow:Step 30700 | Loss: 0.2845 | Spent: 11.8 secs | LR: 0.000248
INFO:tensorflow:Step 30800 | Loss: 0.6822 | Spent: 11.9 secs | LR: 0.000244
INFO:tensorflow:Step 30900 | Loss: 0.6992 | Spent: 11.9 secs | LR: 0.000240
INFO:tensorflow:Step 31000 | Loss: 0.1263 | Spent: 11.8 secs | LR: 0.000236
INFO:tensorflow:Step 31100 | Loss: 0.2723 | Spent: 12.0 secs | LR: 0.000232
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.655
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.782     0.693     0.735      2978
     Matched      0.455     0.570     0.506      1338

    accuracy                          0.655      4316
   macro avg      0.618     0.631     0.620      4316
weighted avg      0.680     0.655     0.664      4316

INFO:tensorflow:Best Accuracy: 0.655
Reading ../data/train.json
INFO:tensorflow:Step 31200 | Loss: 0.3841 | Spent: 26.5 secs | LR: 0.000228
INFO:tensorflow:Step 31300 | Loss: 0.3197 | Spent: 12.3 secs | LR: 0.000224
INFO:tensorflow:Step 31400 | Loss: 0.2762 | Spent: 12.1 secs | LR: 0.000220
INFO:tensorflow:Step 31500 | Loss: 0.2228 | Spent: 11.7 secs | LR: 0.000215
INFO:tensorflow:Step 31600 | Loss: 0.2060 | Spent: 12.0 secs | LR: 0.000211
INFO:tensorflow:Step 31700 | Loss: 0.2588 | Spent: 11.6 secs | LR: 0.000207
INFO:tensorflow:Step 31800 | Loss: 0.3991 | Spent: 11.9 secs | LR: 0.000203
INFO:tensorflow:Step 31900 | Loss: 0.1265 | Spent: 11.7 secs | LR: 0.000199
INFO:tensorflow:Step 32000 | Loss: 0.7447 | Spent: 11.9 secs | LR: 0.000195
INFO:tensorflow:Step 32100 | Loss: 0.2585 | Spent: 12.0 secs | LR: 0.000191
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.658
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.782     0.700     0.738      2978
     Matched      0.458     0.565     0.506      1338

    accuracy                          0.658      4316
   macro avg      0.620     0.632     0.622      4316
weighted avg      0.681     0.658     0.666      4316

INFO:tensorflow:Best Accuracy: 0.658
Reading ../data/train.json
INFO:tensorflow:Step 32200 | Loss: 0.2066 | Spent: 26.4 secs | LR: 0.000187
INFO:tensorflow:Step 32300 | Loss: 0.0683 | Spent: 11.9 secs | LR: 0.000183
INFO:tensorflow:Step 32400 | Loss: 0.2975 | Spent: 12.2 secs | LR: 0.000179
INFO:tensorflow:Step 32500 | Loss: 0.4767 | Spent: 11.9 secs | LR: 0.000175
INFO:tensorflow:Step 32600 | Loss: 0.2929 | Spent: 11.7 secs | LR: 0.000171
INFO:tensorflow:Step 32700 | Loss: 0.3232 | Spent: 11.8 secs | LR: 0.000167
INFO:tensorflow:Step 32800 | Loss: 0.1664 | Spent: 12.0 secs | LR: 0.000162
INFO:tensorflow:Step 32900 | Loss: 0.2154 | Spent: 11.9 secs | LR: 0.000158
INFO:tensorflow:Step 33000 | Loss: 0.0722 | Spent: 11.6 secs | LR: 0.000154
INFO:tensorflow:Step 33100 | Loss: 0.1063 | Spent: 12.1 secs | LR: 0.000150
INFO:tensorflow:Step 33200 | Loss: 0.3282 | Spent: 11.8 secs | LR: 0.000146
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.651
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.772     0.702     0.735      2978
     Matched      0.447     0.537     0.488      1338

    accuracy                          0.651      4316
   macro avg      0.609     0.620     0.612      4316
weighted avg      0.671     0.651     0.659      4316

INFO:tensorflow:Best Accuracy: 0.658
Reading ../data/train.json
INFO:tensorflow:Step 33300 | Loss: 0.2434 | Spent: 26.5 secs | LR: 0.000142
INFO:tensorflow:Step 33400 | Loss: 0.0631 | Spent: 11.7 secs | LR: 0.000138
INFO:tensorflow:Step 33500 | Loss: 0.1451 | Spent: 11.9 secs | LR: 0.000134
INFO:tensorflow:Step 33600 | Loss: 0.0760 | Spent: 11.9 secs | LR: 0.000130
INFO:tensorflow:Step 33700 | Loss: 0.4842 | Spent: 11.8 secs | LR: 0.000126
INFO:tensorflow:Step 33800 | Loss: 0.2482 | Spent: 12.4 secs | LR: 0.000122
INFO:tensorflow:Step 33900 | Loss: 0.0495 | Spent: 12.0 secs | LR: 0.000118
INFO:tensorflow:Step 34000 | Loss: 0.1484 | Spent: 12.5 secs | LR: 0.000114
INFO:tensorflow:Step 34100 | Loss: 0.1894 | Spent: 12.2 secs | LR: 0.000109
INFO:tensorflow:Step 34200 | Loss: 0.3928 | Spent: 11.8 secs | LR: 0.000105
INFO:tensorflow:Step 34300 | Loss: 0.2224 | Spent: 11.8 secs | LR: 0.000101
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.656
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.776     0.704     0.739      2978
     Matched      0.455     0.549     0.497      1338

    accuracy                          0.656      4316
   macro avg      0.616     0.627     0.618      4316
weighted avg      0.677     0.656     0.664      4316

INFO:tensorflow:Best Accuracy: 0.658
Reading ../data/train.json
INFO:tensorflow:Step 34400 | Loss: 0.0753 | Spent: 26.8 secs | LR: 0.000101
INFO:tensorflow:Step 34500 | Loss: 0.1464 | Spent: 11.7 secs | LR: 0.000103
INFO:tensorflow:Step 34600 | Loss: 0.1689 | Spent: 12.1 secs | LR: 0.000105
INFO:tensorflow:Step 34700 | Loss: 0.0971 | Spent: 12.1 secs | LR: 0.000108
INFO:tensorflow:Step 34800 | Loss: 0.0210 | Spent: 11.9 secs | LR: 0.000110
INFO:tensorflow:Step 34900 | Loss: 0.2142 | Spent: 12.3 secs | LR: 0.000112
INFO:tensorflow:Step 35000 | Loss: 0.0249 | Spent: 11.9 secs | LR: 0.000114
INFO:tensorflow:Step 35100 | Loss: 0.2734 | Spent: 11.8 secs | LR: 0.000116
INFO:tensorflow:Step 35200 | Loss: 0.2571 | Spent: 11.7 secs | LR: 0.000118
INFO:tensorflow:Step 35300 | Loss: 0.1774 | Spent: 12.0 secs | LR: 0.000120
INFO:tensorflow:Step 35400 | Loss: 0.1196 | Spent: 11.7 secs | LR: 0.000122
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.665
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.767     0.737     0.752      2978
     Matched      0.462     0.502     0.481      1338

    accuracy                          0.665      4316
   macro avg      0.615     0.620     0.617      4316
weighted avg      0.673     0.665     0.668      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 35500 | Loss: 0.1864 | Spent: 27.0 secs | LR: 0.000124
INFO:tensorflow:Step 35600 | Loss: 0.1539 | Spent: 11.7 secs | LR: 0.000126
INFO:tensorflow:Step 35700 | Loss: 0.1683 | Spent: 11.8 secs | LR: 0.000128
INFO:tensorflow:Step 35800 | Loss: 0.1690 | Spent: 11.9 secs | LR: 0.000130
INFO:tensorflow:Step 35900 | Loss: 0.2588 | Spent: 12.0 secs | LR: 0.000132
INFO:tensorflow:Step 36000 | Loss: 0.4657 | Spent: 11.6 secs | LR: 0.000134
INFO:tensorflow:Step 36100 | Loss: 0.3171 | Spent: 12.1 secs | LR: 0.000136
INFO:tensorflow:Step 36200 | Loss: 0.2319 | Spent: 12.0 secs | LR: 0.000138
INFO:tensorflow:Step 36300 | Loss: 0.3860 | Spent: 11.9 secs | LR: 0.000140
INFO:tensorflow:Step 36400 | Loss: 0.0457 | Spent: 12.1 secs | LR: 0.000142
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.656
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.772     0.712     0.741      2978
     Matched      0.454     0.532     0.490      1338

    accuracy                          0.656      4316
   macro avg      0.613     0.622     0.615      4316
weighted avg      0.673     0.656     0.663      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 36500 | Loss: 0.8644 | Spent: 26.8 secs | LR: 0.000144
INFO:tensorflow:Step 36600 | Loss: 0.2089 | Spent: 12.2 secs | LR: 0.000146
INFO:tensorflow:Step 36700 | Loss: 0.0840 | Spent: 12.0 secs | LR: 0.000148
INFO:tensorflow:Step 36800 | Loss: 0.1992 | Spent: 11.6 secs | LR: 0.000150
INFO:tensorflow:Step 36900 | Loss: 0.1847 | Spent: 11.6 secs | LR: 0.000152
INFO:tensorflow:Step 37000 | Loss: 0.0890 | Spent: 11.9 secs | LR: 0.000154
INFO:tensorflow:Step 37100 | Loss: 0.4845 | Spent: 11.8 secs | LR: 0.000156
INFO:tensorflow:Step 37200 | Loss: 0.4115 | Spent: 12.2 secs | LR: 0.000158
INFO:tensorflow:Step 37300 | Loss: 1.0839 | Spent: 12.0 secs | LR: 0.000161
INFO:tensorflow:Step 37400 | Loss: 0.1491 | Spent: 12.3 secs | LR: 0.000163
INFO:tensorflow:Step 37500 | Loss: 0.1469 | Spent: 11.9 secs | LR: 0.000165
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.661
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.771     0.725     0.747      2978
     Matched      0.459     0.520     0.488      1338

    accuracy                          0.661      4316
   macro avg      0.615     0.623     0.618      4316
weighted avg      0.674     0.661     0.667      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 37600 | Loss: 0.1170 | Spent: 26.4 secs | LR: 0.000167
INFO:tensorflow:Step 37700 | Loss: 0.1103 | Spent: 11.9 secs | LR: 0.000169
INFO:tensorflow:Step 37800 | Loss: 0.2418 | Spent: 11.9 secs | LR: 0.000171
INFO:tensorflow:Step 37900 | Loss: 0.2298 | Spent: 11.8 secs | LR: 0.000173
INFO:tensorflow:Step 38000 | Loss: 0.0100 | Spent: 11.8 secs | LR: 0.000175
INFO:tensorflow:Step 38100 | Loss: 0.2354 | Spent: 12.0 secs | LR: 0.000177
INFO:tensorflow:Step 38200 | Loss: 0.1013 | Spent: 11.9 secs | LR: 0.000179
INFO:tensorflow:Step 38300 | Loss: 0.1389 | Spent: 12.0 secs | LR: 0.000181
INFO:tensorflow:Step 38400 | Loss: 0.1360 | Spent: 12.1 secs | LR: 0.000183
INFO:tensorflow:Step 38500 | Loss: 0.2107 | Spent: 12.6 secs | LR: 0.000185
INFO:tensorflow:Step 38600 | Loss: 0.3805 | Spent: 12.1 secs | LR: 0.000187
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.652
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.773     0.701     0.735      2978
     Matched      0.449     0.543     0.492      1338

    accuracy                          0.652      4316
   macro avg      0.611     0.622     0.614      4316
weighted avg      0.673     0.652     0.660      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 38700 | Loss: 0.1049 | Spent: 26.9 secs | LR: 0.000189
INFO:tensorflow:Step 38800 | Loss: 0.1790 | Spent: 11.7 secs | LR: 0.000191
INFO:tensorflow:Step 38900 | Loss: 0.2724 | Spent: 12.3 secs | LR: 0.000193
INFO:tensorflow:Step 39000 | Loss: 0.0746 | Spent: 12.0 secs | LR: 0.000195
INFO:tensorflow:Step 39100 | Loss: 0.0726 | Spent: 11.8 secs | LR: 0.000197
INFO:tensorflow:Step 39200 | Loss: 0.1071 | Spent: 11.8 secs | LR: 0.000199
INFO:tensorflow:Step 39300 | Loss: 0.3321 | Spent: 11.5 secs | LR: 0.000201
INFO:tensorflow:Step 39400 | Loss: 0.1036 | Spent: 11.8 secs | LR: 0.000203
INFO:tensorflow:Step 39500 | Loss: 0.0741 | Spent: 12.0 secs | LR: 0.000205
INFO:tensorflow:Step 39600 | Loss: 0.1965 | Spent: 11.8 secs | LR: 0.000207
INFO:tensorflow:Step 39700 | Loss: 0.3702 | Spent: 12.1 secs | LR: 0.000209
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.663
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.766     0.736     0.751      2978
     Matched      0.459     0.500     0.479      1338

    accuracy                          0.663      4316
   macro avg      0.613     0.618     0.615      4316
weighted avg      0.671     0.663     0.666      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 39800 | Loss: 0.3147 | Spent: 26.7 secs | LR: 0.000211
INFO:tensorflow:Step 39900 | Loss: 0.1105 | Spent: 11.8 secs | LR: 0.000214
INFO:tensorflow:Step 40000 | Loss: 0.3926 | Spent: 11.9 secs | LR: 0.000216
INFO:tensorflow:Step 40100 | Loss: 0.3047 | Spent: 12.1 secs | LR: 0.000218
INFO:tensorflow:Step 40200 | Loss: 0.1858 | Spent: 12.0 secs | LR: 0.000220
INFO:tensorflow:Step 40300 | Loss: 0.1554 | Spent: 12.1 secs | LR: 0.000222
INFO:tensorflow:Step 40400 | Loss: 0.8851 | Spent: 12.2 secs | LR: 0.000224
INFO:tensorflow:Step 40500 | Loss: 0.1289 | Spent: 11.8 secs | LR: 0.000226
INFO:tensorflow:Step 40600 | Loss: 0.2429 | Spent: 12.1 secs | LR: 0.000228
INFO:tensorflow:Step 40700 | Loss: 0.3689 | Spent: 12.1 secs | LR: 0.000230
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.652
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.764     0.718     0.740      2978
     Matched      0.446     0.507     0.475      1338

    accuracy                          0.652      4316
   macro avg      0.605     0.612     0.607      4316
weighted avg      0.666     0.652     0.658      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 40800 | Loss: 0.1825 | Spent: 26.4 secs | LR: 0.000232
INFO:tensorflow:Step 40900 | Loss: 0.0759 | Spent: 12.3 secs | LR: 0.000234
INFO:tensorflow:Step 41000 | Loss: 0.4787 | Spent: 12.3 secs | LR: 0.000236
INFO:tensorflow:Step 41100 | Loss: 0.2035 | Spent: 12.0 secs | LR: 0.000238
INFO:tensorflow:Step 41200 | Loss: 0.2500 | Spent: 11.9 secs | LR: 0.000240
INFO:tensorflow:Step 41300 | Loss: 0.0831 | Spent: 12.1 secs | LR: 0.000242
INFO:tensorflow:Step 41400 | Loss: 0.1143 | Spent: 12.2 secs | LR: 0.000244
INFO:tensorflow:Step 41500 | Loss: 0.1549 | Spent: 12.4 secs | LR: 0.000246
INFO:tensorflow:Step 41600 | Loss: 0.2083 | Spent: 11.7 secs | LR: 0.000248
INFO:tensorflow:Step 41700 | Loss: 0.0688 | Spent: 11.8 secs | LR: 0.000250
INFO:tensorflow:Step 41800 | Loss: 0.1945 | Spent: 12.4 secs | LR: 0.000252
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.652
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.760     0.725     0.742      2978
     Matched      0.445     0.491     0.467      1338

    accuracy                          0.652      4316
   macro avg      0.602     0.608     0.604      4316
weighted avg      0.662     0.652     0.657      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 41900 | Loss: 0.1664 | Spent: 26.7 secs | LR: 0.000254
INFO:tensorflow:Step 42000 | Loss: 0.1393 | Spent: 11.9 secs | LR: 0.000256
INFO:tensorflow:Step 42100 | Loss: 0.3710 | Spent: 11.9 secs | LR: 0.000258
INFO:tensorflow:Step 42200 | Loss: 0.0714 | Spent: 11.7 secs | LR: 0.000260
INFO:tensorflow:Step 42300 | Loss: 0.0473 | Spent: 11.7 secs | LR: 0.000262
INFO:tensorflow:Step 42400 | Loss: 0.1340 | Spent: 11.9 secs | LR: 0.000264
INFO:tensorflow:Step 42500 | Loss: 0.2807 | Spent: 11.8 secs | LR: 0.000267
INFO:tensorflow:Step 42600 | Loss: 0.1712 | Spent: 11.6 secs | LR: 0.000269
INFO:tensorflow:Step 42700 | Loss: 0.0413 | Spent: 11.7 secs | LR: 0.000271
INFO:tensorflow:Step 42800 | Loss: 0.1050 | Spent: 11.7 secs | LR: 0.000273
INFO:tensorflow:Step 42900 | Loss: 0.0994 | Spent: 11.5 secs | LR: 0.000275
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.656
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.770     0.715     0.741      2978
     Matched      0.453     0.525     0.486      1338

    accuracy                          0.656      4316
   macro avg      0.611     0.620     0.614      4316
weighted avg      0.672     0.656     0.662      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 43000 | Loss: 0.1533 | Spent: 25.8 secs | LR: 0.000273
INFO:tensorflow:Step 43100 | Loss: 0.1244 | Spent: 12.2 secs | LR: 0.000271
INFO:tensorflow:Step 43200 | Loss: 0.1736 | Spent: 12.0 secs | LR: 0.000269
INFO:tensorflow:Step 43300 | Loss: 0.1618 | Spent: 12.2 secs | LR: 0.000267
INFO:tensorflow:Step 43400 | Loss: 0.1557 | Spent: 11.6 secs | LR: 0.000265
INFO:tensorflow:Step 43500 | Loss: 0.0385 | Spent: 12.2 secs | LR: 0.000263
INFO:tensorflow:Step 43600 | Loss: 0.0408 | Spent: 11.6 secs | LR: 0.000261
INFO:tensorflow:Step 43700 | Loss: 0.0164 | Spent: 12.6 secs | LR: 0.000259
INFO:tensorflow:Step 43800 | Loss: 0.1134 | Spent: 11.5 secs | LR: 0.000257
INFO:tensorflow:Step 43900 | Loss: 0.2773 | Spent: 11.9 secs | LR: 0.000255
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.650
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.765     0.712     0.738      2978
     Matched      0.445     0.513     0.476      1338

    accuracy                          0.650      4316
   macro avg      0.605     0.612     0.607      4316
weighted avg      0.666     0.650     0.657      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 44000 | Loss: 0.0649 | Spent: 26.1 secs | LR: 0.000253
INFO:tensorflow:Step 44100 | Loss: 0.1344 | Spent: 11.6 secs | LR: 0.000251
INFO:tensorflow:Step 44200 | Loss: 0.0846 | Spent: 11.9 secs | LR: 0.000249
INFO:tensorflow:Step 44300 | Loss: 0.1164 | Spent: 11.9 secs | LR: 0.000247
INFO:tensorflow:Step 44400 | Loss: 0.0142 | Spent: 11.9 secs | LR: 0.000245
INFO:tensorflow:Step 44500 | Loss: 0.0122 | Spent: 11.9 secs | LR: 0.000243
INFO:tensorflow:Step 44600 | Loss: 0.3497 | Spent: 11.8 secs | LR: 0.000241
INFO:tensorflow:Step 44700 | Loss: 0.3424 | Spent: 11.4 secs | LR: 0.000239
INFO:tensorflow:Step 44800 | Loss: 0.2432 | Spent: 11.7 secs | LR: 0.000237
INFO:tensorflow:Step 44900 | Loss: 0.0964 | Spent: 11.9 secs | LR: 0.000235
INFO:tensorflow:Step 45000 | Loss: 0.1724 | Spent: 12.0 secs | LR: 0.000232
Reading ../data/dev.json
INFO:tensorflow:Evaluation: Testing Accuracy: 0.661
INFO:tensorflow:
              precision    recall  f1-score   support

 Not Matched      0.765     0.734     0.749      2978
     Matched      0.457     0.498     0.477      1338

    accuracy                          0.661      4316
   macro avg      0.611     0.616     0.613      4316
weighted avg      0.670     0.661     0.665      4316

INFO:tensorflow:Best Accuracy: 0.665
Reading ../data/train.json
INFO:tensorflow:Step 45100 | Loss: 0.3134 | Spent: 26.9 secs | LR: 0.000230
INFO:tensorflow:Step 45200 | Loss: 0.1168 | Spent: 12.1 secs | LR: 0.000228
INFO:tensorflow:Step 45300 | Loss: 0.1054 | Spent: 12.1 secs | LR: 0.000226
INFO:tensorflow:Step 45400 | Loss: 0.4776 | Spent: 12.1 secs | LR: 0.000224
INFO:tensorflow:Step 45500 | Loss: 0.0156 | Spent: 12.2 secs | LR: 0.000222
INFO:tensorflow:Step 45600 | Loss: 0.0686 | Spent: 11.6 secs | LR: 0.000220
INFO:tensorflow:Step 45700 | Loss: 0.1008 | Spent: 12.4 secs | LR: 0.000218
INFO:tensorflow:Step 45800 | Loss: 0.1848 | Spent: 12.3 secs | LR: 0.000216
INFO:tensorflow:Step 45900 | Loss: 0.0412 | Spent: 11.9 secs | LR: 0.000214
INFO:tensorflow:Step 46000 | Loss: 0.0138 | Spent: 11.7 secs | LR: 0.000212
INFO:tensorflow:Step 46100 | Loss: 0.0203 | Spent: 12.4 secs | LR: 0.000210
Reading ../data/dev.json