是否可以在 spaCy IOB 转换器生成的 JSON 中检索整个句子?

Is it possible to retrieve the whole sentence in the JSON generated by the spaCy IOB converter?

按照步骤将 IOB 格式的数据转换为 spaCy 兼容 JSON;代表句子的值 "raw": string 在我的 JSON.

中显示为“null”

这是我的数据 (test.iob) 的摘录:

GRIMALTE    B-PERS
AMANT   O
DE  O
LA  O
dame    B-PERS
Gradisse    B-PERS
narre   O
sommairement    O
Les O
amoureux    O
regredz O
de  O
Flamete B-PERS
,   O
qui O
furent  O
occasion    O
qu' O
il  O
cherchast   O
moyen   O
d'  O
y   O
remedier    O
Chapitre    O
premier O
.   O
BRief   O
traictie    O
par O
Jehan   B-PERS

... continue

然后,我输入命令:

python -m spacy convert -c auto -s -n 1 -t json ./test.iob . --lang fr 

最后,在输出中,我得到以下 JSON,但没有 "raw" 值:

[
  {
    "id":0,
    "paragraphs":[
      {
        "raw":null,
        "sentences":[
          {
            "tokens":[
              {
                "id":0,
                "orth":"GRIMALTE",
                "space":" ",
                "tag":"-",
                "ner":"U-PERS"
              },
              {
                "id":1,
                "orth":"AMANT",
                "space":" ",
                "tag":"-",
                "ner":"O"
              },
              {
                "id":2,
                "orth":"DE",
                "space":" ",
                "tag":"-",
                "ner":"O"
              },
              {
                "id":3,
                "orth":"LA",
                "space":" ",
                "tag":"-",
                "ner":"O"
              },

... continue

我真的很想检索这句话(在“原始”值中),以便能够从 JSON 的实体创建一个训练集,如下所示:

[
("GRIMALTE AMANT DE LA dame Gradisse narre sommairement Les amoureux regredz de Flamete , qui furent occasion qu' il cherchast moyen d' y remedier Chapitre premier ", {'entities': [(0, 8, 'PERS'), (21, 25, 'PERS'), (26, 34, 'PERS'), (78, 85, 'PERS')]})
... continue
]

这可能是因为我的 IOB 文件不包含句子之间的空格? (因为查看 examples of the spaCy converter 它似乎不会影响 iob 到 json 的转换)

如果您对此问题有任何线索,请提前致谢。

因为这种格式的原始语料没有白space的信息,无法生成original/correctraw的句子,所以留作null. spacy train 将在训练和评估时考虑是否有白色 space 信息,因此可以在有或没有 raw 的情况下进行训练,或者来自有和没有 [=] 的混合文档10=].

如果您正在使用 spacy 进行训练,您不想将此数据转换为具有文本字符串和字符偏移量的格式。如果你有像 l' 这样的标记,它会导致问题,如果后面有 space,它会被错误地标记化。您应该能够使用带有 "ner" 标签的 JSON 格式的 spacy train