问题标签 [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.
python - Spark NLP Normalizer 中的正则表达式无法正常工作
我正在使用 Spark NLP 管道来预处理我的数据。规范器不仅删除了标点符号,还删除了元音变音。
我的代码:
例子:
输出:
预期输出:
sentiment-analysis - 方面识别 - Sparknlp 情感分析
博客https://developers.amadeus.com/blog/spark-nlp-sentiment-analysis-hotel-reviews-api 讨论了 Aspect 识别。
“接下来,我们必须将情绪与我们预定义的方面类别相关联。我们使用来自 OpenNER 项目的字典(最初使用 Hontology 构建)提供一个制表符分隔的值文件,将关键字与不同方面相关联,如下所示:” - I想知道 OpenNER 项目中的哪个字典用于理解预定义类别的范围
scala - 在管道中混合 Smark MLLIB 和 SparkNLP
在 MLLIB 管道中,如何在 Stemmer(来自 Spark NLP)之后链接 CountVectorizer(来自 SparkML)?
当我尝试在管道中同时使用两者时,我得到:
问候,
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 标准标签替换我的自定义标签,但仍然没有得到预期的分类结果。
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 和这个之间交换。
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 使用相同的“仅标签”格式?
java - SparkNLP PipelineModel,分阶段包含 AnnotatorApproach
在 SparkNLP 中,PipelineModel
所有阶段都必须是AnnotatorModel
. 但是,如果其中一个注释器模型需要数据集中的某个列作为输入,而该输入列是 的输出,该AnnotatorApproach
怎么办?
例如,我有一个训练有素的 NER 模型(作为管道的最后阶段),它需要令牌和 POS 标签作为两个输入。POS 标记器也需要令牌。但是 Tokenizer 是一个AnnotatorApproach
,我无法将它添加到管道中。
这就是 Tokenizer 的实例化方式(在 Java 中):
这有效:
但这不起作用,因为 Tokenizer 不是 Transformer:
python - 将 Spacy NER 实体格式转换为 CONLL 2003 格式
我正在研究 NER 应用程序,其中我有以下数据格式的数据注释。
有没有办法将其转换为 CONLL 2003 格式?
python - SparkNLP 问题:SparkException:无法执行用户定义的函数(HasSimpleAnnotate
我正在尝试使用 SparkNLP 构建基本管道:
这是 sample_text df 的架构:
我确保没有空值。
当我尝试显示时,出现以下错误:
这是在 Azure 数据块上。我确保按照 github 页面上的 SparkNLP 文档中的描述配置集群。当管道仅包含文档创建者时,不会发生该错误。我打算再添加一个 USE 层(因此命名约定),但错误从句子检测层开始。有任何想法吗?
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