如何使用Spacy的convert保留conllu文件中的段落信息?

时间:2019-07-08 16:44:52

标签: python spacy conll

我正在尝试将conllu文件转换为Spacy的jsonl格式。这些conllu文件包含Universal Dependencies' website中指定的段落信息。问题在于,段落信息没有传递到jasonl转换文件中,其中每个段落都包含一个句子。

我正在运行Spacy版本2.1.3,并且仅使用spacy convert command(基本上是python -m spacy input.conllu output_dir

中的强制性参数)

这是我的一个conllu文件中的前几句话(也许它们不符合规范?)。出于可读性考虑,我仅粘贴每个句子的前几个标记。

# sent_id = tp2-p1-s1
# O cansaço começou a afetar os vestibulandos no terceiro dia de exame da Fuvest.
1   O   O   DET DET gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  2   DET _   _
2   cansaço cansaço NOUN    NOUN    gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  5   NSUBJ   _   _
3   começou começar VERB    VERB    aspect=PERFECTIVE|mood=INDICATIVE|number=SINGULAR|person=THIRD|proper=NOT_PROPER|tense=PAST 5   AUX _   _

# sent_id = tp2-p1-s2
# "Estou meio cheia, mesmo", afirmou a candidata a filosofia Scyla Pereira Gouveia, 19, que fez as provas de biologia e química, de ontem, no colégio Pueri Domus.
1   "   "   PUNCT   PUNCT   proper=NOT_PROPER   2   P   _   _
2   Estou   Estar   VERB    VERB    aspect=IMPERFECTIVE|mood=INDICATIVE|number=SINGULAR|person=FIRST|proper=NOT_PROPER|tense=PRESENT    0   ROOT    _   _
3   meio    meio    NOUN    NOUN    gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  2   DOBJ    _   _
4   cheia   cheio   ADJ ADJ gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  3   AMOD    _   _

# sent_id = tp2-p1-s3
# Seu namorado, Guilherme Schneider, 18, que presta engenharia, faz exame no mesmo local.
1   Seu Seu PRON    PRON    gender=MASCULINE|number=SINGULAR|person=THIRD|proper=NOT_PROPER 2   DET _   _
2   namorado    namorado    NOUN    NOUN    gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  13  NSUBJ   _   _

# newpar id = tp2-p2
# sent_id = tp2-p2-s1
# Pelo menos um dos 38.454 convocados para a segunda fase da Fuvest tem fortes motivos para não concluir hoje as provas.
1   Pelo    Pelo    ADP ADP gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  3   ADVMOD  _   _
2   menos   menos   NOUN    NOUN    gender=MASCULINE|number=SINGULAR|proper=NOT_PROPER  1   MWE _   _
3   um  um  NUM NUM gender=MASCULINE|proper=NOT_PROPER  13  NSUBJ   _   _

我希望convert的输出是一个包含2行的文件,每个段落一个。我得到4行,每个句子一行。

如果可能的话,我真的想避免构建自己的转换器。

预先感谢

1 个答案:

答案 0 :(得分:0)

事实证明,spaCy准备好具有段落信息,但是,在撰写此答案时,这是未使用的信息。

目前,在应该学习量刑的训练模型中,使用转换器时必须使用set.seed(1082019) #... for(b in c("br1", "br2", "br3")) df[paste0(names(df)[2:4], "_", b)] <- lapply(df[, 2:4], cut, br=get(b), labels=c(1:9)) df # var x1 x2 x3 x1_br1 x2_br1 x3_br1 x1_br2 x2_br2 x3_br2 x1_br3 x2_br3 x3_br3 # 1 1 121.95508 98.40327 139.31413 8 5 9 9 7 <NA> 9 9 <NA> # 2 2 105.28775 116.99844 83.12366 6 7 4 8 9 6 9 9 8 # 3 3 80.17226 118.92694 104.57693 4 7 6 6 9 7 8 9 9 # 4 4 146.94335 90.50056 58.35752 <NA> 5 1 <NA> 6 4 <NA> 8 7 # 5 5 98.15953 23.58072 86.67441 5 <NA> 4 7 <NA> 6 9 1 8 # 6 6 137.52613 74.83507 95.49531 9 3 5 9 6 6 <NA> 8 9 # 7 7 51.41213 141.01571 68.36462 1 <NA> 2 3 <NA> 5 7 <NA> 7 # 8 8 74.05926 134.66125 93.40060 3 9 5 6 9 6 8 <NA> 8 # 9 9 63.16221 52.25081 76.96090 2 1 3 5 3 6 7 7 8 # 10 10 123.96491 73.03856 138.41414 8 3 9 9 6 <NA> 9 8 <NA> 选项