2 puan yazan GN⁺ 2023-10-05 | 1 yorum | WhatsApp'ta paylaş
  • HN kitap öneri başlıklarına dağılmış yorumları toplayıp, hangi kitapların sık önerildiğini görmek için Chat Completions API ile başlık, yazar ve URL çıkarıldı
  • 2023 itibarıyla, başlığında “book” kelimesi ayrı bir sözcük olarak geçen ve harici bağlantı olmayan yaklaşık 200 HN hikâyesi arasından kitap önerisi gibi görünen gönderiler hedeflendi; 57k yorumun işleme maliyeti gpt-3.5-turbo bazında yaklaşık 40 $ oldu
  • Sıralamanın üstlerinde Structure and Interpretation of Computer Programs 376 kez, Gödel, Escher, Bach 365 kez, How to Win Friends and Influence People 292 kez gibi HN’de uzun süredir tekrar tekrar anılan kitaplar yer aldı
  • Gerçek işlemede hatalı JSON, yalnızca yazar adı geçen yorumlar, aynı başlığı taşıyan farklı kitaplar, bağlantı metninin yanlış algılanması ve temperature 0’da bile değişen belirlenimsizlik kaliteyi sarstı
  • Ham GPT çıktıları ve girdi CSV’leri yayımlandı; başlığı küçük harfe çevirme, baştaki “the”yi kaldırma, alt başlığı çıkarma gibi normalleştirme adımlarıyla ad uyumsuzluğundan kaynaklanan eksiklerin azaltılması amaçlandı

HN yorumlarından kitap bilgisini çıkarma yöntemi

  • Çalışma, HN’deki kitap öneri başlıklarını okurken en sık önerilen veya anılan kitapları görmek amacıyla başlatıldı
  • 2023 itibarıyla HN’de başlığında ayrı bir sözcük olarak “book” geçen ve başka bir sayfaya bağlantı vermeyen neredeyse 200 hikâye vardı
  • HN API’den alınan veriler içinden kitap öneri başlığı gibi görünen bir alt küme seçilerek yorum metinleri işlendi
  • Her yorumdan Chat Completions API ile şu bilgiler çıkarıldı
    • Kitap başlığı
    • Yazar
    • URL

En çok anılan kitaplar

Toplama hataları ve veri temizleme

  • İlk listede bazı yazar eşleştirme hataları vardı
    • Dune’un yazarı Brian Herbert değil, Frank Herbert
    • Meditations’ın yazarı Descartes değil, Marcus Aurelius
    • Calculus, Michael Spivak’ın kitabı olarak yakalanmıştı; ancak bu toplamada Apostol’un Calculus kitabına ait 14 anma da bulunuyordu
  • SQL sorgusunun her başlık için min(author) yerine en yaygın yazarı döndürecek şekilde değiştirilmesi gerekiyordu
  • 12 Ekim 2023 güncellemesinde ilk 50 listesi düzeltildi
    • Javascript ve Calculus, aynı adı taşıyan birden fazla kitabın karışması nedeniyle hata olarak değerlendirildi
    • Javascript: The Good Parts, veri işleme kodunda “javascript” olarak yeniden adlandırılmıştı; ancak aynı başlığa sahip başka kitaplar da vardı
    • Yinelenenler temizlendikten sonra bu kalemler ilk 50’den çıktı

ChatGPT API kullanırken ortaya çıkan sınırlamalar

  • Geçerli JSON dönmediği durumlar çoğunlukla HN yorumunun “thanks” gibi kısa olduğu veya soru biçiminde yazıldığı anlardı
    • Yanıta “I apologize for the confusion…” ya da “You’re welcome!” gibi cümleler de karışabiliyordu
  • Prompt, başlığı boş olan yanıtları atabilecek şekilde tasarlandı
    • Bu, yalnızca yazarın anıldığı ve belirli bir kitap başlığının bulunmadığı durumları ChatGPT’nin kitap anması olarak dahil etmesi sorununu azaltmaya yönelik bir önlemdi
  • 57k yorumun işlenme maliyeti gpt-3.5-turbo API bazında yaklaşık 40 $ oldu
  • Temperature 0’a ayarlansa bile GPT sonuçları her çağrıda değişiyordu
    • GPT-4’ün belirlenimsizlik örnekleri bilinse de gpt-3.5-turbo, önceki GPT-3 modellerine göre daha büyük değişkenlik gösterdi
  • Bağlantılar metinden ayırt edilebiliyordu, ancak HTML etiketlerinin kaldırılıp yalnızca URL’nin bırakılması gerekiyordu
    • Aksi takdirde GPT gerçek URL yerine kırpılmış bağlantı metnini alıyordu

