Explain why a paper matched the must-read list.
(paper: Dict, profile: Dict)
| 856 | |
| 857 | |
| 858 | def format_must_read_reason(paper: Dict, profile: Dict) -> str: |
| 859 | """Explain why a paper matched the must-read list.""" |
| 860 | matches = get_must_read_matches(paper, profile or {}) |
| 861 | parts = [] |
| 862 | if matches.get("authors"): |
| 863 | parts.append(f"作者:{', '.join(matches['authors'])}") |
| 864 | if matches.get("institutions"): |
| 865 | parts.append(f"机构:{', '.join(matches['institutions'])}") |
| 866 | if matches.get("keywords"): |
| 867 | parts.append(f"关键词:{', '.join(matches['keywords'])}") |
| 868 | return ";".join(parts) |
| 869 | |
| 870 | |
| 871 | def expand_direction_terms(canonical_directions: List[str]) -> Dict[str, Dict]: |
no test coverage detected