Commit
Browse files- .streamlit/config.toml +6 -0
- Images/Group.svg +1 -0
- Images/Robot.svg +1 -0
- Images/Sort.svg +1 -0
- Pages/3_π_About.py +0 -28
- Pages/About.py +48 -0
- Pages/{2_π€_Models.py β Models.py} +0 -0
- Pages/{1_π_Topic Model Results.py β Topic Model Results.py} +0 -0
- app.py +23 -12
.streamlit/config.toml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[theme]
|
2 |
+
base='light'
|
3 |
+
primaryColor="#607985"
|
4 |
+
backgroundColor="#c7c6c6"
|
5 |
+
secondaryBackgroundColor="#949fa2"
|
6 |
+
textColor="#333333"
|
Images/Group.svg
ADDED
Images/Robot.svg
ADDED
Images/Sort.svg
ADDED
Pages/3_π_About.py
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
|
3 |
-
|
4 |
-
# Display the about page of the app with information about the creator, code, and data
|
5 |
-
def about_page():
|
6 |
-
st.header("About")
|
7 |
-
st.write(
|
8 |
-
"This app was created by [Harshit Singh](https://harsh502s.github.io), Poorvi Singh and Samruddhi Raskar as a part of their MSc Data Science 3rd semester project."
|
9 |
-
)
|
10 |
-
st.write("The code for this app can be found [here]( ).")
|
11 |
-
st.write(
|
12 |
-
"The data on which these models are trained can be found [here](https://www.kaggle.com/datasets/harsh502s/stackexchange-tag-dataset)."
|
13 |
-
)
|
14 |
-
st.subheader("Models used in this app are:")
|
15 |
-
st.write(
|
16 |
-
"1. [BERTopic](https://maartengr.github.io/BERTopic/api/bertopic.html#:~:text=BERTopic%20is%20a%20topic%20modeling,words%20in%20the%20topic%20descriptions.)"
|
17 |
-
)
|
18 |
-
st.write(
|
19 |
-
"2. [KeyBERT](https://maartengr.github.io/KeyBERT/#:~:text=KeyBERT%20is%20a%20minimal%20and,most%20similar%20to%20a%20document.)"
|
20 |
-
)
|
21 |
-
st.write(
|
22 |
-
"3. [CNN](https://www.tensorflow.org/tutorials/text/text_classification_rnn)"
|
23 |
-
)
|
24 |
-
pass
|
25 |
-
|
26 |
-
|
27 |
-
if __name__ == "__main__":
|
28 |
-
about_page()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pages/About.py
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
|
3 |
+
|
4 |
+
# Display the about page of the app with information about the creator, code, and data
|
5 |
+
def about_page():
|
6 |
+
st.title("About Us")
|
7 |
+
with st.container():
|
8 |
+
col = st.columns([1, 1])
|
9 |
+
with col[0]:
|
10 |
+
st.write("\n")
|
11 |
+
st.write("\n")
|
12 |
+
st.write("\n")
|
13 |
+
st.write(
|
14 |
+
"This app was created by [Harshit Singh](https://harsh502s.github.io), Poorvi Singh and Samruddhi Raskar as a part of their MSc Data Science 3rd semester project."
|
15 |
+
)
|
16 |
+
st.write("\n")
|
17 |
+
st.write("The code for this app can be found [here]( ).")
|
18 |
+
st.write("\n")
|
19 |
+
st.write(
|
20 |
+
"The data on which these models are trained can be found [here](https://www.kaggle.com/datasets/harsh502s/stackexchange-tag-dataset)."
|
21 |
+
)
|
22 |
+
with col[1]:
|
23 |
+
st.image("Images/group.svg", width=300)
|
24 |
+
|
25 |
+
st.write("\n")
|
26 |
+
st.write("\n")
|
27 |
+
|
28 |
+
with st.container():
|
29 |
+
col = st.columns([1, 2])
|
30 |
+
with col[0]:
|
31 |
+
st.image("Images/Robot.svg", width=350)
|
32 |
+
with col[1]:
|
33 |
+
st.title("Models Used:")
|
34 |
+
st.write(
|
35 |
+
"""1. [BERTopic](https://maartengr.github.io/BERTopic/api/bertopic.html#:~:text=BERTopic%20is%20a%20topic%20modeling,words%20in%20the%20topic%20descriptions.)
|
36 |
+
is a topic modeling technique that leverages BERT embeddings and c-TF-IDF to create dense clusters allowing for easily interpretable topics whilst keeping important words in the topic descriptions."""
|
37 |
+
)
|
38 |
+
st.write(
|
39 |
+
"""2. [KeyBERT](https://maartengr.github.io/KeyBERT/#:~:text=KeyBERT%20is%20a%20minimal%20and,most%20similar%20to%20a%20document.)
|
40 |
+
is a minimal and easy-to-use keyword extraction technique that leverages BERT embeddings to create keywords and keyphrases that are most similar to a document."""
|
41 |
+
)
|
42 |
+
st.write(
|
43 |
+
"""3. Convolutional Neural Networks (CNNs) are used for text classification. CNNs can identify patterns in text data, such as bigrams, trigrams, or n-grams. CNNs are translation invariant, so they can detect these patterns regardless of their position in the sentence."""
|
44 |
+
)
|
45 |
+
|
46 |
+
|
47 |
+
if __name__ == "__main__":
|
48 |
+
about_page()
|
Pages/{2_π€_Models.py β Models.py}
RENAMED
File without changes
|
Pages/{1_π_Topic Model Results.py β Topic Model Results.py}
RENAMED
File without changes
|
app.py
CHANGED
@@ -5,9 +5,9 @@ from st_pages import Page, show_pages
|
|
5 |
show_pages(
|
6 |
[
|
7 |
Page(r"app.py", "Home", "π "),
|
8 |
-
Page(r"Pages/
|
9 |
-
Page(r"Pages/
|
10 |
-
Page(r"Pages/
|
11 |
]
|
12 |
)
|
13 |
|
@@ -22,15 +22,26 @@ st.set_page_config(
|
|
22 |
# Display the main page of the app with instructions on how to use it
|
23 |
def main():
|
24 |
st.title("Autonomous Text Tagging App")
|
25 |
-
st.
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
|
36 |
if __name__ == "__main__":
|
|
|
5 |
show_pages(
|
6 |
[
|
7 |
Page(r"app.py", "Home", "π "),
|
8 |
+
Page(r"Pages/Topic Model Results.py", "Topic Model Result", "π"),
|
9 |
+
Page(r"Pages/Models.py", "Models", "π€"),
|
10 |
+
Page(r"Pages/About.py", "About", "π"),
|
11 |
]
|
12 |
)
|
13 |
|
|
|
22 |
# Display the main page of the app with instructions on how to use it
|
23 |
def main():
|
24 |
st.title("Autonomous Text Tagging App")
|
25 |
+
cols = st.columns([1, 1])
|
26 |
+
with st.container():
|
27 |
+
with cols[0]:
|
28 |
+
st.write(
|
29 |
+
"A Text tagging is the process of adding metadata or labels to specific elements within a text, such as identifying and categorizing named entities, parts of speech, or sentiment."
|
30 |
+
)
|
31 |
+
st.write(
|
32 |
+
"This app show the results of BERTopic Model and a demo of all the models used in this project."
|
33 |
+
)
|
34 |
+
st.subheader("How to use this app:")
|
35 |
+
st.write("1. Select the model you want to use from the sidebar.")
|
36 |
+
st.write("2. Enter the text you want to tag.")
|
37 |
+
st.write('3. Click on the "Tag" button.')
|
38 |
+
st.write("4. The tags will be displayed in the output section.")
|
39 |
+
st.write("5. You can see the results of BERTopic Model in the sidebar.")
|
40 |
+
st.write("6. You can use tabs to see the visualization of the results.")
|
41 |
+
st.divider()
|
42 |
+
|
43 |
+
with cols[1]:
|
44 |
+
st.image("Images/sort.svg", width=450)
|
45 |
|
46 |
|
47 |
if __name__ == "__main__":
|