Sentiment By Term

No algorithm description given

Table of Contents Introduction Examples Credits Introduction This algorithm analyzes a document to find the approximate sentiment associated with each of a given set of terms. It does this by splitting the document into sentences and computing, for each provided term, the average sentiment of all sentences containing that term. Input: (Required): The document (String). (Required): A list of terms (List<String>): Terms can either be provided by hand or extracted automatically with a tagging (for instance,  /tags/AutoTagURL ) or entity recognition algorithm ( /StanfordNLP/NamedEntityRecognition ). (Optional):  Coreferences in the form of a (Map<String,List<String>>), where each key is a member of the list of terms and the associated value is a list of terms that refer to the same entity. This ensures that all references to a given entity are accounted for, even if they don't all use the same term. This can be supplied either by hand or by previous application of an algorithm like  /StanfordNLP/DeterministicCoreferenceResolution . Note: Make sure that all strings in the term list and coreference map are lower case. Output: Sentiment associated with each individual word in the term list. Sentiments are scored between 0-4. (Very Negative, Negative, Neutral, Postive, Very Positive) Examples Example 1. Parameter 1: Sample sentence. Parameter 2: Term list. Parameter 3: Mapping of conferences (aka. nicknames). [
 "John Brown (Johnny to his friends) is amazing! Johnny is by far the best mechanic in the tri-state area. Bob Bozo is the worst.",
 ["john brown","bob"],
 {"john brown":["johnny"]}
] Output: {
 "john brown": 3.5,
 "bob": 1
} Example 2. Parameter 1: Sample sentence. Parameter 2: Term list. [
 "Samaritan will take over the world soon. Samaritan is compassionate. Samaritan is merciful. The Machine is good. Samaritan is evil.",
 ["samaritan", "machine"]
] Output: {
 "machine": 3,
 "samaritan": 2
} Credits For more information, please refer to  http://nlp.stanford.edu/software/corenlp.shtml  or Manning, Christopher D., Surdeanu, Mihai, Bauer, John, Finkel, Jenny, Bethard, Steven J., and McClosky, David. 2014.  The Stanford CoreNLP Natural Language Processing Toolkit . In  Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations , pp. 55-60. 

Tags
(no tags)

Cost Breakdown

0 cr
royalty per call
1 cr
usage per second
avg duration
This algorithm has permission to call other algorithms which may incur separate royalty and usage costs.

Cost Calculator

API call duration (sec)
×
API calls
=
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

Calls other algorithms

This algorithm has permission to call other algorithms. This allows an algorithm to compose sophisticated functionality using other algorithms as building blocks, however it also carries the potential of incurring additional royalty and usage costs from any algorithm that it calls.


To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY' https://api.algorithmia.com/v1/algo/nlp/SentimentByTerm/0.1.3
View cURL Docs
algo auth
# Enter API Key: YOUR_API_KEY
algo run algo://nlp/SentimentByTerm/0.1.3 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://nlp/SentimentByTerm/0.1.3");
AlgoResponse result = algo.pipeJson(input);
System.out.println(result.asJsonString());
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://nlp/SentimentByTerm/0.1.3")
val result = algo.pipeJson(input)
System.out.println(result.asJsonString)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://nlp/SentimentByTerm/0.1.3")
           .pipe(input)
           .then(function(output) {
             console.log(output);
           });
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://nlp/SentimentByTerm/0.1.3")
           .pipe(input)
           .then(function(response) {
             console.log(response.get());
           });
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('nlp/SentimentByTerm/0.1.3')
print algo.pipe(input)
View Python Docs
library(algorithmia)

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("nlp/SentimentByTerm/0.1.3")
result <- algo$pipe(input)$result
print(result)
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('nlp/SentimentByTerm/0.1.3')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo("nlp/SentimentByTerm/0.1.3");
let response = algo.pipe(input);
View Rust Docs
import Algorithmia

let input = "{{input | formatInput:"swift"}}";
let client = Algorithmia.client(simpleKey: "YOUR_API_KEY")
let algo = client.algo(algoUri: "nlp/SentimentByTerm/0.1.3") { resp, error in
  print(resp)
}
View Swift Docs
Discussion
  • {{comment.username}}