2015-01-14 16:33:16 +03:00
|
|
|
# cython: embedsignature=True
|
2014-09-15 05:22:40 +04:00
|
|
|
from cpython.ref cimport Py_INCREF
|
2014-09-18 01:09:24 +04:00
|
|
|
from cymem.cymem cimport Pool
|
2014-10-29 15:19:38 +03:00
|
|
|
from murmurhash.mrmr cimport hash64
|
2014-09-15 05:22:40 +04:00
|
|
|
|
2014-10-22 18:57:59 +04:00
|
|
|
from libc.string cimport memset
|
|
|
|
|
2015-01-05 10:49:19 +03:00
|
|
|
from .orth cimport word_shape
|
2015-01-13 16:03:48 +03:00
|
|
|
from .typedefs cimport attr_t
|
2015-01-17 08:21:17 +03:00
|
|
|
import numpy
|
2014-09-10 22:41:37 +04:00
|
|
|
|
2014-10-09 12:53:30 +04:00
|
|
|
|
2015-01-12 02:26:22 +03:00
|
|
|
memset(&EMPTY_LEXEME, 0, sizeof(LexemeC))
|
2014-10-09 12:53:30 +04:00
|
|
|
|
|
|
|
|
2015-01-17 08:21:17 +03:00
|
|
|
cdef int set_lex_struct_props(LexemeC* lex, dict props, StringStore string_store,
|
|
|
|
const float* empty_vec) except -1:
|
2015-01-13 16:03:48 +03:00
|
|
|
lex.length = props['length']
|
|
|
|
lex.sic = string_store[props['sic']]
|
|
|
|
lex.norm1 = string_store[props['norm1']]
|
|
|
|
lex.norm2 = string_store[props['norm2']]
|
|
|
|
lex.shape = string_store[props['shape']]
|
|
|
|
lex.prefix = string_store[props['prefix']]
|
|
|
|
lex.suffix = string_store[props['suffix']]
|
2014-10-29 15:19:38 +03:00
|
|
|
|
2015-01-13 16:03:48 +03:00
|
|
|
lex.cluster = props['cluster']
|
|
|
|
lex.prob = props['prob']
|
|
|
|
lex.sentiment = props['sentiment']
|
|
|
|
|
|
|
|
lex.flags = props['flags']
|
2015-01-17 08:21:17 +03:00
|
|
|
lex.vec = empty_vec
|
2015-01-12 02:26:22 +03:00
|
|
|
|
|
|
|
|
2015-01-12 03:23:44 +03:00
|
|
|
cdef class Lexeme:
|
2015-01-14 16:33:16 +03:00
|
|
|
"""A dummy docstring"""
|
2015-01-17 08:21:17 +03:00
|
|
|
def __cinit__(self, int vec_size):
|
|
|
|
self.vec = numpy.ndarray(shape=(vec_size,), dtype=numpy.float32)
|