Spaces:
Sleeping
Sleeping
# import streamlit as st | |
# from pymongo import MongoClient | |
# import pandas as pd | |
# # Initialize MongoDB client | |
# client = MongoClient('mongodb+srv://vazeswaroop:yashdesai@cluster0.zvnjaaw.mongodb.net/') | |
# db = client['word_classification_db'] | |
# collection = db['word_classification'] | |
# # Function to save word and its category | |
# def save_word(word, category): | |
# collection.insert_one({"word": word, "category": category}) | |
# # Function to load words | |
# def load_words(): | |
# return pd.DataFrame(list(collection.find({}, {'_id': 0}))) | |
# # Streamlit UI | |
# st.title('Word Classification') | |
# # Input fields for word and category | |
# word = st.text_input('Enter Word') | |
# category = st.selectbox('Select Category', ['Theme', 'Subtheme', 'Keywords']) | |
# if st.button('Save Word'): | |
# save_word(word, category) | |
# st.success(f'Word "{word}" saved under category "{category}"!') | |
# if st.button('View All Entries'): | |
# df = load_words() | |
# st.dataframe(df) | |
# # Close the MongoDB connection when the app is done | |
# client.close() | |
import streamlit as st | |
from pymongo import MongoClient | |
import pandas as pd | |
# Initialize MongoDB client | |
client = MongoClient('mongodb+srv://vazeswaroop:yashdesai@cluster0.zvnjaaw.mongodb.net/') | |
db = client['word_classification_db'] | |
collection = db['word_classification'] | |
# Function to save word and its category | |
def save_word(word, category): | |
collection.insert_one({"word": word, "category": category}) | |
# Function to load words from the DB | |
def load_words(): | |
return pd.DataFrame(list(collection.find({}, {'_id': 0}))) | |
# Streamlit UI | |
st.title('Word Classification and Prompt Matching') | |
# Input fields for word and category | |
word = st.text_input('Enter Word') | |
category = st.selectbox('Select Category', ['Theme', 'Subtheme', 'Keywords']) | |
if st.button('Save Word'): | |
save_word(word, category) | |
st.success(f'Word "{word}" saved under category "{category}"!') | |
if st.button('View All Entries'): | |
df = load_words() | |
st.dataframe(df) | |
# Prompt Input for Matching | |
st.header('Prompt Matching') | |
prompt = st.text_area('Enter a prompt to check for matches') | |
if st.button('Check Prompt for Matches'): | |
df = load_words() | |
# Separate the words by categories | |
keywords = df[df['category'] == 'Keywords']['word'].tolist() | |
themes = df[df['category'] == 'Theme']['word'].tolist() | |
subthemes = df[df['category'] == 'Subtheme']['word'].tolist() | |
# Function to count matches | |
def count_matches(prompt, words_list): | |
return [word for word in words_list if word in prompt] | |
# Get the matches | |
matched_keywords = count_matches(prompt, keywords) | |
matched_themes = count_matches(prompt, themes) | |
matched_subthemes = count_matches(prompt, subthemes) | |
# Display the count and matched words | |
st.write(f"Number of Keywords matched: {len(matched_keywords)}") | |
st.write(f"Matched Keywords: {matched_keywords}") | |
st.write(f"Number of Themes matched: {len(matched_themes)}") | |
st.write(f"Matched Themes: {matched_themes}") | |
st.write(f"Number of Subthemes matched: {len(matched_subthemes)}") | |
st.write(f"Matched Subthemes: {matched_subthemes}") | |
# Close the MongoDB connection when the app is done | |
client.close() | |