【问题标题】:SparkNLP's NerCrfApproach with custom labels带有自定义标签的 SparkNLP 的 NerCrfApproach
【发布时间】:2021-12-01 16:36:13
【问题描述】:

我正在尝试使用 CoNLL 格式的数据集训练 SparkNLP NerCrfApproach 模型,该数据集具有产品实体(如 I-Prod、B-Prod 等)的自定义标签。但是,当使用经过训练的模型进行预测时,我只得到“O”作为所有标记的分配标签。当使用在 SparkNLP 研讨会示例中的 CoNLL 数据上训练的相同模型时,分类效果很好。 (参见https://github.com/JohnSnowLabs/spark-nlp-workshop/tree/master/jupyter/training/english/crf-ner

所以,问题是:NerCrfApproach 是否依赖于 CoNLL 数据使用的 NER 标签的标准标签集?或者我可以将它用于任何自定义标签,如果可以,我是否需要以某种方式指定这些标签?我的假设是标签是从训练数据中推断出来的。

干杯, 马丁

更新:毕竟问题可能与标签无关。我尝试用 CoNLL 标准标签替换我的自定义标签,但仍然没有得到预期的分类结果。

【问题讨论】:

    标签: named-entity-recognition johnsnowlabs-spark-nlp


    【解决方案1】:

    事实证明,这个问题不是由标签引起的,而是由数据集的大小引起的。我出于开发目的使用了一个相当小的数据集。这个数据集不仅非常小,而且严重不平衡,“O”标签比其他标签多得多。通过使用 10 倍于原始大小的数据集(就句子而言)来解决此问题,我能够获得有意义的结果,即使对于我的自定义标签也是如此。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2012-09-20
      • 2014-01-03
      • 1970-01-01
      • 2014-12-26
      • 2014-09-11
      • 2019-08-07
      • 2011-11-15
      • 2016-10-22
      相关资源
      最近更新 更多