panli ef3df73166 refactor: 三层架构重构 + 配置文件 + 项目目录整理
清洗管线重构为严格三层架构:
- tango_analyser.py(底层:单词分析)
- task_processor.py(中层:文件 I/O、桶管理)
- workflow.py(顶层:状态机、任务推进)
- 移除旧的 batch_processor.py

新增配置文件系统:
- config.py:TOML 配置,相对路径相对配置文件目录解析
- 查找优先级 --config > cwd > 项目根 > ~ > 默认值
- count=None 语义为处理到文件末尾

项目目录整理:
- 根脚本归档到 scripts/analysis 与 scripts/legacy
- 文档归档到 docs/{design,history,analysis}
- 临时报告移到 reports/(已 gitignore)

文档质量:
- 新增 .markdownlint.json 与 scripts/mdlint.cmd
- 修复全部 14 个 md 文件的 markdownlint 警告

测试:74 passed(8 cleaner + 31 workflow + 6 tango + 15 validator + 14 config)
2026-08-19 19:40:02 +08:00

132 lines
3.1 KiB
Markdown
Raw Permalink 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.

# Analysis Scripts分析工具
这个目录存放数据分析脚本,用于**清理完成后**对权威库进行统计分析和质量验证。
## 状态
🚧 **待集成** — 这些脚本是独立工具,未来将集成到 jclean 作为子命令。
---
## 文件清单
### `analyze_phonetics.py` (194 行)
**功能**:日语汉字发音规律分析
**用途**
- 从词表中提取「汉字 → 中文拼音 → 日语假名」对应样本
- 统计中文读音与日语音读之间的系统性规律
- 分析声母/韵母对应关系、长音/拨音特征
**输入**:词表文件(格式:`汉字|分段:假名|分段:拼音|分段`
**输出**:统计报告(控制台)
- 中文声母 → 日语音读映射频率
- 韵母对应规律
- 长音、拨音等特征统计
**使用**
```bash
python scripts/analysis/analyze_phonetics.py data/db/vocabulary.txt
```
**未来集成**
```bash
# 计划作为 jclean 子命令
jclean analyze phonetics --input data/db/vocabulary.txt
```
---
### `validate_data.py` (234 行)
**功能**:词表数据质量校验
**用途**
- 拼音校验:用 pypinyin 检查每个汉字拼音是否在合法读音集合内(考虑多音字)
- 日语读音校验:
- 整词级:用 jamdict 真词典查整词,验证假名是否为该词已知读音
- 单字级:用 kanjidic 的音读/训读,检查每个汉字的假名是否合理
- 结构校验:三段是否齐全、汉字数/假名数/拼音数是否对齐
**输入**:词表文件
**输出**`validation_report.txt`UTF-8避免控制台乱码
- 拼音错误列表
- 假名不匹配列表
- 结构异常列表
**使用**
```bash
python scripts/analysis/validate_data.py data/db/vocabulary.txt data/db/skipped.txt
```
**未来集成**
```bash
# 计划作为 jclean 子命令
jclean validate --input data/db/vocabulary.txt --output report.txt
```
---
## 依赖
这些脚本依赖额外的分析库(未包含在 jclean 核心依赖中):
```bash
# 拼音分析
pip install pypinyin
# 日语词典validate_data.py
pip install jamdict
```
**数据库路径**`validate_data.py` 中硬编码):
- 本地副本:`C:\Users\panli\jamdict_local.db`
- 网络路径:`\\192.168.3.200\work\workspace\python\japanese\src\pl_japanese\jamdict.db\jamdict.db`
---
## 集成计划
未来这些工具将整合进 jclean
```bash
jclean analyze phonetics <input> # 发音规律分析
jclean validate <input> # 数据质量校验
jclean stats <input> # 统计信息(词条数、覆盖率等)
```
在集成时需要:
1. 将核心逻辑提取为模块(避免重复代码)
2. 统一输入/输出格式(支持配置文件中的路径)
3. 可选依赖处理pypinyin/jamdict 作为可选分析功能)
4. 添加对应测试
---
## 当前使用
在集成之前,可以直接运行这些脚本:
```bash
# 分析发音规律
cd \\192.168.3.200\work\workspace\python\japanese
python scripts/analysis/analyze_phonetics.py data/db/vocabulary.txt
# 校验数据质量
python scripts/analysis/validate_data.py data/db/vocabulary.txt
cat validation_report.txt
```