快速入门:使用关键短语提取客户端库和 REST API
参考文档 | 更多示例 | 包 (NuGet) | 库源代码
借助本快速入门,使用 .NET 客户端库创建关键短语提取应用程序。 在以下示例中,你将创建可标识在文本中找到的关键词和短语的 C# 应用程序。
先决条件
- Azure 订阅 - 创建试用订阅
- Visual Studio IDE
设置
创建 Azure 资源
若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。
使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。
在显示的“选择其他功能”屏幕上,选择“继续创建资源”。
在“创建语言”屏幕中,提供以下信息:
详细信息 说明 订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。 资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。 区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“中国东部 2”。 名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。 定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。 确保选中“负责任 AI 通知”复选框。
在页面底部选择“查看 + 创建” 。
在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。
获取密钥和终结点
然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。
创建环境变量
应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。
若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。
- 若要设置
LANGUAGE_KEY
环境变量,请将your-key
替换为资源的其中一个密钥。 - 若要设置
LANGUAGE_ENDPOINT
环境变量,请将your-endpoint
替换为资源的终结点。
重要
如果使用 API 密钥,请将其安全地存储在某个其他位置,例如 Azure Key Vault 中。 请不要直接在代码中包含 API 密钥,并且切勿公开发布该密钥。
有关 Azure AI 服务安全性的详细信息,请参阅对 Azure AI 服务的请求进行身份验证。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
创建新的 .NET Core 应用程序
使用 Visual Studio IDE 创建新的 .NET Core 控制台应用。 这会创建包含单个 C# 源文件的“Hello World”项目:program.cs。
右键单击解决方案资源管理器中的解决方案,然后选择“管理 NuGet 包”,以便安装客户端库。 在打开的包管理器中选择“浏览”,搜索 Azure.AI.TextAnalytics
。 选择版本 5.2.0
,然后选择“安装”。 也可使用包管理器控制台。
代码示例
将以下代码复制到 program.cs 文件。 然后运行代码。
using Azure;
using System;
using Azure.AI.TextAnalytics;
namespace KeyPhraseExtractionExample
{
class Program
{
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");
private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
private static readonly Uri endpoint = new Uri(languageEndpoint);
// Example method for extracting key phrases from text
static void KeyPhraseExtractionExample(TextAnalyticsClient client)
{
var response = client.ExtractKeyPhrases(@"Dr. Smith has a very modern medical office, and she has great staff.");
// Printing key phrases
Console.WriteLine("Key phrases:");
foreach (string keyphrase in response.Value)
{
Console.WriteLine($"\t{keyphrase}");
}
}
static void Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
KeyPhraseExtractionExample(client);
Console.Write("Press any key to exit.");
Console.ReadKey();
}
}
}
输出
Key phrases:
modern medical office
Dr. Smith
great staff
参考文档 | 更多示例 | 包 (Maven) | 库源代码
借助本快速入门,使用 Java 客户端库创建关键短语提取应用程序。 在以下示例中,你将创建可标识在文本中找到的关键词和短语的 Java 应用程序。
先决条件
- Azure 订阅 - 创建试用订阅
- Java 开发工具包 (JDK) 版本 8 或更高版本
设置
创建 Azure 资源
若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。
使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。
在显示的“选择其他功能”屏幕上,选择“继续创建资源”。
在“创建语言”屏幕中,提供以下信息:
详细信息 说明 订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。 资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。 区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“中国东部 2”。 名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。 定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。 确保选中“负责任 AI 通知”复选框。
在页面底部选择“查看 + 创建” 。
在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。
获取密钥和终结点
然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。
创建环境变量
应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。
若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。
- 若要设置
LANGUAGE_KEY
环境变量,请将your-key
替换为资源的其中一个密钥。 - 若要设置
LANGUAGE_ENDPOINT
环境变量,请将your-endpoint
替换为资源的终结点。
重要
如果使用 API 密钥,请将其安全地存储在某个其他位置,例如 Azure Key Vault 中。 请不要直接在代码中包含 API 密钥,并且切勿公开发布该密钥。
有关 Azure AI 服务安全性的详细信息,请参阅对 Azure AI 服务的请求进行身份验证。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
添加客户端库
在首选 IDE 或开发环境中创建 Maven 项目。 然后在项目的 pom.xml 文件中,添加以下依赖项。 可联机找到用于其他生成工具的实现语法。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
代码示例
创建名为 Example.java
的 Java 文件。 打开该文件,并复制以下代码。 然后运行代码。
import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;
public class Example {
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
private static String languageKey = System.getenv("LANGUAGE_KEY");
private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");
public static void main(String[] args) {
TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
extractKeyPhrasesExample(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 extracting key phrases from text
static void extractKeyPhrasesExample(TextAnalyticsClient client)
{
// The text to be analyzed
String text = "Dr. Smith has a very modern medical office, and she has great staff.";
System.out.printf("Recognized phrases: %n");
for (String keyPhrase : client.extractKeyPhrases(text)) {
System.out.printf("%s%n", keyPhrase);
}
}
}
输出
Recognized phrases:
modern medical office
Dr. Smith
great staff
借助本快速入门,使用 Node.js 客户端库创建关键短语提取应用程序。 在以下示例中,你将创建可标识在文本中找到的关键词和短语的 JavaScript 应用程序。
先决条件
设置
创建 Azure 资源
若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。
使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。
在显示的“选择其他功能”屏幕上,选择“继续创建资源”。
在“创建语言”屏幕中,提供以下信息:
详细信息 说明 订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。 资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。 区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“中国东部 2”。 名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。 定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。 确保选中“负责任 AI 通知”复选框。
在页面底部选择“查看 + 创建” 。
在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。
获取密钥和终结点
然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。
创建环境变量
应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。
若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。
- 若要设置
LANGUAGE_KEY
环境变量,请将your-key
替换为资源的其中一个密钥。 - 若要设置
LANGUAGE_ENDPOINT
环境变量,请将your-endpoint
替换为资源的终结点。
重要
如果使用 API 密钥,请将其安全地存储在某个其他位置,例如 Azure Key Vault 中。 请不要直接在代码中包含 API 密钥,并且切勿公开发布该密钥。
有关 Azure AI 服务安全性的详细信息,请参阅对 Azure AI 服务的请求进行身份验证。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
创建新的 Node.js 应用程序
在控制台窗口(例如 cmd、PowerShell 或 Bash)中,为应用创建一个新目录并导航到该目录。
mkdir myapp
cd myapp
运行 npm init
命令以使用 package.json
文件创建一个 node 应用程序。
npm init
安装客户端库
安装 npm 包:
npm install @azure/ai-language-text
代码示例
打开该文件,并复制以下代码。 然后运行代码。
"use strict";
const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;
//example sentence for performing key phrase extraction
const documents = ["Dr. Smith has a very modern medical office, and she has great staff."];
//example of how to use the client to perform entity linking on a document
async function main() {
console.log("== key phrase extraction sample ==");
const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
const results = await client.analyze("KeyPhraseExtraction", documents);
for (const result of results) {
console.log(`- Document ${result.id}`);
if (!result.error) {
console.log("\tKey phrases:");
for (const phrase of result.keyPhrases) {
console.log(`\t- ${phrase}`);
}
} else {
console.error(" Error:", result.error);
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
输出
== key phrase extraction sample ==
- Document 0
Key phrases:
- modern medical office
- Dr. Smith
- great staff
借助本快速入门,使用 Python 客户端库创建关键短语提取应用程序。 在以下示例中,你将创建可标识在文本中找到的关键词和短语的 Python 应用程序。
先决条件
- Azure 订阅 - 创建试用订阅
- Python 3.8 或更高版本
设置
创建 Azure 资源
若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。
使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。
在显示的“选择其他功能”屏幕上,选择“继续创建资源”。
在“创建语言”屏幕中,提供以下信息:
详细信息 说明 订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。 资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。 区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“中国东部 2”。 名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。 定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。 确保选中“负责任 AI 通知”复选框。
在页面底部选择“查看 + 创建” 。
在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。
获取密钥和终结点
然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。
创建环境变量
应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。
若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。
- 若要设置
LANGUAGE_KEY
环境变量,请将your-key
替换为资源的其中一个密钥。 - 若要设置
LANGUAGE_ENDPOINT
环境变量,请将your-endpoint
替换为资源的终结点。
重要
如果使用 API 密钥,请将其安全地存储在某个其他位置,例如 Azure Key Vault 中。 请不要直接在代码中包含 API 密钥,并且切勿公开发布该密钥。
有关 Azure AI 服务安全性的详细信息,请参阅对 Azure AI 服务的请求进行身份验证。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
安装客户端库
在安装 Python 后,可以通过以下命令安装客户端库:
pip install azure-ai-textanalytics==5.2.0
代码示例
创建新的 Python 文件,并复制以下代码。 然后运行代码。
# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')
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(language_key)
text_analytics_client = TextAnalyticsClient(
endpoint=language_endpoint,
credential=ta_credential)
return text_analytics_client
client = authenticate_client()
def key_phrase_extraction_example(client):
try:
documents = ["Dr. Smith has a very modern medical office, and she has great staff."]
response = client.extract_key_phrases(documents = documents)[0]
if not response.is_error:
print("\tKey Phrases:")
for phrase in response.key_phrases:
print("\t\t", phrase)
else:
print(response.id, response.error)
except Exception as err:
print("Encountered exception. {}".format(err))
key_phrase_extraction_example(client)
输出
Key Phrases:
modern medical office
Dr. Smith
great staff
借助本快速入门,使用 REST API 发送关键短语提取请求。 在以下示例中,你将使用 cURL 来标识文本中找到的关键词和短语。
先决条件
- Azure 订阅 - 创建试用订阅
设置
创建 Azure 资源
若要使用下面的代码示例,需要部署 Azure 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 API 调用进行身份验证。
使用以下链接通过 Azure 门户创建语言资源。 需要使用 Azure 订阅登录。
在显示的“选择其他功能”屏幕上,选择“继续创建资源”。
在“创建语言”屏幕中,提供以下信息:
详细信息 说明 订阅 资源将与之关联的订阅帐户。 从下拉菜单选择 Azure 订阅。 资源组 资源组是存储所创建资源的容器。 选择“新建”来创建一个新的资源组。 区域 语言资源的位置。 不同区域可能会导致延迟,具体取决于你的物理位置,但不会影响资源的运行时可用性。 对于本快速入门,请选择你附近的可用区域,或选择“中国东部 2”。 名称 语言资源的名称。 此名称还将用于创建应用程序用于发送 API 请求的终结点 URL。 定价层 语言资源的定价层。 可以使用免费 F0 层试用该服务,然后再升级到付费层进行生产。 确保选中“负责任 AI 通知”复选框。
在页面底部选择“查看 + 创建” 。
在显示的屏幕中,确保验证已通过,并且已正确输入信息。 然后选择“创建”。
获取密钥和终结点
然后需要从资源获取密钥和终结点,以便将应用程序连接到 API。 稍后需要在本快速入门中将密钥和终结点粘贴到代码中。
创建环境变量
应用程序必须经过身份验证才能发送 API 请求。 对于生产,请使用安全的方式存储和访问凭据。 在此示例中,你将凭据写入运行应用程序的本地计算机上的环境变量。
若要为语言资源密钥设置环境变量,请打开控制台窗口,并按照操作系统和开发环境的说明进行操作。
- 若要设置
LANGUAGE_KEY
环境变量,请将your-key
替换为资源的其中一个密钥。 - 若要设置
LANGUAGE_ENDPOINT
环境变量,请将your-endpoint
替换为资源的终结点。
重要
如果使用 API 密钥,请将其安全地存储在某个其他位置,例如 Azure Key Vault 中。 请不要直接在代码中包含 API 密钥,并且切勿公开发布该密钥。
有关 Azure AI 服务安全性的详细信息,请参阅对 Azure AI 服务的请求进行身份验证。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果只需要访问当前正在运行的控制台中的环境变量,则可以使用 set
(而不是 setx
)设置环境变量。
添加环境变量后,可能需要重启任何正在运行的、需要读取环境变量的程序(包括控制台窗口)。 例如,如果使用 Visual Studio 作为编辑器,请在运行示例之前重启 Visual Studio。
使用示例请求正文创建 JSON 文件
在代码编辑器中,创建一个名为 test_kpe_payload.json
的新文件并复制以下 JSON 示例。 在下一步中,此示例请求将发送到 API。
{
"kind": "KeyPhraseExtraction",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language":"en",
"text": "Dr. Smith has a very modern medical office, and she has great staff."
}
]
}
}
将 test_kpe_payload.json
保存在计算机上的某个位置。 例如,桌面。
发送关键短语提取 API 请求
使用以下命令通过所使用的程序发送 API 请求。 将命令复制到终端并运行。
参数 (parameter) | 说明 |
---|---|
-X POST <endpoint> |
指定用于访问 API 的终结点。 |
-H Content-Type: application/json |
用于发送 JSON 数据的内容类型。 |
-H "Ocp-Apim-Subscription-Key:<key> |
指定用于访问 API 的密钥。 |
-d <documents> |
包含要发送的文档的 JSON。 |
将 C:\Users\<myaccount>\Desktop\test_kpe_payload.json
替换为在上一步中创建的示例 JSON 请求文件的位置。
命令提示符
curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2022-05-01" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_kpe_payload.json"
PowerShell
curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2022-05-01 `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_kpe_payload.json"
JSON 响应
{
"kind": "KeyPhraseExtractionResults",
"results": {
"documents": [{
"id": "1",
"keyPhrases": ["modern medical office", "Dr. Smith", "great staff"],
"warnings": []
}],
"errors": [],
"modelVersion": "2021-06-01"
}
}
清理资源
如果想要清理并移除 Azure AI 服务订阅,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。