bakrianoo commited on
Commit
eb7765b
1 Parent(s): d46684a

support new transformers pipeline version

Browse files
Files changed (1) hide show
  1. README.md +39 -62
README.md CHANGED
@@ -33,14 +33,13 @@ Person, Location, Organization, Nationality, Job, Product, Event, Time, Art-Work
33
 
34
  Install the following Python packages
35
 
36
- `$ pip3 install simpletransformers==0.61.5 nltk==3.5 protobuf==3.15.3 torch==1.7.1`
37
 
38
  > If you are using `Google Colab`, please restart your runtime after installing the packages.
39
 
40
  -----------
41
 
42
  ```python
43
- from simpletransformers.ner import NERModel, NERArgs
44
  import logging
45
  import re
46
 
@@ -50,89 +49,67 @@ from nltk.tokenize import word_tokenize
50
 
51
  # disable INFO Logs
52
  transformers_logger = logging.getLogger("transformers")
53
- simpletransformers_logger = logging.getLogger("simpletransformers")
54
- simpletransformers_ner_logger = logging.getLogger("simpletransformers.ner")
55
  transformers_logger.setLevel(logging.WARNING)
56
- simpletransformers_logger.setLevel(logging.WARNING)
57
- simpletransformers_ner_logger.setLevel(logging.WARNING)
58
 
59
- # Load the Model
60
  custom_labels = ["O", "B-job", "I-job", "B-nationality", "B-person", "I-person", "B-location",
61
  "B-time", "I-time", "B-event", "I-event", "B-organization", "I-organization",
62
  "I-location", "I-nationality", "B-product", "I-product", "B-artwork", "I-artwork"]
63
 
64
- model_args = NERArgs()
65
- model_args.labels_list=custom_labels
66
 
67
- ner_model = NERModel(
68
- "xlmroberta", "marefa-nlp/marefa-ner",
69
- args=model_args,
70
- use_cuda=True # set to False to use CPU
71
- )
 
72
 
73
  # Model Inference
74
  samples = [
75
  "تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م. تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده",
76
  "بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته",
77
  "امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في غياب الدون كرستيانو رونالدو",
78
- "Government extends flight ban from India, Pakistan until June 21"
79
  ]
80
 
81
  # Preprocess
82
  samples = [ " ".join(word_tokenize(sample.strip())) for sample in samples if sample.strip() != "" ]
83
 
84
- # Predict
85
- predictions, raw_outputs = ner_model.predict(samples)
86
-
87
- # Group the Predicted Entities
88
- entities = []
89
- for pred in predictions:
90
- grouped_entities = []
91
- for rec in pred:
92
-
93
- token = list(rec.keys())[0]
94
- label = rec[token]
95
-
96
- if label == "O":
97
- continue
98
-
99
- if "B-" in label:
100
- grouped_entities.append({"token": token, "label": label.replace("B-","")})
101
- elif "I-" in label and len(grouped_entities) > 0:
102
- grouped_entities[-1]["token"] += f" {token}"
103
-
104
- entities.append(grouped_entities)
105
-
106
- # Print the model outputs
107
- for sample, results in zip(samples, entities):
108
- print(sample)
109
- for res in results:
110
- print("\t", res["token"], "=>", res["label"])
111
- print("==================")
112
 
113
  ###
114
  # تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م . تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده
115
- # الأزهر => organization
116
- # عام 1873م => time
117
- # جمال الدين الأفغاني => person
118
- # محمد عبده => person
119
- # ==================
 
120
  # بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته
121
- # القاهرة، => location
122
- # نجيب الريحاني => person
123
- # فرقة جورج أبيض، => organization
124
- # فرقة سلامة حجازي => organization
125
- # ==================
 
126
  # امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في ��ياب الدون كرستيانو رونالدو
127
- # مانشستر يونايتد => organization
128
- # ريال مدريد => organization
129
- # كرستيانو رونالدو => person
130
- # ==================
131
- # Government extends flight ban from India , Pakistan until June 21
132
- # India => location
133
- # Pakistan => location
134
- # June 21 => time
135
- # ==================
 
136
  ###
137
  ```
138
 
 
33
 
34
  Install the following Python packages
35
 
36
+ `$ pip3 install transformers==4.7.0 nltk==3.5 protobuf==3.15.3 torch==1.7.1`
37
 
38
  > If you are using `Google Colab`, please restart your runtime after installing the packages.
39
 
40
  -----------
41
 
42
  ```python
 
43
  import logging
44
  import re
45
 
 
49
 
50
  # disable INFO Logs
51
  transformers_logger = logging.getLogger("transformers")
 
 
52
  transformers_logger.setLevel(logging.WARNING)
 
 
53
 
 
54
  custom_labels = ["O", "B-job", "I-job", "B-nationality", "B-person", "I-person", "B-location",
55
  "B-time", "I-time", "B-event", "I-event", "B-organization", "I-organization",
56
  "I-location", "I-nationality", "B-product", "I-product", "B-artwork", "I-artwork"]
57
 
58
+ from transformers import AutoTokenizer, AutoModelForTokenClassification
59
+ from transformers import pipeline
60
 
61
+ # ===== import the model
62
+ m_name = "marefa-nlp/marefa-ner"
63
+ tokenizer = AutoTokenizer.from_pretrained(m_name)
64
+ model = AutoModelForTokenClassification.from_pretrained(m_name)
65
+
66
+ ar_ner = pipeline("ner", model=model, tokenizer=tokenizer, grouped_entities=True, aggregation_strategy="simple")
67
 
68
  # Model Inference
69
  samples = [
70
  "تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م. تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده",
71
  "بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته",
72
  "امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في غياب الدون كرستيانو رونالدو",
73
+ "Government extends flight ban from India and Pakistan until June 21"
74
  ]
75
 
76
  # Preprocess
77
  samples = [ " ".join(word_tokenize(sample.strip())) for sample in samples if sample.strip() != "" ]
78
 
79
+ for sample in samples:
80
+ results = ar_ner(sample)
81
+ print(sample)
82
+ for result in results:
83
+ print("\t", result["word"], "=>", result["entity_group"])
84
+
85
+ print("=========\n")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
  ###
88
  # تلقى تعليمه في الكتاب ثم انضم الى الأزهر عام 1873م . تعلم على يد السيد جمال الدين الأفغاني والشيخ محمد عبده
89
+ # الأزهر => organization
90
+ # عام 1873م => time
91
+ # جمال الدين الأفغاني => person
92
+ # محمد عبده => person
93
+ # =========
94
+
95
  # بعد عودته إلى القاهرة، التحق نجيب الريحاني فرقة جورج أبيض، الذي كان قد ضمَّ - قُبيل ذلك - فرقته إلى فرقة سلامة حجازي . و منها ذاع صيته
96
+ # القاهرة => location
97
+ # نجيب الريحاني => person
98
+ # فرقة جورج أبيض => organization
99
+ # فرقة سلامة حجازي => organization
100
+ # =========
101
+
102
  # امبارح اتفرجت على مباراة مانشستر يونايتد مع ريال مدريد في ��ياب الدون كرستيانو رونالدو
103
+ # مانشستر يونايتد => organization
104
+ # ريال مدريد => organization
105
+ # كرستيانو رونالدو => person
106
+ # =========
107
+
108
+ # Government extends flight ban from India and Pakistan until June 21
109
+ # India => location
110
+ # Pakistan => location
111
+ # June 21 => time
112
+ # =========
113
  ###
114
  ```
115