Cognitive Services’in akıllı API’larıyla tanışın

Microsoft, geçtiğimiz ay gerçekleşen Build 2017 konferansında, Cognitive Services’in genişleyen akıllı API’lar koleksiyonunu tanıttı. Detaylar bu yazıda!

Microsoft Cognitive Services, geliştiricilerin yeni nesil uygulamalarını doğal iletişim yöntemleri kullanan görme, işitme, konuşma, anlama ve yorumlama yetenekleriyle zenginleştirmelerine olanak tanıyan bir hizmet.

Microsoft Cognitive Services’de yapılan ve yapay zeka kullanarak yeni nesil uygulamalar geliştirmeyi hedefleyen geliştiriciler için değer artırıcı yeni bir inovasyon dalgasını duyurmanın heyecanını yaşıyoruz.

  • Özelleştirilebilir: Custom Speech ve Language Understanding Intelligent Service’in yanına eklenen Bing Custom SearchCustom Vision Service ve Custom Decision Service ile şimdi müşterilerin belirli gereksinimlerine göre özelleştirilebilen algoritmalarla kendi verilerini kullanabilecekleri daha geniş bir yapay zeka API’ları grubu sunuyoruz.
  • Gelişmiş teknolojiler: Bugün, her geliştiricinin, halen gelişmenin erken aşamalarında olan yeni hizmetlerle denemeler yaparak daha geniş bir araştırma topluluğunun öğretici bilgi işlemin geleceğini daha iyi anlama arayışında yer almasını mümkün kılan Microsoft’s Cognitive Services Labs’ini kullanıma sunuyoruz. Cognitive Services Labs aracılığıyla kullanıma açtığımız ilk yapay zeka hizmetlerimizden biri olan Project Prague, daha sezgisel ve doğal deneyimler için teknolojilerin denetim ve etkileşiminde hareket kullanmanızı mümkün kılıyor. Bu gelişmiş ve kolay kullanılan SDK şu anda özel önizlemede.
  • Yüksek hızlı inovasyon: Cognitive Services portföyümüze eklediğimiz Video IndexerCustom Decision ServiceBing Custom Search ve Custom Vision Service ile akıllı API’lerin sayısını 29’a genişletiyor; ayrıca hareket için yeni Cognitive Services Lab Project Prague ve Bing Search, Microsoft Translator, Language Understanding Intelligent Service gibi mevcut Cognitive Services güncellemeleri gibi yenilikler getiriyoruz.

Bugün, 60’ın üzerinde ülkedeki 568 binden fazla geliştirici, sistemlerin görmesini, işitmesini, konuşmasını, gereksinimlerimizi anlayıp yorumlamasını mümkün kılan Microsoft Cognitive Services’i kullanıyor.

