1.真的搞不懂数据集是什么形式,因为本身方向是做威胁情报分析的,第一步就是要提取和威胁情报相关的实体,因此实体标签是自己定义的,然后用brat工具对自己的数据进行了标注,可以生成.ann文件,可是生成之后要做什么就很迷茫了。
有看过酱一篇很好的文章,链接如下:
https://blog.csdn.net/qq_41853758/article/details/82933080
首先我看了能和我的方向方法类似的数据集形式是酱的:是一段完整的文本,里面的实体单标了出来
源数据集的处理流程就是下面三步:wordtxt->tag->split->pkl
tag是如下形式:
补充tag常用形式如下,博主例子应该是BMEWO,B开始M中间E结束W单个实体O无关
回到正题,split后的tag文件形式如下:
emmmm。。看不出区别hhhhhh把代码贴下吧:
def tagsplit():
with open('./wordtag.txt', 'rb') as inp:
texts = inp.read().decode('utf-8')
sentences = re.split('[,。!?、‘’“”()]/[O]', texts)
output_data = codecs.open('./wordtagsplit.txt', 'w', 'utf-8')
for sentence in sentences:
if sentence != " ":
output_data.write(sentence.strip() + '\n')
output_data.close()
因此最后用作训练的数据时.pkl文件
但是brat工具标注后生成的.ann文件是酱的:只有实体信息,第一列为实体编号,编号自拟且需唯一;第二列包含实体类别和实体的起始和终止位置,以空格分割,部分实体可能在第二列有分号,表示该实体跨行;第三列是实体所对应的词语, 不参与评测 。
然后我就迷茫了-。-