Mulai Cepat: Mendeteksi entitas karakter (NER)

Dokumentasi referensi | Sampel tambahan | Paket (NuGet) | Kode sumber pustaka

Gunakan mulai cepat ini untuk membuat aplikasi Named Entity Recognition (NER) dengan pustaka klien untuk .NET. Dalam contoh berikut, Anda akan membuat aplikasi C# yang dapat mengidentifikasi entitas yang dikenali dalam teks.

Tip

Anda dapat menggunakan Studio Bahasa untuk mencoba fitur layanan Bahasa tanpa perlu menulis kode.

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • IDE Visual Studio
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari referensi yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Menyiapkan

Buat aplikasi .NET Core baru

Menggunakan Ide Visual Studio, buat aplikasi konsol .NET Core baru. Ini akan membuat proyek "Halo Dunia" dengan satu file sumber C#: program.cs.

Pasang pustaka klien dengan mengeklik kanan solusi proyek di Penjelajah Solusi, lalu pilih Kelola Paket NuGet. Di manajer paket yang terbuka pilih Telusuri dan cari Azure.AI.TextAnalytics. Pilih versi 5.2.0, lalu Pasang. Anda juga dapat menggunakan Package Manager Console.

Contoh kode

Salin kode berikut ke dalam file program.cs Anda. Jangan lupa untuk mengganti key variabel dengan kunci untuk referensi Anda, dan ganti endpoint variabel dengan titik akhir untuk referensi Anda. Kemudian jalankan kode.

Penting

Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

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();
        }

    }
}

Output

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

Dokumentasi referensi | Sampel tambahan | Paket (Maven) | Kode sumber pustaka

Gunakan mulai cepat ini untuk membuat aplikasi Named Entity Recognition (NER) dengan pustaka klien untuk Java. Dalam contoh berikut, Anda akan membuat aplikasi Java yang dapat mengidentifikasi entitas yang dikenali dalam teks.

Tip

Anda dapat menggunakan Studio Bahasa untuk mencoba fitur layanan Bahasa tanpa perlu menulis kode.

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Java Development Kit (JDK) versi 8 atau lebih tinggi
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari referensi yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Menyiapkan

Tambahkan pustaka klien

Buat proyek Maven di IDE atau lingkungan pengembangan pilihan Anda. Kemudian, tambahkan dependensi berikut ke file pom.xml proyek Anda. Anda dapat menemukan sintaks implementasi untuk alat build online lainnya.

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

Contoh kode

Buat file Java bernama Example.java. Buka file dan salin kode di bawah ini. Jangan lupa untuk mengganti key variabel dengan kunci untuk referensi Anda, dan ganti endpoint variabel dengan titik akhir untuk referensi Anda. Kemudian jalankan kode.

Penting

Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

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());
        }
    }
}

Output

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.

Dokumentasi referensi | Sampel tambahan | Paket (npm) | Kode sumber pustaka

Gunakan mulai cepat ini untuk membuat aplikasi Named Entity Recognition (NER) dengan pustaka klien untuk Node.js. Dalam contoh berikut, Anda akan membuat aplikasi JavaScript yang dapat mengidentifikasi entitas yang dikenali dalam teks.

Tip

Anda dapat menggunakan Studio Bahasa untuk mencoba fitur layanan Bahasa tanpa perlu menulis kode.

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Node.js v14 LTS atau yang lebih baru
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari referensi yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Menyiapkan

Membuat aplikasi Node.js baru

Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut.

mkdir myapp 

cd myapp

Jalankan perintah npm init untuk membuat aplikasi node dengan file package.json.

npm init

Memasang pustaka klien

Instal paket npm:

npm install @azure/ai-language-text

Contoh kode

Buka file dan salin kode di bawah ini. Jangan lupa untuk mengganti key variabel dengan kunci untuk referensi Anda, dan ganti endpoint variabel dengan titik akhir untuk referensi Anda. Kemudian jalankan kode.

