File size: 5,704 Bytes
1e0e995
 
 
 
 
 
21a47da
1e0e995
f3a3954
1e0e995
 
8e52607
1e0e995
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d6024bf
 
 
 
a17b4cf
 
 
d6024bf
 
a17b4cf
d6024bf
 
 
 
 
 
 
9d65825
 
 
 
 
 
d4ecc3c
9d65825
 
 
 
7d1ddb4
9d65825
7d1ddb4
9d65825
 
 
 
d6024bf
96e4ee6
9d65825
 
96e4ee6
8e52607
d6024bf
9d65825
 
 
 
 
 
 
 
d6024bf
9d65825
 
d6024bf
1e0e995
51bfac9
f3a3954
51bfac9
1e4d924
5ac96cb
 
1e0e995
 
 
 
 
 
662d7ea
1e0e995
 
 
 
 
 
 
 
 
5f789da
 
1e0e995
 
 
 
 
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import appStore.target as target_extraction
import appStore.netzero as netzero
import appStore.sector as sector
import appStore.adapmit as adapmit
import appStore.ghg as ghg
import appStore.policyaction as policyaction
import appStore.conditional as conditional
import appStore.indicator as indicator
import appStore.reader as reader
import appStore.doc_processing as processing
from utils.uploadAndExample import add_upload
from PIL import Image
import streamlit as st

st.set_page_config(page_title = 'Climate Policy Intelligence', 
                   initial_sidebar_state='expanded', layout="wide") 

with st.sidebar:
    # upload and example doc
    choice = st.sidebar.radio(label = 'Select the Document',
                            help = 'You can upload the document \
                            or else you can try a example document', 
                            options = ('Upload Document', 'Try Example'), 
                            horizontal = True)
    add_upload(choice) 

with st.container():
        st.markdown("<h2 style='text-align: center; color: black;'> Climate Policy Understanding App </h2>", unsafe_allow_html=True)
        st.write(' ')

with st.expander("ℹ️ - About this app", expanded=False):
    st.write(
        """
        Climate Policy Understanding App is an open-source\
        digital tool which aims to assist policy analysts and \
        other users in extracting and filtering relevant \
        information from public documents.
        """)
    st.write('**Definitions**')

    st.caption("""
            - **Target**: Targets are an intention to achieve a specific result, \
            for example, to reduce GHG emissions to a specific level \
            (a GHG target) or increase energy efficiency or renewable \
            energy to a specific level (a non-GHG target), typically by \ 
            a certain date.
            - **Economy-wide Target**: Certain Target are applicable \
                not at specific Sector level but are applicable at economic \
                wide scale.
            - **Netzero**: Identifies if its Netzero Target or not.
                - 'NET-ZERO': target_labels = ['T_Netzero','T_Netzero_C']
                - 'Non Netzero Target': target_labels_neg = ['T_Economy_C',
                  'T_Economy_Unc','T_Adaptation_C','T_Adaptation_Unc','T_Transport_C',
                  'T_Transport_O_C','T_Transport_O_Unc','T_Transport_Unc']
                - 'Others': Other Targets beside covered above
            - **GHG Target**: GHG targets refer to contributions framed as targeted \
                              outcomes in GHG terms.
                - 'GHG': target_labels_ghg_yes = ['T_Transport_Unc','T_Transport_C']
                - 'NON GHG TRANSPORT TARGET': target_labels_ghg_no = ['T_Adaptation_Unc',\
                   'T_Adaptation_C', 'T_Transport_O_Unc', 'T_Transport_O_C']
                - 'OTHERS': Other Targets beside covered above.
            - **Conditionality**: An “unconditional contribution” is what countries \
             could implement without any conditions and based on their own \
             resources and capabilities. A “conditional contribution” is one \
             that countries would undertake if international means of support \
             are provided, or other conditions are met.
            - **Action**: Actions are an intention to implement specific means of \
             achieving GHG reductions, usually in forms of concrete projects.
            - **Policies and Plans**: Policies are domestic planning documents \
              such as policies, regulations or guidlines, and Plans  are broader \
             than specific policies or actions, such as a general intention \ 
             to ‘improve efficiency’, ‘develop renewable energy’, etc. \
            The terms come from the World Bank's NDC platform and WRI's publication.
              """)
    image = Image.open('docStore/img/flow.jpg')    
    st.write("""
        What Happens in background?
        
        st.image(image)

        - Step 1: Once the document is provided to app, it undergoes *Pre-processing*.\
        In this step the document is broken into smaller paragraphs \
        (based on word/sentence count).
        - Step 2: The paragraphs are fed to **Target Classifier** which detects if
        the paragraph contains any *Target* related information or not.
        - Step 3: The paragraphs which are detected containing some target \
        related information are then fed to multiple classifier to enrich the 
        Information Extraction.

        The Step 2 and 3 are repated then similarly for Action and  Policies & Plans.
        """)
                  
    st.write("")
apps = [processing.app, target_extraction.app, netzero.app, ghg.app,
        policyaction.app, conditional.app, sector.app, adapmit.app,indicator.app, reader.app]
 #conditional.app, sector.app]
        #adapmit.app]
         
        #  policyaction.app, indicator.app, ]
multiplier_val =1/len(apps)
if st.button("Analyze Document"):
    prg = st.progress(0.0)
    for i,func in enumerate(apps):
        func()
        prg.progress((i+1)*multiplier_val)
    prg.empty()

    
if 'key1' in st.session_state:
    with st.sidebar:
        topic = st.radio(
                        "Which category you want to explore?",
                        ('Target', 'Action', 'Policies/Plans'))
    
    if topic == 'Target':
        # st.dataframe(st.session_state['key1'])
        target_extraction.target_display()
    elif topic == 'Action':
        policyaction.action_display()
    else: 
        policyaction.policy_display()
    # st.write(st.session_state.key1)