Hızlı Başlangıç: Özel metin sınıflandırması

Metin sınıflandırması için özel modelleri eğitebileceğiniz bir özel metin sınıflandırma projesi oluşturmaya başlamak için bu makaleyi kullanın. Model, belirli bir görevi yerine getirmek için eğitilmiş yapay zeka yazılımıdır. Bu sistem için modeller metni sınıflandırır ve etiketli verilerden öğrenilerek eğitilir.

Özel metin sınıflandırması iki proje türünü destekler:

  • Tek etiket sınıflandırması : Veri kümenizdeki her belge için tek bir sınıf atayabilirsiniz. Örneğin, bir film betiği yalnızca "Romantizm" veya "Komedi" olarak sınıflandırılabilir.
  • Çoklu etiket sınıflandırması : Veri kümenizdeki her belge için birden çok sınıf atayabilirsiniz. Örneğin, bir film betiği "Komedi" veya "Romantizm" ve "Komedi" olarak sınıflandırılabilir.

Bu hızlı başlangıçta, film betiklerini bir veya daha fazla kategoride sınıflandırabileceğiniz çok etiketli bir sınıflandırma oluşturmak için sağlanan örnek veri kümelerini kullanabilir veya bilimsel makalelerin özetlerini tanımlanmış etki alanlarından birinde sınıflandırabileceğiniz tek etiketli sınıflandırma veri kümesini kullanabilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.

Yeni bir Azure AI Dil kaynağı ve Azure depolama hesabı oluşturma

Özel metin sınıflandırmasını kullanabilmeniz için bir Azure AI Dili kaynağı oluşturmanız gerekir. Bu kaynak, proje oluşturmak ve modeli eğitmeye başlamak için ihtiyacınız olan kimlik bilgilerini verir. Ayrıca modelinizi oluşturmak için kullanılacak veri kümenizi karşıya yükleyebileceğiniz bir Azure depolama hesabına da ihtiyacınız olacaktır.

Önemli

Hızlı bir şekilde başlamak için bu makalede sağlanan adımları kullanarak yeni bir Azure AI Dili kaynağı oluşturmanızı öneririz. Bu makaledeki adımların kullanılması, Dil kaynağı ve depolama hesabını aynı anda oluşturmanıza olanak sağlar. Bu, daha sonra yapmaktan daha kolaydır.

Kullanmak istediğiniz önceden var olan bir kaynağınız varsa bunu depolama hesabına bağlamanız gerekir.

Azure portalından yeni kaynak oluşturma

  1. Yeni bir Azure Yapay Zeka Dili kaynağı oluşturmak için Azure portalına gidin.

  2. Açılan pencerede, özel özelliklerden Özel metin sınıflandırması ve özel adlandırılmış varlık tanıma'yı seçin. Ekranın alt kısmındaki kaynağınızı oluşturmak için Devam'ı seçin.

    A screenshot showing the selection option for custom text classification and custom named entity recognition in Azure portal.

  3. Aşağıdaki ayrıntıları içeren bir Dil kaynağı oluşturun.

    Adı Gerekli değer
    Abonelik Azure aboneliğiniz.
    Kaynak grubu Kaynağınızı içerecek bir kaynak grubu. Mevcut bir tane kullanabilir veya yeni bir tane oluşturabilirsiniz.
    Bölge Desteklenen bölgelerden biri. Örneğin, "Batı ABD 2".
    Adı Kaynağınız için bir ad.
    Fiyatlandırma katmanı Desteklenen fiyatlandırma katmanlarından biri. Hizmeti denemek için Ücretsiz (F0) katmanını kullanabilirsiniz.

    "Oturum açma hesabınız seçili depolama hesabının kaynak grubunun sahibi değil" iletisini alırsanız, Dil kaynağı oluşturabilmeniz için önce hesabınızın kaynak grubunda sahip rolü atanmış olması gerekir. Yardım için Azure aboneliğinizin sahibine başvurun.

    Kaynak grubunuzda arama yaparak ve ilişkili aboneliğin bağlantısını izleyerek Azure aboneliğinizin sahibini belirleyebilirsiniz. Ardından:

    1. Erişim Denetimi (IAM) sekmesini seçin
    2. Rol atamalarını seçin
    3. Role göre filtrele:Sahip.
  4. Özel metin sınıflandırması & özel adlandırılmış varlık tanıma bölümünde mevcut bir depolama hesabını seçin veya Yeni depolama hesabı'nı seçin. Bu değerlerin, üretim ortamlarında kullanmak isteyeceğiniz depolama hesabı değerlerini değil, kullanmaya başlamanıza yardımcı olduğunu unutmayın. Projenizi oluştururken gecikme süresini önlemek için Dil kaynağınızla aynı bölgedeki depolama hesaplarına bağlanın.

    hesap değerini Depolama Önerilen değer
    Depolama hesabı adı Herhangi bir ad
    Storage account type Standart LRS
  5. Sorumlu Yapay Zeka Bildirimi'nin işaretli olduğundan emin olun. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.

