- Get link
- X
- Other Apps
Featured Post
Posted by
Varun
on
- Get link
- X
- Other Apps
Sentiment analysis, a powerful application of Natural Language Processing (NLP), allows developers to gain insights into the emotions expressed in textual data. In this article, we'll explore how to perform sentiment analysis in Java using the Stanford NLP library. We'll guide you through setting up a Maven project, compiling the code, and running it with practical examples.
Prerequisites
Get IntelliJ Idea from https://www.jetbrains.com/idea/download.
You can skip this and use any other IDE as well. The steps for setting up a maven project will be different for each IDE.
Step 1: Create a New Project
- Open IntelliJ IDEA and click on "Create New Project."
- Choose "Maven" as the project type and click "Next."
- Set the "GroupId" to com.simplestcodings and "ArtifactId" to SentimentAnalysis.
- Click "Next" and then "Finish."
Step 2: Add Dependencies
Open the pom.xml file in the editor and replace the content with this section:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.simplestcodings</groupId>
<artifactId>nlp</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>4.5.6</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>4.5.6</version>
<classifier>models</classifier>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
Step 3: Create Project Structure
- Right-click on the src directory in your project and choose "New" -> "Package."
- Name it com.simplestcodings.
- Inside the com.simplestcodings package, create a new Java class named SentimentAnalysis.
Step 4: Configure Properties
Right-click on the src directory and create a new directory named
resources. Inside the resources directory, create a file named
application.properties with the following content:
tokenize.whitespace=true ssplit.eolonly=true annotators = tokenize, ssplit, parse, sentiment
Step 5: Write Code
Replace the contents of SentimentAnalysis.java with the code provided
below
package com.simplestcodings;
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.sentiment.SentimentCoreAnnotations;
import edu.stanford.nlp.util.CoreMap;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class SentimentAnalysis {
public static void main(String[] args) {
// Initialize the Stanford NLP pipeline
StanfordCoreNLP pipeline = new StanfordCoreNLP("application.properties");
// Sample text for sentiment analysis
String text = "Simplest codings is the best place to learn and grow. I am glad to be here.";
// Perform sentiment analysis
String sentiment = getSentiment(text, pipeline);
// Display the result
log.info("Text: {}, Sentiment: {}",text, sentiment);
// Another Sample text for sentiment analysis
text = "I hate this place. I am not coming back here again. I am very disappointed.";
// Perform sentiment analysis
sentiment = getSentiment(text, pipeline);
// Display the result
log.info("Text: {}, Sentiment: {}",text, sentiment);
}
private static String getSentiment(String text, StanfordCoreNLP pipeline) {
// Create an Annotation object with the input text
Annotation annotation = new Annotation(text);
// Run all the NLP annotators on the text
pipeline.annotate(annotation);
// Extract the sentiment from the annotation
CoreMap sentence = annotation.get(CoreAnnotations.SentencesAnnotation.class).get(0);
String sentiment = sentence.get(SentimentCoreAnnotations.SentimentClass.class);
return sentiment;
}
}
Step 6: Run the Code
Right-click on the SentimentAnalysis class and select "Run
SentimentAnalysis.main()". Observe the output in the Run console, which
should display the sentiment of the provided text.
You have successfully set up and run a sentiment analysis Java project
using the Stanford NLP library in IntelliJ IDEA. Feel free to explore more
examples and experiment with different texts to gain insights into the
sentiment analysis capabilities of Java and NLP. Happy
coding!
natural language processing
NLP
nlp in java
sentiment analysis
sentiment analysis in java
Simplest Codings NLP
- Get link
- X
- Other Apps
Comments
Post a Comment
Please post your valuable suggestions