【问题标题】:How to use a pickle file for Spacy NER model training?如何使用泡菜文件进行 Spacy NER 模型训练?
【发布时间】:2021-12-02 15:27:46
【问题描述】:

我有这种格式的微调数据:

[[(('Kaweah', 'NNP'), 'O'),
  (('Delta', 'NNP'), 'O'),
  (('Mental', 'NNP'), 'O'),
  (('Health', 'NNP'), 'O'),
  (('Hospital', 'NNP'), 'O'),
  (('D/p', 'NNP'), 'O'),
  (('Aph', 'NNP'), 'O'),
  (('is', 'VBZ'), 'O'),
  (('located', 'VBN'), 'O'),
  (('at', 'IN'), 'O'),
  (('1100', 'CD'), 'B-GPE'),
  (('SO', 'NNP'), 'I-GPE'),
  (('.', '.'), 'I-GPE'),
  (('AKERS', 'NNP'), 'I-GPE'),
  (('STREET', 'NNP'), 'I-GPE')],
 [(('CHARLTON', 'NNP'), 'O'),
  (('MEMORIAL', 'NNP'), 'O'),
  (('HOSPITAL', 'NNP'), 'O'),
  (('is', 'VBZ'), 'O'),
  (('located', 'VBN'), 'O'),
  (('at', 'IN'), 'O'),
  (('2449', 'CD'), 'B-GPE'),
  (('THIRD', 'NNP'), 'I-GPE'),
  (('STREET', 'NNP'), 'I-GPE'),
  ((',', ','), 'I-GPE'),
  (('GA', 'NNP'), 'I-GPE')]]

但是 spacy 的训练格式是这样的:

TRAIN_DATA =[ ("Pizza is a common fast food.", {"entities": [(0, 5, "FOOD")]}),
              ("Pasta is an italian recipe", {"entities": [(0, 5, "FOOD")]}) ]

我应该怎么做才能将我的 pickle 文件转换为 spacy 格式?

【问题讨论】:

    标签: python nlp pickle spacy


    【解决方案1】:

    您可以只获取每个标记并在它们上连接空格以获取文本输入,然后计算每个实体标签的跨度的开始和停止。

    但是您将创建人工训练数据,因为您不知道每个标记周围使用了哪些空格。该信息以 CoNLL 格式丢失。

    因此,您训练的 NER 模型不会很健壮,因为它不知道如何将标记标记为 它将学会始终期待您选择的空白连接.

    基本上,做不到,你丢失了无法恢复的 CoNLL 格式的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 2020-05-06
      • 2021-05-24
      • 2020-04-28
      • 1970-01-01
      相关资源
      最近更新 更多