abydos.phones package¶
abydos.phones.
The phones module implements …
-
abydos.phones.
ipa_to_features
(ipa)[source]¶ Convert IPA to features.
This translates an IPA string of one or more phones to a list of ints representing the features of the string.
Parameters: ipa (str) – the IPA representation of a phone or series of phones Returns: a representation of the features of the input string Return type: [int] >>> ipa_to_features('mut') [2709662981243185770, 1825831513894594986, 2783230754502126250] >>> ipa_to_features('fon') [2781702983095331242, 1825831531074464170, 2711173160463936106] >>> ipa_to_features('telz') [2783230754502126250, 1826957430176000426, 2693158761954453926, 2783230754501863834]
-
abydos.phones.
get_feature
(vector, feature)[source]¶ Get a feature vector.
- This returns a list of ints, equal in length to the vector input,
- representing presence/absence/neutrality with respect to a particular phonetic feature.
Parameters: - vector (list) – a tuple or list of ints representing the phonetic features of a phone or series of phones (such as is returned by the ipa_to_features function)
- feature (str) – a feature name from the set: ‘consonantal’, ‘sonorant’, ‘syllabic’, ‘labial’, ‘round’, ‘coronal’, ‘anterior’, ‘distributed’, ‘dorsal’, ‘high’, ‘low’, ‘back’, ‘tense’, ‘pharyngeal’, ‘ATR’, ‘voice’, ‘spread_glottis’, ‘constricted_glottis’, ‘continuant’, ‘strident’, ‘lateral’, ‘delayed_release’, ‘nasal’
Returns: a list indicating presence/absence/neutrality with respect to the feature
Return type: [int]
>>> tails = ipa_to_features('telz') >>> get_feature(tails, 'consonantal') [1, -1, 1, 1] >>> get_feature(tails, 'sonorant') [-1, 1, 1, -1] >>> get_feature(tails, 'nasal') [-1, -1, -1, -1] >>> get_feature(tails, 'coronal') [1, -1, 1, 1]
-
abydos.phones.
cmp_features
(feat1, feat2)[source]¶ Compare features.
This returns a number in the range [0, 1] representing a comparison of two feature bundles.
If one of the bundles is negative, -1 is returned (for unknown values)
If the bundles are identical, 1 is returned.
If they are inverses of one another, 0 is returned.
Otherwise, a float representing their similarity is returned.
Parameters: - feat1 (int) – a feature bundle
- feat2 (int) – a feature bundle
Returns: a comparison of the feature bundles
Return type: float
>>> cmp_features(ipa_to_features('l')[0], ipa_to_features('l')[0]) 1.0 >>> cmp_features(ipa_to_features('l')[0], ipa_to_features('n')[0]) 0.8709677419354839 >>> cmp_features(ipa_to_features('l')[0], ipa_to_features('z')[0]) 0.8709677419354839 >>> cmp_features(ipa_to_features('l')[0], ipa_to_features('i')[0]) 0.564516129032258