来自我的 IOB 语料库,例如:
mention Tag
170
171 467 O
172
173 Vincennes B-LOCATION
174 . O
175
176 Confirmation O
177 des O
178 privilèges O
179 de O
180 la O
181 ville B-ORGANISATION
182 de I-ORGANISATION
183 Tournai I-ORGANISATION
184 1 O
185 ( O
186 cf O
187 . O
188 infra O
189 , O
我尝试进行简单的统计,例如注释提及的总数、标签总数等。
用熊猫加载我的数据集后,我得到了这个:
df = pd.Series(data['Tag'].value_counts(), name="Total").to_frame().reset_index()
df.columns = ['Label', 'Total']
df
输出 :
Label Total
0 O 438528
1 36235
2 B-LOCATION 378
3 I-LOCATION 259
4 I-PERSON 234
5 I-INSTALLATION 156
6 I-ORGANISATION 150
7 B-PERSON 144
8 B-TITLE 94
9 I-TITLE 89
10 B-ORGANISATION 68
11 B-INSTALLATION 62
12 I-EVENT 8
13 B-EVENT 2
首先,我如何通过重新组合 IOB 前缀(例如(示例))获得类似的表示形式:
Label, Total
PERSON, 300
LOCATION, 154
ORGANISATION, 67
etc.
其次,如何从我的输出中排除“O”和空字符串标签,我用.mask()
和.where()
在我的系列上进行了测试,但它失败了。
谢谢你的线索。