thanhcong2001 commited on
Commit
a657a68
·
verified ·
1 Parent(s): 718703a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # load dataset
2
+ import pandas as pd
3
+ df = pd.read_csv('sentiment_data.csv')
4
+ texts = df['text'].astype(str)
5
+ # load NER model
6
+ import spacy
7
+ model = spacy.load('en_core_web_lg')
8
+ # Extract entities
9
+ result = []
10
+ for t in texts:
11
+ doc = model(t)
12
+ entities = [(ent.text, ent.label_) for ent in doc.ents]
13
+ result.append({'Text':t,'Entity':entities})
14
+ result_df = pd.DataFrame(result)
15
+ # Entities visualization
16
+ from spacy import displacy
17
+
18
+ for t in texts:
19
+ doc = model(t)
20
+ displacy.render(doc,style='ent')
21
+ # Count Entities
22
+ from collections import Counter
23
+ all_entities = [ent for ents in result_df['Entity'] for ent in ents]
24
+ labels = [label for text,label in all_entities]
25
+ Counter(labels).most_common()
26
+ # Extract entities from input
27
+ def ext_ent(sentence):
28
+ doc = model(sentence)
29
+ output = ''
30
+ for ent in doc.ents:
31
+ output += f"{ent.text} - {ent.label_}\n"
32
+ return output
33
+ import gradio as gr
34
+
35
+ demo = gr.Interface(fn=ext_ent,inputs='text',outputs='text',title="Extract Entities")
36
+ demo.launch()