| |
|
|
| import logging |
| from typing import Any, Dict |
|
|
| from feature_core import extract_features, load_nlp_model |
|
|
| logger = logging.getLogger(__name__) |
| logger.setLevel(logging.INFO) |
| if not logger.handlers: |
| handler = logging.StreamHandler() |
| handler.setFormatter(logging.Formatter("%(name)s - %(levelname)s - %(message)s")) |
| logger.addHandler(handler) |
|
|
|
|
| try: |
| nlp = load_nlp_model("tl_calamancy_md-0.2.0") |
| except Exception as e: |
| logger.error(f"Failed to load CalamanCy: {e}") |
| nlp = None |
|
|
|
|
| def extract_features_web(text: str) -> Dict[str, Any]: |
| if nlp is None: |
| logger.error("NLP model unavailable") |
| return {} |
|
|
| try: |
| return extract_features(text, nlp) |
| except Exception as e: |
| logger.error(f"NLP processing failed: {e}") |
| return {} |
|
|