Awesome
ASGCN
ASGCN - Aspect-Specific Graph Convolutional Network
- Code and preprocessed dataset for EMNLP 2019 paper titled "Aspect-based Sentiment Classification with Aspect-specific Graph Convolutional Networks"
- Chen Zhang, Qiuchi Li and Dawei Song.
Updates
- 11/11/2020: I introduce a new ASTCN model which contains a bidirectional graph convolutional network over directed dependency trees.
- 10/5/2020: Many of you may be faced with reproducibility issue owing to corrupted word vectors when downloading (i.e., glove.840B.300d.txt is generally too large). Thus, we have released trimmed version of word embeddings on rest14 dataset as a pickled file along with vocabulary for you to verify the reproducibility.
Requirements
- Python 3.6
- PyTorch 1.0.0
- SpaCy 2.0.18
- numpy 1.15.4
Usage
- Install SpaCy package and language models with
pip install spacy
and
python -m spacy download en
- Generate graph data with
python dependency_graph.py
- Download pretrained GloVe embeddings with this link and extract
glove.840B.300d.txt
intoglove/
. - Train with command, optional arguments could be found in train.py
python train.py --model_name asgcn --dataset rest14 --save True
- Infer with infer.py
Model
we propose to build a Graph Convolutional Network (GCN) over the dependency tree of a sentence to exploit syntactical information and word dependencies. Based on it, a novel aspectspecific sentiment classification framework is raised.
An overview of our proposed model is given below
Citation
If you use the code in your paper, please kindly star this repo and cite our paper
@inproceedings{zhang-etal-2019-aspect,
title = "Aspect-based Sentiment Classification with Aspect-specific Graph Convolutional Networks",
author = "Zhang, Chen and Li, Qiuchi and Song, Dawei",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)",
month = nov, year = "2019",
address = "Hong Kong, China",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/D19-1464",
doi = "10.18653/v1/D19-1464",
pages = "4560--4570",
}
Credits
- Code of this repo heavily relies on ABSA-PyTorch, in which I am one of the contributors.
- For any issues or suggestions about this work, don't hesitate to create an issue or directly contact me via gene_zhangchen@163.com !