| language: | |
| - zh | |
| - en | |
| license: apache-2.0 | |
| base_model: Qwen/Qwen3.5-0.8B-Base | |
| tags: | |
| - text-classification | |
| - bbs | |
| - new-word-discovery | |
| - qwen | |
| # BBS-NewWordFind | |
| 基于 Qwen3.5-0.8B-Base 微调的中文论坛新词发现分类模型。用于判定语境中的候选词是否具备独立、稳定的语义,过滤残片(Fragment)、乱码(Garbled)与高频虚词(Too Common)。 | |
| ## 架构说明 | |
| 本模型采用定制化的特征池化策略与损失函数: | |
| - **特征提取**:截取基座模型 Layer 19 的输出,对全句非填充(Non-pad)Token 执行 Global Sentence Mean Pooling。 | |
| - **损失函数**:引入 Focal Loss (gamma=2.0) 处理类别不平衡与困难噪声样本(Hard Example Re-weighting)。 | |
| - **分类网络**:对 1024 维度的全局特征进行 LayerNorm -> Linear -> SiLU -> Dropout -> Linear 降维处理,输出二分类概率。 | |
| ## 性能指标 | |
| 测试集指标: | |
| - F1-Score: 0.8532 | |
| - Accuracy: 89.50% | |
| - Precision: 82.63% | |
| - Recall: 88.19% | |
| ## 使用方式 | |
| 推荐使用 `uv` 进行依赖管理与执行。 | |
| ### 1. 环境准备 | |
| ```bash | |
| uv venv | |
| source .venv/bin/activate | |
| uv add torch transformers huggingface_hub loguru tqdm scikit-learn accelerate | |
| ``` | |
| ### 2. 执行推理 | |
| 下载仓库内的 `inference.py` 脚本,执行批量推理: | |
| ```bash | |
| uv run inference.py --input data.json | |
| ``` | |
| 脚本默认指向本仓库拉取权重(包含定制的 `classifier_head.pt`),并在当前目录输出 `accepted_words.json` 与 `rejected_words.json`。 | |
| ### 3. 数据格式参考 (`data.json`) | |
| 输入必须包含候选词及其关联语境列表: | |
| ```json | |
| { | |
| "io_uring": { | |
| "contexts": [ | |
| "Linux 6.12 对 io_uring 做了深度优化。", | |
| "推荐使用 io_uring 替代传统的 epoll。" | |
| ] | |
| } | |
| } | |
| ``` | |