Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Note
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
Bu makale, beceri kümesi oluşturma hakkında daha ayrıntılı bilgilere ihtiyaç duyan ve dizin oluşturma sırasında ham içeriği dönüştürmek için yapay zeka zenginleştirmesinin üst düzey kavramlarını veya Azure Yapay Zeka Arama'te yapay zekanın nasıl uygulandığını bilen geliştiricilere yöneliktir.
Beceri kümesi, Azure Yapay Zeka Arama'te dizin oluşturucuya eklenmiş yeniden kullanılabilir bir nesnedir. Bir dış veri kaynağından alınan ham içerik üzerinde yerleşik yapay zeka veya dış özel işleme çağıran bir veya daha fazla beceri içerir.
Aşağıdaki diyagramda beceri kümesi yürütmesinin temel veri akışı gösterilmektedir.
Beceri kümesi işlemenin başlangıcından sonucuna kadar, beceriler bellekte var olan *zenginleştirilmiş bir belge ağacından okuma ve yazma. Başlangıçta, zenginleştirilmiş bir belge yalnızca bir veri kaynağından ayıklanan ham içeriktir (kök düğüm olarak "/document" ifade edilir). Her beceri yürütüldüğünde, zenginleştirilmiş belge, çıktılar grafikte düğüm olarak yazıldığı için yapı ve içerik kazanır.
Beceri kümesi yürütmesi tamamlandıktan sonra, zenginleştirilmiş bir belgenin çıktısı kullanıcı tanımlı çıkış alanı eşlemeleri aracılığıyla bir dizine yönlendirilir. Kaynaktan dizine bozulmadan aktarılmasını istediğiniz tüm ham içerik, alan eşlemeleri aracılığıyla tanımlanır. Buna karşılık, çıkış alanı eşlemeleri bellek içi içeriği (düğümler) dizine aktarır.
Uygulanan yapay zekayı yapılandırmak için bir beceri kümesinde ve dizin oluşturucuda ayarları belirtin.
Beceri kümesi tanımı
Beceri kümesi, bir görüntü dosyasında metin çevirme veya optik karakter tanıma (OCR) gibi zenginleştirme gerçekleştiren bir veya daha fazla beceri dizisidir. Beceriler, Microsoft'un yerleşik becerileri veya harici olarak barındırdığınız işleme mantığı için özel beceriler olabilir. Beceri kümesi, dizin oluşturma sırasında kullanılan veya bilgi deposuna yansıtılan zenginleştirilmiş belgeler oluşturur.
Becerilerin bağlamı, girişleri ve çıkışları vardır:
Bağlam , işlemin kapsamını ifade eder. Bu kapsam belge başına bir kez veya koleksiyondaki her öğe için bir kez olabilir.
Girişler zenginleştirilmiş bir belgedeki düğümlerden kaynaklanır ve burada "kaynak" ve "ad" belirli bir düğümü tanımlar.
Çıkış, zenginleştirilmiş belgeye yeni bir düğüm olarak geri gönderilir. Değerler düğüm "adı" ve düğüm içeriğidir. Düğüm adı yineleniyorsa, ayırt etme amacıyla bir hedef adı ayarlayabilirsiniz.
Beceri bağlamı
Her becerinin, belgenin tamamı (/document) veya ağaçtaki altta bir düğüm olabilecek bir bağlamı vardır.
Bağlam aşağıdakileri belirler:
Becerinin yürütme sayısı, tek bir değer (alan başına, belge başına bir kez) üzerinde veya bir koleksiyon için her örnek eklenişinde
/*ile sonuçlanan beceri çağrımı şeklindedir.Çıkış beyanı veya zenginleştirme ağacında beceri çıktılarının eklendiği yer. Çıkışlar her zaman bağlam düğümünün alt öğeleri olarak ağaca eklenir.
Girişlerin şekli. Çok düzeyli koleksiyonlar için bağlamın ebeveyn koleksiyona ayarlanması, beceriye yönelik giriş verisinin şeklini etkiler. Örneğin, ülke/bölge listesi içeren bir zenginleştirme ağacınız varsa, her biri posta kodları listesini içeren bir durum listesiyle zenginleştirilmişse, bağlamı nasıl ayarladığınız girişin nasıl yorumlandığını belirler.
Context Input Giriş Şekli Beceri Çağırma /document/countries/*/document/countries/*/states/*/zipcodes/*Ülke/bölgedeki tüm posta kodlarının listesi Ülke/bölge başına bir kez /document/countries/*/states/*/document/countries/*/states/*/zipcodes/*Eyaletteki ZIP kodlarının listesi Ülke/bölge ve eyalet birleşimi başına bir kez
Beceri bağımlılıkları
Beceriler bağımsız ve paralel olarak yürütülebilir veya bir becerinin çıkışını başka bir beceriye aktarırsanız bağımlı bir ilişkide sıralı olarak yürütülebilir. Aşağıdaki örnekte, sırayla yürütülen iki yerleşik beceri gösterilmektedir:
Beceri #1, "reviews_text" kaynak alanının içeriğini giriş olarak kabul eden ve bu içeriği çıkış olarak 5.000 karakterlik "sayfalara" bölen bir Metin Bölme becerisidir . Büyük metni daha küçük öbeklere bölmek, yaklaşım algılama gibi beceriler için daha iyi sonuçlara neden olabilir.
Beceri #2, bölünmüş beceri çıkışına bağlı olan Duygu Algılama becerisidir. Giriş olarak "sayfaları" kabul eder ve duygu analizinin sonuçlarını içeren "Duygu" adlı yeni bir alan oluşturur.
İlk becerinin ("sayfalar") çıktısının duygu analizinde nasıl kullanımına dikkat edin ve burada "/document/reviews_text/pages/*" hem bağlam hem de giriştir. Yol formülasyonu hakkında daha fazla bilgi için bkz Zenginleştirmelere Nasıl Başvurulur.
{
"skills": [
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "#1",
"description": null,
"context": "/document/reviews_text",
"defaultLanguageCode": "en",
"textSplitMode": "pages",
"maximumPageLength": 5000,
"inputs": [
{
"name": "text",
"source": "/document/reviews_text"
}
],
"outputs": [
{
"name": "textItems",
"targetName": "pages"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
"name": "#2",
"description": null,
"context": "/document/reviews_text/pages/*",
"defaultLanguageCode": "en",
"inputs": [
{
"name": "text",
"source": "/document/reviews_text/pages/*",
}
],
"outputs": [
{
"name": "sentiment",
"targetName": "sentiment"
},
{
"name": "confidenceScores",
"targetName": "confidenceScores"
},
{
"name": "sentences",
"targetName": "sentences"
}
]
}
. . .
]
}
Zenginleştirme ağacı
Zenginleştirilmiş belge, beceri kümesi yürütmesi sırasında oluşturulan ve beceriler aracılığıyla yapılan tüm değişiklikleri toplayan geçici, ağaç benzeri bir veri yapısıdır. Zenginleştirmeler toplu olarak adreslenebilir düğümlerin hiyerarşisi olarak temsil edilir. Düğümler ayrıca dış veri kaynağından ayrıntılı olarak geçirilen, çözümlenmemiş alanları da içerir. Zenginleştirme ağacının yapısını ve içeriğini incelemeye yönelik en iyi yaklaşım, Azure portalındaki bir hata ayıklama oturumudur .
Zenginleştirilmiş belge, beceri kümesi yürütüldüğü süre boyunca varlığını sürdürür, ancak önbelleğe alınabilir (önizleme) veya bilgi deposuna gönderilebilir.
Başlangıçta zenginleştirilmiş bir belge, metin ve görüntülerin kaynaktan ayıklandığı ve dil veya görüntü analizi için kullanılabilir hale getirildiği, belgenin kırılması sırasında bir veri kaynağından ayıklanan içeriktir.
İlk içerik meta veriler ve kök düğümdür (document/content). Kök düğüm genellikle belgenin tamamı veya belgenin kırılması sırasında veri kaynağından ayıklanan normalleştirilmiş bir görüntüdür. Zenginleştirme ağacında nasıl ifade edilir, her veri kaynağı türüne göre değişir. Aşağıdaki tabloda, desteklenen çeşitli veri kaynakları için zenginleştirme işlem hattına giren belgenin durumu gösterilmektedir:
| Veri Kaynağı\Ayrıştırma Modu | Default | JSON, JSON Satırları ve CSV |
|---|---|---|
| Blob Depolama | /document/content /document/normalized_images/* … |
/document/{key1} /document/{key2} … |
| Azure SQL | /document/{column1} /document/{column2} … |
N/A |
| Azure Cosmos DB | /document/{key1} /document/{key2} … |
N/A |
Beceriler yürütüldükçe, zenginleştirme ağacına yeni düğümler olarak çıktı eklenir. Beceri yürütme belgenin tamamı üzerindeyse, düğümler kökün altındaki ilk düzeyde eklenir.
Düğümler aşağı akış becerileri için giriş olarak kullanılabilir. Örneğin, çevrilmiş dizeler gibi içerik oluşturan beceriler, varlıkları tanıyan veya anahtar ifadeleri ayıklayan beceriler için giriş haline gelebilir.
Hata Ayıklama Oturumları Görsel Düzenleyicisi
Zenginleştirmeler sabittir: oluşturulduktan sonra düğümler düzenlenemez. Beceri kümeleriniz daha karmaşık hale geldikçe zenginleştirme ağacınız da karmaşık hale gelir, ancak zenginleştirme ağacındaki tüm düğümlerin dizine veya bilgi deposuna ulaşabilmesi gerekmez.
Zenginleştirme çıktılarının yalnızca bir alt kümesini seçerek kalıcı hale getirmek için yalnızca kullanmayı düşündüğünüz şeyi koruyabilirsiniz. Dizin oluşturucu tanımınızdaki çıkış alanı eşlemeleri , arama dizinine gerçekte hangi içeriğin alındığını belirler. Benzer şekilde, bir bilgi deposu oluşturuyorsanız, çıkışları projeksiyonlara atanan şekillere eşleyebilirsiniz.
Note
Zenginleştirme ağacı biçimi, zenginleştirme işlem hattının ilkel veri türlerine bile meta veri eklemesini sağlar. Meta veriler geçerli bir JSON nesnesi olmaz, ancak bilgi deposundaki projeksiyon tanımlarında geçerli bir JSON biçimine yansıtılabilir. Daha fazla bilgi için Şekillendirici becerisi bölümüne bakın.
Dizin oluşturucu tanımı
Dizin oluşturucu, dizin oluşturucu yürütmesini yapılandırmak için kullanılan özelliklere ve parametrelere sahiptir. Bu özellikler arasında, veri yolunu arama dizinindeki alanlara ayarlayan eşlemeler bulunur.
İki eşleme kümesi vardır:
"fieldMappings" bir kaynak alanı arama alanına eşler.
"outputFieldMappings" zenginleştirilmiş belgedeki bir düğümü arama alanına eşler.
"sourceFieldName" özelliği, veri kaynağınızdaki bir alanı veya zenginleştirme ağacındaki bir düğümü belirtir. "targetFieldName" özelliği, içeriği alan bir dizindeki arama alanını belirtir.
Zenginleştirme örneği
Otel, beceri kümesini referans noktası olarak incelerken, bu örnekte kavramsal diyagramları kullanarak beceri yürütme yoluyla zenginleştirme ağacının nasıl geliştiği açıklanmaktadır.
Bu örnek ayrıca şunları gösterir:
- Becerinin bağlamı ve girişleri, bir becerinin kaç kez yürütüleceğini belirlemek için nasıl çalışır?
- Girişin şekli, bağlama göre değişebilir.
Bu örnekte, CSV dosyasındaki kaynak alanlar oteller ("reviews_text") ve derecelendirmeler ("reviews_rating") hakkındaki müşteri incelemelerini içerir. Dizin oluşturucu, Blob depolamadan meta veri alanları ekler ve beceriler çevrilmiş metin, duygu analiz puanları ve anahtar ifadelerin algılanmasını ekler.
Otel incelemeleri örneğinde, zenginleştirme süreci içindeki bir "belge" tek bir otel incelemesini temsil eder.
Tip
REST API'lerini kullanarak bu veriler için bir arama dizini ve bilgi deposu oluşturabilirsiniz. Beceri kümesi oluşturma, bağımlılıklar ve zenginleştirme ağacı üzerindeki etkileri hakkında içgörüler için Hata Ayıklama Oturumlarını da kullanabilirsiniz. Bu makaledeki görüntüler Hata Ayıklama Oturumları'ndan alınmıştır.
Kavramsal olarak, ilk zenginleştirme ağacı aşağıdaki gibi görünür:
Tüm zenginleştirmeler için kök düğüm "/document". Blob dizin oluşturucularıyla çalışırken, "/document" düğümünün "/document/content" ve "/document/normalized_images" alt düğümleri vardır. Veriler CSV olduğunda, bu örnekte olduğu gibi sütun adları "/document" altındaki düğümlerle eşlenir.
Beceri #1: Parçalanmış yetenek
Kaynak içerik büyük metin öbeklerinden oluştuğunda, tümleşik vektörleştirme için veya dil, yaklaşım ve anahtar tümcecik algılamanın daha yüksek doğruluğu için içeriği daha küçük bileşenlere bölmek yararlı olur. İki granül düzeyi mevcuttur: sayfalar ve cümleler. Sayfa yaklaşık 5.000 karakterden oluşur.
Split becerisiyle öbeklemenin bir alternatifi Azure Content Understanding becerisinden geçer, ancak bu beceri bu makalenin kapsamı dışındadır.
Parçalara ayırma gerektiğinde, bir beceri kümesinde genellikle önce Bölme becerisi yer alır.
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "#1",
"description": null,
"context": "/document/reviews_text",
"defaultLanguageCode": "en",
"textSplitMode": "pages",
"maximumPageLength": 5000,
"inputs": [
{
"name": "text",
"source": "/document/reviews_text"
}
],
"outputs": [
{
"name": "textItems",
"targetName": "pages"
}
]
beceri bağlamı "/document/reviews_text"ile, bölünmüş beceri için reviews_textbir kez yürütülür. Beceri çıkışı, reviews_text'ün 5.000 karakterlik segmentlere ayrıldığı bir listedir. Bölünmüş becerinin çıktısı adlandırılır pages ve zenginleştirme ağacına eklenir. Bu targetName özellik, zenginleştirme ağacına eklenmeden önce beceri çıkışını yeniden adlandırmanıza olanak tanır.
Zenginleştirme ağacı artık beceri bağlamı altına yerleştirilmiş yeni bir düğüme sahip. Bu düğüm herhangi bir beceri, projeksiyon veya çıkış alanı eşlemesi için kullanılabilir.
Bir beceri tarafından bir düğüme eklenen zenginleştirmelerden herhangi birine erişmek için tam zenginleştirme yolu gereklidir. Örneğin, düğümdeki metni başka bir beceriye pages giriş olarak kullanmak istiyorsanız olarak belirtin "/document/reviews_text/pages/*". Yollar hakkında daha fazla bilgi için Başvuru zenginleştirmeleri kısmına bakın.
Beceri #2 Dil algılama
Otel inceleme belgeleri, birden çok dilde ifade edilen müşteri geri bildirimlerini içerir. Hangi dilin kullanıldığını dil algılama becerisi belirler. Sonuç, dil dikkate alınarak anahtar ifadeler ayıklama ve duygu tespitine (detaylandırılmamıştır) geçirilir.
Dil algılama becerisi beceri kümesinde tanımlanan üçüncü (beceri #3) beceri olsa da, yürütülecek bir sonraki beceridir. Herhangi bir giriş gerektirmez, bu nedenle önceki beceriye paralel olarak yürütülür. Kendisinden önceki bölünmüş beceri gibi dil algılama becerisi de her belge için bir kez çağrılır. Zenginleştirme ağacı artık dil için yeni bir düğüme sahip.
Beceriler #3 ve #4 (yaklaşım analizi ve anahtar ifade algılama)
Müşteri geri bildirimleri, bir dizi olumlu ve olumsuz deneyimi yansıtır. Duygu analizi becerisi, geri bildirimi analiz eder ve negatiften pozitife bir sürekli aralık boyunca veya duygu belirlenmezse nötr bir puan atar. Yaklaşım analizine paralel olarak anahtar ifade algılama, sonuç olarak görünen sözcükleri ve kısa tümcecikleri tanımlar ve ayıklar.
bağlamı /document/reviews_text/pages/* göz önünde bulundurulduğunda, koleksiyondaki öğelerin her biri için hem duygu analizi hem de pages anahtar ifade becerileri bir kez çağrılır. Becerinin çıkışı, ilişkili sayfa öğesinin altındaki bir düğüm olacaktır.
Artık beceri kümesindeki becerilerin geri kalanına bakabilir ve her becerinin yürütülmesiyle zenginleştirme ağacının nasıl büyüdüğünü görselleştirebilirsiniz. Birleştirme becerisi ve şekillendirici becerisi gibi bazı beceriler de yeni düğümler oluşturur, ancak yalnızca mevcut düğümlerdeki verileri kullanır ve net yeni zenginleştirmeler oluşturmaz.
Yukarıdaki ağaçtaki bağlantıların renkleri, zenginleştirmelerin farklı becerilerle oluşturulduğunu göstermekte ve düğümlerin ayrı ayrı ele alınması gerektiğini belirtmektedir. Ayrıca, üst düğüm seçildiğinde bu düğümler döndürülen nesnenin parçası olmayacaktır.
Beceri #5 Şekillendirici becerisi
Çıktı bilgi deposu içeriyorsa, son adım olarak bir Shaper becerisi ekleyin. Şekillendirici becerisi, bir zenginleştirme ağacındaki düğümlerden veri şekilleri oluşturur. Örneğin, birden çok düğümü tek bir şekilde birleştirmek isteyebilirsiniz. Bu şekli daha sonra bir tablo olarak yansıtabilirsiniz (düğümler bir tablodaki sütunlara dönüşür). Şekli adıyla bir tablo projeksiyonuna geçirerek yansıtabilirsiniz.
Şekillendirici becerisiyle çalışmak kolaydır çünkü şekillendirmeye tek bir becerinin altında odaklanır. Alternatif olarak, tek tek projeksiyonlar içinde satır içi şekillendirmeyi seçebilirsiniz. Şekillendirici Becerisi, zenginleştirme ağacına ekleme veya çıkarma yapmaz, dolayısıyla görselleştirilmez. Bunun yerine, bir Shaper becerisini, zaten sahip olduğunuz zenginleştirme ağacını yeniden ifade etmenin araçları olarak düşünebilirsiniz. Kavramsal olarak bu, veritabanındaki tabloların dışında görünümler oluşturmaya benzer.
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "#5",
"description": null,
"context": "/document",
"inputs": [
{
"name": "name",
"source": "/document/name"
},
{
"name": "reviews_date",
"source": "/document/reviews_date"
},
{
"name": "reviews_rating",
"source": "/document/reviews_rating"
},
{
"name": "reviews_text",
"source": "/document/reviews_text"
},
{
"name": "reviews_title",
"source": "/document/reviews_title"
},
{
"name": "AzureSearch_DocumentKey",
"source": "/document/AzureSearch_DocumentKey"
},
{
"name": "pages",
"sourceContext": "/document/reviews_text/pages/*",
"inputs": [
{
"name": "Sentiment",
"source": "/document/reviews_text/pages/*/Sentiment"
},
{
"name": "LanguageCode",
"source": "/document/Language"
},
{
"name": "Page",
"source": "/document/reviews_text/pages/*"
},
{
"name": "keyphrase",
"sourceContext": "/document/reviews_text/pages/*/Keyphrases/*",
"inputs": [
{
"name": "Keyphrases",
"source": "/document/reviews_text/pages/*/Keyphrases/*"
}
]
}
]
}
],
"outputs": [
{
"name": "output",
"targetName": "tableprojection"
}
]
}
Sonraki Adımlar
Arkanızda bir giriş ve örnekle, yerleşik becerileri kullanarak ilk beceri kümesinizi oluşturmayı deneyin.