yonkasoft commited on
Commit
3a1020a
1 Parent(s): d1fb0c2

Upload 13 files

Browse files
.gitattributes CHANGED
@@ -47,3 +47,8 @@ onBin.bson filter=lfs diff=lfs merge=lfs -text
47
  test.bson filter=lfs diff=lfs merge=lfs -text
48
  train.bson filter=lfs diff=lfs merge=lfs -text
49
  EgitimDatabase.test.csv filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
47
  test.bson filter=lfs diff=lfs merge=lfs -text
48
  train.bson filter=lfs diff=lfs merge=lfs -text
49
  EgitimDatabase.test.csv filter=lfs diff=lfs merge=lfs -text
50
+ 400.csv filter=lfs diff=lfs merge=lfs -text
51
+ cleaned.csv filter=lfs diff=lfs merge=lfs -text
52
+ stopwords.csv filter=lfs diff=lfs merge=lfs -text
53
+ veriler_first_400k.csv filter=lfs diff=lfs merge=lfs -text
54
+ veriler_tokenized.csv filter=lfs diff=lfs merge=lfs -text
400.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f5689ace1f5518d233d1fef1926e5bc3b002e34a5e02965c6db2e302e9d859b8
3
+ size 1996328103
cleaned.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b88070cb4c5d0246395e2246d3356c76733fa2f2a87f05157bc9322f843bee2
3
+ size 1414512946
dataframe.ipynb ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "name": "stdout",
10
+ "output_type": "stream",
11
+ "text": [
12
+ " _id id \\\n",
13
+ "0 {'$oid': '66c33a8c3b8bd216bd8ea93a'} 3525037 \n",
14
+ "1 {'$oid': '66c33a8c3b8bd216bd8ea93b'} 3532700 \n",
15
+ "2 {'$oid': '66c33a8c3b8bd216bd8ea93c'} 3203545 \n",
16
+ "3 {'$oid': '66c33a8c3b8bd216bd8ea93d'} 1765445 \n",
17
+ "4 {'$oid': '66c33a8c3b8bd216bd8ea93e'} 575462 \n",
18
+ "\n",
19
+ " url title \\\n",
20
+ "0 https://tr.wikipedia.org/wiki/P%C5%9F%C4%B1qo%... Pşıqo Ahecaqo \n",
21
+ "1 https://tr.wikipedia.org/wiki/Craterolophinae Craterolophinae \n",
22
+ "2 https://tr.wikipedia.org/wiki/Notocrabro Notocrabro \n",
23
+ "3 https://tr.wikipedia.org/wiki/Ibrahim%20Sissoko Ibrahim Sissoko \n",
24
+ "4 https://tr.wikipedia.org/wiki/Salah%20Cedid Salah Cedid \n",
25
+ "\n",
26
+ " text no \n",
27
+ "0 Pşıqo Ahecaqo (), Çerkes siyasetçi, askeri kom... 0 \n",
28
+ "1 Craterolophinae, Depastridae familyasına bağlı... 1 \n",
29
+ "2 Notocrabro Crabronina oymağına bağlı bir cinst... 2 \n",
30
+ "3 İbrahim Sissoko (d. 30 Kasım 1991), Fildişi Sa... 3 \n",
31
+ "4 Salah Cedid (1926-1993) (Arapça: صلاح جديد) Su... 4 \n"
32
+ ]
33
+ }
34
+ ],
35
+ "source": [
36
+ "import pandas as pd\n",
37
+ "\n",
38
+ "# CSV dosyasını yükleyelim\n",
39
+ "df = pd.read_csv('veriler.csv')\n",
40
+ "\n",
41
+ "# ID sütunu ekleyelim (her satıra 0'dan başlayarak benzersiz bir ID verelim)\n",
42
+ "df['no'] = df.index\n",
43
+ "\n",
44
+ "# Sonucu yeni bir CSV dosyasına kaydedelim\n",
45
+ "df.to_csv('data_with_id.csv', index=False)\n",
46
+ "\n",
47
+ "# İlk birkaç satırı kontrol edelim\n",
48
+ "print(df.head())\n"
49
+ ]
50
+ },
51
+ {
52
+ "cell_type": "code",
53
+ "execution_count": 2,
54
+ "metadata": {},
55
+ "outputs": [
56
+ {
57
+ "name": "stdout",
58
+ "output_type": "stream",
59
+ "text": [
60
+ "Boş değer sayısı:\n",
61
+ "_id 0\n",
62
+ "id 0\n",
63
+ "url 0\n",
64
+ "title 0\n",
65
+ "text 0\n",
66
+ "dtype: int64\n",
67
+ "Tekrarlanan değer sayısı:\n",
68
+ "0\n",
69
+ "Eşleşmeyen 'title' sayısı: 0\n",
70
+ "Eşleşmeyen 'text' sayısı: 0\n"
71
+ ]
72
+ }
73
+ ],
74
+ "source": [
75
+ "import pandas as pd\n",
76
+ "\n",
77
+ "# Verileri yükleyin\n",
78
+ "df = pd.read_csv(\"common_400000.csv\")\n",
79
+ "\n",
80
+ "# Boş değerlerin kontrolü\n",
81
+ "print(\"Boş değer sayısı:\")\n",
82
+ "print(df.isnull().sum())\n",
83
+ "\n",
84
+ "# Tekrarlanan değerlerin kontrolü\n",
85
+ "print(\"Tekrarlanan değer sayısı:\")\n",
86
+ "print(df.duplicated(subset=['title', 'text']).sum())\n",
87
+ "\n",
88
+ "# Eşleşmeyen değerlerin kontrolü\n",
89
+ "unmatched_titles = df[df['text'].isna()]\n",
90
+ "print(f\"Eşleşmeyen 'title' sayısı: {len(unmatched_titles)}\")\n",
91
+ "\n",
92
+ "unmatched_texts = df[df['title'].isna()]\n",
93
+ "print(f\"Eşleşmeyen 'text' sayısı: {len(unmatched_texts)}\")\n"
94
+ ]
95
+ },
96
+ {
97
+ "cell_type": "code",
98
+ "execution_count": 3,
99
+ "metadata": {},
100
+ "outputs": [],
101
+ "source": [
102
+ "# Eksik 'text' değerlerini doldur\n",
103
+ "df['text'] = df['text'].fillna(\"Missing Text\")\n"
104
+ ]
105
+ },
106
+ {
107
+ "cell_type": "code",
108
+ "execution_count": 4,
109
+ "metadata": {},
110
+ "outputs": [],
111
+ "source": [
112
+ "# Tamamen aynı olan satırları kaldır\n",
113
+ "df = df.drop_duplicates(subset=['title', 'text'])\n",
114
+ "\n",
115
+ "# Sadece 'title' bazında tekrarlanan satırları kaldır (ilkini tutar)\n",
116
+ "df = df.drop_duplicates(subset=['title'], keep='first')\n"
117
+ ]
118
+ },
119
+ {
120
+ "cell_type": "code",
121
+ "execution_count": 5,
122
+ "metadata": {},
123
+ "outputs": [],
124
+ "source": [
125
+ "# Text'i olmayan satırları kaldır\n",
126
+ "df = df.dropna(subset=['text'])\n"
127
+ ]
128
+ },
129
+ {
130
+ "cell_type": "code",
131
+ "execution_count": 4,
132
+ "metadata": {},
133
+ "outputs": [
134
+ {
135
+ "name": "stdout",
136
+ "output_type": "stream",
137
+ "text": [
138
+ "Veriler başarıyla converted_file.csv olarak kaydedildi.\n"
139
+ ]
140
+ }
141
+ ],
142
+ "source": [
143
+ "import pandas as pd\n",
144
+ "\n",
145
+ "# JSON dosyasını yükleyin\n",
146
+ "json_file = 'EgitimDatabase.train.json' # JSON dosyanızın adı\n",
147
+ "df = pd.read_json(json_file) # JSON dosyasını DataFrame'e dönüştürme\n",
148
+ "\n",
149
+ "# DataFrame'i CSV olarak kaydetme\n",
150
+ "csv_file = 'converted_file.csv' # Çıktı CSV dosya adı\n",
151
+ "df.to_csv(csv_file, index=False, encoding='utf-8') # index olmadan ve UTF-8 formatında kaydedilir\n",
152
+ "\n",
153
+ "print(f\"Veriler başarıyla {csv_file} olarak kaydedildi.\")\n"
154
+ ]
155
+ },
156
+ {
157
+ "cell_type": "code",
158
+ "execution_count": 5,
159
+ "metadata": {},
160
+ "outputs": [
161
+ {
162
+ "name": "stdout",
163
+ "output_type": "stream",
164
+ "text": [
165
+ "<class 'pandas.core.frame.DataFrame'>\n",
166
+ "RangeIndex: 416434 entries, 0 to 416433\n",
167
+ "Data columns (total 5 columns):\n",
168
+ " # Column Non-Null Count Dtype \n",
169
+ "--- ------ -------------- ----- \n",
170
+ " 0 _id 416434 non-null object\n",
171
+ " 1 id 416434 non-null int64 \n",
172
+ " 2 url 416434 non-null object\n",
173
+ " 3 title 416434 non-null object\n",
174
+ " 4 text 416434 non-null object\n",
175
+ "dtypes: int64(1), object(4)\n",
176
+ "memory usage: 15.9+ MB\n"
177
+ ]
178
+ }
179
+ ],
180
+ "source": [
181
+ "df.info()"
182
+ ]
183
+ },
184
+ {
185
+ "cell_type": "code",
186
+ "execution_count": 5,
187
+ "metadata": {},
188
+ "outputs": [
189
+ {
190
+ "name": "stdout",
191
+ "output_type": "stream",
192
+ "text": [
193
+ "Boş text satırları: 1\n",
194
+ "Boş title satırları: 0\n"
195
+ ]
196
+ }
197
+ ],
198
+ "source": [
199
+ "# Boş değerleri kontrol etmek\n",
200
+ "empty_text_rows = df[df['text'].str.strip() == \"\"]\n",
201
+ "print(f\"Boş text satırları: {len(empty_text_rows)}\")\n",
202
+ "\n",
203
+ "empty_title_rows = df[df['title'].str.strip() == \"\"]\n",
204
+ "print(f\"Boş title satırları: {len(empty_title_rows)}\")"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "code",
209
+ "execution_count": 7,
210
+ "metadata": {},
211
+ "outputs": [
212
+ {
213
+ "name": "stdout",
214
+ "output_type": "stream",
215
+ "text": [
216
+ "Geçerli satır sayısı: 416434\n"
217
+ ]
218
+ }
219
+ ],
220
+ "source": [
221
+ "# Hem title hem text dolu olanları kontrol et\n",
222
+ "valid_rows = df[df['title'].notnull() & df['text'].notnull()]\n",
223
+ "print(f\"Geçerli satır sayısı: {len(valid_rows)}\")\n"
224
+ ]
225
+ },
226
+ {
227
+ "cell_type": "code",
228
+ "execution_count": 11,
229
+ "metadata": {},
230
+ "outputs": [],
231
+ "source": [
232
+ "df['text'] = df['text'].apply(lambda x: str(x) if isinstance(x, dict) else x)\n",
233
+ "df['_id'] = df['_id'].apply(lambda x: str(x) if isinstance(x, dict) else x)\n"
234
+ ]
235
+ },
236
+ {
237
+ "cell_type": "code",
238
+ "execution_count": 12,
239
+ "metadata": {},
240
+ "outputs": [
241
+ {
242
+ "name": "stdout",
243
+ "output_type": "stream",
244
+ "text": [
245
+ "Tekrarlayan satır sayısı: 0\n"
246
+ ]
247
+ }
248
+ ],
249
+ "source": [
250
+ "# Tekrarlayan satırları kontrol etmek\n",
251
+ "duplicated_rows = df[df.duplicated()]\n",
252
+ "print(f\"Tekrarlayan satır sayısı: {len(duplicated_rows)}\")\n",
253
+ "\n"
254
+ ]
255
+ },
256
+ {
257
+ "cell_type": "code",
258
+ "execution_count": 13,
259
+ "metadata": {},
260
+ "outputs": [
261
+ {
262
+ "name": "stdout",
263
+ "output_type": "stream",
264
+ "text": [
265
+ "Empty DataFrame\n",
266
+ "Columns: [_id, id, url, title, text]\n",
267
+ "Index: []\n"
268
+ ]
269
+ }
270
+ ],
271
+ "source": [
272
+ "# Title ve text sütunlarında boş veya tutarsız değer var mı?\n",
273
+ "print(df[df['title'].isna() | df['text'].isna()])\n"
274
+ ]
275
+ },
276
+ {
277
+ "cell_type": "code",
278
+ "execution_count": 6,
279
+ "metadata": {},
280
+ "outputs": [],
281
+ "source": [
282
+ "df['text'] = df['text'].fillna('Eksik veri')\n"
283
+ ]
284
+ },
285
+ {
286
+ "cell_type": "code",
287
+ "execution_count": 7,
288
+ "metadata": {},
289
+ "outputs": [
290
+ {
291
+ "name": "stdout",
292
+ "output_type": "stream",
293
+ "text": [
294
+ "416434\n"
295
+ ]
296
+ }
297
+ ],
298
+ "source": [
299
+ "# Sütundaki benzersiz değerleri sayma\n",
300
+ "print(df['title'].nunique())"
301
+ ]
302
+ },
303
+ {
304
+ "cell_type": "code",
305
+ "execution_count": 8,
306
+ "metadata": {},
307
+ "outputs": [
308
+ {
309
+ "name": "stdout",
310
+ "output_type": "stream",
311
+ "text": [
312
+ "414397\n"
313
+ ]
314
+ }
315
+ ],
316
+ "source": [
317
+ "print(df['text'].nunique())"
318
+ ]
319
+ },
320
+ {
321
+ "cell_type": "code",
322
+ "execution_count": null,
323
+ "metadata": {},
324
+ "outputs": [],
325
+ "source": []
326
+ }
327
+ ],
328
+ "metadata": {
329
+ "kernelspec": {
330
+ "display_name": "Python 3",
331
+ "language": "python",
332
+ "name": "python3"
333
+ },
334
+ "language_info": {
335
+ "codemirror_mode": {
336
+ "name": "ipython",
337
+ "version": 3
338
+ },
339
+ "file_extension": ".py",
340
+ "mimetype": "text/x-python",
341
+ "name": "python",
342
+ "nbconvert_exporter": "python",
343
+ "pygments_lexer": "ipython3",
344
+ "version": "3.10.11"
345
+ }
346
+ },
347
+ "nbformat": 4,
348
+ "nbformat_minor": 2
349
+ }
fiil(zemberek).py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from zemberek import TurkishMorphology
2
+
3
+ # Create the TurkishMorphology object with default resources
4
+ morphology = TurkishMorphology.create_with_defaults()
5
+
6
+ # Word to analyze
7
+ word = "katıldılar"
8
+ print(f"Word = {word}")
9
+
10
+ # Analyze the word
11
+ results = morphology.analyze(word)
12
+
13
+ # Iterate through the results and print various formats
14
+ for result in results:
15
+ # Print the result in a detailed string format
16
+ print(f"Lexical and Surface: {result.format_string()}")
17
+ print(f"Stems: {result.get_stem()}")
18
+ #print(f"Lemmas: {result.get_lemma()}")
19
+ print()
20
+
fiil.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from zemberek import TurkishMorphology
2
+ from typing import List
3
+ from functools import lru_cache
4
+
5
+ morphology = TurkishMorphology.create()
6
+ # Initialize the Turkish morphology analyzer as a global constant
7
+ MORPHOLOGY = TurkishMorphology.create_with_default_resources()
8
+
9
+ @lru_cache(maxsize=1000) # Cache results for better performance
10
+ def is_verb_or_verbform_zemberek(word: str) -> bool:
11
+ """
12
+ Check if a word is a verb or verbform using Zemberek analysis.
13
+
14
+ Args:
15
+ word (str): The word to analyze
16
+
17
+ Returns:
18
+ bool: True if the word is a verb or verbform, False otherwise
19
+ """
20
+ try:
21
+ # Get the analysis result for the word
22
+ result = MORPHOLOGY.analyze(word)
23
+
24
+ # Return True if there's at least one analysis and it's a verb
25
+ return bool(result and "Verb" in result[0].primary_pos.value)
26
+ except Exception as e:
27
+ print(f"Error analyzing word '{word}': {str(e)}")
28
+ return False
29
+
30
+ def filter_verbs(words: List[str]) -> List[str]:
31
+ """
32
+ Filter a list of words to keep only verbs and verbforms.
33
+
34
+ Args:
35
+ words (List[str]): List of words to filter
36
+
37
+ Returns:
38
+ List[str]: List containing only verbs and verbforms
39
+ """
40
+ return [word for word in words if is_verb_or_verbform_zemberek(word)]
41
+
42
+ def main():
43
+ # Example usage
44
+ words = ["geliyor", "gitti", "yapmak", "kitap"]
45
+ filtered_words = filter_verbs(words)
46
+ print(f"Verbs found: {filtered_words}")
47
+
48
+ if __name__ == "__main__":
49
+ main()
50
+
köklendirme.py ADDED
@@ -0,0 +1 @@
 
 
1
+ #nltk kütüphanesiyle
stop_words.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
stop_words.py ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+
3
+
4
+ def load_stopwords(file_path):
5
+ with open(file_path, 'r', encoding='utf-8') as f:
6
+ stopwords = f.read().splitlines() # Her satır bir stopword olacak şekilde yükle
7
+ return set(stopwords)
8
+
9
+
10
+ stop_words = load_stopwords('stopwords.txt')
11
+
12
+
13
+ df = pd.read_csv('veriler_cleaned.csv')
14
+
15
+
16
+ def remove_stopwords_without_nltk(text):
17
+ if isinstance(text, str):
18
+ words = text.split()
19
+ filtered_words = [word for word in words if word.lower() not in stop_words]
20
+ return ' '.join(filtered_words)
21
+ else:
22
+ return ""
23
+
24
+
25
+ df['stopwords_text'] = df['cleaned_text'].apply(remove_stopwords_without_nltk)
26
+
27
+
28
+ print(df[['cleaned_text', 'stopwords_text']].head())
29
+
30
+
31
+ df.to_csv('temizlenmis_veri.csv', index=False)
32
+
33
+
34
+
35
+
36
+ """
37
+ import pandas as pd
38
+ import nltk
39
+ from nltk.tokenize import word_tokenize
40
+
41
+ nltk.download('stopwords')
42
+ nltk.download('punkt')
43
+
44
+
45
+ from nltk.corpus import stopwords
46
+ stop_words = set(stopwords.words('turkish'))
47
+
48
+ def load_custom_stopwords(file_path):
49
+ with open(file_path, 'r', encoding='utf-8') as f:
50
+ custom_stopwords = f.read().splitlines()
51
+ return set(custom_stopwords)
52
+
53
+
54
+ custom_stopwords = load_custom_stopwords('stopwords.txt')
55
+ stop_words.update(custom_stopwords)
56
+
57
+
58
+ df = pd.read_csv('veriler_cleaned.csv')
59
+
60
+
61
+ def remove_stopwords(text):
62
+ if isinstance(text, str):
63
+ words = word_tokenize(text)
64
+ filtered_words = [word for word in words if word.lower() not in stop_words] # Stopwords'leri çıkar
65
+ return ' '.join(filtered_words)
66
+ else:
67
+ return ""
68
+
69
+
70
+ df['stopwords_text'] = df['cleaned_text'].apply(remove_stopwords)
71
+
72
+
73
+ print(df[['cleaned_text', 'stopwords_text']].head())
74
+
75
+
76
+ df.to_csv('temizlenmis_veri.csv', index=False)
77
+ """
stopwords.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9869903a48be79996282f11e06c3108160295b4f280cfd827fe1c18b6ea9fb4
3
+ size 3212535134
stopwords.txt ADDED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Dış
2
+ Bağlantılar
3
+
4
+ asılarak
5
+ anlamlıdır
6
+ d
7
+ nasıl
8
+ ne
9
+ en
10
+ ve
11
+ ile
12
+ katılmıştır
13
+ kullanıldı
14
+ kullandı
15
+ çıktı
16
+ bulundu
17
+ başlayan
18
+ adlardaki
19
+ vardı
20
+ ekiyle
21
+ eki
22
+ oğlu
23
+ olduğunu
24
+ olduğunuz
25
+ olduğunun
26
+ tarihlerini
27
+ öldü
28
+ ölenler
29
+ ölen
30
+ Kaynakça
31
+ vardı
32
+ yaparlar
33
+ yapardı
34
+ yapmak
35
+ yapabilmek
36
+ yapılabilir
37
+ Dış
38
+ Bağlantılar
39
+ kişiler
40
+ kişilerin
41
+ yılında
42
+ yıllarında
43
+ yılları
44
+ boyunca
45
+ süresince
46
+ bağlı
47
+ sonucu
48
+ bitişi
49
+ bitmiştir
50
+ bittabi
51
+ bitti
52
+ yıl
53
+ resmi
54
+ asılarak
55
+ bulundu
56
+ olmuştur
57
+ oldu
58
+ süregelen
59
+ süresince
60
+ sürer
61
+ nedeniyle
62
+ nedeni
63
+ neden
64
+ nedeni
65
+ açıklar
66
+ bulunan
67
+ önemli
68
+ dayanmaktadır
69
+ söylenmiştir
70
+ söylenmektedir
71
+ olması
72
+ olmaması
73
+ öne
74
+ çıkar
75
+ dikkat
76
+ çeker
77
+ dikkat
78
+ çeken
79
+ insanlar
80
+ başladı
81
+ başlayan
82
+ yaşayanlar
83
+ yaşayan
84
+ varlığını
85
+ sürdüren
86
+ tamamlayıp
87
+ eş anlamlı
88
+ soy ismidir
89
+ büyütüldü
90
+ kullanıldı
91
+ yapıldı
92
+ lakapları
93
+ lakaplıdır
94
+ ismidir
95
+ biten
96
+ doğdu
97
+ yaşadı
98
+ içinde
99
+ anlayışı
100
+ aranan
101
+ doğumlular
102
+ doğumlu
103
+ eski
104
+ diyorlardı
105
+ yer
106
+ alan
107
+ uygun
108
+ yerlerde
109
+ yerler
110
+ yerleri
111
+ yerlerin
112
+ ilgili
113
+ ili
114
+ sanılmaktadır
115
+ başlayan
116
+ duyulan
117
+ Bağlantılar
118
+ bağlı
119
+ Dış
120
+ Dış
121
+ Bağlantılar
122
+ gidildi
123
+ işgal edildi
124
+ ünlüydü
125
+ olduğunu
126
+ olduğu
127
+ olduğunuz
128
+ olduğum
129
+ onların
130
+ onlar
131
+ onlardan
132
+ onlara
133
+ doğumlular
134
+ yaşayanlar
135
+ ölenler
136
+ türüdür
137
+ varsaymak
138
+ varsayılır
139
+ adlandırılmaktadır
140
+ kaynakça
141
+ Kaynakça
142
+ Biyografi
143
+ katılmıştır
144
+ getirmiştir
145
+ girmiştir
146
+ gitmişti
147
+ gidilen
148
+ gelen
149
+ gelinen
150
+ getirdim
151
+ getirip
152
+ getirdim
153
+ geldi
154
+ geldik
155
+ geldikleri
156
+ geldiklerinde
157
+ geldiklerini
158
+ geldikten
159
+ geldiler
160
+ geldim
161
+ geldin
162
+ geldiniz
163
+ geldiği
164
+ geldiğince
165
+ geldiğini
166
+ geldiğince
167
+ geldiğinde
168
+ geldiğini
169
+ gelirdi
170
+ geliri
171
+ geldiniz
172
+ gelmeden
173
+ genelde
174
+ gelince
175
+ geleceğin
176
+ biriydi
177
+ biricik
178
+ biridir
179
+ birileri
180
+ birilerinin
181
+ birlikleri
182
+ biriyle
183
+ birinin
184
+ biri
185
+ sizi
186
+ bizi
187
+ biyografi
188
+ beni
189
+ lakap
190
+ lakabıdır
191
+ ama
192
+ ancak
193
+ artık
194
+ aslında
195
+ ayrıca
196
+ bazı
197
+ bütün
198
+ çünkü
199
+ daha
200
+ de
201
+ da
202
+ gibi
203
+ hem
204
+ her
205
+ hiç
206
+ ile
207
+ ise
208
+ kez
209
+ ki
210
+ muhtemelen
211
+ nasıl
212
+ ne
213
+ neden
214
+ o
215
+ onu
216
+ onun
217
+ onlar
218
+ oysa
219
+ pek
220
+ peki
221
+ siz
222
+ u
223
+ şunu
224
+ sizin
225
+ tam
226
+ tüm
227
+ veya
228
+ ya
229
+ yani
230
+ yine
231
+ yoksa
232
+ çok
233
+ az
234
+ fazla
235
+ başka
236
+ belki
237
+ kendi
238
+ kendine
239
+ kendini
240
+ kendisi
241
+ kadar
242
+ önce
243
+ sonra
244
+ tekrar
245
+ hep
246
+ henüz
247
+ hiç
248
+ hemen
249
+ yalnızca
250
+ zaten
251
+ şimdi
252
+ tabii
253
+ tabi
254
+ zaten
255
+ üzere
256
+ gitmişti
257
+ gidiyor
258
+ gitti
259
+ gidip
260
+ gidince
261
+ gidemedim
262
+ gelen
263
+ gelmişti
264
+ geliyor
265
+ gelince
266
+ geldim
267
+ geldin
268
+ geldiler
269
+ geldikten
270
+ geldiğini
271
+ gelir
272
+ getiriyor
273
+ getirdim
274
+ getirdik
275
+ getirdiler
276
+ getiremedik
277
+ getirtip
278
+ getirtti
279
+ getiren
280
+ getirilen
281
+ getirebilirim
282
+ getirip
283
+ getirt
284
+ İsim
285
+ ismidir
286
+ ismi
287
+ Bu
288
+ şu
289
+ Şu
290
+ şuna
291
+ şundan
292
+ şunları
293
+ şunu
294
+ şöyle
295
+ böyle
296
+ ek
297
+ bir
298
+ biri
299
+ biridir
300
+ birileri
301
+ birilerinin
302
+ birşeyi
303
+ birlikleri
304
+ birkez
305
+ birinin
306
+ bitmiştir
307
+ biten
308
+ bitti
309
+ bittabi
310
+ birçok
311
+ soyadları
312
+ eş anlamlı
313
+ eş anlamlıdır
temizleme.ipynb ADDED
@@ -0,0 +1,267 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "400.000 satır üzerinde temizleme"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "code",
12
+ "execution_count": 2,
13
+ "metadata": {},
14
+ "outputs": [
15
+ {
16
+ "name": "stdout",
17
+ "output_type": "stream",
18
+ "text": [
19
+ " _id id \\\n",
20
+ "0 66c33a8c3b8bd216bd8ea93a 3525037 \n",
21
+ "1 66c33a8c3b8bd216bd8ea93b 3532700 \n",
22
+ "2 66c33a8c3b8bd216bd8ea93c 3203545 \n",
23
+ "3 66c33a8c3b8bd216bd8ea93d 1765445 \n",
24
+ "4 66c33a8c3b8bd216bd8ea93e 575462 \n",
25
+ "\n",
26
+ " url title \\\n",
27
+ "0 https://tr.wikipedia.org/wiki/P%C5%9F%C4%B1qo%... Pşıqo Ahecaqo \n",
28
+ "1 https://tr.wikipedia.org/wiki/Craterolophinae Craterolophinae \n",
29
+ "2 https://tr.wikipedia.org/wiki/Notocrabro Notocrabro \n",
30
+ "3 https://tr.wikipedia.org/wiki/Ibrahim%20Sissoko Ibrahim Sissoko \n",
31
+ "4 https://tr.wikipedia.org/wiki/Salah%20Cedid Salah Cedid \n",
32
+ "\n",
33
+ " text \n",
34
+ "0 Pşıqo Ahecaqo (), Çerkes siyasetçi, askeri kom... \n",
35
+ "1 Craterolophinae, Depastridae familyasına bağlı... \n",
36
+ "2 Notocrabro Crabronina oymağına bağlı bir cinst... \n",
37
+ "3 İbrahim Sissoko (d. 30 Kasım 1991), Fildişi Sa... \n",
38
+ "4 Salah Cedid (1926-1993) (Arapça: صلاح جديد) Su... \n"
39
+ ]
40
+ }
41
+ ],
42
+ "source": [
43
+ "import pandas as pd\n",
44
+ "\n",
45
+ "# CSV dosyasını yükleme\n",
46
+ "df = pd.read_csv(\"EgitimDatabase.train.csv\")\n",
47
+ "\n",
48
+ "# Veriyi kontrol etme\n",
49
+ "print(df.head()) # İlk 5 satırı görmek için\n"
50
+ ]
51
+ },
52
+ {
53
+ "cell_type": "code",
54
+ "execution_count": 1,
55
+ "metadata": {},
56
+ "outputs": [
57
+ {
58
+ "name": "stdout",
59
+ "output_type": "stream",
60
+ "text": [
61
+ " _id id \\\n",
62
+ "0 66c33a8c3b8bd216bd8ea93a 3525037 \n",
63
+ "1 66c33a8c3b8bd216bd8ea93b 3532700 \n",
64
+ "2 66c33a8c3b8bd216bd8ea93c 3203545 \n",
65
+ "3 66c33a8c3b8bd216bd8ea93d 1765445 \n",
66
+ "4 66c33a8c3b8bd216bd8ea93e 575462 \n",
67
+ "\n",
68
+ " url title \\\n",
69
+ "0 https://tr.wikipedia.org/wiki/P%C5%9F%C4%B1qo%... Pşıqo Ahecaqo \n",
70
+ "1 https://tr.wikipedia.org/wiki/Craterolophinae Craterolophinae \n",
71
+ "2 https://tr.wikipedia.org/wiki/Notocrabro Notocrabro \n",
72
+ "3 https://tr.wikipedia.org/wiki/Ibrahim%20Sissoko Ibrahim Sissoko \n",
73
+ "4 https://tr.wikipedia.org/wiki/Salah%20Cedid Salah Cedid \n",
74
+ "\n",
75
+ " text \n",
76
+ "0 Pşıqo Ahecaqo (), Çerkes siyasetçi, askeri kom... \n",
77
+ "1 Craterolophinae, Depastridae familyasına bağlı... \n",
78
+ "2 Notocrabro Crabronina oymağına bağlı bir cinst... \n",
79
+ "3 İbrahim Sissoko (d. 30 Kasım 1991), Fildişi Sa... \n",
80
+ "4 Salah Cedid (1926-1993) (Arapça: صلاح جديد) Su... \n"
81
+ ]
82
+ }
83
+ ],
84
+ "source": [
85
+ "import pandas as pd\n",
86
+ "\n",
87
+ "# CSV dosyasından sadece ilk 400.000 satırı çekmek\n",
88
+ "df = pd.read_csv(\"EgitimDatabase.train.csv\", nrows=400000)\n",
89
+ "\n",
90
+ "# Veriyi kontrol etme\n",
91
+ "print(df.head()) # İlk 5 satırı görmek için\n",
92
+ "\n",
93
+ "# Yeni CSV dosyasına kaydetme\n",
94
+ "df.to_csv(\"veriler_first_400k.csv\", index=False)\n"
95
+ ]
96
+ },
97
+ {
98
+ "cell_type": "code",
99
+ "execution_count": 1,
100
+ "metadata": {},
101
+ "outputs": [
102
+ {
103
+ "name": "stdout",
104
+ "output_type": "stream",
105
+ "text": [
106
+ "Veri temizleme işlemi tamamlandı. Güncellenmiş dosya: 'veriler_updated.csv'\n"
107
+ ]
108
+ }
109
+ ],
110
+ "source": [
111
+ "import pandas as pd\n",
112
+ "import re\n",
113
+ "#----------------------------------------------------------------------\n",
114
+ "input_file = \"veriler_first_400k.csv\"\n",
115
+ "\n",
116
+ "#-------------------------------------------------------------------------\n",
117
+ "def extract_removed_text(original_text, cleaned_text):\n",
118
+ " \"\"\"Orijinal ve temizlenmiş metinler arasındaki farkı çıkarır.\"\"\"\n",
119
+ " original_words = set(original_text.split())\n",
120
+ " cleaned_words = set(cleaned_text.split())\n",
121
+ " removed_words = original_words - cleaned_words\n",
122
+ " return ' '.join(removed_words)\n",
123
+ "\n",
124
+ "#-------------------------------------------------------------------\n",
125
+ "def metni_temizle(metin):\n",
126
+ " \"\"\"Yılları koruyarak metni temizler.\"\"\"\n",
127
+ " temiz_metin = re.sub(r'\\b(?!\\d{4}\\b)\\d+', '', metin) \n",
128
+ " temiz_metin = re.sub(r'[^\\w\\s]', '', temiz_metin) \n",
129
+ " temiz_metin = re.sub(r'\\s+', ' ', temiz_metin) \n",
130
+ " return temiz_metin.strip()\n",
131
+ "\n",
132
+ "\n",
133
+ "chunk_size = 1000\n",
134
+ "error_rows = []\n",
135
+ "\n",
136
+ "chunks = pd.read_csv(input_file, chunksize=chunk_size, on_bad_lines='skip', delimiter=',', quotechar='\"', encoding='utf-8')\n",
137
+ "\n",
138
+ "#---------------> İşlenmiş tüm chunk'ları tutmak için liste\n",
139
+ "processed_chunks = []\n",
140
+ "\n",
141
+ "for chunk in chunks:\n",
142
+ " # -------------->Hatalı verileri ayıkla\n",
143
+ " error_chunk = chunk[chunk['text'].isna()]\n",
144
+ " if not error_chunk.empty:\n",
145
+ " error_rows.append(error_chunk)\n",
146
+ " \n",
147
+ " # ------------->Boş olmayan verileri temizle\n",
148
+ " cleaned_chunk = chunk.dropna(subset=['text']).copy()\n",
149
+ " \n",
150
+ " \n",
151
+ " cleaned_chunk['cleaned_text'] = cleaned_chunk['text'].apply(metni_temizle)\n",
152
+ " cleaned_chunk['removed_text'] = cleaned_chunk.apply(\n",
153
+ " lambda row: extract_removed_text(row['text'], row['cleaned_text']), axis=1\n",
154
+ " )\n",
155
+ " \n",
156
+ " # ---------->İşlenmiş chunk'ları listeye ekle\n",
157
+ " processed_chunks.append(cleaned_chunk)\n",
158
+ "\n",
159
+ "\n",
160
+ "final_df = pd.concat(processed_chunks, ignore_index=True)\n",
161
+ "\n",
162
+ "# -------------->Hatalı satırları ayır ve CSV olarak kaydet\n",
163
+ "if error_rows:\n",
164
+ " error_df = pd.concat(error_rows, ignore_index=True)\n",
165
+ " error_df.to_csv(\"error_rows.csv\", index=False)\n",
166
+ "\n",
167
+ "# Yeni sütunları ekleyerek ana CSV'yi güncelle\n",
168
+ "final_df.to_csv(\"veriler_updated.csv\", index=False)\n",
169
+ "\n",
170
+ "print(\"Veri temizleme işlemi tamamlandı. Güncellenmiş dosya: 'veriler_updated.csv'\")\n"
171
+ ]
172
+ },
173
+ {
174
+ "cell_type": "code",
175
+ "execution_count": 2,
176
+ "metadata": {},
177
+ "outputs": [
178
+ {
179
+ "name": "stdout",
180
+ "output_type": "stream",
181
+ "text": [
182
+ " _id id \\\n",
183
+ "0 66c33a8c3b8bd216bd8ea93a 3525037 \n",
184
+ "1 66c33a8c3b8bd216bd8ea93b 3532700 \n",
185
+ "2 66c33a8c3b8bd216bd8ea93c 3203545 \n",
186
+ "3 66c33a8c3b8bd216bd8ea93d 1765445 \n",
187
+ "4 66c33a8c3b8bd216bd8ea93e 575462 \n",
188
+ "\n",
189
+ " url title \\\n",
190
+ "0 https://tr.wikipedia.org/wiki/P%C5%9F%C4%B1qo%... Pşıqo Ahecaqo \n",
191
+ "1 https://tr.wikipedia.org/wiki/Craterolophinae Craterolophinae \n",
192
+ "2 https://tr.wikipedia.org/wiki/Notocrabro Notocrabro \n",
193
+ "3 https://tr.wikipedia.org/wiki/Ibrahim%20Sissoko Ibrahim Sissoko \n",
194
+ "4 https://tr.wikipedia.org/wiki/Salah%20Cedid Salah Cedid \n",
195
+ "\n",
196
+ " text \\\n",
197
+ "0 Pşıqo Ahecaqo (), Çerkes siyasetçi, askeri kom... \n",
198
+ "1 Craterolophinae, Depastridae familyasına bağlı... \n",
199
+ "2 Notocrabro Crabronina oymağına bağlı bir cinst... \n",
200
+ "3 İbrahim Sissoko (d. 30 Kasım 1991), Fildişi Sa... \n",
201
+ "4 Salah Cedid (1926-1993) (Arapça: صلاح جديد) Su... \n",
202
+ "\n",
203
+ " cleaned_text \\\n",
204
+ "0 Pşıqo Ahecaqo Çerkes siyasetçi askeri komutan ... \n",
205
+ "1 Craterolophinae Depastridae familyasına bağlı ... \n",
206
+ "2 Notocrabro Crabronina oymağına bağlı bir cinst... \n",
207
+ "3 İbrahim Sissoko d Kasım 1991 Fildişi Sahilili ... \n",
208
+ "4 Salah Cedid 19261993 Arapça صلاح جديد Suriyeli... \n",
209
+ "\n",
210
+ " removed_text \n",
211
+ "0 vardı. \"Beyoğlu\" 12.000 Ahecaqo'nun soylular\\n... \n",
212
+ "1 \\n\\nDepastridae - bağlantılar\\n\\nKaynakça Clar... \n",
213
+ "2 \\n\\nCrabronina bağlantılar\\n\\nKaynakça cinstir... \n",
214
+ "3 €1.5 Jean-Alain kazandı. yaptı.\\n\\nEskişehirsp... \n",
215
+ "4 tutuklatmıştır. 1966’dan sonrasında, girmiştir... \n"
216
+ ]
217
+ }
218
+ ],
219
+ "source": [
220
+ "import pandas as pd\n",
221
+ "\n",
222
+ "# CSV dosyasını yükleme\n",
223
+ "df = pd.read_csv(\"veriler_updated.csv\")\n",
224
+ "\n",
225
+ "# Tekrar eden verileri tespit etme\n",
226
+ "duplicated_values = df[\"cleaned_text\"][df[\"cleaned_text\"].duplicated(keep=False)]\n",
227
+ "\n",
228
+ "# Bu değerleri dataset'ten tamamen çıkarma\n",
229
+ "df_cleaned = df[~df[\"cleaned_text\"].isin(duplicated_values)]\n",
230
+ "\n",
231
+ "# Temizlenmiş veriyi kontrol etme (ilk 5 satır)\n",
232
+ "print(df_cleaned.head())\n",
233
+ "\n",
234
+ "# Temizlenmiş DataFrame'i yeni bir CSV dosyasına kaydetme\n",
235
+ "df_cleaned.to_csv(\"veriler_cleaned.csv\", index=False)\n"
236
+ ]
237
+ },
238
+ {
239
+ "cell_type": "code",
240
+ "execution_count": null,
241
+ "metadata": {},
242
+ "outputs": [],
243
+ "source": []
244
+ }
245
+ ],
246
+ "metadata": {
247
+ "kernelspec": {
248
+ "display_name": "Python 3",
249
+ "language": "python",
250
+ "name": "python3"
251
+ },
252
+ "language_info": {
253
+ "codemirror_mode": {
254
+ "name": "ipython",
255
+ "version": 3
256
+ },
257
+ "file_extension": ".py",
258
+ "mimetype": "text/x-python",
259
+ "name": "python",
260
+ "nbconvert_exporter": "python",
261
+ "pygments_lexer": "ipython3",
262
+ "version": "3.10.11"
263
+ }
264
+ },
265
+ "nbformat": 4,
266
+ "nbformat_minor": 2
267
+ }
veriler_first_400k.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3380f3c34d811c052e5e89f9e1a851c2b76f3137f4984dad17f529cbc91056fb
3
+ size 756915538
veriler_tokenized.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:59e7ddd8570948af90754fcd5fd57adae4408a36d96b087f62f779f216f888bd
3
+ size 2312831045