def METHOD_NAME(self, triples, ent_matrix):
    """Compute object corruption scores.
    Evaluate the inputs against object corruptions and scores of the corruptions.
    Parameters
    ----------
    triples: array-like, shape (n, k)
        Batch of input embeddings.
    ent_matrix: array-like, shape (m, k)
        Slice of embedding matrix (corruptions).
    Returns
    -------
    scores: tf.Tensor, shape (n, 1)
        Scores of object corruptions (corruptions defined by `ent_embs` matrix).
    """
    # split the embeddings of s, p, o into 2 parts (real and img part)
    e_s_real, e_s_img = tf.split(triples[0], 2, axis=1)
    e_p_real, e_p_img = tf.split(triples[1], 2, axis=1)
    e_o_real, e_o_img = tf.split(triples[2], 2, axis=1)
    # split the corruption entity embeddings into 2 parts (real and img
    # part)
    ent_real, ent_img = tf.split(ent_matrix, 2, axis=1)
    # compute the object corruption score using ent_real, ent_img
    # (corruption embeddings) as object embeddings
    obj_corr_score = tf.reduce_sum(
        (
            tf.expand_dims(e_s_real * e_p_real, 1)
            - tf.expand_dims(e_s_img * e_p_img, 1)
        )
        * ent_real
        + (
            tf.expand_dims(e_s_img * e_p_real, 1)
            + tf.expand_dims(e_s_real * e_p_img, 1)
        )
        * ent_img,
        axis=2,
    )
    return obj_corr_score