Bullying_Care / app.py
lcjln's picture
Update app.py
2c71a11 verified
import streamlit as st
import pandas as pd
import faiss
import pickle
from sentence_transformers import SentenceTransformer
from streamlit.components.v1 import html
import numpy as np
# ์ œ๋ชฉ ํ‘œ์‹œ
st.title('์ง์žฅ ๋‚ด ๊ดด๋กญํž˜ ์ž๋™ ํŒ๋…๊ธฐ')
st.write("<br><br>", unsafe_allow_html=True) # 2์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("์ด์šฉ๋ฐฉ๋ฒ•")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("1. ์‚ฌ์šฉ์ž์˜ ์ง์žฅ ๋‚ด ๊ดด๋กญํž˜ ์˜์‹ฌ ์‚ฌ๋ก€ ๋˜๋Š” ๊ฒฝํ—˜์„ ์ž…๋ ฅ ์นธ์— ๋ฌธ์žฅ์œผ๋กœ ์ ์–ด์ฃผ์„ธ์š”")
st.write("2. ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜๊ณ  ๋ถ„์„ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”")
st.write("3. ๋ถ„์„์ด ๋๋‚˜๋ฉด ํ‘œ ํ˜•์‹์œผ๋กœ ๊ดด๋กญํž˜ ์—ฌ๋ถ€, ๋ฒ”์ฃผ, ์œ ์‚ฌ ์‚ฌ๋ก€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
# ๋ฐ์ดํ„ฐ ๋กœ๋“œ
df_cases = pd.read_excel('แ„Œแ…ตแ†จแ„Œแ…กแ†ผแ„€แ…ฌแ„…แ…ฉแ†ธแ„’แ…ตแ†ท_071424.xlsx')
df_law_firms = pd.read_excel('แ„‚แ…ฉแ„†แ…ฎแ„‡แ…ฅแ†ธแ„‹แ…ตแ†ซแ„Œแ…ฅแ†ผแ„‡แ…ฉ.xlsx')
# SentenceTransformer ๋ชจ๋ธ ๋กœ๋“œ
model = SentenceTransformer('bongsoo/kpf-sbert-v1') # 768์ฐจ์›
# ์ €์žฅ๋œ ์ž„๋ฒ ๋”ฉ์„ pickle ํŒŒ์ผ์—์„œ ๋กœ๋“œ
with open('embeddingsNorm_แ„Œแ…ตแ†จแ„Œแ…กแ†ผแ„€แ…ฌแ„…แ…ฉแ†ธแ„’แ…ตแ†ท071424_kpfsbert.pkl', 'rb') as f:
embeddings = pickle.load(f)
# ์ž„๋ฒ ๋”ฉ์„ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ์„ ์œ„ํ•ด ์ •๊ทœํ™”
embeddings_norm = embeddings / np.linalg.norm(embeddings, axis=1, keepdims=True)
# FAISS ์ธ๋ฑ์Šค ์ƒ์„ฑ (๋‚ด์  ๊ฒ€์ƒ‰์šฉ)
d = embeddings_norm.shape[1]
index = faiss.IndexFlatIP(d)
index.add(embeddings_norm)
# ์ง์žฅ ๊ดด๋กญํž˜ ์‚ฌ๋ก€ ๊ฒ€์ƒ‰
st.header('์ง์žฅ ๊ดด๋กญํž˜ ์‚ฌ๋ก€ ๊ฒ€์ƒ‰')
query_sentence = st.text_area('๊ฒ€์ƒ‰ํ•  ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜์„ธ์š”', '''์˜ˆ์‹œ: ํšŒ์‚ฌ ๊ณผ์žฅ๋‹˜์ด ํšŒ์˜์—์„œ "์กฐ์šฉํžˆ ์žˆ์–ด"๋ผ๋ฉฐ ์•ผ๋‹จ์น˜๊ณ , ๋™๋ฃŒ๋“ค๋„ ํšŒ์‹ ๋“ฑ ์‚ฌ๋‚ด ๋ชจ์ž„์—์„œ ์ €๋ฅผ ๋”ฐ๋Œ๋ฆฝ๋‹ˆ๋‹ค.''')
if st.button('๋ถ„์„'):
# ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์˜ ์ž„๋ฒ ๋”ฉ
query_embedding = model.encode([query_sentence])
# ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์˜ ์ž„๋ฒ ๋”ฉ์„ ์ •๊ทœํ™”
query_embedding_norm = query_embedding / np.linalg.norm(query_embedding, axis=1, keepdims=True)
# ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ (์ƒ์œ„ 5๊ฐœ ๋ฌธ์žฅ)
k = 5
distances, indices = index.search(query_embedding_norm, k)
# ๋‚ด์  ๊ฐ’์„ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋กœ ๋ณ€ํ™˜
cosine_similarities = distances[0]
# ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ƒ์„ฑ
df_result = df_cases.iloc[indices[0]].copy()
df_result['์œ ์‚ฌ๋„'] = cosine_similarities
# ์œ ์‚ฌ๋„ ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
df_result = df_result.sort_values(by='์œ ์‚ฌ๋„', ascending=False)
# ๊ฒฐ๊ณผ ํ‘œ์‹œ
st.write('์œ ์‚ฌํ•œ ์‚ฌ๋ก€ ๋ถ„์„ ๊ฒฐ๊ณผ:')
st.write(df_result)
# ์ƒ๋‹ด ํ”„๋กœ๊ทธ๋žจ ์†Œ๊ฐœ
st.write("<br><br><br><br>", unsafe_allow_html=True) # 4์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("# ์ง์žฅ ๋‚ด ๊ดด๋กญํž˜ ์ƒ๋‹ด ํ”„๋กœ๊ทธ๋žจ")
st.write("<br><br><br>", unsafe_allow_html=True) # 3์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("## 1. ๊ทผ๋กœ๋ณต์ง€๋„ท EAP ์„œ๋น„์Šค")
st.write("<br><br>", unsafe_allow_html=True) # 2์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘  EAP(Employee Assistance program, ๊ทผ๋กœ์ž์ง€์›ํ”„๋กœ๊ทธ๋žจ)")
st.write("- ๊ทผ๋กœ๋ณต์ง€๊ณต๋‹จ์—์„œ ์ œ๊ณตํ•˜๋Š” EAP ์ƒ๋‹ด์‹œ์Šคํ…œ์€ ๊ทผ๋กœ์ž์˜ ์ง๋ฌด ๋งŒ์กฑ๋„์™€ ์ƒ์‚ฐ์„ฑ์— ๋ถ€์ •์  ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ณต์ง€์ œ๋„์ž…๋‹ˆ๋‹ค")
st.write("- ๊ทผ๋กœ๋ณต์ง€๊ณต๋‹จ์€ ์ค‘์†Œ๊ธฐ์—…์˜ EAP ๋„์ž…์„ ์ด‰์ง„ํ•˜๊ณ  ๊ทผ๋กœ์ž์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋•๊ธฐ ์œ„ํ•ด ๊ทผ๋กœ๋ณต์ง€๋„ท์„ ํ†ตํ•ด EAP ์„œ๋น„์Šค๋ฅผ ๋ฌด์ƒ์œผ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ก ์ง€์›๋Œ€์ƒ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("- ์ƒ์‹œ๊ทผ๋กœ์ž์ˆ˜ 300์ธ ๋ฏธ๋งŒ ์ค‘์†Œ๊ธฐ์—…๊ณผ ์†Œ์† ๊ทผ๋กœ์ž๋กœ์„œ, ๊ทผ๋กœ๋ณต์ง€๋„ท ํšŒ์›๊ฐ€์ž… ํ›„ ์ƒ๋‹ด์„ ์‹ ์ฒญํ•œ ์ž")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ข ์ง€์›๋‚ด์šฉ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("- ์˜จ๋ผ์ธ: ๊ฒŒ์‹œํŒ EAP ์ƒ๋‹ด, ํฌ๋ง๋“œ๋ฆผ ํ†ก(๋ชจ๋ฐ”์ผ EAP ์ƒ๋‹ด), ์ „ํ™” EAP ์ƒ๋‹ด")
st.write("- ์˜คํ”„๋ผ์ธ: ๊ทผ๋กœ์ž ์ƒ๋‹ด(1:1 ๋Œ€๋ฉด), ๊ธฐ์—…์ƒ๋‹ด(์ง‘๋‹จ ํ”„๋กœ๊ทธ๋žจ, ํŠน๊ฐ•/๊ต์œก)")
st.write("- ์„œ๋น„์Šค ๋ถ„์•ผ: ์ง์žฅ๋‚ด ๊ดด๋กญํž˜, ์ง๋ฌด์ŠคํŠธ๋ ˆ์Šค, ์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ, ์ •์„œ๋ฌธ์ œ, ๋Œ€์ธ๊ด€๊ณ„ ๋“ฑ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ฃ ๊ทผ๋กœ๋ณต์ง€๋„ท EAP ์„œ๋น„์Šค ์ด์šฉ์ ˆ์ฐจ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("๊ฐ€. ํšŒ์›๊ฐ€์ž…(ํ•„์ˆ˜): ๊ทผ๋กœ๋ณต์ง€๋„ท์—์„œ ๊ธฐ์—… ๋˜๋Š” ๊ฐœ์ธ ํšŒ์› ๊ฐ€์ž…")
st.write("๋‚˜. ์ƒ๋‹ด ์‹ ์ฒญ: ๊ทผ๋กœ์ž์ง€์›ํ”„๋กœ๊ทธ๋žจ(EAP) โ†’ ์˜จ๋ผ์ธ ์ƒ๋‹ด/์˜คํ”„๋ผ์ธ ์ƒ๋‹ด ์„ ํƒ โ†’ ์ƒ๋‹ด ์œ ํ˜• ์„ ํƒ โ†’ ์ƒ๋‹ด ๋ถ„์•ผ ์„ ํƒ โ†’ ์ƒ๋‹ด์‚ฌ ์„ ํƒ โ†’ ๊ณ ์šฉ๋ณดํ—˜์กฐํšŒ โ†’ ์ƒ๋‹ด์‚ฌ ์žฌ ํด๋ฆญ, ์‹ ์ฒญ")
st.write("*์ƒ๋‹ด ์‹ ์ฒญํ™•์ธ: ๋กœ๊ทธ์ธ ํ›„ โ€˜์ด์šฉ ํ˜„ํ™ฉโ€™์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ")
st.write("๋‹ค. ์ƒ๋‹ด ์ผ์ • ๋ฐ ์žฅ์†Œ ํ˜‘์˜: ์ƒ๋‹ด์‚ฌ๊ฐ€ ์‹ ์ฒญ์ž์—๊ฒŒ ์ง์ ‘ ์ „ํ™” ์—ฐ๋ฝํ•˜์—ฌ ์ƒ๋‹ด ์ผ์ • ๋ฐ ์žฅ์†Œ ํ˜‘์˜")
st.write("๋ผ. ์ƒ๋‹ด ์ง„ํ–‰: ๊ฒŒ์‹œํŒ์ƒ๋‹ด 24์‹œ๊ฐ„ ๋‚ด ๋‹ต๋ณ€, ํ†ก/์ „ํ™”/ํ™”์ƒ/๊ทผ๋กœ์ž ์ƒ๋‹ด 1ํšŒ๋‹น 50๋ถ„ ์ง„ํ–‰")
st.write("๋งˆ. ๋งŒ์กฑ๋„ ํ‰๊ฐ€: ์ƒ๋‹ด ํ›„ ๋งŒ์กฑ๋„ ํ‰๊ฐ€(๋งค ํšŒ๊ธฐ ์‹œ์Šคํ…œ์—์„œ ์ž๋™ ๋ฌธ์ž ๋ฐœ์†ก ๋˜๋Š” ์ „ํ™” ์„ค๋ฌธ)")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ค ์ด์šฉ ํšŸ์ˆ˜")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("๊ฐœ์ธํšŒ์›: ์˜จ/์˜คํ”„๋ผ์ธ ๋ชจ๋“  ์œ ํ˜• ์ƒ๋‹ด์„ ํ•ฉํ•˜์—ฌ 1์ธ๋‹น ์—ฐ ์ตœ๋Œ€ 7ํšŒ ์ด์šฉ ๊ฐ€๋Šฅ")
st.write("*๋‹จ, ๊ฒŒ์‹œํŒ ์ƒ๋‹ด์€ ํšŸ์ˆ˜ ์ œํ•œ ์—†์Œ")
st.write("๊ธฐ์—…ํšŒ์›: ๊ธฐ์—…์œผ๋กœ ์ง„ํ–‰ ์‹œ, EAP ์ด์šฉ ์—ฐ์ฐจ 3๋…„์ฐจ๊นŒ์ง€ ๋ฌด์ƒ ์ง€์›")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ฅ ์˜คํ”„๋ผ์ธ ์ƒ๋‹ด")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("๊ทผ๋กœ์ž ์ƒ๋‹ด ์‹ ์ฒญ: ๋‚ด๋ฐฉ, ์ฐพ์•„๊ฐ€๋Š” ์„œ๋น„์Šค")
st.write("*๊ฐœ์ธ๋‹น ๋งค๋…„ 7ํšŒ๊นŒ์ง€, ์‹œ๊ฐ„ ๋ฐ ์ƒ๋‹ด ์žฅ์†Œ๋Š” ์ƒ๋‹ด์‚ฌ์™€ ํ˜‘์˜ํ•˜์—ฌ ์ง„ํ–‰")
st.write("๊ธฐ์—… ์ƒ๋‹ด ์‹ ์ฒญ: ์ƒ์‹œ ๊ทผ๋กœ์ž์ˆ˜ 300์ธ ๋ฏธ๋งŒ ์ค‘์†Œ๊ธฐ์—…์ด ํšŒ์›๊ฐ€์ž…(๊ธฐ์—…ํšŒ์›) ํ›„ ์‹ ์ฒญ")
st.write("๊ธฐ์—… ์ง‘๋‹จ EAP ํ”„๋กœ๊ทธ๋žจ: 1ํšŒ๋‹น ์ตœ์†Œ 5๋ช…\~์ตœ๋Œ€ 20๋ช…, ์ด 3ํšŒ๊นŒ์ง€ ์ด์šฉ๊ฐ€๋Šฅ(๊ธฐ์—… ๋‹น ๋งค๋…„ 3ํšŒ ํ•œ๋„ ์‹ค์‹œ)")
st.write("*์ƒ๋‹ด์‚ฌ๊ฐ€ ์‚ฌ๋‚ด์— ๋ฐฉ๋ฌธํ•˜์—ฌ ์†Œ์† ๊ทผ๋กœ์ž๋“ค์ด ๋™์‹œ์— ๋ชจ์ธ ์ƒํƒœ์—์„œ ํŠน๊ฐ•/๊ต์œก ๋“ฑ ์ง‘๋‹จ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
url = "https://welfare.comwel.or.kr/default/eap/board.do?mCode=D020010000"
st.markdown(f'<a href="{url}" target="_blank"><button style="padding:10px 20px; font-size:16px;">EAP ์˜จ๋ผ์ธ ์„œ๋น„์Šค ๋งํฌ</button></a>', unsafe_allow_html=True)
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
url2 = "https://welfare.comwel.or.kr/default/eap/emp.do?mCode=D030010010&kindCd=EAP03&regionCd=16"
st.markdown(f'<a href="{url2}" target="_blank"><button style="padding:10px 20px; font-size:16px;">EAP ์˜คํ”„๋ผ์ธ ์„œ๋น„์Šค ๋งํฌ</button></a>', unsafe_allow_html=True)
st.write("<br><br><br>", unsafe_allow_html=True) # 3์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("## 2. ๊ณ ์šฉ๋…ธ๋™๋ถ€ ๊ณ ๊ฐ์ƒ๋‹ด์„ผํ„ฐ")
st.write("<br><br>", unsafe_allow_html=True) # 2์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘  ๊ณ ์šฉ๋…ธ๋™๋ถ€ ์ƒ๋‹ด์„ผํ„ฐ")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("- ๊ทผ๋กœ์ž์™€ ์˜์„ธ์‚ฌ์—…์ž์˜ ๊ณ ์šฉ/๋…ธ๋™๋ถ„์•ผ ๊ถ๊ธˆ์ฆ๊ณผ ๊ณ ๋ฏผ์— ๋Œ€ํ•ด ์ „ํ™”์™€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ƒ๋‹ดํ•˜๋Š” ๊ธฐ๊ด€์ž…๋‹ˆ๋‹ค")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ก 1350 ์ „ํ™” ์ƒ๋‹ด")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("์ด์šฉ์‹œ๊ฐ„: ํ‰์ผ 9์‹œ\~18์‹œ")
st.write("- ์ด์šฉ์ ˆ์ฐจ: ๊ณ ๊ฐ์ƒ๋‹ด์„ผํ„ฐ ์ „ํ™”์—ฐ๊ฒฐ(๊ตญ๋ฒˆ์—†์ด 1350, ์œ ๋ฃŒ) โ†’ ์ƒ๋‹ด ๋ถ„๋ฅ˜ ์„ ํƒ(์ƒ๋‹ด ๋ถ„์•ผ ARS ์„ ํƒ) โ†’ ์ƒ๋‹ด์› ์—ฐ๊ฒฐ(์ „ํ™” ์ƒ๋‹ด)")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ข 1350 ๋ชจ๋ฐ”์ผ ์ƒ๋‹ด")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("- ์ด์šฉ์‹œ๊ฐ„: ํ‰์ผ 9์‹œ\~16์‹œ(์ ์‹ฌ์‹œ๊ฐ„ 12์‹œ\~13์‹œ ์ œ์™ธ)")
st.write("์ƒ๋‹ด ๋‚ด์šฉ์€ ๊ณต๊ฐœ๋˜๋ฉฐ, ๋ฌธ์˜ ๋‚ด์šฉ์€ 8 ๊ทผ๋ฌด์‹œ๊ฐ„ ์ด๋‚ด์— ๋‹ต๋ณ€ํ•˜๋Š” ๋น ๋ฅธ ์ƒ๋‹ด ์ง€์›")
st.write("*๋น„๊ณต๊ฐœ ์ƒ๋‹ด ํ•„์š” ์‹œ ๋น ๋ฅธ ์ธํ„ฐ๋„ท ์ƒ๋‹ด ์ด์šฉ ๊ถŒ์žฅ")
st.write("*๊ณตํœด์ผ์— ๋ฌธ์˜ํ•œ ๋‚ด์šฉ์€ ํ‰์ผ ๊ทผ๋ฌด์‹œ๊ฐ„์— ๋‹ต๋ณ€ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ")
st.write("- ์„œ๋น„์Šค ๊ตฌ์„ฑ: FAQ(๋ถ„์•ผ๋ณ„ ์ž์ฃผ ๋ฌธ์˜ํ•˜๋Š” ๋‚ด์šฉ ์กฐํšŒ), ์ƒ๋‹ด์‹ ์ฒญ(๊ณ ์šฉ๋…ธ๋™๋ถ€ ๊ณ ๊ฐ์ƒ๋‹ด์„ผํ„ฐ์˜ ์ „๋ฌธ์ƒ๋‹ด์‚ฌ์—๊ฒŒ ์ƒ๋‹ด ์‹ ์ฒญ, ๋ฌธ์˜ ๋‚ด์šฉ์€ 100์ž ์ด๋‚ด๋กœ ์ œํ•œ), MY์ƒ๋‹ด(์‹ ์ฒญํ•œ ์ƒ๋‹ด์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์กฐํšŒ), Best์ƒ๋‹ด(์กฐํšŒ์ˆ˜๊ฐ€ ๋งŽ์€ ์ƒ๋‹ด๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ)")
st.write("์ด์šฉ์ ˆ์ฐจ: ๋ชจ๋ฐ”์ผ์ƒ๋‹ด ์ฑ„๋„์—ฐ๊ฒฐ(1350.moel.go.kr) โ†’ ๋ชจ๋ฐ”์ผ ์ƒ๋‹ด์‹ ์ฒญ โ†’ ์‹ค์‹œ๊ฐ„ ์ƒ๋‹ด์‹ ์ฒญ(์ƒ๋‹ด์งˆ๋ฌธ ๋‚ด์šฉ 100์ž ์ด๋‚ด ์ž…๋ ฅ) โ†’ ๋‹ต๋ณ€ํ™•์ธ(MY์ƒ๋‹ด์—์„œ ๋‹ต๋ณ€ํ™•์ธ)")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
url4 = "https://1350.moel.go.kr/"
st.markdown(f'<a href="{url4}" target="_blank"><button style="padding:10px 20px; font-size:16px;">1350 ๋ชจ๋ฐ”์ผ ์ƒ๋‹ด ๋งํฌ</button></a>', unsafe_allow_html=True)
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("#### โ‘ฃ ๋น ๋ฅธ์ธํ„ฐ๋„ท ์ƒ๋‹ด")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("- ์ด์šฉ์‹œ๊ฐ„: ํ‰์ผ 9์‹œ~18์‹œ")
st.write("*์ฃผ๋ง ๋ฐ ๊ณตํœด์ผ์€ ๊ทผ๋ฌดํ•˜์ง€ ์•Š์Œ")
st.write("- ๋น ๋ฅธ ์ธํ„ฐ๋„ท ์ƒ๋‹ด์€ ๊ณ ์šฉ๋…ธ๋™๋ถ€ ํ™ˆํŽ˜์ด์ง€์—์„œ ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค")
st.write("- ์„œ๋น„์Šค ๋ฉ”๋‰ด: ์งˆ๋ฌธ/๋‹ต๋ณ€ ๊ฒ€์ƒ‰, ์ƒ๋‹ด๋“ฑ๋ก, ๋ฏผ์›ํ™•์ธ>๋‚˜์˜๋ฏผ์›")
st.write("*๋‹จ์ˆœ์งˆ์˜ 7์ผ, ๋ฒ•๋ น์งˆ์˜ 14์ผ ์ด๋‚ด ๋‹ต๋ณ€")
st.write("*์งˆ์˜ ๋‚ด์šฉ ๋น„๊ณต๊ฐœ")
st.write("์ด์šฉ์ ˆ์ฐจ: ๋น ๋ฅธ์ธํ„ฐ๋„ท์ƒ๋‹ด ์ฑ„๋„์—ฐ๊ฒฐ(๋ฏผ์›์‹ ์ฒญ>๋น ๋ฅธ์ธํ„ฐ๋„ท์ƒ๋‹ด) โ†’ ๋ณธ์ธํ™•์ธ โ†’ ์ธํ„ฐ๋„ท ์ƒ๋‹ด์‹ ์ฒญ(์ƒ๋‹ด๋“ฑ๋ก ํด๋ฆญ ํ›„ 100์ž ์ด๋‚ด ๋“ฑ๋ก) โ†’ ๋‹ต๋ณ€ํ™•์ธ(๋ฏผ์›ํ™•์ธ>๋‚˜์˜๋ฏผ์›)")
st.write("<br><br>", unsafe_allow_html=True) # 2์ค„ ๋„์–ด์“ฐ๊ธฐ
url3 = "https://1350.moel.go.kr/home/hp/main/hpmain.do "
st.markdown(f'<a href="{url3}" target="_blank"><button style="padding:10px 20px; font-size:16px;">๊ณ ์šฉ๋…ธ๋™๋ถ€ ๊ณ ๊ฐ์ƒ๋‹ด์„ผํ„ฐ ๋งํฌ</button></a>', unsafe_allow_html=True)
st.write("<br><br><br><br>", unsafe_allow_html=True) # 4์ค„ ๋„์–ด์“ฐ๊ธฐ
# HTML ํŒŒ์ผ ํ‘œ์‹œ
st.header('๋…ธ๋ฌด๋ฒ•์ธ ์œ„์น˜ ์•Œ๋ฆผ์ด')
st.write("<br><br>", unsafe_allow_html=True) # 2์ค„ ๋„์–ด์“ฐ๊ธฐ
st.markdown("์ด์šฉ๋ฐฉ๋ฒ•")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
st.write("1. ๊ทผ๋กœ๋ณต์ง€๊ณต๋‹จ ๋Œ€ํ–‰ ์†Œ๊ทœ๋ชจ ์‚ฌ์—…์žฅ์˜ ๋ณดํ—˜์‚ฌ๋ฌด ์—…๋ฌด๋ฅผ ๋ด์ฃผ๋Š” ์ „๊ตญ ๋‹จ์œ„ ๋…ธ๋ฌด๋ฒ•์ธ ์œ„์น˜ ์ง€๋„์ž…๋‹ˆ๋‹ค")
st.write("2. ์ง€๋„๋Š” ํ™•๋Œ€, ์ถ•์†Œ, ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋…ธ๋ฌด๋ฒ•์ธ๋“ค์„ ์ฐพ๊ณ  ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ๋…ธ๋ฌด๋ฒ•์ธ๋ช…์ด ํŒ์—…์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค")
st.write("3. ๋…ธ๋ฌด๋ฒ•์ธ๋ช…์„ ํ™•์ธํ•˜๊ณ  ์ง€๋„ ๋ฐ‘ ์ž…๋ ฅ ์นธ์— ํ•ด๋‹น ๋…ธ๋ฌด๋ฒ•์ธ๋ช…์„ ์ž…๋ ฅํ•˜์—ฌ ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”")
st.write("4. ํ•ด๋‹น ๋…ธ๋ฌด๋ฒ•์ธ์˜ ์ฃผ์†Œ ๋ฐ ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ ์ถ”๊ฐ€์ •๋ณด๊ฐ€ ํ‘œ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค")
st.write("<br>", unsafe_allow_html=True) # 1์ค„ ๋„์–ด์“ฐ๊ธฐ
# HTML ํŒŒ์ผ ์ฝ๊ธฐ
with open('แ„‚แ…ฉแ„†แ…ฎแ„‡แ…ฅแ†ธแ„‹แ…ตแ†ซแ„†แ…ขแ„‘แ…ตแ†ผ.html', 'r', encoding='utf-8') as f:
html_content2 = f.read()
st.components.v1.html(html_content2, height=600)
# ๋…ธ๋ฌด๋ฒ•์ธ ์ด๋ฆ„ ์ž…๋ ฅ
st.header('๋…ธ๋ฌด๋ฒ•์ธ ์ •๋ณด ๊ฒ€์ƒ‰')
law_firm_name = st.text_area('์ง€๋„์—์„œ ํ™•์ธํ•œ ๋…ธ๋ฌด๋ฒ•์ธ๋ช…์„ ๋„์–ด์“ฐ๊ธฐ ํฌํ•จํ•˜์—ฌ ์ ์–ด์ฃผ์„ธ์š”', '''์˜ˆ : ์„ธ๋ฌด๋ฒ•์ธ ํƒ์Šค์›”๋“œ''')
if st.button('๊ฒ€์ƒ‰'):
selected_data = df_law_firms[df_law_firms['๊ธฐ๊ด€๋ช…'] == law_firm_name]
if not selected_data.empty:
st.write('์„ ํƒํ•œ ๋…ธ๋ฌด๋ฒ•์ธ ์ •๋ณด:')
st.write(selected_data)
else:
st.write('์ž…๋ ฅํ•œ ๋…ธ๋ฌด๋ฒ•์ธ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.')