Nucha commited on
Commit
8c3e6c9
·
verified ·
1 Parent(s): c616fef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -22
app.py CHANGED
@@ -1,34 +1,19 @@
1
  import streamlit as st
2
  from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
3
- from sparknlp_display import Display
4
- from pyspark.sql import SparkSession
5
 
6
- # สร้าง Spark Session
7
- spark = SparkSession.builder \
8
- .appName("NER Analysis") \
9
- .getOrCreate()
10
-
11
- # โหลดโมเดล NER จาก Hugging Face
12
- model_name = "Nucha/Nucha_SkillNER_BERT"
13
  tokenizer = AutoTokenizer.from_pretrained(model_name)
14
  model = AutoModelForTokenClassification.from_pretrained(model_name)
15
 
16
- # สร้าง pipeline สำหรับ NER
17
  ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer)
18
 
19
  # UI ด้วย Streamlit
20
- st.title("NER Analysis with Nucha SkillNER BERT and Spark NLP Display")
21
-
22
  text = st.text_area("Enter text for NER analysis:")
23
 
24
  if st.button("Analyze"):
25
- # สร้าง pipeline สำหรับ NER
26
- ner_results = pipeline("ner", model=model, tokenizer=tokenizer)
27
-
28
- # สร้าง DataFrame สำหรับผลลัพธ์
29
- data = [{"word": entity['word'], "start": entity['start'], "end": entity['end'], "label": entity['entity']} for entity in ner_results]
30
- ner_df = spark.createDataFrame(data)
31
-
32
- # แสดงผลด้วย sparknlp_display
33
- display = Display()
34
- st.write(display.display(ner_df, "word", "label"))
 
1
  import streamlit as st
2
  from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
 
 
3
 
4
+ # โหลด Tokenizer และ Model
5
+ model_name = "dbmdz/bert-large-cased-finetuned-conll03-english"
 
 
 
 
 
6
  tokenizer = AutoTokenizer.from_pretrained(model_name)
7
  model = AutoModelForTokenClassification.from_pretrained(model_name)
8
 
9
+ # สร้าง NER Pipeline
10
  ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer)
11
 
12
  # UI ด้วย Streamlit
13
+ st.title("NER Analysis App")
 
14
  text = st.text_area("Enter text for NER analysis:")
15
 
16
  if st.button("Analyze"):
17
+ ner_results = ner_pipeline(text)
18
+ for entity in ner_results:
19
+ st.write(f"Entity: {entity['word']}, Label: {entity['entity']}, Score: {entity['score']:.4f}")