Giter Site home page Giter Site logo

antoineaugusti / laravel-sentiment-analysis Goto Github PK

View Code? Open in Web Editor NEW
43.0 5.0 17.0 160 KB

A Laravel wrapper to perform sentiment analysis over an English sentence

Home Page: https://packagist.org/packages/antoineaugusti/laravel-sentiment-analysis

License: Apache License 2.0

PHP 1.59% Hack 98.41%
sentimentanalysis composer composer-package php laravel-wrapper laravel

laravel-sentiment-analysis's Introduction

Laravel Sentiment Analysis

Build Status Software License Latest Version Packagist

Introduction

A Laravel wrapper for phpInsight.

Installation

PHP 7.2+, and Composer are required.

To get the latest version of Laravel Sentiment Analysis, run the command composer require antoineaugusti/laravel-sentiment-analysis.

You can register the SentimentAnalysis facade in the aliases key of your config/app.php file if you like.

'SentimentAnalysis' => Antoineaugusti\LaravelSentimentAnalysis\SentimentAnalysis::class,

Looking for a Laravel 5 compatible version?

Checkout the 1.2 version, installable by requiring "antoineaugusti/laravel-sentiment-analysis": "2.2".

Looking for a Laravel 4 compatible version?

Checkout the 1.2 version, installable by requiring "antoineaugusti/laravel-sentiment-analysis": "1.2".

Usage

Sentences can be classified as negative, neutral or positive. The only supported language for the moment is English.

Custom Dictionary

You can provide a custom dictionary by providing the path the folder when you create a new SentimentAnalysis object.

$analysis = new SentimentAnalysis(storage_path('custom_dictionary/'));

Please look at the PHPInsight data files to see how you should name and structure your files.

SentimentAnalysis::isNegative($sentence)

Returns a boolean telling if the given $sentence is classified as negative.

SentimentAnalysis::isNeutral($sentence)

Returns a boolean telling if the given $sentence is classified as neutral.

SentimentAnalysis::isPositive($sentence)

Returns a boolean telling if the given $sentence is classified as positive.

SentimentAnalysis::decision($sentence)

Get the sentiment of a sentence. Will return negative, neutral or positive

SentimentAnalysis::score($sentence)

Get the confidence of a decision for a result. The closer to 1, the better!

SentimentAnalysis::scores($sentence)

Get the score value for each decision. Returns an array. The closer to 1, the better! Return example:

['negative' => 0.5, 'neutral' => 0.25, 'positive' => 0.25]

laravel-sentiment-analysis's People

Contributors

antoineaugusti avatar ibarrajo avatar sekonda avatar simondotwhite avatar stephenahiggins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

laravel-sentiment-analysis's Issues

SentimentAnalysis::score() does not do what it says

Like a lot of API, this library computes the "chances" of the statement being positive, neutral and negative. For example, scores() can return:

@example ['negative' => 0.5, 'neutral' => 0.25, 'positive' => 0.25]

So, you would expect the score() function in this case to be less than 0.5 (ie. negative). It says:

    /**
     * Get the confidence of a decision for a result. The closer to 1, the better.
     *
     * @param string $string The given sentence
     *
     * @return float The confidence of a decision for a result. The close to 1, the better
     */

However looking at the code:

    public function score($string)
    {
        $scores = $this->scores($string);
        return max($scores);
    }

one can see that this will simply return 0.5, suggesting the score is "neutral".

Returns wrong sentiment for PHP 7

This package used to work up well till we had PHP 5.6 but after we upgraded to PHP 7, phrases that were "neutral" are being returned as "positive". Not sure why?

All possible neutral phrases like:
"sample test line"
"maths in science"
"men and women in a line"

Any ideas

Please help me run it

I've installed the package updated the composer. but cant seem to run it on my controller.
Can u please give me exact line of code to how check a statement.
because when I run SentimentAnalysis::decision($sentence); , it gives me error(Non-static method Antoineaugusti\LaravelSentimentAnalysis\SentimentAnalysis::decision() should not be called statically).
Please reply ASAP. I really need it. Thanks

I revived this problem while trying to install the package using composer require

Problem 1
- Root composer.json requires antoineaugusti/laravel-sentiment-analysis ^4.0 -> satisfiable by antoineaugusti/laravel-sentiment-analysis[v4.0].
- antoineaugusti/laravel-sentiment-analysis v4.0 requires illuminate/support ^6 || ^7 -> found illuminate/support[v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev] but these were not loaded, likely because it conflicts with another require.

How use this tools

iam a newbie. Could you please show an example how to use? Thanks so much.

Custom Dictionaries

Hey,

Is it possible to set custom dictionaries?

I'm happy enough to create a pull request if there isn't.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.