Choice, Score ve Noul
Bir istek yazmadan önce Choice, Score ve Noul seçeneklerini karşılaştırın.
Her Jev çağrısı, tipli soruları tek bir durumla eşleyen bir haritadır. Choice, en fazla 255 seçenekten oluşan tanımlı bir kümeden seçim yapar. Score, durumu sıralı 2 ila 10 düzeye yerleştirir ve iki düzey arasına da düşebilir. Noul, P(evet) değerini [0, 1] aralığında noul olarak döndürür ve ayrı bir güven alanı içermez. Karara uyan Primitives öğesini seçin; aritmetik işlemleri, tarihleri ve üretimi diğer araçlarda tutun.
Bir Primitives türü nasıl seçilir?
Yanıt, adı belirli tek bir seçenek olduğunda Choice kullanın: bir kuyruk, yetenek, sınıf etiketi veya sonraki bağlantı. TypeSafe tarafından gösterilen soru "Bu seçeneklerden hangisi?" şeklindedir. Döndürülen sonuçlar seçim, olasılıklar ve güven düzeyidir. Ölçütler, en fazla 255 seçenek içeren bir haritadır. Yüzlerce Wikipedia bağlantınız varsa hepsini tek bir Choice içine sığdıramazsınız; Wikiracing demosu önce puanlar, ardından kısa listedekiler arasından seçim yapar.
Yanıt, kısa ve sıralı bir ölçekteki derece olduğunda Score kullanın: sakin / gergin / çok gergin ya da 1-5 arası şiddet. Döndürülen alanlar puan, ölçek, olasılıklar ve güvendir. Criteria, 2 ila 10 düzeyden oluşan sıralı bir dizidir. Puanı kesin bir büyüklüğe dönüştürmek için ara değer hesaplamayın. Jev 1.13 düzeyleri, iki basamak arasındaki bir sayıyı yeniden oluşturmakta yetersizdir; beklenen değeri yalnızca eşik denetimi için kullanın.
Soru evet veya hayırla yanıtlanıyorsa Noul kullanın: "Bu doğru mu?" 0 ile 1 arasında bir noul döndürür. Ölçütler isteğe bağlı olarak doğru ve yanlışı tanımlayabilir. Güven alanı yoktur. 0.5 civarındaki bir Noul, orta yoğunluğu değil belirsizliği gösterir. Noul'nın iki seçenekli bir Choice ile eşdeğer olduğunu varsaymayın ve biri için ayarlanmış eşiği diğerine taşımayın. TypeSafe'in jaggedness sayfasında, aynı destek talebinde 0.01 değerindeki evet Choice değerinin yanında 0.22 değerinde bir iade Noul örneği gösterilir.
Choice
- Bu seçeneklerden hangisi?
- choice
- question
- seçim, olasılıklar, güven
- returns
- en fazla 255 seçenekli harita
- criteria
- maxOptions
- Hangi düzey?
- 255
Score
- Bu seçeneklerden hangisi?
- score
- question
- puan, ölçek, olasılıklar, güven
- returns
- 2 ila 10 düzeyden oluşan sıralı dizi
- criteria
- minLevels
- maxLevels
- 2
- Bu doğru mu?
- 10
Noul
- Bu seçeneklerden hangisi?
- noul
- question
- noul (0 ile 1 arası)
- returns
- hasConfidence
- isteğe bağlı doğru/yanlış açıklamaları
- false
- criteria
- requestId
Paralel sorular ve kimlikler
Bir döngüde anahtar üretirken bu kimlik kuralı önemlidir. Jaggedness sayfasındaki sayma örneği, her liste öğesi için bir Score sorar (item_0, item_1, …) ve yanıtları Choice içinde toplar. Noul bu adları hiçbir zaman belirteç olarak görmez. Yeniden denemeleri özgün haritayla eşleştirebilmek için günlüklerinizde adları sabit tutun.
Anahtarları döngü içinde oluştururken bu kimlik kuralı önemlidir. jaggedness sayfasındaki sayma örneği, her liste öğesi için bir Noul sorar (item_0, item_1, …) ve yanıtları Python içinde toplar. Jev bu adları hiçbir zaman belirteç olarak görmez. Yeniden denemeleri özgün eşlemeyle ilişkilendirebilmek için günlüklerinizdeki adları sabit tutun.
Her Primitives yanıtındaki ortak dönüş üst verileri requestId, timestamp, latency ve metadata alanlarını içerir. İzleri ilişkilendirmek için requestId kullanın. timestamp ve latency alanlarını soruyu yeniden sorma gerekçesi değil, aktarım bilgileri olarak değerlendirin. metadata, temel yüke eklenen isteğe bağlı içeriktir. Önce üç Primitives türünü karşılaştırın; ardından bu ortak alanları türü belirlenmiş yanıtı saran zarf olarak okuyun.
Uygulamadaki sınırlar
255 Choice seçeneği kesin bir üst sınırdır, öneri değildir. Wikiracing bu sınırı önce bir Score kısa listesi, ardından bir Choice kullanarak aşar. Sınıflandırmanızda 400 etiket varsa aynı iki aşamalı yapıya veya bir Choice hiyerarşisine ihtiyacınız vardır. API'nin 256 seçeneği kabul etmesini beklemeyin.
Score için 2 ile 10 arasındaki düzeyler, bir insanın sesli okuyabileceği kısa açıklamalar içindir. 100 puanlık kalite ölçeği için bu Primitives uygun değildir; ölçeği atomik Score'lara ayırıp kodda toplayın. 1.4 gibi düzeyler arası puanlar beklenen bir durumdur. Bu kesirlerden parasal tutar çıkarmak ise değildir.
Noul bir güven alanına sahip değildir; dolayısıyla geçiş koşulunuz noul değeriyle eklediğiniz ikinci sorudan oluşur. Yaygın bir ikili, "bu kapsam dâhilinde mi" sorusu için Noul ve yalnızca noul yüksek olduğunda "hangi kategoriye ait" sorusu için Choice kullanmaktır. jaggedness değişmezleri kaydı, bu iki sayının aynı istatistik olarak değerlendirilmemesi gerektiği konusunda uyarır.
Tek bir destek kaydı için üç Primitives türünü de birleştiren istek normal yapıdır, ileri düzey bir numara değildir. Aciliyet için Noul, departman için Choice, hayal kırıklığı için Score, ardından kod. Hızlı başlangıç kılavuzunun curl örneğinde de aynı eşleme gösterilir. Bu sayfadaki karşılaştırma, JSON'u yazmadan önce türü seçebilmeniz içindir.
Ortak zarf alanları dördüncü bir Primitives değildir. Çağrıyı izleyebilmeniz için requestId, timestamp, latency ve metadata her yanıtla birlikte iletilir. Ürün bilgileri state içinde olmalıdır. metadata içine politika sıkıştırıyorsanız bunu Jev'ın gerçekten okuduğu nesneye taşıyın.
Ölçütleri, yarın ekibe katılacak biri okuyacakmış gibi yazın. Bir Choice üzerindeki seçenek adları ve bir Score üzerindeki düzey adları sorunun parçasıdır. Belirsiz etiketler, üretimde sözcüğü sözcüğüne yorumlanmaya yol açar.
Noul özel addır. İsteğin geri kalanı İngilizce düz yazı olsa bile yazımını koruyun.
Kaynaklar