mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-29 19:36:31 +03:00
260 lines
3.0 KiB
Cython
260 lines
3.0 KiB
Cython
from thinc.typedefs cimport atom_t
|
|
|
|
from .stateclass cimport StateClass
|
|
from ._state cimport StateC
|
|
|
|
|
|
cdef int fill_context(atom_t* context, const StateC* state) nogil
|
|
# Context elements
|
|
|
|
# Ensure each token's attributes are listed: w, p, c, c6, c4. The order
|
|
# is referenced by incrementing the enum...
|
|
|
|
# Tokens are listed in left-to-right order.
|
|
#cdef size_t* SLOTS = [
|
|
# S2w, S1w,
|
|
# S0l0w, S0l2w, S0lw,
|
|
# S0w,
|
|
# S0r0w, S0r2w, S0rw,
|
|
# N0l0w, N0l2w, N0lw,
|
|
# P2w, P1w,
|
|
# N0w, N1w, N2w, N3w, 0
|
|
#]
|
|
|
|
# NB: The order of the enum is _NOT_ arbitrary!!
|
|
cpdef enum:
|
|
S2w
|
|
S2W
|
|
S2p
|
|
S2c
|
|
S2c4
|
|
S2c6
|
|
S2L
|
|
S2_prefix
|
|
S2_suffix
|
|
S2_shape
|
|
S2_ne_iob
|
|
S2_ne_type
|
|
|
|
S1w
|
|
S1W
|
|
S1p
|
|
S1c
|
|
S1c4
|
|
S1c6
|
|
S1L
|
|
S1_prefix
|
|
S1_suffix
|
|
S1_shape
|
|
S1_ne_iob
|
|
S1_ne_type
|
|
|
|
S1rw
|
|
S1rW
|
|
S1rp
|
|
S1rc
|
|
S1rc4
|
|
S1rc6
|
|
S1rL
|
|
S1r_prefix
|
|
S1r_suffix
|
|
S1r_shape
|
|
S1r_ne_iob
|
|
S1r_ne_type
|
|
|
|
S0lw
|
|
S0lW
|
|
S0lp
|
|
S0lc
|
|
S0lc4
|
|
S0lc6
|
|
S0lL
|
|
S0l_prefix
|
|
S0l_suffix
|
|
S0l_shape
|
|
S0l_ne_iob
|
|
S0l_ne_type
|
|
|
|
S0l2w
|
|
S0l2W
|
|
S0l2p
|
|
S0l2c
|
|
S0l2c4
|
|
S0l2c6
|
|
S0l2L
|
|
S0l2_prefix
|
|
S0l2_suffix
|
|
S0l2_shape
|
|
S0l2_ne_iob
|
|
S0l2_ne_type
|
|
|
|
S0w
|
|
S0W
|
|
S0p
|
|
S0c
|
|
S0c4
|
|
S0c6
|
|
S0L
|
|
S0_prefix
|
|
S0_suffix
|
|
S0_shape
|
|
S0_ne_iob
|
|
S0_ne_type
|
|
|
|
S0r2w
|
|
S0r2W
|
|
S0r2p
|
|
S0r2c
|
|
S0r2c4
|
|
S0r2c6
|
|
S0r2L
|
|
S0r2_prefix
|
|
S0r2_suffix
|
|
S0r2_shape
|
|
S0r2_ne_iob
|
|
S0r2_ne_type
|
|
|
|
S0rw
|
|
S0rW
|
|
S0rp
|
|
S0rc
|
|
S0rc4
|
|
S0rc6
|
|
S0rL
|
|
S0r_prefix
|
|
S0r_suffix
|
|
S0r_shape
|
|
S0r_ne_iob
|
|
S0r_ne_type
|
|
|
|
N0l2w
|
|
N0l2W
|
|
N0l2p
|
|
N0l2c
|
|
N0l2c4
|
|
N0l2c6
|
|
N0l2L
|
|
N0l2_prefix
|
|
N0l2_suffix
|
|
N0l2_shape
|
|
N0l2_ne_iob
|
|
N0l2_ne_type
|
|
|
|
N0lw
|
|
N0lW
|
|
N0lp
|
|
N0lc
|
|
N0lc4
|
|
N0lc6
|
|
N0lL
|
|
N0l_prefix
|
|
N0l_suffix
|
|
N0l_shape
|
|
N0l_ne_iob
|
|
N0l_ne_type
|
|
|
|
N0w
|
|
N0W
|
|
N0p
|
|
N0c
|
|
N0c4
|
|
N0c6
|
|
N0L
|
|
N0_prefix
|
|
N0_suffix
|
|
N0_shape
|
|
N0_ne_iob
|
|
N0_ne_type
|
|
|
|
N1w
|
|
N1W
|
|
N1p
|
|
N1c
|
|
N1c4
|
|
N1c6
|
|
N1L
|
|
N1_prefix
|
|
N1_suffix
|
|
N1_shape
|
|
N1_ne_iob
|
|
N1_ne_type
|
|
|
|
N2w
|
|
N2W
|
|
N2p
|
|
N2c
|
|
N2c4
|
|
N2c6
|
|
N2L
|
|
N2_prefix
|
|
N2_suffix
|
|
N2_shape
|
|
N2_ne_iob
|
|
N2_ne_type
|
|
|
|
P1w
|
|
P1W
|
|
P1p
|
|
P1c
|
|
P1c4
|
|
P1c6
|
|
P1L
|
|
P1_prefix
|
|
P1_suffix
|
|
P1_shape
|
|
P1_ne_iob
|
|
P1_ne_type
|
|
|
|
P2w
|
|
P2W
|
|
P2p
|
|
P2c
|
|
P2c4
|
|
P2c6
|
|
P2L
|
|
P2_prefix
|
|
P2_suffix
|
|
P2_shape
|
|
P2_ne_iob
|
|
P2_ne_type
|
|
|
|
E0w
|
|
E0W
|
|
E0p
|
|
E0c
|
|
E0c4
|
|
E0c6
|
|
E0L
|
|
E0_prefix
|
|
E0_suffix
|
|
E0_shape
|
|
E0_ne_iob
|
|
E0_ne_type
|
|
|
|
E1w
|
|
E1W
|
|
E1p
|
|
E1c
|
|
E1c4
|
|
E1c6
|
|
E1L
|
|
E1_prefix
|
|
E1_suffix
|
|
E1_shape
|
|
E1_ne_iob
|
|
E1_ne_type
|
|
|
|
# Misc features at the end
|
|
dist
|
|
N0lv
|
|
S0lv
|
|
S0rv
|
|
S1lv
|
|
S1rv
|
|
|
|
S0_has_head
|
|
S1_has_head
|
|
S2_has_head
|
|
|
|
CONTEXT_SIZE
|