带有自定义数据的 Huggingface NER
Posted
技术标签:
【中文标题】带有自定义数据的 Huggingface NER【英文标题】:Huggingface NER with custom data 【发布时间】:2021-09-30 00:36:19 【问题描述】:我有一个 csv 数据如下。
**token** **label**
0.45" length
1-12 size
2.6" length
8-9-78 size
6mm length
每当我得到如下文字时
6mm 8-9-78 silver head
我应该可以说length = 6mm
和size = 8-9-78
。我是 NLP 世界的新手,我正在尝试使用 Huggingface NER 解决这个问题。我浏览了各种文章。我不知道如何使用自己的数据进行训练。我应该使用哪个model/tokeniser
?还是我应该自己建造?任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我可能会先看看 spaCy 的模式匹配 + NER。 spacy 提供的模式匹配规则非常强大,尤其是与它们的统计 NER 模型结合使用时。您甚至可以使用您开发的模式来创建您自己的自定义 NER 模型。这将使您很好地了解您仍然存在差距或复杂性的地方,这些差距或复杂性可能需要其他东西,例如 Huggingface 等。
如果您愿意付费,您还可以利用 prodigy,它提供了一个带有 Human In the Loop 交互的漂亮 UI。
Adding REGEX entities to SpaCy's Matcher
【讨论】:
【参考方案2】:我有两种选择,一种是Spacy
(由@scarpacci 建议),另一种是SparkNLP
。我选择了SparkNLP
并找到了解决方案。我将数据格式化为 CoNLL 格式并使用 Spark 的 NerDlApproach
和 GLOVE word embedding
进行训练。
【讨论】:
以上是关于带有自定义数据的 Huggingface NER的主要内容,如果未能解决你的问题,请参考以下文章
HuggingFace:使用自定义 data_loader 和 data_collator 从本地目录流式传输数据集