mirror of https://github.com/explosion/spaCy.git
155 lines
4.0 KiB
Markdown
155 lines
4.0 KiB
Markdown
|
---
|
||
|
title: MorphAnalysis
|
||
|
tag: class
|
||
|
source: spacy/tokens/morphanalysis.pyx
|
||
|
---
|
||
|
|
||
|
Stores a single morphological analysis.
|
||
|
|
||
|
|
||
|
## MorphAnalysis.\_\_init\_\_ {#init tag="method"}
|
||
|
|
||
|
Initialize a MorphAnalysis object from a UD FEATS string or a dictionary of
|
||
|
morphological features.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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\_\_ {#contains tag="method"}
|
||
|
|
||
|
Whether a feature/value pair is in the analysis.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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\_\_ {#iter tag="method"}
|
||
|
|
||
|
Iterate over the feature/value pairs in the analysis.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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\_\_ {#len tag="method"}
|
||
|
|
||
|
Returns the number of features in the analysis.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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\_\_ {#str tag="method"}
|
||
|
|
||
|
Returns the morphological analysis in the UD FEATS string format.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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 {#get tag="method"}
|
||
|
|
||
|
Retrieve a feature by field.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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 {#to_dict tag="method"}
|
||
|
|
||
|
Produce a dict representation of the analysis, in the same format as the tag
|
||
|
map.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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 {#from_id tag="classmethod"}
|
||
|
|
||
|
Create a morphological analysis from a given hash ID.
|
||
|
|
||
|
> #### Example
|
||
|
>
|
||
|
> ```python
|
||
|
> 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. |
|
||
|
|
||
|
|