File size: 2,739 Bytes
c15480b
8ff3ba1
7abeff1
8c3e6c9
3b2d0a7
8ff3ba1
 
 
8c3e6c9
c616fef
8ff3ba1
c15480b
827a18f
8ff3ba1
827a18f
 
1b3feca
20d5663
 
 
 
 
 
 
 
 
1b3feca
5cd743d
827a18f
6b5852a
 
 
 
827a18f
 
6f6166a
156ce5d
 
d9d5ef6
156ce5d
827a18f
 
d9d5ef6
827a18f
 
 
 
6b2c99b
827a18f
 
d9d5ef6
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import streamlit as st
from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline

# โหลด Tokenizer และ Model
model_name = "Nucha/Nucha_SkillNER_BERT"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForTokenClassification.from_pretrained(model_name)

# สร้าง NER Pipeline
ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer)

# UI ด้วย Streamlit
col1, col2 = st.columns(2)

with col1:
    st.header("Input")
    default_text="""Experience in customer-facing roles (AI/Tech industry preferred) with strong track record of performance e.g., Technical Sales, Pre-Sales Engineer, Technical Consultant, Entrepreneur, etc. 
Bachelor’s or master’s degree in data science, Computer science, Statistics, Business, or related fields.
Highly driven and motivated to understand clients’ needs, provide impactful and appropriate solution recommendations, close sales, and support clients.
Very logical and structured in thinking and communication approach.
Familiarity with Data Science tools e.g.
Experience working with Machine Learning/Deep Learning.
Strong communication, presentation, and pitching skills, both oral and written in English and Thai .
Comfortable giving presentations and working with C-levels and senior management.
Ability to work independently and with teams to manage internal and external stakeholders.
Knowledge in Software Engineering/Architecture is a plus.
                """
    text = st.text_area("Enter text for NER analysis:", value=default_text, height=400, max_chars=None, key=None, help=None, placeholder=None)
    analyze_button = st.button("Analyze")

    st.write("""**Example Inputs:**
- I am proficient in Python, Java, and machine learning.
- The candidate has experience with TensorFlow, data analysis, and cloud computing.""")
    
with col2:
    st.header("Result")

    # ใช้ st.markdown กับ CSS เพื่อปรับขนาดฟอนต์
    st.markdown("<span style='font-size: 14px;'>Press button [Analyze]</span>", unsafe_allow_html=True)

    if analyze_button:
        ner_results = ner_pipeline(text)
        
        
        # Display results in a structured output block
        if ner_results:
            output_data = [{"Entity": entity['word'], "Label": entity['entity'], "Score": f"{entity['score']:.4f}"} for entity in ner_results]
            st.table(output_data)  # Display as a table
        else:
            st.write("No entities found.")

        # ใช้ st.markdown กับ CSS เพื่อปรับขนาดฟอนต์
        st.markdown("<span style='font-size: 14px;'>JSON</span>", unsafe_allow_html=True)

        st.write(ner_results)