import streamlit as st from nltk import word_tokenize from nltk.util import ngrams nltk.download('punkt') def generate_ngrams(text, n): tokens = word_tokenize(text) n_grams = ngrams(tokens, n) return [' '.join(gram) for gram in n_grams] def main(): st.title('N-gram Generator') user_input = st.text_area('Enter text:') n = st.slider('Select n for n-grams:', 2, 5) if st.button('Generate'): if user_input: st.write(f"*Input Text:* {user_input}") st.write(f"*{n}-grams Generated:*") result = generate_ngrams(user_input, n) st.write(result) else: st.warning('Please enter some text.') if __name__ == '__main__': main()