Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

thunlp/PTR

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PTR: Prompt Tuning with Rules for Text Classification

The code and datasets of our paper "PTR: Prompt Tuning with Rules for Text Classification"

To clone the repository, please run the following command:

git clone https://github.com/thunlp/PTR.git --depth 1

If you use the code, please cite the following paper:

@article{han2021ptr,
  title={PTR: Prompt Tuning with Rules for Text Classification},
  author={Han, Xu and Zhao, Weilin and Ding, Ning and Liu, Zhiyuan and Sun, Maosong},
  journal={arXiv preprint arXiv:2105.11259},
  year={2021}
}

Quick Links

Overview

In this work, we propose prompt tuning with rules (PTR) for many-class text classification and apply logic rules to construct prompts with several sub-prompts. In this way, PTR is able to encode prior knowledge of each class into prompt tuning. You can find more details in our [paper](https://arxiv.org/pdf/2105.11259.pdf).

Requirements

The model is implemented using PyTorch. The versions of packages used are shown below.

  • numpy==1.18.0
  • scikit-learn==0.22.1
  • scipy==1.4.1
  • torch==1.4.0
  • tqdm==4.41.1
  • transformers==4.0.0

To set up the dependencies, you can run the following command:

pip install -r requirements.txt

Data Preparation

We have provided a scripts to download all the datasets we used in our paper. You can run the following command to download the datasets:

bash data/download.sh all

The above command will download all the datasets including

  • Retacred
  • Tacred
  • Tacrev
  • Semeval

If you only want to download a specific dataset, you can run the following command:

bash data/download.sh $dataset_name1 $dataset_name2 ...

where $dataset_nameX can be one or multiple of retacred, tacred, tacrev, semeval.

Experiments

Baselines

Some baselines, especially the baselines using entity markers, come from the project [RE_improved_baseline].

Reproduce Results in Our Work

1. For TACRED

bash scipts/run_large_tacred.sh

2. For TACREV

bash scripts/run_large_tacrev.sh

3. For RETACRED

bash scripts/run_large_retacred.sh

4. For Semeval

bash scripts/run_large_semeval.sh

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.