¨ ˙ us ¨ ¸um ¨ Entropisi ile S¨ozcuklerin ¨ Izd Obeklenmesi Is¸ık Barıs¸ Fidaner Bilgisayar M¨uhendisli˘gi B¨ol¨um¨u ¨ ˙Istanbul Bo˘gazic¸i Universitesi, fidaner@alternatifbilisim.org Ali Taylan Cemgil Bilgisayar M¨uhendisli˘gi B¨ol¨um¨u ¨ ˙Istanbul Bo˘gazic¸i Universitesi, taylan.cemgil@boun.edu.tr ¨ Ozet Entropi toplas¸ması (ET) algoritmasını bir edebiyat metnindeki s¨ozc¨uklerin o¨ beklenmesine uygulamaktayız. ET, o¨ g˘ e k¨umelerinde parc¸alılı˘gı niceleyebilen izd¨us¸u¨ m entropisi (˙IE) fonksiyonunu en k¨uc¸u¨ k yapan hasis bir toplas¸ma yordamıdır. Metin, uygulamada bir o¨ zellik atamasına, s¨ozc¨uklerin metnin paragraflarında bulunmalarını temsil eden bir biles¸imsel nesneye indirgenmektedir. Deney sonuc¸ları indirgeme ve basitli˘gine ra˘gmen ET’nin metindeki s¨ozc¨ukler arasında belirgin ilis¸kilerin yakalanmasında kullanıs¸lı oldu˘gunu g¨ostermektedir. Python’da yazılan bu yordam, REBUS adıyla bir o¨ zg¨ur yazılım olarak yayınlanmıs¸tır. 1 Giris¸ Do˘gal dil is¸leme (DD˙I) problemleri, dillerde bulunan c¸ok c¸es¸itli incelik ve mu˘glaklıklar dolayısıyla ¨ yandan, s¨ozl¨u ve yazılı diller ortak zeminimizi olus¸turdu˘gundan, bu birc¸ok zorluk ic¸ermektedir. Ote problemlerin farklı alanlardaki insanlara tanıtılması m¨umk¨und¨ur. Bu zorluklara jenerik istatistiksel kavramlarla yaklas¸ılması o¨ zellikle elveris¸lidir, c¸u¨ nk¨u bu kavramlar biyoenformatik gibi bas¸ka zorlu alanlarda da de˘gerlendirilebilecektir. Bu makale, bir edebiyat metnindeki s¨ozc¨ukleri o¨ bekleyerek, yakın zamanda tanıtılmıs¸ [1] entropi toplas¸ması (ET) algoritmasının kullanımını o¨ rneklemektedir. G¨uncel DD˙I y¨ontemlerini izleyerek metinlerde temel o¨ g˘ elerin s¨ozc¨ukler oldu˘gunu varsaymaktayız [2, 3]. Ayrıca metin c¸o¨ z¨umlemesine basitles¸tirilmis¸ bir yaklas¸ım olarak, dizisel sıralamaları g¨ozardı etmekte, paragrafları birer s¨ozc¨uk k¨umesi, metnin tamamını bir paragraf k¨umesi saymaktayız. Geleneksel istatistiksel c¸o¨ z¨umlemede bu verideki s¨ozc¨uk k¨umelerinin paragraflardaki es¸-bulunmaları birles¸ik olasılıklar cinsinden form¨ule edilir. Bu olasılıksal form¨ulasyon parametrik-olmayan Bayesci modeller kullanılarak sınırsız sayıda s¨ozc¨ug˘ e genis¸letilebilir [4]. Fakat biz farklı bir ac¸ıdan yaklas¸maktayız: s¨ozc¨uk k¨umelerinin izd¨us¸u¨ m entropilerini (˙IE) hesaplayarak bunları—metindeki s¨ozc¨ukler arasında anlamlı korelasyonları bulmak ic¸in—entropi toplas¸ması (ET) denilen o¨ bekleme algoritmasında kullanmaktayız. ˙Ilis¸kili istatistiksel kavramları [1] yine kısaca de˘gerlendirece˘giz. Makalenin devamında, girdi verisinin o¨ zellik atamalarıyla nasıl temsil edildi˘gini, izd¨us¸u¨ m entropileriyle nasıl nicelendi˘gini ve entropi toplas¸masıyla nasıl o¨ beklendi˘gini tanımlamakta, bir yandan da deney yordamını tarif etmekteyiz. Makalenin sonunda sunulan sonuc¸larda, algoritmamızın girdi metnindeki s¨ozc¨ukler arasındaki c¸es¸itli anlamlı ilis¸kileri yakalayabildi˘gini g¨ostermekteyiz. ˙Izd¨us¸u¨ m entropisini es¸-bulunma ile kars¸ılas¸tırmalı olarak ele alan ek bir tartıs¸maya Ek A’da yer verilmis¸tir. 2 Girdi metni ve temsil edilis¸i Girdi metni olarak James Joyce’un Ulysses’ini1 (1922) sec¸tik. Bu metin 7437 paragraftan olus¸makta ve 29327 ayrı s¨ozc¨uk ic¸ermektedir. Bizim bilmek istedi˘gimizse hangi s¨ozc¨uklerin hangi paragraflarda bulundu˘gundan ibarettir. Bu bilgi S¸ekil 1’de alttaki s¨ozc¨uk o¨ g˘ elerini u¨ stteki paragraf o¨ g˘ elerine ba˘glayan iki taraflı bir c¸izge ile belirtilmis¸tir. n ayrı s¨ozc¨uk ic¸eren herhangi bir metni temsil eden o¨ zellik ataması s¸o¨ yle tanımlanacaktır: Bir o¨ g˘ e k¨umesi [n] = {1, 2, . . . , n}’nin bir o¨ zellik ataması 1 Bu romanın tam metnine http://www.gutenberg.org/ebooks/4300 adresinden eris¸ilebilir. 1 B1 B2 B3 B4 ... B|F | Entropi: H(F ) = ... P|F | i=1 |Bi | n log |Bni | ˙Izd¨us¸u¨ m: P ROJ(F, S) = {B ∩ S}B∈F \{∅} ... ˙Izd¨us¸u¨ m entropisi: H(P ROJ(F, S)) a b c d e f g h x S¸ekil 1: Metni temsil eden o¨ zellik atamasındaki her blok bir paragrafı temsil eder. F = {B1 , . . . , B|F | } s¸unu sa˘glayan bir c¸oklu-k¨umedir: b¨ut¨un i ∈ {1, . . . , n} ic¸in Bi ⊂ [n] ve Bi 6= ∅. Bu tanımlamadaki bloklar B1 , . . . , B|F | girdi metnindeki paragrafları temsil edecektir. S¸ekil 1’de verilen tanımlamalara bakınız. Entropi F ’nin blokları bakımından o¨ g˘ elerin parc¸alılı˘gını ¨ gelerin yarıya yakınını ic¸eren bloklar entropiye en y¨uksek katkıyı yapar. F ’nin S’ye niceler. O˘ izd¨us¸u¨ m¨u F ’nin kapsamını bu altk¨umeyle kısıtlar, b¨oylece bu belirli altk¨umeye odaklanan bir s¨uzgec¸ is¸levi g¨or¨ur. ˙Izd¨us¸u¨ m entropisi F ’yi belirli bir altk¨umeye izd¨us¸u¨ rerek bu altk¨ume ic¸in parc¸alılı˘gı hesaplar (Bkz. [1]). Bir altk¨umenin izd¨us¸u¨ m entropisi d¨us¸u¨ kse, o¨ g˘ elerinin entropik korelasyonu vardır deriz. Bir a o¨ g˘ esinin izd¨us¸u¨ m b¨uy¨ukl¨ug˘ u¨ |P ROJ(F, {a})| onu ic¸eren blokların sayısıdır. Bizim durumumuzda, a bir s¨ozc¨ug˘ u¨ belirtir, izd¨us¸u¨ m b¨uy¨ukl¨ug˘ u¨ yse s¨ozc¨ug˘ u¨ n bulundu˘gu paragraf sayısıdır. ¨ kumelerinin ¨ 3 S¨ozcuk o¨ beklenmesi Ulysses indirgenmis¸ olsa da, o¨ zellik ataması c¸ok fazla s¨ozc¨uk ic¸ermektedir. C ¸ o¨ z¨umleme ic¸in y¨onetilebilir b¨uy¨ukl¨ukte s¨ozc¨uk k¨umelerine ihtiyac¸ vardır. S¨ozc¨uklerin izd¨us¸u¨ m b¨uy¨ukl¨uklerini (bulundukları paragraf sayılarını) 10, 11, 12-13, 15-17, 20-25, 30-39, 40-59, 60-149 ve 150-7020 menzillerinde ¨ kısıtlayarak 9 k¨ume olus¸turulur. Ozellik ataması bu s¨ozc¨uk k¨umelerinin her birine izd¨us¸u¨ r¨ul¨ur, bu izd¨us¸u¨ r¨ulm¨us¸ o¨ zellik atamalarının her birinde ET c¸alıs¸tırılır. ET algoritmasının is¸leyis¸ kodu s¸o¨ yledir: Entropi Toplas¸ması Algoritması: 1. Altk¨umeleri Ψ ← {{1}, {2}, . . . , {n}} alarak bas¸la. 2. H(P ROJ(F, Sa ∪ Sb )) entropisini en k¨uc¸u¨ k yapan {Sa , Sb } ⊂ Ψ altk¨ume ikilisini bul. 3. Altk¨umeleri Ψ ← (Ψ\{Sa , Sb }) ∪ {Sa ∪ Sb } olarak g¨uncelle. 4. E˘ger |Ψ| > 1 ise 2’ye git. 5. ˙Ikili c¸atallanmalar ic¸in sec¸ilmis¸ en k¨uc¸u¨ k entropi de˘gerlerini g¨osteren bir dendrogram c¸izdir. ET, her bir s¨ozc¨uk k¨umesi ic¸in, o¨ g˘ eler arasındaki entropik korelasyonları g¨osteren bir dendrogram u¨ retir. Dendrogramlar, hiyerars¸ik o¨ bekleme algoritmalarının sonuc¸larını g¨ostermekte sıklıkla kullanılan s¸emalardır [1, 5]. Bu yordamın Ulysses ic¸in u¨ retti˘gi dendrogramlar Ek B’de incelenebilir. Saptanan entropik korelasyonların c¸es¸itlili˘gini sergilemek u¨ zere, ET dendrogramlarındaki bazı s¨ozc¨uk c¸iftleri Tablo 1’de g¨osterilmis¸tir. Bu korelasyonlar c¸ok c¸es¸itli semantik ilis¸kilere is¸aret etmekFarklılıklar: C ¸ ekimler: I˙fadeler: black – white his – he ah – sure hand – eyes south – north her – she ay – eh face – head dame – joy then – now me – my darling – perfume cup – tea females – period us – our thank – please plate – fork former – latter came – went red – green female – male eve – adam you – I four – five nine – eleven them – their thy – thou hear – heard looking – looked smile – smiled pouring – pour ireland – irish S¸eyler: window – seen food – eating Figurler: ¨ girl – sweet wife – world woman – behind ocean – level job – business gentleman – friend waves – waters sell – trade gentlemen – friends river – boat slice – quantity priest – quietly moon – stars family – memory reverend – blessed birds – fly grass – fields road – city system – distance christ – jew human – live Tablo 1: ET dendrogramlarının yakaladı˘gı entropik korelasyonları o¨ rnekleyen s¨ozc¨uk c¸iftleri 2 tedir: black-white, south-north zıt anlamlıdır; then-now, former-latter, came-went kars¸ıt anlamlıdır; female-male, Eve-Adam, you-I kars¸ılıklılık belirtir; red-green renklerdir; four-five, nine-eleven niceliklerdir; his-he, her-she, me-my, us-our, them-their, thy-thou farklı adılların c¸ekimleridir; hearheard, looking-looked, smile-smiled, pouring-poured farklı eylemlerin c¸ekimleridir; ireland-irish bir ulusun c¸ekimidir. ˙Ifadelere, s¸eylere ve fig¨urlere ait bazı di˘ger ba˘glamsal korelasyonlara da tabloda yer verilmis¸tir. Entropik korelasyonlar ilginc¸ bir anlam menzilini kapsamaktadır. Sonuc¸ olarak, bu c¸alıs¸mada, verilen bir metnin paragraflarına entropi toplas¸ması uygulayarak bu metnin s¨ozc¨ukleri arasındaki entropik korelasyonları g¨orselles¸tiren bir metin c¸o¨ z¨umlemesi aracı gelis¸tirdik, ve bu yordamı bir o¨ zg¨ur yazılım olarak REBUS adıyla yayınladık [6]. Bir edebiyat metnindeki s¨ozc¨ukleri bu aracı kullanarak o¨ bekledik ve b¨oylece bu yordamın yararlılı˘gını g¨osterdik. ˙ us ¨ ¸um ¨ entropisinin anlamı uzerine ¨ Ek A: Izd ˙Izd¨us¸u¨ m entropisi (˙IE), biles¸imsel veri k¨umelerindeki belirgin o¨ g˘ e-odaklı ilis¸kilerin kes¸fedilmesi ic¸in kullanıs¸lı bir yol g¨osterici ilkedir. Fakat bu nicelik, geleneksel istatistiksel y¨ontemlerden oldukc¸a farklı bir anlam tas¸ımaktadır. Dolayısıyla bu b¨ol¨umde, izd¨us¸u¨ m entropisinin anlamını, olasılıksal modellemede benzer amac¸lar ic¸in kullanılan bilindik bir nicelikle, o¨ g˘ elerin es¸-bulunması ile kars¸ılas¸tırmalı olarak tartıs¸mak istiyoruz. Bu niceliklerin 2 ve 3 o¨ g˘ e ic¸in aldıkları de˘gerlerin gerc¸ekles¸tirimleri S¸ekil 2’de g¨osterilmis¸tir. ˙Ilk olarak, [1]’de is¸aret edildi˘gi gibi, b¨ut¨un o¨ g˘ elerin es¸-bulundukları blokları puanlayan es¸-bulunmanın tas¸ıdı˘gı pozitif anlamın aksine; ˙IE, bu o¨ g˘ eleri b¨ol¨up parc¸alayan blokların cezalandırılması olarak negatif bir anlam tas¸ır. ˙Ikinci olarak, es¸-bulunma yalnızca o¨ g˘ elerin hepsini ic¸eren bloklarda sıfırdan-farklıdır. ˙IE ise hem b¨ut¨un o¨ g˘ eleri ic¸eren bloklarda hem de b¨ut¨un o¨ g˘ eleri dıs¸layan bloklarda sıfırdır; yalnızca kısmi ic¸erimlerde sıfırdan-farklıdır, yani bazı o¨ g˘ eleri ic¸erirken bazı di˘ger o¨ g˘ eleri dıs¸layan bloklarda sıfırdan-farklıdır. B¨oylece ˙IE o¨ g˘ elerin herhangi bir kısmının o¨ rt¨us¸t¨ug˘ u¨ bloklara kendisini ayarlayabilen esnek bir nicelik olurken, es¸-bulunma yalnızca o¨ g˘ elerin hepsinin o¨ rt¨us¸t¨ug˘ u¨ bloklara kendisini ayarlayabilen katı bir niceliktir. ¨ gelerin es¸-bulunması O˘ P i [S ⊂ Bi ] a∈B 0 a∈B 0 b∈B 1 0 0 S = {a, b} 0 1 a∈B 0 1 log 3 3 1 a∈B 0 0 0 ˙Izd¨us¸u¨ m entropisi H(P ROJ(F, S)) b∈B 0 1 log 2 2 1 2 log 3 3 2 1 log 3 1 log 2 2 1 0 c∈B S = {a, b, c} S = {a, b} 2 log 3 3 2 0 b∈B 0 b∈B 1 log 3 3 1 2 log 3 3 2 3 1 0 c∈B S = {a, b, c} S¸ekil 2: 2 ve 3 o¨ g˘ e ic¸in es¸-bulunma ve izd¨us¸u¨ m entropisi de˘gerlerinin kars¸ılas¸tırılması B¨ut¨un o¨ g˘ elerinin izd¨us¸u¨ m b¨uy¨ukl¨ukleri aynı olan bir S o¨ be˘gimiz oldu˘gunu varsayalım. E˘ger bu o¨ g˘ eler onları ic¸eren hic¸bir blokta o¨ rt¨us¸m¨uyorlarsa, o¨ be˘gin ˙IE’si en y¨uksek de˘geri alacaktır: izd¨us¸u¨ m b¨uy¨ukl¨uklerinin toplamı c¸arpı log|S||S| . E˘ger bu o¨ g˘ eler onları ic¸eren blokların hepsinde o¨ rt¨us¸u¨ yorlarsa, ˙IE tanımı gere˘gi sıfır olacaktır. Ayrıca, o¨ g˘ eler arasında olacak fazladan herhangi bir o¨ rt¨us¸me, izd¨us¸u¨ m b¨uy¨ukl¨ukleri sabit tutuldu˘gunda, o¨ be˘gin ˙IE’sini d¨us¸u¨ recektir. Dolayısıyla izd¨us¸u¨ m entropisinin d¨us¸u¨ k olması, o¨ g˘ elerin izd¨us¸u¨ m b¨uy¨ukl¨uklerine g¨oreli olarak, o¨ bekteki o¨ g˘ eler arasında daha y¨uksek bir o¨ rt¨us¸meye is¸aret edecektir. D¨us¸u¨ k izd¨us¸u¨ m entropisinin is¸aret etti˘gi bu o¨ g˘ e-odaklı o¨ rt¨us¸meyi ifade etmek ic¸in, ic¸erildikleri bloklarda bu o¨ g˘ elerin entropik korelasyonu vardır deriz. ˙IE’nin entropi toplas¸masında nasıl bir is¸lev g¨ord¨ug˘ u¨ n¨u anlamak ic¸in, tek bir s¨ozc¨uk c¸ifti u¨ zerindeki etkisini inceleyelim. Tam olarak 10 paragrafta bulunan s¨ozc¨ukler k¨umesinden bir c¸ift s¨ozc¨ug˘ u¨ m¨uz oldu˘gunu varsayalım. Bu durumda biliriz ki (1) iki s¨ozc¨ug˘ u¨ n de izd¨us¸u¨ m b¨uy¨ukl¨ug˘ u¨ 10’dur, (2) es¸-bulunma iki s¨ozc¨ug˘ u¨ birden ic¸eren blokları sayacaktır, (3) ˙IE bu s¨ozc¨uklerden sadece bir tanesini ic¸eren blokları sayacaktır. Bu belirli durum ic¸in, iki nicelik birbiriyle do˘gru orantılıdır: es¸bulunmanın 1 miktarda artması ˙IE’yi log 2 miktarda d¨us¸u¨ recektir. Bu durum onları pratikte es¸de˘ger kılar. Fakat e˘ger bu s¨ozc¨uklerin 20-25 gibi farklı izd¨us¸u¨ m b¨uy¨ukl¨ukleri varsa, izd¨us¸u¨ mleri daha genis¸ olan s¨ozc¨uklerin bulundu˘gu kısmi ic¸erimler daha fazla olur; es¸-bulunma bu blokları g¨ozardı edecektir, ama izd¨us¸u¨ m entropisi ‘gereksiz yere’ bulunan o¨ g˘ eleri cezalandırmak ic¸in bu blokları sayabilir. 3 bed open mouth new am perhaps knew sun remember better morning woman behind bad mind things feel once without along great near call mrs give people year king death born work music body ireland irish son called heard hear saw something wife world dead men yet sea may die find today letter end turn grey land lay it's that's cunningham martin power citizen bloody five four book walked what's you're professor cried zoe i'll mean haines ned answered three hands private ten women didn't between water watch second both corner done days times brought dignam bob friend gentleman point across bloom's stephen's passed light paper money gold arms lenehan lord past dublin upon these mulligan buck 0.00 answer mine ask order court fact matter cup tea shillings someone different figure hell art bello fat beauty she's bright turning fall won't alf laughing paddy tom smiled smile daughter wall bridge line used married write myself evening cold walking boots dog talking brother play short arm next met molly suppose nice ought wanted enough hope fine knows comes meet flower given milk child makes silver teeth royal school ladies hot run heavy somewhere room number set rather others late blind road city really sitting leave warm children getting question nature simply felt found lovely hard holy fire wind lot anyhow business job earth chap human live often hold together fair among country taking speak herself gerty sad touch lambert quickly cissy began six around couldn't idea fell soft saying neck doing waiting walk drink boylan blazes can't horse followed small bread since cut silent alone above thanks change beside hour care soul held free ear believe nose present c pass silk least person public general office large rest laid part trousers quick points crawford myles o'molloy ay eh forth bring low blood dollard simon church mary bronze deasy Ek B: Ulysses ic¸in entropi toplas¸ması dendrogramları2 projection sizes 150-7020 144 words in 7020 blocks the in of to and his he a it is that was bloom mr said with on for him her she me my all at had but or an not as would first some well don't know just little say right sir yes never could only why has come so who were which says stephen what did about too will we here are your they one old two do this put away life let poor last look still our us john long god voice himself name day those before under other more father how house can go must night get way round by from out up their them over down no have be there man o after back see if when like street into time where now then good off hand eyes face head asked dedalus again through very its went came you i 0.00 2 0.05 0.10 0.15 lynch table slowly fingers miss read red green gave hair word heart words mother another half looking looked though being while every any than kind even quite moment been young left made thing own such also years having j most place thought lady form case should hat took turned tell lost blue de boy henry dear seen window course think many feet girl sweet eye high black white door against each stood pocket forward far side full lips towards air want fellow got best bit always nothing does take make ben big sure ah gone there's few anything wouldn't show joe i'm home coming wait till he's going same might much love told because ever dark wonder keep foot bed open mouth new am perhaps knew sun remember better morning woman behind bad mind things feel once without along great near call mrs give people year king death born work music body ireland irish son called heard hear saw something wife world projection sizes 60-149 235 words in 5277 blocks breen cap car kelleher corny certain glass passing whose leopold master conmee p s letters lane drew saint rose true shall brown breath whole answer mine ask order court fact matter cup tea shillings someone different figure hell art bello fat beauty she's bright turning fall won't alf laughing paddy tom smiled smile daughter wall bridge line used married write myself evening cold walking boots dog talking brother 0.02 0.04 0.06 projection sizes 40-59 215 words in 3727 blocks Bu deneye ait b¨ut¨un sonuc¸lar ve Python kodu REBUS websitesinde bulunabilir [6]. 4 alone above thanks change beside hour care soul held free ear believe nose present c pass silk least person public general office large rest laid part trousers quick points crawford myles o'molloy ay eh forth bring low blood dollard simon church mary bronze deasy try yellow 0.00 0.01 0.02 0.03 0.04 0.05 projection sizes 30-39 245 words in 3446 blocks milly cross catch devil throw singing wish dying running cry twice damn skirt rock press sing places understand outside skin gentlemen friends else wrong close race certainly broke man's field waves waters family memory sight blessed during means stands aside sign shoulder pray kinch card wants husband either account almost seven yourself help shirt kiss real themselves smell itself fear standing sleep dress top inside hotel south north act lower talk thinking hynes funeral trying stick la wrote stuck ad florry kitty wyse quiet jesus forget pay calls sailor square jack boys ring finger youth middle floor shut thank please less paris double song sister probably cat loudly marion ball girls sent clean making fresh trouble lifted holding slow bent stopped sat virag gently kennedy george reverend crown carriage d b m bella cowley douce law female male Kaynaklar [1] Fidaner, I. B. & Cemgil, A. T. (EN: 2013) Summary Statistics for Partitionings and Feature Allocations. In ¨ ¨ Advances in Neural Information Processing Systems, 26; (TR: 2014) B¨ol¨unt¨uler ve Ozellik Atamaları ic¸in Ozet ˙Istatistikleri. C¸evrimic¸i: http://fidaner.wordpress.com/science [2] Wood, F., Archambeau, C., Gasthaus, J., James, L. F. & Teh, Y.W. (2011) The Sequence Memoizer. Communications of the ACM, 54(2):91-98. [3] Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S. & Dean, J. (2013) Distributed Representations of Words and Phrases and their Compositionality. In Advances in Neural Information Processing Systems, 26. [4] Teh, Y. W. (2006) A hierarchical Bayesian language model based on Pitman-Yor processes. In Proceedings of the 21st International Conference on Computational Linguistics and the 44th annual meeting of the Association for Computational Linguistics (ACL-44). Association for Computational Linguistics, Stroudsburg, PA, USA, 985-992. [5] Eisen, M. B., Spellman, P. T., Brown, P. O., & Botstein, D. (1998) Cluster analysis and display of genomewide expression patterns. Proceedings of the National Academy of Sciences, 95(25):14863-14868. [6] Fidaner, I. B. & Cemgil, A. T. (2014) REBUS: entropy agglomeration of text. Published under GNU General Public License. Online: http://fidaner.wordpress.com/science/rebus/ 5
© Copyright 2024 Paperzz