pub struct UnifiedCrossContextResolver<E: ClusterEncoder, S: MergeScorer> { /* private fields */ }Expand description
Unified resolver for cross-context coreference using xCoRe approach.
Supports both:
- Long document: Split into windows → resolve across windows
- Cross-document: Multiple docs → resolve across documents
Implementations§
Source§impl<E: ClusterEncoder, S: MergeScorer> UnifiedCrossContextResolver<E, S>
impl<E: ClusterEncoder, S: MergeScorer> UnifiedCrossContextResolver<E, S>
Sourcepub fn new(encoder: E, scorer: S, config: CrossContextConfig) -> Self
pub fn new(encoder: E, scorer: S, config: CrossContextConfig) -> Self
Create a new resolver.
Sourcepub fn resolve_documents(&self, docs: &[Document]) -> Vec<CrossDocCluster>
pub fn resolve_documents(&self, docs: &[Document]) -> Vec<CrossDocCluster>
Resolve coreference across CDCR documents.
Source§impl<E: ClusterEncoder, S: MergeScorer> UnifiedCrossContextResolver<E, S>
Extended cross-context resolver that works with long documents.
impl<E: ClusterEncoder, S: MergeScorer> UnifiedCrossContextResolver<E, S>
Extended cross-context resolver that works with long documents.
Sourcepub fn resolve_long_document_windows(
&self,
windows: &[WindowOutput],
) -> Vec<CorefChain>
pub fn resolve_long_document_windows( &self, windows: &[WindowOutput], ) -> Vec<CorefChain>
Resolve coreference in a long document by splitting into windows.
Uses the xCoRe approach:
- Split document into overlapping windows
- Extract clusters within each window (using incremental resolver)
- Merge clusters across windows
Sourcepub fn config(&self) -> &CrossContextConfig
pub fn config(&self) -> &CrossContextConfig
Get the configuration.
Auto Trait Implementations§
impl<E, S> Freeze for UnifiedCrossContextResolver<E, S>
impl<E, S> RefUnwindSafe for UnifiedCrossContextResolver<E, S>where
E: RefUnwindSafe,
S: RefUnwindSafe,
impl<E, S> Send for UnifiedCrossContextResolver<E, S>
impl<E, S> Sync for UnifiedCrossContextResolver<E, S>
impl<E, S> Unpin for UnifiedCrossContextResolver<E, S>
impl<E, S> UnsafeUnpin for UnifiedCrossContextResolver<E, S>where
E: UnsafeUnpin,
S: UnsafeUnpin,
impl<E, S> UnwindSafe for UnifiedCrossContextResolver<E, S>where
E: UnwindSafe,
S: UnwindSafe,
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
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