当前位置:   article > 正文

读取IOB标注数据,并转化为BIO标注格式(二)_英文数据集使用bio标注

英文数据集使用bio标注

上一章详细解释了BIO和IOB数据标注的区别,并且对转化步骤做了详细说明

下面我们以wikierNER数据集为例,展示读取IOB标注数据,并将其转化为BIO标注格式相关代码。

该数据集中的标注包括以下几个部分:

  • 单词:文本中的每个单词。
  • 词性标注(Part-of-Speech,POS):标注了每个单词的词性,例如"DT"表示冠词(Determiner),"NNP"表示专有名词(Proper noun),"TO"表示介词to,"VBZ"表示动词be的第三人称单数形式等。
  • NER标签:标注了每个单词的命名实体类别。这里使用的是MISC(Miscellaneous)类别,表示不属于其他特定类别的实体。

这些标注信息可以帮助模型理解和识别文本中的各个实体及其属性,数据格式示例如下

The|DT|I-MISC Oxford|NNP|I-MISC Companion|NNP|I-MISC to|TO|I-MISC Philosophy|NNP|I-MISC says|VBZ|O ,|,|O "|LQU|O there|EX|O is|VBZ|O no|DT|O single|JJ|O defining|VBG|O position|NN|O that|IN|O all|DT|O anarchists|NNS|O hold|VBP|O ,|,|O and|CC|O those|DT|O considered|VBN|O anarchists|NNS|O at|IN|O best|JJS|O share|NN|O a|DT|O certain|JJ|O family|NN|O resemblance|NN|O .|.|O "|RQU|O

完整的数据读取及格式转化代码如下:

  1. def wikier_to_tuple(input_file):
  2. """读取wikier数据集,把IOB标注改为BIO,返回格式
  3. lines=[('O O B-LOC', 'I love Beijing'), ('O O O B-LOC', 'He is from Shanghai')]"""
  4. rf = open(input_file, 'r', encoding='utf-8')
  5. lines = []
  6. for line in rf:
  7. if line != '\n':
  8. parts = line.split(' ')
  9. words = [i.split('|')[0].replace('\n', '') for i in parts]
  10. labels = [i.split('|')[2].replace('\n', '') for i in parts]
  11. # 把IOB标注改为BIO
  12. bio_tags = []
  13. current_tag = 'O'
  14. for iob_tag in labels:
  15. if iob_tag == 'O':
  16. bio_tags.append('O')
  17. current_tag = 'O'
  18. else:
  19. label, tag = iob_tag.split('-')
  20. if tag != current_tag:
  21. bio_tags.append('B-' + tag)
  22. current_tag = tag
  23. else:
  24. bio_tags.append('I-' + tag)
  25. print(bio_tags) #新的BIO
  26. print(labels) #旧的IOB
  27. l = ' '.join( bio_tags)
  28. w = ' '.join(words)
  29. lines.append((l, w))
  30. rf.close()
  31. return lines

调用以上函数就可以成功把IOB数据的wikier数据转化为BIO数据了。

注意:这里我模型训练中用不到词性标注信息,所以就没有保留该字段,如果需要的话可以对上述代码稍作修改。

 读取IOB标注数据,并转化为BIO标注格式分步代码解析可以查看上一章~

《读取IOB标注数据,并转化为BIO标注格式(一)》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/788848
推荐阅读
相关标签
  

闽ICP备14008679号