TobiasLee/Text-Classification
TobiasLee/Text-Classification has 734 GitHub stars and 191 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 06:32 UTC. Last push 2020-10-01.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Implementation of papers for text classification task on DBpedia
머신러닝README.md
OriginalText-Classification
Implement some state-of-the-art text classification models with TensorFlow.
Requirement
- Python3
- TensorFlow >= 1.4
Note: Original code is written in TensorFlow 1.4, while the VocabularyProcessor is depreciated, updated code changes to use tf.keras.preprocessing.text to do preprocessing. The new preprocessing function is named data_preprocessing_v2
Dataset
You can load the data with
dbpedia = tf.contrib.learn.datasets.load_dataset('dbpedia', test_with_fake_data=FLAGS.test_with_fake_data)
Or download it from Baidu Yun.
Attention is All Your Need
Paper: Attention Is All You Need
See multi_head.py
Use self-attention where Query = Key = Value = sentence after word embedding
Multihead Attention module is implemented by Kyubyong
IndRNN for Text Classification
Paper: Independently Recurrent Neural Network (IndRNN): Building A Longer and Deeper RNN
IndRNNCell is implemented by batzener
Attention-Based Bidirection LSTM for Text Classification
Paper: Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
See attn_bi_lstm.py
Hierarchical Attention Networks for Text Classification
Paper: Hierarchical Attention Networks for Document Classification
See attn_lstm_hierarchical.py
Attention module is implemented by ilivans/tf-rnn-attention .
Adversarial Training Methods For Supervised Text Classification
Paper: Adversarial Training Methods For Semi-Supervised Text Classification
See: adversrial_abblstm.py
Convolutional Neural Networks for Sentence Classification
Paper: Convolutional Neural Networks for Sentence Classification
See: cnn.py
RMDL: Random Multimodel Deep Learning for Classification
Paper: RMDL: Random Multimodel Deep Learning for Classification
See: RMDL.py See: RMDL Github
Note: The parameters are not fine-tuned, you can modify the kernel as you want.
Performance
| Model | Test Accuracy | Notes |
|---|---|---|
| Attention-based Bi-LSTM | 98.23 % | |
| HAN | 89.15% | 1080Ti 10 epochs 12 min |
| Adversarial Attention-based Bi-LSTM | 98.5% | AWS p2 2 hours |
| IndRNN | 98.39% | 1080Ti 10 epochs 10 min |
| Attention is All Your Need | 97.81% | 1080Ti 15 epochs 8 min |
| RMDL | 98.91% | 2X Tesla Xp (3 RDLs) |
| CNN | 98.37% |
Welcome To Contribute
If you have any models implemented with great performance, you're welcome to contribute. Also, I'm glad to help if you have any problems with the project, feel free to raise a issue.