目标是在另一个数据集上对BERT SRL进行培训。根据配置的说法,它需要conll-formatted-ontonotes-5.0。
本机,我的数据以CoNLL格式出现,并将其转换为GitHub版的OntoNotes v.5.0的conll格式-ontonotes-5.0格式。读取数据和培训似乎有效,只是精度保持在0。我怀疑SRL参数的编码(BOI还是短语?)或者列结构(其他OntoNotes版本的CoNLL格式在这里不同)与预期的输入不同。或者,可能会出现错误,因为如果角色标签是硬连接在代码中的.我在使用long form (ARGM-TMP)时遵循了引用数据,但在其他数据中经常会看到短表单(AM-TMP)。
问题是这里需要哪种数据集和格式。我想这是OntoNotes 5.0的CoNLL/Skel格式之一,它有一个恢复的WORD列,但是
在我开始反向工程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*) * * -发布于 2021-09-15 16:27:04
“原生”格式是CoNLL-2012版本的格式,参见cemantix.org/conll/2012/data.html如何创建它。
但是,读取它的Ontonotes类在解析“本机”CoNLL-2012数据时可能遇到困难,因为CoNLL-2012预处理脚本可能导致无效的解析树。使用NLTK进行解析自然会导致ValueError,如
ValueError: Tree.read(): expected ')' but got 'end-of-string'
at index 1427.
"...LT#.#.) ))"在数据级别上没有解决这一问题的直接方法,因为解析的字符串是中间表示,而不是原始数据。如果要处理CoNLL-2012数据,则必须捕获ValueError,cf。https://github.com/allenai/allennlp/issues/5410。
https://stackoverflow.com/questions/69178847
复制相似问题