TEXTOIR is the first high-quality Text Open Intent Recognition platform. This repo contains a convenient toolkit with extensible interfaces, integrating a series of state-of-the-art algorithms of two tasks (open intent detection and open intent discovery). We also release the pipeline framework and the visualized platform in the repo TEXTOIR-DEMO.
TEXTOIR aims to provide a convenience toolkit for researchers to reproduce the related text open classification and clustering methods. It contains two tasks, which are defined as open intent detection and open intent discovery. Open intent detection aims to identify n-class known intents, and detect one-class open intent. Open intent discovery aims to leverage limited prior knowledge of known intents to find fine-grained known and open intent-wise clusters. Related papers and codes are collected in our previous released reading list.
We strongly recommend you to use our TEXTOIR toolkit, which has standard and unified interfaces (especially data setting) to obtain fair and persuable results on benchmark intent datasets!
| Dataset Name | Source |
|---|---|
| BANKING | Paper Dataset |
| OOS | Paper Dataset |
| StackOverflow | Paper Dataset |
| Model Name | Source | Published |
|---|---|---|
| DA-ADB | Paper Code | arXiv 2022 |
| ARPL | Paper Code | IEEE TPAMI 2022 |
| MDF | Paper Code | ACL 2021 |
| (K+1)-way | Paper Code | ACL 2021 |
| ADB | Paper Code | AAAI 2021 |
| SEG | Paper Code | ACL 2020 |
| DeepUnk | Paper Code | ACL 2019 |
| DOC | Paper Code | EMNLP 2017 |
| MSP | Paper Code | ICLR 2017 |
| OpenMax | Paper Code | CVPR 2016 |
| Setting | Model Name | Source | Published |
|---|---|---|---|
| Semi-supervised | DeepAligned | Paper Code | AAAI 2021 |
| Semi-supervised | CDAC+ | Paper Code | AAAI 2020 |
| Semi-supervised | DTC* | Paper Code | ICCV 2019 |
| Semi-supervised | MCL* | Paper Code | ICLR 2019 |
| Semi-supervised | KCL* | Paper Code | ICLR 2018 |
| Unsupervised | DCN | Paper Code | ICML 2017 |
| Unsupervised | DEC | Paper Code | ICML 2016 |
| Unsupervised | SAE-KM | Paper | JMLR 2010 |
| Unsupervised | AG | Paper | PR 1978 |
| Unsupervised | KM | Paper | 1967 |
(* denotes the CV model replaced with the BERT backbone)
- Use anaconda to create Python (version >= 3.6) environment
conda create --name textoir python=3.6
conda activate textoir
- Install PyTorch (Cuda version 11.2)
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch -c conda-forge
- Clone the TEXTOIR repository, and choose the task (Take open intent detection as an example).
git clone git@github.com:thuiar/TEXTOIR.git
cd TEXTOIR
cd open_intent_detection
- Install related environmental dependencies
pip install -r requirements.txt
- Run examples (Take ADB as an example)
sh examples/run_ADB.sh
This toolkit is extensible and supports adding new methods, datasets, configurations, backbones, dataloaders, losses conveniently. More detailed information can be seen in the directory open_intent_detection and open_intent_discovery respectively.
If this work is helpful, or you want to use the codes and results in this repo, please cite the following papers:
- TEXTOIR: An Integrated and Visualized Platform for Text Open Intent Recognition
- Learning Discriminative Representations and Decision Boundaries for Open Intent Detection
@inproceedings{zhang-etal-2021-textoir,
title = "{TEXTOIR}: An Integrated and Visualized Platform for Text Open Intent Recognition",
author = "Zhang, Hanlei and Li, Xiaoteng and Xu, Hua and Zhang, Panpan and Zhao, Kang and Gao, Kai",
booktitle = "Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations",
pages = "167--174",
year = "2021",
url = "https://aclanthology.org/2021.acl-demo.20",
doi = "10.18653/v1/2021.acl-demo.20",
}
@article{zhang2022towards,
title={Learning Discriminative Representations and Decision Boundaries for Open Intent Detection},
author={Zhang, Hanlei and Xu, Hua and Zhao, Shaojie and Zhou, Qianrui},
journal={arXiv preprint arXiv:2203.05823},
year={2022}
}
Hanlei Zhang, Shaojie Zhao, Xin Wang, Ting-En Lin, Qianrui Zhou, Huisheng Mao.
If you have any questions, please open issues and illustrate your problems as detailed as possible. If you want to integrate your method in our repo, please feel free to pull request!
