Financial English BERT Embeddings (Base)


Financial Pretrained BERT Embeddings model, uploaded to Hugging Face, adapted and imported into Spark NLP. sec-bert-base is a English model orginally trained by nlpaueb. This is the reference base model, what means it uses the same architecture as BERT-BASE trained on financial documents.

If you are interested in Financial Embeddings, take a look also at these two models:

  • sec-num: Same as this base model but we replace every number token with a [NUM] pseudo-token handling all numeric expressions in a uniform manner, disallowing their fragmentation).
  • sec-shape: Same as this base model but we replace numbers with pseudo-tokens that represent the number’s shape, so numeric expressions (of known shapes) are no longer fragmented, e.g., ‘53.2’ becomes ‘[XX.X]’ and ‘40,200.5’ becomes ‘[XX,XXX.X]’.


How to use

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

tokenizer = Tokenizer() \
    .setInputCols("document") \
embeddings = BertEmbeddings.pretrained("bert_embeddings_sec_bert_base","en") \
    .setInputCols(["document", "token"]) \
pipeline = Pipeline(stages=[documentAssembler, tokenizer, embeddings])

data = spark.createDataFrame([["I love Spark NLP"]]).toDF("text")

result =
val documentAssembler = new DocumentAssembler() 
val tokenizer = new Tokenizer() 

val embeddings = BertEmbeddings.pretrained("bert_embeddings_sec_bert_base","en") 
    .setInputCols(Array("document", "token")) 

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

val data = Seq("I love Spark NLP").toDF("text")

val result =
import nlu
nlu.load("en.embed.sec_bert_base").predict("""I love Spark NLP""")

Model Information

Model Name: bert_embeddings_sec_bert_base
Compatibility: Spark NLP 3.4.2+
License: Open Source
Edition: Official
Input Labels: [sentence, token]
Output Labels: [bert]
Language: en
Size: 409.4 MB
Case sensitive: true