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))