2015-08-26 20:18:36 +03:00
|
|
|
from libc.stdint cimport uint8_t, uint32_t, int32_t, uint64_t
|
2014-12-19 22:51:33 +03:00
|
|
|
|
2015-07-18 23:39:57 +03:00
|
|
|
from .typedefs cimport flags_t, attr_t, hash_t
|
2015-01-25 08:31:07 +03:00
|
|
|
from .parts_of_speech cimport univ_pos_t
|
2018-09-25 00:58:08 +03:00
|
|
|
from .morphology cimport univ_morph_t
|
2014-12-19 22:51:33 +03:00
|
|
|
|
|
|
|
|
2015-01-12 02:26:22 +03:00
|
|
|
cdef struct LexemeC:
|
2014-12-19 22:51:33 +03:00
|
|
|
flags_t flags
|
2015-04-19 11:31:31 +03:00
|
|
|
|
2016-03-10 15:01:34 +03:00
|
|
|
attr_t lang
|
|
|
|
|
2014-12-19 22:51:33 +03:00
|
|
|
attr_t id
|
2015-01-12 03:23:44 +03:00
|
|
|
attr_t length
|
|
|
|
|
2015-01-22 18:08:25 +03:00
|
|
|
attr_t orth
|
2015-01-23 22:17:03 +03:00
|
|
|
attr_t lower
|
|
|
|
attr_t norm
|
2014-12-19 22:51:33 +03:00
|
|
|
attr_t shape
|
|
|
|
attr_t prefix
|
|
|
|
attr_t suffix
|
2015-04-19 11:31:31 +03:00
|
|
|
|
2014-12-19 22:51:33 +03:00
|
|
|
attr_t cluster
|
|
|
|
|
|
|
|
float prob
|
|
|
|
float sentiment
|
|
|
|
|
|
|
|
|
2017-05-17 13:04:50 +03:00
|
|
|
cdef struct SerializedLexemeC:
|
2017-05-28 13:51:09 +03:00
|
|
|
unsigned char[8 + 8*10 + 4 + 4] data
|
2017-05-17 13:04:50 +03:00
|
|
|
# sizeof(flags_t) # flags
|
|
|
|
# + sizeof(attr_t) # lang
|
|
|
|
# + sizeof(attr_t) # id
|
|
|
|
# + sizeof(attr_t) # length
|
|
|
|
# + sizeof(attr_t) # orth
|
|
|
|
# + sizeof(attr_t) # lower
|
|
|
|
# + sizeof(attr_t) # norm
|
|
|
|
# + sizeof(attr_t) # shape
|
|
|
|
# + sizeof(attr_t) # prefix
|
|
|
|
# + sizeof(attr_t) # suffix
|
|
|
|
# + sizeof(attr_t) # cluster
|
|
|
|
# + sizeof(float) # prob
|
|
|
|
# + sizeof(float) # cluster
|
|
|
|
# + sizeof(float) # l2_norm
|
|
|
|
|
|
|
|
|
2015-03-09 08:46:22 +03:00
|
|
|
cdef struct Entity:
|
2016-09-21 15:54:55 +03:00
|
|
|
hash_t id
|
2015-03-09 08:46:22 +03:00
|
|
|
int start
|
|
|
|
int end
|
2017-05-28 15:06:40 +03:00
|
|
|
attr_t label
|
2015-03-10 20:00:23 +03:00
|
|
|
|
2015-03-09 08:46:22 +03:00
|
|
|
|
2014-12-19 22:51:33 +03:00
|
|
|
cdef struct TokenC:
|
2015-01-12 02:26:22 +03:00
|
|
|
const LexemeC* lex
|
2015-08-28 03:02:33 +03:00
|
|
|
uint64_t morph
|
2015-01-25 08:31:07 +03:00
|
|
|
univ_pos_t pos
|
2015-07-13 20:48:07 +03:00
|
|
|
bint spacy
|
2017-05-28 15:06:40 +03:00
|
|
|
attr_t tag
|
2014-12-19 22:51:33 +03:00
|
|
|
int idx
|
2017-05-28 13:51:09 +03:00
|
|
|
attr_t lemma
|
2018-12-08 12:49:10 +03:00
|
|
|
attr_t norm
|
2014-12-19 22:51:33 +03:00
|
|
|
int head
|
2017-05-28 13:51:09 +03:00
|
|
|
attr_t dep
|
2015-04-29 20:14:20 +03:00
|
|
|
|
2014-12-19 22:51:33 +03:00
|
|
|
uint32_t l_kids
|
|
|
|
uint32_t r_kids
|
2015-04-29 20:14:20 +03:00
|
|
|
uint32_t l_edge
|
|
|
|
uint32_t r_edge
|
2014-12-19 22:51:33 +03:00
|
|
|
|
2017-10-08 20:58:54 +03:00
|
|
|
int sent_start
|
2015-03-10 20:00:23 +03:00
|
|
|
int ent_iob
|
2017-05-28 15:06:40 +03:00
|
|
|
attr_t ent_type # TODO: Is there a better way to do this? Multiple sources of truth..
|
2016-09-21 15:54:55 +03:00
|
|
|
hash_t ent_id
|
2018-09-25 00:58:08 +03:00
|
|
|
|
|
|
|
|
|
|
|
|