textaSentiment: Assesses the sentiment of sentences or documents.

Description Usage Arguments Value Author(s) Examples

View source: R/textaSentiment.R

Description

This function returns a numeric score between 0 and 1 with scores close to 1 indicating positive sentiment and scores close to 0 indicating negative sentiment.

Sentiment score is generated using classification techniques. The input features of the classifier include n-grams, features generated from part-of-speech tags, and word embeddings. English, French, Spanish and Portuguese text are supported.

Internally, this function invokes the Microsoft Cognitive Services Text Analytics REST API documented at https://www.microsoft.com/cognitive-services/en-us/text-analytics/documentation.

You MUST have a valid Microsoft Cognitive Services account and an API key for this function to work properly. See https://www.microsoft.com/cognitive-services/en-us/pricing for details.

Usage

1
textaSentiment(documents, languages = rep("en", length(documents)))

Arguments

documents

(character vector) Vector of sentences or documents for which to assess sentiment.

languages

(character vector) Languages of the sentences or documents, supported values: "en"(English, default), "es"(Spanish), "fr"(French), "pt"(Portuguese)

Value

An S3 object of the class texta. The results are stored in the results dataframe inside this object. The dataframe contains the original sentences or documents and their sentiment score. If an error occurred during processing, the dataframe will also have an error column that describes the error.

Author(s)

Phil Ferriere pferriere@hotmail.com

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
## Not run: 

 docsText <- c(
   "Loved the food, service and atmosphere! We'll definitely be back.",
   "Very good food, reasonable prices, excellent service.",
   "It was a great restaurant.",
   "If steak is what you want, this is the place.",
   "The atmosphere is pretty bad but the food is quite good.",
   "The food is quite good but the atmosphere is pretty bad.",
   "I'm not sure I would come back to this restaurant.",
   "The food wasn't very good.",
   "While the food was good the service was a disappointment.",
   "I was very disappointed with both the service and my entree."
 )
 docsLanguage <- rep("en", length(docsText))

 tryCatch({

   # Perform sentiment analysis
   docsSentiment <- textaSentiment(
     documents = docsText,    # Input sentences or documents
     languages = docsLanguage
     # "en"(English, default)|"es"(Spanish)|"fr"(French)|"pt"(Portuguese)
   )

   # Class and structure of docsSentiment
   class(docsSentiment)
   #> [1] "texta"
   str(docsSentiment, max.level = 1)
   #> List of 3
   #>  $ results:'data.frame': 10 obs. of  2 variables:
   #>  $ json   : chr "{\"documents\":[{\"score\":0.9903013,\"id\":\"hDgKc\", __truncated__ }]}
   #>  $ request:List of 7
   #>   ..- attr(*, "class")= chr "request"
   #>  - attr(*, "class")= chr "texta"

   # Print results
   docsSentiment
   #> texta [https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment]
   #>
   #> --------------------------------------
   #>              text               score
   #> ------------------------------ -------
   #>  Loved the food, service and    0.9847
   #>  atmosphere! We'll definitely
   #>            be back.
   #>
   #>  Very good food, reasonable     0.9831
   #>  prices, excellent service.
   #>
   #>  It was a great restaurant.     0.9306
   #>
   #>  If steak is what you want,     0.8014
   #>      this is the place.
   #>
   #> The atmosphere is pretty bad    0.4998
   #>  but the food is quite good.
   #>
   #> The food is quite good but the   0.475
   #>   atmosphere is pretty bad.
   #>
   #> I'm not sure I would come back  0.2857
   #>      to this restaurant.
   #>
   #>   The food wasn't very good.    0.1877
   #>
   #>  While the food was good the   0.08727
   #> service was a disappointment.
   #>
   #>  I was very disappointed with  0.01877
   #>    both the service and my
   #>            entree.
   #> --------------------------------------

 }, error = function(err) {

   # Print error
   geterrmessage()

 })

## End(Not run)

philferriere/mscstexta4r documentation built on May 25, 2019, 5:03 a.m.