from datasets import load_dataset
= load_dataset("kadirnar/combined-turkish-datasets-v5") ds
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
- Yenilikçi yaklaşım ve Türkçe LLM ekosistemine katkı %20
- Veri setinin büyüklüğü, temizlenmesi ve kalitesi %30
- Model başarısı %50
Güzel Öğrenilmesi Gereken Şeyler
import pandas as pd
# Convert each split to a DataFrame
= pd.DataFrame(ds['train'])
train_df # Repeat for other splits if needed:
# test_df = pd.DataFrame(ds['test'])
'instruction'].str.contains('yasa')] train_df[train_df[
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
'punkt')
nltk.download(
'stopwords')
nltk.download('wordnet')
nltk.download(
= set(stopwords.words('turkish'))
stop_words = WordNetLemmatizer()
lemmatizer
def preprocess_text(text):
= text.lower()
text = ''.join([char for char in text if char not in string.punctuation])
text = word_tokenize(text)
words = [lemmatizer.lemmatize(word) for word in words if word not in stop_words]
words return ' '.join(words)
'processed_text'] = train_df['instruction'][0:500].apply(preprocess_text)
train_df[
= CountVectorizer()
vectorizer = vectorizer.fit_transform(train_df['processed_text'][0:500])
X
= 10
num_topics = LatentDirichletAllocation(n_components=num_topics, random_state=42)
lda
lda.fit(X)
= vectorizer.get_feature_names_out()
feature_names for topic_idx, topic in enumerate(lda.components_):
= topic.argsort()[:-10 - 1:-1]
top_features_ind = [feature_names[i] for i in top_features_ind]
top_features 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
= pipeline("zero-shot-classification", model="facebook/bart-large-mnli") classifier
= ["Türk Eğitim Sistemi", "Türk Hukuku", "Sürdürülebilirlik", "Tarım"]
konular = 0
counter def siniflandir(metin):
= classifier(metin, konular)
sonuc = sonuc['labels'][0]
en_yuksek_etiket = sonuc['scores'][0]
en_yuksek_skor
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
'etiket'] = train_df['instruction'][0:100].apply(siniflandir) train_df[