Extract Financial, Legal and Generic Entities in Arabic

Description

AraBert v2 model, trained in house, using the dataset available here and augmenting with financial and legal information.

The entities you can find in this model are:

PERS (person) EVENT CARDINAL NORP (group of people) DATE ORDINAL OCC (occupation) TIME PERCENT ORG (organization) LANGUAGE QUANTITY GPE (geopolitical entity) WEBSITE UNIT LOC (geographical location) LAW MONEY FAC (facility: landmarks places) PRODUCT CURR (currency)

Predicted Entities

NORP, PERS, LOC, MONEY, TIME, ORG, WEBSITE, ORDINAL, PERCENT, EVENT, QUANTITY, OCC, LANGUAGE, CARDINAL, DATE, GPE, PRODUCT, CURR, FAC, UNIT, LAW

Copy S3 URI

How to use

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

tokenizer = nlp.Tokenizer()\
  .setInputCols("document")\
  .setOutputCol("token")
  
tokenClassifier = finance.BertForTokenClassification.pretrained("finner_arabert_arabic", "ar", "finance/models")\
  .setInputCols("token", "document")\
  .setOutputCol("label")
  
pipeline = nlp.Pipeline(stages=[documentAssembler, tokenizer, tokenClassifier])

import pandas as pd

example = spark.createDataFrame(pd.DataFrame({'text': ["""أمثلة:
جامعة بيرزيت وبالتعاون مع مؤسسة ادوارد سعيد تنظم مهرجان للفن الشعبي سيبدأ الساعة الرابعة عصرا، بتاريخ 16/5/2016.
بورصة فلسطين تسجل ارتفاعا بنسبة 0.08% ، في جلسة بلغت قيمة تداولاتها أكثر من نصف مليون دولار .
إنتخاب رئيس هيئة سوق رأس المال وتعديل مادة (4) في القانون الأساسي.
مسيرة قرب باب العامود والذي 700 متر عن المسجد الأقصى."""]}))

result = pipeline.fit(example).transform(example)

Results

["أمثلة:","O"]
["جامعة","B-ORG"]
["بيرزيت","I-ORG"]
["وبالتعاون","O"]
["مع","O"]
["مؤسسة","B-ORG"]
["ادوارد","B-PERS"]
["سعيد","I-PERS"]
["تنظم","O"]
["مهرجان","B-EVENT"]
["للفن","I-EVENT"]
["الشعبي","I-EVENT"]
["سيبدأ","O"]
["الساعة","B-TIME"]
["الرابعة","I-TIME"]
["عصرا،","I-TIME"]
["بتاريخ","B-DATE"]
["16/5/2016.","I-DATE"]
["بورصة","B-ORG"]
["فلسطين","I-ORG"]
["تسجل","O"]
["ارتفاعا","O"]
["بنسبة","O"]
["0.08%","B-PERCENT"]
["،","O"]
["في","O"]
["جلسة","O"]
["بلغت","O"]
["قيمة","O"]
["تداولاتها","O"]
["أكثر","O"]
["من","O"]
["نصف","B-MONEY"]
["مليون","I-MONEY"]
["دولار","B-CURR"]
[".","O"]
["إنتخاب","O"]
["رئيس","B-OCC"]
["هيئة","B-ORG"]
["سوق","I-ORG"]
["رأس","I-ORG"]
["المال","I-ORG"]
["وتعديل","O"]
["مادة","B-LAW"]
["(4)","I-LAW"]
["في","O"]
["القانون","B-LAW"]
["الأساسي.","O"]
["مسيرة","O"]
["قرب","O"]
["باب","B-FAC"]
["العامود","I-FAC"]
["والذي","O"]
["700","B-QUANTITY"]
["متر","B-UNIT"]
["عن","O"]
["المسجد","B-FAC"]
["الأقصى.","I-FAC"]

Model Information

Model Name: finner_arabert_arabic
Type: finance
Compatibility: Finance NLP 1.0.0+
License: Licensed
Edition: Official
Input Labels: [sentence, token]
Output Labels: [ner]
Language: ar
Size: 505.7 MB
Case sensitive: true
Max sentence length: 512

References

https://ontology.birzeit.edu/Wojood/

Benchmarking

       label  precision    recall  f1-score   support
  B-CARDINAL       0.93      0.87      0.80        19
      B-DATE       0.88      0.93      0.90       106
     B-EVENT       1.00      0.86      0.92        14
       B-FAC       1.00      0.67      0.80         3
       B-GPE       0.88      0.85      0.87        89
       B-LAW       1.00      0.50      0.67         6
      B-NORP       0.72      0.81      0.76        32
       B-OCC       0.88      0.83      0.85        52
   B-ORDINAL       0.76      0.80      0.78        35
       B-ORG       0.81      0.87      0.84       103
      B-PERS       0.78      0.89      0.83        47
   B-WEBSITE       0.62      1.00      0.77         5
  I-CARDINAL       0.33      0.62      0.43         8
      I-DATE       0.98      0.99      0.98       447
     I-EVENT       0.91      0.91      0.91        23
       I-FAC       0.75      0.43      0.55         7
       I-GPE       0.80      0.92      0.86        53
       I-LAW       1.00      0.85      0.92        13
      I-NORP       0.65      0.48      0.55        23
       I-OCC       0.97      0.86      0.91        96
       I-ORG       0.87      0.91      0.89       139
      I-PERS       0.94      1.00      0.97        60
   I-WEBSITE       0.94      1.00      0.97        15
           O       0.98      0.97      0.98      3062
    accuracy         -         -       0.95      4468
   macro-avg       0.83      0.81      0.81      4468
weighted-avg       0.95      0.95      0.95      4468