TextAnalysisClient class
用于与 Azure 认知语言服务中的文本分析功能交互的客户端。
客户端需要语言资源的终结点和身份验证方法,例如 API 密钥或 AAD。 可以在 Azure 门户的语言资源页中找到 API 密钥和终结点。 它们位于资源管理的“密钥和终结点”页中。
身份验证示例:
API 密钥
import { TextAnalysisClient, AzureKeyCredential } from "@azure/ai-text-analytics";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new AzureKeyCredential("<api key>");
const client = new TextAnalysisClient(endpoint, credential);
Azure Active Directory
有关使用 Azure Active Directory 进行身份验证的详细信息,请参阅 @azure/identity 包。
import { TextAnalysisClient } from "@azure/ai-text-analytics";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new DefaultAzureCredential();
const client = new TextAnalysisClient(endpoint, credential);
构造函数
| Text |
使用语言资源的终结点和身份验证方法(例如 API 密钥或 AAD)创建 TextAnalysisClient 的实例。 可以在 Azure 门户的语言资源页中找到 API 密钥和终结点。 它们位于资源管理的“密钥和终结点”页中。 例
|
| Text |
使用语言资源的终结点和身份验证方法(例如 API 密钥或 AAD)创建 TextAnalysisClient 的实例。 可以在 Azure 门户的语言资源页中找到 API 密钥和终结点。 它们位于资源管理的“密钥和终结点”页中。 例有关使用 Azure Active Directory 进行身份验证的详细信息,请参阅
|
方法
| analyze<Action |
运行预测模型来确定传入输入字符串写入的语言,并为每个字符串返回检测到的语言,以及指示模型对推断语言正确的信心的分数。 分数接近 1 表示结果中的高确定性。 支持 120 种语言。 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子语言检测
有关语言检测的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/language-detection/overview。 |
| analyze<Action |
运行预测模型来确定传入输入字符串写入的语言,并为每个字符串返回检测到的语言,以及指示模型对推断语言正确的信心的分数。 分数接近 1 表示结果中的高确定性。 支持 120 种语言。 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子语言检测
有关语言检测的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/language-detection/overview。 |
| analyze<Action |
运行预测模型以对输入字符串执行所选操作。 有关受支持的作列表,请参阅 $AnalyzeActionName。 结果数组中每个项的布局取决于所选的操作。
例如,每个 PIIEntityRecognition 文档结果都由 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子意见挖掘
有关意见挖掘的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/sentiment-opinion-mining/overview。 个人身份信息
有关个人身份信息的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/personally-identifiable-information/overview。 |
| analyze<Action |
运行预测模型以对输入文档执行所选操作。 有关受支持的作列表,请参阅 $AnalyzeActionName。 结果数组中每个项的布局取决于所选的操作。
例如,每个 PIIEntityRecognition 文档结果都由 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子意见挖掘
有关意见挖掘的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/sentiment-opinion-mining/overview。 个人身份信息
有关个人身份信息的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/personally-identifiable-information/overview。 |
| begin |
对输入文档执行数组(批处理)操作。 每个作都有一个 结果数组包含这些输入作的结果,其中每个项还具有指定结果类型的 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子关键短语提取和 Pii 实体识别
|
| begin |
对输入文档执行数组(批处理)操作。 每个作都有一个 结果数组包含这些输入作的结果,其中每个项还具有指定结果类型的 有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。 例子密钥短语提取和 Pii 实体识别
|
| restore |
从另一轮询程序的序列化状态创建轮询器。 如果要在不同的主机上创建轮询器,或者在原始轮询器不在范围内后构造轮询器,这非常有用。 |
构造函数详细信息
TextAnalysisClient(string, KeyCredential, TextAnalysisClientOptions)
使用语言资源的终结点和身份验证方法(例如 API 密钥或 AAD)创建 TextAnalysisClient 的实例。
可以在 Azure 门户的语言资源页中找到 API 密钥和终结点。 它们位于资源管理的“密钥和终结点”页中。
例
import { TextAnalysisClient, AzureKeyCredential } from "@azure/ai-text-analytics";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new AzureKeyCredential("<api key>");
const client = new TextAnalysisClient(endpoint, credential);
new TextAnalysisClient(endpointUrl: string, credential: KeyCredential, options?: TextAnalysisClientOptions)
参数
- endpointUrl
-
string
认知语言服务资源的终结点的 URL
- credential
- KeyCredential
用于对服务的请求进行身份验证的密钥凭据。
- options
- TextAnalysisClientOptions
用于配置 TextAnalytics 客户端。
TextAnalysisClient(string, TokenCredential, TextAnalysisClientOptions)
使用语言资源的终结点和身份验证方法(例如 API 密钥或 AAD)创建 TextAnalysisClient 的实例。
可以在 Azure 门户的语言资源页中找到 API 密钥和终结点。 它们位于资源管理的“密钥和终结点”页中。
例
有关使用 Azure Active Directory 进行身份验证的详细信息,请参阅 @azure/identity 包。
import { TextAnalysisClient } from "@azure/ai-text-analytics";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<resource name>.cognitiveservices.azure.com";
const credential = new DefaultAzureCredential();
const client = new TextAnalysisClient(endpoint, credential);
new TextAnalysisClient(endpointUrl: string, credential: TokenCredential, options?: TextAnalysisClientOptions)
参数
- endpointUrl
-
string
认知语言服务资源的终结点的 URL
- credential
- TokenCredential
用于对服务的请求进行身份验证的令牌凭据。
- options
- TextAnalysisClientOptions
用于配置 TextAnalytics 客户端。
方法详细信息
analyze<ActionName>(ActionName, LanguageDetectionInput[], AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions)
运行预测模型来确定传入输入字符串写入的语言,并为每个字符串返回检测到的语言,以及指示模型对推断语言正确的信心的分数。 分数接近 1 表示结果中的高确定性。 支持 120 种语言。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
语言检测
const documents = [<input strings>];
const countryHint = "us";
const results = await client.analyze("LanguageDetection", documents, countryHint);
for (let i = 0; i < results.length; i++) {
const result = results[i];
if (result.error) {
// a document has an error instead of results
} else {
const { name, confidenceScore, iso6391Name } = result.primaryLanguage;
}
}
有关语言检测的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/language-detection/overview。
function analyze<ActionName>(actionName: ActionName, documents: LanguageDetectionInput[], options?: AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions): Promise<AnalyzeResult<ActionName>>
参数
- actionName
-
ActionName
要对输入文档执行的作的名称,请参阅 $AnalyzeActionName
- documents
要分析的输入文档
- options
-
AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions
操作的可选操作参数和设置
返回
Promise<AnalyzeResult<ActionName>>
结果数组,其中每个元素都包含相应输入文档的主要语言。
analyze<ActionName>(ActionName, string[], string, AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions)
运行预测模型来确定传入输入字符串写入的语言,并为每个字符串返回检测到的语言,以及指示模型对推断语言正确的信心的分数。 分数接近 1 表示结果中的高确定性。 支持 120 种语言。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
语言检测
const documents = [<input strings>];
const countryHint = "us";
const results = await client.analyze("LanguageDetection", documents, countryHint);
for (const result of results) {
if (result.error) {
// a document has an error instead of results
} else {
const { name, confidenceScore, iso6391Name } = result.primaryLanguage;
}
}
有关语言检测的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/language-detection/overview。
function analyze<ActionName>(actionName: ActionName, documents: string[], countryHint?: string, options?: AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions): Promise<AnalyzeResult<ActionName>>
参数
- actionName
-
ActionName
要对输入文档执行的作的名称,请参阅 $AnalyzeActionName
- documents
-
string[]
要分析的输入文档
- countryHint
-
string
指示所有输入字符串的起源国家/地区,以帮助模型预测所写入的语言。 如果未指定,此值将设置为 TextAnalysisClientOptions中的默认国家/地区提示。 如果设置为空字符串或字符串“none”,则服务将应用一个模型,其中国家/地区明确未设置。 相同的国家/地区提示应用于输入集合中的所有字符串。
- options
-
AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions
操作的可选操作参数和设置
返回
Promise<AnalyzeResult<ActionName>>
结果数组,其中每个元素都包含相应输入文档的主要语言。
analyze<ActionName>(ActionName, string[], string, AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions)
运行预测模型以对输入字符串执行所选操作。 有关受支持的作列表,请参阅 $AnalyzeActionName。
结果数组中每个项的布局取决于所选的操作。
例如,每个 PIIEntityRecognition 文档结果都由 entities 和 redactedText 组成,其中前者是文本中所有 Pii 实体的列表,后者是经过所有此类 Pii 实体修订后的原始文本。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
意见挖掘
const documents = ["The food and service aren't the best"];
const results = await client.analyze("SentimentAnalysis", documents, {
includeOpinionMining: true,
});
for (const result of results) {
if (result.error) {
// a document has an error instead of results
} else {
const { sentiment, confidenceScores, sentences } = result;
for (const { sentiment, confidenceScores, opinions } of sentences) {
for (const { target, assessments } of opinions) {
const { text, sentiment, confidenceScores } = target;
for (const { text, sentiment } of assessments) {
// Do something
}
}
}
}
}
有关意见挖掘的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/sentiment-opinion-mining/overview。
个人身份信息
const documents = [<input strings>];
const languageHint = "en";
const categoriesFilter = [KnownPiiCategory.USSocialSecurityNumber];
const domainFilter = KnownPiiDomain.Phi;
const results = await client.analyze("PiiEntityRecognition", documents, languageHint, {
domainFilter, categoriesFilter
});
for (const result of results) {
if (result.error) {
// a document has an error instead of results
} else {
const { entities, redactedText } = result;
for (const { text, category, confidenceScore, length, offset } of entities) {
// Do something
}
}
}
有关个人身份信息的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/personally-identifiable-information/overview。
function analyze<ActionName>(actionName: ActionName, documents: string[], languageCode?: string, options?: AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions): Promise<AnalyzeResult<ActionName>>
参数
- actionName
-
ActionName
要对输入文档执行的作的名称,请参阅 $AnalyzeActionName
- documents
-
string[]
要分析的输入文档
- languageCode
-
string
写入所有输入字符串的语言的代码。 如果未指定,此值将设置为 TextAnalysisClientOptions的默认语言。 如果设置为空字符串,服务将应用一个模型,其中语言显式设置为“None”。 语言支持因作而异,例如,有关实体识别作支持的语言的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/named-entity-recognition/language-support
- options
-
AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions
操作的可选操作参数和设置
返回
Promise<AnalyzeResult<ActionName>>
对应于输入文档的结果数组
analyze<ActionName>(ActionName, TextDocumentInput[], AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions)
运行预测模型以对输入文档执行所选操作。 有关受支持的作列表,请参阅 $AnalyzeActionName。
结果数组中每个项的布局取决于所选的操作。
例如,每个 PIIEntityRecognition 文档结果都由 entities 和 redactedText 组成,其中前者是文本中所有 Pii 实体的列表,后者是经过所有此类 Pii 实体修订后的原始文本。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
意见挖掘
const documents = [{
id: "1",
text: "The food and service aren't the best",
language: "en"
}];
const results = await client.analyze("SentimentAnalysis", documents, {
includeOpinionMining: true,
});
for (const result of results) {
if (result.error) {
// a document has an error instead of results
} else {
const { sentiment, confidenceScores, sentences } = result;
for (const { sentiment, confidenceScores, opinions } of sentences) {
for (const { target, assessments } of opinions) {
const { text, sentiment, confidenceScores } = target;
for (const { text, sentiment } of assessments) {
// Do something
}
}
}
}
}
有关意见挖掘的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/sentiment-opinion-mining/overview。
个人身份信息
const documents = [<input documents>];
const categoriesFilter = [KnownPiiCategory.USSocialSecurityNumber];
const domainFilter = KnownPiiDomain.Phi;
const results = await client.analyze("PiiEntityRecognition", documents, {
domainFilter, categoriesFilter
});
for (const result of results) {
if (result.error) {
// a document has an error instead of results
} else {
const { entities, redactedText } = result;
for (const { text, category, confidenceScore, length, offset } of entities) {
// Do something
}
}
}
有关个人身份信息的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/personally-identifiable-information/overview。
function analyze<ActionName>(actionName: ActionName, documents: TextDocumentInput[], options?: AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions): Promise<AnalyzeResult<ActionName>>
参数
- actionName
-
ActionName
要对输入文档执行的作的名称,请参阅 $AnalyzeActionName
- documents
要分析的输入文档
- options
-
AnalyzeActionParameters<ActionName> & TextAnalysisOperationOptions
操作的可选操作参数和设置
返回
Promise<AnalyzeResult<ActionName>>
对应于输入文档的结果数组
beginAnalyzeBatch(AnalyzeBatchAction[], string[], string, BeginAnalyzeBatchOptions)
对输入文档执行数组(批处理)操作。 每个作都有一个 kind 字段,该字段指定作的性质。 有关支持的作列表,请参阅 $AnalyzeBatchActionNames。 除了 kind,作还可以具有其他参数,例如 disableServiceLogs 和 modelVersion。
结果数组包含这些输入作的结果,其中每个项还具有指定结果类型的 kind 字段。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
关键短语提取和 Pii 实体识别
const poller = await client.beginAnalyzeBatch(
[{ kind: "KeyPhraseExtraction" }, { kind: "PiiEntityRecognition" }],
documents
);
const actionResults = await poller.pollUntilDone();
for await (const actionResult of actionResults) {
if (actionResult.error) {
throw new Error(`Unexpected error`);
}
switch (actionResult.kind) {
case "KeyPhraseExtraction": {
for (const doc of actionResult.results) {
// do something
}
break;
}
case "PiiEntityRecognition": {
for (const doc of actionResult.results) {
// do something
}
break;
}
}
}
function beginAnalyzeBatch(actions: AnalyzeBatchAction[], documents: string[], languageCode?: string, options?: BeginAnalyzeBatchOptions): Promise<AnalyzeBatchPoller>
参数
- actions
将在输入文档上运行的操作数组
- documents
-
string[]
要分析的输入文档
- languageCode
-
string
写入所有输入字符串的语言的代码。 如果未指定,此值将设置为 TextAnalysisClientOptions的默认语言。 如果设置为空字符串,服务将应用一个模型,其中语言显式设置为“None”。 语言支持因作而异,例如,有关实体识别作支持的语言的详细信息,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/named-entity-recognition/language-support
- options
- BeginAnalyzeBatchOptions
操作的可选设置
返回
Promise<AnalyzeBatchPoller>
对应于输入操作的结果数组
beginAnalyzeBatch(AnalyzeBatchAction[], TextDocumentInput[], BeginAnalyzeBatchOptions)
对输入文档执行数组(批处理)操作。 每个作都有一个 kind 字段,该字段指定作的性质。 有关支持的作列表,请参阅 $AnalyzeBatchActionNames。 除了 kind,作还可以具有其他参数,例如 disableServiceLogs 和 modelVersion。
结果数组包含这些输入作的结果,其中每个项还具有指定结果类型的 kind 字段。
有关数据限制,请参阅 https://docs.microsoft.com//azure/cognitive-services/language-service/concepts/data-limits。
例子
密钥短语提取和 Pii 实体识别
const poller = await client.beginAnalyzeBatch(
[{ kind: "KeyPhraseExtraction" }, { kind: "PiiEntityRecognition" }],
documents
);
const actionResults = await poller.pollUntilDone();
for await (const actionResult of actionResults) {
if (actionResult.error) {
throw new Error(`Unexpected error`);
}
switch (actionResult.kind) {
case "KeyPhraseExtraction": {
for (const doc of actionResult.results) {
// do something
}
break;
}
case "PiiEntityRecognition": {
for (const doc of actionResult.results) {
// do something
}
break;
}
}
}
function beginAnalyzeBatch(actions: AnalyzeBatchAction[], documents: TextDocumentInput[], options?: BeginAnalyzeBatchOptions): Promise<AnalyzeBatchPoller>
参数
- actions
将在输入文档上运行的操作数组
- documents
要分析的输入文档
- options
- BeginAnalyzeBatchOptions
操作的可选设置
返回
Promise<AnalyzeBatchPoller>
对应于输入操作的结果数组
restoreAnalyzeBatchPoller(string, RestoreAnalyzeBatchPollerOptions)
从另一轮询程序的序列化状态创建轮询器。 如果要在不同的主机上创建轮询器,或者在原始轮询器不在范围内后构造轮询器,这非常有用。
function restoreAnalyzeBatchPoller(serializedState: string, options?: RestoreAnalyzeBatchPollerOptions): Promise<AnalyzeBatchPoller>
参数
- serializedState
-
string
另一个轮询程序的序列化状态。 这是 poller.toString() 的结果
- options
- RestoreAnalyzeBatchPollerOptions
操作的可选设置
例
client.beginAnalyzeBatch 返回一个承诺,该承诺将解析为投票器。
轮询程序的状态可以序列化并用于创建另一个轮询程序,如下所示:
const serializedState = poller.toString();
const rehydratedPoller = await client.createAnalyzeBatchPoller(serializedState);
const actionResults = await rehydratedPoller.pollUntilDone();
返回
Promise<AnalyzeBatchPoller>