Spaces:
Runtime error
Runtime error
File size: 3,217 Bytes
6dba858 88055ae f521496 6dba858 f521496 88055ae cb68822 867f7a1 89c822b 867f7a1 88055ae 2ecd65e 88055ae 1cd7ed4 6dba858 cb68822 f92543a d294c45 f4ca8de d2ac7fa f92543a d2ac7fa 6b072bf d2ac7fa 6b072bf d2ac7fa 4e58636 6b072bf 9bc5e9e b8a2f8c 08fe221 bd41a76 9600adb c668192 9600adb c668192 9600adb 9bc5e9e 4854d0b d7857b3 68de716 88055ae |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import streamlit.components.v1 as components
from streamlit_player import st_player
from transformers import pipeline
from tabulate import tabulate
import streamlit as st
st.header("stream your emotions")
st.write("insert details ng huggignaspce")
def tester(text):
classifier = pipeline("sentiment-analysis", model='bhadresh-savani/distilbert-base-uncased-emotion')
results = classifier(text)
#st.subheader(results[0]['label'])
#tester(emo)
generator = st.button("Generate Song!")
if (generator == True):
st.subheader(results[0]['label'])
if (results[0]['label']=="joy"): #songs for joy emotion
with open('joyplaylist.txt') as f:
contents = f.read()
components.html(contents,width=560,height=325)
elif (results[0]['label']=="fear"):
with open('fearplaylist.txt') as f:
contents = f.read()
components.html(contents,width=560,height=325)
elif (results[0]['label']=="anger"): #songs for anger emotion
with open('angryplaylist.txt') as f:
contents = f.read()
components.html(contents,width=560,height=325)
elif (results[0]['label']=="sadness"): #songs for sadness emotion
with open('sadplaylist.txt') as f:
contents = f.read()
components.html(contents,width=560,height=325)
elif (results[0]['label']=="surprise"):
st.write("gulat ka noh")
elif (results[0]['label']=="love"):
with open('loveplaylist.txt') as f:
contents = f.read()
components.html(contents,width=560,height=325)
emo = st.text_input("Enter a text/phrase/sentence. A corresponding song will be recommended based on its emotion.")
st.sidebar.subheader("Model Description")
st.sidebar.write("This application uses the DistilBERT model, a distilled version of BERT. The BERT framework uses a bidirectional transformer that allows it to learn the context of a word based on the left and right of the word. According to a paper by V. Sanh, et al., DistilBERT can \"reduce the size of a BERT model by 40%, while retaining 97% of its language understanding capabilities, and being 60% faster.\" This is why the DistilBERT model was used. For more information about the paper, please check out this [link](https://share.streamlit.io/mesmith027/streamlit_webapps/main/MC_pi/streamlit_app.py).")
st.sidebar.write("The specific DistilBERT model used for this is Bhadresh Savani's [distilbert-base-uncased-emotion] (https://huggingface.co/bhadresh-savani/distilbert-base-uncased-emotion). It is fine-tuned on the Emotion Dataset from Twitter, which can be found [here](https://huggingface.co/datasets/viewer/?dataset=emotion).")
st.sidebar.subheader("Disclaimer/Limitations")
st.sidebar.write("The model only outputs sadness, joy, love, anger, fear, and surprise. With that said, it does not completely encompass the emotions that a human being feels, and the application only suggests a playlist based on the aforementioned emotions.")
st.sidebar.subheader("Performance Benchmarks")
df = pd.DataFrame(
np.random.randn(10, 5),
columns=('col %d' % i for i in range(5)))
st.sidebar.table(df)
tester(emo)
|