Azure Bilişsel Arama'de bilgi Azure Bilişsel Arama

Projeksiyonlar, bir Bilişsel Arama AI zenginleştirme işlem hattından içeriği kabul eden bir bilgi deposuna fiziksel tablolar, nesneler ve dosyalardır. Bilgi deposu oluşturuyorsanız, çoğu iş projeksiyonları tanımlamak ve şekillendirmektir.

Bu makalede, kodlamaya başlamadan önce biraz arka plana sahip olmak için projeksiyon kavramları ve iş akışı tanıtmaktadır.

Projeksiyonlar Bilişsel Arama beceri kümeleri içinde tanımlanır, ancak son sonuçlar Azure'daki tablo, nesne ve görüntü dosyası projeksiyonları Depolama.

Azure Depolama'de ifade Depolama

Projeksiyon ve kullanım türleri

Bilgi deposu, Azure'daki tabloların, JSON nesnelerinin veya ikili görüntü dosyalarının gevşek bir koleksiyonu olarak fiziksel olarak ifade Depolama.

Projeksiyon Depolama Kullanım
Tablolar Azure Tablo Depolama Satır ve sütun olarak en iyi şekilde temsil edilen veriler için veya verilerinizin ayrıntılı gösterimlerine ihtiyacınız olduğunda (örneğin, veri çerçeveleri olarak) kullanılır. Tablo projeksiyonları, Şekilleyici becerisi kullanarak şemalı bir şekil tanımlamaya veya sütunları ve satırları belirtmek için satır içi şekillendirmeyi kullanmana olanak sağlar. İçeriği tanıdık normalleştirme ilkelerine göre birden çok tabloda düzenleyebilirsiniz. Aynı gruptaki tablolar otomatik olarak ilişkili olur.
Nesneler Azure Blob Depolama Tek bir JSON belgesinde verilerinizin tam JSON gösterimine ve zenginleştirmelere ihtiyacınız olduğunda kullanılır. Tablo projeksiyonlarda olduğu gibi, yalnızca geçerli JSON nesneleri nesne olarak tahmin olabilir ve şekillendirme bu konuda size yardımcı olabilir.
Dosyalar Azure Blob Depolama Normalleştirilmiş, ikili görüntü dosyalarını kaydetmeye ihtiyacınız olduğunda kullanılır.

Projeksiyon tanımı

Projeksiyonlar bir beceri kümesinde "knowledgeStore" özelliği altında belirtilir. Projeksiyon tanımları, zenginleştirilmiş içerikle Azure'da nesne oluşturmak ve yüklemek için dizin Depolama sırasında kullanılır. Bu kavramlara yabancısanız giriş için AI zenginleştirme ile çalışmaya başlayabilirsiniz.

Aşağıdaki örnek, projeksiyonların knowledgeStore'a yerleştirilmesini ve temel yapıyı göstermektedir. Ad, tür ve içerik kaynağı bir projeksiyon tanımını tanımlar.

