English BertForTokenClassification Cased model (from ramybaly)

Description

Pretrained BertForTokenClassification model, adapted from Hugging Face and curated to provide scalability and production-readiness using Spark NLP. ner_nerd_fine is a English model originally trained by ramybaly.

Predicted Entities

MISC_educationaldegree, ORG_other, BUILDING_restaurant, MISC_law, LOC_mountain, ART_other, MISC_medical, LOC_other, PER_athlete, PRODUCT_food, MISC_god, BUILDING_theater, LOC_GPE, ORG_media/newspaper, PRODUCT_other, ORG_government/governmentagency, PRODUCT_airplane, PRODUCT_software, BUILDING_other, ART_film, LOC_park, LOC_road/railway/highway/transit, PER_soldier, PRODUCT_weapon, EVENT_other, ORG_sportsleague, PRODUCT_train, PER_other, PER_politician, EVENT_election, ORG_company, PER_director, BUILDING_sportsfacility, ART_painting, BUILDING_airport, ART_music, LOC_island, ORG_politicalparty, MISC_award, PRODUCT_ship, BUILDING_hospital, ORG_sportsteam, MISC_livingthing, MISC_astronomything, BUILDING_hotel, MISC_language, EVENT_attack/battle/war/militaryconflict, LOC_bodiesofwater, EVENT_sportsevent, ORG_religion, PRODUCT_car, BUILDING_library, ORG_education, MISC_disease, MISC_currency, PER_scholar, EVENT_disaster, PRODUCT_game, PER_artist/author, ART_writtenart, EVENT_protest, MISC_chemicalthing, PER_actor, MISC_biologything, ART_broadcastprogram, ORG_showorganization

Download Copy S3 URI

How to use

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

sentenceDetector = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx")\
       .setInputCols(["document"])\
       .setOutputCol("sentence")

tokenizer = Tokenizer() \
    .setInputCols("sentence") \
    .setOutputCol("token")

tokenClassifier = BertForTokenClassification.pretrained("bert_ner_ner_nerd_fine","en") \
    .setInputCols(["sentence", "token"]) \
    .setOutputCol("ner")

pipeline = Pipeline(stages=[documentAssembler, sentenceDetector, tokenizer, tokenClassifier])

data = spark.createDataFrame([["PUT YOUR STRING HERE"]]).toDF("text")

result = pipeline.fit(data).transform(data)
val documentAssembler = new DocumentAssembler() 
          .setInputCol("text") 
          .setOutputCol("document")

val sentenceDetector = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx")
       .setInputCols(Array("document"))
       .setOutputCol("sentence")

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

val tokenClassifier = BertForTokenClassification.pretrained("bert_ner_ner_nerd_fine","en") 
    .setInputCols(Array("sentence", "token")) 
    .setOutputCol("ner")

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

val data = Seq("PUT YOUR STRING HERE").toDF("text")

val result = pipeline.fit(data).transform(data)
import nlu
nlu.load("en.ner.bert.nerd_fine.by_ramybaly").predict("""PUT YOUR STRING HERE""")

Model Information

Model Name: bert_ner_ner_nerd_fine
Compatibility: Spark NLP 5.2.0+
License: Open Source
Edition: Official
Input Labels: [document, token]
Output Labels: [ner]
Language: en
Size: 407.4 MB
Case sensitive: true
Max sentence length: 128

References

References

  • https://huggingface.co/ramybaly/ner_nerd_fine