LUIS uygulamalarında desenler
Önemli
LUIS 1 Ekim 2025'te kullanımdan kaldırılacak ve 1 Nisan 2023'den itibaren yeni LUIS kaynakları oluşturamayacaksınız. Devam eden ürün desteği ve çok dilli özelliklerden yararlanmak için LUIS uygulamalarınızı konuşma dili anlayışına geçirmenizi öneririz.
Desenler, birden çok konuşma çok benzer olduğunda doğruluğu geliştirmek için tasarlanmıştır. Desen, birkaç konuşma daha sağlamadan bir amaç için daha fazla doğruluk elde etmenizi sağlar.
Desenler düşük amaç güvenilirliğini çözer
Bir çalışanla ilgili olarak kuruluş şemasında rapor veren bir İnsan Kaynakları uygulaması düşünün. Bir çalışanın adı ve ilişkisi göz önünde bulundurulduğunda LUIS, söz konusu çalışanları döndürür. Ali adında bir yönetici ve Michael, Rebecca ve Carl adında bir ast ekibi olan bir çalışan, Tom düşünün.
İfadeler | Amaç tahmin edildi | Amaç puanı |
---|---|---|
Tom'un astları kim? | GetOrgChart | 0,30 |
Tom'un astları kim? | GetOrgChart | 0,30 |
Bir uygulamada farklı cümle uzunluklarına, farklı sözcük sırasına ve hatta farklı sözcüklere ("alt", "yönet", "rapor" eş anlamlıları) sahip 10 ile 20 arasında konuşma varsa LUIS düşük güvenilirlik puanı döndürebilir. LUIS'in sözcük sırasının önemini anlamasına yardımcı olacak bir desen oluşturun.
Desenler aşağıdaki durumları çözer:
- Amaç puanı düşük
- Doğru amaç en yüksek puan değil, en yüksek puana çok yakın.
Desenler amacın garantisi değildir
Desenler tahmin tekniklerinin bir karışımını kullanır. Şablon konuşmasının amacını bir desende ayarlamak amaç tahmininin garantisi değildir, ancak güçlü bir sinyaldir.
Desenler makine öğrenmesi varlık algılamayı geliştirmez
Desen öncelikli olarak amaçların ve rollerin tahminine yardımcı olmak içindir. Serbest biçimli varlıkları ayıklamak için "pattern.any" varlığı kullanılır. Desenler varlıkları kullansa da, desen bir makine öğrenmesi varlığını algılamaya yardımcı olmaz.
Birden çok ifadeyi tek bir düzende daraltıyorsanız iyileştirilmiş varlık tahmini görmeyi beklemeyin. Basit varlıkların uygulamanız tarafından kullanılabilmesi için konuşmalar eklemeniz veya liste varlıklarını kullanmanız gerekir.
Desenler varlık rollerini kullanır
Bir desendeki iki veya daha fazla varlık bağlamsal olarak ilişkiliyse, desenler varlıklar hakkındaki bağlamsal bilgileri ayıklamak için varlık rollerini kullanır.
Desenli ve desensiz tahmin puanları
Yeterli örnek konuşma söz konusuysa LUIS, desenler olmadan tahmin güvenilirliğini artırabilir. Desenler, çok fazla konuşma sağlamak zorunda kalmadan güvenilirlik puanını artırır.
Desen eşleştirme
Desen, önce desenin içindeki varlıkları algılayarak, ardından desenin kalan sözcükleri ve sözcük sırasını doğrulayarak eşleştirilir. Bir desenin eşleşmesi için desende varlıklar gereklidir. Desen karakter düzeyinde değil belirteç düzeyinde uygulanır.
Pattern.any varlığı
pattern.any varlığı, ifade nedeniyle varlığın sonunun konuşmanın geri kalanından ayrılmasının zor olduğu durumlarda serbest biçimli verileri bulmanızı sağlar.
Örneğin, çalışanların şirket belgelerini bulmasına yardımcı olan bir İnsan Kaynakları uygulaması düşünün. Bu uygulamanın aşağıdaki örnek konuşmaları anlaması gerekebilir.
- "HRF-123456 nerede?"
- "HRF-123234'i kim yazdı?"
- "HRF-456098 Fransızca yayınlanıyor mu?"
Ancak, her belgenin hem biçimlendirilmiş bir adı (yukarıdaki listede kullanılır) hem de yeni çalışandan şirket 2018 sürüm 5'e yeniden taşınma isteği gibi okunabilir bir adı vardır.
İnsan tarafından okunabilen ada sahip konuşmalar şöyle görünebilir:
- "Yeni çalışandan şirket 2018 sürüm 5'e yeniden konumlandırma isteği nerededir?"
- "Yeni çalışandan şirket 2018 sürüm 5'e yeniden konumlandırma isteği"ni kim yazdı?"
- Yeni çalışandan şirket 2018 sürüm 5'e taşınma isteği Fransızca mı yayımlandı?"
Konuşmalar, VARLıĞın nerede bittiği konusunda LUIS'in kafasını karıştırabilecek sözcükler içerir. Pattern.any varlığını bir desende kullanmak, belge adının başlangıcını ve sonunu belirtmenize olanak tanır, bu nedenle LUIS form adını doğru ayıklar. Örneğin, aşağıdaki şablon konuşmaları:
- Where is {FormName}[?] ({FormName} nerede[?])
- Who authored {FormName}[?] ({FormName} kim yazdı[?])
- {FormName} Fransızca yayımlanıyor mu[?]
Desenler için en iyi yöntemler:
Sonraki yinelemelerde desen ekleme
Desenler örnek konuşmalardan daha ağır olduğundan ve güveni çarpıtacağından, desenleri eklemeden önce uygulamanın nasıl davrandığını anlamanız gerekir.
Uygulamanızın nasıl davrandığını anladıktan sonra, uygulamanıza uygulanan desenleri ekleyin. Uygulamanın tasarımını her yinelediğinizde bunları eklemeniz gerekmez.
Bunları model tasarımınızın başına eklemenin bir zararı yoktur, ancak model konuşmalarla test edildikten sonra her desenin modeli nasıl değiştirdiğini görmek daha kolaydır.
Çok fazla desen eklemeyin
Çok fazla desen eklemeyin. LUIS'in daha az örnekle hızlı bir şekilde öğrenmesi amaçlanır. Sistemi gereksiz yere aşırı yüklemeyin.
Özellikler
Makine öğrenmesinde bir özellik , sisteminizin gözlemlediği ve öğrendiği verilerin ayırt edici bir özelliği veya özniteliğidir.
Makine öğrenmesi özellikleri LUIS'e kavramı ayırt eden şeyleri nerede arayacağı konusunda önemli ipuçları verir. Bunlar LUIS'in kullanabileceği ipuçlarıdır, ancak bunlar zor kurallar değildir. LUIS, verileri bulmak için etiketlerle bu ipuçlarını kullanır.
Bir özellik gibi f(x) = y
bir işlev olarak tanımlanabilir. Örnek konuşmada, özellik ayırt edici özelliği nerede arayabileceğinizi söyler. Şemanızı oluşturmanıza yardımcı olması için bu bilgileri kullanın.
Özellik türleri
Özellikler şema tasarımınızın gerekli bir parçasıdır. LUIS, özellik olarak hem tümcecik listelerini hem de modelleri destekler:
- Tümcecik listesi özelliği
- Özellik olarak model (amaç veya varlık)
Örnek konuşmalarınızdaki özellikleri bulma
LUIS dil tabanlı bir uygulama olduğundan özellikler metin tabanlıdır. Ayırt etmek istediğiniz özelliği gösteren metni seçin. LUIS için en küçük birim belirteçtir. İngilizce dilinde belirteç, boşluk veya noktalama işareti olmayan harf ve sayılardan oluşan bitişik bir aralıktır.
Boşluklar ve noktalama işaretleri belirteç olmadığından, özellik olarak kullanabileceğiniz metin ipuçlarına odaklanın. Sözcük çeşitlemelerini eklemeyi unutmayın, örneğin:
- Çoğul formlar
- Fiil zamanları
- Abbreviations
- Yazım ve yazım hataları
Bir özelliği ayırt ettiği için metnin aşağıdakilere ihtiyacı olup olmadığını belirleyin:
- Bir sözcüğü veya tümceciği tam olarak eşleştirin: Varlığa veya amada bir özellik olarak normal ifade varlığı veya liste varlığı eklemeyi göz önünde bulundurun.
- Tarihler, saatler veya kişilerin adları gibi iyi bilinen bir kavramı eşleştirin: Varlık veya amaç için önceden oluşturulmuş bir varlığı özellik olarak kullanın.
- Zaman içinde yeni örnekler öğrenin: Varlık veya amaç için bir özellik olarak kavramla ilgili bazı örneklerin tümcecik listesini kullanın.
Kavram için tümcecik listesi oluşturma
Tümcecik listesi, bir kavramı açıklayan sözcüklerin veya tümceciklerin listesidir. Tümcecik listesi, belirteç düzeyinde büyük/küçük harfe duyarlı olmayan bir eşleşme olarak uygulanır.
Tümcecik listesi eklerken özelliği genel olarak ayarlayabilirsiniz. Genel bir özellik tüm uygulama için geçerlidir.
Tümcecik listesi ne zaman kullanılır?
Luis uygulamanızın kavram için yeni öğeleri genelleştirmesi ve tanımlaması gerektiğinde bir tümcecik listesi kullanın. Tümcecik listeleri, etki alanına özgü sözcük dağarcığı gibidir. Amaçlar ve varlıklar için anlama kalitesini artırır.
Tümcecik listesi kullanma
Luis, tümcecik listesiyle bağlamı dikkate alır ve tam metin eşleşmesine benzeyen ancak olmayan öğeleri tanımlamak için genelleştirir. Tümcecik listesi kullanmak için şu adımları izleyin:
- Makine öğrenmesi varlığıyla başlayın:
- Örnek konuşmalar ekleyin.
- Makine öğrenmesi varlığıyla etiket.
- Tümcecik listesi ekleme:
- Benzer anlamlara sahip sözcükler ekleyin. Mümkün olan her sözcüğü veya tümceciği eklemeyin. Bunun yerine, aynı anda birkaç sözcük veya tümcecik ekleyin. Ardından yeniden eğitin ve yayımlayın.
- Önerilen sözcükleri gözden geçirin ve ekleyin.
Tümcecik listesi için tipik bir senaryo
Tümcecik listesi için tipik bir senaryo, belirli bir fikirle ilgili sözcükleri artırmaktır.
Tıbbi terimler, anlamlarını artırmak için tümcecik listesine ihtiyaç duyabilecek sözcüklere iyi bir örnektir. Bu terimlerin belirli fiziksel, kimyasal, terapötik veya soyut anlamları olabilir. LUIS, terimlerin tümcecik listesi olmadan konu etki alanınız için önemli olduğunu bilmez.
Örneğin, tıbbi terimleri ayıklamak için:
- Örnek konuşmalar oluşturun ve bu konuşmaların içinde tıbbi terimleri etiketle.
- Konu etki alanındaki terimlerin örneklerini içeren bir tümcecik listesi oluşturun. Bu tümcecik listesi, etiketlediğiniz gerçek terimi ve aynı kavramı açıklayan diğer terimleri içermelidir.
- Tümcecik listesinde kullanılan kavramı ayıklayan varlığa veya alt varlığa tümcecik listesini ekleyin. En yaygın senaryo, bir makine öğrenmesi varlığının bileşenidir (alt öğe). Tümcecik listesinin tüm amaçlara veya varlıklara uygulanması gerekiyorsa, tümcecik listesini genel tümcecik listesi olarak işaretleyin. enabledForAllModels bayrağı API'de bu model kapsamını denetler.
Tümcecik listesi için belirteç eşleşmeleri
Tümcecik listesi her zaman belirteç düzeyinde uygulanır. Aşağıdaki tabloda, Ann sözcüğünü içeren bir tümcecik listesinin aynı karakterlerin bu sırayla varyasyonlarına nasıl uygulandığı gösterilmektedir.
"Ann" belirteci varyasyonu | Belirteç bulunduğunda tümcecik listesi eşleşmesi |
---|---|
ANN aNN |
Evet - belirteç Ann |
Ann's | Evet - belirteç Ann |
Anne | Hayır - belirteç Anne |
Özellik olarak model başka bir modele yardımcı olur
Bir modeli (amaç veya varlık) başka bir modele (amaç veya varlık) özellik olarak ekleyebilirsiniz. Özellik olarak mevcut bir amacı veya varlığı ekleyerek, etiketli örnekler içeren iyi tanımlanmış bir kavram eklersiniz.
Bir modeli özellik olarak eklerken, özelliği şu şekilde ayarlayabilirsiniz:
- Gerekli. Modelin tahmin uç noktasından döndürülebilmesi için gerekli bir özellik bulunmalıdır.
- Genel. Genel bir özellik tüm uygulama için geçerlidir.
Bir varlığı bir amaca özellik olarak ne zaman kullanmalı?
Varlığın algılanması amaç için önemli olduğunda bir varlığı amaca özellik olarak ekleyin.
Örneğin, amaç BookFlight gibi bir uçuş rezervasyonu içinse ve varlık bilet bilgileriyse (koltuk sayısı, çıkış noktası ve hedef gibi), bilet bilgileri varlığını bulmak BookFlight amacının tahmini için önemli bir ağırlık katmalıdır.
Bir varlığı başka bir varlığa özellik olarak ne zaman kullanacaksınız?
Bir varlığın (A) algılanması varlığın (B) tahmini için önemli olduğunda, bir varlık (A) başka bir varlığa (B) özellik olarak eklenmelidir.
Örneğin, bir sevkiyat adresi varlığı bir sokak adresi alt varlığında yer alırsa, sokak adresi alt girişini bulmak sevkiyat adresi varlığı için tahmine önemli ağırlık ekler.
- Sevkiyat adresi (makine öğrenmesi varlığı):
- Sokak numarası (alt öğe)
- Sokak adresi (alt öğe)
- Şehir (alt öğe)
- Eyalet veya İl (alt öğe)
- Ülke/Bölge (alt öğe)
- Posta kodu (alt öğe)
Özelliklere sahip iç içe alt varlıklar
Makine öğrenmesi alt öğesi, üst varlığa bir kavramın mevcut olduğunu gösterir. Üst öğe başka bir alt varlık veya üst varlık olabilir. Alt öğe değeri, üst öğesi için bir özellik işlevi görür.
Alt varlık, özellik olarak hem tümcecik listesine hem de modele (başka bir varlık) sahip olabilir.
Alt dizinin tümcecik listesi olduğunda, kavramın kelime dağarcığını artırır, ancak tahminin JSON yanıtına herhangi bir bilgi eklemez.
Alt varlık başka bir varlığın özelliğine sahip olduğunda, JSON yanıtı bu diğer varlığın ayıklanan verilerini içerir.
Gerekli özellikler
Modelin tahmin uç noktasından döndürülmesi için gerekli bir özelliğin bulunması gerekir. Gelen verilerinizin bu özellikle eşleşmesi gerektiğini biliyorsanız gerekli bir özelliği kullanın.
Konuşma metni gerekli özellik ile eşleşmiyorsa ayıklanamaz.
Gerekli bir özellik makine öğrenmesi olmayan bir varlık kullanır:
- Normal ifade varlığı
- Liste varlığı
- Önceden oluşturulmuş varlık
Modelinizin verilerde bulunacağından eminseniz, özelliği gerektiği gibi ayarlayın. Gerekli bir özellik bulunamazsa hiçbir şey döndürmez.
Sevkiyat adresi örneğine devam edin:
Sevkiyat adresi (makine öğrenmesi varlığı)
- Sokak numarası (alt öğe)
- Sokak adresi (alt öğe)
- Sokak adı (alt öğe)
- Şehir (alt öğe)
- Eyalet veya İl (alt öğe)
- Ülke/Bölge (alt öğe)
- Posta kodu (alt öğe)
Önceden oluşturulmuş varlıkları kullanan gerekli özellik
Şehir, eyalet ve ülke/bölge gibi önceden oluşturulmuş varlıklar genellikle kapalı bir liste kümesidir ve bu da zaman içinde çok fazla değişmedikleri anlamına gelir. Bu varlıklar ilgili önerilen özelliklere sahip olabilir ve bu özellikler gerekli olarak işaretlenebilir. Ancak isRequired bayrağı yalnızca atandığı varlıkla ilgilidir ve hiyerarşiyi etkilemez. Önceden oluşturulmuş alt varlık özelliği bulunamazsa, üst varlığın algılanması ve döndürülmesi etkilenmez.
Gerekli bir özelliğe örnek olarak adresleri algılamak istediğinizi düşünün. Bir sokak numarasını zorunlu kılmayı düşünebilirsiniz. Bu, kullanıcının "1 Microsoft Way" veya "One Microsoft Way" girmesini sağlar ve her ikisi de sokak numarası alt varlığının "1" rakamı olarak çözümlenir. Daha fazla bilgi için önceden oluşturulmuş varlıkmakalesine bakın.
Liste varlıklarını kullanan gerekli özellik
Liste varlığı , eş anlamlılarıyla birlikte kurallı adların listesi olarak kullanılır. Gerekli bir özellik olarak, konuşma kurallı adı veya eş anlamlıyı içermiyorsa, varlık tahmin uç noktasının bir parçası olarak döndürülemez.
Şirketinizin yalnızca sınırlı sayıda ülkeye/bölgeye gönderimi olduğunu varsayalım. Müşterinizin ülkeye/bölgeye başvurması için çeşitli yollar içeren bir liste varlığı oluşturabilirsiniz. LUIS konuşma metninde tam eşleşme bulamazsa, tahminde varlık (liste varlığının gerekli özelliğine sahip olan) döndürülür.
Kurallı ad** | Eş Anlamlı Sözcükler |
---|---|
ABD | U.S. ABD ABD ABD 0 |
Sohbet botu gibi bir istemci uygulaması yardım için bir izleme sorusu sorabilir. Bu, müşterinin ülke/bölge seçiminin sınırlı ve gerekli olduğunu anlamasına yardımcı olur.
Normal ifade varlıklarını kullanan gerekli özellik
Gerekli bir özellik olarak kullanılan normal ifade varlığı zengin metin eşleştirme özellikleri sağlar.
Sevkiyat adresi örneğinde, ülke/bölge posta kodlarının söz dizimi kurallarını yakalayan normal bir ifade oluşturabilirsiniz.
Genel özellikler
En yaygın kullanım belirli bir modele özellik uygulamak olsa da, özelliği uygulamanızın tamamına uygulamak için genel bir özellik olarak yapılandırabilirsiniz.
Genel bir özelliğin en yaygın kullanımı, uygulamaya ek bir sözcük dağarcığı eklemektir. Örneğin, müşterileriniz birincil dil kullanıyorsa ancak aynı konuşmada başka bir dil kullanmayı bekliyorsa, ikincil dilden sözcükler içeren bir özellik ekleyebilirsiniz.
Kullanıcı herhangi bir amaç veya varlıkta ikincil dili kullanmayı beklediğinden, ikincil dilden sözcükleri tümcecik listesine ekleyin. Tümcecik listesini genel bir özellik olarak yapılandırın.
Ek avantaj için özellikleri birleştirme
Bir özelliği veya kavramı tanımlamak için birden fazla özellik kullanabilirsiniz. Yaygın bir eşleştirme şu şekilde kullanılır:
- Tümcecik listesi özelliği: Aynı modele özellik olarak birden çok tümcecik listesi kullanabilirsiniz.
- Özellik olarak model: önceden oluşturulmuş varlık, normal ifade varlığı, liste varlığı.
Örnek: Seyahat uygulaması için bilet ayırma varlığı özellikleri
Temel bir örnek olarak, uçuş rezervasyonu amacı ve bilet rezervasyonu varlığı olan bir uçuş rezervasyonu için bir uygulama düşünün. Bilet rezervasyonu varlığı, rezervasyon sisteminde uçak bileti rezervasyonu yapmak için bilgileri yakalar.
Ticket-book için makine öğrenmesi varlığı, kaynağı ve hedefi yakalamak için iki alt varlığa sahiptir. Özelliklerin üst düzey varlığa değil her alt öğeye eklenmesi gerekir.
Bilet ayırma varlığı, Kaynak ve Hedef gibi alt varlıklara sahip bir makine öğrenmesi varlığıdır. Bu alt varlıkların her ikisi de coğrafi konumu gösterir. Konumları ayıklamaya ve Kaynak ile Hedef arasında ayrım yapmaya yardımcı olmak için her alt dizinin özellikleri olmalıdır.
Tür | Kaynak alt türü | Hedef alt giriş |
---|---|---|
Özellik olarak model oluşturma | geographyV2 önceden oluşturulmuş varlık | geographyV2 önceden oluşturulmuş varlık |
Tümcecik listesi | Kaynak sözcükler : başlangıç, başlangıç, ayrılma | Hedef sözcükler : hedef, var, in, git, git, kal, başlık |
Tümcecik listesi | Havaalanı kodları - hem kaynak hem de hedef için aynı liste | Havaalanı kodları - hem kaynak hem de hedef için aynı liste |
Tümcecik listesi | Havaalanı adları - hem kaynak hem de hedef için aynı liste | Havaalanı kodları - hem kaynak hem de hedef için aynı liste |
İnsanların havaalanı kodlarını ve havaalanı adlarını kullandığını düşünüyorsanız LUIS'in her iki tümcecik türünü de kullanan tümcecik listeleri olmalıdır. Havaalanı kodları sohbet botunda girilen metinlerde daha yaygınken, havaalanı adları konuşma özellikli sohbet botu gibi konuşulan konuşmalarda daha yaygın olabilir.
Özelliklerin eşleşen ayrıntıları yalnızca modeller için döndürülür, tümcecik listeleri için döndürülür çünkü tahmin JSON'unda yalnızca modeller döndürülür.
Amada bilet kaydı etiketleme
Makine öğrenmesi varlığını oluşturduktan sonra, bir amaca örnek konuşmalar eklemeniz ve üst varlığı ve tüm alt varlıkları etiketlemeniz gerekir.
Bilet ayırma örneği için, amaçtaki örnek konuşmaları TicketBooking varlığı ve metindeki tüm alt varlıklarla etiketle.
Örnek: pizza sipariş uygulaması
İkinci bir örnek için, birinin sipariş ettiği pizza türünün ayrıntılarını içeren pizza siparişlerini alan bir pizza restoranı uygulamasını düşünün. Sipariş işlemeyi tamamlamak için mümkünse pizzanın her ayrıntısı ayıklanmalıdır.
Bu örnekteki makine öğrenmesi varlığı iç içe alt varlıklar, tümcecik listeleri, önceden oluşturulmuş varlıklar ve özel varlıklar ile daha karmaşıktır.
Bu örnek, alt öğe düzeyindeki özellikleri ve alt öğe düzeyini kullanır. Özellik olarak ne tür bir tümcecik listesi veya modeli alan düzey, varlık tasarımınızın önemli bir parçasıdır.
Alt varlıkların varlığı algılamaya yardımcı olan özellikler olarak birçok tümcecik listesi olsa da, her alt varlığın özellik olarak yalnızca bir modeli vardır. Bu pizza uygulamasında, bu modeller öncelikli olarak listelerdir.
Doğru etiketlenmiş örnek konuşmalar, varlıkların nasıl iç içe yerleştirilmiş olduğunu göstermek için bir şekilde görüntülenir.