Inicio rápido: Detección de entidades con nombre (NER)
Documentación de referencia | Ejemplos adicionales | Paquete (NuGet) | Código fuente de biblioteca
Use este inicio rápido para crear una aplicación de Reconocimiento de entidades con nombre (NER) con la biblioteca cliente de .NET. En el ejemplo siguiente, creará una aplicación de C# que puede identificar entidades reconocidas en el texto.
Sugerencia
Puede usar Language Studio para probar las características del servicio de lenguaje sin necesidad de escribir código.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- IDE de Visual Studio
- Una vez que tenga la suscripción de Azure, create a Language resource en Azure Portal para obtener la clave y el punto de conexión. Tras su implementación, seleccione Ir al recurso.
- Necesitará la clave y el punto de conexión del recurso que cree para conectar la aplicación a la API. En una sección posterior de este mismo inicio rápido pegará la clave y el punto de conexión en el código siguiente.
- Puede usar el plan de tarifa gratis (
Free F0
) para probar el servicio y actualizarlo más adelante a un plan de pago para producción.
- Para usar la característica Analizar, necesitará un recurso de idioma con el plan de tarifa estándar (S).
Instalación
Creación de una aplicación de .NET Core
Utilice el IDE de Visual Studio para crear una aplicación de consola de .NET Core. Así se creará un proyecto "Hola mundo" con un solo archivo de origen de C#: program.cs.
Instale la biblioteca cliente, para lo que debe hacer clic con el botón derecho en la solución en el Explorador de soluciones y seleccionar Administrar paquetes NuGet. En el administrador de paquetes que se abre, seleccione Examinar y busque Azure.AI.TextAnalytics
. Seleccione la versión 5.2.0
e Instalar. También puede usar la Consola del Administrador de paquetes.
Ejemplo de código
Copie el código siguiente en el archivo program.cs. No olvide reemplazar la variable key
por la clave del recurso y la variable endpoint
por el punto de conexión del recurso. Luego, ejecute el código.
Importante
Vaya a Azure Portal. Si el recurso de lenguaje que ha creado en la sección Requisitos previos se ha implementado correctamente, haga clic en el botón Ir al recurso en Pasos siguientes. Para encontrar la clave y el punto de conexión, vaya a la página Claves y punto de conexión del recurso, en Administración de recursos.
Importante
Recuerde quitar la clave del código cuando haya terminado y no hacerla nunca pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Consulte el artículo sobre seguridad de los servicios de Azure AI para más informació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();
}
}
}
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
Documentación de referencia | Ejemplos adicionales | Paquete (Maven) | Código fuente de biblioteca
Use este inicio rápido para crear una aplicación de Reconocimiento de entidades con nombre (NER) con la biblioteca cliente de Java. En el ejemplo siguiente, creará una aplicación de Java que puede identificar entidades reconocidas en el texto.
Sugerencia
Puede usar Language Studio para probar las características del servicio de lenguaje sin necesidad de escribir código.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Kit de desarrollo de Java (JDK), versión 8 o posterior
- Una vez que tenga la suscripción de Azure, create a Language resource en Azure Portal para obtener la clave y el punto de conexión. Tras su implementación, seleccione Ir al recurso.
- Necesitará la clave y el punto de conexión del recurso que cree para conectar la aplicación a la API. En una sección posterior de este mismo inicio rápido pegará la clave y el punto de conexión en el código siguiente.
- Puede usar el plan de tarifa gratis (
Free F0
) para probar el servicio y actualizarlo más adelante a un plan de pago para producción.
- Para usar la característica Analizar, necesitará un recurso de idioma con el plan de tarifa estándar (S).
Instalación
Incorporación de la biblioteca cliente
Cree un proyecto de Maven en el entorno de desarrollo o IDE que prefiera. Luego, agregue la siguiente dependencia al archivo pom.xml del proyecto. La sintaxis de implementación de otras herramientas de compilación se puede encontrar en línea.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
Ejemplo de código
Cree un archivo de Java llamado Example.java
. Abra el archivo y copie el código siguiente. No olvide reemplazar la variable key
por la clave del recurso y la variable endpoint
por el punto de conexión del recurso. Luego, ejecute el código.
Importante
Vaya a Azure Portal. Si el recurso de lenguaje que ha creado en la sección Requisitos previos se ha implementado correctamente, haga clic en el botón Ir al recurso en Pasos siguientes. Para encontrar la clave y el punto de conexión, vaya a la página Claves y punto de conexión del recurso, en Administración de recursos.
Importante
Recuerde quitar la clave del código cuando haya terminado y no hacerla nunca pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Consulte el artículo sobre seguridad de los servicios de Azure AI para más informació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());
}
}
}
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.
Documentación de referencia | Ejemplos adicionales | Paquete (npm) | Código fuente de biblioteca
Use este inicio rápido para crear una aplicación de Reconocimiento de entidades con nombre (NER) con la biblioteca cliente de Node.js. En el ejemplo siguiente, creará una aplicación de JavaScript que puede identificar entidades reconocidas en el texto.
Sugerencia
Puede usar Language Studio para probar las características del servicio de lenguaje sin necesidad de escribir código.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Node.js v14 LTS o posterior
- Una vez que tenga la suscripción de Azure, create a Language resource en Azure Portal para obtener la clave y el punto de conexión. Tras su implementación, seleccione Ir al recurso.
- Necesitará la clave y el punto de conexión del recurso que cree para conectar la aplicación a la API. En una sección posterior de este mismo inicio rápido pegará la clave y el punto de conexión en el código siguiente.
- Puede usar el plan de tarifa gratis (
Free F0
) para probar el servicio y actualizarlo más adelante a un plan de pago para producción.
- Para usar la característica Analizar, necesitará un recurso de idioma con el plan de tarifa estándar (S).
Instalación
Creación de una aplicación Node.js
En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.
mkdir myapp
cd myapp
Ejecute el comando npm init
para crear una aplicación de nodo con un archivo package.json
.
npm init
Instalación de la biblioteca cliente
Instale el paquete npm:
npm install @azure/ai-language-text
Ejemplo de código
Abra el archivo y copie el código siguiente. No olvide reemplazar la variable key
por la clave del recurso y la variable endpoint
por el punto de conexión del recurso. Luego, ejecute el código.
Importante
Vaya a Azure Portal. Si el recurso de lenguaje que ha creado en la sección Requisitos previos se ha implementado correctamente, haga clic en el botón Ir al recurso en Pasos siguientes. Para encontrar la clave y el punto de conexión, vaya a la página Claves y punto de conexión del recurso, en Administración de recursos.
Importante
Recuerde quitar la clave del código cuando haya terminado y no hacerla nunca pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Consulte el artículo sobre seguridad de los servicios de Azure AI para más informació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);
});
Resultados
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
Documentación de referencia | Ejemplos adicionales | Paquete (PyPi) | Código fuente de biblioteca
Use este inicio rápido para crear una aplicación de Reconocimiento de entidades con nombre (NER) con la biblioteca cliente de Python. En el ejemplo siguiente, creará una aplicación de Python que puede identificar entidades reconocidas en el texto.
Sugerencia
Puede usar Language Studio para probar las características del servicio de lenguaje sin necesidad de escribir código.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Python 3.8 o versiones posteriores
- Una vez que tenga la suscripción de Azure, create a Language resource en Azure Portal para obtener la clave y el punto de conexión. Tras su implementación, seleccione Ir al recurso.
- Necesitará la clave y el punto de conexión del recurso que cree para conectar la aplicación a la API. En una sección posterior de este mismo inicio rápido pegará la clave y el punto de conexión en el código siguiente.
- Puede usar el plan de tarifa gratis (
Free F0
) para probar el servicio y actualizarlo más adelante a un plan de pago para producción.
- Para usar la característica Analizar, necesitará un recurso de idioma con el plan de tarifa estándar (S).
Instalación
Instalación de la biblioteca cliente
Después de instalar Python, puede instalar la biblioteca cliente con:
pip install azure-ai-textanalytics==5.2.0
Ejemplo de código
Cree un nuevo archivo de Python y copie el código siguiente. No olvide reemplazar la variable key
por la clave del recurso y la variable endpoint
por el punto de conexión del recurso. Luego, ejecute el código.
Importante
Vaya a Azure Portal. Si el recurso de lenguaje que ha creado en la sección Requisitos previos se ha implementado correctamente, haga clic en el botón Ir al recurso en Pasos siguientes. Para encontrar la clave y el punto de conexión, vaya a la página Claves y punto de conexión del recurso, en Administración de recursos.
Importante
Recuerde quitar la clave del código cuando haya terminado y no hacerla nunca pública. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas, como Azure Key Vault. Consulte el artículo sobre seguridad de los servicios de Azure AI para más informació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)
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
Use este inicio rápido para enviar solicitudes de Reconocimiento de entidades con nombre (NER) mediante la API REST. En el ejemplo siguiente, usará cURL para identificar entidades reconocidas en el texto.
Sugerencia
Puede usar Language Studio para probar las características del servicio de lenguaje sin necesidad de escribir código.
Prerrequisitos
- La versión actual de cURL.
- Una vez que tenga la suscripción de Azure, create a Language resource en Azure Portal para obtener la clave y el punto de conexión. Tras su implementación, seleccione Ir al recurso.
- Necesita la clave y el punto de conexión del recurso que cree para conectar la aplicación a la API. En una sección posterior de este mismo inicio rápido, pegue la clave y el punto de conexión en el código.
- Puede usar el plan de tarifa gratis (
Free F0
) para probar el servicio y actualizarlo más adelante a un plan de pago para producción.
Nota
- En los siguientes ejemplos de BASH se usa el carácter de continuación de línea
\
. Si la consola o el terminal usan un carácter de continuación de línea diferente, use ese carácter. - Puede encontrar ejemplos específicos del lenguaje en GitHub.
- Vaya a Azure Portal y busque la clave y el punto de conexión del recurso del idioma que creó en los requisitos previos. Los encontrará en la página de clave y punto de conexión del recurso, en Administración de recursos. A continuación, reemplace las cadenas del código por su clave y punto de conexión. Para llamar a la API, necesita la siguiente información:
parámetro | Descripción |
---|---|
-X POST <endpoint> |
Especifica el punto de conexión para acceder a la API. |
-H Content-Type: application/json |
Tipo de contenido para enviar datos JSON. |
-H "Ocp-Apim-Subscription-Key:<key> |
Especifica la clave para acceder a la API. |
-d <documents> |
JSON que contiene los documentos que desea enviar. |
Los siguientes comandos de cURL se ejecutan desde un shell de BASH. Edite estos comandos con sus propios valores de nombre de recurso, clave de recurso y JSON.
Extracción de entidades con nombre (NER)
- Copie el comando en un editor de texto.
- Realice los siguientes cambios en el comando donde sea necesario:
- Reemplace el valor
<your-language-resource-key>
por su clave. - Reemplace la primera parte de la dirección URL de la solicitud (
<your-language-resource-endpoint>
) por la dirección URL de su punto de conexión.
- Reemplace el valor
- Abra una ventana de símbolo del sistema.
- Pegue el comando del editor de texto en la ventana del símbolo del sistema y después ejecute el comando.
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."
}
]
}
}
'
Respuesta JSON
Nota
- La API disponible con carácter general y la API de versión preliminar actual tienen diferentes formatos de respuesta. Consulte el artículo de asignación de API de versión preliminar disponible con carácter general.
- La API en versión preliminar está disponible desde la versión
2023-04-15-preview
de API.
{
"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"
}
}
Limpieza de recursos
Si quiere limpiar y eliminar una suscripción de servicios de Azure AI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.