def predict_check(pred_variable, gold_variable, mask_variable, sentence_classification=False):
    '\n        input:\n            pred_variable (batch_size, sent_len): pred tag result, in numpy format\n            gold_variable (batch_size, sent_len): gold result variable\n            mask_variable (batch_size, sent_len): mask variable\n    '
    pred = pred_variable.cpu().data.numpy()
    gold = gold_variable.cpu().data.numpy()
    mask = mask_variable.cpu().data.numpy()
    overlaped = (pred == gold)
    if sentence_classification:
        right_token = np.sum(overlaped)
        total_token = overlaped.shape[0]
    else:
        right_token = np.sum((overlaped * mask))
        total_token = mask.sum()
    return (right_token, total_token)
input:
    pred_variable (batch_size, sent_len): pred tag result, in numpy format
    gold_variable (batch_size, sent_len): gold result variable
    mask_variable (batch_size, sent_len): mask variable
def predict_check(pred_variable, gold_variable, mask_variable, sentence_classification=False):
    '\n        input:\n            pred_variable (batch_size, sent_len): pred tag result, in numpy format\n            gold_variable (batch_size, sent_len): gold result variable\n            mask_variable (batch_size, sent_len): mask variable\n    '
    pred = pred_variable.cpu().data.numpy()
    gold = gold_variable.cpu().data.numpy()
    mask = mask_variable.cpu().data.numpy()
    overlaped = (pred == gold)
    if sentence_classification:
        right_token = np.sum(overlaped)
        total_token = overlaped.shape[0]
    else:
        right_token = np.sum((overlaped * mask))
        total_token = mask.sum()
    return (right_token, total_token)