Esta página foi traduzida pela API Cloud Translation.
Switch to English

tf.edit_distance

TensorFlow 1 versão Ver fonte no GitHub

Calcula a distância Levenshtein entre sequências.

Esta operação tem sequências de comprimento variável ( hypothesis e truth ), cada um fornecido como uma SparseTensor , e calcula a distância Levenshtein. Você pode normalizar a distância de edição por tempo de truth , definindo normalize a verdade.

Por exemplo, dada a sequência de entrada:

 # 'hypothesis' is a tensor of shape `[2, 1]` with variable-length values:
#   (0,0) = ["a"]
#   (1,0) = ["b"]
hypothesis = tf.sparse.SparseTensor(
    [[0, 0, 0],
     [1, 0, 0]],
    ["a", "b"],
    (2, 1, 1))

# 'truth' is a tensor of shape `[2, 2]` with variable-length values:
#   (0,0) = []
#   (0,1) = ["a"]
#   (1,0) = ["b", "c"]
#   (1,1) = ["a"]
truth = tf.sparse.SparseTensor(
    [[0, 1, 0],
     [1, 0, 0],
     [1, 0, 1],
     [1, 1, 0]],
    ["a", "b", "c", "a"],
    (2, 2, 2))

normalize = True
 

Esta operação iria retornar o seguinte:

 # 'output' is a tensor of shape `[2, 2]` with edit distances normalized
# by 'truth' lengths.
output ==> [[inf, 1.0],  # (0,0): no truth, (0,1): no hypothesis
           [0.5, 1.0]]  # (1,0): addition, (1,1): no hypothesis
 

hypothesis Um SparseTensor contendo sequências de hipóteses.
truth Um SparseTensor contendo sequências de verdade.
normalize Um bool . Se True , normaliza a distância Levenshtein por tempo de truth.
name Um nome para a operação (opcional).

Uma densa Tensor com classificação R - 1 , onde R é a classificação do SparseTensor entradas hypothesis e truth .

TypeError Se qualquer hypothesis ou truth não são uma SparseTensor .