| | ---
|
| | license: apache-2.0
|
| | tags:
|
| | - text-classification
|
| | - emotion
|
| | language:
|
| | - zh
|
| | - en
|
| | library_name: transformers
|
| | ---
|
| |
|
| | # text-emotion-classification
|
| |
|
| | A text emotion recognition application that can be quickly deployed and used locally. You can perform interactive inference simply by running `main.py`.
|
| |
|
| | [中文版](./README_zh.md)
|
| |
|
| | ## Features
|
| |
|
| | - **Local Inference**: Loads the `sentiment_roberta` model directory within the repository for text emotion classification.
|
| | - **Label Mapping**: Reads `id -> Chinese Emotion Name` mapping from `text-emotion.yaml`.
|
| | - **Interactive CLI**: Enter text in the command line to output the emotion category and confidence level.
|
| |
|
| | ## Directory Structure (Key Files)
|
| |
|
| | - `main.py`: Entry script (run directly).
|
| | - `sentiment_roberta/`: Exported Transformers model directory (contains `config.json`, `model.safetensors`, tokenizer, etc.).
|
| | - `text-emotion.yaml`: Label mapping file.
|
| | - `release-note.md`: Release notes (used by GitHub Actions as the release body).
|
| |
|
| | ## Environment Requirements
|
| |
|
| | - **Python 3.10** (Recommended, matches the author's environment; 3.9+ is theoretically compatible but not fully verified).
|
| | - **Dependency Management**: Conda environment (recommended) or venv.
|
| | - **PyTorch**:
|
| | - **CPU Inference**: Install the CPU version of `torch`.
|
| | - **GPU Inference**: Requires an NVIDIA GPU + corresponding CUDA version (the author's environment uses `torch==2.10.0+cu128` / `torchvision==0.25.0+cu128` built with CUDA 12.8).
|
| |
|
| | The author's conda environment export file is provided: `environment.yml`.
|
| |
|
| | ## Installation
|
| |
|
| | ### Using Conda Environment File (Recommended)
|
| |
|
| | ```bash
|
| | conda env create -f environment.yml
|
| | conda activate text-emotion-classification
|
| | ```
|
| |
|
| | ## Usage
|
| |
|
| | ```bash
|
| | python main.py
|
| | ```
|
| |
|
| | Follow the prompts to enter text:
|
| | - **Enter any text**: Outputs emotion prediction and confidence.
|
| | - **Empty input (Enter)**: Exits the program.
|
| |
|
| | ## FAQ
|
| |
|
| | - **Cannot find model directory `sentiment_roberta`**
|
| | - Ensure `sentiment_roberta/` exists in the root directory and contains files like `config.json` and `model.safetensors`.
|
| | - **Inference Device**
|
| | - The program automatically selects `cuda` if available; otherwise, it defaults to `cpu`.
|
| |
|
| | ## License
|
| |
|
| | See [Apache 2.0 License](./LICENSE).
|
| |
|
| |
|