JSON çıktı biçimi ve prompt koşulları

  • Bir HN yorumu için ChatGPT’nin ürettiği JSON örneği biçim olarak doğruydu, ancak bağlantı dışındaki tüm değerler yanlıştı
  • Çıktı match, title, author, link alanlarına sahip bir dizi biçimindeydi
  • Prompt’ta şu koşullar yer aldı
    • Belgedeki kitap başlığını ve yazarı belirle
    • Başlıkla eşleşen kelimeleri göster
    • Kısaltılmış başlıkları aç
    • Yalnızca yazar anılıyor ve kitap yoksa title alanını boş bırak
    • Yalnızca öneri isteniyor ama kitap anılmıyorsa boş dizi döndür
    • Alt başlığı dahil etme

Açık veri ve başlık normalleştirme

  • GPT tarafından üretilen ham veri, başlığa göre sıralanmış ham GPT çıktısıdır
    • match sütunu, kitabın tespit edildiği yorumun bir bölümünü içerir
  • Kitap başlıklarına normalleştirme işlemi uygulandı
    • Küçük harfe çevirme
    • Başlıktaki öndeki “the”yi kaldırma
    • Alt başlığı kaldırma
  • Bu normalleştirme, GPT’nin ürettiği ad uyumsuzlukları nedeniyle en popüler kitap sorgusunda kalemlerin dışarıda kalmasını azaltmaya yönelikti
  • Girdi verileri zipped csv format olarak sunuluyor; sıkıştırma açıldığında 24 MB boyutunda bir dosya oluyor
  • Tablodaki Amazon URL’lerine eğitim amaçlı Amazon affiliate link eklendi

