Python 从spacy中的存储模型加载后,doc.vector不工作

Python 从spacy中的存储模型加载后,doc.vector不工作,python,windows,spacy,rasa-nlu,Python,Windows,Spacy,Rasa Nlu,我已经训练了下面的模型 我将它保存到某个目录,然后加载并再次使用它。但当我试图访问doc.vector时加载它之后,它抛出了以下错误 Traceback (most recent call last): File "C:/Users/ankita.a.rath/Desktop/my_codes/Rasa_nlu/rasa_nlu-master/train_spacy_ner.py", line 248, in <module> main("en", "new_mode

我已经训练了下面的模型

我将它保存到某个目录,然后加载并再次使用它。但当我试图访问doc.vector时加载它之后,它抛出了以下错误

 Traceback (most recent call last):
  File "C:/Users/ankita.a.rath/Desktop/my_codes/Rasa_nlu/rasa_nlu-master/train_spacy_ner.py", line 248, in <module>
    main("en", "new_model")
  File "C:/Users/ankita.a.rath/Desktop/my_codes/Rasa_nlu/rasa_nlu-master/train_spacy_ner.py", line 238, in main
    print (doc2.vector)
  File "spacy/tokens/doc.pyx", line 275, in spacy.tokens.doc.Doc.vector.__get__ (spacy/tokens/doc.cpp:7291)
    self._vector = sum(t.vector for t in self) / len(self)
  File "spacy/tokens/doc.pyx", line 275, in genexpr (spacy/tokens/doc.cpp:7114)
    self._vector = sum(t.vector for t in self) / len(self)
  File "spacy/tokens/token.pyx", line 240, in spacy.tokens.token.Token.vector.__get__ (spacy/tokens/token.cpp:7249)
    raise ValueError(
ValueError: Word vectors set to length 0. This may be because you don't have a model installed or loaded, or because your model doesn't include word vectors. For more info, see the documentation: 
https://spacy.io/docs/usage
回溯(最近一次呼叫最后一次):
文件“C:/Users/ankita.a.rath/Desktop/my_code/Rasa_nlu/Rasa_nlu-master/train_spacy_ner.py”,第248行,in
主(“en”,“新_模型”)
文件“C:/Users/ankita.a.rath/Desktop/my_code/Rasa_nlu/Rasa_nlu-master/train_spacy_ner.py”,第238行,主文件
打印(doc2.vector)
文件“spacy/tokens/doc.pyx”,第275行,位于spacy.tokens.doc.doc.vector.\uuuuu get\uuuu(spacy/tokens/doc.cpp:7291)
self.\u向量=总和(t.向量表示self中的t)/len(self)
genexpr中的文件“spacy/tokens/doc.pyx”,第275行(spacy/tokens/doc.cpp:7114)
self.\u向量=总和(t.向量表示self中的t)/len(self)
文件“spacy/tokens/token.pyx”,第240行,位于spacy.tokens.token.token.vector.\uuuuu get\uuuu(spacy/tokens/token.cpp:7249)
升值误差(
ValueError:Word vectors设置为长度0。这可能是因为您没有安装或加载模型,或者因为您的模型不包含Word vectors。有关详细信息,请参阅文档:
https://spacy.io/docs/usage
关于我的环境的信息

Python版本:2.7.13

平台:Windows-10

spaCy版本:1.9.0

已安装型号:en


请提供一些解决方案。

抱歉,如果您出于特定原因使用Spacy-NER,我可能不会对您的问题提供最大帮助。但是,Rasa中使用的Spacy-NER旨在与一起使用。请参阅上的Rasa文档。具体而言,此评论:

到目前为止,该组件只能使用spacy内置的实体提取模型,不能进行重新培训

Rasa中的培训实体使用或管道组件完成

拉萨有完整的指南

例如,要开始使用ner_crf,您最适合使用spacy_sklearn管道

git clone https://github.com/RasaHQ/rasa_nlu.git
cd rasa_nlu
pip install -r requirements.txt
python setup.py install
pip install -U spacy
python -m spacy download en
conda install scikit-learn
pip install -U sklearn-crfsuite
完成所有操作后,即可启动Rasa服务器:

python -m rasa_nlu.server -c sample_configs/config_spacy.json
并使用来训练和解析数据

curl -XPOST localhost:5000/train?name=my_project -d @data/examples/rasa/demo-rasa.json
curl -XPOST localhost:5000/parse -d '{"q":"hello there", "project": "my_project"}

如果您需要有关Github或的任何进一步帮助。我将提到Windows会使事情变得复杂,您最好在Docker或unix VM上尝试Rasa。

我认为在保存模型时,向量不会被保存。 我找不到任何直接的解决方案,所以我要做的是,我分别存储向量,然后在加载模型后加载它


它解决了我的问题。关闭这个。

ner_crf没有给出正确的结果,所以我正在训练spacy。