Feature

Enum Feature 

Source
pub enum Feature {
Show 28 variants Transitive, Intransitive, Ditransitive, SubjectControl, ObjectControl, Raising, Opaque, Factive, Performative, Collective, Mixed, Distributive, Weather, Unaccusative, IntensionalPredicate, Count, Mass, Proper, Masculine, Feminine, Neuter, Animate, Inanimate, Intersective, NonIntersective, Subsective, Gradable, EventModifier,
}
Expand description

Lexical features that encode grammatical and semantic properties of words.

Features are assigned to lexical entries in the lexicon database and control how words combine syntactically and what semantic representations they produce. The feature system follows the tradition of feature-based grammar formalisms like HPSG and LFG.

Variants§

§

Transitive

Verb requires a direct object (NP complement).

Transitive verbs denote binary relations between an agent and a patient/theme. In first-order logic, they translate to two-place predicates: Verb(x, y).

Examples: “see”, “hit”, “love”, “build”

§

Intransitive

Verb takes no object (unary predicate).

Intransitive verbs denote properties of a single argument (the subject). They translate to one-place predicates: Verb(x).

Examples: “sleep”, “arrive”, “exist”, “die”

§

Ditransitive

Verb takes two objects (direct + indirect).

Ditransitive verbs denote ternary relations, typically involving transfer of possession. They translate to three-place predicates: Verb(x, y, z).

Examples: “give”, “tell”, “show”, “send”

§

SubjectControl

The subject of the matrix clause controls the PRO subject of the embedded clause.

In “John promised Mary to leave”, John (subject) is understood as the one leaving. Formally: promise(j, m, leave(PRO_j)) where PRO is coindexed with the subject.

Examples: “promise”, “try”, “want”, “decide”

§

ObjectControl

The object of the matrix clause controls the PRO subject of the embedded clause.

In “John persuaded Mary to leave”, Mary (object) is understood as the one leaving. Formally: persuade(j, m, leave(PRO_m)) where PRO is coindexed with the object.

Examples: “persuade”, “force”, “convince”, “order”

§

Raising

Raising verb that does not assign a theta-role to its surface subject.

In “John seems to be happy”, “John” originates in the embedded clause and raises to matrix subject position. No control relation; subject is shared. Contrast with control: raising allows expletive subjects (“It seems that…”).

Examples: “seem”, “appear”, “happen”, “tend”

§

Opaque

Creates an opaque (intensional) context blocking substitution of co-referential terms.

In opaque contexts, Leibniz’s Law fails: even if a=b, P(a) does not entail P(b). “John believes Clark Kent is weak” does not entail “John believes Superman is weak” even if Clark Kent = Superman. Requires possible-worlds semantics.

Examples: “believe”, “think”, “want”, “seek”

§

Factive

Presupposes the truth of its complement clause.

Factive verbs entail the truth of their embedded proposition regardless of the matrix clause’s truth value. “John regrets that it rained” presupposes that it rained, even under negation: “John doesn’t regret that it rained.”

Examples: “know”, “regret”, “realize”, “discover”

§

Performative

Uttering the verb constitutes performing the action it describes.

Performative verbs, when uttered in first person present, do not describe an action but perform it. “I promise to come” is itself the act of promising. Austin’s speech act theory: saying is doing.

Examples: “promise”, “declare”, “pronounce”, “bet”

§

Collective

Requires a plural or group subject; describes collective action.

Collective predicates cannot distribute over atomic individuals. “The students gathered” is true of the group, not of each student individually. Contrast with distributive: “gathered” vs “slept”.

Examples: “gather”, “meet”, “disperse”, “surround”

§

Mixed

Can be interpreted either collectively or distributively.

Mixed predicates are ambiguous between collective and distributive readings. “The students lifted the piano” can mean they lifted it together (collective) or each lifted a piano (distributive). Context disambiguates.

Examples: “lift”, “carry”, “build”, “write”

§

Distributive

Distributes over atomic individuals in a plurality.

Distributive predicates apply to each member of a plural subject individually. “The students slept” entails that each student slept. Formally: ∀x(student(x) → slept(x)).

Examples: “sleep”, “smile”, “breathe”, “think”

§

Weather

Impersonal verb describing meteorological phenomena; takes expletive subject.

Weather verbs have no semantic subject; “it” in “it rains” is a dummy expletive. In formal semantics, they are zero-place predicates or predicates of times/events.

Examples: “rain”, “snow”, “thunder”, “drizzle”

§

Unaccusative

Intransitive verb whose subject is a theme/patient, not an agent.

Unaccusative verbs have an underlying object that surfaces as subject. Evidence: auxiliary selection in Italian/German, participle agreement. “The ice melted” - the ice undergoes melting, doesn’t cause it.

Examples: “arrive”, “fall”, “melt”, “appear”

