ValueError: При декодировании 'true' при преобразовании IOB в JSONL для SpaCy обнаружен неожиданный символ - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу преобразовать текстовый файл формата IOB в формат SpaCy с указанием начального и конечного индексов для каждого токена.

Я запускаю этот код:

python -m spacy convert test_IOB.txt out --converter jsonl --lang English

Я получил ошибку:

ValueError: Unexpected character found when decoding 'true'

Мои входные данные выглядят так:

the O
r O
/ O
p O
( O
years O
) O
ratio O
of O
the O
sand O
is O
16 O
. O

chiaramonte O
, O
l. O
2008 O
, O
geomechanical O
characterization O
and O
reservoir O
simulation O
of O
a O
co O
sequestration O
project O
in O
a O
mature O
ofield O

Спасибо!

1 Ответ

1 голос
/ 03 февраля 2020

Вы вызываете опцию --converter json, но ваш входной файл не в формате json.

Вы должны использовать --converter ner для ввода, который вы используете.

ner

NER с тегами IOB / IOB2, по одному токену на строку со столбцами, разделенными пробелами. Первый столбец - это токен, а последний - тег IOB. Предложения разделяются пустыми строками, а документы - строкой -DOCSTART- -X- O. Поддерживает формат CoNLL 2003 NER. См. Пример данных .

...