2

我已经按照 https://github.com/explosion/spaCy/blob/master/examples/training/train_new_entity_type.py训练了模型

我将它保存到某个目录,然后再次加载并使用它。但是当我尝试访问 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

关于我的环境的信息。

Python版本:2.7.13

平台:Windows-10

spaCy 版本:1.9.0

安装型号:zh

请提出一些解决方案。

4

2 回答 2

0

抱歉,如果您出于特定原因使用 Spacy NER,我可能不会最有帮助地回答您的问题。然而,在 Rasa 中使用的 Spacy NER 旨在与内置的 Entities一起使用。在此处查看 ner_spacy上的 Rasa 文档。特别是这条评论:

截至目前,该组件只能使用 spacy 内置的实体提取模型,无法重新训练。

Rasa 中的训练实体是使用ner_mitiener_crf管道组件完成的。

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

并使用HTTP API来训练和解析数据。

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 上创建问题或在 Gitter 上加入我们。我会提到 Windows 使事情变得复杂,你可能会更好地在 Docker 或 unix VM 上尝试 Rasa。

于 2017-09-16T03:09:49.900 回答
0

我认为当我们保存模型时,向量没有被保存。我找不到任何直接的解决方案,所以我正在做的是,我单独存储向量,然后在加载模型后加载它。

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

于 2017-09-19T10:20:31.450 回答