|
"""All app-specific user defined configurations are defined here""" |
|
|
|
import os |
|
from dataclasses import dataclass |
|
from sumy.summarizers.text_rank import TextRankSummarizer |
|
from sumy.summarizers.lex_rank import LexRankSummarizer |
|
from sumy.summarizers.lsa import LsaSummarizer |
|
import plotly.express as px |
|
|
|
|
|
|
|
|
|
@dataclass |
|
class __PlotConfig: |
|
"""All plotting configurations are defined here""" |
|
|
|
|
|
|
|
|
|
|
|
theme = "plotly_dark" |
|
cat_color_map = px.colors.qualitative.T10 |
|
cat_color_map_r = px.colors.qualitative.T10_r |
|
cont_color_map = px.colors.sequential.amp |
|
cont_color_map_r = px.colors.sequential.amp_r |
|
|
|
|
|
|
|
|
|
@dataclass |
|
class __AppConfig: |
|
"""app-wide configurations""" |
|
|
|
|
|
cwd = os.getcwd() |
|
banner_image_file = f"{cwd}/" |
|
logo_image_file = f"{cwd}/assets/logo.png" |
|
app_icon_file = f"{cwd}/assets/NLP.png" |
|
app_title = "Applications" |
|
readme_file_path = f"{cwd}/artifacts/about.md" |
|
app_short_desc = "For common NLP use cases" |
|
emotions_data_file = f"{cwd}/data/emotions.csv" |
|
emoji_map = { |
|
"joy": "๐", |
|
"anger": "๐ก", |
|
"disgust": "๐คฎ", |
|
"fear": "๐จ", |
|
"neutral": "๐", |
|
"sadness": "๐", |
|
"shame": "๐ซฃ", |
|
"surprise": "๐ฒ", |
|
} |
|
model_file = f"{cwd}/artifacts/lr_model.joblib" |
|
sidebar_state = "expanded" |
|
layout = "centered" |
|
icon_question = "โ" |
|
icon_important = "๐ฏ" |
|
icon_info = "โน๏ธ" |
|
icon_stop = "โ" |
|
icon_about = "๐" |
|
spacy_lang_model = "en_core_web_sm" |
|
|
|
summarizers = dict( |
|
TextRankSummarizer={ |
|
"module": "sumy.summarizers.text_rank", |
|
"desc": ( |
|
"**`TextRank`** is a graph based ranking algorithm. Read this article" |
|
+ " https://blogs.cornell.edu/info2040/2018/10/22/40068/" |
|
+ " to get a good intuition behind it" |
|
), |
|
}, |
|
LexRankSummarizer={ |
|
"module": "sumy.summarizers.lex_rank", |
|
"desc": ( |
|
"**`LexRank`** is another graph based ranking algorithm. Read this" |
|
+ " https://github.com/crabcamp/lexrank" |
|
+ " to get a good intuition behind it" |
|
), |
|
}, |
|
LsaSummarizer={ |
|
"module": "sumy.summarizers.lsa", |
|
"desc": ( |
|
"**`LSA`** or Latent Semantic Analysis uses word frequency and Singular" |
|
+ " Value Decomposition (SVD). Read this" |
|
+ " https://www.analyticsvidhya.com/blog/2021/09/latent-semantic-analysis-and-its-uses-in-natural-language-processing/ article" |
|
+ " to get a good intuition behind it" |
|
), |
|
}, |
|
) |
|
|
|
|
|
|
|
app_config = __AppConfig() |
|
plot_config = __PlotConfig |
|
|