Bu yeni hizmetlerin yetenekleri neler?

  • Bugün ücretsiz genel önizlemede olan Custom Vision Service, eğitimle daha akıllı hale gelen ileri makine öğrenmesi sinir ağlarıyla çalışarak resimlerdeki belirli içerikleri tanımayı öğrenen kullanımı kolay, özelleştirilebilir bir web hizmeti. Hayvanlar, nesneler ya da soyut simgeler olsun, seçtiğiniz herhangi bir şeyi tanımak üzere eğitebilirsiniz. Bu teknoloji, perakende ortamlarında makine destekli ürün tanımlama için ya da dijital alanda resimlerin otomatik olarak kategorilere ayrılmasına yardımcı olmak için kolaylıkla uygulanabilir.
  • Bugün ücretsiz genel önizlemede olan Video Indexer, endüstrinin en kapsamlı video yapay zeka hizmetlerinden biri. Dizin oluşturarak; yazıya geçirilen ve başka bir dile çevrilen konuşma sesini, duyarlılıkları, görünen yüzleri ve nesneleri aramanızı sağlayarak herhangi bir videonun barındırdığı bilgileri ortaya çıkarmanıza yardımcı olur. Buradan edindiğiniz anlayışla uygulamalarınızdaki videoların keşfedilirliğini geliştirebilir ya da bu yeteneği sitelere yerleştirerek kullanıcı etkileşimini artırabilirsiniz. Tüm bu yetenekler basit bir API’lar kümesi, kullanıma hazır pencere öğeleri ve bir yönetim portalı yoluyla kullanılabilir.
  • Bugün ücretsiz genel önizlemede olan Custom Decision Service, deneyimle uyum sağlayan bir bulut tabanlı bağlamsal karar verme API’sı kullanarak akıllı sistemler oluşturmanıza yardımcı olan bir hizmet. Custom Decision Service, kişiselleştirilmiş içerik için yeni bir yaklaşımla öğrenmeyi teşvik eder; uygulamanıza eklenebilir ve zaman içindeki ölçümlerinizi optimize edecek şekilde otomatik olarak uyarlanarak gerçek zamanlı kararlar vermenize yardımcı olur.
  • Bugün ücretsiz genel önizlemede olan Bing Custom Search, hedeflediğiniz web alanından daha iyi, daha ilgili sonuçlar döndüren, yüksek oranda özelleştirilmiş bir web arama deneyimi oluşturmanıza olanak tanır. Anlaşılır bir Kullanıcı Arabirimine sahip Bing Custom Search, tek bir kod satırı olmadan kendi web arama hizmetinizi oluşturmanızı mümkün kılar. Yararlanmak istediğiniz web dilimlerini belirleyin, arama alanınızın kapsamını akıllıca genişletmek için site önerilerini inceleyin. Bing Custom Search her ölçekteki işletmelere, amatörlere ve girişimcilere olası her tür senaryo için web arama uygulamaları geliştirme ve kurma yeteneğini kazandırır.
  • Microsoft’s Cognitive Services Labs her geliştiriciye, henüz geliştirme sürecinin erken aşamalarındaki yeni hizmetleri deneme olanağını tanır. Bunlardan biri, şu anda özel önizlemede olan Project Prague. Elin farklı kullanımlarından oluşan kapsamlı bir kitaplıktan geliştirilen bu SDK, kullanıcıların teknoloji denetim ve etkileşimlerinde normal el hareketlerini kullanmalarını mümkün kılarak daha sezgisel deneyimler yaratıyor. El hareketleri özel bir kamera kullanarak kaydedildikten sonra, API elin oluşumunu tanıyor ve geliştiricinin her bir harekete uygulama içi işlemleri bağlamasına olanak veriyor.
  • Bing API’ların şu anda genel önizlemede olan yeni sürümü, geliştiricilerin web’de bulunan engin bilgileri kullanıcılarına getirmesini ve gelişmiş performanstan, yeni sıralama ve filtreleme seçenekleri, sağlam belgeleme ve kolay Hızlı Başlangıç kılavuzlarından yararlanmalarını sağlıyor. Bu yayın, Bing Search API’larının tam paketi (Bing Web Search API Önizlemesi, Bing News Search API Önizlemesi, Bing Video Search API Önizlemesi, Bing Image Search API Önizlemesi), Bing Autosuggest API Önizlemesi ve Bing Spell Check API Önizlemesini içeriyor. Daha fazla bilgiyi duyuru blogumuzda
  • Bir Microsoft Garage projesi olan Presentation Translator, sunum hazırlarken erişilebilirlik senaryoları için aynı dilde ya da çok dilli ortamlar için başka bir dilde sunularına altyazı ekleme yeteneğini sağlamaktadır. İzleyiciler, Microsoft Translator uygulaması aracılığıyla kendi cihazlarında bir tarayıcı üzerinde istedikleri dilde altyazı okuyabilirler ve (opsiyonel olarak) sunum formatını koruyarak slaytları ikinci bir dile çevirebilirler. Kullanıma sunulduğunda bildirim almak için tıklayın.
  • Language Understanding Intelligent Service (LUIS) geliştirmeleri; geliştiricilerin, önceden oluşturulmuş veya özelleştirilmiş modellerle kullanıcıları hızlı ve kolay anlayan dil modellerini entegre etmelerine yardımcı olur. LUIS’e gelen güncellemelerden bazıları, daha fazla amaç ve varlık, üretkenlik için yeni güçlü geliştirici araçları, Microsoft Bot Framework ile topluluğun gelişmiş konuşma tanımayı kullanma ve katkıda bulunmasının ek yolları ve daha fazla küresel kullanılabilirlik.

Bu yeni API ve Hizmetlerin sizin için neler yapabileceğine biraz daha yakından bakalım.

Uygulamanıza özelleştirilmiş görsellik getirin

Custom Vision Service sayesinde kendi resim tanıma hizmetinizi oluşturmanız çok kolaylaşıyor. Custom Vision Service Portalını kullanarak, bir dizi resim yükleyerek sınıflandırıcınızı eğitebilir ve eğitildikten sonra birkaç resim yükleyerek test edebilirsiniz.

