GloVe 2024 Wikipedia + Gigaword 5 (200d, uncased)

Description

This model provides 200-dimensional pre-trained word embeddings trained on the 2024 Wikipedia and Gigaword 5 corpora (11.9B tokens, 1.2M vocabulary).

Download Copy S3 URI

How to use

from sparknlp.base import *
from sparknlp.annotator import *
from pyspark.ml import Pipeline

documentAssembler = DocumentAssembler() \
    .setInputCol("text") \
    .setOutputCol("document")

tokenizer = Tokenizer() \
    .setInputCols(["document"]) \
    .setOutputCol("token")

embeddings_loaded = WordEmbeddingsModel.pretrained("./glove2024_wikigiga_200d")\
    .setInputCols(["document", "token"])\
    .setOutputCol("embeddings")

embeddingsFinisher = EmbeddingsFinisher() \
    .setInputCols(["embeddings"]) \
    .setOutputCols("finished_embeddings") \
    .setOutputAsVector(True) \
    .setCleanAnnotations(False)

pipeline = Pipeline() \
    .setStages([
      documentAssembler,
      tokenizer,
      embeddings_loaded,
      embeddingsFinisher
    ])

data = spark.createDataFrame([["This is a test sentence for an embedding model"]]).toDF("text")
result = pipeline.fit(data).transform(data)

result.select("finished_embeddings").show(truncate=False)
import com.johnsnowlabs.nlp._
import com.johnsnowlabs.nlp.annotators._
import org.apache.spark.ml.Pipeline

val documentAssembler = new DocumentAssembler()
  .setInputCol("text")
  .setOutputCol("document")

val tokenizer = new Tokenizer()
  .setInputCols("document")
  .setOutputCol("token")

val embeddings_loaded = WordEmbeddingsModel
  .pretrained("./glove2024_wikigiga_200d")
  .setInputCols("document", "token")
  .setOutputCol("embeddings")

val embeddingsFinisher = new EmbeddingsFinisher()
  .setInputCols("embeddings")
  .setOutputCols("finished_embeddings")
  .setOutputAsVector(true)
  .setCleanAnnotations(false)

val pipeline = new Pipeline().setStages(Array(
  documentAssembler,
  tokenizer,
  embeddings_loaded,
  embeddingsFinisher
))

val data = Seq("This is a test sentence for an embedding model").toDF("text")
val result = pipeline.fit(data).transform(data)

result.select("finished_embeddings").show(false)

Results


+-------------------------------+
| embeddings                    |
+-------------------------------+
|[[-0.08433199673891068, -0.2...|
+-------------------------------+

Model Information

Model Name: glove2024_wikigiga_200d
Type: embeddings
Compatibility: Spark NLP 6.0.0+
License: Open Source
Edition: Official
Input Labels: [document, token]
Output Labels: [embeddings]
Language: en
Size: 974.1 MB
Case sensitive: false
Dimension: 200