wiki:en/NlpInPracticeCourse/OpinionSentiment

Version 2 (modified by Ales Horak, 3 years ago) (diff)

edited by hales in edit_page_in_vim.py

Opinion mining, sentiment analysis

IA161 NLP in Practice Course, Course Guarantee: Aleš Horák

Prepared by: Zuzana Nevěřilová

State of the Art

Sentiment analysis can be seen as a text categorization task (i.e., the writer's opinion on a discussed topic X or Y?). It consists of detection of the topic (which can be easy in focused reviews) and detection of the sentiment (which is generally difficult). Opinions are sometimes subtly expressed (e.g., the sentence How could anyone sit through this movie? contains no negative word). The sentiments are usually classified by their polarity (positive, negative) but can be recognized more in-depth (e.g., strongly negative). Recognized opinions are also subject to summarization (e.g., how many people like this new iPhone design?).

References

  1. Bing Liu. Sentiment Analysis and Opinion Mining. Synthesis Lectures on Human Language Technologies. 2012, 5(1): 1-167. DOI: 10.2200/s00416ed1v01y201204hlt016. Draft version available at http://www.cs.uic.edu/~liub/FBS/SentimentAnalysis-and-OpinionMining.pdf
  2. Zhang, L. J., Wang, S., and Liu, B. (2018). Deep learning for sentiment analysis: A survey. Wiley Interdiscip. Rev. Data Min. Knowl. Discov., 8.
  3. Yanying Mao, Qun Liu, Yu Zhang: Sentiment analysis methods, applications, and challenges: A systematic literature review, Journal of King Saud University - Computer and Information Sciences, Volume 36, Issue 4, 2024, https://doi.org/10.1016/j.jksuci.2024.102048.

Practical Session

Technical Requirements

The task will proceed using Python notebook run in a web browser in the Google Colaboratory environment with the MU G-Suite disk access.

In the case of running the codes in a local environment, the requirements are Python 3 and Jupyter Notebook.

Sentiment Analysis

In this workshop, we will experiment with a simple aspect-based sentiment analysis (ABSA). We will use a pretrained model to obtain sentiments about individual sentences.

Access the Python notebook in the Google Colab environment. Do not forget to save your work if you want to see your changes later; leaving the browser will throw away all changes!

  1. Create <YOUR_FILE>, a text file named ia161-UCO-01.txt where UCO is your university ID.
  2. Do tasks marked in the python notebook as TASK X.
  3. Write your results from the notebook (not the notebook itself) in <YOUR_FILE>.

Upload <YOUR_FILE>

Do not forget to upload your resulting file to the homework vault (odevzdávárna).