計(jì)算TensorFlow序列之間的編輯距離

2018-10-12 16:38 更新

tf.edit_distance

edit_distance ( 
    hypothesis , 
    truth , 
    normalize = True , 
    name = 'edit_distance' 
)

定義在:tensorflow/python/ops/array_ops.py.

參見(jiàn)指南:數(shù)學(xué)函數(shù)>序列比較和索引

計(jì)算序列之間的編輯距離.

該操作采用可變長(zhǎng)度序列(假設(shè)(hypothesis)和真值(truth)),每個(gè)序列都提供 SparseTensor,并計(jì)算編輯距離.通過(guò)將規(guī)范化設(shè)置為 true, 可以將編輯距離正常化.

例如,給出以下輸入:

# 'hypothesis' is a tensor of shape `[2, 1]` with variable-length values:
#   (0,0) = ["a"]
#   (1,0) = ["b"]
hypothesis = tf.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.SparseTensor(
    [[0, 1, 0],
     [1, 0, 0],
     [1, 0, 1],
     [1, 1, 0]]
    ["a", "b", "c", "a"],
    (2, 2, 2))

normalize = True

此操作將返回以下內(nèi)容:

# '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

ARGS:

  • hypothesis:SparseTensor 含有假設(shè)序列.
  • truth:一個(gè) SparseTensor 含有真值序列.
  • normalize:一個(gè)布爾值.如果為 True,將編輯的距離正?;癁檎嬷档拈L(zhǎng)度.
  • name:操作的名稱(chēng)(可選).

返回:

返回秩為 R - 1 的稠密 Tensor,其中 R 是 SparseTensor 輸入 hypothesis(假設(shè)) 和 truth(真值) 的秩.

注意:

  • TypeError:如果任何一個(gè) hypothesis(假設(shè)) 和 truth(真值) 不是一個(gè)SparseTensor.
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)