Örnek verileri blob kapsayıcısına yükleme

Bir Azure depolama hesabı oluşturup Bunu Dil kaynağınıza bağladıktan sonra, örnek veri kümesindeki belgeleri kapsayıcınızın kök dizinine yüklemeniz gerekir. Bu belgeler daha sonra modelinizi eğitmek için kullanılacaktır.

  1. Çok etiketli sınıflandırma projeleri için örnek veri kümesini indirin.

  2. .zip dosyasını açın ve belgeleri içeren klasörü ayıklayın.

Sağlanan örnek veri kümesi, her biri bir filmin özeti olan yaklaşık 200 belge içerir. Her belge aşağıdaki sınıflardan birine veya daha fazlasına aittir:

  • "Gizem"
  • "Drama"
  • "Gerilim"
  • "Komedi"
  • "Eylem"
  1. Azure portalında, oluşturduğunuz depolama hesabına gidin ve bunu seçin. Bunu yapmak için Depolama hesaplarına tıklayıp depolama hesabınızın adını herhangi bir alan için Filtre'ye yazabilirsiniz.

    kaynak grubunuz görünmüyorsa Abonelik eşittir filtresinin Tümü olarak ayarlandığından emin olun.

  2. Depolama hesabınızda, Veri depolama altında yer alan sol menüden Kapsayıcılar'ı seçin. Görüntülenen ekranda + Kapsayıcı'yı seçin. Kapsayıcıya example-data adını verin ve varsayılan Genel erişim düzeyini bırakın.

    A screenshot showing the main page for a storage account.

  3. Kapsayıcınız oluşturulduktan sonra seçin. Daha önce indirdiğiniz ve dosyalarını seçmek için Karşıya Yükle düğmesini seçin.txt..json

    A screenshot showing the button for uploading files to the storage account.

Özel metin sınıflandırma projesi oluşturma

Kaynak ve depolama kapsayıcınız yapılandırıldıktan sonra yeni bir özel metin sınıflandırma projesi oluşturun. Proje, verilerinize göre özel ML modellerinizi oluşturmaya yönelik bir çalışma alanıdır. Projenize yalnızca siz ve kullanılan Dil kaynağına erişimi olan diğer kişiler erişebilir.

  1. Language Studio'da oturum açın. Aboneliğinizi ve Dil kaynağınızı seçmenizi sağlayacak bir pencere görüntülenir. Dil kaynağınızı seçin.

  2. Language Studio'nun Metni sınıflandır bölümünde Özel metin sınıflandırması'nı seçin.

    A screenshot showing the location of custom text classification in the Language Studio landing page.

  3. Projeler sayfanızın üst menüsünden Yeni proje oluştur'u seçin. Proje oluşturmak, modellerinizi etiketlemenize, eğitmenize, değerlendirmenize, geliştirmenize ve dağıtmanıza olanak tanır.

    A screenshot of the custom text classification project creation page.

  4. Yeni proje oluştur'a tıkladıktan sonra, depolama hesabınızı bağlamanıza olanak sağlayan bir pencere görüntülenir. Zaten bir depolama hesabı bağladıysanız, hesaplanmış depolamanın bağlı olduğunu görürsünüz. Aksi takdirde, görüntülenen açılan listeden depolama hesabınızı seçin ve Bağlan depolama hesabını seçin; bu işlem depolama hesabınız için gerekli rolleri ayarlar. Depolama hesabında sahip olarak atanmadıysanız bu adım büyük olasılıkla bir hata döndürür.

    Dekont

    • Bu adımı, kullandığınız her yeni dil kaynağı için yalnızca bir kez yapmanız gerekir.
    • Bu işlem geri alınamaz. Bir depolama hesabını Dil kaynağınıza bağlarsanız daha sonra bağlantısını kesemezsiniz.
    • Dil kaynağınızı yalnızca bir depolama hesabına bağlayabilirsiniz.

    A screenshot of the storage connection screen for custom classification projects.

  5. Proje türünü seçin. Her belgenin bir veya daha fazla sınıfa ait olabileceği çok etiketli sınıflandırma projesi veya her belgenin yalnızca bir sınıfa ait olabileceği Tek etiketli sınıflandırma projesi oluşturabilirsiniz. Seçili tür daha sonra değiştirilemez. Proje türleri hakkında daha fazla bilgi edinin

    A screenshot of the available custom classification project types.

  6. Projenizdeki belgelerin adı, açıklaması ve dili de dahil olmak üzere proje bilgilerini girin. Örnek veri kümesini kullanıyorsanız İngilizce'yi seçin. Projenizin adını daha sonra değiştiremezsiniz. İleri'yi seçin.

    Bahşiş

    Veri kümenizin tamamen aynı dilde olması gerekmez. Her birinde desteklenen farklı dillere sahip birden çok belgeniz olabilir. Veri kümeniz farklı dillerde belgeler içeriyorsa veya çalışma zamanı sırasında farklı dillerden metin bekliyorsanız, projeniz için temel bilgileri girerken çok dilli veri kümesini etkinleştir seçeneğini belirleyin. Bu seçenek daha sonra Proje ayarları sayfasından etkinleştirilebilir.

  7. Veri kümenizi yüklediğiniz kapsayıcıyı seçin.

    Dekont

    Verilerinizi zaten etiketlediyseniz desteklenen biçime uydığından emin olun ve Evet, belgelerim zaten etiketlendi ve JSON etiketleri dosyasını biçimlendirdim'i seçin ve aşağıdaki açılan menüden etiketler dosyasını seçin.

    Örnek veri kümelerinden birini kullanıyorsanız, dahil webOfScience_labelsFile edilen veya movieLabels json dosyasını kullanın. Sonra İleri'yi seçin.

  8. Girdiğiniz verileri gözden geçirin ve Proje Oluştur'u seçin.

