spaCy/website/docs/api/morphanalysis.md
Adriane Boyd 14df00ae98 Add Morphology and MorphAnalsysis API docs
Add initial draft of `Morphology` and `MorphAnalysis` API docs.
2020-07-21 10:33:46 +02:00

4.0 KiB

title tag source
MorphAnalysis class spacy/tokens/morphanalysis.pyx

Stores a single morphological analysis.

MorphAnalysis.__init__

Initialize a MorphAnalysis object from a UD FEATS string or a dictionary of morphological features.

Example

from spacy.tokens import MorphAnalysis

feats = "Feat1=Val1|Feat2=Val2"
m = MorphAnalysis(nlp.vocab, feats)
Name Type Description
vocab Vocab The vocab.
features Union[Dict, str] The morphological features.
RETURNS MorphAnalysis The newly constructed object.

MorphAnalysis.__contains__

Whether a feature/value pair is in the analysis.

Example

feats = "Feat1=Val1,Val2|Feat2=Val2"
morph = MorphAnalysis(nlp.vocab, feats)
assert "Feat1=Val1" in morph
Name Type Description
RETURNS str A feature/value pair in the analysis.

MorphAnalysis.__iter__

Iterate over the feature/value pairs in the analysis.

Example

feats = "Feat1=Val1|Feat2=Val2"
morph = MorphAnalysis(nlp.vocab, feats)
for feat in morph:
    print(feat)
Name Type Description
YIELDS str A feature/value pair in the analysis.

MorphAnalysis.__len__

Returns the number of features in the analysis.

Example

feats = "Feat1=Val1,Val2|Feat2=Val2"
morph = MorphAnalysis(nlp.vocab, feats)
assert len(morph) == 3
Name Type Description
RETURNS int The number of features in the analysis.

MorphAnalysis.__str__

Returns the morphological analysis in the UD FEATS string format.

Example

feats = "Feat1=Val1,Val2|Feat2=Val2"
morph = MorphAnalysis(nlp.vocab, feats)
assert str(morph) == feats
Name Type Description
RETURNS str The analysis in UD FEATS format.

MorphAnalysis.get

Retrieve a feature by field.

Example

feats = "Feat1=Val1,Val2"
morph = MorphAnalysis(nlp.vocab, feats)
assert morph.get("Feat1") == ['Feat1=Val1', 'Feat1=Val2']
Name Type Description
field str The field to retrieve.
RETURNS list A list of the individual features.

MorphAnalysis.to_dict

Produce a dict representation of the analysis, in the same format as the tag map.

Example

feats = "Feat1=Val1,Val2|Feat2=Val2"
morph = MorphAnalysis(nlp.vocab, feats)
assert morph.to_dict() == {'Feat1': 'Val1,Val2', 'Feat2': 'Val2'}
Name Type Description
RETURNS dict The dict representation of the analysis.

MorphAnalysis.from_id

Create a morphological analysis from a given hash ID.

Example

feats = "Feat1=Val1|Feat2=Val2"
hash = nlp.vocab.strings[feats]
morph = MorphAnalysis.from_id(nlp.vocab, hash)
assert str(morph) == feats
Name Type Description
vocab Vocab The vocab.
key int The hash of the features string.