Azure Bilişsel Arama’daki beceri kümesi kavramları

Bu makale, beceri kümesi kavramları ve bileşimi hakkında daha fazla bilgi sahibi olması gereken geliştiricilere ve AI zenginleştirmesi ile ilgili üst düzey kavramlar ve iş akışları hakkında bilgi sahibi olduğunu varsaymaktadır.

Beceri kümesi, dizine eklenen Azure Bilişsel Arama yeniden kullanılabilir bir kaynaktır. Bir dış veri kaynağından alınan belgeler üzerinde yerleşik AI veya dış özel işlemeyi çağıran atomik işlemler olan bir veya daha fazla beceri içerir.

Beceri kümesi işlemenin başlangıcından sonucuna kadar, beceriler zenginleştirilmiş bir belgeyi okur ve yazar. Zenginleştirilmiş belge başlangıçta yalnızca bir veri kaynağından ayıklanan ham içeriktir, ancak her beceri yürütmede yapı ve ustaca sahip olur. Sonuç olarak, zenginleştirilmiş bir belgedeki düğümler bir arama dizinindeki alanlarla eşlenmiş veya bir bilgi deposu projeksiyonlarına eşlenmiş olur. Böylece içerik, diğer uygulamalar tarafından sorgulanan veya diğer uygulamalar tarafından tüketilen uygun şekilde yönlendirilebilir.

Beceri kümesi ile işlem hattı

Beceri kümesi tanımı

Beceri kümesi, metin çevirileri, anahtar ifadeleri ayıklama veya görüntü dosyasından optik karakter tanıma gerçekleştirme gibi atomik zenginleştirme işlemi temsil eden bir veya daha fazla beceri dizisidir. Beceriler, Microsoft'un yerleşik becerileri veya sizin sağlaytığınız modelleri veya işleme mantığını içeren özel beceriler olabilir. Dizin oluşturma sırasında tüketilen veya bir bilgi deposuna projeilen zenginleştirilmiş belgeler üretir.

Beceriler genellikle zincirlenmiş bir türe, bağlama ve girişlere ve çıkışlara sahip olur. Aşağıdaki örnek, birlikte çalışan iki yerleşik beceriyi ve beceri kümesi tanımının bazı terimlerini tanıtıyor.

  • Beceri #1, "reviews_text" kaynak alanının içeriğini giriş olarak kabul eden ve bu içeriği çıkış olarak 5000 karakterden "sayfalara" bölen bir Metin Bölme becerisidir. Büyük metinleri daha küçük öbeklere bölmek, doğal dil işleme sırasında daha iyi sonuçlar üretebilir.

  • Beceri 2, Yaklaşım Algılama becerisi giriş olarak "sayfaları" kabul eder ve yaklaşım analizinin sonuçlarını içeren çıkış olarak "Yaklaşım" adlı yeni bir alan oluşturur.

{
    "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": "score",
                    "targetName": "Sentiment"
                }
            ]
        }
. . . 
}

Yukarıdaki örnekte dikkat etmek gereken önemli noktalar, girişlerin ve çıkışların ad-değer çiftleri olması, bir becerinin çıkışlarını aşağı akış becerilerinin girişleri ile eşleşerek tüm becerilerin zenginleştirme ağacında işlemenin nerede olduğunu belirleyen bağlamlara sahip olmasıdır.

Girişlerin ve çıkışların nasıl formüle edildiklerine daha fazla ayrıntı için bkz. Ek açıklamalara nasıl başvurur?.

Zenginleştirme ağacı

Zenginleştirilmiş belge, beceri kümesi yürütme sırasında oluşturulan ve beceriler aracılığıyla ortaya atılan tüm değişiklikleri toplayan ve bunları adreslenebilir düğümler hiyerarşisinde temsil eden, ağaç gibi geçici bir veri yapısıdır. Düğümler ayrıca dış veri kaynağından ayrıntılı olarak geçirilen zenginleştirilemeyen alanları da içerir. Beceri kümesi yürütme süresince zenginleştirilmiş bir belge vardır, ancak önbelleğe alınarak veya bilgi deposuna kalıcı olarak tutulabilirsiniz.

