File size: 3,215 Bytes
2ddc64d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import datetime
# from .utils import PACKAGE_ROOT
from lrt.utils.functions import template

APP_VERSION = 'v1.4.1'

def render_sidebar():
    icons = f'''
    <center>
    <a href="https://github.com/Mondkuchen/idp_LiteratureResearch_Tool"><img src = "https://cdn-icons-png.flaticon.com/512/733/733609.png" width="23"></img></a>  <a href="mailto:xiang.tao@outlook.de"><img src="https://cdn-icons-png.flaticon.com/512/646/646094.png" alt="email" width = "27" ></a>
    </center>
    '''

    sidebar_markdown = f'''

    <center>
    <img src="https://raw.githubusercontent.com/leoxiang66/streamlit-tutorial/IDP/widgets/static/tum.png" alt="TUM" width="150"/>

    <h1>
    Literature Research Tool 
    </h1>


    <code>
    {APP_VERSION}
    </code>


    </center>


    {icons}

    ---

    ## Choose the Paper Search Platforms'''
    st.sidebar.markdown(sidebar_markdown,unsafe_allow_html=True)
    # elvsier = st.sidebar.checkbox('Elvsier',value=True)
    # IEEE = st.sidebar.checkbox('IEEE',value=False)
    # google = st.sidebar.checkbox('Google Scholar')
    platforms = st.sidebar.multiselect('Platforms',options=
    [
        # 'Elvsier',
        'IEEE',
        # 'Google Scholar',
        'Arxiv',
        'Paper with Code'
    ], default=[
        # 'Elvsier',
        'IEEE',
        # 'Google Scholar',
        'Arxiv',
        'Paper with Code'
    ])



    st.sidebar.markdown('## Choose the max number of papers to search')
    number_papers=st.sidebar.slider('number', 10, 100, 20, 5)

    st.sidebar.markdown('## Choose the start year of publication')
    this_year = datetime.date.today().year
    start_year = st.sidebar.slider('year start:', 2000, this_year, 2010, 1)

    st.sidebar.markdown('## Choose the end year of publication')
    end_year = st.sidebar.slider('year end:', 2000, this_year, this_year, 1)


    with st.sidebar:
        st.markdown('## Adjust hyperparameters')
        with st.expander('Clustering Options'):
            standardization = st.selectbox('1) Standardization before clustering', options=['no', 'yes'], index=0 )
            dr = st.selectbox('2) Dimension reduction', options=['none', 'pca'], index=0)
            tmp = min(number_papers,15)
            max_k = st.slider('3) Max number of clusters', 2,tmp , tmp//2)
            cluster_model = st.selectbox('4) Clustering model', options=['Gaussian Mixture Model', 'K-means'], index=0)

        with st.expander('Keyphrases Generation Options'):
            model_cpt = st.selectbox(label='Model checkpoint', options=template.keywords_extraction.keys(),index=0)


        st.markdown('---')
        st.markdown(icons,unsafe_allow_html=True)
        st.markdown('''<center>Copyright © 2022 by Tao Xiang</center>''',unsafe_allow_html=True)

    # st.sidebar.markdown('## Choose the number of clusters')
    # k = st.sidebar.slider('number',1,10,3)
    
    return platforms, number_papers, start_year, end_year, dict(
        dimension_reduction= dr,
        max_k = max_k,
        model_cpt = model_cpt,
        standardization = True if standardization == 'yes' else False,
        cluster_model = 'gmm' if cluster_model == 'Gaussian Mixture Model' else 'kmeans-euclidean'
    )