"""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 ### define all plotting configuration here, ### should not be accessed and changed directly hence leading "__" @dataclass class __PlotConfig: """All plotting configurations are defined here""" # Available themes (templates): # ['ggplot2', 'seaborn', 'simple_white', 'plotly', # 'plotly_white', 'plotly_dark', 'presentation', # 'xgridoff', 'ygridoff', 'gridon', 'none'] 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 ### define all app-wide configuration here, ### should not be accessed and changed directly hence leading "__" @dataclass class __AppConfig: """app-wide configurations""" # get current working directory 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" # collapsed layout = "centered" # wide icon_question = "❓" icon_important = "đŸŽ¯" icon_info = "ℹī¸" icon_stop = "⛔" icon_about = "👋" spacy_lang_model = "en_core_web_sm" # sumy summarizers 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" ), }, ) ### make configs available to any module that imports this module app_config = __AppConfig() plot_config = __PlotConfig