Rasa NLU: расчет баллов доверия - PullRequest
0 голосов
/ 13 сентября 2018

Я пытался понять, каков на самом деле показатель доверия, выведенный rasa nlu (ver-0.12.3), и как они вычисляются.

Я работал над задачей классификации намерений с вложением тензорного потока. Как только моя модель обучена, и я анализирую новые / тестовые данные, я получаю оценку достоверности вместе с каждым вероятным намерением. Но я почти не представляю, что на самом деле представляет этот показатель доверия.

Как упомянуто в документах, это не представляет вероятность. И после некоторого наблюдения за результатами это кажется оценкой типа «один-много», т. Е. Для одного ввода текста я могу получить несколько намерений с высокими показателями достоверности.

После быстрого просмотра кода я думаю, что он вычисляется в функции «_tf_sim» в файле «embedding_intent_classifier.py» (Соответствующий сегмент кода ниже)

Может кто-нибудь подтвердить / уточнить, как это работает или что именно здесь означает показатель доверия?

    def _tf_sim(self, a, b):
    """Define similarity"""

    if self.similarity_type == 'cosine':
        a = tf.nn.l2_normalize(a, -1)
        b = tf.nn.l2_normalize(b, -1)

    if self.similarity_type == 'cosine' or self.similarity_type == 'inner':
        sim = tf.reduce_sum(tf.expand_dims(a, 1) * b, -1)

        # similarity between intent embeddings
        sim_emb = tf.reduce_sum(b[:, 0:1, :] * b[:, 1:, :], -1)

        return sim, sim_emb
    else:
        raise ValueError("Wrong similarity type {}, "
                         "should be 'cosine' or 'inner'"
                         "".format(self.similarity_type))

1 Ответ

0 голосов
/ 20 ноября 2018

Классификатор намерений intent_classifier_tensorflow_embedding ( документы ) - это подход, основанный на StarSpace paper от Facebook.

В этом подходе и примеры намерений, и ихметки, встроенные в одно и то же многомерное пространство.Таким образом, вектор объекта намерения и метка этого предложения умножаются на весовую матрицу, которая отображает их в n-мерное пространство.Во время обучения эти две весовые матрицы корректируются таким образом, чтобы сопоставленный вектор намерений был аналогичен сопоставленному вектору его метки и максимально отличался от других меток.Таким образом, сходство измеряется с помощью косинусного сходства .Это сходство равно 1, если векторы указывают в одном направлении, для других углов < 1.

...