"knowledgeStore" : {
    "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<Acct Name>;AccountKey=<Acct Key>;",
    "projections": [
      {
        "tables": [
          { "tableName": "ks-museums-main", "generatedKeyName": "ID", "source": "/document/tableprojection" },
          { "tableName": "ks-museumEntities", "generatedKeyName": "ID","source": "/document/tableprojection/Entities/*" }
        ],
        "objects": [
          { "storageContainer": "ks-museums", "generatedKeyName": "ID", "source": "/document/objectprojection" }
        ],
        "files": [ ]
      }
    ]

Projeksiyon grupları

Projeksiyonlar karmaşık koleksiyonlardan bir dizidir, yani her türün birden çok kümesini belirtesiniz. Tek bir projeksiyon grubu yaygın olarak kullanılır, ancak depolama gereksinimleri farklı araçları ve senaryoları desteklemeyi kapsıyorsa birden çok grup kullanabilirsiniz. Örneğin, beceri kümesi tasarımı ve hata ayıklaması için bir grup kullanabilirsiniz. İkinci bir küme, veri bilimi iş yükleri için üçüncü grup ise çevrimiçi bir uygulama için kullanılan çıkışı toplar.

Tüm grupları projeksiyonlar altında doldurmak için aynı beceri kümesi çıkışı kullanılır. Aşağıdaki örnek iki örnek gösterir.

"knowledgeStore" : {
    "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<Acct Name>;AccountKey=<Acct Key>;",
    "projections": [
        {
            "tables": [],
            "objects": [],
            "files": []
        }, 
        {
            "tables": [],
            "objects": [],
            "files": []
        }
    ]
}

Projeksiyon grupları, karşılıklı dışlama ve ilgililik için aşağıdaki temel özelliklere sahiptir.

İlke Description
Karşılıklı dışlama Her grup, farklı veri şekillendirme senaryolarını desteklemek için diğer gruplardan tamamen yalıtılmış durumdadır. Örneğin, farklı tablo yapılarını ve birleşimlerini test ediyorsanız, her kümeyi AB testi için farklı bir projeksiyon grubuna koyabilirsiniz. Her grup verileri aynı kaynaktan (zenginleştirme ağacı) alır ancak tüm eş projeksiyon gruplarının tablo-nesne-dosyası birleşiminden tamamen yalıtılır.
İlişkililik Projeksiyon grubu içinde, tablolarda, nesnelerde ve dosyalarda bulunan içerikler ilişkili olur. Bilgi deposu, ortak bir üst düğüme başvuru noktası olarak oluşturulan anahtarları kullanır. Örneğin, görüntü ve metin içeren bir belgeniz olduğu bir senaryo düşünün. Metni tablolara ve görüntülere ikili dosyalara göre projeniz olabilir ve hem tabloların hem de nesnelerin dosya URL'sini içeren bir sütun/özelliği olur.

Projeksiyon "kaynak"

Kaynak parametre, projeksiyon tanımının üçüncü bileşenidir. Projeksiyonlar bir AI zenginleştirme işlem hattından veri depolasa da yansıtmanın kaynağı her zaman bir becerinin çıkışıdır. Bu nedenle, çıkış tek bir alan (örneğin, çevrilmiş metin alanı) olabilir, ancak genellikle bir veri şekline başvuru olarak kullanılır.

Veri şekilleri beceri kümesinden gelir. Bilişsel Arama'da sağlanan tüm yerleşik beceriler arasında, veri şekilleri oluşturmak için kullanılan Şekilleyici becerisi adlı bir yardımcı beceri vardır. Bilgi deposuna yansıtmaları desteklemek için Şekilleyici becerilerini (ihtiyacınız olduğu kadar) dahil edin.

Şekiller genellikle, şeklin tabloya hangi satırların gittiğini değil hangi sütunların da oluşturulacaklarını (bir nesnenin projeksiyonu için de şekil geçebilirsiniz) belirten tablo projeksiyonları ile kullanılır.

Şekiller karmaşık olabilir ve burada bunları ayrıntılı bir şekilde tartışmak kapsam dışındadır, ancak aşağıdaki örnekte temel bir şekil kısaca yer almaktadır. Şekilleyici becerisinin çıkışı, tablo projeksiyonu kaynağı olarak belirtilir. Tablo projeksiyonu içinde, şekilde belirtilen "metadata-storage_path", "reviews_text", "reviews_title" vb. sütunları yer alır.

{
    "@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
    "name": "ShaperForTables",
    "description": null,
    "context": "/document",
    "inputs": [
        {
            "name": "metadata_storage_path",
            "source": "/document/metadata_storage_path",
            "sourceContext": null,
            "inputs": []
        },
        {
          "name": "reviews_text",
          "source": "/document/reviews_text"
        }, 
        {
          "name": "reviews_title",
          "source": "/document/reviews_title"
        },
        {
          "name": "reviews_username",
          "source": "/document/reviews_username"
        },
    ],
    "outputs": [
      {
        "name": "output",
        "targetName": "mytableprojection"
      }
    ]
}

Projeksiyon yaşam döngüsü

Projeksiyonlar, veri kaynağınıza bağlı olan bir yaşam döngüsüne sahiptir. Kaynak veriler güncelleştirildiğinde ve yeniden sıralandıkça projeksiyonlar zenginleştirmelerin sonuçlarıyla güncelleştirilir ve bu da tahminlerin veri kaynağınıza yönelik verilerle tutarlı olmasını sağlar. Ancak, projeksiyonlar azure depolamada da bağımsız olarak Depolama. Dizinleyici veya arama hizmeti silindiğinde silinmezler.

Uygulamalarda kullanma

Dizin oluşturma çalıştır çalıştır edildikten sonra projeksiyonlara bağlanarak verileri diğer uygulamalarda ve iş yüklerinde kullanın.

  • Nesne Depolama içeriği doğrulamak için Depolama Browser'i kullanın.

  • Veri Power BI için veri kaynağı kullanın. Bu araç en iyi, veriler Azure Tablo Depolama'Depolama. Bu Power BI, verileri sorgulaması ve çözümlemesi daha kolay olan yeni tablolara dönüştürebilirsiniz.

  • Veri bilimi işlem hattında blob kapsayıcısı içinde zenginleştirilmiş verileri kullanma. Örneğin, bloblardan bir Pandas DataFrame'ine verileri yükleyebilirsiniz.

  • Son olarak, verilerinizi bilgi mağazasından dışarı aktarmanız gerekirse, Azure Data Factory dışarı aktarmaya ve istediğiniz veritabanına indiren bağlayıcılara sahip olur.

Başlarken denetim listesi

Projeksiyonların bilgi depolarına özgü olduğunu ve bir arama dizininin yapısının kullanılmaması olduğunu hatırlayın.

  1. Azure Depolama Erişim Anahtarları'nda bir bağlantı dizesi edinin ve hesabın StorageV2 (genel amaçlı V2) olduğunu doğrulayın.

  2. Azure Depolama, yansıtmalar için çakışmayan adlar seçmeniz için kapsayıcılarda ve tablolarda bulunan mevcut içeriği öğrenin. Bilgi deposu, tabloların ve kapsayıcıların gevşek bir koleksiyonudur. İlgili nesneleri izlemek için bir adlandırma kuralı benimsemeyi göz önünde bulundurabilirsiniz.

  3. Bilişsel Arama'da, dizinleştiricide zenginleştirme önbelleğini (önizleme) etkinleştirin ve ardından beceri kümesi yürütmek ve önbelleği doldurmak için dizinleştiriciyi çalıştırın. Bu bir önizleme özelliğidir, bu nedenle dizin oluşturma isteğinde önizleme REST API (api-version=2020-06-30-preview veya sonraki bir sürümü) kullanmaya emin olun. Önbellek doldurulduktan sonra, bir bilgi deposuna yansıtma tanımlarını ücretsiz olarak değiştirebilirsiniz (beceriler değiştirilmezse).

  4. Kodunda tüm projeksiyonlar yalnızca bir beceri kümesinde tanımlanır. Projeksiyonlar için geçerli dizin oluşturma özelliği (alan eşlemeleri veya çıkış alanı eşlemeleri gibi) yoktur. Beceri kümesi tanımında iki alan üzerinde odaklanabilirsiniz: knowledgeStore özelliği ve beceriler dizisi.

    1. knowledgeStore bölümünde tablo, nesne ve dosya projeksiyonlarını projections belirtin. Nesne türü, nesne adı ve miktar (tanımladığınız projeksiyon sayısı başına) bu bölümde belirlenir.

    2. Beceri dizisinde, her projeksiyonda hangi beceri çıkışlarına source başvurulacaklarını belirleme. Tüm projeksiyonların bir kaynağı vardır. Kaynak bir yukarı akış becerisinin çıkışı olabilir, ancak genellikle bir Şekilleyici becerisinin çıkışıdır. Projeksiyon şeklinizin bileşimi şekiller aracılığıyla belirlenir.

  5. Mevcut bir beceri kümesine projeksiyon ekliyorsanız, beceri kümesinde güncelleştirme ve dizin oluşturma çalıştırma.

  6. Sonuçlarınızı Azure Depolama. Sonraki çalıştırmalarda, Azure hizmet kümesinde nesneleri silerek veya Depolama proje adlarını değiştirerek çakışmaları adlandırmayı önle.

Sonraki adımlar

Her projeksiyon türü için söz dizimi ve örnekleri gözden geçirme.