MCP_Res / mcp /nlp.py
mgbam's picture
Update mcp/nlp.py
bb95791 verified
raw
history blame
624 Bytes
# mcp/nlp.py
import spacy
import subprocess
def load_model():
try:
return spacy.load("en_core_sci_sm")
except OSError:
try:
subprocess.run(["python", "-m", "spacy", "download", "en_core_web_sm"], check=True)
return spacy.load("en_core_web_sm")
except Exception as e:
raise RuntimeError("Failed to download spaCy model. Details: " + str(e))
nlp = load_model()
def extract_keywords(text: str):
"""Extract biomedical or general entities from text."""
doc = nlp(text)
return list(set(ent.text for ent in doc.ents if len(ent.text.strip()) > 2))