FeatureMatrix¶
-
class
corpustools.corpus.classes.lexicon.
FeatureMatrix
(name, feature_entries)[source]¶ An object that stores feature values for segments
Parameters: - name : str
Name to give the FeatureMatrix
- feature_entries : list
List of dict with one dictionary per segment, requires the key of symbol which identifies the segment
Attributes: - name : str
An informative identifier for the feature matrix
features
: listGet a list of _features that are used in this feature system
- possible_values : set
Set of values used in the FeatureMatrix
- default_value : str
Default feature value, usually corresponding to unspecified _features
- stresses : dict
Mapping of stress values to segments that bear that stress
- places : dict
Mapping from place of articulation labels to a feature specification
- manners : dict
Mapping from manner of articulation labels to a feature specification
- height : dict
Mapping from vowel height labels to a feature specification
- backness : dict
Mapping from vowel backness labels to a feature specification
- vowel_features : str
Feature value (i.e., ‘+voc’) that separates vowels from consonants
- voice_feature : str
Feature value (i.e., ‘+voice’) that codes voiced obstruents
- diph_feature : str
Feature value (i.e., ‘+diphthong’ or ‘.high’) that separates diphthongs from monophthongs
- rounded_feature : str
Feature value (i.e., ‘+round’) that codes rounded vowels
Methods
__init__
(name, feature_entries)Initialize self. add_feature
(feature[, default])Add a feature to the feature system add_segment
(seg, feat_spec)Add a segment with a feature specification to the feature system categorize
(seg)Categorize a segment into consonant/vowel, place of articulation, manner of articulation, voicing, vowel height, vowel backness, and vowel rounding. default_fill
(seg_list)feature_match
(features_to_match, …)param features_to_match: a list of strings representing features, e.g. [‘+voice’,’-nasal’] features_to_segments
(feature_description)Given a feature description, return the segments in the inventory that match that feature description seg_to_feat_line
(symbol)Get a list of feature values for a given segment in the order that features are return in get_feature_list set_major_class_features
(source)specify
(seg[, assign_defaults])valid_feature_strings
()Get all combinations of possible_values
and_features
validate
()Make sure that all segments in the matrix have all the features. -
add_feature
(feature, default=None)[source]¶ Add a feature to the feature system
Attributes: - feature : str
Name of the feature to add to the feature system
- default : str, optional
If specified, set the value for all segments to this value, otherwise use the FeatureMatrix’s
default_value
-
add_segment
(seg, feat_spec)[source]¶ Add a segment with a feature specification to the feature system
Attributes: - seg : str
Segment symbol to add to the feature system
- feat_spec : dictionary
Dictionary with _features as keys and feature values as values
-
categorize
(seg)[source]¶ Categorize a segment into consonant/vowel, place of articulation, manner of articulation, voicing, vowel height, vowel backness, and vowel rounding.
For consonants, the category is of the format:
(‘Consonant’, PLACE, MANNER, VOICING)
For vowels, the category is of the format:
(‘Vowel’, HEIGHT, BACKNESS, ROUNDED)
Diphthongs are categorized differently:
(‘Diphthong’, ‘Vowel’)
Parameters: - seg : Segment
Segment to categorize
Returns: - tuple or None
Returns categories according to the formats above, if any are unable to be calculated, returns None in those places. Returns None if a category cannot be found.
-
feature_match
(features_to_match, segment_description)[source]¶ Parameters: - features_to_match – a list of strings representing features, e.g. [‘+voice’,’-nasal’]
- segment_description – a dictionary of {feature_name:feature_value}
Returns: True if features match up with the segment description, e.g. if {‘voice’:’+’, ‘nasal’:’-‘} is in the segment dictionary. Otherwise returns False.
-
features
¶ Get a list of _features that are used in this feature system
Returns: - list
Sorted list of the names of all _features in the matrix
-
features_to_segments
(feature_description)[source]¶ Given a feature description, return the segments in the inventory that match that feature description
Feature descriptions should be either lists, such as [‘+feature1’, ‘-feature2’] or strings that can be separated into lists by ‘,’, such as ‘+feature1,-feature2’.
Parameters: - feature_description : str, list, or dict
Feature values that specify the segments, see above for format
Returns: - list of Segments
Segments that match the feature description
-
seg_to_feat_line
(symbol)[source]¶ Get a list of feature values for a given segment in the order that features are return in get_feature_list
Use for display purposes
Returns: - list
List of feature values for the symbol, as well as the symbol itself
Attributes: - symbol : str
Segment symbol to look up
-
segments
¶ Return a list of segment symbols that are specified in the feature system
Returns: - list
List of all the segments with feature specifications