本文包含健康文字分析的快速入門指南,可協助使用支援的用戶端程式庫、C#、Java、NodeJS 和 Python 以及 REST API。
提示
你可以用 Microsoft Foundry 嘗試摘要,而不需要寫程式碼。
參考文件 | 更多樣本 | 套件 (NuGet) | 程式庫原始程式碼
使用此快速入門,透過 .NET 用戶端程式庫來建立健康應用程式的文字分析。 在下列範例中,您會建立 C# 應用程式,以識別出現在文字中的醫療 實體、關係和 斷言。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Visual Studio IDE
- 當你擁有 Azure 訂閱後, 建立一個 Foundry 資源。
- 您需要來自所建立資源的金鑰與端點以將應用程式連線至該 API。 您稍後會在快速入門中將金鑰和端點貼到程式碼中。
- 您可以使用免費定價層 (
Free F0) 來試用服務 (提供 5,000 筆文字記錄 - 每個文字記錄 1,000 個字元),並稍後升級至Standard S生產環境的定價層。 您也可以從Standard S定價層開始,在收費之前免費接收相同的初始配額 (5000 筆文字記錄)。 欲了解更多價格資訊,請造訪 Language Pricing。
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY環境變數,請將your-key取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT環境變數,請將your-endpoint取代為您資源的端點。
重要
我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。
請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請將密鑰安全地儲存在 Azure 金鑰保存庫、定期輪替密鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱搭配 Azure 金鑰保存庫 的 API 金鑰。
如需 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 檔案中。 然後執行程式碼。
重要
前往 Azure 入口網站。 如果您在前置條件區塊建立的 Azure 語言資源成功部署,請點擊「下一步步驟」下的「前往資源」按鈕。 您可以在 [資源管理] 底下瀏覽資源的 [金鑰和端點] 頁面,以找到金鑰和端點。
重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 更多資訊請參閱 Foundry Tools 安全性 文章。
using Azure;
using System;
using Azure.AI.TextAnalytics;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Example
{
class Program
{
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
private static readonly AzureKeyCredential credentials = new (Environment.GetEnvironmentVariable("LANGUAGE_KEY"));
private static readonly Uri endpoint = new (Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT"));
// Example method for extracting information from healthcare-related text
static async Task healthExample(TextAnalyticsClient client)
{
string document = "Prescribed 100mg ibuprofen, taken twice daily.";
List<string> batchInput = new List<string>()
{
document
};
AnalyzeHealthcareEntitiesOperation healthOperation = await client.StartAnalyzeHealthcareEntitiesAsync(batchInput);
await healthOperation.WaitForCompletionAsync();
await foreach (AnalyzeHealthcareEntitiesResultCollection documentsInPage in healthOperation.Value)
{
Console.WriteLine($"Results of Azure Text Analytics for health async model, version: \"{documentsInPage.ModelVersion}\"");
Console.WriteLine("");
foreach (AnalyzeHealthcareEntitiesResult entitiesInDoc in documentsInPage)
{
if (!entitiesInDoc.HasError)
{
foreach (var entity in entitiesInDoc.Entities)
{
// view recognized healthcare entities
Console.WriteLine($" Entity: {entity.Text}");
Console.WriteLine($" Category: {entity.Category}");
Console.WriteLine($" Offset: {entity.Offset}");
Console.WriteLine($" Length: {entity.Length}");
Console.WriteLine($" NormalizedText: {entity.NormalizedText}");
}
Console.WriteLine($" Found {entitiesInDoc.EntityRelations.Count} relations in the current document:");
Console.WriteLine("");
// view recognized healthcare relations
foreach (HealthcareEntityRelation relations in entitiesInDoc.EntityRelations)
{
Console.WriteLine($" Relation: {relations.RelationType}");
Console.WriteLine($" For this relation there are {relations.Roles.Count} roles");
// view relation roles
foreach (HealthcareEntityRelationRole role in relations.Roles)
{
Console.WriteLine($" Role Name: {role.Name}");
Console.WriteLine($" Associated Entity Text: {role.Entity.Text}");
Console.WriteLine($" Associated Entity Category: {role.Entity.Category}");
Console.WriteLine("");
}
Console.WriteLine("");
}
}
else
{
Console.WriteLine(" Error!");
Console.WriteLine($" Document error code: {entitiesInDoc.Error.ErrorCode}.");
Console.WriteLine($" Message: {entitiesInDoc.Error.Message}");
}
Console.WriteLine("");
}
}
}
static async Task Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
await healthExample(client);
}
}
}
輸出
Results of Azure Text Analytics for health async model, version: "2022-03-01"
Entity: 100mg
Category: Dosage
Offset: 11
Length: 5
NormalizedText:
Entity: ibuprofen
Category: MedicationName
Offset: 17
Length: 9
NormalizedText: ibuprofen
Entity: twice daily
Category: Frequency
Offset: 34
Length: 11
NormalizedText:
Found 2 relations in the current document:
Relation: DosageOfMedication
For this relation there are 2 roles
Role Name: Dosage
Associated Entity Text: 100mg
Associated Entity Category: Dosage
Role Name: Medication
Associated Entity Text: ibuprofen
Associated Entity Category: MedicationName
Relation: FrequencyOfMedication
For this relation there are 2 roles
Role Name: Medication
Associated Entity Text: ibuprofen
Associated Entity Category: MedicationName
Role Name: Frequency
Associated Entity Text: twice daily
Associated Entity Category: Frequency
提示
快速醫療互通資源(FHIR)結構可透過 Azure Language REST API 取得。 目前不支援用戶端程式庫。 深入了解如何在 API 呼叫中使用 FHIR 結構。
參考文件 | 更多樣本 | 套件 (Maven) | 程式庫原始程式碼
使用此快速入門,透過適用於 Java 的用戶端程式庫來建立「Text Analytics for health」應用程式。 在下列範例中,您會建立 Java 應用程式,以識別出現在文字中的醫療 實體、關聯,以及 斷言。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Java 開發套件 (JDK) 含第 8 版或更新版本
- 當你擁有 Azure 訂閱後, 建立一個 Foundry 資源。
- 您需要來自所建立資源的金鑰與端點以將應用程式連線至該 API。 您稍後會在快速入門中將金鑰和端點貼到程式碼中。
- 您可以使用免費定價層 (
Free F0) 來試用服務 (提供 5,000 筆文字記錄 - 每個文字記錄 1,000 個字元),並稍後升級至Standard S生產環境的定價層。 您也可以選擇Standard S定價層,這樣在開始收費之前,您可以免費獲得相同的初始配額(5,000 筆文字記錄)。 欲了解更多價格資訊,請造訪 Language Pricing。
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY環境變數,請將your-key取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT環境變數,請將your-endpoint取代為您資源的端點。
重要
我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。
請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請將密鑰安全地儲存在 Azure 金鑰保存庫、定期輪替密鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱搭配 Azure 金鑰保存庫 的 API 金鑰。
如需 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>
程式碼範例
建立名為 EntityLinking.java 的 Java 檔案。 開啟檔案,並複製下列程式碼。 然後執行程式碼。
重要
前往 Azure 入口網站。 如果您在前置條件區塊建立的 Azure 語言資源成功部署,請點擊「下一步步驟」下的「前往資源」按鈕。 您可以在 [資源管理] 底下瀏覽資源的 [金鑰和端點] 頁面,以找到金鑰和端點。
重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 更多資訊請參閱 Foundry Tools 安全性 文章。
import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;
import java.util.List;
import java.util.Arrays;
import com.azure.core.util.Context;
import com.azure.core.util.polling.SyncPoller;
import com.azure.ai.textanalytics.util.*;
public class Example {
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
private static String KEY = System.getenv("LANGUAGE_KEY");
private static String ENDPOINT = System.getenv("LANGUAGE_ENDPOINT");
public static void main(String[] args) {
TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
healthExample(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 information from healthcare-related text
static void healthExample(TextAnalyticsClient client){
List<TextDocumentInput> documents = Arrays.asList(
new TextDocumentInput("0",
"Prescribed 100mg ibuprofen, taken twice daily."));
AnalyzeHealthcareEntitiesOptions options = new AnalyzeHealthcareEntitiesOptions().setIncludeStatistics(true);
SyncPoller<AnalyzeHealthcareEntitiesOperationDetail, AnalyzeHealthcareEntitiesPagedIterable>
syncPoller = client.beginAnalyzeHealthcareEntities(documents, options, Context.NONE);
System.out.printf("Poller status: %s.%n", syncPoller.poll().getStatus());
syncPoller.waitForCompletion();
// Task operation statistics
AnalyzeHealthcareEntitiesOperationDetail operationResult = syncPoller.poll().getValue();
System.out.printf("Operation created time: %s, expiration time: %s.%n",
operationResult.getCreatedAt(), operationResult.getExpiresAt());
System.out.printf("Poller status: %s.%n", syncPoller.poll().getStatus());
for (AnalyzeHealthcareEntitiesResultCollection resultCollection : syncPoller.getFinalResult()) {
// Model version
System.out.printf(
"Results of Azure Text Analytics for health entities\" Model, version: %s%n",
resultCollection.getModelVersion());
for (AnalyzeHealthcareEntitiesResult healthcareEntitiesResult : resultCollection) {
System.out.println("Document ID = " + healthcareEntitiesResult.getId());
System.out.println("Document entities: ");
// Recognized healthcare entities
for (HealthcareEntity entity : healthcareEntitiesResult.getEntities()) {
System.out.printf(
"\tText: %s, normalized name: %s, category: %s, subcategory: %s, confidence score: %f.%n",
entity.getText(), entity.getNormalizedText(), entity.getCategory(),
entity.getSubcategory(), entity.getConfidenceScore());
}
// Recognized healthcare entity relation groups
for (HealthcareEntityRelation entityRelation : healthcareEntitiesResult.getEntityRelations()) {
System.out.printf("Relation type: %s.%n", entityRelation.getRelationType());
for (HealthcareEntityRelationRole role : entityRelation.getRoles()) {
HealthcareEntity entity = role.getEntity();
System.out.printf("\tEntity text: %s, category: %s, role: %s.%n",
entity.getText(), entity.getCategory(), role.getName());
}
}
}
}
}
}
輸出
Poller status: IN_PROGRESS.
Operation created time: 2022-09-15T19:06:11Z, expiration time: 2022-09-16T19:06:11Z.
Poller status: SUCCESSFULLY_COMPLETED.
Results of Azure Text Analytics for health entities" Model, version: 2022-03-01
Document ID = 0
Document entities:
Text: 100mg, normalized name: null, category: Dosage, subcategory: null, confidence score: 0.980000.
Text: ibuprofen, normalized name: ibuprofen, category: MedicationName, subcategory: null, confidence score: 1.000000.
Text: twice daily, normalized name: null, category: Frequency, subcategory: null, confidence score: 1.000000.
Relation type: DosageOfMedication.
Entity text: 100mg, category: Dosage, role: Dosage.
Entity text: ibuprofen, category: MedicationName, role: Medication.
Relation type: FrequencyOfMedication.
Entity text: ibuprofen, category: MedicationName, role: Medication.
Entity text: twice daily, category: Frequency, role: Frequency.
提示
快速醫療互通資源(FHIR)結構可透過 Azure Language REST API 取得。 目前不支援用戶端程式庫。 深入了解如何在 API 呼叫中使用 FHIR 結構。
參考文件 | 更多樣本 | 套件 (npm) | 程式庫原始程式碼
使用此快速入門指南,透過適用於 Node.js 的用戶端程式庫來建立健康應用程式的文字分析。 在下列範例中,您會建立 JavaScript 應用程式,以識別出現在文字中的醫療 實體、關聯和斷言。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Node.js v14 LTS 或更新版本
- 當你擁有 Azure 訂閱後, 建立一個 Foundry 資源。
- 您需要來自所建立資源的金鑰與端點以將應用程式連線至該 API。 您稍後會在快速入門中將金鑰和端點貼到程式碼中。
- 您可以使用免費定價層 (
Free F0) 來試用服務 (提供 5,000 筆文字記錄 - 每個文字記錄 1,000 個字元),並稍後升級至Standard S生產環境的定價層。 您也可以選擇Standard S定價層,這樣在開始收費之前,您可以免費獲得相同的初始配額(5,000 筆文字記錄)。 欲了解更多價格資訊,請造訪 Language Pricing。
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY環境變數,請將your-key取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT環境變數,請將your-endpoint取代為您資源的端點。
重要
我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。
請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請將密鑰安全地儲存在 Azure 金鑰保存庫、定期輪替密鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱搭配 Azure 金鑰保存庫 的 API 金鑰。
如需 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 檔案建立節點應用程式。
npm init
安裝用戶端程式庫
安裝 npm 套件:
npm install @azure/ai-language-text
程式碼範例
開啟檔案,並複製下列程式碼。 然後執行程式碼。
重要
前往 Azure 入口網站。 如果您在前置條件區塊建立的 Azure 語言資源成功部署,請點擊「下一步步驟」下的「前往資源」按鈕。 您可以在 [資源管理] 底下瀏覽資源的 [金鑰和端點] 頁面,以找到金鑰和端點。
重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 更多資訊請參閱 Foundry Tools 安全性 文章。
"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;
const documents = ["Patient does not suffer from high blood pressure."];
async function main() {
console.log("== Text analytics for health sample ==");
const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
const actions = [
{
kind: "Healthcare",
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
poller.onProgress(() => {
console.log(
`Last time the operation was updated was on: ${poller.getOperationState().modifiedOn}`
);
});
console.log(`The operation was created on ${poller.getOperationState().createdOn}`);
console.log(`The operation results will expire on ${poller.getOperationState().expiresOn}`);
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "Healthcare") {
throw new Error(`Expected a healthcare results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("\tRecognized Entities:");
for (const entity of result.entities) {
console.log(`\t- Entity "${entity.text}" of type ${entity.category}`);
if (entity.dataSources.length > 0) {
console.log("\t and it can be referenced in the following data sources:");
for (const ds of entity.dataSources) {
console.log(`\t\t- ${ds.name} with Entity ID: ${ds.entityId}`);
}
}
}
if (result.entityRelations.length > 0) {
console.log(`\tRecognized relations between entities:`);
for (const relation of result.entityRelations) {
console.log(
`\t\t- Relation of type ${relation.relationType} found between the following entities:`
);
for (const role of relation.roles) {
console.log(`\t\t\t- "${role.entity.text}" with the role ${role.name}`);
}
}
}
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
輸出
== Text analytics for health sample ==
The operation was created on Mon Feb 13 2023 13:12:10 GMT-0800 (Pacific Standard Time)
The operation results will expire on Tue Feb 14 2023 13:12:10 GMT-0800 (Pacific Standard Time)
Last time the operation was updated was on: Mon Feb 13 2023 13:12:10 GMT-0800 (Pacific Standard Time)
- Document 0
Recognized Entities:
- Entity "high blood pressure" of type SymptomOrSign
and it can be referenced in the following data sources:
- UMLS with Entity ID: C0020538
- AOD with Entity ID: 0000023317
- BI with Entity ID: BI00001
- CCPSS with Entity ID: 1017493
- CCS with Entity ID: 7.1
- CHV with Entity ID: 0000015800
- COSTAR with Entity ID: 397
- CSP with Entity ID: 0571-5243
- CST with Entity ID: HYPERTENS
- DXP with Entity ID: U002034
- HPO with Entity ID: HP:0000822
- ICD10 with Entity ID: I10-I15.9
- ICD10AM with Entity ID: I10-I15.9
- ICD10CM with Entity ID: I10
- ICD9CM with Entity ID: 997.91
- ICPC2ICD10ENG with Entity ID: MTHU035456
- ICPC2P with Entity ID: K85004
- LCH with Entity ID: U002317
- LCH_NW with Entity ID: sh85063723
- LNC with Entity ID: LA14293-7
- MDR with Entity ID: 10020772
- MEDCIN with Entity ID: 33288
- MEDLINEPLUS with Entity ID: 34
- MSH with Entity ID: D006973
- MTH with Entity ID: 005
- MTHICD9 with Entity ID: 997.91
- NANDA-I with Entity ID: 00905
- NCI with Entity ID: C3117
- NCI_CPTAC with Entity ID: C3117
- NCI_CTCAE with Entity ID: E13785
- NCI_CTRP with Entity ID: C3117
- NCI_FDA with Entity ID: 1908
- NCI_GDC with Entity ID: C3117
- NCI_NCI-GLOSS with Entity ID: CDR0000458091
- NCI_NICHD with Entity ID: C3117
- NCI_caDSR with Entity ID: C3117
- NOC with Entity ID: 060808
- OMIM with Entity ID: MTHU002068
- PCDS with Entity ID: PRB_11000.06
- PDQ with Entity ID: CDR0000686951
- PSY with Entity ID: 23830
- RCD with Entity ID: XE0Ub
- SNM with Entity ID: F-70700
- SNMI with Entity ID: D3-02000
- SNOMEDCT_US with Entity ID: 38341003
- WHO with Entity ID: 0210
提示
快速醫療互通資源(FHIR)結構可透過 Azure Language REST API 取得。 目前不支援用戶端程式庫。 深入了解如何在 API 呼叫中使用 FHIR 結構。
參考文件 | 更多樣本 | 套件 (PyPi) | 程式庫原始程式碼
使用此快速入門,透過適用於 Python 的用戶端程式庫來建立健康情況應用程式的文字分析。 在下列範例中,您會建立可識別文字中顯示的醫療實體、關聯和判斷提示的 Python 應用程式。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Python 3.8 或更新版本
- 當你擁有 Azure 訂閱後, 建立一個 Foundry 資源。
- 您需要來自所建立資源的金鑰與端點以將應用程式連線至該 API。 您稍後會在快速入門中將金鑰和端點貼到程式碼中。
- 您可以使用免費定價層 (
Free F0) 來試用服務 (提供 5,000 筆文字記錄 - 每個文字記錄 1,000 個字元),並稍後升級至Standard S生產環境的定價層。 您也可以選擇Standard S定價層,這樣在開始收費之前,您可以免費獲得相同的初始配額(5,000 筆文字記錄)。 欲了解更多價格資訊,請造訪 Language Pricing。
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY環境變數,請將your-key取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT環境變數,請將your-endpoint取代為您資源的端點。
重要
我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。
請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請將密鑰安全地儲存在 Azure 金鑰保存庫、定期輪替密鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱搭配 Azure 金鑰保存庫 的 API 金鑰。
如需 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 檔案,並複製下列程式碼。 然後執行程式碼。
重要
前往 Azure 入口網站。 如果您在前置條件區塊建立的 Azure 語言資源成功部署,請點擊「下一步步驟」下的「前往資源」按鈕。 您可以在 [資源管理] 底下瀏覽資源的 [金鑰和端點] 頁面,以找到金鑰和端點。
重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 更多資訊請參閱 Foundry Tools 安全性 文章。
# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
key = os.environ.get('LANGUAGE_KEY')
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(key)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=ta_credential)
return text_analytics_client
client = authenticate_client()
# Example function for extracting information from healthcare-related text
def health_example(client):
documents = [
"""
Patient needs to take 50 mg of ibuprofen.
"""
]
poller = client.begin_analyze_healthcare_entities(documents)
result = poller.result()
docs = [doc for doc in result if not doc.is_error]
for idx, doc in enumerate(docs):
for entity in doc.entities:
print("Entity: {}".format(entity.text))
print("...Normalized Text: {}".format(entity.normalized_text))
print("...Category: {}".format(entity.category))
print("...Subcategory: {}".format(entity.subcategory))
print("...Offset: {}".format(entity.offset))
print("...Confidence score: {}".format(entity.confidence_score))
for relation in doc.entity_relations:
print("Relation of type: {} has the following roles".format(relation.relation_type))
for role in relation.roles:
print("...Role '{}' with entity '{}'".format(role.name, role.entity.text))
print("------------------------------------------")
health_example(client)
輸出
Entity: 50 mg
...Normalized Text: None
...Category: Dosage
...Subcategory: None
...Offset: 31
...Confidence score: 1.0
Entity: ibuprofen
...Normalized Text: ibuprofen
...Category: MedicationName
...Subcategory: None
...Offset: 40
...Confidence score: 1.0
Relation of type: DosageOfMedication has the following roles
...Role 'Dosage' with entity '50 mg'
...Role 'Medication' with entity 'ibuprofen'
提示
快速醫療互通資源(FHIR)結構可透過 Azure Language REST API 取得。 目前不支援用戶端程式庫。 深入了解如何在 API 呼叫中使用 FHIR 結構。
使用本快速入門指南,使用 REST API 傳送語言識別請求。 在下列範例中,您會使用 cURL 來識別出現在文字中的醫療 實體、關係和斷言。
必要條件
- cURL 目前的版本
- Azure 訂用帳戶 - 建立免費帳戶
- 當你擁有 Azure 訂閱後, 建立一個 Foundry 資源。
- 您需要來自所建立資源的金鑰與端點以將應用程式連線至該 API。 您稍後會在快速入門中將金鑰和端點貼到程式碼中。
- 您可以使用免費定價層 (
Free F0) 來試用服務 (提供 5,000 筆文字記錄 - 每個文字記錄 1,000 個字元),並稍後升級至Standard S生產環境的定價層。 您也可以選擇Standard S定價層,這樣在開始收費之前,您可以免費獲得相同的初始配額(5,000 筆文字記錄)。 欲了解更多價格資訊,請造訪 Language Pricing。
備註
- 下列 BASH 範例會使用
\行接續字元。 如果您的主控台或終端機使用不同的行接續字元,請使用該字元。 - 您可以在 GitHub 上找到語言特定的範例。
- 前往 Azure 入口網站,找到你在前置條件中建立的 Azure 語言資源的金鑰和端點。 這些項目位於資源的 [金鑰和端點] 頁面的 [資源管理] 之下。 然後,用您的金鑰和端點取代下列程式碼中的字串。 若要呼叫 API,您需要下列資訊:
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY環境變數,請將your-key取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT環境變數,請將your-endpoint取代為您資源的端點。
重要
我們建議使用適用於 Azure 資源的受控識別搭配 Microsoft Entra ID 驗證,以避免使用在雲端執行的應用程式儲存認證。
請謹慎使用 API 金鑰。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。 如果使用 API 金鑰,請將密鑰安全地儲存在 Azure 金鑰保存庫、定期輪替密鑰,並使用角色型存取控制和網路存取限制來限制對 Azure 金鑰保存庫 的存取。 如需在應用程式中安全地使用 API 金鑰的詳細資訊,請參閱搭配 Azure 金鑰保存庫 的 API 金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
備註
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set (而不是 setx) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例前重新啟動 Visual Studio。
| 參數 | 描述 |
|---|---|
-X POST <endpoint> |
指定用於存取 API 的端點。 |
-H Content-Type: application/json |
用於傳送 JSON 資料的內容類型。 |
-H "Ocp-Apim-Subscription-Key:<key> |
指定用於存取 API 的金鑰。 |
-d <documents> |
JSON,其中包含您想要傳送的文件。 |
下列 cURL 命令是從 BASH 指令介面執行。 使用您自己的資源名稱、資源金鑰和 JSON 值來編輯這些命令。
健康情況的文字分析
- 將命令複製到文字編輯器。
- 視需要在命令中進行下列變更:
- 將
<your-language-resource-key>值取代為您的金鑰。 - 將要求 URL 的前段
<your-language-resource-endpoint>替換為您的端點 URL。
- 將
- 開啟 [命令提示字元] 視窗。
- 將文字編輯器中的命令貼到命令提示字元視窗中,然後執行該命令。
curl -i -X POST $LANGUAGE_ENDPOINT/language/analyze-text/jobs?api-version=2022-05-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: $LANGUAGE_KEY" \
-d '{"analysisInput":{"documents": [{"text": "The doctor prescried 200mg Ibuprofen.","language": "en","id": "1"}]},"tasks":[{"taskId": "analyze 1","kind": "Healthcare","parameters": {"fhirVersion": "4.0.1"}}]}'
從回應標頭取得 operation-location。 數值會如以下 URL 所示:
https://your-resource.cognitiveservices.azure.com/language/analyze-text/jobs/{JOB-ID}?api-version=2022-05-15-preview
若要取得要求的結果,請使用下列 cURL 命令。 請務必將 {JOB-ID} 取代為您從先前的 operation-location 回應標頭收到的數字識別碼數值:
curl -X GET $LANGUAGE_ENDPOINT/language/analyze-text/jobs/{JOB-ID}?api-version=2022-05-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: $LANGUAGE_KEY"
JSON 回應
{
"jobId": "{JOB-ID}",
"lastUpdatedDateTime": "2022-06-27T22:04:39Z",
"createdDateTime": "2022-06-27T22:04:38Z",
"expirationDateTime": "2022-06-28T22:04:38Z",
"status": "succeeded",
"errors": [],
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "HealthcareLROResults",
"lastUpdateDateTime": "2022-06-27T22:04:39.7086762Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"offset": 4,
"length": 6,
"text": "doctor",
"category": "HealthcareProfession",
"confidenceScore": 0.76
},
{
"offset": 21,
"length": 5,
"text": "200mg",
"category": "Dosage",
"confidenceScore": 0.99
},
{
"offset": 27,
"length": 9,
"text": "Ibuprofen",
"category": "MedicationName",
"confidenceScore": 1.0,
"name": "ibuprofen",
"links": [
{
"dataSource": "UMLS",
"id": "C0020740"
},
{
"dataSource": "AOD",
"id": "0000019879"
},
{
"dataSource": "ATC",
"id": "M01AE01"
},
{
"dataSource": "CCPSS",
"id": "0046165"
},
{
"dataSource": "CHV",
"id": "0000006519"
},
{
"dataSource": "CSP",
"id": "2270-2077"
},
{
"dataSource": "DRUGBANK",
"id": "DB01050"
},
{
"dataSource": "GS",
"id": "1611"
},
{
"dataSource": "LCH_NW",
"id": "sh97005926"
},
{
"dataSource": "LNC",
"id": "LP16165-0"
},
{
"dataSource": "MEDCIN",
"id": "40458"
},
{
"dataSource": "MMSL",
"id": "d00015"
},
{
"dataSource": "MSH",
"id": "D007052"
},
{
"dataSource": "MTHSPL",
"id": "WK2XYI10QM"
},
{
"dataSource": "NCI",
"id": "C561"
},
{
"dataSource": "NCI_CTRP",
"id": "C561"
},
{
"dataSource": "NCI_DCP",
"id": "00803"
},
{
"dataSource": "NCI_DTP",
"id": "NSC0256857"
},
{
"dataSource": "NCI_FDA",
"id": "WK2XYI10QM"
},
{
"dataSource": "NCI_NCI-GLOSS",
"id": "CDR0000613511"
},
{
"dataSource": "NDDF",
"id": "002377"
},
{
"dataSource": "PDQ",
"id": "CDR0000040475"
},
{
"dataSource": "RCD",
"id": "x02MO"
},
{
"dataSource": "RXNORM",
"id": "5640"
},
{
"dataSource": "SNM",
"id": "E-7772"
},
{
"dataSource": "SNMI",
"id": "C-603C0"
},
{
"dataSource": "SNOMEDCT_US",
"id": "387207008"
},
{
"dataSource": "USP",
"id": "m39860"
},
{
"dataSource": "USPMG",
"id": "MTHU000060"
},
{
"dataSource": "VANDF",
"id": "4017840"
}
]
}
],
"relations": [
{
"relationType": "DosageOfMedication",
"entities": [
{
"ref": "#/results/documents/0/entities/1",
"role": "Dosage"
},
{
"ref": "#/results/documents/0/entities/2",
"role": "Medication"
}
]
}
],
"warnings": [],
"fhirBundle": {
"resourceType": "Bundle",
"id": "95d61191-402a-48c6-9657-a1e4efbda877",
"meta": {
"profile": [
"http://hl7.org/fhir/4.0.1/StructureDefinition/Bundle"
]
},
"identifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:uuid:95d61191-402a-48c6-9657-a1e4efbda877"
},
"type": "document",
"entry": [
{
"fullUrl": "Composition/34b666d3-45e7-474d-a398-d3b0329541ad",
"resource": {
"resourceType": "Composition",
"id": "34b666d3-45e7-474d-a398-d3b0329541ad",
"status": "final",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "11526-1",
"display": "Pathology study"
}
],
"text": "Pathology study"
},
"subject": {
"reference": "Patient/68dd21ce-58ae-4e59-9445-8331f99899ed",
"type": "Patient"
},
"encounter": {
"reference": "Encounter/90c75fea-4526-4e94-82f8-8df3bc983a14",
"type": "Encounter",
"display": "unknown"
},
"date": "2022-06-27",
"author": [
{
"reference": "Practitioner/a8ef1526-d4ce-41df-96df-e9d03428c840",
"type": "Practitioner",
"display": "Unknown"
}
],
"title": "Pathology study",
"section": [
{
"title": "General",
"code": {
"coding": [
{
"system": "",
"display": "Unrecognized Section"
}
],
"text": "General"
},
"text": {
"div": "<div>\r\n\t\t\t\t\t\t\t<h1>General</h1>\r\n\t\t\t\t\t\t\t<p>The doctor prescried 200mg Ibuprofen.</p>\r\n\t\t\t\t\t</div>"
},
"entry": [
{
"reference": "List/c8ca6757-1d7c-4c49-94e9-ef5263cb943c",
"type": "List",
"display": "General"
}
]
}
]
}
},
{
"fullUrl": "Practitioner/a8ef1526-d4ce-41df-96df-e9d03428c840",
"resource": {
"resourceType": "Practitioner",
"id": "a8ef1526-d4ce-41df-96df-e9d03428c840",
"extension": [
{
"extension": [
{
"url": "offset",
"valueInteger": -1
},
{
"url": "length",
"valueInteger": 7
}
],
"url": "http://hl7.org/fhir/StructureDefinition/derivation-reference"
}
],
"name": [
{
"text": "Unknown",
"family": "Unknown"
}
]
}
},
{
"fullUrl": "Patient/68dd21ce-58ae-4e59-9445-8331f99899ed",
"resource": {
"resourceType": "Patient",
"id": "68dd21ce-58ae-4e59-9445-8331f99899ed",
"gender": "unknown"
}
},
{
"fullUrl": "Encounter/90c75fea-4526-4e94-82f8-8df3bc983a14",
"resource": {
"resourceType": "Encounter",
"id": "90c75fea-4526-4e94-82f8-8df3bc983a14",
"meta": {
"profile": [
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter"
]
},
"status": "finished",
"class": {
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"display": "unknown"
},
"subject": {
"reference": "Patient/68dd21ce-58ae-4e59-9445-8331f99899ed",
"type": "Patient"
}
}
},
{
"fullUrl": "MedicationStatement/17aeee32-1189-47fc-9223-8abe174f1292",
"resource": {
"resourceType": "MedicationStatement",
"id": "17aeee32-1189-47fc-9223-8abe174f1292",
"extension": [
{
"extension": [
{
"url": "offset",
"valueInteger": 27
},
{
"url": "length",
"valueInteger": 9
}
],
"url": "http://hl7.org/fhir/StructureDefinition/derivation-reference"
}
],
"status": "active",
"medicationCodeableConcept": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0020740",
"display": "ibuprofen"
},
{
"system": "http://www.nlm.nih.gov/research/umls/aod",
"code": "0000019879"
},
{
"system": "http://www.whocc.no/atc",
"code": "M01AE01"
},
{
"system": "http://www.nlm.nih.gov/research/umls/ccpss",
"code": "0046165"
},
{
"system": "http://www.nlm.nih.gov/research/umls/chv",
"code": "0000006519"
},
{
"system": "http://www.nlm.nih.gov/research/umls/csp",
"code": "2270-2077"
},
{
"system": "http://www.nlm.nih.gov/research/umls/drugbank",
"code": "DB01050"
},
{
"system": "http://www.nlm.nih.gov/research/umls/gs",
"code": "1611"
},
{
"system": "http://www.nlm.nih.gov/research/umls/lch_nw",
"code": "sh97005926"
},
{
"system": "http://loinc.org",
"code": "LP16165-0"
},
{
"system": "http://www.nlm.nih.gov/research/umls/medcin",
"code": "40458"
},
{
"system": "http://www.nlm.nih.gov/research/umls/mmsl",
"code": "d00015"
},
{
"system": "http://www.nlm.nih.gov/research/umls/msh",
"code": "D007052"
},
{
"system": "http://www.nlm.nih.gov/research/umls/mthspl",
"code": "WK2XYI10QM"
},
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C561"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_ctrp",
"code": "C561"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_dcp",
"code": "00803"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_dtp",
"code": "NSC0256857"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_fda",
"code": "WK2XYI10QM"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_nci-gloss",
"code": "CDR0000613511"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nddf",
"code": "002377"
},
{
"system": "http://www.nlm.nih.gov/research/umls/pdq",
"code": "CDR0000040475"
},
{
"system": "http://www.nlm.nih.gov/research/umls/rcd",
"code": "x02MO"
},
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "5640"
},
{
"system": "http://snomed.info/sct",
"code": "E-7772"
},
{
"system": "http://snomed.info/sct/900000000000207008",
"code": "C-603C0"
},
{
"system": "http://snomed.info/sct/731000124108",
"code": "387207008"
},
{
"system": "http://www.nlm.nih.gov/research/umls/usp",
"code": "m39860"
},
{
"system": "http://www.nlm.nih.gov/research/umls/uspmg",
"code": "MTHU000060"
},
{
"system": "http://hl7.org/fhir/ndfrt",
"code": "4017840"
}
],
"text": "Ibuprofen"
},
"subject": {
"reference": "Patient/68dd21ce-58ae-4e59-9445-8331f99899ed",
"type": "Patient"
},
"context": {
"reference": "Encounter/90c75fea-4526-4e94-82f8-8df3bc983a14",
"type": "Encounter",
"display": "unknown"
},
"dosage": [
{
"text": "200mg",
"doseAndRate": [
{
"doseQuantity": {
"value": 200
}
}
]
}
]
}
},
{
"fullUrl": "List/c8ca6757-1d7c-4c49-94e9-ef5263cb943c",
"resource": {
"resourceType": "List",
"id": "c8ca6757-1d7c-4c49-94e9-ef5263cb943c",
"status": "current",
"mode": "snapshot",
"title": "General",
"subject": {
"reference": "Patient/68dd21ce-58ae-4e59-9445-8331f99899ed",
"type": "Patient"
},
"encounter": {
"reference": "Encounter/90c75fea-4526-4e94-82f8-8df3bc983a14",
"type": "Encounter",
"display": "unknown"
},
"entry": [
{
"item": {
"reference": "MedicationStatement/17aeee32-1189-47fc-9223-8abe174f1292",
"type": "MedicationStatement",
"display": "Ibuprofen"
}
}
]
}
}
]
}
}
],
"errors": [],
"modelVersion": "2022-03-01"
}
}
]
}
}
提示
快速醫療互通資源(FHIR)結構可透過 Azure Language REST API 取得。 目前不支援用戶端程式庫。 深入了解如何在 API 呼叫中使用 FHIR 結構。
必要條件
前往鑄造廠遊樂場
使用左側窗格,選取 [遊樂場]。 然後選擇 「嘗試 Azure 語言遊樂場 」按鈕。
在 Foundry Playground 中使用健康文本分析
語言 遊樂場 包含四個區段:
- 頂方橫幅:你可以在這裡選擇目前可用的任何語言。
- 右窗格:此窗格可讓您找到 服務的組態 選項,例如 API 和模型版本,以及服務特有的功能。
- 中央窗格:此窗格是您輸入文字進行處理的位置。 執行作業之後,這裡會顯示一些結果。
- 右窗格:此窗格會顯示 執行作業的詳細 數據。
在此,您可以選擇頂端橫幅圖格 [擷取健康情況資訊],藉以選取「健康情況的文字分析」功能。
使用擷取健康情況資訊
擷取健康情況資訊 是設計來識別和擷取文字中的健康情況資訊。
在 [ 設定 ] 中,有下列選項:
| 選項 | 描述 |
|---|---|
| 選取 API 版本 | 選取要使用的 API 版本。 |
| 選取模型版本 | 選取要使用的模型版本。 |
| 選取文字語言 | 選擇輸入的語言。 |
| 以 FHIR 結構的形式傳回輸出 | 傳回快速健康照護互通資源 (FHIR) 結構中的輸出。 |
作業完成後,實體類型會顯示在中央窗格中的每個實體下方,而 [詳細 數據] 區段包含每個實體的下列欄位:
| 欄位 | 描述 |
|---|---|
| 實體 | 偵測到的實體。 |
| 類別 | 偵測到的實體類型。 |
| 信賴度 | 模型在實體類型識別的正確性方面有多自信。 |
清除資源
若要清除和移除 Azure AI 資源,您可以刪除個別資源或整個資源群組。 如果您刪除資源群組,則也會刪除其中包含的所有資源。