快速入门:使用关键短语提取客户端库和 REST API
参考文档 | 更多示例 | 包 (NuGet) | 库源代码
借助本快速入门,使用 .NET 客户端库创建关键短语提取应用程序。 在以下示例中,你将创建可标识在文本中找到的关键词和短语的 C# 应用程序。
- Azure 订阅 - 创建试用订阅
- Visual Studio IDE
若要使用下面的代码示例,需要部署 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 服务的请求进行身份验证。
export LANGUAGE_KEY=your-key
export LANGUAGE_ENDPOINT=your-endpoint
添加环境变量后,请从控制台窗口运行 source ~/.bashrc
,使更改生效。
使用 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 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 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 服务的请求进行身份验证。
export LANGUAGE_KEY=your-key
export LANGUAGE_ENDPOINT=your-endpoint
添加环境变量后,请从控制台窗口运行 source ~/.bashrc
,使更改生效。
在首选 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 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 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 服务的请求进行身份验证。
export LANGUAGE_KEY=your-key
export LANGUAGE_ENDPOINT=your-endpoint
添加环境变量后,请从控制台窗口运行 source ~/.bashrc
,使更改生效。
在控制台窗口(例如 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 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 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 服务的请求进行身份验证。
export LANGUAGE_KEY=your-key
export LANGUAGE_ENDPOINT=your-endpoint
添加环境变量后,请从控制台窗口运行 source ~/.bashrc
,使更改生效。
在安装 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 资源。 此资源将包含一个密钥和终结点,用于对发送到语言服务的 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 服务的请求进行身份验证。
export LANGUAGE_KEY=your-key
export LANGUAGE_ENDPOINT=your-endpoint
添加环境变量后,请从控制台窗口运行 source ~/.bashrc
,使更改生效。
在代码编辑器中,创建一个名为 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 请求。 将命令复制到终端并运行。
参数 (parameter) | 说明 |
---|---|
-X POST <endpoint> |
指定用于访问 API 的终结点。 |
-H Content-Type: application/json |
用于发送 JSON 数据的内容类型。 |
-H "Ocp-Apim-Subscription-Key:<key> |
指定用于访问 API 的密钥。 |
-d <documents> |
包含要发送的文档的 JSON。 |
使用以下命令通过所使用的程序发送 API 请求。 将 /home/mydir/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 "@/home/mydir/test_kpe_payload.json"
{
"kind": "KeyPhraseExtractionResults",
"results": {
"documents": [{
"id": "1",
"keyPhrases": ["modern medical office", "Dr. Smith", "great staff"],
"warnings": []
}],
"errors": [],
"modelVersion": "2021-06-01"
}
}
如果想要清理并移除 Azure AI 服务订阅,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。