Ngram-InputText / app.py
Bazedgul's picture
Update app.py
87ef785
import streamlit as st
from nltk import ngrams
import nltk
nltk.download('punkt')
def extract_ngrams(text, n):
tokens = nltk.word_tokenize(text)
n_grams = list(ngrams(tokens, n))
return n_grams
def main():
st.set_page_config(
page_title="N-gram Input Text",
page_icon=":memo:",
layout="wide"
)
# Set overall page style
st.markdown(
"""
<style>
body {
color: #333;
background-color: #f8f9fa;
}
.main {
border: 2px solid #28a745;
border-radius: 10px;
padding: 20px;
margin: 20px;
}
h1 {
color: #007bff;
}
p, label, .stMarkdown, .stTextInput, .stSlider, .stButton {
font-weight: bold;
}
</style>
""",
unsafe_allow_html=True
)
st.title("N-gram Input Text")
text_input = st.text_area("Write a passage:", "")
n = st.slider("Choose the value of n for n-grams:", min_value=1, max_value=5, value=2)
if st.button("Extract N-grams"):
if not text_input:
st.warning("Please enter a text passage.")
else:
n_grams_result = extract_ngrams(text_input, n)
st.subheader(f"{n}-grams:")
st.write(n_grams_result)
if __name__ == "__main__":
main()