File size: 1,073 Bytes
8e040d8
 
 
de4c26a
 
8e040d8
 
 
 
 
 
 
 
de4c26a
 
 
 
 
 
8e040d8
 
 
 
 
 
 
de4c26a
8e040d8
 
 
 
 
 
 
 
 
 
de4c26a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()