1 yorum

 
GN⁺ 2023-10-05
Hacker News yorumları
  • ChatGPT birkaçını kaçırmış, muhtemelen daha fazlası da vardır: https://hn.algolia.com/?q=A+non-standard+book+list+for+softw...
    Yorumlarda da daha fazlası var: https://news.ycombinator.com/item?id=30651273
    Bu web sitesi, Amazon affiliate linkleri ile çok tıklama üretmenin akıllıca bir yolu gibi görünüyor

    • Hâlâ Amazon affiliate programı ile para kazanan var mı? Yaklaşık 10 yıl önce bunun bittiğini sanıyordum
  • HN’de Hacker Recommended Books [0a]’yı [0b] sayesinde öğrendim; oradaki kitapları okumaya başladım, birkaçını denedim ve yaklaşık 20 kitap okudum. Deneyim çok iyiydi, çok şey öğrendim ve bazı kitaplar düşünce ufkumu genişletti
    Kitap seviyorsanız HN’de basitçe books diye arama yapıp "Ask HN" etiketi [1] ile ya da sadece "books" diye filtrelemenizi şiddetle öneririm. İngilizce kitapları artık neredeyse böyle seçiyorum; teknik olmayan kitaplar için de aynı. İki yılı aşkın süredir böyle yapıyorum ve HN’nin kitap önerilerini gerçekten seviyorum
    Kitaplarla ilgili HN başlıklarında yıllar boyunca birikmiş, yüksek kaliteli birçok okuma önerisi var; neredeyse bir altın madeni. Hacker News Books [2] da var, Top Books of All Time bölümü [3] de bakmaya değer
    [0a]: https://hacker-recommended-books.vercel.app/category/0/all-t...
    [0b]: https://news.ycombinator.com/item?id=28595967
    [1]: https://hn.algolia.com/?q=Ask+HN+books
    [2]:https://hackernewsbooks.com
    [3]: https://hackernewsbooks.com/top-books-on-hacker-news

    • Bugün HN’nin önerdiği bir kitabı okumaya başlamaya karar verdim. [0a] bağlantısında son 6 ayı seçtim; 58 sayfa öneri vardı, sayfa başına 15 kitap
      Bu yüzden 15 yüzlü bir zarla sayfayı seçtim, sonra tekrar atıp o sayfadaki kitabı seçtim. Okuyacağım kitap The Very Hungry Caterpillar
    • https://news.ycombinator.com/item?id=28595967 ("Show HN: 40k HN comments mentioning books, extracted using deep learning") harika; hâlâ düzenli olarak kullanıyorum
    • “Hacker Recommended Books” çok faydalı göründüğü için pinboard hesabıma yer imi olarak kaydetmeye çalıştım; “2 yıl önce zaten kaydedilmiş” dedi
      Bu siteye yönelik bir eleştiri değil; daha çok, iyi niyetle böyle bir hizmetin varlığını kaydedip sonra unutmuş olmama yakınmam
  • Ucuz Amazon affiliate link spam’ini kaliteden daha da uzaklaştırmanın yolu: “AI” ile üretmek

  • Charles Petzold’un Code kitabının ilk 50’ye girememesi şaşırtıcı. Bilgisayarların gerçekte nasıl çalıştığını öğrenmek için en erişilebilir kitaplardan biri
    HN’de Code’dan çok bahsedildiğini gördüm; ama okuduğum yorumların bulunduğu bağlantılara doğru örneklemim kaymış olabilir

    • Uyuyamayan biri için harika bir kitap. Bilgisayarların çalışma temelleri gibi ilginç bir konunun bu kadar cansız ve sıkıcı hâle getirilebileceğini, üstelik bunu yapmak için bu kadar çok kelime gerektiğini bilmiyordum
      Şu anda okuyorum; 3-4 sayfadan fazlasını çeviremeden ışıklar sönüyor, bu yüzden çok uzun sürüyor
    • O kitabın “atın geri kalanını siz çizin”e benzeyen bir yanı var. Harika bir kitap, ama ilerleyen bölümlerde yazar, yalnızca ilk yarıyı anladığınızı değil, bileşenleri de ezberlediğinizi varsayıyor; kalan açıklamaların anlamlı olabilmesi için hepsinin çalışma belleğinde durması gerekiyor
      İkinci yarısı açıkçası zordu. Çünkü “anlamış” olsam da ilk yarıyı doğru düzgün ezberlememiştim
      Yine de 5 yaşındaki birine anlatır gibi öğretme yaklaşımını seviyorum. Günümüzde insanlar temelleri özünde yeterince karmaşık şeyler olarak görmeyip üstünden geçme eğiliminde
    • O kitabı gerçekten seviyorum. Bütünün nasıl çalıştığına dair teoriyi bilmek isteyen teknik olmayan kişilere önerdiğim kitap
    • Benim sitem HNLikes.com’a göre, HN yorumlarında en sık paylaşılan ikinci Amazon linki bu kitap
    • Yukarıda rito’nun atıfta bulunduğu Hacker News All Time Top Books listesinin en tepesinde yer alıyor
  • Knuth’un kitabının ilk 5’te olmaması da şaşırtıcı; Descartes’ın Meditations’ının yer alması ise çok şaşırtıcı. Fransa’da bile artık kimsenin okumadığı bir kitap olduğundan, HN’deki meditasyonla ilgili yazılarla karışmış bir sonuç gibi görünüyor
    Ayrıca Dune’u Franck Herbert değil, Frank Herbert yazdı. Bu yazıya inanmak zor; LLM’ler yaygınlaştıktan sonra internete konan neredeyse hiçbir şeye inanmak zorlaştı

    • Bu yazı, GPT’nin sağladığı ham verileri ekleyerek verinin bütünlüğünün doğrulanabilmesini sağlamış. Metodoloji açısından bu yüzden güvenilir
      Mecra ne olursa olsun, herhangi bir yayında verinin ve yöntemin bütünlüğünü her zaman doğrulamak gerekiyordu. Yazarın ve okurun sorumluluğu LLM öncesi ve sonrası değişmedi. LLM’lerden önce doğal olarak inanıyorduysanız, inanmamalıydınız; LLM’lerden sonra da güvenilir bir yazara güvenemiyorsanız, bu da bir sorun
    • Descartes’ın Meditations on First Philosophy adlı eseri Batı düşünce tarihinin en önemli kitaplarından biridir. “Fransa’da bile artık kimse okumuyor” demek, Londra metrosunda okuyan birini görmedim diye The Origin of Species’in alakasız olduğunu söylemeye benzer
    • Knuth’un eserleri, şehir planlama alanındaki The Power Broker gibi, sektörel kanon sayılan ama gerçekten okuyanı az olan kitaplara daha yakın
      Bende birkaç cilt var ama hediye gelmişti; hiç okumadım. Bu yüzden ilk 5’te görünmemesi pek şaşırtıcı değil
    • Meditations’ın yazar adı yanlış. Link doğru kitaba gidiyor ama o Marcus Aurelius’un Meditations’ı
    • Descartes olarak yazılması yanlış gibi. Link Marcus Aurelius’a gidiyor
  • ChatGPT’ye neden ihtiyaç olduğunu anlamıyorum. Algolia ve veri analizi yeterli olurdu; burada yeni ve zor olan iş neydi?

    • Her kitabı öneren kullanıcıların ne tür eğilimleri olduğunu yorumlarına göre analiz etse harika olurdu. Örneğin “Ayn Rand önerenlerin %80’i sağ eğilimli” gibi oranlar göstermesi
  • HN kitap önerilerinin yararlı olmasının nedeni aslında bunun tersi. Aşağıdaki öneri tablosuna giremeyen yorumlarda adını ilk kez duyduğum kitap önerileri var ve değerli olan da bu. Popüler seçenekleri toplayan bu liste çoğunlukla tahmin edilebilir
    “Kitap önerisi istiyorum” gönderilerini deşerseniz, en altlara yakın yerlerde gerçekten müthiş öneriler bulabilirsiniz

    • Müzikte de aynı şey geçerli. Sevdiğiniz bir grup hakkında insanların konuştuğu yere gidip, hiç duymadığınız adlar görünene kadar aşağı kaydırmanız yeterli
  • How to Win Friends and Influence People’ı en sevdiği ya da kendisini en çok etkileyen kitaplardan biri olarak sayan birini tehlike işareti olarak gören başka kimse var mı?

    • Ben öyle düşünmüyorum. Bu tepkiyi çoğunlukla kitabı gerçekten okumamış kişilerde görüyorum. İnsanlar kitabın manipülasyon teknikleri gibi şeylerden bahsettiğini sanıyor; oysa aslında arkadaş edinmek ve arkadaşlığı sürdürmek için çok temel bir rehber
      Zaten bir arkadaş grubunuz varsa ve onu sürdürmek konusunda kaygınız yoksa, kitaptaki şeylerin neredeyse tamamını biliyor olmanız muhtemel. Hep yalnız büyümüş biri olarak bu kitabın tavsiyeleri benim için gerçekten faydalıydı. 10 yaşındayken öğrenmiş olmam gereken ama öğrenemediğim sosyal becerilerin bir özeti gibiydi
      Bu kitabı anan birinde görebileceğim tek “tehlike işareti”, benim gibi geçmişte bir noktada sosyal açıdan çok beceriksiz olmuş olma ihtimalinin yüksek olmasıdır. Belki hâlâ öyledir ama en azından iyileştirmeye çalışıyordur
    • Sosyal anksiyetesi, otizm spektrumunda olan ya da ikisinin karışımını yaşayan insanlar üzerinde etkisi büyük. Bu kitap bana insanlarla konuşmayı öğretti ve yoğun sosyal anksiyete ile izolasyondan, başka insanlarla konuşup onları tanıyabildiğim bir hayata doğru yönümü çevirdi
      Çevremdeki çoğu kişinin bu kitaba ihtiyacı olmayacaktır; hatta belki biraz aptalca bile gelebilir. Ama benim için bir dönüm noktasıydı ve HN’de benzer deneyim yaşamış çok kişi olduğunu düşünüyorum
    • Hayır. İnsan davranışı üzerine sağlam bir okuma
  • Listedeki Meditations, sayfanın altındaki ham verilere bakınca Descartes’ın “Meditations on First Philosophy”sinden ziyade Marcus Aurelius’un eserine işaret ediyor gibi görünüyor
    Bu sadece kısmi bir kontrol, tam bir tarama değil. Ham verilerde Descartes’tan söz edilen çok sayıda yer de var ama genelde başka bir eserle ilgili. İlginç bir hata olarak görüyorum

  • Bugünlerde kendimize sormaya değecek, giderek daha iyi hale gelen soru şu: Bunu LLM’leri doğrudan kullanmadan, hatta makine öğrenmesi olmadan nasıl yapabiliriz? Ardından ikinci adım olarak, üretici araçların ya da makine öğrenmesinin potansiyel desteğinin bu çözümü nasıl iyileştirebileceğini sorabiliriz

    • Bunun bir sürümünü sıkıcı teknolojilerle (Postgres, Django, Python) yapmıştım. HN yorumlarında yalnızca kitap linklerinin değil, YouTube videolarının, arXiv makalelerinin vb. kaç kez paylaşıldığını sayıyordu; linki paylaşan kişi ve o linke gelen yanıtlar hakkında da çeşitli hesaplamalar yapıyordu
      Gerçek şu ki sıkıcı teknolojilerle ilgi ve katılım elde etmek zor
    • LLM’lerle yapılan temel işlerin önemli bir kısmının makine öğrenmesi olmadan da mümkün olduğunu düşünüyorum. Yine de ilginç olan, LLM’lerle eğlenceli işler yapmayı öğrenmek ve tavanın geleneksel yöntemlere göre çok daha yüksek olması
      Eski tip işlere yeni araçları nasıl uygulayacağını öğrenmek de faydalı ve ufuk açıcı