hopkins / laravel-aylien-wrapper
围绕 Aylien PHP SDK 的 Laravel 友好型包装器
dev-master / 0.1.x-dev
2017-04-05 01:12 UTC
Requires
- aylien/textapi: 0.2.0
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-14 17:31:52 UTC
README
Aylien 是一个包含八个不同自然语言处理、信息检索和机器学习 API 的软件包,可以相对容易地适配到您的流程和应用中。坦白说,这个包装器并没有为其广泛、详尽的 PHP SDK 增加太多价值,因为其主要目的是为您的 Laravel 5 应用提供 Aylien::
门面。
#安装
在您的 composer.json
中需要此包并更新 composer。运行以下两个命令之一
"hopkins/laravel-aylien-wrapper": "dev-master"
或
composer require hopkins/laravel-aylien-wrapper=dev-master
更新 composer 后,将 ServiceProvider 添加到 app/config/app.php
中的 providers 数组
'Hopkins\LaravelAylienWrapper\Providers\AylienServiceProvider',
并将门面添加到您的 facade 数组中
'Aylien' => 'Hopkins\LaravelAylienWrapper\Facades\Aylien',
运行 artisan 命令将配置引入您的项目
php artisan vendor:publish
我将我的 API 密钥放在 .env 文件中。要使用此配置方式,可以将以下内容复制到您的 config/aylien.php
return [ 'app_id' => env('API_AYLIEN_APP_ID'), 'app_key' => env('API_AYLIEN_APP_KEY') ];
#如何使用
Aylien 在其网站上提供了许多优秀的示例,以及 出色的文档。然而,如果不至少提供一个示例,我会觉得过意不去。readme 文件底部的示例使用了情感分析,但以下所有功能都可用于使用
Aylien::Sentiment(); Aylien::Extract(); Aylien::Classify(); Aylien::Concepts(); Aylien::Hashtags(); Aylien::Entities(); Aylien::Language(); Aylien::Related(); Aylien::Summarize(); Aylien::Microformats(); Aylien::UnsupervisedClassify();
假设您想要记录从聊天/电子邮件客户端/联系表单接收到的所有消息。在这种情况下,您将有一个 Message.php
模型,它将保存到您的数据库中。通过添加一个 public static function boot()
方法,我们可以利用 Laravel 的 模型事件 确保首先将消息保存到数据库中,然后调用 Aylien 的 API。以下示例使用情感分析
class Message extends BaseModel { protected $guarded = ['id']; public static function boot() { parent::boot(); Message::created(function(Message $message) { $aylienResponse = \Aylien::Sentiment(['text'=>$message->message]); $message->update([ 'polarity' => $aylienResponse->polarity, 'polarity_confidence' => $aylienResponse->polarity_confidence, 'subjectivity' => $aylienResponse->subjectivity, 'subjectivity_confidence' => $aylienResponse->subjectivity_confidence ]); }); } }