website/docs/api/cython-structs.mdx
Cython data container for the Token object.
Example
pythontoken = &doc.c[3] token_ptr = &doc.c[3]
| Name | Description |
|---|---|
lex | A pointer to the lexeme for the token. |
morph | An ID allowing lookup of morphological attributes. |
pos | Coarse-grained part-of-speech tag. |
spacy | A binary value indicating whether the token has trailing whitespace. |
tag | Fine-grained part-of-speech tag. |
idx | The character offset of the token within the parent document. |
lemma | Base form of the token, with no inflectional suffixes. |
sense | Space for storing a word sense ID, currently unused. |
head | Offset of the syntactic parent relative to the token. |
dep | Syntactic dependency relation. |
l_kids | Number of left children. |
r_kids | Number of right children. |
l_edge | Offset of the leftmost token of this token's syntactic descendants. |
r_edge | Offset of the rightmost token of this token's syntactic descendants. |
sent_start | Ternary value indicating whether the token is the first word of a sentence. 0 indicates a missing value, -1 indicates False and 1 indicates True. The default value, 0, is interpreted as no sentence break. Sentence boundary detectors will usually set 0 for all tokens except tokens that follow a sentence boundary. |
ent_iob | IOB code of named entity tag. 0 indicates a missing value, 1 indicates I, 2 indicates 0 and 3 indicates B. |
ent_type | Named entity type. |
ent_id | ID of the entity the token is an instance of, if any. Currently not used, but potentially for coreference resolution. |
Get the value of an attribute from the TokenC struct by attribute ID.
Example
pythonfrom spacy.attrs cimport IS_ALPHA from spacy.tokens cimport Token is_alpha = Token.get_struct_attr(&doc.c[3], IS_ALPHA)
| Name | Description |
|---|---|
token | A pointer to a TokenC struct. |
feat_name | The ID of the attribute to look up. The attributes are enumerated in spacy.typedefs. |
| RETURNS | The value of the attribute. |
Set the value of an attribute of the TokenC struct by attribute ID.
Example
pythonfrom spacy.attrs cimport TAG from spacy.tokens cimport Token token = &doc.c[3] Token.set_struct_attr(token, TAG, 0)
| Name | Description |
|---|---|
token | A pointer to a TokenC struct. |
feat_name | The ID of the attribute to look up. The attributes are enumerated in spacy.typedefs. |
value | The value to set. |
Find a token in a TokenC* array by the offset of its first character.
Example
pythonfrom spacy.tokens.doc cimport Doc, token_by_start from spacy.vocab cimport Vocab doc = Doc(Vocab(), words=["hello", "world"]) assert token_by_start(doc.c, doc.length, 6) == 1 assert token_by_start(doc.c, doc.length, 4) == -1
| Name | Description |
|---|---|
tokens | A TokenC* array. |
length | The number of tokens in the array. |
start_char | The start index to search for. |
| RETURNS | The index of the token in the array or -1 if not found. |
Find a token in a TokenC* array by the offset of its final character.
Example
pythonfrom spacy.tokens.doc cimport Doc, token_by_end from spacy.vocab cimport Vocab doc = Doc(Vocab(), words=["hello", "world"]) assert token_by_end(doc.c, doc.length, 5) == 0 assert token_by_end(doc.c, doc.length, 1) == -1
| Name | Description |
|---|---|
tokens | A TokenC* array. |
length | The number of tokens in the array. |
end_char | The end index to search for. |
| RETURNS | The index of the token in the array or -1 if not found. |
Set attributes that allow lookup of syntactic children on a TokenC* array.
This function must be called after making changes to the TokenC.head
attribute, in order to make the parse tree navigation consistent.
Example
pythonfrom spacy.tokens.doc cimport Doc, set_children_from_heads from spacy.vocab cimport Vocab doc = Doc(Vocab(), words=["Baileys", "from", "a", "shoe"]) doc.c[0].head = 0 doc.c[1].head = 0 doc.c[2].head = 3 doc.c[3].head = 1 set_children_from_heads(doc.c, doc.length) assert doc.c[3].l_kids == 1
| Name | Description |
|---|---|
tokens | A TokenC* array. |
length | The number of tokens in the array. |
Struct holding information about a lexical type. LexemeC structs are usually
owned by the Vocab, and accessed through a read-only pointer on the TokenC
struct.
Example
pythonlex = doc.c[3].lex
| Name | Description |
|---|---|
flags | Bit-field for binary lexical flag values. |
id | Usually used to map lexemes to rows in a matrix, e.g. for word vectors. Does not need to be unique, so currently misnamed. |
length | Number of unicode characters in the lexeme. |
orth | ID of the verbatim text content. |
lower | ID of the lowercase form of the lexeme. |
norm | ID of the lexeme's norm, i.e. a normalized form of the text. |
shape | Transform of the lexeme's string, to show orthographic features. |
prefix | Length-N substring from the start of the lexeme. Defaults to N=1. |
suffix | Length-N substring from the end of the lexeme. Defaults to N=3. |
Get the value of an attribute from the LexemeC struct by attribute ID.
Example
pythonfrom spacy.attrs cimport IS_ALPHA from spacy.lexeme cimport Lexeme lexeme = doc.c[3].lex is_alpha = Lexeme.get_struct_attr(lexeme, IS_ALPHA)
| Name | Description |
|---|---|
lex | A pointer to a LexemeC struct. |
feat_name | The ID of the attribute to look up. The attributes are enumerated in spacy.typedefs. |
| RETURNS | The value of the attribute. |
Set the value of an attribute of the LexemeC struct by attribute ID.
Example
pythonfrom spacy.attrs cimport NORM from spacy.lexeme cimport Lexeme lexeme = doc.c[3].lex Lexeme.set_struct_attr(lexeme, NORM, lexeme.lower)
| Name | Description |
|---|---|
lex | A pointer to a LexemeC struct. |
feat_name | The ID of the attribute to look up. The attributes are enumerated in spacy.typedefs. |
value | The value to set. |
Check the value of a binary flag attribute.
Example
pythonfrom spacy.attrs cimport IS_STOP from spacy.lexeme cimport Lexeme lexeme = doc.c[3].lex is_stop = Lexeme.c_check_flag(lexeme, IS_STOP)
| Name | Description |
|---|---|
lexeme | A pointer to a LexemeC struct. |
flag_id | The ID of the flag to look up. The flag IDs are enumerated in spacy.typedefs. |
| RETURNS | The boolean value of the flag. |
Set the value of a binary flag attribute.
Example
pythonfrom spacy.attrs cimport IS_STOP from spacy.lexeme cimport Lexeme lexeme = doc.c[3].lex Lexeme.c_set_flag(lexeme, IS_STOP, 0)
| Name | Description |
|---|---|
lexeme | A pointer to a LexemeC struct. |
flag_id | The ID of the flag to look up. The flag IDs are enumerated in spacy.typedefs. |
value | The value to set. |