kadirbalalan commited on
Commit
f9933ce
1 Parent(s): 1297840

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.py +51 -0
  2. requirements.txt +3 -0
  3. stopwords.txt +336 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import spacy
2
+ import streamlit as st
3
+
4
+ def main():
5
+ st.title("Metin Özetleyici")
6
+ document = st.text_area("Metninizi buraya girin:")
7
+ if st.button("Özetle"):
8
+ summary = summarize(document)
9
+ st.subheader("Özet:")
10
+ st.write(summary)
11
+
12
+ stopwordstxt = open("stopwords.txt", "r", encoding="utf8")
13
+ stopwords = stopwordstxt.read()
14
+ nlp = spacy.load("tr_core_news_trf")
15
+ def main():
16
+ st.title("Text Summarizer")
17
+ document = st.text_area("Enter the document:")
18
+ if st.button("Summarize"):
19
+ summary = summarize(document)
20
+ st.subheader("Summary:")
21
+ st.write(summary)
22
+
23
+ def summarize(document):
24
+ docx = nlp(document)
25
+ word_frequencies = {}
26
+ for word in docx:
27
+ if word.text not in stopwords:
28
+ if word.text not in word_frequencies.keys():
29
+ word_frequencies[word.text] = 1
30
+ else:
31
+ word_frequencies[word.text] += 1
32
+ maximum_frequency = max(word_frequencies.values())
33
+ for word in word_frequencies.keys():
34
+ word_frequencies[word] = (word_frequencies[word]/maximum_frequency)
35
+ sentence_list = [ sentence for sentence in docx.sents ]
36
+ sentence_scores = {}
37
+ for sent in sentence_list:
38
+ for word in sent:
39
+ if word.text.lower() in word_frequencies.keys():
40
+ if len(sent.text.split(" ")) < 30:
41
+ if sent not in sentence_scores.keys():
42
+ sentence_scores[sent] = word_frequencies[word.text.lower()]
43
+ else:
44
+ sentence_scores[sent] += word_frequencies[word.text.lower()]
45
+ from heapq import nlargest
46
+ summarized_sentences = nlargest(7,sentence_scores,key=sentence_scores.get)
47
+ final_sentences = [ w.text for w in summarized_sentences ]
48
+ summary = " ".join(final_sentences)
49
+ return summary
50
+ if __name__ == "__main__":
51
+ main()
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ spacy
2
+ streamlit
3
+ https://huggingface.co/turkish-nlp-suite/tr_core_news_trf/resolve/main/tr_core_news_trf-any-py3-none-any.whl
stopwords.txt ADDED
@@ -0,0 +1,336 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ["ama",
2
+ "amma",
3
+ "anca",
4
+ "ancak",
5
+ "belki",
6
+ "çünkü",
7
+ "dahi",
8
+ "eğer",
9
+ "emme",
10
+ "fakat",
11
+ "gah",
12
+ "gerek",
13
+ "hakeza",
14
+ "halbuki",
15
+ "hatta",
16
+ "hele",
17
+ "hem",
18
+ "hoş",
19
+ "ile",
20
+ "ile",
21
+ "imdi",
22
+ "ister",
23
+ "kah",
24
+ "keşke",
25
+ "keza",
26
+ "kezalik",
27
+ "kim",
28
+ "lakin",
29
+ "madem",
30
+ "mademki",
31
+ "mamafih",
32
+ "meğer",
33
+ "meğerki",
34
+ "meğerse",
35
+ "netekim",
36
+ "neyse",
37
+ "nitekim",
38
+ "oysa",
39
+ "oysaki",
40
+ "şayet",
41
+ "velev",
42
+ "velhasıl",
43
+ "velhasılıkelam",
44
+ "veya",
45
+ "veyahut",
46
+ "yahut",
47
+ "yalnız",
48
+ "yani",
49
+ "yok",
50
+ "yoksa",
51
+ "zira",
52
+ "acaba",
53
+ "acep",
54
+ "açıkça",
55
+ "açıkçası",
56
+ "adamakıllı",
57
+ "adeta",
58
+ "bazen",
59
+ "bazı",
60
+ "bilcümle",
61
+ "binaen",
62
+ "binaenaleyh",
63
+ "bir",
64
+ "biraz",
65
+ "birazdan",
66
+ "birden",
67
+ "birden",
68
+ "birdenbire",
69
+ "birice",
70
+ "birlikte",
71
+ "bitevi",
72
+ "biteviye",
73
+ "bittabi",
74
+ "bizatihi",
75
+ "bizce",
76
+ "bizcileyin",
77
+ "bizden",
78
+ "bizzat",
79
+ "boşuna",
80
+ "böyle",
81
+ "böylece",
82
+ "böylecene",
83
+ "böylelikle",
84
+ "böylemesine",
85
+ "böylesine",
86
+ "buracıkta",
87
+ "burada",
88
+ "buradan",
89
+ "büsbütün",
90
+ "çabuk",
91
+ "çabukça",
92
+ "çeşitli",
93
+ "çoğu",
94
+ "çoğun",
95
+ "çoğunca",
96
+ "çoğunlukla",
97
+ "çok",
98
+ "çokça",
99
+ "çokluk",
100
+ "çoklukla",
101
+ "cuk",
102
+ "daha",
103
+ "dahil",
104
+ "dahilen",
105
+ "daima",
106
+ "demin",
107
+ "demincek",
108
+ "deminden",
109
+ "derakap",
110
+ "derhal",
111
+ "derken",
112
+ "diye",
113
+ "elbet",
114
+ "elbette",
115
+ "enikonu",
116
+ "epey",
117
+ "epeyce",
118
+ "epeyi",
119
+ "esasen",
120
+ "esnasında",
121
+ "etraflı",
122
+ "etraflıca",
123
+ "evleviyetle",
124
+ "evvel",
125
+ "evvela",
126
+ "evvelce",
127
+ "evvelden",
128
+ "evvelemirde",
129
+ "evveli",
130
+ "gayet",
131
+ "gayetle",
132
+ "gayri",
133
+ "gayrı",
134
+ "geçende",
135
+ "geçenlerde",
136
+ "gene",
137
+ "gerçi",
138
+ "gibi",
139
+ "gibilerden",
140
+ "gibisinden",
141
+ "gine",
142
+ "halen",
143
+ "halihazırda",
144
+ "haliyle",
145
+ "handiyse",
146
+ "hani",
147
+ "hasılı",
148
+ "hulasaten",
149
+ "iken",
150
+ "illa",
151
+ "illaki",
152
+ "itibarıyla",
153
+ "iyice",
154
+ "iyicene",
155
+ "kala",
156
+ "kez",
157
+ "kısaca",
158
+ "külliyen",
159
+ "lütfen",
160
+ "nasıl",
161
+ "nasılsa",
162
+ "nazaran",
163
+ "neden",
164
+ "nedeniyle",
165
+ "nedense",
166
+ "nerde",
167
+ "nerden",
168
+ "nerdeyse",
169
+ "nerede",
170
+ "nereden",
171
+ "neredeyse",
172
+ "nereye",
173
+ "neye",
174
+ "neyi",
175
+ "nice",
176
+ "niçin",
177
+ "nihayet",
178
+ "nihayetinde",
179
+ "niye",
180
+ "oldu",
181
+ "oldukça",
182
+ "olur",
183
+ "onca",
184
+ "önce",
185
+ "önceden",
186
+ "önceleri",
187
+ "öncelikle",
188
+ "onculayın",
189
+ "ondan",
190
+ "oracık",
191
+ "oracıkta",
192
+ "orada",
193
+ "oradan",
194
+ "oranca",
195
+ "oranla",
196
+ "oraya",
197
+ "öyle",
198
+ "öylece",
199
+ "öylelikle",
200
+ "öylemesine",
201
+ "pek",
202
+ "pekala",
203
+ "pekçe",
204
+ "peki",
205
+ "peyderpey",
206
+ "sadece",
207
+ "sahi",
208
+ "sahiden",
209
+ "sanki",
210
+ "sonra",
211
+ "sonradan",
212
+ "sonraları",
213
+ "sonunda",
214
+ "şöyle",
215
+ "şuncacık",
216
+ "şuracıkta",
217
+ "tabii",
218
+ "tam",
219
+ "tamam",
220
+ "tamamen",
221
+ "tamamıyla",
222
+ "tek",
223
+ "vasıtasıyla",
224
+ "yakinen",
225
+ "yakında",
226
+ "yakından",
227
+ "yakınlarda",
228
+ "yalnız",
229
+ "yalnızca",
230
+ "yeniden",
231
+ "yenilerde",
232
+ "yine",
233
+ "yok",
234
+ "yoluyla",
235
+ "yüzünden",
236
+ "zaten",
237
+ "zati",
238
+ "ait",
239
+ "bari",
240
+ "beri",
241
+ "bile",
242
+ "değin",
243
+ "dek",
244
+ "denli",
245
+ "doğru",
246
+ "dolayı",
247
+ "dolayısıyla",
248
+ "gelgelelim",
249
+ "gibi",
250
+ "gırla",
251
+ "göre",
252
+ "hasebiyle",
253
+ "için",
254
+ "ila",
255
+ "ile",
256
+ "ilen",
257
+ "indinde",
258
+ "inen",
259
+ "kadar",
260
+ "kaffesi",
261
+ "karşın",
262
+ "kelli",
263
+ "Leh",
264
+ "maada",
265
+ "mebni",
266
+ "naşi",
267
+ "rağmen",
268
+ "üzere",
269
+ "zarfında",
270
+ "öbür",
271
+ "bana",
272
+ "başkası",
273
+ "ben",
274
+ "beriki",
275
+ "birbiri",
276
+ "birçoğu",
277
+ "biri",
278
+ "birileri",
279
+ "birisi",
280
+ "birkaçı",
281
+ "biz",
282
+ "bizimki",
283
+ "buna",
284
+ "bunda",
285
+ "bundan",
286
+ "bunlar",
287
+ "bunu",
288
+ "bunun",
289
+ "burası",
290
+ "çoğu",
291
+ "çoğu",
292
+ "çokları",
293
+ "çoklarınca",
294
+ "cümlesi",
295
+ "değil",
296
+ "diğeri",
297
+ "filanca",
298
+ "hangisi",
299
+ "hepsi",
300
+ "hiçbiri",
301
+ "iş",
302
+ "kaçı",
303
+ "kaynak",
304
+ "kendi",
305
+ "kim",
306
+ "kimi",
307
+ "kimisi",
308
+ "kimse",
309
+ "kimse",
310
+ "kimsecik",
311
+ "kimsecikler",
312
+ "nere",
313
+ "neresi",
314
+ "öbürkü",
315
+ "öbürü",
316
+ "ona",
317
+ "onda",
318
+ "ondan",
319
+ "onlar",
320
+ "onu",
321
+ "onun",
322
+ "öteki",
323
+ "ötekisi",
324
+ "öz",
325
+ "sana",
326
+ "sen",
327
+ "siz",
328
+ "şuna",
329
+ "şunda",
330
+ "şundan",
331
+ "şunlar",
332
+ "şunu",
333
+ "şunun",
334
+ "şura",
335
+ "şuracık",
336
+ "şurası", 0o", "0s", "3a", "3b", "3d", "6b", "6o", "a", "a1", "a2", "a3", "a4", "ab", "able", "about", "above", "abst", "ac", "accordance", "according", "accordingly", "across", "act", "actually", "ad", "added", "adj", "ae", "af", "affected", "affecting", "affects", "after", "afterwards", "ag", "again", "against", "ah", "ain", "ain't", "aj", "al", "all", "allow", "allows", "almost", "alone", "along", "already", "also", "although", "always", "am", "among", "amongst", "amoungst", "amount", "an", "and", "announce", "another", "any", "anybody", "anyhow", "anymore", "anyone", "anything", "anyway", "anyways", "anywhere", "ao", "ap", "apart", "apparently", "appear", "appreciate", "appropriate", "approximately", "ar", "are", "aren", "arent", "aren't", "arise", "around", "as", "a's", "aside", "ask", "asking", "associated", "at", "au", "auth", "av", "available", "aw", "away", "awfully", "ax", "ay", "az", "b", "b1", "b2", "b3", "ba", "back", "bc", "bd", "be", "became", "because", "become", "becomes", "becoming", "been", "before", "beforehand", "begin", "beginning", "beginnings", "begins", "behind", "being", "believe", "below", "beside", "besides", "best", "better", "between", "beyond", "bi", "bill", "biol", "bj", "bk", "bl", "bn", "both", "bottom", "bp", "br", "brief", "briefly", "bs", "bt", "bu", "but", "bx", "by", "c", "c1", "c2", "c3", "ca", "call", "came", "can", "cannot", "cant", "can't", "cause", "causes", "cc", "cd", "ce", "certain", "certainly", "cf", "cg", "ch", "changes", "ci", "cit", "cj", "cl", "clearly", "cm", "c'mon", "cn", "co", "com", "come", "comes", "con", "concerning", "consequently", "consider", "considering", "contain", "containing", "contains", "corresponding", "could", "couldn", "couldnt", "couldn't", "course", "cp", "cq", "cr", "cry", "cs", "c's", "ct", "cu", "currently", "cv", "cx", "cy", "cz", "d", "d2", "da", "date", "dc", "dd", "de", "definitely", "describe", "described", "despite", "detail", "df", "di", "did", "didn", "didn't", "different", "dj", "dk", "dl", "do", "does", "doesn", "doesn't", "doing", "don", "done", "don't", "down", "downwards", "dp", "dr", "ds", "dt", "du", "due", "during", "dx", "dy", "e", "e2", "e3", "ea", "each", "ec", "ed", "edu", "ee", "ef", "effect", "eg", "ei", "eight", "eighty", "either", "ej", "el", "eleven", "else", "elsewhere", "em", "empty", "en", "end", "ending", "enough", "entirely", "eo", "ep", "eq", "er", "es", "especially", "est", "et", "et-al", "etc", "eu", "ev", "even", "ever", "every", "everybody", "everyone", "everything", "everywhere", "ex", "exactly", "example", "except", "ey", "f", "f2", "fa", "far", "fc", "few", "ff", "fi", "fifteen", "fifth", "fify", "fill", "find", "fire", "first", "five", "fix", "fj", "fl", "fn", "fo", "followed", "following", "follows", "for", "former", "formerly", "forth", "forty", "found", "four", "fr", "from", "front", "fs", "ft", "fu", "full", "further", "furthermore", "fy", "g", "ga", "gave", "ge", "get", "gets", "getting", "gi", "give", "given", "gives", "giving", "gj", "gl", "go", "goes", "going", "gone", "got", "gotten", "gr", "greetings", "gs", "gy", "h", "h2", "h3", "had", "hadn", "hadn't", "happens", "hardly", "has", "hasn", "hasnt", "hasn't", "have", "haven", "haven't", "having", "he", "hed", "he'd", "he'll", "hello", "help", "hence", "her", "here", "hereafter", "hereby", "herein", "heres", "here's", "hereupon", "hers", "herself", "hes", "he's", "hh", "hi", "hid", "him", "himself", "his", "hither", "hj", "ho", "home", "hopefully", "how", "howbeit", "however", "how's", "hr", "hs", "http", "hu", "hundred", "hy", "i", "i2", "i3", "i4", "i6", "i7", "i8", "ia", "ib", "ibid", "ic", "id", "i'd", "ie", "if", "ig", "ignored", "ih", "ii", "ij", "il", "i'll", "im", "i'm", "immediate", "immediately", "importance", "important", "in", "inasmuch", "inc", "indeed", "index", "indicate", "indicated", "indicates", "information", "inner", "insofar", "instead", "interest", "into", "invention", "inward", "io", "ip", "iq", "ir", "is", "isn", "isn't", "it", "itd", "it'd", "it'll", "its", "it's", "itself", "iv", "i've", "ix", "iy", "iz", "j", "jj", "jr", "js", "jt", "ju", "just", "k", "ke", "keep", "keeps", "kept", "kg", "kj", "km", "know", "known", "knows", "ko", "l", "l2", "la", "largely", "last", "lately", "later", "latter", "latterly", "lb", "lc", "le", "least", "les", "less", "lest", "let", "lets", "let's", "lf", "like", "liked", "likely", "line", "little", "lj", "ll", "ll", "ln", "lo", "look", "looking", "looks", "los", "lr", "ls", "lt", "ltd", "m", "m2", "ma", "made", "mainly", "make", "makes", "many", "may", "maybe", "me", "mean", "means", "meantime", "meanwhile", "merely", "mg", "might", "mightn", "mightn't", "mill", "million", "mine", "miss", "ml", "mn", "mo", "more", "moreover", "most", "mostly", "move", "mr", "mrs", "ms", "mt", "mu", "much", "mug", "must", "mustn", "mustn't", "my", "myself", "n", "n2", "na", "name", "namely", "nay", "nc", "nd", "ne", "near", "nearly", "necessarily", "necessary", "need", "needn", "needn't", "needs", "neither", "never", "nevertheless", "new", "next", "ng", "ni", "nine", "ninety", "nj", "nl", "nn", "no", "nobody", "non", "none", "nonetheless", "noone", "nor", "normally", "nos", "not", "noted", "nothing", "novel", "now", "nowhere", "nr", "ns", "nt", "ny", "o", "oa", "ob", "obtain", "obtained", "obviously", "oc", "od", "of", "off", "often", "og", "oh", "oi", "oj", "ok", "okay", "ol", "old", "om", "omitted", "on", "once", "one", "ones", "only", "onto", "oo", "op", "oq", "or", "ord", "os", "ot", "other", "others", "otherwise", "ou", "ought", "our", "ours", "ourselves", "out", "outside", "over", "overall", "ow", "owing", "own", "ox", "oz", "p", "p1", "p2", "p3", "page", "pagecount", "pages", "par", "part", "particular", "particularly", "pas", "past", "pc", "pd", "pe", "per", "perhaps", "pf", "ph", "pi", "pj", "pk", "pl", "placed", "please", "plus", "pm", "pn", "po", "poorly", "possible", "possibly", "potentially", "pp", "pq", "pr", "predominantly", "present", "presumably", "previously", "primarily", "probably", "promptly", "proud", "provides", "ps", "pt", "pu", "put", "py", "q", "qj", "qu", "que", "quickly", "quite", "qv", "r", "r2", "ra", "ran", "rather", "rc", "rd", "re", "readily", "really", "reasonably", "recent", "recently", "ref", "refs", "regarding", "regardless", "regards", "related", "relatively", "research", "research-articl", "respectively", "resulted", "resulting", "results", "rf", "rh", "ri", "right", "rj", "rl", "rm", "rn", "ro", "rq", "rr", "rs", "rt", "ru", "run", "rv", "ry", "s", "s2", "sa", "said", "same", "saw", "say", "saying", "says", "sc", "sd", "se", "sec", "second", "secondly", "section", "see", "seeing", "seem", "seemed", "seeming", "seems", "seen", "self", "selves", "sensible", "sent", "serious", "seriously", "seven", "several", "sf", "shall", "shan", "shan't", "she", "shed", "she'd", "she'll", "shes", "she's", "should", "shouldn", "shouldn't", "should've", "show", "showed", "shown", "showns", "shows", "si", "side", "significant", "significantly", "similar", "similarly", "since", "sincere", "six", "sixty", "sj", "sl", "slightly", "sm", "sn", "so", "some", "somebody", "somehow", "someone", "somethan", "something", "sometime", "sometimes", "somewhat", "somewhere", "soon", "sorry", "sp", "specifically", "specified", "specify", "specifying", "sq", "sr", "ss", "st", "still", "stop", "strongly", "sub", "substantially", "successfully", "such", "sufficiently", "suggest", "sup", "sure", "sy", "system", "sz", "t", "t1", "t2", "t3", "take", "taken", "taking", "tb", "tc", "td", "te", "tell", "ten", "tends", "tf", "th", "than", "thank", "thanks", "thanx", "that", "that'll", "thats", "that's", "that've", "the", "their", "theirs", "them", "themselves", "then", "thence", "there", "thereafter", "thereby", "thered", "therefore", "therein", "there'll", "thereof", "therere", "theres", "there's", "thereto", "thereupon", "there've", "these", "they", "theyd", "they'd", "they'll", "theyre", "they're", "they've", "thickv", "thin", "think", "third", "this", "thorough", "thoroughly", "those", "thou", "though", "thoughh", "thousand", "three", "throug", "through", "throughout", "thru", "thus", "ti", "til", "tip", "tj", "tl", "tm", "tn", "to", "together", "too", "took", "top", "toward", "towards", "tp", "tq", "tr", "tried", "tries", "truly", "try", "trying", "ts", "t's", "tt", "tv", "twelve", "twenty", "twice", "two", "tx", "u", "u201d", "ue", "ui", "uj", "uk", "um", "un", "under", "unfortunately", "unless", "unlike", "unlikely", "until", "unto", "uo", "up", "upon", "ups", "ur", "us", "use", "used", "useful", "usefully", "usefulness", "uses", "using", "usually", "ut", "v", "va", "value", "various", "vd", "ve", "ve", "very", "via", "viz", "vj", "vo", "vol", "vols", "volumtype", "vq", "vs", "vt", "vu", "w", "wa", "want", "wants", "was", "wasn", "wasnt", "wasn't", "way", "we", "wed", "we'd", "welcome", "well", "we'll", "well-b", "went", "were", "we're", "weren", "werent", "weren't", "we've", "what", "whatever", "what'll", "whats", "what's", "when", "whence", "whenever", "when's", "where", "whereafter", "whereas", "whereby", "wherein", "wheres", "where's", "whereupon", "wherever", "whether", "which", "while", "whim", "whither", "who", "whod", "whoever", "whole", "who'll", "whom", "whomever", "whos", "who's", "whose", "why", "why's", "wi", "widely", "will", "willing", "wish", "with", "within", "without", "wo", "won", "wonder", "wont", "won't", "words", "world", "would", "wouldn", "wouldnt", "wouldn't", "www", "x", "x1", "x2", "x3", "xf", "xi", "xj", "xk", "xl", "xn", "xo", "xs", "xt", "xv", "xx", "y", "y2", "yes", "yet", "yj", "yl", "you", "youd", "you'd", "you'll", "your", "youre", "you're", "yours", "yourself", "yourselves", "you've", "yr", "ys", "yt", "z", "zero", "zi", "zz"]