Modelinizi eğitme

Genellikle bir proje oluşturduktan sonra, devam edip projenize bağlı kapsayıcıda bulunan belgeleri etiketlemeye başlarsınız. Bu hızlı başlangıçta, veri kümesi etiketli bir örneği içeri aktarmış ve projenizi örnek JSON etiketleri dosyasıyla başlatmışsınızdır.

Modelinizi Language Studio'dan eğitmeye başlamak için:

  1. Sol taraftaki menüden Eğitim işleri'ni seçin.

  2. Üstteki menüden Eğitim işi başlat'ı seçin.

  3. Yeni model eğit'i seçin ve metin kutusuna model adını yazın. Ayrıca , bu seçeneği belirleyip açılan menüden üzerine yazmak istediğiniz modeli seçerek mevcut modelin üzerine yazabilirsiniz. Eğitilen modelin üzerine yazmak geri alınamaz, ancak yeni modeli dağıtana kadar dağıtılan modellerinizi etkilemez.

    Create a new training job

  4. Veri bölme yöntemini seçin. Test kümesini eğitim verilerinden otomatik olarak bölme'yi seçebilirsiniz; burada sistem etiketlenmiş verilerinizi belirtilen yüzdelere göre eğitim ve test kümeleri arasında böler. Ya da eğitim ve test verilerinin el ile bölünmesini kullanabilirsiniz. Bu seçenek yalnızca veri etiketleme sırasında test kümenize belge eklediyseniz etkinleştirilir. Veri bölme hakkında daha fazla bilgi için bkz . Modeli eğitme.

  5. Eğit düğmesini seçin.

  6. Listeden eğitim işi kimliğini seçerseniz, bu işin Eğitim ilerleme durumunu, İş durumunu ve diğer ayrıntıları denetleyebileceğiniz bir yan bölme görüntülenir.

    Dekont

    • Yalnızca başarıyla tamamlanan eğitim işleri model oluşturur.
    • Modeli eğitmek için gereken süre, etiketlenmiş verilerinizin boyutuna bağlı olarak birkaç dakika ile birkaç saat arasında sürebilir.
    • Aynı anda yalnızca bir eğitim işi çalıştırabilirsiniz. Çalışan iş tamamlanana kadar aynı proje içinde başka bir eğitim işi başlatamazsınız.

Modelinizi dağıtma

Genellikle bir modeli eğitdikten sonra değerlendirme ayrıntılarını gözden geçirir ve gerekirse iyileştirmeler yaparsınız. Bu hızlı başlangıçta modelinizi dağıtacak ve Language Studio'da denemeniz için kullanılabilir hale getirecek veya tahmin API'sini çağırabilirsiniz.

Modelinizi Language Studio'dan dağıtmak için:

  1. Sol taraftaki menüden Model dağıtma'ya tıklayın.

  2. Yeni bir dağıtım işi başlatmak için Dağıtım ekle'yi seçin.

    A screenshot showing the deployment button

  3. Yeni bir dağıtım oluşturmak ve aşağıdaki açılan listeden eğitilmiş bir model atamak için Yeni dağıtım oluştur'u seçin. Ayrıca bu seçeneği belirleyerek ve aşağıdaki açılan listeden bu dağıtıma atamak istediğiniz eğitilmiş modeli seçerek mevcut dağıtımın üzerine yazabilirsiniz.

    Dekont

    Mevcut bir dağıtımın üzerine yazmak Için Tahmin API'si çağrınızda değişiklik yapılması gerekmez, ancak elde ettiğiniz sonuçlar yeni atanan modeli temel alır.

    A screenshot showing the deployment screen

  4. Dağıtım işini başlatmak için Dağıt'ı seçin.

  5. Dağıtım başarılı olduktan sonra, yanında bir sona erme tarihi görüntülenir. Dağıtım süre sonu, dağıtılan modelinizin tahmin için kullanılamadığı zamandır ve bu durum genellikle eğitim yapılandırmasının süresi dolduktan on iki ay sonra gerçekleşir.

Modelinizi test etme

Modeliniz dağıtıldıktan sonra, Tahmin API'sini kullanarak metninizi sınıflandırmak için kullanmaya başlayabilirsiniz. Bu hızlı başlangıçta, özel metin sınıflandırma görevini göndermek ve sonuçları görselleştirmek için Language Studio'yu kullanacaksınız. Daha önce indirdiğiniz örnek veri kümesinde bu adımda kullanabileceğiniz bazı test belgelerini bulabilirsiniz.

Dağıtılan modellerinizi Language Studio'da test etmek için:

  1. Ekranın sol tarafındaki menüden Dağıtımları test etme'yi seçin.

  2. Test etmek istediğiniz dağıtımı seçin. Yalnızca dağıtımlara atanan modelleri test edebilirsiniz.

  3. Çok dilli projeler için dil açılan listesini kullanarak test ettiğiniz metnin dilini seçin.

  4. Açılan listeden sorgulamak/test etmek istediğiniz dağıtımı seçin.

  5. İstekte göndermek istediğiniz metni girin veya kullanmak üzere bir .txt belge yükleyin. Örnek veri kümelerinden birini kullanıyorsanız, eklenen .txt dosyalarından birini kullanabilirsiniz.

  6. Üstteki menüden Testi çalıştır'ı seçin.

  7. Sonuç sekmesinde, metniniz için tahmin edilen sınıfları görebilirsiniz. JSON yanıtını JSON sekmesinin altında da görüntüleyebilirsiniz. Aşağıdaki örnek, tek bir etiket sınıflandırma projesi içindir. Çok etiketli sınıflandırma projesi, sonuçta birden fazla sınıf döndürebilir.

    A screenshot showing model test results for a single label classification project.

Projeleri temizleme

Projenize artık ihtiyacınız olmadığında, Language Studio'yu kullanarak projenizi silebilirsiniz. Üst kısımdaki Özel metin sınıflandırması'nı ve ardından silmek istediğiniz projeyi seçin. Projeyi silmek için üstteki menüden Sil'i seçin.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.

Yeni bir Azure AI Dil kaynağı ve Azure depolama hesabı oluşturma

Özel metin sınıflandırmasını kullanabilmeniz için bir Azure AI Dili kaynağı oluşturmanız gerekir. Bu kaynak, proje oluşturmak ve modeli eğitmeye başlamak için ihtiyacınız olan kimlik bilgilerini verir. Ayrıca modelinizi oluştururken kullanılacak veri kümenizi karşıya yükleyebileceğiniz bir Azure depolama hesabına da ihtiyacınız olacaktır.

Önemli

Hızlı bir şekilde başlamak için, bu makalede sağlanan adımları kullanarak yeni bir Azure AI Dili kaynağı oluşturmanızı öneririz. Bu kaynak, Dil kaynağını oluşturmanıza ve/veya depolama hesabını aynı anda oluşturmanıza ve/veya bağlamanıza olanak sağlar. Bu, daha sonra yapmaktan daha kolaydır.

Kullanmak istediğiniz önceden var olan bir kaynağınız varsa bunu depolama hesabına bağlamanız gerekir.

Azure portalından yeni kaynak oluşturma

  1. Yeni bir Azure Yapay Zeka Dili kaynağı oluşturmak için Azure portalına gidin.

  2. Açılan pencerede, özel özelliklerden Özel metin sınıflandırması ve özel adlandırılmış varlık tanıma'yı seçin. Ekranın alt kısmındaki kaynağınızı oluşturmak için Devam'ı seçin.

    A screenshot showing the selection option for custom text classification and custom named entity recognition in Azure portal.

  3. Aşağıdaki ayrıntıları içeren bir Dil kaynağı oluşturun.

    Adı Gerekli değer
    Abonelik Azure aboneliğiniz.
    Kaynak grubu Kaynağınızı içerecek bir kaynak grubu. Mevcut bir tane kullanabilir veya yeni bir tane oluşturabilirsiniz.
    Bölge Desteklenen bölgelerden biri. Örneğin, "Batı ABD 2".
    Adı Kaynağınız için bir ad.
    Fiyatlandırma katmanı Desteklenen fiyatlandırma katmanlarından biri. Hizmeti denemek için Ücretsiz (F0) katmanını kullanabilirsiniz.

    "Oturum açma hesabınız seçili depolama hesabının kaynak grubunun sahibi değil" iletisini alırsanız, Dil kaynağı oluşturabilmeniz için önce hesabınızın kaynak grubunda sahip rolü atanmış olması gerekir. Yardım için Azure aboneliğinizin sahibine başvurun.

    Kaynak grubunuzda arama yaparak ve ilişkili aboneliğin bağlantısını izleyerek Azure aboneliğinizin sahibini belirleyebilirsiniz. Ardından:

    1. Erişim Denetimi (IAM) sekmesini seçin
    2. Rol atamalarını seçin
    3. Role göre filtrele:Sahip.
  4. Özel metin sınıflandırması & özel adlandırılmış varlık tanıma bölümünde mevcut bir depolama hesabını seçin veya Yeni depolama hesabı'nı seçin. Bu değerlerin, üretim ortamlarında kullanmak isteyeceğiniz depolama hesabı değerlerini değil, kullanmaya başlamanıza yardımcı olduğunu unutmayın. Projenizi oluştururken gecikme süresini önlemek için Dil kaynağınızla aynı bölgedeki depolama hesaplarına bağlanın.

    hesap değerini Depolama Önerilen değer
    Depolama hesabı adı Herhangi bir ad
    Storage account type Standart LRS
  5. Sorumlu Yapay Zeka Bildirimi'nin işaretli olduğundan emin olun. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.

Örnek verileri blob kapsayıcısına yükleme

Bir Azure depolama hesabı oluşturup Bunu Dil kaynağınıza bağladıktan sonra, örnek veri kümesindeki belgeleri kapsayıcınızın kök dizinine yüklemeniz gerekir. Bu belgeler daha sonra modelinizi eğitmek için kullanılacaktır.

  1. Çok etiketli sınıflandırma projeleri için örnek veri kümesini indirin.

  2. .zip dosyasını açın ve belgeleri içeren klasörü ayıklayın.

Sağlanan örnek veri kümesi, her biri bir filmin özeti olan yaklaşık 200 belge içerir. Her belge aşağıdaki sınıflardan birine veya daha fazlasına aittir:

  • "Gizem"
  • "Drama"
  • "Gerilim"
  • "Komedi"
  • "Eylem"
  1. Azure portalında, oluşturduğunuz depolama hesabına gidin ve bunu seçin. Bunu yapmak için Depolama hesaplarına tıklayıp depolama hesabınızın adını herhangi bir alan için Filtre'ye yazabilirsiniz.

    kaynak grubunuz görünmüyorsa Abonelik eşittir filtresinin Tümü olarak ayarlandığından emin olun.

  2. Depolama hesabınızda, Veri depolama altında yer alan sol menüden Kapsayıcılar'ı seçin. Görüntülenen ekranda + Kapsayıcı'yı seçin. Kapsayıcıya example-data adını verin ve varsayılan Genel erişim düzeyini bırakın.

    A screenshot showing the main page for a storage account.

  3. Kapsayıcınız oluşturulduktan sonra seçin. Daha önce indirdiğiniz ve dosyalarını seçmek için Karşıya Yükle düğmesini seçin.txt..json

    A screenshot showing the button for uploading files to the storage account.

Kaynak anahtarlarınızı ve uç noktanızı alma

A screenshot showing the key and endpoint page in the Azure portal.

Özel metin sınıflandırma projesi oluşturma

Kaynak ve depolama kapsayıcınız yapılandırıldıktan sonra yeni bir özel metin sınıflandırma projesi oluşturun. Proje, verilerinize göre özel ML modellerinizi oluşturmaya yönelik bir çalışma alanıdır. Projenize yalnızca siz ve kullanılan Dil kaynağına erişimi olan diğer kişiler erişebilir.

proje işini içeri aktarmayı tetikleme

Etiket dosyanızı içeri aktarmak için aşağıdaki URL'yi, üst bilgileri ve JSON gövdesini kullanarak bir POST isteği gönderin. Etiketler dosyanızın kabul edilen biçime uygun olduğundan emin olun.

Aynı ada sahip bir proje zaten varsa, o projenin verileri değiştirilir.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Gövde

İsteğinizde aşağıdaki JSON'yi kullanın. Aşağıdaki yer tutucu değerlerini kendi değerlerinizle değiştirin.

{
  "projectFileVersion": "{API-VERSION}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectName": "{PROJECT-NAME}",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectKind": "customMultiLabelClassification",
    "description": "Trying out custom multi label text classification",
    "language": "{LANGUAGE-CODE}",
    "multilingual": true,
    "settings": {}
  },
  "assets": {
    "projectKind": "customMultiLabelClassification",
    "classes": [
      {
        "category": "Class1"
      },
      {
        "category": "Class2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "classes": [
          {
            "category": "Class1"
          },
          {
            "category": "Class2"
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "classes": [
          {
            "category": "Class2"
          }
        ]
      }
    ]
  }
}

Tuş Yer tutucu Değer Örnek
api-sürümü {API-VERSION} Çağırdığınız API'nin sürümü. Burada kullanılan sürüm, URL'de aynı API sürümü olmalıdır. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01
projectName {PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
projectKind customMultiLabelClassification Proje türünüz. customMultiLabelClassification
dil {LANGUAGE-CODE} Projenizde kullanılan belgelerin dil kodunu belirten bir dize. Projeniz çok dilli bir projeyse, belgelerin çoğunun dil kodunu seçin. Çok dilli destek hakkında daha fazla bilgi edinmek için bkz. dil desteği. en-us
Çok dilli true Veri kümenizde birden çok dilde belge olmasını sağlayan boole değeridir ve modeliniz dağıtıldığında modeli desteklenen herhangi bir dilde sorgulayabilirsiniz (eğitim belgelerinize dahil olması gerekmez). Çok dilli destek hakkında daha fazla bilgi edinmek için bkz. dil desteği. true
storageInputContainerName {CONTAINER-NAME} Belgelerinizi yüklediğiniz Azure depolama kapsayıcınızın adı. myContainer
sınıflar [] Projede sahip olduğunuz tüm sınıfları içeren dizi. Bunlar, belgelerinizi sınıflandırmak istediğiniz sınıflardır. []
documents [] Projenizdeki tüm belgeleri ve bu belge için etiketlenen sınıfları içeren dizi. []
konum {DOCUMENT-NAME} Depolama kapsayıcısında belgelerin konumu. Tüm belgeler kapsayıcının kökünde olduğundan, belge adı bu olmalıdır. doc1.txt
veri kümesi {DATASET} Eğitimden önce bölündüğünde bu belgenin gideceği test kümesi. Veri bölme hakkında daha fazla bilgi için bkz . Modeli eğitme. Bu alanın olası değerleri ve TestşeklindedirTrain. Train

API isteğinizi gönderdikten sonra, işin doğru şekilde gönderildiğini belirten bir 202 yanıt alırsınız. Yanıt üst bilgilerinde değeri ayıklayın operation-location . Şu şekilde biçimlendirilir:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}

{JOB-ID} bu işlem zaman uyumsuz olduğundan isteğinizi tanımlamak için kullanılır. İçeri aktarma işi durumunu almak için bu URL'yi kullanacaksınız.

Bu istek için olası hata senaryoları:

  • Seçilen kaynağın depolama hesabı için uygun izinleri yok.
  • Belirtilen storageInputContainerName yok.
  • Geçersiz dil kodu kullanılır veya dil kodu türü dize değilse.
  • multilingual değeri boole değil bir dizedir.

İçeri aktarma işi Durumunu alma

Projenizi içeri aktarmanızın durumunu almak için aşağıdaki GET isteğini kullanın. Aşağıdaki yer tutucu değerlerini kendi değerlerinizle değiştirin.

İstek URL'si

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{JOB-ID} Modelinizin eğitim durumunu bulma kimliği. Bu değer, önceki adımda aldığınız üst bilgi değerindedir location . xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Modelinizi eğitme

Genellikle bir proje oluşturduktan sonra devam eder ve projenize bağlı kapsayıcıda bulunan belgeleri etiketlemeye başlarsınız. Bu hızlı başlangıçta, örnek etiketli bir veri kümesini içeri aktarmış ve örnek JSON etiketleri dosyasıyla projenizi başlatmışsınızdır.

Modelinizi eğitmeye başlama

Projeniz içeri aktarıldıktan sonra modelinizi eğitmeye başlayabilirsiniz.

Bir eğitim işi göndermek için aşağıdaki URL'yi, üst bilgileri ve JSON gövdesini kullanarak bir POST isteği gönderin. Aşağıdaki yer tutucu değerlerini kendi değerlerinizle değiştirin.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Request body

İstek gövdesinde aşağıdaki JSON'yi kullanın. Eğitim tamamlandıktan sonra modele {MODEL-NAME} verilir. Yalnızca başarılı eğitim işleri model üretir.

{
	"modelLabel": "{MODEL-NAME}",
	"trainingConfigVersion": "{CONFIG-VERSION}",
	"evaluationOptions": {
		"kind": "percentage",
		"trainingSplitPercentage": 80,
		"testingSplitPercentage": 20
	}
}
Tuş Yer tutucu Değer Örnek
modelLabel {MODEL-NAME} Başarıyla eğitildikten sonra modelinize atanacak model adı. myModel
trainingConfigVersion {CONFIG-VERSION} Bu, modeli eğitmek için kullanılacak model sürümüdür . 2022-05-01
evaluationOptions Verilerinizi eğitim ve test kümelerine bölme seçeneği. {}
tür percentage Bölünmüş yöntemler. Olası değerler: percentage veya manual. Daha fazla bilgi için bkz . Modeli eğitma. percentage
trainingSplitPercentage 80 Eğitim kümesine eklenecek etiketli verilerinizin yüzdesi. Önerilen değer: 80. 80
testingSplitPercentage 20 Test kümesine eklenecek etiketli verilerinizin yüzdesi. Önerilen değer: 20. 20

