Spaces:
Runtime error
Runtime error
| import panel as pn | |
| import textblob | |
| import pandas as pd | |
| def sentiment_analysis(text): | |
| """ | |
| Performs sentiment analysis on the given text and returns a dataframe with the polarity score and subjectivity score. | |
| Args: | |
| text: The text to be analyzed. | |
| Returns: | |
| A dataframe with the polarity score and subjectivity score. | |
| """ | |
| blob = textblob.TextBlob(text) | |
| polarity = blob.sentiment.polarity | |
| subjectivity = blob.sentiment.subjectivity | |
| df = pd.DataFrame([ | |
| ["Polarity", polarity], | |
| ["Subjectivity", subjectivity]], | |
| columns=['Measure', 'Score']) | |
| return df | |
| # Create the title and description for the app | |
| title = "# TextBlob Polarity and Subjectivity Scores" | |
| description = """ | |
| ### 'Polarity' and 'Subjectivity' pertain to sentiment analysis of a text. The polarity score is a float within the range [-1.0, 1.0], where -1.0 indicates wholly negative sentiment and 1.0 indicates wholly positive sentiment. The subjectivity is a float within the range [0.0, 1.0], where 0.0 is very objective and 1.0 is very subjective. | |
| """ | |
| # Create the Panel input component | |
| text_input = pn.widgets.TextInput(placeholder="Enter some text and press Enter...") | |
| # Bind the function to the text_input widget | |
| sentiment_df = pn.bind(sentiment_analysis, text_input) | |
| # Define the app layout | |
| app = pn.Column( | |
| title, | |
| description, | |
| pn.Row(text_input, sentiment_df) | |
| ) | |
| # Display the app | |
| app.servable() |