Sıra Bulucu (Rank Tracker) Verilerini Üretken Yapay Zeka ile Anlamlandırma
Sıra bulucu (Rank Tracker) verilerini LLM destekli algoritmalarla otomatik yorumlama ve fırsat analizi.
Konuşmacılar: İren Saltalı
İçerik yazarı
22 Kas 2023
Video Transkripti
⏱ 12 dk okuma• 2.092 kelimeKonuşma metnini inceleyin veya dil değiştirin
Video Transkripti
⏱ 12 dk okuma• 2.092 kelimeKonuşma metnini inceleyin veya dil değiştirin
Teşekkür ederim. Yiğit'in dediği gibi, bu hopun CTO'suyum. Yiğit, benim söyleyeceğim birçok şeyi ufaktan bahsetti. O konuda biraz haberim yoktu; sunumundan kızgınım yani kendisine. Ama benim örneklerim, büyük ihtimalle sizin günlük yaşamınıza daha dair. Günlük yaşamınızdan örnekler almaya çalıştım. Amacım, baştan önce onu anlatayım: Datanızı AI yardımıyla analizlerinize nasıl çevirirsiniz? Bir analiz yapmak istiyorsunuz, bir textiniz var sadece. Yöneticiniz olur, patronunuz olur, kim olursa olsun; ya da kendiniz. Sadece elinizde bir cümle var aslında: "Şöyle bir şeyi, böyle bir analizi çıkartmak istiyorum." Bunu yapay zekâ, işte LLM'ler kullanarak önce nasıl yanlış yaparız, sonra aslında bu yanlışı nasıl düzeltir ve gerçekten istediğimiz analizlere ulaşırız ile ilgili.
Range Tracker'ı burada anlatmama gerek yok sanırım ama işte Google'daki çok temel anında pozisyonlarınızı takip ediyoruz ve bunun etrafındaki bütün verileri takip eden tool'lara diyoruz. Range Tracker'ın sağlayacağı çeşitli şeyler var, faydalar var. Yani burada işte competitive analizden, ROI'ye, optimization'a, trend... hepsi olabilir. Ama biz daha çok burada genel Range Tracker'ların vermediği, sizin custom ihtiyaçlarınız varsa onları çözmek üzerine çalışacağız. Dediğim gibi, tamamen pratik üzerine gittim; yani teori üzerine değil, use case'ler üzerine bir şeyim var. IKEA'nın verilerini kullanarak... IKEA'nın verileri dediğimiz aslında IKEA'nın kelimelerini WOP üzerinde track ettik. Bunları en son WOP'tan BigQuery'e aktardık ve bunun üzerine çeşitli case'ler oluşturduk. Case'lerimiz şu: Birincisi, IKEA'nın gardening kategorisinde yüksek fırsat sağlayacak kelimelerini bulmak.
Bunu Range Tracker'lardan kolayca alamayabilirsiniz. O yüzden buna data üzerinden kendimiz bir analiz yapmamız lazım. Çok basit bir promptla girdim. İşte elimizde sadece bu cümle var şu anda ve bunu direkt şeye attım. LLM'e attım. Dedim ki: "Arkadaş, benim datam BigQuery'de. Ben Amazon ve Argos'a göre rakip olacak ve yüksek fırsat sağlayacak kelimelerimi bulmak istiyorum." Tabii ki AI saçmaladı. Çünkü data hakkında hiçbir şey bilmiyor. BigQuery'de olması hiç onun için bir anlam ifade etmiyor. Datanın ne olduğunu bilmiyor. Şurada gördüğünüz gibi kategori gardening diyor, böyle bir data yok. Şu üstte uydurduğu şey... Yani Yiğit'in anlattığı halisasyonun her şeyini gördü burada. Çünkü elinde hiçbir şey yok. Siz ona hiçbir şey vermeden... Yani genelde yapılan yanlış budur.
Direkt soruyu sormak ve öyle böyle hani tanrısal bir güçle sizdeki bütün bilginin de onda olduğunu varsayıp ondan cevap beklemeniz gibi. Bu imkânsız. Buradaki gibi fail edecektir her seferinde. Bunu milyon kere deneseniz, milyon çeşitli deneseniz... Bu arada her seferinde cevap verecektir. Yani LLM'in de öyle bir kötü özelliği var. "Bilmiyorum" demiyor. Kesinlikle size bir cevap veriyor. Saçmalıyor. Yani çocuk gibi. Benim iki tane çocuğum var. Onlara da mesela 4,5 yaşında birinde soru sordum, anında cevap veriyor. Yani hiç "bilmiyorum" demiyor. Yani "bilmiyorum" kelimesi yok onun için mesela. "Soru soruyorum, böyle" diyor. Ve o kadar emin ki. LLM'ler de aynı. Hiçbir tereddüdü yok. Size query yazıyor, bakın. Bu arada bu query BigQuery query'si. Yani BigQuery'de gerçekten böyle bir veriniz olsa bu query çalışır.
Ama veri yok. Ve "ben veriyi bilmiyorum" demiyor size ve cevap veriyor. Peki, biraz daha geliştirelim biz bu şeyi. Veriyi veriyorum. Yani biz DDL denen bir şey var. Veritabanının yapısını anlatıyor. O DDL'i prompta veriyorum. Sonrasında aynı soruyu tekrar soruyorum. Aynı cümleyi tekrar veriyorum. Bu arkadaş yine patlıyor. Çünkü sizin için anlamlı olan type, device gibi veriler, sizin çünkü sektör bilginizden dolayı anlamlı. Bu arada sektör bilginiz olmasa başka birine söyleseniz bu veri yine anlamsız. Onun da sektör bilgisi olmadığı için bu veri onun için yine anlamsız hale geliyor ve aslında şurada göstereceğim gibi type kısmına eşittir gardening diye uyduruyor. Çünkü type'ın ne anlama geldiğini bilmiyor. Aslında bizim burada type'ımız organic, feature snippet gibi değişik search feature'lar buradaki type.
Ama bunu da bilmiyor. O zaman bizim biraz daha ileri gitmemiz lazım. Burada önemli olan adım adım düşünme. İşte chain of thought olabilir ya da onu adım adım düşünmeye yetmek gibi şeyler olabilir ama öncesinde bizim adım adım düşünmemiz lazım. Bu arkadaş ne biliyor? Bizim elimizde ne var? Bunun hangisi BigQuery'de çözülebilir? Yani bizim datamız üzerinden çözülebilir? Hangisi zaten bu verinin içinde yok? O yüzden adım adım düşündüğümüzde mevzu şuna geliyor. Bizim datamızı önce bir arkadaşa açıklamamız lazım. Burada gördüğünüz gibi deminki data yapısının yanının hepsine ufak cümleler yazdım. Ne olabilir, nedir, ne değildir gibi açıklamalar yazdım. Yine aynı query'yi yazdım. Bu sefer bu alt tarafta gardening kategorisinde olup olmaması seçeneğini çıkarttım.
Çünkü bizim yukarıdaki datamızda gardening diye bir şey yok. Gardening keyword'ün anlamsal bütünlüğünden çıkartacağımız bir şey. Yani içinde bir garden'la ilgili, bahçelerle ilgili bir şey geçiyorsa o gardening kategorisine girecek bizim için. Ve dolayısıyla kelimeleri anlamak lazım. Peki, kelimeler ne? İlk adım bu. Kelimeleri çıkartmasını istedim. Yani bizim Argos ve Amazon'a göre yüksek rekabette olduğumuz kelimeleri istedim. Sonra artık aslında LLM'i kullanacağız. Bu sefer... Ya bu SQL çok önemli değil ama teknik olanlar için tamamen çalışan bir SQL. Bunu alın, kopyalayın, yapıştırın. Direkt size istediğiniz rekabete yönelik, Amazon ve Argos'a göre rekabet olan, IKEA ile rekabet eden kelimelerin tüm datasını veriyor.
BigQuery'de direkt alıyorsunuz, yapıştırıyorsunuz ve çalışıyor. Burada bütün kelimeleri görüyorsunuz. Ama ne eksik? Kategorileme eksik. Dolayısıyla şöyle devam ediyoruz. Biz bu solda gördüğünüz verileri, kelimeleri alıyoruz. İkinci bir promptla bu kelimeleri veriyoruz. Bu sefer diyoruz ki: "Tamam, kelimeleri artık opportunity, fırsat, Argos, Amazon falan kalktı ortadan." Çünkü biz zaten bu elemeyi yaptık. Dataya ulaştık. Sadece kategorileme kaldı. İkinci şeyde diyoruz ki: "Bizim bunda gardening ile ilgili olanları göster bana." İçinden seç. Categorization. Çok kolay yapıyor. Çünkü anlamsal olarak bu kelimelerin hepsini anlıyor ve bize o koca havuzun içinden 10 tane direkt kategoriyle ilgili olan kelimeleri çıkartabiliyor. Birinci case buydu. Dediğim gibi yani step by step düşünme ve bunu hem kendi datamızda hem ona düşündürtme ile ilgili bir yol izlememiz lazım.
İkinci case search intent. Çoğumuzun bildiği aslında arayan kişinin niyetini okuma ile ilgili bir durum. Şimdi step step düşünmeye burada başlayalım. İlk case'de düşünmeden direkt girdik, patladık. Hadi düşünelim biraz. Şimdi datayı nereden alacağız? BigQuery'den alacağız. Güzel. Tamam mı? Sonra search intent'i kimden alacağız? LLM'den alacağız. Çünkü BigQuery'deki datamızın üzerinde search intent ile ilgili hiçbir şey yok. Search intent biraz daha kontekstüel kelimeyle alakalı bir şey. Birinci prompt. DDL'i veriyoruz. Yani dediğim gibi database yapısını veriyorum. Sonra da diyorum ki: "Arkadaş, bana top organic keyword'leri çıkart." Prompt 2. Bu sefer keyword'leri aldım. Bundan sonraki iş aslında o keyword'ler üzerinden search intent çıkartmak.
Ama search intent nedir? Dediğim gibi bakın, bilmiyor gibi davranmak üzerine işlem yapıyoruz. Önce arkadaşa search intent'i anlatmamız lazım. Tabii bu search intent'i siz anlattığınız gibi, normal ilişkilerinizde de olduğu gibi, sosyal ilişkilerinizde senin anlattığınla karşı tarafın anladığı aynı olmayabilir. Burada da aynısı geçerli. Senin anlattığın, anlatmak istediğin, LLM'in kendi vektörlerini uydurduğu zaman olacak şeyle aynı olmayabilir. Dolayısıyla biraz da örnek vermek lazım. Tiplerini vermek lazım ve search intent'lere kelime olarak örnek vermek lazım ki iyicene o düşünce akısına sokalım LLM'i. Yoksa öbür türlü yine fail edecektir. Bu arada ben bunların hepsini yaparken tekrar tekrar fail ederek, fail ettiğini de görerek yaptım yani step'leri yaparken. En sonunda arkadaş, ben sana bu üç bilgiyi verdim. Artık sıra sende bana bu analizi yapmanda.
Devam edelim. Deminki gibi birinci query bu. Deminki üstteki ilk query'de yaptığım DLL'in ve açıklamalarını verdim. Altta da dedim ki: "İşte bu tarihte birinci pozisyonda olan organik kelimeleri ver bana." Domain'i de ika.com olacak. Direkt bize çok basit bir query yazdı ve bu query'nin sonucu olarak şeyleri aldık. Kelimeleri aldık. Bir sonraki adım. Şimdi kelimelerim bu. Bayağı uzun bu arada. Araya üç nokta koydum. Çok fazla var kelime. Şimdi asıl prompt burada. Burada bütün hepsini okumamıza gerek yok. Şu kalın yerleri okusak yeter. Search intent ne demek?
Bunu aldım. Bu arada bu yazıyı daha kendim yazmadım. Behind the scene anlatırım yani. Bunda bir tane blog yazısı buldum. Hatta iki tane buldum. İkisini Yiğit'in bahsettiği Claudia'ya verdim. Dedim ki: "Bunları özetle." Özetini beğenmedim. Bir şeyler daha eklettim. En son şu özeti aldım elime. "He dedim, bundan anlar" deyip bunu kullanmaya karar verdim. Yani promptları da lapsus diye hani böyle bulmuyoruz. Hani ben buna böyle bir prompt yazayım, kesin çalışır demek yok yani. Biraz promptlar üzerinde de mümkünse LLM'le konuşarak çalışmak da çok faydalı oluyor.
Hani kendi kendinize çalışmaktan bahsetmiyorum. Yani işte dediğim gibi Yiğit'in, Yusuf'un dediği gibi bir beyin işçisi olarak o arkadaşı kullanın. Özetle bunu. Bu özeti beğenmedim. Şundan bahsetmemişsin. Bunlar eksik. Yani dövün. Ben çok güzel dövüyorum bu arada. Mesela Yiğit'in promptlarını ben birebir çalıştığım için biliyorum. Çok kibar. Şey düşünüyor. İleride AI'lar başa gelirse bizi yönetmeye başlarsa bana kötü davranmasınlar diye. Ben orada biraz daha kendimi güvende hissediyorum. Nedense çok kaba davranıyorum yani. Bu olmamış. Bunu yapamamışsın. Bunu niye yazdın? Direkt sert sert giriyorum yani arkadaşa. O da çok güzel kendini düzeltiyor bu arada. Daha sonra örnekler verdim. Yani navigational intent'e örnek, işte informational'a, commercial'a vesaire hepsine çeşitli örnekler verdim burada.
Bu arada bu örnekleri de tekrar aldım. Bir arada kendisine de yazdırdım. Yani bu anladığımdan bana örnek çıkart diyerekten aslında ilk kısmımın, promptumun ilk kısmını yine kendi anlama düzeyine göre kontrol ederek üst tarafı tekrar tekrar düzelttim. Yani dediğim gibi bu kontekst ya da bu yazı tek seferde oluşmuyor. Dediğim gibi git gel, git gel şeyleri var. Tekrarları var bu işin. En son ne istediğimi söyledim ve birinci prompt'tan gelen, SQL'den gelen datayı da en altına yapıştırdım. Bu arkadaş çok fazla bla bla yapıyor bu arada. Çok fazla kafa ütülüyor. Yani tekrar bana şurada bla bla kısımlarında tekrar navigational intent ne demek açıklamış, bilmem ne ne açıklamış. Hiç istediğim şey değil. Biraz daha promptumu geliştirip aslında onları açıklamamasını sağlayabilirdim ama buradaki hatayı da görmenizi istedim.
Dediğim gibi burada bir sürü hikaye anlatmış ama benim asıl aradığım navigational search, işte informational search ve hepsine, bütün kategorilere örnekler burada gözüküyor. Hepsinin içinden seçip kategorilemiş. Şimdi burada nasıl yapıyoruz işte? Step'lere tekrar dönecek olursak. Önce elinizde ne var? Onu iyi bilmek lazım. Yani datanız nedir? Ne gösteriyor? İçinde ne barındırıyor? Bunu bir kendinizin bilmesi lazım. Bu arada bunu bile onunla konuşarak öğrenebilirsiniz. Yani atarsınız DDL'ine bu ne anlatıyor dersiniz. O işte type için gardening kategorileri anlar. Type o değil bu dersiniz falan diye böyle konuşmayı da geliştirebilirsiniz. Daha sonra onun için step'leri ayırmak lazım. Yani bunun hangisini LLM neyle yapacak? Baştan dediğim gibi bir cümleyi verip dünyayı beklemek imkânsız.
Bu arkadaş ne biliyor? Hangisini hangi step'lerde yapabilir? Bunun hangisini LLM'in alıp dışarıda yapmamamız lazım? Yani örnek veriyorum. BigQuery datanız varsa LLM'den direkt taramak yerine, yani öyle bir imkân yok şu anda da belki çok daha farklı sistemler yapabiliriz ama ChatGPT ile bunu yapamazsınız direkt. Önce ondan query isteyip, query'yi çalıştırıp, gelen datadan belki de bir CSV örnek verip, "Bak bu data geldi ama ben bunu istemiyordum. Böyle bir şey istiyorum." deyip onu query düzeltmesini isteyip vesaire bu step'leri tek tek işleyip birinin çıktısı, nihai çıktısını diğerinin girdisi olarak adımlarda kullanmamız gerekiyor.
En solda da kırmaya çalışın. Yani siz bunu sürekli olarak kullanacaksınız. Örnek veriyorum. Sizin sürekli bir search intent analizine ihtiyacınız var. Keyword'leriniz, kategorileriniz, domaininiz sürekli değişiyor. O zaman kırmaya çalış. Araya zor bulunabilecek, intent'inin böyle garip olduğu kelimeler atın. Bunu bul deyin. Bulamasın. Sonra onu bulacak prompt'u geliştirin. Yani yaptığınız şeyi sürekli kırmaya da çalışırsanız, ki ben çok bozmaya çalışırım yani. Çünkü müşteriye verdiğim zaman bunun bozulmaması lazım. O yüzden benim önümde bozulsun bu arkadaş. Garip datalar verin. İçine Çince atın. İngilizcenin içine Almanca atın. Türkçe koyun. Ne derler ona? Bir Türkçe sorun, bir İngilizce cevaplayın. Yani iyicene onu bozmaya çalışın ve bu bozarken de her aşamada o promptlarınızı geliştirirsiniz.
Her kırdığınızı bir sonraki prompt'un düzeltiyor olması lazım. Düzelte düzelte en son elde ettiğiniz prompt büyük ihtimalle bütün use case'lerinizi karşılayacaktır. Peki nasıl devamı? Devamı bu promotion. Pazartesi yayında datalarınızın hepsini BigQuery'ye, BigQuery konsolunuz veya Google konsolunuz olmadan direkt alabilirsiniz Word'dan. Peki bu yeterli mi? Değil. Yani tamam rank tracker datanız var. Tamam ama bu her zaman her use case'i karşılamayabilir. Facebook datanız olabilir. Google Sheet'te başka datalarınız olabilir. Mümkün olduğunca bu data analizleri yapmaya çalışırken, LLM'de data analizi yapmaya çalışırken bilgiyi ve birikimi ya da data analizi yapacağınız araçları arttırmanız lazım.
Bunun için de bir yazılımcı, bilgisayar mühendisi olarak söylüyorum. Bana ihtiyacınız yok. Birçok tool var. Bunlardan biri AirByte'ın bu bir görseli. AirByte'da iki kaynağı bağlıyorsunuz. Birbirine aktarıyorsunuz. Ondan sonra diyorsunuz ki LLM'e ben bunu nasıl query'lerim? O da size anlatıyor ve bana ihtiyaç duymadan şirketinizdeki benlere diyeyim, bilgisayar mühendislerine. Onların işini azaltayım biraz. İhtiyaç duymadan hep marketingçileri kovacak değiliz. Biraz da şeyler kovulsun yani. Yazılımcılar kovulsun. Onları kovarak bunları halledebilirsiniz. Çünkü artık bu tool'lar çok gelişmiş durumda. Bu arada bu tool'lar demin en başta gösterdiğim DDL dediğimiz o database'in yapısını da veriyor size. Yani onu alıp LLM'e direkt söyleyebilirsiniz. Benim Facebook'tan gelen verim bu.
İşte atıyorum başka Google reklamlardan gelen bu deyip hepsini söyleyip bunları da bu şekilde BigQuery'ye attığınızı ve BigQuery'de çalıştığınızı anlattığınız zaman o hepsini harmanlayıp size çok güzel çapraz datalarla yapabileceğiniz analizler sunabilir. Sonu çok önemli değil. Bu kadar. Beni takip etmek isterseniz İrem Salatalı. Teşekkürler.
Bu transkript, yapay zekâ destekli konuşma tanıma modeli ile oluşturulmuş ve dil kurallarına göre doğrulanmıştır.
