sharpapi / laravel-tth-review-sentiment
AI Travel & Hospitality Review Sentiment Analysis for Laravel powered by SharpAPI.com
Package info
github.com/sharpapi/laravel-tth-review-sentiment
pkg:composer/sharpapi/laravel-tth-review-sentiment
Requires
- php: ^8.1
- ext-json: *
- laravel/framework: ^10.48.29|^11.0|^12.0|^13.0
- sharpapi/php-core: ^1.4.1
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.22|^9.0|^10.0|^11.0
- pestphp/pest: ^2.34|^3.0|^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package provides a Laravel integration for the SharpAPI Travel & Hospitality Review Sentiment Analysis service. It allows you to analyze customer reviews for travel, tourism, and hospitality products to determine sentiment (positive, negative, or neutral) with a confidence score.
Installation
You can install the package via composer:
composer require sharpapi/laravel-tth-review-sentiment
Configuration
Publish the config file with:
php artisan vendor:publish --tag="sharpapi-tth-review-sentiment"
This is the contents of the published config file:
return [ 'api_key' => env('SHARP_API_KEY'), 'base_url' => env('SHARP_API_BASE_URL', 'https://sharpapi.com/api/v1'), 'api_job_status_polling_wait' => env('SHARP_API_JOB_STATUS_POLLING_WAIT', 180), 'api_job_status_polling_interval' => env('SHARP_API_JOB_STATUS_POLLING_INTERVAL', 10), 'api_job_status_use_polling_interval' => env('SHARP_API_JOB_STATUS_USE_POLLING_INTERVAL', false), ];
Make sure to set your SharpAPI key in your .env file:
SHARP_API_KEY=your-api-key
Usage
use SharpAPI\TthReviewSentiment\TthReviewSentimentService; $service = new TthReviewSentimentService(); // Analyze a travel or hospitality review $sentiment = $service->travelReviewSentiment( 'The hotel room was spacious and clean, but the staff was not very helpful and the breakfast was disappointing.' ); // $sentiment is a status URL, not the result. fetchResults() polls until the job finishes // (run it in a queued job, not in a web request). $job = $service->fetchResults($sentiment); if ($job->status === \SharpAPI\Core\Enums\SharpApiJobStatusEnum::SUCCESS->value) { $result = json_decode($job->getResultJson(), true); }
Parameters
text(string): The review text to analyze for sentiment
Response Format
fetchResults() returns a SharpApiJob; its result is the attributes.result part of the API response below:
{
"data": {
"type": "api_job_result",
"id": "f85b7ac5-33cd-4796-8935-dc8c22219946",
"attributes": {
"status": "success",
"type": "tth_review_sentiment",
"result": {
"score": 95,
"opinion": "POSITIVE"
}
}
}
}
Possible opinion values:
POSITIVE: The review is predominantly positiveNEGATIVE: The review is predominantly negativeNEUTRAL: The review is neutral or balanced
The score is a value between 0 and 100, representing the confidence level of the sentiment analysis.
Features
- Analyzes travel and hospitality reviews for sentiment
- Provides a confidence score for the sentiment analysis
- Identifies specific positive and negative aspects mentioned in the review
- Works with reviews for hotels, restaurants, tours, activities, and other travel-related services
- Helps businesses understand customer feedback at scale
AI agents (Laravel Boost)
This package ships a Laravel Boost skill, sharpapi-tth-review-sentiment, that teaches AI coding agents how to call TthReviewSentimentService correctly: submit, then fetchResults() in a queued job, check the job status, and read the result. It loads on demand and adds no always-on guideline. Boost 2 or newer is required.
In the host app:
composer require laravel/boost --dev php artisan boost:install # first time php artisan boost:update --discover # already using Boost
Select sharpapi/laravel-tth-review-sentiment when Boost lists the packages it found.
Credits
License
The MIT License (MIT). Please see License File for more information.