问题标签 [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.

0 投票
1 回答
140 浏览

python - Spark NLP Normalizer 中的正则表达式无法正常工作

我正在使用 Spark NLP 管道来预处理我的数据。规范器不仅删除了标点符号,还删除了元音变音。

我的代码:

例子:

输出:

预期输出:

0 投票
0 回答
30 浏览

sentiment-analysis - 方面识别 - Sparknlp 情感分析

博客https://developers.amadeus.com/blog/spark-nlp-sentiment-analysis-hotel-reviews-api 讨论了 Aspect 识别。

“接下来,我们必须将情绪与我们预定义的方面类别相关联。我们使用来自 OpenNER 项目的字典(最初使用 Hontology 构建)提供一个制表符分隔的值文件,将关键字与不同方面相关联,如下所示:” - I想知道 OpenNER 项目中的哪个字典用于理解预定义类别的范围

0 投票
1 回答
29 浏览

scala - 在管道中混合 Smark MLLIB 和 SparkNLP

在 MLLIB 管道中,如何在 Stemmer(来自 Spark NLP)之后链接 CountVectorizer(来自 SparkML)?

当我尝试在管道中同时使用两者时,我得到:

问候,

0 投票
1 回答
49 浏览

named-entity-recognition - 带有自定义标签的 SparkNLP 的 NerCrfApproach

我正在尝试NerCrfApproach使用 CoNLL 格式的数据集训练 SparkNLP 模型,该数据集具有产品实体的自定义标签(如 I-Prod、B-Prod 等)。但是,当使用经过训练的模型进行预测时,我只得到“O”作为所有标记的分配标签。当使用在 SparkNLP 研讨会示例中的 CoNLL 数据上训练的相同模型时,分类效果很好。(参见https://github.com/JohnSnowLabs/spark-nlp-workshop/tree/master/jupyter/training/english/crf-ner

所以,问题是:是否NerCrfApproach依赖于 CoNLL 数据使用的 NER 标签的标准标签集?或者我可以将它用于任何自定义标签,如果可以,我是否需要以某种方式指定这些标签?我的假设是标签是从训练数据中推断出来的。

干杯,马丁

更新:这个问题毕竟可能与标签无关。我尝试用 CoNLL 标准标签替换我的自定义标签,但仍然没有得到预期的分类结果。

0 投票
1 回答
81 浏览

tokenize - sparkNLP 收缩的标记化

我正在使用 sparkNLP 3.2.3 版并尝试标记一些文本。我使用 spacy 和其他分词器来处理诸如“他们是”之类的缩略词,方法是将其拆分为“他们”和“'re”。根据此资源页面 105-107 sparkNLP 也应该以这种方式标记:https ://books.google.com/books?id=5DDtDwAAQBAJ&pg=PA106&lpg=PA106&dq=spark+nlp+tokenizer+contractions&source=bl&ots=5bao0SzjQ7&sig=ACfU3U1pklNa8NNELk_tX48tMKHuFGViA&hl= en&sa=X&ved=2ahUKEwij6abZ29bzAhU0CjQIHaIkAE4Q6AF6BAgUEAM#v=onepage&q=spark%20nlp%20tokenizer%20contractions&f=false

然而,当我通过 sparkNLP 标记化实际运行一些收缩时,它并没有将它们分开。任何想法可能会发生什么?我想出于其他原因使用这个包,所以不想在 spacy 或 NLTK 和这个之间交换。

0 投票
1 回答
107 浏览

apache-spark - 如何在 databricks 上使用带有 spark nlp 的拥抱面变压器使用 NER 模型进行微调

我需要训练(微调)NER 标记分类器来识别我们的自定义标记。我发现的最简单的方法是: Token Classification with W-NUT Emerging Entities

但是现在我遇到了一个问题 - 计划是遵循: HuggingFace in Spark NLP - BERT Sentence.ipynb,但是当我尝试时:

我收到文件写入错误。据我了解,这是因为 transformers/keras 无法在 DBFS 等分布式文件系统上运行

有什么解决方法吗?

我无法将训练从数据块中移开,因为我正在使用数据库中的数据(实体)来创建训练文件

PS。也许我可以只使用 spark nlp 做同样的事情?How-prefarably 使用相同的“仅标签”格式?

0 投票
1 回答
26 浏览

java - SparkNLP PipelineModel,分阶段包含 AnnotatorApproach

在 SparkNLP 中,PipelineModel所有阶段都必须是AnnotatorModel. 但是,如果其中一个注释器模型需要数据集中的某个列作为输入,而该输入列是 的输出,该AnnotatorApproach怎么办?

例如,我有一个训练有素的 NER 模型(作为管道的最后阶段),它需要令牌和 POS 标签作为两个输入。POS 标记器也需要令牌。但是 Tokenizer 是一个AnnotatorApproach,我无法将它添加到管道中。

这就是 Tokenizer 的实例化方式(在 Java 中):

这有效:

但这不起作用,因为 Tokenizer 不是 Transformer:

0 投票
1 回答
99 浏览

python - 将 Spacy NER 实体格式转换为 CONLL 2003 格式

我正在研究 NER 应用程序,其中我有以下数据格式的数据注释。

有没有办法将其转换为 CONLL 2003 格式?

0 投票
0 回答
81 浏览

python - SparkNLP 问题:SparkException:无法执行用户定义的函数(HasSimpleAnnotate

我正在尝试使用 SparkNLP 构建基本管道:

这是 sample_text df 的架构:

我确保没有空值。

当我尝试显示时,出现以下错误:

这是在 Azure 数据块上。我确保按照 github 页面上的 SparkNLP 文档中的描述配置集群。当管道仅包含文档创建者时,不会发生该错误。我打算再添加一个 USE 层(因此命名约定),但错误从句子检测层开始。有任何想法吗?

0 投票
0 回答
27 浏览

google-cloud-platform - SparkNLP 约翰雪实验室 CoNLL 数据集

在创建 CoNLL 数据集时,我在 GCP Dataproc 上遇到错误。


----> 1 training_data = CoNLL().readDataset(spark, './eng.train') 2 3 training_data.show(3) 中的 TypeError Traceback(最近一次调用)

/opt/conda/anaconda/lib/python3.7/site-packages/sparknlp/training.py init (self, documentCol, sentenceCol, tokenCol, posCol, conllLabelIndex, conllPosIndex, textCol, labelCol, explodeSentences, delimiter) 113 labelCol, 114个explodeSentences,--> 115个分隔符)

TypeError:“JavaPackage”对象不可调用

如果有人遇到同样的问题并解决了它,请帮助我。

我正在使用这些版本的Spark NLP 版本 3.3.4 和 Apache Spark 版本:2.4.8