Desen söz dizimi

Ö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.

Desen söz dizimi, konuşma için kullanılan bir şablondur. Şablonda, eşleştirmek istediğiniz sözcükler ve varlıkların yanı sıra yoksaymak istediğiniz sözcükler ve noktalama işaretleri bulunmalıdır. Normal bir ifade değildir.

Dikkat

Desenler yalnızca makine öğrenmesi varlık üst bilgilerini içerir, alt varlıkları içermez. Desenlerdeki varlıklar, küme ayraçları {}ile çevrelenir. Desenler varlıkları ve rollere sahip varlıkları içerebilir. Pattern.any yalnızca desenlerde kullanılan bir varlıktır.

Desen söz dizimi aşağıdaki söz dizimini destekler:

İşlev Sözdizimi İç içe yerleştirme düzeyi Örnek
entity {} - kıvrımlı köşeli ayraçlar 2 {entity-name} formu nerede?
isteğe bağlı [] - köşeli ayraçlar

İsteğe bağlı ve gruplandırma birleşimlerinin iç içe yerleştirme düzeylerinde 3 sınırı vardır
2 Soru işareti isteğe bağlıdır [?]
gruplandırma () - parantezler 2 is (a | b)
veya | - dikey çubuk (boru)

Bir gruptaki dikey çubuklarda (Veya) 2 sınırı vardır
- Form nerede ({form-name-short} | {form-name-long} | {form-number})
konuşmanın başlangıcı ve/veya sonu ^-Şapka - ^konuşmaya başla
konuşma tamamlandı^
{number} varlığıyla tüm konuşmanın ^katı değişmez değer eşleşmesi^

Desenlerde iç içe söz dizimi

Köşeli ayraçlar içeren isteğe bağlı söz dizimi iki düzey iç içe yerleştirilebilir. Örneğin: [[this]is] a new form. Bu örnek aşağıdaki konuşmalara izin verir:

İç içe isteğe bağlı konuşma örneği Açıklama
bu yeni bir formdur desendeki tüm sözcükleri eşleştirir
yeni bir formdur dış isteğe bağlı sözcükle ve isteğe bağlı olmayan sözcüklerle desende eşleşir
yeni form yalnızca gerekli sözcüklerle eşleşir

Parantezler içeren gruplandırma söz dizimi iki düzey iç içe yerleştirilebilir. Örneğin: (({Entity1:RoleName1} | {Entity1:RoleName2} ) | {Entity2} ). Bu özellik, üç varlığın herhangi birinin eşleştirilmesine olanak tanır.

Entity1, kaynak (Seattle) ve hedef (Kahire) gibi rollere sahip bir Konum ise ve Varlık 2 bir liste varlığından (RedWest-C) bilinen bir yapı adıysa, aşağıdaki konuşmalar bu desene eşlenir:

İç içe gruplandırma konuşma örneği Açıklama
RedWest-C dış gruplandırma varlığıyla eşleşir
Seattle iç gruplandırma varlıklarından biriyle eşleşir
Kahire iç gruplandırma varlıklarından biriyle eşleşir

İsteğe bağlı söz dizimine sahip gruplar için iç içe yerleştirme sınırları

İsteğe bağlı söz dizimi ile gruplandırma birleşiminin 3 iç içe yerleştirme düzeyi sınırı vardır.

İzin Verilir Örnek
Yes ( [ ( test1 | test2 ) ] | test3 )
Hayır ( [ ( [ test1 ] | test2 ) ] | test3 )

or-ing söz dizimine sahip gruplar için iç içe geçirme sınırları

Or-ing söz dizimi ile gruplandırma birleşiminde 2 dikey çubuk sınırı vardır.

İzin Verilir Örnek
Yes ( test1 | test2 | ( test3 | test4 ) )
Hayır ( test1 | test2 | test3 | ( test4 | test5 ) )

Desen şablonuna varlık eklemek için söz dizimi