§

IntensionalPredicate

Takes a proposition and evaluates it relative to possible worlds.

Intensional predicates don’t just operate on truth values but on intensions (functions from worlds to extensions). Required for modal and attitude reports. “John believes it might rain” involves multiple world quantification.

Examples: “believe”, “know”, “hope”, “doubt”

§

Count

Noun can be counted; takes singular/plural marking and numerals directly.

Count nouns denote atomic, individuated entities. They combine with numerals and indefinite articles: “three cats”, “a dog”. Semantically, they have natural atomic minimal parts.

Examples: “cat”, “idea”, “student”, “book”

§

Mass

Noun denotes stuff without natural units; requires measure phrases for counting.

Mass nouns are cumulative and divisive: any part of water is water, and water plus water is water. Cannot directly combine with numerals; require classifiers: “three glasses of water”, not “three waters”.

Examples: “water”, “rice”, “information”, “furniture”

§

Proper

Noun is a proper name denoting a specific individual.

Proper nouns are rigid designators that refer to the same individual in all possible worlds. They typically lack articles and don’t take plural marking. Semantically, they denote individuals directly, not sets.

Examples: “Socrates”, “Paris”, “Microsoft”, “Monday”

§

Masculine

Grammatically masculine; triggers masculine agreement on dependents.

In languages with grammatical gender, masculine nouns control agreement on articles, adjectives, and pronouns. In English, primarily affects pronoun selection for animate referents.

Examples: “man”, “king”, “actor”, “waiter”

§

Feminine

Grammatically feminine; triggers feminine agreement on dependents.

Feminine nouns control feminine agreement patterns. In English, primarily relevant for pronoun selection with human referents.

Examples: “woman”, “queen”, “actress”, “waitress”

§

Neuter

Grammatically neuter; triggers neuter agreement on dependents.

Neuter is the default for inanimate objects in English. Used for entities where natural gender is absent or unknown. “It” is the neuter pronoun.

Examples: “table”, “rock”, “system”, “idea”

§

Animate

Denotes an entity capable of self-initiated action or sentience.

Animacy is a semantic feature affecting argument realization. Animate entities can be agents, experiencers, recipients. Affects pronoun choice (“who” vs “what”) and relative clause formation.

Examples: “dog”, “person”, “bird”, “robot” (ambiguous)

§

Inanimate

Denotes a non-sentient entity incapable of self-initiated action.

Inanimate entities typically serve as themes, patients, or instruments. Cannot be agents in the semantic sense. “What” rather than “who”.

Examples: “rock”, “table”, “water”, “idea”

§

Intersective

Adjective meaning combines by set intersection with noun meaning.

For intersective adjectives, “A N” denotes things that are both A and N. “Red ball” means {x : red(x) ∧ ball(x)}. The adjective has a context-independent extension that intersects with the noun’s extension.

Examples: “red”, “round”, “wooden”, “French”

§

NonIntersective

Adjective meaning cannot be computed by simple intersection.

Non-intersective adjectives require the noun to determine their extension. “Fake gun” is not a gun at all, so fake(x) ∧ gun(x) gives wrong results. Includes privative (“fake”, “former”) and modal (“alleged”, “potential”).

Examples: “fake”, “alleged”, “former”, “potential”

§

Subsective

Adjective picks out a subset of the noun denotation relative to a comparison class.

Subsective adjectives entail the noun: a “skillful surgeon” is a surgeon. But “skillful” is relative: skillful for a surgeon, not skillful absolutely. “Small elephant” is large for an animal but small for an elephant.

Examples: “skillful”, “good”, “large”, “small”

§

Gradable

Adjective has a degree argument and supports comparison morphology.

Gradable adjectives place entities on a scale with a contextual standard. “Tall” means exceeding some contextual standard of height. Supports comparatives (“taller”), superlatives (“tallest”), and degree modification.

Examples: “tall”, “expensive”, “heavy”, “smart”

§

EventModifier

Adjective that modifies the event denoted by the verb, not the noun.

Event-modifying adjectives (when used adverbially) characterize manner or other event properties. “Careful surgeon” suggests careful in operating, not careful as a person. Related to adverb formation.

Examples: “careful”, “slow”, “quick”, “deliberate”

Implementations§

Source§

impl Feature

Source

pub fn from_str(s: &str) -> Option<Feature>

Parses a feature name from a string.

Returns Some(Feature) if the string matches a known feature name (case-sensitive), or None if unrecognized.

Trait Implementations§

Source§

impl Clone for Feature

Source§

fn clone(&self) -> Feature

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Feature

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Hash for Feature

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Feature

Source§

fn eq(&self, other: &Feature) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Feature

Source§

impl Eq for Feature

Source§

impl StructuralPartialEq for Feature

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V