7 lines
466 B
Python
7 lines
466 B
Python
def classify_and_score(paper, search_cfg):
|
|
hay=' '.join([paper.title,paper.abstract,paper.venue]).lower()
|
|
paper.categories=[cat for cat,terms in search_cfg.get('categories',{}).items() if any(str(t).lower() in hay for t in terms)] or ['Other']
|
|
raw=sum(int(w) for term,w in search_cfg.get('relevance_terms',{}).items() if str(term).lower() in hay)
|
|
paper.relevance=5 if raw>=8 else 4 if raw>=5 else 3 if raw>=3 else 2 if raw>=1 else 1
|
|
return paper
|