"""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