Dekont

trainingSplitPercentage ve testingSplitPercentage yalnızca olarak ayarlandıysa Kindpercentage gereklidir ve her iki yüzdenin toplamı 100'e eşit olmalıdır.

API isteğinizi gönderdikten sonra, işin doğru şekilde gönderildiğini belirten bir 202 yanıt alırsınız. Yanıt üst bilgilerinde değeri ayıklayın location . Şu şekilde biçimlendirilir:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

Bu işlem zaman uyumsuz olduğundan isteğinizi tanımlamak için {JOB-ID} kullanılıyor. Eğitim durumunu almak için bu URL'yi kullanabilirsiniz.

Eğitim işi durumunu alma

Eğitim 10 ile 30 dakika arasında sürebilir. Başarıyla tamamlanana kadar eğitim işinin durumunu yoklamayı sürdürmek için aşağıdaki isteği kullanabilirsiniz.

Modelinizin eğitim ilerleme durumunu almak için aşağıdaki GET isteğini kullanın. Aşağıdaki yer tutucu değerlerini kendi değerlerinizle değiştirin.

İstek URL'si

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{JOB-ID} Modelinizin eğitim durumunu bulma kimliği. Bu değer, önceki adımda aldığınız üst bilgi değerindedir location . xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinmek için bkz . model yaşam döngüsü . 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Yanıt Gövdesi

İsteği gönderdikten sonra aşağıdaki yanıtı alırsınız.

{
  "result": {
    "modelLabel": "{MODEL-NAME}",
    "trainingConfigVersion": "{CONFIG-VERSION}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "{JOB-ID}",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}

Modelinizi dağıtma

Bir modeli eğitdikten sonra genellikle modelin değerlendirme ayrıntılarını gözden geçirir ve gerekirse iyileştirmeler yaparsınız. Bu hızlı başlangıçta modelinizi dağıtacak ve Language Studio'da denemeniz için kullanılabilir hale getirecek veya tahmin API'sini çağırabilirsiniz.

Dağıtım işini gönderme

Bir dağıtım işi göndermek için aşağıdaki URL' yi, üst bilgileri ve JSON gövdesini kullanarak bir PUT isteği gönderin. Aşağıdaki yer tutucu değerlerini kendi değerlerinizle değiştirin.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{DEPLOYMENT-NAME} Dağıtımınızın adı. Bu değer büyük/küçük harfe duyarlıdır. staging
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Request body

İsteğinizin gövdesinde aşağıdaki JSON'yi kullanın. Dağıtıma atamak için modelin adını kullanın.

{
  "trainedModelLabel": "{MODEL-NAME}"
}
Tuş Yer tutucu Değer Örnek
trainedModelLabel {MODEL-NAME} Dağıtımınıza atanacak model adı. Yalnızca başarıyla eğitilmiş modeller atayabilirsiniz. Bu değer büyük/küçük harfe duyarlıdır. myModel

API isteğinizi gönderdikten sonra, işin doğru şekilde gönderildiğini belirten bir 202 yanıt alırsınız. Yanıt üst bilgilerinde değeri ayıklayın operation-location . Şu şekilde biçimlendirilir:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

Bu işlem zaman uyumsuz olduğundan isteğinizi tanımlamak için {JOB-ID} kullanılıyor. Dağıtım durumunu almak için bu URL'yi kullanabilirsiniz.

Dağıtım işi durumunu alma

Dağıtım işinin durumunu sorgulamak için aşağıdaki GET isteğini kullanın. Önceki adımda aldığınız URL'yi kullanabilir veya aşağıdaki yer tutucu değerleri kendi değerlerinizle değiştirebilirsiniz.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{DEPLOYMENT-NAME} Dağıtımınızın adı. Bu değer büyük/küçük harfe duyarlıdır. staging
{JOB-ID} Modelinizin eğitim durumunu bulma kimliği. Bu, önceki adımda aldığınız üst bilgi değerindedir location . xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

Yanıt Gövdesi

İsteği gönderdikten sonra aşağıdaki yanıtı alırsınız. Durum parametresi "başarılı" olarak değişene kadar bu uç noktayı yoklamayı sürdürebilirsiniz. İsteğin başarısını belirten bir 200 kod almalısınız.

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

Metni sınıflandırma

Modeliniz başarıyla dağıtıldıktan sonra, Tahmin API'sini kullanarak metninizi sınıflandırmak için kullanmaya başlayabilirsiniz. Daha önce indirdiğiniz örnek veri kümesinde bu adımda kullanabileceğiniz bazı test belgelerini bulabilirsiniz.

Özel metin sınıflandırma görevi gönderme

Metin sınıflandırma görevi başlatmak için bu POST isteğini kullanın.

{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinmek için bkz . Model yaşam döngüsü . 2022-05-01

Üst Bilgiler

Anahtar Değer
Ocp-Apim-Subscription-Key Bu API'ye erişim sağlayan anahtarınız.

Gövde

{
  "displayName": "Classifying documents",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "{LANGUAGE-CODE}",
        "text": "Text1"
      },
      {
        "id": "2",
        "language": "{LANGUAGE-CODE}",
        "text": "Text2"
      }
    ]
  },
  "tasks": [
     {
      "kind": "CustomMultiLabelClassification",
      "taskName": "Multi Label Classification",
      "parameters": {
        "projectName": "{PROJECT-NAME}",
        "deploymentName": "{DEPLOYMENT-NAME}"
      }
    }
  ]
}
Tuş Yer tutucu Değer Örnek
displayName {JOB-NAME} İş adınız. MyJobName
documents [{},{}] Görevlerin çalıştırılacak belgelerin listesi. [{},{}]
id {DOC-ID} Belge adı veya kimliği. doc1
language {LANGUAGE-CODE} Belgenin dil kodunu belirten bir dize. Bu anahtar belirtilmezse, hizmet proje oluşturma sırasında seçilen projenin varsayılan dilini kabul eder. Desteklenen dil kodlarının listesi için bkz . dil desteği . en-us
text {DOC-TEXT} Görevlerin çalıştırılacak belge görevi. Lorem ipsum dolor sit amet
tasks Gerçekleştirmek istediğimiz görevlerin listesi. []
taskName CustomMultiLabelClassification Görev adı CustomMultiLabelClassification
parameters Göreve geçirecek parametrelerin listesi.
project-name {PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
deployment-name {DEPLOYMENT-NAME} Dağıtımınızın adı. Bu değer büyük/küçük harfe duyarlıdır. prod

Response

Başarılı olduğunu belirten bir 202 yanıtı alırsınız. Yanıt üst bilgilerinde ayıklayın operation-location. operation-location şu şekilde biçimlendirilir:

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}