Her bir adımı kodlamak da mümkün: Diyelim, belirli bir gereksinimi karşılamak için resim sınıflandırıcımı hızlı bir biçimde oluşturmam gerekiyor; bunlar, kullanıcılarımın web siteme yükledikleri ürünler, perakende ürünler ya da bir ormandaki hayvanların resimleri bile olabilir.

  • Başlamak için, Custom Vision API ihtiyacım olacak; bu da bu SDK’de var. Bir konsol uygulaması oluşturup, bu örnek için gereken eğitim anahtarı ve resimleri hazırlamam gerekiyor.

Yeni bir Konsol Uygulaması oluşturmak için Visual Studio ile başlayıp, Program.cs içeriklerinin yerine aşağıdaki kodu girebilirim. Bu kod iki yardımcı yöntemi tanımlar ve çağırır:

  • GetTrainingKey adlı yöntem, eğitim anahtarını hazırlar.
  • Adı LoadImagesFromDisk olan, bu örneğin projeyi eğitmek için kullandığı iki grup resmi ve örneğin varsayılan tahmin bitiş noktasını göstermek için kullandığı bir test resmini yükler.

  • Bundan sonraki adımda bir Custom Vision Service projesi oluşturmam gerekir; bunun için, LoadImagesFromDisk() çağrısından sonra Main() yönteminde aşağıdaki kodu giriyorum.

Sonra, CreateProject() çağrısının arkasına aşağıdaki kodu ekleyerek projeme etiketler koymam gerekir.

  • Ardından, bellekteki resimleri projeye Yüklemek için Main() yönteminin sonuna aşağıdaki kodu giriyorum:

 

  • Projeye etiket ve resimleri ekledikten sonra artık eğitebilirim. Main()’in sonuna aşağıdaki kodu eklemem gerekecek. Bu, projedeki ilk yinelemeyi oluşturur. Sonra bu yinelemeyi varsayılan yineleme olarak işaretleyebilirim.

  • Tahmin için bu modeli kullanmaya hazır olduğuma göre, önce varsayılan yineleme ile ilişkili bitiş noktasını alır, sonra bu bitiş noktasını kullanarak projeye bir test resmi gönderirim. Aşağıdaki kodu Main()’in sonuna ekleyin.

 

  • Son adımda çözümü derleyip çalıştıralım: Tahmin sonuçları konsolda görünecektir.

Custom Vision Service hakkında daha fazla bilgi için lütfen aşağıdaki kaynaklara bakın:

Custom Decision Service ile sitenizi özelleştirme

Custom Decision Service ile kullanıcıların kendilerine en ilgi çekici gelen içeriği görmesi için web sitenizin içeriğini kişiselleştirebilirsiniz.

Sitemin, ilk sayfasında birçok makaleye bağlantı veren bir haber web sitesi olduğunu varsayalım. Sayfa yüklenirken Custom Decision Service’in o sayfada gösterilecek makalelerin dereceli bir sıralamasını vermesini istiyorum.

Kullanıcılarımdan biri bir makaleyi tıkladığında Custom Decision Service’e kararın sonucunu günlüğe kaydetmesi için ikinci bir istek gönderilecektir. En kolay entegrasyon yöntemi bu içerik için yalnızca bir RSS bildirimini, bunun için de uygulamaya birkaç satır javascript eklenmesini gerektirir.

O zaman başlayalım!

  • Önce Decision Service Portal’a kaydolmam gerekiyor. Bunun için, üst şeritteki My Portal menü öğesini tıkladıktan sonra bir özgün tanımlayıcı seçerek uygulamayı kaydedebilirim. Eylem ayarlanmış bir bildirim için bir ad, yanı sıra bir RSS veya Atom bitiş noktası da oluşturulabilir.

  • Custom Decision Service’in temel kullanımı oldukça basittir: Ön sayfa, makale sayfalarının sıralamasını belirlemek için Custom Decision Service kullanacaktır. Benim yalnızca ön sayfanın HTML başlığına aşağıdaki kodu girmem gerekir.

