|  View source on GitHub | 
Computes the Levenshtein distance between sequences.
tf.edit_distance(
    hypothesis, truth, normalize=True, name='edit_distance'
)
This operation takes variable-length sequences (hypothesis and truth),
each provided as a SparseTensor, and computes the Levenshtein distance.
You can normalize the edit distance by length of truth by setting
normalize to true.
For example:
Given the following input,
- hypothesisis a- tf.SparseTensorof shape- [2, 1, 1]
- truthis a- tf.SparseTensorof shape- [2, 2, 2]
hypothesis = tf.SparseTensor([[0, 0, 0],[1, 0, 0]],["a", "b"],(2, 1, 1))truth = tf.SparseTensor([[0, 1, 0],[1, 0, 0],[1, 0, 1],[1, 1, 0]],["a", "b", "c", "a"],(2, 2, 2))tf.edit_distance(hypothesis, truth, normalize=True)<tf.Tensor: shape=(2, 2), dtype=float32, numpy=array([[inf, 1. ],[0.5, 1. ]], dtype=float32)>
The operation returns a dense Tensor of shape [2, 2] with
edit distances normalized by truth lengths.
For the following inputs,
# '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
# The output would be a dense Tensor of shape `(2,)`, with edit distances
normalized by 'truth' lengths.
# output => array([0., 0.5], dtype=float32)
| Returns | |
|---|---|
| A dense Tensorwith rankR - 1, where R is the rank of theSparseTensorinputshypothesisandtruth. | 
| Raises | |
|---|---|
| TypeError | If either hypothesisortruthare not aSparseTensor. |