Open Lufffya opened 2 years ago
对应 task_sequence_labeling_ner_crf.py,有个地方没看懂,想请教一下苏神:
经过观察,categories 是一个['PER','LOC',‘ORG’] 三类别的List
不太理解,这个label为什么是这样设计的: labels[start] = categories.index(label) * 2 + 1 labels[start + 1:end + 1] = categories.index(label) * 2 + 2
labels[start] = categories.index(label) * 2 + 1
labels[start + 1:end + 1] = categories.index(label) * 2 + 2
谢谢苏神!!!
这个问题我可以尝试回答。因为在本案例中,作者将作为每个类别开头的token标记为了 index2 + 1,也就是BIO中的B;而将作为每个类别中间的tokens都标记为了index 2 + 2,也就是BIO中的I,这一过程请参看class data_generator的代码。因此实际上的label包含同一个标签作为B 和 I 的两种情况,也就是3*2 = 6个标签,再加上O标签也就是什么也不属于的标签,一共是7种。
对应 task_sequence_labeling_ner_crf.py,有个地方没看懂,想请教一下苏神:
经过观察,categories 是一个['PER','LOC',‘ORG’] 三类别的List
不太理解,这个label为什么是这样设计的:
labels[start] = categories.index(label) * 2 + 1
labels[start + 1:end + 1] = categories.index(label) * 2 + 2
谢谢苏神!!!