AllenNLP BERT SRL 输入格式 ("OntoNotes v. 5.0 formatted")

AllenNLP BERT SRL input format ("OntoNotes v. 5.0 formatted")

目标是训练BERT SRL on another data set. According to configuration,需要conll-formatted-ontonotes-5.0

本来,我的数据采用 CoNLL 格式,我将其转换为 GitHub edition of OntoNotes v.5.0 的 conll-formatted-ontonotes-5.0 格式。读取数据有效并且训练 似乎 有效,除了精度保持为 0。我怀疑 SRL 参数的编码(BOI 或短语?)或列结构(其他 OntoNotes 版本CoNLL 格式在这里有所不同)与预期输入不同。或者,如果角色标签在代码中硬连接,则可能会出现错误。我按照参考数据使用长格式 (ARGM-TMP),但您经常在其他数据中看到短格式 (AM-TMP)。

问题是这里需要哪个数据集和格式。我猜它是 OntoNotes 5.0 的 CoNLL/Skel 格式之一,恢复了 WORD 列,but

在我开始对 SrlReader 进行逆向工程之前,有人手头有数据片段以便我可以相应地准备我的数据吗?

conll-formatted-ontonotes-5.0 我的数据版本(来自 EWT 语料库的样本):

google/ewt/answers/00/20070404104007AAY1Chs_ans.xml 0   0   where   WRB (TOP(S(SBARQ(WHADVP*)   -   -   -   -   *   (ARGM-LOC*) *   *   -
google/ewt/answers/00/20070404104007AAY1Chs_ans.xml 0   1   can MD  (SQ*    -   -   -   -   *   (ARGM-MOD*) *   *   -
google/ewt/answers/00/20070404104007AAY1Chs_ans.xml 0   2   I   PRP (NP*)   -   -   -   -   *   (ARG0*) *   *   -
google/ewt/answers/00/20070404104007AAY1Chs_ans.xml 0   3   get VB  (VP*    get 01  -   -   *   (V*)    *   *   -
google/ewt/answers/00/20070404104007AAY1Chs_ans.xml 0   4   morcillas   NNS (NP*)   -   -   -   -   *   (ARG1*) *   *   -

“native”格式是CoNLL-2012版下的格式,参见cemantix。org/conll/2012/data。html如何创建。

读取它的 Ontonotes class 然而,在解析“原生”CoNLL-2012 数据时可能会遇到困难,因为 CoNLL-2012 预处理脚本会导致无效的解析树。用NLTK解析自然会出现ValueError比如

ValueError: Tree.read(): expected ')' but got 'end-of-string'
            at index 1427.
                "...LT#.#.) ))"

没有直接的方法在数据层面解决,因为解析的字符串是中间表示,而不是原始数据。如果要处理 CoNLL-2012 数据,则必须捕获 ValueError,参见。 https://github.com/allenai/allennlp/issues/5410.