Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9a9dd8c
Create doc folder
Mar 24, 2021
e1ced82
commit
Kevin487 Mar 30, 2021
44bf00e
stash push
Kevin487 Mar 31, 2021
1f50189
texting
Kevin487 Mar 31, 2021
8951713
Merge branch 'master' into issue#59
Kevin487 Mar 31, 2021
116ea32
explanation of the summary analyzer and the topic modeling analyzer
TheShiny1 Mar 31, 2021
e648d42
Merge branch 'issue#59' of github.com:Allegheny-Ethical-CS/GatorMiner…
TheShiny1 Mar 31, 2021
b27a702
kevin's text
Kevin487 Mar 31, 2021
7419a4c
Merge branch 'issue#59' of github.com:Allegheny-Ethical-CS/GatorMiner…
Kevin487 Mar 31, 2021
c9273ea
kevin's text
Kevin487 Mar 31, 2021
994c5f6
Description Feature Adding
Mar 31, 2021
8a93793
commit
Kevin487 Mar 31, 2021
bf51c76
DocumentSimilarity
Batmunkh0419 Apr 6, 2021
fe85e65
Update
Batmunkh0419 Apr 6, 2021
3b6854a
Merge branch 'master' into issue#59
Mai1902 Apr 7, 2021
8bb74bd
resolves change request
Apr 7, 2021
24c2a14
update
Apr 7, 2021
d197a24
update
Apr 7, 2021
7068775
frequency analysis text
Kevin487 Apr 14, 2021
b470d0a
edits of the summary and topic modeling markdown files
TheShiny1 Apr 14, 2021
39ebce0
frequency analysis doc edit
Kevin487 Apr 14, 2021
ec8fe5b
Update displaying of different type of frequency analysis descriptions
Apr 15, 2021
a9f1de5
pull request fix
Kevin487 Apr 21, 2021
8bebc88
Resolve change requested by breaking line in markdown and fix doc string
Apr 21, 2021
59db078
Resolve change requested by breaking line in markdown and fix doc string
Apr 21, 2021
0a5da63
Merge branch 'master' into issue#59
Mai1902 Apr 21, 2021
55b612f
pull request doc similarity fix
Kevin487 Apr 21, 2021
03e02d4
quickfix
Kevin487 Apr 21, 2021
07bfaff
Merge branch 'master' into issue#59
noorbuchi Apr 27, 2021
a64c893
Resolve change requested on Pipfile, RHistory and stremlit_web.py
Apr 27, 2021
a377899
Fixed the Document Similarity
Batmunkh0419 Apr 27, 2021
2a63408
Merge branch 'issue#59' of github.com:Allegheny-Ethical-CS/GatorMiner…
Batmunkh0419 Apr 27, 2021
cc094d7
pull request 69
Kevin487 Apr 27, 2021
ce5161d
Fixing markdown style
Apr 28, 2021
35c65d2
Merge branch 'master' into issue#59
corlettim Apr 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 22 additions & 21 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file added doc/DocumentSimilarity.md
Empty file.
3 changes: 3 additions & 0 deletions doc/FrequencyAnalysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Frequency analysis is the process of finding the frequency of letters, words, or groups of letters in a text.
Frequency analysis can be useful to discover what words are being used a lot more then other words.
Conclusions can be drawn from frequency analysis like a group's sentiment and themes within a text.
1 change: 1 addition & 0 deletions doc/Interactive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This section provide an interactive platform for user, as user can enter a text, a paragraph, or an essay in the prompter and choose which analyzer they want to evaluate their writing. There are four provided analyzer:Show token (return the text in token), Show named entity (return object, entity stated in the text), Show sentiment (return the degree of negativity or positivity of the text), and Show summary (return one short sentence summarized the entered text).
3 changes: 3 additions & 0 deletions doc/SentimentAnalysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Sentiment analysis is the process of using text analysis to identify and study states of emotion in regards to the input, which is subjective information.
Sentiment analysis is able to identify the amount of sentiment each user has for what it is processing. It will give numbers based on each users sentiment.
To each user, outputs of higher numbers mean a higher sentiment and lower numbers are given for lower sentiment. Then the numbers are graphed according to each user.
1 change: 1 addition & 0 deletions doc/Summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
What the summary analyzer is essentially what the name implies, it gives a sort of summary of all the assignments in the folder. How it functions is that it takes the first line for the prompt that it is given, such as what was the greatest challenge you encountered and it takes the responses and puts them into lines based on the individual's response. You can then see what the summary is from each person and how they responded to the prompt or if they responded to the prompt at all.
1 change: 1 addition & 0 deletions doc/TopicModelling.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The topic modeling analyzer is an analyzing system that takes keywords and implements them into a graph that demonstrates the frequency they were used from each person. It doesn't take the number of times those keywords were used but rather if they were used from certain users. If one of the keywords was used it will be put into either a histogram graph or a scatter chart. You can also change the number of topics and the amount of words per topic. For instance topic 0 has the keywords design, java, and people while topic 3 has robot, race, and ethical. The topics are also separated by which assignment they are analyzing which give us a better feel of what it is that's being calculated, and where those keywords originate from.
46 changes: 46 additions & 0 deletions streamlit_web.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@ def df_preprocess(df):

def frequency():
"""main function for frequency analysis"""

#Create button to return the description for frequency analyzer
freq_des = md.read_file('doc/FrequencyAnalysis.md')
if(st.button("Frequency Analysis Description", key = 1)):
st.write(freq_des)
else:
pass

freq_type = st.sidebar.selectbox(
"Type of frequency analysis", ["Overall", "Student", "Question"]
)
Expand Down Expand Up @@ -356,6 +364,14 @@ def question_freq(freq_range):

def sentiment():
"""main function for sentiment analysis"""

#Create button return description for sentiment analysis
sent_des = md.read_file('doc/SentimentAnalysis.md')
if(st.button("Sentiment Analysis Description", key = 2)):
st.write(sent_des)
else:
pass

senti_df = main_df.copy(deep=True)
# calculate overall sentiment from the combined text
senti_df[cts.SENTI] = senti_df["combined"].apply(
Expand Down Expand Up @@ -436,6 +452,14 @@ def question_senti(input_df):

def summary():
"""Display summarization"""

#Create button return description for summary feature
summ_des = md.read_file('doc/Summary.md')
if(st.button("Summary Description", key = 3)):
st.write(summ_des)
else:
pass

sum_df = preprocessed_df[
preprocessed_df[assign_id].isin(assignments)
].dropna(axis=1, how="all")
Expand All @@ -448,6 +472,13 @@ def summary():

def tpmodel():
"""Display topic modeling"""
#Create button return description for summary feature
topic_des = md.read_file('doc/TopicModelling.md')
if(st.button("Topic Modelling Description", key = 4)):
st.write(topic_des)
else:
pass

topic_df = main_df.copy(deep=True)
topic_df = topic_df[topic_df[assign_id].isin(assignments)]
# st.write(topic_df)
Expand Down Expand Up @@ -548,6 +579,13 @@ def scatter_tm(lda_model, corpus, overall_topic_df):

def doc_sim():
"""Display document similarity"""
#Create button return description for document similarity analyzer
docs_des = md.read_file('doc/DocumentSimilarity.md')
if(st.button("Document Similarity Description", key = 5)):
st.write(docs_des)
else:
pass

doc_df = main_df.copy(deep=True)
doc_sim_type = st.sidebar.selectbox(
"Type of similarity analysis", ["TF-IDF", "Spacy"]
Expand Down Expand Up @@ -620,6 +658,14 @@ def spacy_sim(doc_df):

def interactive():
"""Page to allow nlp analysis from user input"""

#Create button return description for interactive feature
inter_des = md.read_file('doc/Interactive.md')
if(st.button("Interactive Description", key = 6)):
st.write(inter_des)
else:
pass

input_text = st.text_area("Enter text", "Type here")
token_cb = st.checkbox("Show tokens")
ner_cb = st.checkbox("Show named entities")
Expand Down