def compute_accuracy(preds, tags):
    """Computes accuracy in any tagging scheme.
        
    Args:
        preds (list) : list of list of prediction strings
        tags (list) : list of list of ground truth strings
        
    Returns:
        float : accuracy (in %)
    """
    n_tokens = sum([len(tag) for tag in tags])
    correct_preds = 0
    for pred_sent, tag_sent in zip(preds, tags):
        correct_preds += sum([1 for p, t in zip(pred_sent, tag_sent) if p == t])

    return 100 * correct_preds / n_tokens