问题标签 [johnsnowlabs-spark-nlp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala、Spark、Spark NLP 的版本兼容性问题
我是“Spark NLP”的新手,我只遇到了版本兼容性问题。这似乎很愚蠢,但我仍然请求您帮助我:
- “Spark NLP”建立在 Apache Spark 2.4.0 之上,这是唯一受支持的版本(在https://nlp.johnsnowlabs.com/docs/en/quickstart上提到)
- Spark 2.4.3 使用 Scala 2.12(在https://spark.apache.org/docs/latest/上提到)
- 但是 maven repo 存储库只有 scala 2.11 的 spark_nlp 库,之后才没有(参见https://repo1.maven.org/maven2/com/johnsnowlabs/nlp/,只有 spark-nlp_2.11 存在,而不是 spark-nlp_2。 12)
请帮忙
nlp - 如果查询包含多个类别,如何识别主要实体(类别)
我想通过从某个过程识别的可能类别中识别关键类别来提取用户的关键意图。
例如圣诞树装饰品
上面的查询中有 2 个类别
1) 圣诞树 2) 装饰品
实际意图在于装饰类别,那么我如何使用 NLP 或任何数学来识别主要意图类别。
另一个例子——咖啡杯树架
类别有:1)咖啡杯 2)树架 3)杯子树
杯子树是用户查询的主要类别。
请建议我如何识别它。
johnsnowlabs-spark-nlp - Spark-NLP 预训练管道是否仅适用于 linux 系统?
我正在尝试设置一个简单的代码,在其中传递一个数据帧并使用 johnSnowLabs Spark-NLP 库提供的预训练解释管道对其进行测试。我正在使用来自 anaconda 的 jupyter 笔记本,并使用 apache toree 进行了 spark scala kernet 设置。每次我运行应该加载预训练管道的步骤时,它都会引发 tensorflow 错误。有没有办法可以在本地 Windows 上运行它?
出现以下错误:
名称:java.lang.UnsupportedOperationException 消息:Spark NLP 尝试使用 Contrib 模块加载 Tensorflow Graph,但未能在此系统上加载它。如果您使用的是 Windows,则不支持此操作。请尝试非贡献模型。如果不是这种情况,请报告此问题。原始错误信息:
操作类型未在“MyMachine”上运行的二进制文件中注册“BlockLSTM”。确保在此进程中运行的二进制文件中注册了 Op 和 Kernel。请注意,如果您正在加载使用来自 tf.contrib 的操作的已保存图,
tf.contrib.resampler
则应在导入图之前完成访问(例如),因为第一次访问模块时会延迟注册 contrib 操作。StackTrace:操作类型未在“MyMachine”上运行的二进制文件中注册“BlockLSTM”。确保在此进程中运行的二进制文件中注册了 Op 和 Kernel。请注意,如果您正在加载使用来自 tf.contrib 的操作的已保存图,tf.contrib.resampler
则应在导入图之前完成访问(例如),因为第一次访问模块时会延迟注册 contrib 操作。
在 com.johnsnowlabs.ml.tensorflow.TensorflowWrapper$.readGraph(TensorflowWrapper.scala:163) 在 com.johnsnowlabs.ml.tensorflow.TensorflowWrapper$.read(TensorflowWrapper.scala:202) 在 com.johnsnowlabs.ml.tensorflow.ReadTensorflowModel $class.readTensorflowModel(TensorflowSerializeModel.scala:73) at com.johnsnowlabs.nlp.annotators.ner.dl.NerDLModel$.readTensorflowModel(NerDLModel.scala:134) at com.johnsnowlabs.nlp.annotators.ner.dl.ReadsNERGraph$ class.readNerGraph(NerDLModel.scala:112) at com.johnsnowlabs.nlp.annotators.ner.dl.NerDLModel$.readNerGraph(NerDLModel.scala:134) at com.johnsnowlabs.nlp.annotators.ner.dl.ReadsNERGraph$$ anonfun$2.apply(NerDLModel.scala:116) at com.johnsnowlabs.nlp.annotators.ner.dl.ReadsNERGraph$$anonfun$2.apply(NerDLModel.scala:116) at com.johnsnowlabs.nlp。ParamsAndFeaturesReadable$$anonfun$com$johnsnowlabs$nlp$ParamsAndFeaturesReadable$$onRead$1.apply(ParamsAndFeaturesReadable.scala:31) at com.johnsnowlabs.nlp.ParamsAndFeaturesReadable$$anonfun$com$johnsnowlabs$nlp$ParamsAndFeaturesReadable$$onRead$1.apply (ParamsAndFeaturesReadable.scala:30) 在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 在 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) 在 com.johnsnowlabs.nlp。 ParamsAndFeaturesReadable$class.com$johnsnowlabs$nlp$ParamsAndFeaturesReadable$$onRead(ParamsAndFeaturesReadable.scala:30) at com.johnsnowlabs.nlp.ParamsAndFeaturesReadable$$anonfun$read$1.apply(ParamsAndFeaturesReadable.scala:41) at com.johnsnowlabs.nlp .ParamsAndFeaturesReadable$$anonfun$read$1.apply(ParamsAndFeaturesReadable.scala:41) 在 com.johnsnowlabs.nlp。FeaturesReader.load(ParamsAndFeaturesReadable.scala:19) at com.johnsnowlabs.nlp.FeaturesReader.load(ParamsAndFeaturesReadable.scala:8) at org.apache.spark.ml.util.DefaultParamsReader$.loadParamsInstance(ReadWrite.scala:652) at org.apache.spark.ml.Pipeline$SharedReadWrite$$anonfun$4.apply(Pipeline.scala:274) at org.apache.spark.ml.Pipeline$SharedReadWrite$$anonfun$4.apply(Pipeline.scala:272) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234) 在 scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234) 在 scala.collection.IndexedSeqOptimized$class。 foreach(IndexedSeqOptimized.scala:33) at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) at scala.collection.TraversableLike$class.map(TraversableLike.scala:234) at scala.collection.mutable .ArrayOps$ofRef.map(ArrayOps.scala:186)
org.apache.spark.ml.Pipeline$SharedReadWrite$.load(Pipeline.scala:272) 在 org.apache.spark.ml.PipelineModel$PipelineModelReader.load(Pipeline.scala:348) 在 org.apache.spark。 ml.PipelineModel$PipelineModelReader.load(Pipeline.scala:342) at com.johnsnowlabs.nlp.pretrained.ResourceDownloader$.downloadPipeline(ResourceDownloader.scala:135) at com.johnsnowlabs.nlp.pretrained.ResourceDownloader$.downloadPipeline(ResourceDownloader. scala:129) 在 com.johnsnowlabs.nlp.pretrained.PretrainedPipelinenter code here
e.(PretrainedPipeline.scala:14)
johnsnowlabs-spark-nlp - 我们应该如何使用 setDictionary 作为 Spark-NLP 中的词形还原注释器?
我有一个要求,我必须在词形还原步骤中添加字典。在尝试在管道中使用它并执行 pipeline.fit() 时,我得到一个 arrayIndexOutOfBounds 异常。实现这一点的正确方法是什么?有什么例子吗?
我将令牌作为输入列进行词形还原,将引理作为输出列。以下是我的代码:
错误信息是:
java - Java 中的 SparkNLP 情感分析
我想使用 SparkNLPcolumn1
使用默认训练模型对列上的 spark 数据集进行情感分析。这是我的代码:
这ds
是Dataset<Row>
包含列的列column1
。我收到以下错误。
我已经浏览了示例,但我找不到任何使用默认模型在 java 中进行情感分析的明确示例/文档。
scala - 要求失败:johnsnowlabs.nlp 中的 inputCols 注释器错误或缺失
我正在使用com.johnsnowlabs.nlp-2.2.2
spark-2.4.4 来处理一些文章。在那些文章中,有一些我不感兴趣的很长的词,它们会大大降低 POS 标记的速度。我想在标记化之后和 POSTagging 之前排除它们。
我试图编写更小的代码来重现我的问题
转换时出现此错误token_filtered
如果我直接拟合并转换它就可以正常工作token
似乎normalizer
在explode
//期间丢失了一些信息,但架构和数据看起来相同groupBy
。collect_list
任何想法 ?
python - 无法下载 spark-nlp 库提供的管道
我无法使用 spark-nlp 库提供的预定义管道“recognize_entities_dl”
我尝试安装不同版本的 pyspark 和 spark-nlp 库
apache-spark - Spark-nlp:无法从 pyspark 中的磁盘加载预训练的识别实体模型
我设置了一个 spark 集群,并希望集成 spark-nlp 来运行命名实体识别。我需要从磁盘访问模型,而不是在运行时从 Internet 下载它。我已经recognize_entities_dl
从模型下载页面下载了模型,并将解压缩的文件放在 spark应该能够访问它的位置。当我运行以下代码时:
我看到了这Can not find the model to download please check the name!
条消息,表明它在代码中找不到后跟堆栈跟踪的文件。我也尝试了PretrainedPipeline
类似结果的课程。
关于它们的价值的一些重要细节:
火花版本:2.4.4
sparknlp 版本:2.3.3
Spark 在 kubernetes pod 内的 docker 容器中运行。我可以执行到这个容器并手动运行命令来重现问题。看起来_internal._GetResourceSize
正在返回 -1,导致加载程序退出。我也收到了一些关于 http 的警告,但我想做的只是访问一个本地文件,所以不确定这与事情有什么关系:
apache-spark - 将 BERT 模型作为 pickle 文件保存在磁盘上
我已经设法让 BERT 模型在 johnsnowlabs-spark-nlp 库上工作。我可以将“训练模型”保存在磁盘上,如下所示。
拟合模型
保存模型
然而,
首先,根据此处的文档https://nlp.johnsnowlabs.com/docs/en/concepts,据说可以将模型加载为
但目前我不清楚变量“reference”代表什么。
其次,有没有人设法将 BERT 嵌入保存为 python 中的 pickle 文件?
scala - 我们如何使用任何 nlp 库在 scala 中提取命名实体
我有一个巨大的文本文件,我必须从这个文件中只提取命名实体。为此,我正在使用 Scala 语言和 Databricks 集群。
谁能告诉我要编码什么来获得命名实体?