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( """ """, 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()