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.

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 disebarkan, klik 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 nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk mencoba layanan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Persiapan

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.1.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 variabel key dengan kunci untuk referensi Anda dan ganti variabel endpoint dengan titik akhir untuk referensi Anda.

Penting

Pergi ke 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.

Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kode secara publik. Untuk produksi, pertimbangkan untuk menggunakan cara menyimpan dan mengakses info masuk Anda dengan aman. Misalnya, Brankas kunci Azure.

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.61,    Length: 4,      Offset: 18

        Text: Seattle,  Category: Location,     Sub-Category: GPE
                Score: 0.82,    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.

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 disebarkan, klik 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 nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk mencoba layanan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Persiapan

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.1.9</version>
    </dependency>
</dependencies>

Contoh kode

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

Penting

Pergi ke 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.

Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kode secara publik. Untuk produksi, pertimbangkan untuk menggunakan cara menyimpan dan mengakses info masuk Anda dengan aman. Misalnya, Brankas kunci Azure.

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.

Prasyarat

  • Langganan Azure - Buat langganan secara gratis
  • Versi terbaru Node.js.
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah disebarkan, klik 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 nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk mencoba layanan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Persiapan

Buat aplikasi Node.js baru

Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan arahkan ke sana.

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-text-analytics@5.1.0

Contoh kode

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

Penting

Pergi ke 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.

Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kode secara publik. Untuk produksi, pertimbangkan untuk menggunakan cara menyimpan dan mengakses info masuk Anda dengan aman. Misalnya, Brankas kunci Azure.

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';
// Authenticate the client with your key and endpoint
const textAnalyticsClient = new TextAnalyticsClient(endpoint,  new AzureKeyCredential(key));

// Example method for recognizing entities in text
async function entityRecognition(client){

    const entityInputs = [
        "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800",
        "La sede principal de Microsoft se encuentra en la ciudad de Redmond, a 21 kilómetros de Seattle."
    ];
    const entityResults = await client.recognizeEntities(entityInputs);

    entityResults.forEach(document => {
        console.log(`Document ID: ${document.id}`);
        document.entities.forEach(entity => {
            console.log(`\tName: ${entity.text} \tCategory: ${entity.category} \tSubcategory: ${entity.subCategory ? entity.subCategory : "N/A"}`);
            console.log(`\tScore: ${entity.confidenceScore}`);
        });
    });
}
entityRecognition(textAnalyticsClient);

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 (PiPy) | 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.

Prasyarat

  • Langganan Azure - Membuat langganan gratis
  • Python 3.x
  • Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah disebarkan, klik 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 nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk mencoba layanan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
  • Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).

Persiapan

Memasang pustaka klien

Setelah memasang Python, Anda dapat memasang pustaka klien dengan:

pip install azure-ai-textanalytics==5.1.0

Contoh kode

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

Penting

Pergi ke 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.

Ingatlah untuk menghapus kunci dari kode Anda setelah selesai, dan jangan pernah memposting kode secara publik. Untuk produksi, pertimbangkan untuk menggunakan cara menyimpan dan mengakses info masuk Anda dengan aman. Misalnya, Brankas kunci Azure.

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.61   Length:          4      Offset:          18

        Text:    Seattle        Category:        Location       SubCategory:     GPE
        Confidence Score:        0.82   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.

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 disebarkan, klik 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 nanti di mulai cepat.
    • Anda dapat menggunakan tingkat harga gratis (Free F0) untuk mencoba layanan, dan kemudian 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. Kunci dan titik akhir berada di halaman kunci dan titik akhir sumber daya, di bagian manajemen sumber daya. Kemudian ganti string di dalam kode berikut 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. JIka diperlukan, buat perubahan berikut dalam perintah:
    1. Ganti nilai <your-text-analytics-key-here> dengan kunci Anda.
    2. Ganti bagian pertama URL permintaan (<your-text-analytics-endpoint-here>) 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

{
	"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 ingin membersihkan dan menghapus langganan Cognitive Services, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya