Hi! This is the folder that contains the relevant tools to run article analysis with Aspect-Based Sentiment Analysis (ABSA).
Here's a brief overview of the folder:
absa
├── experiment_demos ## contains .ipynb notebooks for past experiments
│ └── ...
├── datasets ## past dataset parsed to trainable format
│ └── ...
├── utils
│ └── ...
├── train.py
└── test.py
The models are largely based on the work by Yang Heng's work on PyABSA. If any of the code in our absa toolkit goes problematic, you might find his guidelines helpful!
In plain-old sentiment analysis (classification), we put a sentence as input and obtain a prediction of whether the sentence belongs to the positive
, negative
, or neutral
class.
In Aspect-Based Sentiment Analysis, there is one more task on top. The task involves identifying the aspect term, and outputting a corresponding sentiment that the speaker holds towards that aspect.
In the implementation provided by this repository, the task is carried out in a pipeline manner. We first identify the aspect terms (token classification)and then perform sentiment classification. (The nomenclature below are adapted from the original repository.)
Given a sequence (a sentence),
You might see words like "ATEPC" in this repository--read it as a conjunction of the two tasks.
The
Described in this issue.
The idea is that, given that we have a
To enable the model (specifically, aspect term extractor) to be more focused on crops and organizations, it may be a good idea to
Here is the complete structure of this folder.
absa
├── experiment_demos
├── datasets
│ ├── apc_datasets
│ │ └── 160.CustomDataset
│ │ ├── mbio_custom.test.dat.apc
│ │ └── mbio_custom.train.dat.apc
│ └── atepc_datasets
│ └── 160.CustomDataset
├── utils
│ └── csv_to_atepc.py
├── train.py
└── test.py
A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges
- Covers comprehensively the methods, sub-tasks, and various models in the Aspect-Based Sentiment Analysis field.