Penting

Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

"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);
});

Output

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

Dokumentasi referensi | Sampel tambahan | Paket (PyPi) | Kode sumber pustaka

Gunakan mulai cepat ini untuk membuat aplikasi Named Entity Recognition (NER) dengan pustaka klien untuk Python. Dalam contoh berikut, Anda akan membuat aplikasi Python yang dapat mengidentifikasi entitas yang dikenali dalam teks.

Tip

Anda dapat menggunakan Studio Bahasa untuk mencoba fitur layanan Bahasa tanpa perlu menulis kode.

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Python 3.8 atau yang lebih baru
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda akan memerlukan kunci dan titik akhir dari referensi yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Menyiapkan

Memasang pustaka klien

Setelah memasang Python, Anda dapat memasang pustaka klien dengan:

pip install azure-ai-textanalytics==5.2.0

Contoh kode

Buat file Python baru dan salin kode di bawah ini. Jangan lupa untuk mengganti key variabel dengan kunci untuk referensi Anda, dan ganti endpoint variabel dengan titik akhir untuk referensi Anda. Kemudian jalankan kode.

Penting

Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.

Penting

Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.

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)

Output

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

Dokumentasi rujukan

Gunakan mulai cepat ini untuk mengirim permintaan Named Entity Recognition (NER) menggunakan REST API. Dalam contoh berikut, Anda akan menggunakan cURL untuk mengidentifikasi entitas yang dikenali dalam teks.

Tip

Anda dapat menggunakan Studio Bahasa untuk mencoba fitur layanan Bahasa tanpa perlu menulis kode.

Prasyarat

  • Versi cURL saat ini.
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
    • Anda memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menghubungkan aplikasi Anda ke API. Tempelkan kunci dan titik akhir Anda ke dalam kode nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.

Catatan

  • Contoh BASH berikut menggunakan \ karakter kelanjutan baris. Jika konsol atau terminal Anda menggunakan karakter kelanjutan baris yang berbeda, silakan gunakan karakter tersebut.
  • Anda dapat menemukan sampel spesifik bahasa di GitHub.
  • Buka portal Microsoft Azure, lalu cari kunci dan titik akhir untuk Sumber daya bahasa yang Anda buat di prasyarat. Mereka terletak di halaman kunci dan titik akhir sumber daya, di bawah manajemen sumber daya. Kemudian ganti string dalam kode dengan kunci dan titik akhir Anda. Untuk memanggil API, Anda memerlukan informasi berikut:
parameter Deskripsi
-X POST <endpoint> Menentukan titik akhir Anda untuk mengakses API.
-H Content-Type: application/json Jenis konten untuk mengirim data JSON.
-H "Ocp-Apim-Subscription-Key:<key> Menentukan kunci untuk mengakses API.
-d <documents> JSON berisi dokumen yang ingin Anda kirim.

Perintah cURL berikut dijalankan dari shell BASH. Edit perintah berikut ini dengan nama sumber daya, kunci sumber daya, dan nilai JSON milik Anda.

Named Entity Extraction (NER)

  1. Salin perintah ke editor teks.
  2. Buat perubahan berikut dalam perintah jika diperlukan:
    1. Ganti nilai <your-language-resource-key> dengan kunci Anda.
    2. Ganti bagian pertama URL permintaan <your-language-resource-endpoint> dengan URL titik akhir Anda sendiri.
  3. Buka jendela wantian perintah.
  4. Tempelkan perintah dari editor teks ke jendela perintah, lalu jalankan perintah.
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."
            }
        ]
    }
}
'

Respons JSON

Catatan

  • API yang Tersedia Secara Umum dan API Pratinjau saat ini memiliki format respons yang berbeda, silakan lihat artikel pemetaan api pratinjau yang tersedia secara umum.
  • API pratinjau tersedia mulai dari versi 2023-04-15-previewAPI .
{
	"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"
	}
}

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya