wechat-robot-skills/skills/xlsx/references/text-analysis.md

35 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 文本归类、抽取和翻译
先用 `inspect_workbook.py` 分批读取目标文字列及必要上下文,确定抽取字段、标签定义和输出位置。原文与原工作表保留,分类或译文写入新列、新 sheet 或副本,记录 source_sheet、source_row、source_col。不要把前 15 行的标签直接套给未读取的全部行。
## 模型逐行理解
摘要、实体抽取、语义分类和翻译由模型基于已读取原文完成,再用 `apply_workbook.py` 的 `set_cells` 或 `write_rows` 写回。按任务保留:原文、清洗文本、要点、观点、实体、类别、子类别、多标签、标准化结果、证据片段、不确定说明;不要求每次都增加全部字段。
- 分类体系以用户定义为准;缺少重要定义时提出精确问题,普通边界样本可以标为“未知/需复核”。多标签要注明分母是记录数还是标签次数。
- 标准化只处理明确同义词、空白和格式,不抹去否定词、程度词、时间、主体等会改变含义的信息。
- 词典匹配是规则判断,不能直接当作深度语义或情感理解。例如“服务不错,但物流很慢”需要保留冲突信息。
- 翻译前确定目标语言及术语表;保留数字、产品编号、专名、公式、链接和日期。按实际读取的单元格翻译,不翻译表名或改结构,除非用户要求。
- `value` 写入译文/标签,包括以 `=` 开头的普通文本;真正公式使用 `formula`。不要通过重建整个 DataFrame 覆盖原工作簿来翻译,避免丢失模板、公式和宏。
- 当前流程不调用外部翻译服务,无需 deep-translator。完成后核对处理单元格数、原文对应关系、术语一致性以及未处理项,不能因为某一格成功就报告全表完成。
## 可重复的规则分类
已有明确关键词规则时,用 `analyze_workbook.py`:
```json
{
"method": "classify",
"source": {"sheet": "反馈", "columns": {"评价": "C"}},
"column": "评价",
"rules": [
{"label": "配送问题", "keywords": ["迟到", "物流慢"]},
{"label": "服务正向", "keywords": ["服务好", "态度好"]}
]
}
```
规则采用不区分大小写的字面子串匹配。单一命中输出该类别,多类别命中为“需复核”,未命中为“未知”;输出命中标签及证据关键词,并在另一张 sheet 汇总互斥类别的记录数和占比。不会自动推断未列出的同义词、否定含义或新类别。
后续将生成的 `spec_path` 交给原 `apply_workbook.py`。结合模型逐行复核可修正规则结果;用户要求完整语义抽取时,不以关键词命中结果代替未完成的理解工作。