joggapp / laravel-natural-language
Laravel package for the Google Natural language API
Installs: 14 071
Dependents: 0
Suggesters: 0
Security: 0
Stars: 259
Watchers: 10
Forks: 18
Open Issues: 0
Requires
- php: ^8.1
- google/cloud-language: ^0.28.0
- illuminate/support: 10.*
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: 8.*
- phpunit/phpunit: ^9.0
README
Laravel package for the Google Natural language API
This package makes using the Google Natural API in your laravel app a breeze with minimum to no configuration, clean syntax and a consistent package API. All methods accept a string and return an array: Docs below.
Installation
- You can install this package via composer using this command:
composer require joggapp/laravel-natural-language
-
The package will automatically register itself.
-
We have documented how to setup the project and get the necessary configurations from the Google Cloud Platform console in a step by step detailed manner over here.
-
You can publish the config file using the following command:
php artisan vendor:publish --provider="JoggApp\NaturalLanguage\NaturalLanguageServiceProvider"
This will create the package's config file called naturallanguage.php
in the config
directory. These are the contents of the published config file:
return [ /* |-------------------------------------------------------------------------- | The id of project created in the Google Cloud Platform console. |-------------------------------------------------------------------------- */ 'project_id' => env('NATURAL_LANGUAGE_PROJECT_ID', 'sample-12345'), /* |-------------------------------------------------------------------------- | Path to the json file containing the authentication credentials. |-------------------------------------------------------------------------- */ 'key_file_path' => base_path('composer.json'), ];
How to use
-
After setting up the config file values you are all set to use the following methods 😄
-
Detect the Sentiment: Accepts a string and returns an array.
NaturalLanguage::sentiment(string $text): array
- Detect the Entities: Accepts a string and returns an array.
NaturalLanguage::entities(string $text): array
- Detect the Sentiment per entity basis: Accepts a string and returns an array.
NaturalLanguage::entitySentiment(string $text): array
- Detect the syntax: Accepts a string and returns an array.
NaturalLanguage::syntax(string $text): array
- Detect the categories: Accepts a string and returns an array.
NaturalLanguage::categories(string $text): array
- Annotate text: Accepts a string and an optional
features
array & returns an array.
NaturalLanguage::annotateText(string $text, array $features = ['sentiment', 'syntax']): array
Testing
You can run the tests with:
vendor/bin/phpunit
Changelog
Please see the CHANGELOG for more information about what has changed recently.
Security
If you discover any security related issues, please email them to harish@jogg.co instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see the License File for more information.