BBS-NewWordFind / README.md
Saniter's picture
Upload README.md with huggingface_hub
20353db verified
|
Raw
History Blame Contribute Delete
1.79 kB
---
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。"
]
}
}
```