From c51ea88e556587b8537cbcd54996835fae0d8ce9 Mon Sep 17 00:00:00 2001
From: zhuqi <zqwerty@users.noreply.github.com>
Date: Wed, 7 Jul 2021 20:25:38 +0800
Subject: [PATCH] fixed spacy load en_core_web_sm when using BERTNLU for
 MultiWOZ (#205)

---
 convlab2/nlu/jointBERT/multiwoz/nlu.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/convlab2/nlu/jointBERT/multiwoz/nlu.py b/convlab2/nlu/jointBERT/multiwoz/nlu.py
index 8b9f0dcf..2418bd27 100755
--- a/convlab2/nlu/jointBERT/multiwoz/nlu.py
+++ b/convlab2/nlu/jointBERT/multiwoz/nlu.py
@@ -58,6 +58,14 @@ class BERTNLU(NLU):
         self.use_context = config['model']['context']
         self.dataloader = dataloader
         self.nlp = spacy.load('en_core_web_sm')
+        try:
+            self.nlp = spacy.load("en_core_web_sm")
+        except Exception:
+            print('download en_core_web_sm for spacy')
+            from spacy.cli.download import download as spacy_download
+            spacy_download("en_core_web_sm")
+            spacy_model_module = __import__("en_core_web_sm")
+            self.nlp = spacy_model_module.load()
         with open(os.path.join(get_root_path(), 'data/multiwoz/db/postcode.json'), 'r') as f:
             token_list = json.load(f)
 
-- 
GitLab