невозможно загрузить конвейер, предоставляемый spark-nlp liberary - PullRequest
1 голос
/ 23 октября 2019

Я не могу использовать предопределенный конвейер "распознавать_объекты_dl", предоставляемый библиотекой spark-nlp

Я попытался установить разные версии библиотек pyspark и spark-nlp

import sparknlp
from sparknlp.pretrained import PretrainedPipeline

#create or get Spark Session

spark = sparknlp.start()

sparknlp.version()
spark.version

#download, load, and annotate a text by pre-trained pipeline

pipeline = PretrainedPipeline('recognize_entities_dl', lang='en')
result = pipeline.annotate('Harry Potter is a great movie')

2.1.0
recognize_entities_dl download started this may take some time.
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-13-b71a0f77e93a> in <module>
     11 #download, load, and annotate a text by pre-trained pipeline
     12 
---> 13 pipeline = PretrainedPipeline('recognize_entities_dl', 'en')
     14 result = pipeline.annotate('Harry Potter is a great movie')

d:\python36\lib\site-packages\sparknlp\pretrained.py in __init__(self, name, lang, remote_loc)
     89 
     90     def __init__(self, name, lang='en', remote_loc=None):
---> 91         self.model = ResourceDownloader().downloadPipeline(name, lang, remote_loc)
     92         self.light_model = LightPipeline(self.model)
     93 

d:\python36\lib\site-packages\sparknlp\pretrained.py in downloadPipeline(name, language, remote_loc)
     50     def downloadPipeline(name, language, remote_loc=None):
     51         print(name + " download started this may take some time.")
---> 52         file_size = _internal._GetResourceSize(name, language, remote_loc).apply()
     53         if file_size == "-1":
     54             print("Can not find the model to download please check the name!")

AttributeError: module 'sparknlp.internal' has no attribute '_GetResourceSize'

1 Ответ

0 голосов
/ 11 ноября 2019

Спасибо за подтверждение вашей версии Apache Spark. Предварительно обученные конвейеры и модели основаны на версиях Apache Spark и Spark NLP. Самая низкая версия Apache Spark должна быть 2.4.x, чтобы иметь возможность загружать предварительно обученные модели / конвейеры. В противном случае вам нужно обучить свои собственные модели / конвейеры для любой версии ранее.

Это список всех конвейеров, и все они для Apache Spark 2.4.x: https://nlp.johnsnowlabs.com/docs/en/pipelines

Если вывзгляните на URL любых моделей или конвейеров, на которых вы видите эту информацию:

recognize_entities_dl_en_2.1.0_2.4_1562946909722.zip

  • Имя : recognize_entities_dl
  • Lang : en
  • Spark NLP : должно быть равно 2.1.0 или больше
  • Apache Spark : равно 2.4.x или больше

ПРИМЕЧАНИЕ. Библиотека Spark NLP создается и компилируется для Apache Spark 2.4.x. Вот почему модели и конвейеры доступны только для версии 2.4.x.

ПРИМЕЧАНИЕ 2. Поскольку вы используете Windows, вам необходимо использовать _noncontrib модели и конвейеры, совместимые с Windows: Работают ли предварительно подготовленные конвейеры Spark-NLP только в системах linux?

Надеюсь, этот ответ поможет и решит вашу проблему.

...