参考:
还有一些其他的函数可以到官方文档里面查看和使用.
Ⅰ tf.contrib.crf.crf_log_likelihood
crf_log_likelihood(inputs,tag_indices,sequence_lengths,transition_params=None)
在一个条件随机场里面计算标签序列的log-likelihood
参数:
inputs: 一个形状为
[batch_size, max_seq_len, num_tags]
的tensor,一般使用BILSTM处理之后输出转换为他要求的形状作为CRF层的输入.
tag_indices: 一个形状为[batch_size, max_seq_len]
的矩阵,其实就是真实标签.
sequence_lengths: 一个形状为[batch_size]
的向量,表示每个序列的长度.
transition_params: 形状为[num_tags, num_tags]
的转移矩阵
返回:
log_likelihood: 标量,log-likelihood
transition_params: 形状为[num_tags, num_tags]
的转移矩阵
Ⅱ tf.contrib.crf.viterbi_decode
viterbi_decode(score,transition_params)
通俗一点,作用就是返回最好的标签序列.这个函数只能够在测试时使用,在tensorflow外部解码
参数:
score: 一个形状为
[seq_len, num_tags]
matrix of unary potenti