Geri çağırma işlevinin, Ranking API çağrısından önce tanımlanması gerektiği için sıralama önemlidir. Verilerin bağımsız değişkeni işlenecek URL’lerin sıralamasını içerir. Daha fazla bilgi için öğretici ve API referansına bakabilirsiniz.

  • Her makale sayfası için kurallı URL’nin ayarlandığından ve RSS bildiriminizde sağlanan URL’lerle eşleştiğinden emin olmam; Reward API’yı çağırmak için HTML’e aşağıdaki kodu girmem gerekiyor:

  • Son olarak, Custom Decision Service’in dikkate alacağı makale listesini (diğer adıyla eylemleri) döndüren Action Set API’yı sağlamam gerekiyor. Bu API’yı, burada gösterildiği gibi bir RSS bildirimi olarak uygulayabilirim:

Custom Decision Service hakkında daha fazla bilgi için lütfen aşağıdaki kaynaklara bakın:

Video öngörülerini ortaya çıkarın

Video Indexer ile şimdi video dosyalarında birçok bilgiyi işlemek ve çıkarmak mümkün:

  • Yüz tanıma ve tanımlama (bir videodaki insan yüzlerini bulur, tanımlar, izler)
  • OCR (videolardaki yazılı içerikleri alıp, aranabilir dijital metin üreten optik karakter tanıma)
  • Çevriyazı (belirlenen bir dilde sesi metne dönüştürme)
  • Beni en sevdiklerimden biri, konuşmacı ayır etme (Konuşmacıları ayrı ayrı eşleyerek anlar ve her konuşmacının videoda ne zaman göründüğünü belirler)
  • Ses algılama (arka plan sesi/insan sesi etkinliklerini sessizlikten ayırma)
  • Duyarlılık analizi (birden çok duygusal özellik temelinde analiz yürütme / şu anda desteklenen duyarlılık seçenekleri Positive, Neutral, Negative’dir)

Tek bir videodan çok bilgi

Benim bir haber ajansı olduğumu ve kullanıcılarımın video kitaplığımda arama yürütmeleri gerektiğini düşünelim: Arama deneyimini dizinlenmiş konuşma sözcükleri ve yüzlerle geliştirmek için videolardaki meta verileri kolayca ayıklayabilmeliyim.

  • Atılabilecek en kolay ilk adım, doğrudan Video Indexer Web Portalına gitmektir: Oturum açar, bir video yükler, sonra videoyu dizinlemesi ve analiz etmesi için Video Indexer’i başlatabilirim. Bunu yaptıktan sonra, videoma bağlantı veren ve videoda bulunanların (kişiler, konular, OCR gibi) kısa bir tanımını içeren bir bildirim alacağım.
  • Video Indexer API’larını kullanmak istiyorsam ayrıca Video Indexer Web Portalına oturum açmam, üretimi seçip abone olmam da gerekir. Bu, Video Indexer ekibine bir abonelik isteği gönderir; istek kısa sürede onaylanır. Onaylandıktan sonra aboneliğimi ve anahtarlarımı görebileceğim.

Aşağıdaki C# kod parçacığı tüm Video Indexer API’larının bir arada kullanımını göstermektedir.

  • Bir API çağrısı yaptığımda ve yanıt durumu OK olduğunda, belirlenen videodan alınan bilgilerin, anahtar sözcükler (konular), yüzler, bloklar gibi detaylarını içeren bir JSON çıktısı alacağım. Her blokta zaman aralıkları, çevriyazı satırları, OCR satırları, duyarlılıklar, yüzler ve blokların küçük resimleri yer alır.

Daha fazla bilgi için lütfen aşağıdaki kaynaklara bakın:

Kullanıcılarınız için hedefli aramalar oluşturun

Bing Custom Search ile hedeflenen web alanında yüksek oranda özelleştirilmiş web arama deneyimi oluşturabilirim: Özel bir arama çözümü için birçok entegrasyon senaryosu ve son kullanıcı giriş noktaları bulunmaktadır.

Örneğin Amicus, bağışçılara tam bir şeffaflık sağlayarak küresel yardım projelerinin finanse edilme ve gönderilme yöntemlerini değiştiren bir uygulama geliştiriyor. Amicus’un bağışçıların özellikle küresel yardım amaçlayan projeleri öğrenmeleri, bulmaları ve finans desteği sağlamalarına yardımcı olması gerekiyordu. Amicus, Bing Custom Search kullanarak kendisine uygun web sayfalarını önceden tanımlayabildi: Kullanıcılar tek bir kavramla ilgilendiklerinde (‘su’, ‘eğitim’ ya da ‘Hindistan’ gibi), Bing Custom Search küresel yardım alanında ilgi oranı çok yüksek sonuçlar getirebiliyor.