Başlangıçta zenginleştirilmiş bir belge, belgeyi kırarak veri kaynağından ayıklanan içeriktir. Burada metin ve görüntüler kaynaktan ayıklanır ve dil veya görüntü analizi için kullanılabilir olur.

İlk içerik kök düğüm ( ) olur ve genellikle bir belgenin tamamı veya belgeyi ayıklama sırasında bir veri kaynağından ayıklanan document\content normalleştirilmiş bir görüntü olur. Zenginleştirme ağacında nasıl ifade edildikleri her veri kaynağı türü için değişir. Aşağıdaki tabloda, desteklenen çeşitli veri kaynakları için zenginleştirme işlem hattına giren bir belgenin durumu gösterir:

Veri Kaynağı\Ayrıştırma Modu Varsayılan JSON, JSON Satırları & CSV
Blob Depolama /document/content
/document/normalized_images/*
/document/{key1}
/document/{key2}
Azure SQL /document/{column1}
/document/{column2}
Yok
Cosmos DB /document/{key1}
/document/{key2}
Yok

Beceriler yürütülürken, zenginleştirme ağacına yeni düğümler olarak çıkış eklenir. Bu düğümler daha sonra aşağı akış becerileri için giriş olarak kullanılabilir ve sonunda bir bilgi deposuna projelenmiş veya dizin alanlarına eşlenmiş olur. Çevrilmiş dizeler gibi içerik oluşturma becerileri, çıkışlarını zenginleştirilmiş belgeye yazar. Benzer şekilde, yukarı akış becerilerinin çıkışını tüketen beceriler, gerekli girişleri almak için zenginleştirilmiş belgeden okur.

Zenginleştirme ağacından okuma ve yazma becerileri

Zenginleştirme ağacı, ayıklanan içerikten ve kaynaktan alınan meta verilerden ve bir beceri tarafından oluşturulan herhangi bir yeni düğümden (örneğin, Metin Çevirisi becerisinde, Varlık Tanıma becerisinde veya Anahtar İfade Ayıklama translated_text locations keyPhrases becerisinde) oluşur. Görsel düzenleyici aracılığıyla zenginleştirme ağacını görselleştirerek ve bu ağaçla çalışabilirsiniz ancak bu genellikle bir iç yapıdır.

Zenginleştirmeler oluşturulduğunda düğümler düzenlenemez. Beceri kümeleriniz daha karmaşık hale geldi mi, zenginleştirme ağacınız da karmaşık hale gelecektir, ancak zenginleştirme ağacının tüm düğümlerinin dizine veya bilgi deposuna bunu yapmaları gerekli değildir. Zenginleştirme çıkışlarının yalnızca bir alt kümesini seçerek kalıcı olarak kalıcı olarak kullanabilirsiniz, böylece yalnızca kullanmayı hedefleyeniden devam edersiniz.

Becerinin girişleri ve çıkışları zenginleştirme ağaçlarından okunarak zenginleştirme ağaçlarına yazıldıklarından, beceri kümesi tasarımının bir parçası olarak tamamlanacak görevlerden biri, içeriği zenginleştirme ağacından ve arama dizininde bir alana taşımak için çıkış alanı eşlemeleri oluşturmaktır. Benzer şekilde, bir bilgi deposu oluşturuyorsanız, çıktıları projeksiyonlara atanan şekillere eşlersiniz.

Not

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 olmayacaktır, ancak bir bilgi deposuna yansıtma tanımlarında geçerli bir JSON biçimine yansıtmak için kullanılabilir. Daha fazla bilgi için bkz. Şekilleyici becerisi.

Bağlam

Her becerinin bir bağlamı vardır; bu bağlam belgenin tamamı ( /document ) veya ağacın alt düğümü ( ) /document/countries/ olabilir. Bağlam şunları belirler:

  • Becerinin yürütülme sayısı, tek bir değer (alan başına bir kez, belge başına bir kez) veya koleksiyon türü bağlam değerleri için; burada beceri çağırmayla sonuç ekleme, koleksiyonda her örnek için bir /* kez.

  • Çıkış bildirimi veya zenginleştirme ağacına beceri çıkışları eklenmiştir. Çıkışlar her zaman bağlama düğümünün alt kümesi olarak ağaç eklenir.

  • Girişlerin şekli. Çok düzeyli koleksiyonlar için bağlamı üst koleksiyon olarak ayarlama, beceri için girişin şeklini etkiler. Örneğin, ülkelerin/bölgelerin listesini içeren bir zenginleştirme ağacınız varsa, her biri ZIP kodlarının listesini içeren bir eyalet listesiyle zenginleştirilmişse, bağlamı ayarlama yöntemi girişin nasıl yorumlandırılı olduğunu belirler.

Bağlam Giriş 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/* Durumdaki POSTA kodlarının listesi Ülke/bölge ve eyalet birleşimi başına bir kez

Zenginleştirme örneği

Otel incelemeleri beceri kümesi başvuru noktası olarak kullanılarak, bu örnekte kavramsal diyagramlar kullanılarak beceri yürütme yoluyla zenginleştirme ağacının nasıl geliştiğini açıkmaktadır.

Bu örnek ayrıca şunları da gösterir:

  • Bir becerinin bağlamı ve girişleri, bir becerinin kaç kez yürütülülür olduğunu belirlemek için nasıl çalışır?
  • Girişin şekli bağlama göre nasıldır?

Bu örnekte, bir CSV dosyasındaki kaynak alanlar, oteller ("reviews_text") ve derecelendirmeler ("reviews_rating") hakkında müşteri incelemelerini içerir. Dizin oluşturıcı Blob depolamadan meta veri alanları ekler ve beceriler çevrilmiş metin, yaklaşım puanları ve anahtar ifade algılama özelliği ekler.

Otel incelemeleri örneğinde zenginleştirme işlemi içindeki bir "belge" tek bir otel gözden geçirmesini temsil eder.

İpucu

Bu veriler için postman ve REST API'leri Azure portal bir arama dizini ve bilgi deposu oluşturabilirsiniz. Beceri kümesi oluşturma, bağımlılıklar ve bir zenginleştirme ağacı üzerindeki etkileri hakkında içgörüler için Hata Ayıklama Oturumları'nın da kullanabilirsiniz. Bu makaledeki görüntüler Hata Ayıklama Oturumlarından çekilir.

Kavramsal olarak, ilk zenginleştirme ağacı aşağıdaki gibi olacaktır:

belge kırılama sonrasında zenginleştirme ağacı

Tüm zenginleştirmeler için kök düğüm: "/document" . Blob dizinleri ile çalışırken düğüm "/document" ve alt "/document/content" düğümlerine sahip "/document/normalized_images" olur. Bu örnekte olduğu gibi, CSV verileriyle çalışırken sütun adları altındaki düğümlerle "/document" eşler.

Beceri 1: Beceriyi bölme

Kaynak içerik büyük metin öbeklerinden oluşursa, dil, yaklaşım ve anahtar ifade algılama konusunda daha fazla doğruluk için bunu daha küçük bileşenlere kesmeniz yararlı olur. İki tane vardır: sayfalar ve cümleler. Bir sayfa yaklaşık 5000 karakterden oluşur.

Metin bölme becerisi genellikle bir beceri kümesinde ilk önce olur.

"@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ölme becerisi için bir kez yürütülür. reviews_text Beceri çıkışı, reviews_text 5000 karakter segmentlerine öbekli bir listedir. Bölme becerisinin çıktısı olarak pages adlandırılmıştır ve zenginleştirme ağacına eklenir. Özellik, targetName zenginleştirme ağacına eklenmeden önce bir beceri çıktısını yeniden adlandırmanızı sağlar.

Zenginleştirme ağacı artık beceri bağlamının 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.

beceriden sonra zenginleştirme ağacı #1

Bir düğüme beceri ile eklenen zenginleştirmelerden herhangi biri için zenginleştirmenin tam yolu gereklidir. Örneğin, düğümdeki metni başka bir beceriye giriş olarak pages kullanmak için olarak belirtmeniz "/document/reviews_text/pages/*" gerekir. Yollar hakkında daha fazla bilgi için bkz. Başvuru ek açıklamaları.

Beceri #2 Dil algılama

Otel inceleme belgeleri, birden çok dilde ifade ifade eden müşteri geri bildirimlerini içerir. Dil algılama becerisi, kullanılan dili belirler. Sonuç daha sonra, yaklaşım ve tümcecikleri algılayan dil dikkate alınarak anahtar ifade ayıklama ve yaklaşım algılama (gösterilmez) yöntemine geçiri.

Dil algılama becerisi beceri kümesinde tanımlanan üçüncü (beceri #3) beceridir, ancak yürütülecek bir sonraki beceridir. Herhangi bir giriş gerektirerek engelilmeyer, önceki beceriyle paralel olarak yürütülür. Önceki bölme becerisi 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.

beceriden sonra zenginleştirme ağacı #2

Beceriler #3 ve 4 (yaklaşım analizi ve anahtar ifade algılama)

Müşteri geri bildirimi bir dizi olumlu ve olumsuz deneyimi yansıtıyor. Yaklaşım analizi becerisi, geri bildirimi analiz eder ve pozitif sayılara negatif bir süreklilik ya da yaklaşım belirsizse nötr bir puan atar. Yaklaşım analizine paralel olarak, anahtar ifade algılama sonuçları olan sözcükleri ve kısa tümcecikleri tanımlar ve ayıklar.

bağlamında hem yaklaşım /document/reviews_text/pages/* analizi hem de anahtar ifade becerileri koleksiyondaki öğelerin her biri için bir kez pages çağrılır. Becerinin çıkışı, ilişkili sayfa öğesi altında bir düğüm olur.

Artık beceri kümesinde kalan becerilere bakarak zenginleştirme ağacının her becerinin yürütülmesiyle nasıl büyümeye devam edeceğini görselleştiresiniz. Birleştirme becerisi ve şekillendiren beceri gibi bazı beceriler de yeni düğümler oluşturabilir ancak yalnızca mevcut düğümlerden veri kullanır ve net yeni zenginleştirmeler oluşturmaz.

tüm beceriden sonra zenginleştirme ağacı

Yukarıdaki ağaçtaki bağlayıcıların renkleri, zenginleştirmelerin farklı beceriler tarafından oluşturulmuş olduğunu ve düğümlerin tek tek ele alınması gerektiğini ve üst düğümün seçiminde döndürülen nesnenin parçası olmadığını gösterir.

Beceri #5 Şekillendirıcı becerisi

Çıkışta bir bilgi deposu varsa,son adım olarak bir Şekilleyici becerisi ekleyin. Şekilleyici becerisi, zenginleştirme ağacında düğümlerden veri şekilleri oluşturur. Örneğin, birden çok düğümü tek bir şekilde birleştirmek istiyor olabilir. Ardından bu şekli bir tablo olarak (düğümler tablodaki sütunlara dönüşerek) bir tabloya göre şekillendirebilirsiniz.

Şekilleyici becerisiyle çalışmak kolaydır çünkü tek bir becerinin altında şekillendirmeye odaklanır. Alternatif olarak, tek tek projeksiyonlar içinde satır içinde şekillendirmeyi de tercihebilirsiniz. Şekilleyici Becerisi bir zenginleştirme ağacı eklemez veya bu ağacın gerisini izlemez, bu nedenle görselleştirilemez. Bunun yerine, bir Shaper becerisini sahip olduğu zenginleştirme ağacını yeniden ifade etmek için edek olarak düşünesiniz. Kavramsal olarak bu, veritabanındaki tablolardan görünüm 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

Giriş ve örnek olarak, yerleşik becerileri kullanarak ilk beceri kümesinizi oluşturmayı deneyin.