MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / UserCitationState

Class UserCitationState

experiments/baselines/citation_enhanced/runner.py:395–420  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

393
394@dataclass
395class UserCitationState:
396 profile_text: str
397 profile_vector: Dict[str, float] = field(default_factory=dict)
398 selected_sum: Dict[str, float] = field(default_factory=dict)
399 selected_texts: List[str] = field(default_factory=list)
400 selected_identities: set[str] = field(default_factory=set)
401 selected_reference_sets: List[set[str]] = field(default_factory=list)
402 selected_count: int = 0
403
404 def selected_centroid(self) -> Dict[str, float]:
405 return normalize_vector(self.selected_sum)
406
407 def feedback_texts(self) -> List[str]:
408 return list(self.selected_texts)
409
410 def prepare_vectors(self, idf: Dict[str, float]) -> None:
411 self.profile_vector = vectorize_text(self.profile_text, idf)
412 self.selected_sum = {}
413 for text in self.selected_texts:
414 add_weighted_vector(self.selected_sum, vectorize_text(text, idf), 1.0)
415
416 def update_selected(self, row: Dict[str, Any]) -> None:
417 self.selected_texts.append(paper_text(row))
418 self.selected_identities.update(identity_aliases(row))
419 self.selected_reference_sets.append(extract_id_set(row, REFERENCE_FIELDS))
420 self.selected_count += 1
421
422
423def content_score(row_vector: Dict[str, float], state: UserCitationState) -> float:

Callers 2

build_user_statesFunction · 0.85
rerank_episodesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected