tootootltd / azure-text-analytics
A Laravel 封装了 Azure 文本分析 API。包括;情感分析、关键词提取、命名实体识别和语言检测
1.2.0
2024-03-03 20:18 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^6.0|^7.0.1
- illuminate/support: ^7.7|^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0|^7.0
- phpunit/phpunit: ^9.0
README
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"
需求
- Azure 认知服务端点和密钥。
- 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 之前,此包将对您的文本进行一些验证,例如;
- 检查每个
document
(文本字符串)的长度以及每次请求的document
(文档)数量,以确保它们不超过 Azure API 的限制(在撰写本文时分别为5,120
个字符和1,000
个文档)。在这两种情况下,都会抛出ExceededApiLimit
异常。有关这些限制的更多信息,请参阅 Azure 的文档。 - 确保在传递数组时存在所需的字段(在撰写本文时为
id
和text
)。有关这些信息的更多信息,请参阅 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)。有关更多信息,请参阅 许可证文件。