in ludwig/utils/nlp_utils.py [0:0]
def load_nlp_pipeline(language='xx'):
if language not in language_module_registry:
logger.error(
'Language {} is not supported.'
'Suported languages are: {}'.format(
language,
language_module_registry.keys()
))
raise ValueError
else:
spacy_module_name = language_module_registry[language]
global nlp_pipelines
if nlp_pipelines[language] is None:
logger.info('Loading NLP pipeline')
try:
import spacy
except ImportError:
logger.error(
' spacy is not installed. '
'In order to install all text feature dependencies run '
'pip install ludwig[text]'
)
sys.exit(-1)
try:
nlp_pipelines[language] = spacy.load(
spacy_module_name,
disable=['parser', 'tagger', 'ner']
)
except OSError:
logger.info(
' spaCy {} model is missing, downloading it '
'(this will only happen once)'
)
from spacy.cli import download
download(spacy_module_name)
nlp_pipelines[language] = spacy.load(
spacy_module_name,
disable=['parser', 'tagger', 'ner']
)
return nlp_pipelines[language]