Görev tamamlanma durumunu sorgulamak ve görev tamamlandığında sonuçları almak için bu URL'yi kullanabilirsiniz.

Görev sonuçlarını alma

Metin sınıflandırma görevinin durumunu/sonuçlarını sorgulamak için aşağıdaki GET isteğini kullanın.

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, en son yayınlanan model sürümü sürümüne yöneliktir. 2022-05-01

Üst Bilgiler

Anahtar Değer
Ocp-Apim-Subscription-Key Bu API'ye erişim sağlayan anahtarınız.

Yanıt gövdesi

Yanıt, aşağıdaki parametrelere sahip bir JSON belgesi olacaktır.

{
  "createdDateTime": "2021-05-19T14:32:25.578Z",
  "displayName": "MyJobName",
  "expirationDateTime": "2021-05-19T14:32:25.578Z",
  "jobId": "xxxx-xxxxxx-xxxxx-xxxx",
  "lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
  "status": "succeeded",
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "customMultiClassificationTasks",
        "taskName": "Classify documents",
        "lastUpdateDateTime": "2020-10-01T15:01:03Z",
        "status": "succeeded",
        "results": {
          "documents": [
            {
              "id": "{DOC-ID}",
              "classes": [
                  {
                      "category": "Class_1",
                      "confidenceScore": 0.0551877357
                  }
              ],
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "2020-04-01"
        }
      }
    ]
  }
}

Kaynakları temizleme

Projenize artık ihtiyacınız kalmadığında, aşağıdaki DELETE isteğiyle silebilirsiniz. Yer tutucu değerlerini kendi değerlerinizle değiştirin.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Yer tutucu Değer Örnek
{ENDPOINT} API isteğinizin kimliğini doğrulamak için uç nokta. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Projenizin adı. Bu değer büyük/küçük harfe duyarlıdır. myProject
{API-VERSION} Çağırdığınız API'nin sürümü. Burada başvuruda bulunılan değer, yayınlanan en son sürüme yöneliktir. Diğer kullanılabilir API sürümleri hakkında daha fazla bilgi edinin 2022-05-01

Üst Bilgiler

İsteğinizin kimliğini doğrulamak için aşağıdaki üst bilgiyi kullanın.

Anahtar Değer
Ocp-Apim-Subscription-Key Kaynağınızın anahtarı. API isteklerinizin kimliğini doğrulamak için kullanılır.

API isteğinizi gönderdikten sonra başarılı olduğunu belirten bir 202 yanıt alırsınız ve bu da projenizin silindiği anlamına gelir. Başarılı bir arama, işin durumunu denetlemek için kullanılan üst Operation-Location bilgiyle sonuçlanır.

Sonraki adımlar

Özel bir metin sınıflandırma modeli oluşturduktan sonra şunları yapabilirsiniz:

Kendi özel metin sınıflandırma projelerinizi oluşturmaya başladığınızda, modelinizi geliştirme hakkında daha ayrıntılı bilgi edinmek için nasıl yapılır makalelerini kullanın: