Hızlı Başlangıç: Adlandırılmış varlıkları algılama (NER)

Başvuru belgeleri | Ek örnekler | Paket (NuGet) | Kitaplık kaynak kodu

.NET için istemci kitaplığıyla Adlandırılmış Varlık Tanıma (NER) uygulaması oluşturmak için bu hızlı başlangıcı kullanın. Aşağıdaki örnekte, metindeki tanınan varlıkları tanımlayabilen bir C# uygulaması oluşturacaksınız.

İpucu

Kod yazmaya gerek kalmadan Dil hizmeti özelliklerini denemek için Language Studio'yu kullanabilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz olarak oluşturun
  • Visual Studio IDE
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Dil kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı API'ye bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde aşağıdaki koda yapıştıracaksınız.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (Free F0) kullanabilirsiniz.
  • Çözümle özelliğini kullanmak için standart (S) fiyatlandırma katmanına sahip bir Dil kaynağı gerekir.

Ayarlama

Yeni .NET Core uygulaması oluşturma

Visual Studio IDE’yi kullanarak yeni bir .NET Core konsol uygulaması oluşturun. Bu, tek bir C# kaynak dosyasıyla (program.cs) “Merhaba Dünya” adında bir proje oluşturur.

Çözüm Gezgini’nde çözüme sağ tıklayarak ve NuGet paketlerini yönet seçeneğini belirleyerek istemci kitaplığını yükleyin. Açılan paket yöneticisinde Gözat'ı seçin ve öğesini arayınAzure.AI.TextAnalytics. Sürüm olarak 5.2.0 seçin ve Yükle seçeneğini belirleyin. Paket Yöneticisi Konsolu’nu da kullanabilirsiniz.

Kod örneği

Aşağıdaki kodu program.cs dosyanıza kopyalayın. değişkeni kaynağınızın anahtarıyla değiştirmeyi key ve değişkeni kaynağınızın uç noktasıyla değiştirmeyi endpoint unutmayın. Sonra kodu çalıştırın.

Önemli

Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz Dil kaynağı başarıyla dağıtıldıysa, Sonraki Adımlar'ın altındaki Kaynağa Git düğmesine tıklayın. Kaynağınızın Anahtarlar ve Uç Nokta sayfasına gidip Kaynak Yönetimi'nin altında anahtarınızı ve uç noktanızı bulabilirsiniz.

Önemli

İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

using Azure;
using System;
using Azure.AI.TextAnalytics;

namespace Example
{
    class Program
    {
        private static readonly AzureKeyCredential credentials = new AzureKeyCredential("replace-with-your-key-here");
        private static readonly Uri endpoint = new Uri("replace-with-your-endpoint-here");
        
        // Example method for extracting named entities from text 
        static void EntityRecognitionExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeEntities("I had a wonderful trip to Seattle last week.");
            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            EntityRecognitionExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Çıktı

Named Entities:
        Text: trip,     Category: Event,        Sub-Category:
                Score: 0.74,    Length: 4,      Offset: 18

        Text: Seattle,  Category: Location,     Sub-Category: GPE
                Score: 1.00,    Length: 7,      Offset: 26

        Text: last week,        Category: DateTime,     Sub-Category: DateRange
                Score: 0.80,    Length: 9,      Offset: 34

Başvuru belgeleri | Ek örnekler | Paket (Maven) | Kitaplık kaynak kodu

Java için istemci kitaplığıyla Adlandırılmış Varlık Tanıma (NER) uygulaması oluşturmak için bu hızlı başlangıcı kullanın. Aşağıdaki örnekte, metindeki tanınan varlıkları tanımlayabilen bir Java uygulaması oluşturacaksınız.

İpucu

Kod yazmaya gerek kalmadan Dil hizmeti özelliklerini denemek için Language Studio'yu kullanabilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz olarak oluşturun
  • Java Geliştirme Seti (JDK) sürüm 8 veya üstü
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Dil kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı API'ye bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde aşağıdaki koda yapıştıracaksınız.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (Free F0) kullanabilirsiniz.
  • Çözümle özelliğini kullanmak için standart (S) fiyatlandırma katmanına sahip bir Dil kaynağı gerekir.

Ayarlama

İstemci kitaplığını ekleme

Tercih ettiğiniz IDE veya geliştirme ortamında bir Maven projesi oluşturun. Ardından aşağıdaki bağımlılığı projenizin pom.xml dosyasına ekleyin. Diğer derleme araçlarına yönelik uygulama söz dizimini çevrimiçi olarak bulabilirsiniz.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Kod örneği

Example.java adlı bir Java dosyası oluşturun. Dosyayı açın ve aşağıdaki kodu kopyalayın. değişkeni kaynağınızın anahtarıyla değiştirmeyi key ve değişkeni kaynağınızın uç noktasıyla değiştirmeyi endpoint unutmayın. Sonra kodu çalıştırın.

Önemli

Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz Dil kaynağı başarıyla dağıtıldıysa, Sonraki Adımlar'ın altındaki Kaynağa Git düğmesine tıklayın. Kaynağınızın Anahtarlar ve Uç Nokta sayfasına gidip Kaynak Yönetimi'nin altında anahtarınızı ve uç noktanızı bulabilirsiniz.

Önemli

İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    private static String KEY = "replace-with-your-key-here";
    private static String ENDPOINT = "replace-with-your-endpoint-here";

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);
        recognizeEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for recognizing entities in text
    static void recognizeEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "I had a wonderful trip to Seattle last week.";
    
        for (CategorizedEntity entity : client.recognizeEntities(text)) {
            System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
        }
    }
}

Çıktı

Recognized entity: trip, entity category: Event, entity sub-category: null, score: 0.74, offset: 18, length: 4.
Recognized entity: Seattle, entity category: Location, entity sub-category: GPE, score: 1.0, offset: 26, length: 7.
Recognized entity: last week, entity category: DateTime, entity sub-category: DateRange, score: 0.8, offset: 34, length: 9.

Başvuru belgeleri | Ek örnekler | Paket (npm) | Kitaplık kaynak kodu

Node.js için istemci kitaplığıyla Adlandırılmış Varlık Tanıma (NER) uygulaması oluşturmak için bu hızlı başlangıcı kullanın. Aşağıdaki örnekte, metindeki tanınan varlıkları tanımlayabilen bir JavaScript uygulaması oluşturacaksınız.

İpucu

Kod yazmaya gerek kalmadan Dil hizmeti özelliklerini denemek için Language Studio'yu kullanabilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz olarak oluşturun
  • Node.js v14 LTS veya üzeri
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Dil kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı API'ye bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde aşağıdaki koda yapıştıracaksınız.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (Free F0) kullanabilirsiniz.
  • Çözümle özelliğini kullanmak için standart (S) fiyatlandırma katmanına sahip bir Dil kaynağı gerekir.

Ayarlama

Yeni bir Node.js uygulaması oluşturma

Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

mkdir myapp 

cd myapp

Bir package.json dosyası ile bir düğüm uygulaması oluşturmak için npm init komutunu çalıştırın.

npm init

İstemci kitaplığını yükleme

npm paketini yükleyin:

npm install @azure/ai-language-text

Kod örneği

Dosyayı açın ve aşağıdaki kodu kopyalayın. değişkeni kaynağınızın anahtarıyla değiştirmeyi key ve değişkeni kaynağınızın uç noktasıyla değiştirmeyi endpoint unutmayın. Sonra kodu çalıştırın.

Önemli

Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz Dil kaynağı başarıyla dağıtıldıysa, Sonraki Adımlar'ın altındaki Kaynağa Git düğmesine tıklayın. Kaynağınızın Anahtarlar ve Uç Nokta sayfasına gidip Kaynak Yönetimi'nin altında anahtarınızı ve uç noktanızı bulabilirsiniz.

Önemli

İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

"use strict";

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");;
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';

//an example document for entity recognition
const documents = [ "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800"];

//example of how to use the client library to recognize entities in a document.
async function main() {
    console.log("== NER sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityRecognition", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tRecognized Entities:");
        for (const entity of result.entities) {
          console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
        }
      } else console.error("\tError:", result.error);
    }
  }

//call the main function
main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Çıktı

Document ID: 0
        Name: Microsoft         Category: Organization  Subcategory: N/A
        Score: 0.29
        Name: Bill Gates        Category: Person        Subcategory: N/A
        Score: 0.78
        Name: Paul Allen        Category: Person        Subcategory: N/A
        Score: 0.82
        Name: April 4, 1975     Category: DateTime      Subcategory: Date
        Score: 0.8
        Name: 8800      Category: Quantity      Subcategory: Number
        Score: 0.8
Document ID: 1
        Name: 21        Category: Quantity      Subcategory: Number
        Score: 0.8
        Name: Seattle   Category: Location      Subcategory: GPE
        Score: 0.25

Başvuru belgeleri | Ek örnekler | Paket (PyPi) | Kitaplık kaynak kodu

Python için istemci kitaplığıyla Adlandırılmış Varlık Tanıma (NER) uygulaması oluşturmak için bu hızlı başlangıcı kullanın. Aşağıdaki örnekte, metindeki tanınan varlıkları tanımlayabilen bir Python uygulaması oluşturacaksınız.

İpucu

Kod yazmaya gerek kalmadan Dil hizmeti özelliklerini denemek için Language Studio'yu kullanabilirsiniz.

Önkoşullar

  • Azure aboneliği - Ücretsiz olarak oluşturun
  • Python 3.8 veya üzeri
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Dil kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı API'ye bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde aşağıdaki koda yapıştıracaksınız.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (Free F0) kullanabilirsiniz.
  • Çözümle özelliğini kullanmak için standart (S) fiyatlandırma katmanına sahip bir Dil kaynağı gerekir.

Ayarlama

İstemci kitaplığını yükleme

Python yükledikten sonra şunları kullanarak istemci kitaplığını yükleyebilirsiniz:

pip install azure-ai-textanalytics==5.2.0

Kod örneği

Yeni bir Python dosyası oluşturun ve aşağıdaki kodu kopyalayın. değişkeni kaynağınızın anahtarıyla değiştirmeyi key ve değişkeni kaynağınızın uç noktasıyla değiştirmeyi endpoint unutmayın. Sonra kodu çalıştırın.

Önemli

Azure portalına gidin. Önkoşullar bölümünde oluşturduğunuz Dil kaynağı başarıyla dağıtıldıysa, Sonraki Adımlar'ın altındaki Kaynağa Git düğmesine tıklayın. Kaynağınızın Anahtarlar ve Uç Nokta sayfasına gidip Kaynak Yönetimi'nin altında anahtarınızı ve uç noktanızı bulabilirsiniz.

Önemli

İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

key = "paste-your-key-here"
endpoint = "paste-your-endpoint-here"

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities from text
def entity_recognition_example(client):

    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = client.recognize_entities(documents = documents)[0]

        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")

    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_recognition_example(client)

Çıktı

Named Entities:

    Text:    trip   Category:        Event  SubCategory:     None
    Confidence Score:        0.74   Length:          4      Offset:          18

    Text:    Seattle        Category:        Location       SubCategory:     GPE
    Confidence Score:        1.0    Length:          7      Offset:          26

    Text:    last week      Category:        DateTime       SubCategory:     DateRange
    Confidence Score:        0.8    Length:          9      Offset:          34

Başvuru belgeleri

REST API kullanarak Adlandırılmış Varlık Tanıma (NER) istekleri göndermek için bu hızlı başlangıcı kullanın. Aşağıdaki örnekte, metindeki tanınan varlıkları tanımlamak için cURL kullanacaksınız.

İpucu

Kod yazmaya gerek kalmadan Dil hizmeti özelliklerini denemek için Language Studio'yu kullanabilirsiniz.

Önkoşullar

  • cURL'nin geçerli sürümü.
  • Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Dil kaynağı oluşturun. Dağıtıldıktan sonra Kaynağa git'i seçin.
    • Uygulamanızı API'ye bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız vardır. Anahtarınızı ve uç noktanızı hızlı başlangıcın ilerleyen bölümlerinde koda yapıştırın.
    • Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (Free F0) kullanabilirsiniz.

Not

  • Aşağıdaki BASH örneklerinde satır devamlılığı karakteri kullanılır \ . Konsolunuz veya terminaliniz farklı bir satır devamlılığı karakteri kullanıyorsa bu karakteri kullanın.
  • Dile özgü örnekleri GitHub'da bulabilirsiniz.
  • Azure portalına gidin ve önkoşullarda oluşturduğunuz Dil kaynağının anahtarını ve uç noktasını bulun. Bunlar kaynağın anahtar ve uç nokta sayfasında, kaynak yönetimi altında bulunur. Ardından koddaki dizeleri anahtarınızla ve uç noktanızla değiştirin. API'yi çağırmak için aşağıdaki bilgilere ihtiyacınız vardır:
parametre Açıklama
-X POST <endpoint> API'ye erişmek için uç noktanızı belirtir.
-H Content-Type: application/json JSON verilerini göndermek için içerik türü.
-H "Ocp-Apim-Subscription-Key:<key> API'ye erişmek için anahtarı belirtir.
-d <documents> Göndermek istediğiniz belgeleri içeren JSON.

Aşağıdaki cURL komutları bir BASH kabuğundan yürütülür. Bu komutları kendi kaynak adınız, kaynak anahtarınız ve JSON değerlerinizle düzenleyin.

Adlandırılmış Varlık Ayıklama (NER)

  1. Komutu bir metin düzenleyicisine kopyalayın.
  2. Gerektiğinde komutta aşağıdaki değişiklikleri yapın:
    1. değerini <your-language-resource-key> anahtarınız ile değiştirin.
    2. İstek URL'sinin ilk bölümünü uç nokta URL'nizle <your-language-resource-endpoint> değiştirin.
  3. Bir komut istemi penceresi açın.
  4. Metin düzenleyicisindeki komutu komut istemi penceresine yapıştırın ve komutu çalıştırın.
curl -i -X POST https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key:<your-language-resource-key>" \
-d \
'
{
    "kind": "EntityRecognition",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language": "en",
                "text": "I had a wonderful trip to Seattle last week."
            }
        ]
    }
}
'

JSON yanıtı

Not

  • Genel Kullanıma Sunulan API ve geçerli Önizleme API'sinin farklı yanıt biçimleri vardır. Lütfen api eşlemesi için genel kullanıma sunulan makaleye bakın.
  • Önizleme API'sini API sürümünden 2023-04-15-previewbaşlatabilirsiniz.
{
	"kind": "EntityRecognitionResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"text": "trip",
				"category": "Event",
				"offset": 18,
				"length": 4,
				"confidenceScore": 0.74
			}, {
				"text": "Seattle",
				"category": "Location",
				"subcategory": "GPE",
				"offset": 26,
				"length": 7,
				"confidenceScore": 1.0
			}, {
				"text": "last week",
				"category": "DateTime",
				"subcategory": "DateRange",
				"offset": 34,
				"length": 9,
				"confidenceScore": 0.8
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Kaynakları temizleme

Azure AI hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Sonraki adımlar