Spaces:
Runtime error
Runtime error
# Step 1: Install the required libraries | |
#!pip install streamlit plotly transformers | |
# Step 2: Load the Huggingface model for sentiment analysis | |
import transformers | |
import torch | |
model_name = "nlptown/bert-base-multilingual-uncased-sentiment" | |
tokenizer = transformers.AutoTokenizer.from_pretrained(model_name) | |
model = transformers.AutoModelForSequenceClassification.from_pretrained(model_name) | |
# Step 3: Create a function to analyze the sentiment of text using the Huggingface model | |
def analyze_sentiment(text): | |
inputs = tokenizer(text, return_tensors="pt") | |
outputs = model(**inputs) | |
scores = torch.nn.functional.softmax(outputs.logits, dim=1).detach().numpy()[0] | |
sentiment = scores.argmax() | |
return sentiment | |
# Step 4: Define a Python list dictionary of the top five largest hospitals in the state of Minnesota | |
hospital_data = [ | |
{ | |
"name": "Mayo Clinic", | |
"beds": 1500, | |
"latitude": 44.023501, | |
"longitude": -92.465032, | |
"url": "https://www.mayoclinic.org/appointments" | |
}, | |
{ | |
"name": "University of Minnesota Medical Center", | |
"beds": 1077, | |
"latitude": 44.969478, | |
"longitude": -93.236351, | |
"url": "https://www.mhealth.org/ummc" | |
}, | |
{ | |
"name": "Abbott Northwestern Hospital", | |
"beds": 1034, | |
"latitude": 44.952221, | |
"longitude": -93.266389, | |
"url": "https://www.allinahealth.org/locations/abbott-northwestern-hospital" | |
}, | |
{ | |
"name": "St. Cloud Hospital", | |
"beds": 489, | |
"latitude": 45.554935, | |
"longitude": -94.171829, | |
"url": "https://www.centracare.com/locations/st-cloud-hospital/" | |
}, | |
{ | |
"name": "Essentia Health-St. Mary's Medical Center", | |
"beds": 391, | |
"latitude": 46.783839, | |
"longitude": -92.103965, | |
"url": "https://www.essentiahealth.org/find-facility/profile/st-marys-medical-center-duluth/" | |
} | |
] | |
# Step 5: Save the Python list dictionary as a CSV file | |
import csv | |
with open("hospital_data.csv", mode="w", newline="") as file: | |
writer = csv.DictWriter(file, fieldnames=["name", "beds", "latitude", "longitude", "url"]) | |
writer.writeheader() | |
for hospital in hospital_data: | |
writer.writerow(hospital) | |
# Step 6: Create a Streamlit app that uses Plotly graph objects like treemap to visualize the sentiment analysis results and the hospital data | |
import streamlit as st | |
import plotly.express as px | |
st.title("Sentiment Analysis and Hospital Data Visualization") | |
# Sentiment analysis section | |
st.header("Sentiment Analysis") | |
text = st.text_input("Enter some text:") | |
if text: | |
sentiment = analyze_sentiment(text) | |
st.write("Sentiment:", sentiment) | |
# Hospital data section | |
st.header("Hospital Data") | |
df = px.data.tips() | |
fig = px.treemap(hospital_data, path=["name"], values="beds", color="beds") | |
st.plotly_chart(fig) | |