Python 在tensorflow中使用CRF解码时如何获得top-k最佳候选序列
允许我们获得每个标记的边际概率(每个输出标记的一种置信度度量)和输出的条件概率(整个输出的置信度度量) Tensorflow有自己的crf实现。训练crf模型后,我们可以通过Python 在tensorflow中使用CRF解码时如何获得top-k最佳候选序列,python,tensorflow,crf,viterbi,beam-search,Python,Tensorflow,Crf,Viterbi,Beam Search,允许我们获得每个标记的边际概率(每个输出标记的一种置信度度量)和输出的条件概率(整个输出的置信度度量) Tensorflow有自己的crf实现。训练crf模型后,我们可以通过tf.contrib.crf.viterbi_decode()或tf.contrib.crf.crf_decode()获得每个测试输入序列的最佳标记序列y及其非标准化分数 然而,这并不足以让我得到一个最好的序列。目前,top-k最佳序列及其相应的分数对我都很有用。我注意到,目前上述两个功能没有提供这些信息。因此,我想知道是否
tf.contrib.crf.viterbi_decode()
或tf.contrib.crf.crf_decode()
获得每个测试输入序列的最佳标记序列y
及其非标准化分数
然而,这并不足以让我得到一个最好的序列。目前,top-k最佳序列及其相应的分数对我都很有用。我注意到,目前上述两个功能没有提供这些信息。因此,我想知道是否有可能在对tensorflow源代码稍作修改后获得top-k最佳候选代码
top-k标签序列及其相应的非规范化分数
每个标签的边际概率(如CRF++)
% crf_test -v2 -m model test.data
# 0.478113
Rockwell NNP B B/0.992465 B/0.992465 I/0.00144946 O/0.00608594
International NNP I I/0.979089 B/0.0105273 I/0.979089 O/0.0103833
Corp. NNP I I/0.954883 B/0.00477976 I/0.954883 O/0.040337
's POS B B/0.986396 B/0.986396 I/0.00655976 O/0.00704426
Tulsa NNP I I/0.991966 B/0.00787494 I/0.991966 O/0.00015949
unit NN I I/0.996169 B/0.00283111 I/0.996169 O/0.000999975
..