pub struct EventCluster {
pub mentions: Vec<EventMention>,
pub id: u64,
pub event_type: Option<String>,
pub confidence: Confidence,
}Expand description
A cluster of coreferent event mentions.
§Research Background
Event coreference (Ahmed & Martin, 2021) links mentions of the same real-world event across a document. Unlike entity coreference, event coreference must consider:
- Trigger words (verbs, nominalizations)
- Arguments (who did what to whom)
- Temporal/spatial constraints
- Event subtypes (attacks, meetings, etc.)
§Example
use anno::discourse::{EventMention, EventCluster};
let mentions = vec![
EventMention::new("invasion", 10, 18)
.with_trigger_type("attack"),
EventMention::new("invaded", 50, 57)
.with_trigger_type("attack"),
EventMention::new("attack", 100, 106)
.with_trigger_type("attack"),
];
let cluster = EventCluster::new(mentions);
assert_eq!(cluster.len(), 3);
assert_eq!(cluster.canonical_trigger(), "invasion");Fields§
§mentions: Vec<EventMention>All event mentions in this cluster
id: u64Cluster ID
event_type: Option<String>Canonical event type (e.g., “attack”)
confidence: ConfidenceConfidence in this clustering
Implementations§
Source§impl EventCluster
impl EventCluster
Sourcepub fn new(mentions: Vec<EventMention>) -> EventCluster
pub fn new(mentions: Vec<EventMention>) -> EventCluster
Create a new event cluster.
Sourcepub fn canonical_trigger(&self) -> &str
pub fn canonical_trigger(&self) -> &str
Get the canonical trigger (first mention’s trigger).
Sourcepub fn with_id(self, id: u64) -> EventCluster
pub fn with_id(self, id: u64) -> EventCluster
Set cluster ID.
Sourcepub fn add(&mut self, mention: EventMention)
pub fn add(&mut self, mention: EventMention)
Add a mention to the cluster.
Trait Implementations§
Source§impl Clone for EventCluster
impl Clone for EventCluster
Source§fn clone(&self) -> EventCluster
fn clone(&self) -> EventCluster
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EventCluster
impl Debug for EventCluster
Source§impl Default for EventCluster
impl Default for EventCluster
Source§fn default() -> EventCluster
fn default() -> EventCluster
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EventCluster
impl<'de> Deserialize<'de> for EventCluster
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<EventCluster, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<EventCluster, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for EventCluster
impl Serialize for EventCluster
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for EventCluster
impl RefUnwindSafe for EventCluster
impl Send for EventCluster
impl Sync for EventCluster
impl Unpin for EventCluster
impl UnsafeUnpin for EventCluster
impl UnwindSafe for EventCluster
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more