(text: Any)
| 1247 | |
| 1248 | |
| 1249 | def detect_report_feedback_request(text: Any) -> Optional[Dict[str, Any]]: |
| 1250 | cleaned = first_meaningful_line(text) |
| 1251 | lowered = cleaned.lower().strip() |
| 1252 | if not lowered: |
| 1253 | return None |
| 1254 | |
| 1255 | positive_markers = ("写得好", "很好", "有用", "抓住重点", "挺好", "不错") |
| 1256 | negative_markers = ("没抓住重点", "不够完整", "太浅", "太空", "不太行", "没用", "一般") |
| 1257 | if "报告" not in cleaned and "精读" not in cleaned and "这篇" not in cleaned: |
| 1258 | return None |
| 1259 | if any(token in cleaned for token in negative_markers): |
| 1260 | return {"sentiment": "negative"} |
| 1261 | if any(token in cleaned for token in positive_markers): |
| 1262 | return {"sentiment": "positive"} |
| 1263 | return None |
| 1264 | |
| 1265 | |
| 1266 | def detect_reviewer_watch_request(text: Any) -> Optional[Dict[str, Any]]: |
no test coverage detected