EditDistance
tensorflow C++ API
Computes the (possibly normalized) Levenshtein Edit Distance.
Summary
The inputs are variable-length sequences provided by SparseTensors (hypothesis_indices, hypothesis_values, hypothesis_shape) and (truth_indices, truth_values, truth_shape).
The inputs are:
Arguments:
- scope: A Scope object
- hypothesis_indices: The indices of the hypothesis list SparseTensor. This is an N x R int64 matrix.
- hypothesis_values: The values of the hypothesis list SparseTensor. This is an N-length vector.
- hypothesis_shape: The shape of the hypothesis list SparseTensor. This is an R-length vector.
- truth_indices: The indices of the truth list SparseTensor. This is an M x R int64 matrix.
- truth_values: The values of the truth list SparseTensor. This is an M-length vector.
- truth_shape: truth indices, vector.
Optional attributes (seeAttrs
):
- normalize: boolean (if true, edit distances are normalized by length of truth).
The output is:
Returns:
Output
: A dense float tensor with rank R - 1.
For the example input:
// hypothesis represents a 2x1 matrix with variable-length values:
// (0,0) = ["a"]
// (1,0) = ["b"]
hypothesis_indices=[[0,0,0],
[1,0,0]]
hypothesis_values=["a","b"]
hypothesis_shape=[2,1,1]
// truth represents a 2x2 matrix with variable-length values:
// (0,0) = []
// (0,1) = ["a"]
// (1,0) = ["b", "c"]
// (1,1) = ["a"]
truth_indices=[[0,1,0],
[1,0,0],
[1,0,1],
[1,1,0]]
truth_values=["a","b","c","a"]
truth_shape=[2,2,2]
normalize=true
The output will be:
// output is a 2x2 matrix 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
EditDistance block
Source link :https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_array_ops.cpp
Argument:
- Scope scope : A Scope object (A scope is generated automatically each page. A scope is not connected.)
- Input hypothesis_indices: The indices of the hypothesis list SparseTensor. This is an N x R int64 matrix.
- hypothesis_values: The values of the hypothesis list SparseTensor. This is an N-length vector.
- hypothesis_shape: The shape of the hypothesis list SparseTensor. This is an int64 & R-length vector.
- truth_indices: The indices of the truth list SparseTensor. This is an M x R int64 matrix.
- truth_values: The values of the truth list SparseTensor. This is an M-length vector.
- truth_shape: truth indices, int64 vector.
Return:
- Output output : Output object of Diag class object.
Result:
- std::vector(Tensor) result_output : Assume
input
has dimensions[D1,..., Dk, D1,..., Dk]
, then the output is a tensor of rankk
with dimensions[D1,..., Dk]
Using Method
※