中文

StackOverflow 中的代码与命名实体识别

计算与语言 2020-11-17 v3

摘要

随着大量编程文本语料库在互联网上变得易于获取,人们对于同时研究自然语言和计算机代码的兴趣日益浓厚。例如,StackOverflow 目前拥有超过 1500 万个由 850 万用户编写的编程相关问题。然而,仍然缺乏用于识别自然语言句子中出现的代码标记或软件相关命名实体的基础 NLP 技术。在本文中,我们为计算机编程领域引入了一个新的命名实体识别 (NER) 语料库,该语料库包含 15,372 个句子,标注了 20 种细粒度实体类型。我们在来自 StackOverflow 的 1.52 亿个句子上训练了领域内 BERT 表示 (BERTOverflow),与现成的 BERT 相比,F-1 分数绝对提高了 +10。我们还提出了 SoftNER 模型,该模型在 StackOverflow 数据上的代码和命名实体识别总体 F1_1 分数达到 79.10。我们的 SoftNER 模型结合了一个上下文无关的代码标记分类器与语料库级特征,以改进基于 BERT 的标注模型。我们的代码和数据可在以下地址获取:https://github.com/jeniyat/StackOverflowNER/

关键词

引用

@article{arxiv.2005.01634,
  title  = {Code and Named Entity Recognition in StackOverflow},
  author = {Jeniya Tabassum and Mounica Maddela and Wei Xu and Alan Ritter},
  journal= {arXiv preprint arXiv:2005.01634},
  year   = {2020}
}

备注

updated with better results. (To appear in ACL 2020)