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

Function estimate_quality_score

deployments/feishu/daily-push-agent/main.py:539–570  ·  view source on GitHub ↗

Estimate a coarse paper quality score from source / venue metadata.

(paper: Dict)

Source from the content-addressed store, hash-verified

537
538
539def estimate_quality_score(paper: Dict) -> float:
540 """Estimate a coarse paper quality score from source / venue metadata."""
541 source = str(paper.get("source") or "").lower()
542 journal = str(paper.get("journal") or "").lower()
543 conference_key = infer_conference_key(paper)
544 venue = str(paper.get("venue") or "").lower()
545
546 if source == "journal":
547 if journal in {"nature", "science", "cell"}:
548 return 0.95
549 if "nature" in venue or "science" in venue or "cell" in venue:
550 return 0.9
551 return 0.75
552
553 if source == "openreview":
554 if conference_key in {"neurips", "icml", "iclr"}:
555 return 0.85
556 if conference_key in {"acl", "emnlp", "cvpr", "iccv", "eccv", "acmmm"}:
557 return 0.8
558 if any(name in venue for name in ("neurips", "icml", "iclr")):
559 return 0.85
560 if any(name in venue for name in ("acl", "emnlp", "cvpr", "iccv", "eccv", "acm multimedia")):
561 return 0.8
562 return 0.72
563
564 if source == "arxiv":
565 categories = [str(category).lower() for category in paper.get("categories", [])]
566 if any(category.startswith("q-bio") for category in categories):
567 return 0.62
568 return 0.58
569
570 return 0.6
571
572
573def infer_conference_key(paper: Dict) -> str:

Callers 1

prepare_paper_featuresFunction · 0.85

Calls 2

infer_conference_keyFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected