mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.9 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. |
 | 
						|
 | 
						|
## 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,Val3|Feat2=Val2"
 | 
						|
> morph = MorphAnalysis(nlp.vocab, feats)
 | 
						|
> assert list(morph) == ["Feat1=Va1", "Feat1=Val3", "Feat2=Val2"]
 | 
						|
> ```
 | 
						|
 | 
						|
| 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 values for a feature by field.
 | 
						|
 | 
						|
> #### Example
 | 
						|
>
 | 
						|
> ```python
 | 
						|
> feats = "Feat1=Val1,Val2"
 | 
						|
> morph = MorphAnalysis(nlp.vocab, feats)
 | 
						|
> assert morph.get("Feat1") == ["Val1", "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. |
 |