#Python ile etkisinde kaldığımız bir filmin konusuna benzer bir film önerelim bu gece için kendimize. Bunu nasıl yapabiliriz? Onlarca tavsiye sistemi mevcut.
Bir yol Kosinüs Benzerliği (Cosine Similarity) olabilir.
Kosinüs benzerliği, metin madenciliği ve doğal dil işleme gibi alanlarda kullanılan bir benzerlik ölçüsü olup iki vektör arasındaki açıyı ölçerek bu vektörlerin ne kadar benzer olduğunu belirler. Metin madenciliği bağlamında bu vektörler genellikle metinlerin kelime dağılımlarını temsil eden vektörlerdir ve aşağıdaki formülle hesaplanır.
Bir örnek yapalım. Aşağıdaki gibi iki tane cümle olsun.
* They placed an order for 500 Airbus aircraft.
* They will place an order for 500 Boeing aircraft.
Bu iki cümle ne kadar benzerdir? Hesaplayalım.
Benzersiz kelimeler: they, placed, an, order, for, 500 airbus, aircraft, will, place, boeing.
Stop word'leri de bu örnek için dahil edelim. Bunlar bir dilde çok kullanılan ama etkisiz kelimelerdir.
İlk cümle için vektör şöyle olacak: [1,1,1,1,1,1,1,1,0,0,0]
İkinci cümle için vektör şöyle olacak: [1,0,1,1,1,1,0,1,1,1,1]
Yani, içeriyorsa 1; içermiyorsa 0.
Pay kısmında nokta çarpım yapacağız. (1*1 + 1*0 + ... + 0*1) gibi. Payda kısmında ise her iki vektörde bulunan değerlerin (ayrı yapılacak) karelerini toplayıp karekökünü alıyoruz. Sonra her iki sonucu da çarpıyoruz. İlk vektör için (1^2 + ... + 0^2); ikinci vektör için (1^2 + ... + 1^2) gibi. Bunların karekökleri alınıp çarpılacak. Sonra payı paydaya bölüyoruz. Yaklaşık 0.71 gibi bir değer çıkacaktır. Vektör benzerliği 1'e yaklaştıkça artar.
Python'da ise aşağıdaki gibi yapılıyor.
Uygulama için Kaggle'dan aşağıdaki veri setini (8K'dan fazla en çok oy alan IMDB filmleri) indirebiliriz.
https://t.co/8w0HZ1piWO
Veri setindeki "title" ve "overview" kolonları yeterli olacaktır.
Kodun odak noktası aşağısıdır.
`TfidfVectorizer`: Belirli bir metin belgesindeki kelimelerin TF-IDF vektörlerini oluşturan bir sınıftır. 'english' parametresi, İngilizce stop-word'leri (etkisiz yaygın kelimeler) kaldırmak için kullanılır.
TF-IDF, "Term Frequency-Inverse Document Frequency" teriminin kısaltmasıdır. Bu, bir belge içindeki bir kelimenin önemini belirlemek için kullanılan istatistiksel bir ölçüdür. TF-IDF, bir kelimenin bir belgedeki sıklığını (TF) ve tüm belgelerdeki sıklığını (IDF) birleştirerek belgenin içeriğindeki önemini belirlemeye çalışır.
`fit_transform`: Metin belgesindeki kelimeleri işleyerek TF-IDF matrisini oluşturur.
* `cosine_similarity`: TF-IDF matrisini kullanarak belge benzerliklerini kosinüs benzerliği ile hesaplar.
* `cosine_sim`: Belgeler arasındaki benzerlik skorlarını içerir.
Sonrası bildiğimiz şekliyle nihai DataFrame'i oluşturmak.
En iyi eşleşme:
Seven Years in Tibet: Austrian mountaineer, Heinrich Harrer journeys to the Himalayas without his family to head an expedition in 1939. But when World War II breaks out, the arrogant Harrer falls into Allied forces' hands as a prisoner of war. He escapes with a fellow detainee and makes his way to Llaso, Tibet, where he meets the 14-year-old Dalai Lama, whose friendship ultimately transforms his outlook on life.
Kundun: The Tibetans refer to the Dalai Lama as 'Kundun', which means 'The Presence'. He was forced to escape from his native home, Tibet, when communist China invaded and enforced an oppressive regime upon the peaceful nation. The Dalai Lama escaped to India in 1959 and has been living in exile in Dharamsala ever since.
X'te Python postları için oluşturduğum GitHub reposundan kodlara ulaşabilirsiniz.
https://t.co/NkY0SGznNL
1-Matematik'te problemleri bir yerden başka bir yere taşıyarak, taşıdığımız yerde daha aşina olduğumuz teknikler sayesinde çözme fikri çok yaygın kullanılır. Bunların teknik detaylara çok girmeden en temel aktrabileceğim örneklerinden biri "Laplace Dönüşümü" kullanımıdır.
Kalkülüse Giriş kitabı temel düzeyde konu anlatımı ve matematiğin uygulamalarını barındırması itibarı ile öğretmenlerimiz için çok güzel bir kaynak. Çevirenlerin ellerine sağlık… Teşekkürler @nobelyayin
“Aslında Bilgisayar Mühendisliği matematiğin başka bir dilde ifadesi…” “Bilgisayar Mühendislerinin çoğunluğunun yaptığı iş programcılık…”
İzlemelisiniz…👇👇👇
#matematikvebilgisayar
Matematik olmaz ise ilerleme de olmaz! https://t.co/fbnorre7OL
Kapağı, baskısı ve içeriği ile harika bir diferansiyel denklemler kitabı👏👏👏 Çeviren hocalarımızın ellerine sağlık. Zaten, mühendisler Yunus Çengel’i iyi tanıyor.