第38名方案 (NER + 启发式规则)
第38名方案 (NER + 启发式规则)
作者: Sindhu V | 排名: 第38名 | 发布时间: 2021-06-26
恐怕我的解决方案比我见过的一些酷炫模型要简单得多。但还是分享一下:
我使用了 Spacy 的实体识别器来过滤所有可能的数据集候选项。然后,我编写了一个简单的 CFG(上下文无关文法)来判断这些实体是否确实表示一个数据集。这部分生成的是严格匹配的候选数据集,因此增加了漏报率。为了缓解这个问题,我对所有包含这些候选数据集关键词的文本进行了第二遍扫描,以生成最终发现的数据集。这就是该模型的核心内容。
补充几点说明:
- 该模型几乎是无监督的。
- 我没有使用训练数据集来进行实际的数据集预测。我只用它来确定我需要编写什么样的 CFG。
- 一个非常直接的观察是,这些出版物中引用的所有数据集都是驼峰命名法的。如果没别的办法,你可以从这些开始作为候选项,甚至可以排除命名实体识别任务。(这给了我 0.29 的私有分数。我提交的使用 Spacy 的最终模型得分为 0.36)。
- 这些不是训练标准大规模模型所用的自由文本。这些是出版物,它们遵循一定的标准。如果你分析训练数据集,你会自动发现大多数形式都是
data collected from <some dataset>(从某数据集收集的数据)、Used <some report/study>(使用了某报告/研究)等等。我模型中的第二遍扫描是为了捕捉那些不遵循这些候选短语表达的内容。
- 出于同样的原因,我没有使用 Roberta。请参阅第一名的解决方案帖子,了解有关此点的更深入讨论。
- 至于启发式规则,你可以直接从“data”开始,寻找与匹配实体相交的子树(在 PCFG 中)。我还用了更多规则。同样,输入文本几乎没有语法错误,并且在引用参考文献和外部数据集时遵循非常相似的模式。
- Spacy 3.0 的 Transformer 给了我更好的初始候选项。但它一直抛出一些提交错误。 所以我使用了 Spacy 2.5,因为我没有太多时间参加这次比赛。