Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import pandas as pd | |
| from transformers import pipeline | |
| # 1) κ°μ±λΆμ λͺ¨λΈ λΆλ¬μ€κΈ° | |
| sentiment_analyzer = pipeline( | |
| "sentiment-analysis", | |
| model="monologg/koelectra-base-finetuned-nsmc", | |
| truncation=True | |
| ) | |
| st.title("μ΅λͺ κ²μν κ°μ±λΆμ") | |
| st.write(""" | |
| - CSV λλ Excel νμΌμ μ λ‘λν΄μ£ΌμΈμ. | |
| - 'λ΄μ©' μ΄(λλ μνλ μ΄)μ κ²μκΈ ν μ€νΈκ° μλ€κ³ κ°μ ν©λλ€. | |
| - μ λ‘λ ν 'κ°μ±λΆμ μ€ν' λ²νΌμ λλ₯΄λ©΄, κ° κΈμ λν κΈμ /λΆμ λ μ΄λΈκ³Ό μ μκ° νμλ©λλ€. | |
| """) | |
| # 2) νμΌ μ λ‘λ μμ ― | |
| uploaded_file = st.file_uploader("κ²μκΈ νμΌ μ λ‘λ (CSV λλ XLSX)", type=["csv", "xlsx"]) | |
| if uploaded_file is not None: | |
| # 3) CSV/XLSX νλ³ ν DataFrame λ‘λ | |
| if uploaded_file.name.endswith(".csv"): | |
| df = pd.read_csv(uploaded_file) | |
| else: # xlsx | |
| df = pd.read_excel(uploaded_file) | |
| st.write("미리보기:") | |
| st.dataframe(df.head()) # μ λ‘λν λ°μ΄ν° μΌλΆ νμΈ | |
| # 4) κ°μ±λΆμ μ€ν | |
| if st.button("κ°μ±λΆμ μ€ν"): | |
| results_label = [] | |
| results_score = [] | |
| for text in df["λ΄μ©"]: | |
| # κ°μ±λΆμ | |
| result = sentiment_analyzer(text, truncation=True) | |
| label = result[0]['label'] # positive/negative | |
| score = result[0]['score'] # μ λ’°λ(0~1) | |
| results_label.append(label) | |
| results_score.append(score) | |
| df["sentiment_label"] = results_label | |
| df["sentiment_score"] = results_score | |
| # 5) κ²°κ³Ό νμ | |
| st.write("κ°μ±λΆμ κ²°κ³Ό:") | |
| st.dataframe(df) | |
| st.write("μλ λ²νΌμ λλ¬ κ²°κ³Όλ₯Ό CSVλ‘ λ€μ΄λ‘λν μλ μμ΅λλ€.") | |
| # 6) CSV λ€μ΄λ‘λ λ²νΌ | |
| csv_data = df.to_csv(index=False).encode('utf-8-sig') | |
| st.download_button( | |
| label="κ²°κ³Ό CSV λ€μ΄λ‘λ", | |
| data=csv_data, | |
| file_name="sentiment_analysis_result.csv", | |
| mime="text/csv" | |
| ) | |