Desen şablonuna varlık eklemek için varlık adını gibi Who does {Employee} manage?küme ayraçlarıyla çevreleyin.

Varlıkla desen
Who does {Employee} manage?

Desen şablonuna varlık ve rol eklemek için söz dizimi

Varlık rolü, varlık adından sonra iki nokta üst üste ve ardından rol adıyla gösterilir {entity:role} . Desen şablonuna rolü olan bir varlık eklemek için varlık adını ve rol adını gibi Book a ticket from {Location:Origin} to {Location:Destination}küme ayraçlarıyla çevreleyin.

Varlık rolleriyle desen
Book a ticket from {Location:Origin} to {Location:Destination}

Desen şablonuna pattern.any eklemek için söz dizimi

Pattern.any varlığı, desene farklı uzunlukta bir varlık eklemenize olanak tanır. Desen şablonu izlendiği sürece desen.herhangi bir uzunluk olabilir.

Desen şablonuna pattern.any varlığı eklemek için Pattern.any varlığını gibi How much does {Booktitle} cost and what format is it available in?küme ayraçlarıyla çevrelenin.

Pattern.any varlığıyla desen
How much does {Booktitle} cost and what format is it available in?
Desendeki kitap başlıkları
Bu kitabın maliyeti ne kadardır ve hangi biçimde kullanılabilir?
Maliyeti ne kadardır ve hangi biçimde kullanılabilir?
Köpeğin Meraklı Olayı'nın Gece Saati maliyeti ne kadardır ve hangi biçimde kullanılabilir?

Luis, Pattern.any varlığını temel alarak kitap başlığının nerede sona erdiğini bildiği için, kitap başlığının sözcükleri LUIS için kafa karıştırıcı değildir.

Açık listeler

aşağıdaki durumlarda özel duruma izin vermek için yazma API'sini kullanarak Açık Liste oluşturun:

  • Deseniniz bir Pattern.any içeriyor
  • Ve bu desen söz dizimi, ifadeye göre yanlış varlık ayıklama olasılığı sağlar.

Örneğin, hem isteğe bağlı söz dizimi, []hem de varlık söz dizimi {}içeren bir desenin, verileri yanlış ayıklamak için birleştirilmiş olduğunu varsayalım.

[{person}]' adlı {subject} hakkındaki '[bul] e-postası' desenini göz önünde bulundurun.

Aşağıdaki konuşmalarda konu ve kişi varlığı doğru ve yanlış ayıklanır:

İfade Entity Doğru ayıklama
Chris'ten köpekler hakkında e-posta subject=dogs
person=Chris
La Mancha'dan adam hakkında e-posta subject=the man
person=La Mancha
X

Yukarıdaki tabloda konu (kitap başlığı) olmalıdır the man from La Mancha , ancak konu isteğe bağlı sözcüğünü fromiçerdiğinden başlık yanlış tahmin edilir.

Bu özel durumu desene düzeltmek için, açık liste için yazma API'sini kullanarak {subject} varlığı için açık liste eşleşmesi olarak ekleyinthe man from la mancha.

Şablon konuşmasında isteğe bağlı metni işaretlemek için söz dizimi

Normal ifade köşeli ayraç söz dizimini kullanarak ifadedeki isteğe bağlı metni işaretleyin []. İsteğe bağlı metin, yalnızca iki köşeli ayraç kadar köşeli ayraç iç içe yerleştirebilir.

İsteğe bağlı metin içeren desen Anlamı
[find] email about {subject} [from {person}] find ve from {person} isteğe bağlıdır
'Bana yardım edebilir misin[?] Noktalama işareti isteğe bağlıdır

Noktalama işaretleri (?, !, .) yoksayılmalıdır ve desenlerde köşeli ayraç söz dizimini kullanarak bunları yoksaymalısınız.

Sonraki adımlar

Desenler hakkında daha fazla bilgi edinin:

.json yanıtında yaklaşımın nasıl döndürülür anlayın.