Bing Custom Search hakkında daha fazla bilgi edinmek için Bing Custom Search Blog duyurusuna bakmaktan çekinmeyin.

“Bisiklet turları” konulu (Seattle bölgesinde çok önemli bir etkinliktir) genel web sitem için özelleştirilmiş bir arama oluşturduğumu düşünelim.

  • Başlamak için Bing Custom Search Portalına kaydolarak ücretsiz deneme anahtarımı alabilirim.
  • Oturumumu açtıktan sonra bir özelleştirilmiş arama örneği oluşturmaya başlayabilirim: Bu örnek, seçtiğim bir senaryoya yönelik olarak uyarlanmış bir özel arama tanımlamak için gereken tüm ayarları içermektedir. Burada, bisiklet turlarına ilişkin içerikleri bulacağım bir arama oluşturmak istiyorum. Bunun için de “Bisiklet Turları” adlı bir özel arama örneği oluştururum.
  • Sonra, senaryom için üzerinde arama yapacağım web dilimlerini tanımlayıp, bunları arama örneğime eklemem gerekir. Bu özelleştirilmiş dilimler, etki alanları, alt etki alanları ya da web sayfaları olabilir.
  • Şimdi gereksinimlerime göre doğrudan sonuçların varsayılan sıralamasını ayarlayabilirim. Örneğin, çok belirli bir sorgu için belirli bir web sayfasını en başa sabitleyebilirim ya da özelleştirilmiş arama hizmetimin döndürdüğü sonuçlarda siteleri veya web sayfalarını daha yukarıda veya aşağıda görünecek şekilde yükseltebilir ya da indirgeyebilirim.
  • Bundan sonra yaptığım sıralama ayarlamalarını “Etkin”, “Engellenmiş” ve “Sabitlenmiş” sekmelerinde izleyebilirim. Ayrıca herhangi bir anda bu ayarlamalarımı yeniden gözden geçirebilirim.

  • Sonra ayarlarımı yayınlarım. Bing Web Search API’yını doğrudan ve program olarak çağırmadan önce, özelleştirilmiş arama hizmetimi doğrudan kullanıcı arabiriminde deneyebilirim. Bunu yapmak için bir sorgu belirleyip, ‘Test API’ya tıklarım. Özelleştirilmiş arama hizmetimden dönen algoritma sonuçlarını sağ tarafta görebilirim.
  • Özelleştirilmiş arama hizmetimin sonuçlarını program olarak çağırmak ve almak için Bing Web Search API’yı çağırabilirim. Bu durumda, costumconfig adlı bir özelleştirilmiş konfigürasyon parametresiyle standart Bing Web Search API çağrısını zenginleştiririm. Aşağıdaki, costumconfig parametresiyle istek URL’sidir:

Aşağıdaki, bir customconfig parametresi ile bir Bing Web Search API’ının JSON yanıtıdır.

Daha fazla bilgi için lütfen ilgili blog duyurusuna ve aşağıdaki kaynaklara bakın:
•    Bing Custom Search portalı
•    Başlangıç kılavuzunda teknik kaynakların tam listesi

Yeni AI MVP Ödül Kategorisi

Buraya kadar okuduğunuz için teşekkür ederiz! Bunun karşılığında biz de size yeni AI MVP Programımız hakkında bilgi vermekten mutluluk duyuyoruz!

Bildiğiniz gibi, veri ve yapay zeka dünyası görülmemiş bir hızla gelişiyor; bu dünyanın uzmanlar topluluğu da aynı şekilde. Microsoft MVP Ödül Programı’nın yapay zeka uzmanları arasında öne çıkan topluluk liderlerinin ödüllendirileceği yeni AI Award Kategorisini başlattığını duyurmanın heyecanı içindeyiz. Potansiyel “AI MVP’ler”, akıllı uygulamalar ve botlar geliştiren; insan etkileşimini (ses, metin, konuşma,…) modelleyen; yapay zeka algoritmaları yazan, veri kümelerini eğiten ve bu uzmanlıklarını teknik topluluklarıyla paylaşan geliştiricilerdir.

AI MVP ödülü, aşağıdaki teknoloji alanlarına yapılan katkılar temelinde verilecektir:

AI Ödül Kategorisi, mevcut ödül kategorilerine ek olarak verilecektir. Uygun niteliklere sahipseniz ya da sahip olan birisini tanıyorsanız, başvuru için tıklayın!

Tekrar teşekkürler ve iyi kodlamalar!