Legal Non Competition Agreement Document Classifier (Bert Sentence Embeddings)

Description

The legclf_non_competition_agreement_bert model is a Bert Sentence Embeddings Document Classifier used to classify if the document belongs to the class non-competition-agreement or not (Binary Classification).

Unlike the Longformer model, this model is lighter in terms of inference time.

Predicted Entities

non-competition-agreement, other

Copy S3 URI

How to use


document_assembler = nlp.DocumentAssembler()\
    .setInputCol("text")\
    .setOutputCol("document")
  
embeddings = nlp.BertSentenceEmbeddings.pretrained("sent_bert_base_cased", "en")\
    .setInputCols("document")\
    .setOutputCol("sentence_embeddings")
    
doc_classifier = legal.ClassifierDLModel.pretrained("legclf_non_competition_agreement_bert", "en", "legal/models")\
    .setInputCols(["sentence_embeddings"])\
    .setOutputCol("category")
    
nlpPipeline = nlp.Pipeline(stages=[
    document_assembler, 
    embeddings,
    doc_classifier])
 
df = spark.createDataFrame([["YOUR TEXT HERE"]]).toDF("text")

model = nlpPipeline.fit(df)

result = model.transform(df)

Results


+-------+
|result|
+-------+
|[non-competition-agreement]|
|[other]|
|[other]|
|[non-competition-agreement]|

Model Information

Model Name: legclf_non_competition_agreement_bert
Compatibility: Legal NLP 1.0.0+
License: Licensed
Edition: Official
Input Labels: [sentence_embeddings]
Output Labels: [class]
Language: en
Size: 22.4 MB

References

Legal documents, scrapped from the Internet, and classified in-house + SEC documents

Benchmarking

                    label  precision    recall  f1-score   support
non-competition-agreement       0.88      0.93      0.90        54
                    other       0.96      0.94      0.95       116
                 accuracy          -         -      0.94       170
                macro-avg       0.92      0.93      0.93       170
             weighted-avg       0.94      0.94      0.94       170