tootootltd/azure-text-analytics

A Laravel 封装了 Azure 文本分析 API。包括;情感分析、关键词提取、命名实体识别和语言检测

1.2.0 2024-03-03 20:18 UTC

This package is auto-updated.

Last update: 2024-09-28 20:03:52 UTC


README

Latest Version on Packagist MIT Licensed run-tests

Azure 认知服务文本分析 API 3.0 的一个非常简单的封装:https://docs.microsoft.com/en-gb/azure/cognitive-services/text-analytics/

安装

您可以通过 composer 安装此包

composer require tootootltd/azure-text-analytics

发布配置文件,并将您的 Azure 认知服务端点和密钥放入 env 文件中。

php artisan vendor:publish --provider="Tootootltd\AzureTextAnalytics\AzureTextAnalyticsServiceProvider"

需求

  1. Azure 认知服务端点和密钥。
  2. PHP 7.4

用法

此包支持所有 5 个文本分析端点,每个端点都返回完整的原始响应体。

您可以通过几种不同的格式将文本传递给构造函数

字符串

$myText = 'Example';

字符串和 ID

$myText = [
	'id' => 1,
	'text' => 'Example'
];

多个字符串和 ID

$myText = [
	[
		'id' => 1,
		'text' => 'Example one'
	],
	[
		'id' => 2,
		'text' => 'Example two'
	],
	[
		'id' => 3,
		'text' => 'Example three'
	]
];

只需将这些内容传递给构造函数。

$text = new AzureTextAnalytics($myText)

在调用 Azure API 之前,此包将对您的文本进行一些验证,例如;

  1. 检查每个 document(文本字符串)的长度以及每次请求的 document(文档)数量,以确保它们不超过 Azure API 的限制(在撰写本文时分别为 5,120 个字符和 1,000 个文档)。在这两种情况下,都会抛出 ExceededApiLimit 异常。有关这些限制的更多信息,请参阅 Azure 的文档
  2. 确保在传递数组时存在所需的字段(在撰写本文时为 idtext)。有关这些信息的更多信息,请参阅 Azure 的文档

方法

情感分析 - 查看示例响应 example response

$text = new AzureTextAnalytics($myText)
$text->sentimentAnalsis();

关键词 - 查看示例响应 example response

$text = new AzureTextAnalytics($myText)
$text->keyPhrases();

语言检测 - 查看示例响应 example response

$text = new AzureTextAnalytics($myText)
$text->detectLanguage();

命名实体识别 - 查看示例响应 example response

$text = new AzureTextAnalytics($myText)
$text->namedEntityRecognition();

实体链接 - 查看示例响应 example response

$text = new AzureTextAnalytics($myText)
$text->entityLinking();

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件