JSON CCL to plik w formacie JSON służący do reprezentacji otagowanego i anotowanego tekstu używany jako format danych wejściowych i wyjściowych udostępnianych usług. Tagowanie jest efektem działania usługi, natomiast anotacja to proces oznaczania ręcznego. JSON CCL zakłada podział tekstu na tokeny. Zawiera dwa obowiązkowe klucze wraz z przypisanymi im wartościami:
filename
- nazwa pliku na serwerzetext
- treść danych wejściowychW zależności od usługi plik JSON CCL może też zawierać:
tagset
- zbiór znaczników opisujących możliwe informacje morfologiczne wykorzystywany w analizie morfologicznej. Przyjmuje wartości nkjp
dla języka polskiego (36 klas gramatycznych) i ud
dla języka angielskiego (17 klas gramatycznych). Lista znaczników NKJP znajduje się tutaj.tokens
- podział na tokeny. Każdy token składa się z poniższych elementów:
index
- numer tokenuposition
- indeksy fragmentu łańcucha znaków (tekstu) w postaci pary wartości liczbowych, w której:
orth
- formę ortograficzną tokenulexemes
- leksemy
lemma
- lematmstag
- znaczniki morfosyntaktyczne zależne od wybranego tagsetu: nkjp
lub ud
disamb
- informacja o tym, czy forma jest ujednoznaczniona w danym kontekście. Przyjmuje wartości: True
lub False
.Poniżej pokazano przykłady danych wyjściowych z różnych usług w formacie JSON CCL dla danych wejściowych:
Nazywam się Jan Kowalski i mieszkam we Wrocławiu.
Dane wyjściowe dla zapytania LPMN ['postagger']
z domyślną opcją output
:json
:
{
"filename": "49d69e89-b466-4a09-8157-3fc22e88b365",
"tagset": "nkjp",
"text": "Nazywam się Jan Kowalski i mieszkam we Wrocławiu.",
"tokens": [
{
"index": 1,
"lexemes": [
{
"disamb": true,
"lemma": "nazywać",
"mstag": "fin:sg:pri:imperf"
}
],
"orth": "Nazywam",
"position": [
0,
7
]
},
{
"index": 2,
"lexemes": [
{
"disamb": true,
"lemma": "się",
"mstag": "qub"
}
],
"orth": "się",
"position": [
8,
11
]
},
{
"index": 3,
"lexemes": [
{
"disamb": true,
"lemma": "Jan",
"mstag": "subst:sg:nom:m1"
}
],
"orth": "Jan",
"position": [
12,
15
]
},
{
"index": 4,
"lexemes": [
{
"disamb": true,
"lemma": "Kowalski",
"mstag": "subst:sg:nom:m1"
}
],
"orth": "Kowalski",
"position": [
16,
24
]
},
{
"index": 5,
"lexemes": [
{
"disamb": true,
"lemma": "i",
"mstag": "conj"
}
],
"orth": "i",
"position": [
25,
26
]
},
{
"index": 6,
"lexemes": [
{
"disamb": true,
"lemma": "mieszkać",
"mstag": "fin:sg:pri:imperf"
}
],
"orth": "mieszkam",
"position": [
27,
35
]
},
{
"index": 7,
"lexemes": [
{
"disamb": true,
"lemma": "w",
"mstag": "prep:loc:wok"
}
],
"orth": "we",
"position": [
36,
38
]
},
{
"index": 8,
"lexemes": [
{
"disamb": true,
"lemma": "Wrocław",
"mstag": "subst:sg:loc:m3"
}
],
"orth": "Wrocławiu",
"position": [
39,
48
]
},
{
"index": 9,
"lexemes": [
{
"disamb": true,
"lemma": ".",
"mstag": "interp"
}
],
"orth": ".",
"position": [
48,
49
]
}
]
}
Dane wyjściowe z NERa zawierają dodatkowe klucze z nazwanymi jednostek identyfikacyjnych pod wspólnym kluczem entities
:
position
- czemu inne niż wcześniej?text
- jednostka identyfikacyjnatokens
- czemu inne niż wcześniej?type
- typ jednostkiDane wyjściowe dla zapytania LPMN [{'spacy':{'lang':'pl','method':'ner'}}]
{
"entities": [
{
"position": [
12,
24
],
"text": "Jan Kowalski",
"tokens": [
2,
4
],
"type": "persName"
},
{
"position": [
39,
48
],
"text": "Wrocławiu",
"tokens": [
7,
8
],
"type": "placeName"
}
],
"filename": "da88596d-ca88-448c-be90-ca49976fd82d",
"tagset": "ud",
"text": "Nazywam się Jan Kowalski i mieszkam we Wrocławiu.",
"tokens": [
{
"index": 1,
"lexemes": [
{
"disamb": true,
"lemma": "Nazywam",
"mstag": "VERB"
}
],
"orth": "Nazywam",
"position": [
0,
7
]
},
{
"index": 2,
"lexemes": [
{
"disamb": true,
"lemma": "się",
"mstag": "PRON"
}
],
"orth": "się",
"position": [
8,
11
]
},
{
"index": 3,
"lexemes": [
{
"disamb": true,
"lemma": "Jan",
"mstag": "PROPN"
}
],
"orth": "Jan",
"position": [
12,
15
]
},
{
"index": 4,
"lexemes": [
{
"disamb": true,
"lemma": "Kowalski",
"mstag": "PROPN"
}
],
"orth": "Kowalski",
"position": [
16,
24
]
},
{
"index": 5,
"lexemes": [
{
"disamb": true,
"lemma": "i",
"mstag": "CCONJ"
}
],
"orth": "i",
"position": [
25,
26
]
},
{
"index": 6,
"lexemes": [
{
"disamb": true,
"lemma": "mieszkać",
"mstag": "VERB"
}
],
"orth": "mieszkam",
"position": [
27,
35
]
},
{
"index": 7,
"lexemes": [
{
"disamb": true,
"lemma": "w",
"mstag": "ADP"
}
],
"orth": "we",
"position": [
36,
38
]
},
{
"index": 8,
"lexemes": [
{
"disamb": true,
"lemma": "Wrocław",
"mstag": "PROPN"
}
],
"orth": "Wrocławiu",
"position": [
39,
48
]
},
{
"index": 9,
"lexemes": [
{
"disamb": true,
"lemma": ".",
"mstag": "PUNCT"
}
],
"orth": ".",
"position": [
49,
49
]
}
]
}
(C) CLARIN-PL