import streamlit as st from nltk import ngrams import nltk # Download NLTK data nltk.download('punkt') def extract_ngrams(text, n): tokens = nltk.word_tokenize(text) n_grams = list(ngrams(tokens, n)) return n_grams def main(): # Set page title and configure page layout st.set_page_config(page_title="N-gram Extractor", layout="wide") # Page title and subtitle st.title("N-gram Generator") st.write("Enter a text passage and choose the value of n to extract n-grams.") # User input text_input = st.text_area("Enter a text passage:", "") # Choose n for n-grams n = st.slider("Select the value of n for n-grams:", min_value=1, max_value=5, value=2) # Extract button if st.button("Extract N-grams"): if not text_input: st.warning("Please enter a text passage.") else: # Extract and display n-grams n_grams_result = extract_ngrams(text_input, n) st.subheader(f"{n}-grams:") st.write(n_grams_result) if __name__ == "__main__": main()