清洗管线重构为严格三层架构:
- 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)
132 lines
3.1 KiB
Markdown
132 lines
3.1 KiB
Markdown
# 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
|
||
```
|