YARISMA HAKKINDA ONEMLI

Puanlama kriterleri, 5 skorun ortalaması:

Türk Eğitim Sistemi, Türk Hukuku, Sürdürülebilirlik, Tarım ve veri setimizin kalitesi

Güzel Öğrenilmesi Gereken Şeyler

NbDev - Notebook üzerinden web app geliştirme toolkit

LoRA,QLoRA methodlari hakkinda

from datasets import load_dataset

ds = load_dataset("kadirnar/combined-turkish-datasets-v5")
import pandas as pd

# Convert each split to a DataFrame
train_df = pd.DataFrame(ds['train'])
# Repeat for other splits if needed:
# test_df = pd.DataFrame(ds['test'])
train_df[train_df['instruction'].str.contains('yasa')]
input instruction output
17 Bir tasarının Amerika Birleşik Devletleri Kong... 1. Giriş: Bir Kongre üyesi tasarıyı Temsilcile...
24 Amerika Birleşik Devletleri'nde bir yasa tasar... 1) Giriş: Bir Kongre üyesi tarafından Temsilci...
151 IPhone 2007'de piyasaya sürüldü, dünyayı cihaz... Bu metindeki dilbilgisi ve noktalama işaretler... iPhone 2007'de piyasaya sürüldü; Steve Jobs, c...
201 Newton'un hareket yasalarının kısa bir özetini... Newton'un hareket yasaları nesnelerin hareketi...
222 C3H8 + 5O2 → 3CO2 + 4H2O Kimyasal reaksiyonun türünü tanımlayın ve reak... Bu bir yanma reaksiyonudur. Reaktifler: propan...
... ... ... ...
465531 Küresel ekonomi ve finansal piyasaların işleyi... Küresel ekonomi, tüm dünya ülkelerinin birbirl...
465613 Türkiye ekonomisinin global piyasalara entegra... Türkiye ekonomisinin global piyasalara entegra...
466211 Türkiye ekonomisinin global piyasada en önemli... 1. Tarım ve Hayvancılık: Türkiye, tarım ve hay...
466530 Küresel ekonomi ve finansal piyasalar konusund... 2008 küresel finansal kriz, son yılların en ön...
467385 Türkiye ekonomisinin küresel piyasaya etkisini... Türkiye ekonomisinin küresel piyasaya etkisi ç...

6558 rows × 3 columns

import nltk
from nltk.corpus import stopwords
from nltk.stem import WordNetLemmatizer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation
import string
from nltk.tokenize import word_tokenize
nltk.download('punkt')

nltk.download('stopwords')
nltk.download('wordnet')

stop_words = set(stopwords.words('turkish'))
lemmatizer = WordNetLemmatizer()

def preprocess_text(text):
    text = text.lower()
    text = ''.join([char for char in text if char not in string.punctuation])
    words = word_tokenize(text)
    words = [lemmatizer.lemmatize(word) for word in words if word not in stop_words]
    return ' '.join(words)

train_df['processed_text'] = train_df['instruction'][0:500].apply(preprocess_text)

vectorizer = CountVectorizer()
X = vectorizer.fit_transform(train_df['processed_text'][0:500])

num_topics = 10
lda = LatentDirichletAllocation(n_components=num_topics, random_state=42)
lda.fit(X)

feature_names = vectorizer.get_feature_names_out()
for topic_idx, topic in enumerate(lda.components_):
    top_features_ind = topic.argsort()[:-10 - 1:-1]
    top_features = [feature_names[i] for i in top_features_ind]
    print(f"Topic {topic_idx}: {', '.join(top_features)}")
[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data]   Package punkt is already up-to-date!
[nltk_data] Downloading package stopwords to /root/nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[nltk_data] Downloading package wordnet to /root/nltk_data...
[nltk_data]   Package wordnet is already up-to-date!
Topic 0: adım, açıklayın, bir, sürecini, temel, aşağıdaki, yapma, basit, verilen, olarak
Topic 1: bir, aşağıdaki, kısa, verilen, yapın, tanımlayın, mantıksal, açıklama, sıraya, kronolojik
Topic 2: bir, ana, açıklayın, aşağıdaki, özetleyin, verilen, alaycı, verin, kısa, kuşu
Topic 3: bir, aşağıdaki, çevirin, cümleyi, yazın, fransızcaya, yeniden, ngilizce, açıklayın, kısa
Topic 4: bir, açıklayın, edin, arasındaki, aşağıdaki, tanımlayın, temel, analiz, farkı, mantıksal
Topic 5: bir, açıklayın, aşağıdaki, yazın, edin, yeniden, verilen, şekilde, kısa, olduğunuzu
Topic 6: bir, kısa, yazın, açıklayın, üç, olarak, edin, seçmeli, çoktan, verilen
Topic 7: bir, açıklayın, verilen, analiz, aşağıdaki, tanımlayın, sınıflandırın, olarak, edin, üç
Topic 8: açıklayın, verilen, sürecini, tanımlayın, mantıksal, belirleyin, doğal, jane, seçilim, bunun
Topic 9: bir, verilen, aşağıdaki, tanımlayın, önerin, dilbilgisi, belirleyin, hatalarını, önemli, yeni
!pip install transformers
Requirement already satisfied: transformers in /usr/local/lib/python3.10/dist-packages (4.42.4)
Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from transformers) (3.15.4)
Requirement already satisfied: huggingface-hub<1.0,>=0.23.2 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.23.5)
Requirement already satisfied: numpy<2.0,>=1.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (1.26.4)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from transformers) (24.1)
Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (6.0.2)
Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (2024.5.15)
Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from transformers) (2.32.3)
Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.4.4)
Requirement already satisfied: tokenizers<0.20,>=0.19 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.19.1)
Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.10/dist-packages (from transformers) (4.66.5)
Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub<1.0,>=0.23.2->transformers) (2024.6.1)
Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub<1.0,>=0.23.2->transformers) (4.12.2)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2024.7.4)
from transformers import pipeline

classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
konular = ["Türk Eğitim Sistemi", "Türk Hukuku", "Sürdürülebilirlik", "Tarım"]
counter = 0
def siniflandir(metin):
    sonuc = classifier(metin, konular)
    en_yuksek_etiket = sonuc['labels'][0]
    en_yuksek_skor = sonuc['scores'][0]

    if en_yuksek_skor < 0.5:  # Eşik değeri belirleyin
        return "diğer"
    else:
        return en_yuksek_etiket

# DataFrame sütununu label'layın
train_df['etiket'] = train_df['instruction'][0:100].apply(siniflandir)