mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-29 11:26:28 +03:00
b0228d8ea6
* chore: add cython-linter dev dependency * fix: lexeme.pyx * fix: morphology.pxd * fix: tokenizer.pxd * fix: vocab.pxd * fix: morphology.pxd (line length) * ci: add cython-lint * ci: fix cython-lint call * Fix kb/candidate.pyx. * Fix kb/kb.pyx. * Fix kb/kb_in_memory.pyx. * Fix kb. * Fix training/ partially. * Fix training/. Ignore trailing whitespaces and too long lines. * Fix ml/. * Fix matcher/. * Fix pipeline/. * Fix tokens/. * Fix build errors. Fix vocab.pyx. * Fix cython-lint install and run. * Fix lexeme.pyx, parts_of_speech.pxd, vectors.pyx. Temporarily disable cython-lint execution. * Fix attrs.pyx, lexeme.pyx, symbols.pxd, isort issues. * Make cython-lint install conditional. Fix tokenizer.pyx. * Fix remaining files. Reenable cython-lint check. * Readded parentheses. * Fix test_build_dependencies(). * Add explanatory comment to cython-lint execution. --------- Co-authored-by: Raphael Mitsch <r.mitsch@outlook.com>
42 lines
1.3 KiB
Cython
42 lines
1.3 KiB
Cython
cimport numpy as np
|
|
from libc.stdint cimport uint32_t, uint64_t
|
|
from libcpp.memory cimport shared_ptr
|
|
from libcpp.unordered_map cimport unordered_map
|
|
from libcpp.vector cimport vector
|
|
|
|
from .strings cimport StringStore
|
|
from .typedefs cimport attr_t, hash_t
|
|
|
|
|
|
cdef cppclass Feature:
|
|
hash_t field
|
|
hash_t value
|
|
|
|
__init__():
|
|
this.field = 0
|
|
this.value = 0
|
|
|
|
|
|
cdef cppclass MorphAnalysisC:
|
|
hash_t key
|
|
vector[Feature] features
|
|
|
|
__init__():
|
|
this.key = 0
|
|
|
|
cdef class Morphology:
|
|
cdef readonly StringStore strings
|
|
cdef unordered_map[hash_t, shared_ptr[MorphAnalysisC]] tags
|
|
|
|
cdef shared_ptr[MorphAnalysisC] _lookup_tag(self, hash_t tag_hash)
|
|
cdef void _intern_morph_tag(self, hash_t tag_key, feats)
|
|
cdef hash_t _add(self, features)
|
|
cdef str _normalize_features(self, features)
|
|
cdef str get_morph_str(self, hash_t morph_key)
|
|
cdef shared_ptr[MorphAnalysisC] get_morph_c(self, hash_t morph_key)
|
|
|
|
cdef int check_feature(const shared_ptr[MorphAnalysisC] morph, attr_t feature) nogil
|
|
cdef list list_features(const shared_ptr[MorphAnalysisC] morph)
|
|
cdef np.ndarray get_by_field(const shared_ptr[MorphAnalysisC] morph, attr_t field)
|
|
cdef int get_n_by_field(attr_t* results, const shared_ptr[MorphAnalysisC] morph, attr_t field) nogil
|