File size: 1,235 Bytes
25e471b | 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 | import streamlit as st
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk.corpus import stopwords
import nltk
import pandas as pd
# NLTK stopwords indir (ilk çalıştırmada bir kez çalışır)
nltk.download('stopwords')
turkish_stopwords = stopwords.words('turkish')
# Başlık
st.title("🔑 Anahtar Kelime Çıkarıcı (TF-IDF ile)")
st.markdown("Bu uygulama, girdiğiniz metindeki en anlamlı kelimeleri TF-IDF algoritması ile çıkarır.")
# Kullanıcıdan metin al
text_input = st.text_area("Lütfen metninizi buraya girin:")
if st.button("Anahtar Kelimeleri Çıkar"):
if text_input.strip() == "":
st.warning("⚠️ Lütfen bir metin girin.")
else:
# TF-IDF hesapla
vectorizer = TfidfVectorizer(stop_words=turkish_stopwords)
X = vectorizer.fit_transform([text_input])
# Skorları DataFrame olarak düzenle
df_keywords = pd.DataFrame(X.T.toarray(), index=vectorizer.get_feature_names_out(), columns=["Skor"])
df_keywords = df_keywords.sort_values("Skor", ascending=False)
# Sonuçları göster
st.subheader("📌 En Anlamlı Anahtar Kelimeler")
st.dataframe(df_keywords.head(10))
|