---
title: statement-type-classification-based-on-lora
canonical_url: "https://www.modelscope.cn/models/Fu496735182/statement-type-classification-based-on-lora"
md_url: "https://www.modelscope.cn/models/Fu496735182/statement-type-classification-based-on-lora.md"
repository: Fu496735182/statement-type-classification-based-on-lora
chinese_name: "基于Qwen3.5-0.8B LORA的中文文本陈述类型分类"
last_updated: 2026-09-15
pipeline_tag: text-classification
tasks:
  - text-classification
parameters: 6.4M
tensor_type:
  - F32
library_name:
  - safetensors
downloads: 8
stars: 0
---

# statement-type-classification-based-on-lora

> statement-type-classification-based-on-lora - Fu496735182 在 ModelScope 开源的模型。本项目用于部署 `statement_type` 三分类 LoRA 模型。输入一条上游抽取或改写后的候选记忆陈述，输出该陈述属于：`FACT`、`OPINION`或`OTHER`。

- **Repository**: Fu496735182/statement-type-classification-based-on-lora
- **Tasks**: text-classification
- **Parameters**: 6.4M
- **Downloads**: 8
- **Stars**: 0
- **Last updated**: 2026-09-15

Source: https://www.modelscope.cn/models/Fu496735182/statement-type-classification-based-on-lora

---

# 基于 Qwen3.5-0.8B LoRA 的中文陈述类型分类

本项目用于部署 `statement_type` 三分类 LoRA 模型。输入一条上游抽取或改写后的候选记忆陈述，输出该陈述属于：

- `FACT`：事实性陈述
- `OPINION`：观点、评价、态度或感受
- `OTHER`：无效片段、寒暄、纯指令、纯疑问、格式噪声或不可沉淀陈述

## 模型文件说明

当前仓库中的 `model/` 目录保存的是 LoRA adapter，不是完整的 Qwen 基座模型。因此运行时还需要额外准备 Qwen3.5-0.8B 基座模型文件。

推荐目录结构：

```text
statement_type_lora/
├── main.py
├── README.md
├── model/              # LoRA adapter
└── Qwen3.5_0.8B/        # 可选：本地 Qwen3.5-0.8B 基座模型
```

如果基座模型不放在当前目录下，可以通过环境变量指定：

PowerShell：

```powershell
$env:QWEN_BASE_MODEL="你的Qwen3.5-0.8B基座模型路径"
```

Windows cmd：

```bat
set QWEN_BASE_MODEL=你的Qwen3.5-0.8B基座模型路径
```

也可以通过 `MODEL_PATH` 指定 LoRA adapter 路径：

PowerShell：

```powershell
$env:MODEL_PATH="你的LoRA-adapter路径"
```

Windows cmd：

```bat
set MODEL_PATH=你的LoRA-adapter路径
```

## 输入格式

最常用输入是一条 `statement_text`：

```json
{
  "statement_text": "我觉得这个方案不错。"
}
```

`main.py` 的 `predict` 方法也支持可选上下文：

```python
result = service.predict(
    statement_text="用户觉得这个方案不错。",
    context="用户刚体验了新版页面，并反馈整体流程比较顺。"
)
```

如果不传 `context`，模型只根据 `statement_text` 判断。

## 输出格式

```json
{
  "predicted_label": "OPINION",
  "probabilities": {
    "FACT": 0.0123,
    "OPINION": 0.9812,
    "OTHER": 0.0065
  },
  "logits": {
    "FACT": 1.2345,
    "OPINION": 5.6789,
    "OTHER": 0.9876
  }
}
```

## 推理逻辑

该模型采用 Qwen next-token 三分类方式，而不是 BERT 分类头：

- `0` -> `FACT`
- `1` -> `OPINION`
- `2` -> `OTHER`

推理时，`main.py` 会构造和训练脚本一致的 chat prompt，然后读取最后一个位置上 `0/1/2` 三个 token 的 logit，并通过 softmax 得到三类概率。

## 快速测试

```bat
python main.py
```

默认测试文本：

```text
我觉得这个方案不错。
```

## 代码调用

```python
from main import StatementTypeLoraService

service = StatementTypeLoraService()
result = service.predict("客户是网球AI设备公司负责人。")
print(result)
```

如果基座模型在其他位置：

```python
from main import StatementTypeLoraService

service = StatementTypeLoraService(
    base_model_dir="你的Qwen3.5-0.8B基座模型路径"
)
result = service.predict("用户认为网页设计得还不错。")
print(result)
```

## 分类效果

在私有 `statement_type` 测试集上，Qwen3.5-0.8B-LoRA 的表现如下：

| 指标 | 数值 |
| --- | ---: |
| Accuracy | 0.8864 |
| Macro-F1 | 0.8510 |
| 正确数 / 总数 | 913 / 1030 |

各类别 F1：

| 标签 | Precision | Recall | F1 |
| --- | ---: | ---: | ---: |
| FACT | 0.9158 | 0.9398 | 0.9276 |
| OPINION | 0.8450 | 0.8086 | 0.8264 |
| OTHER | 0.8182 | 0.7803 | 0.7988 |

## 依赖

```text
torch
transformers
peft
```

如果运行时报找不到基座模型，请确认已经准备完整 Qwen3.5-0.8B 文件，包括：

- `config.json`
- `tokenizer.json` 或 tokenizer 相关文件
- 模型权重文件

并通过 `QWEN_BASE_MODEL` 指向该目录。
