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

3.1 KiB
Raw Blame History

Analysis Scripts分析工具

这个目录存放数据分析脚本,用于清理完成后对权威库进行统计分析和质量验证。

状态

🚧 待集成 — 这些脚本是独立工具,未来将集成到 jclean 作为子命令。


文件清单

analyze_phonetics.py (194 行)

功能:日语汉字发音规律分析

用途

  • 从词表中提取「汉字 → 中文拼音 → 日语假名」对应样本
  • 统计中文读音与日语音读之间的系统性规律
  • 分析声母/韵母对应关系、长音/拨音特征

输入:词表文件(格式:汉字|分段:假名|分段:拼音|分段

输出:统计报告(控制台)

  • 中文声母 → 日语音读映射频率
  • 韵母对应规律
  • 长音、拨音等特征统计

使用

python scripts/analysis/analyze_phonetics.py data/db/vocabulary.txt

未来集成

# 计划作为 jclean 子命令
jclean analyze phonetics --input data/db/vocabulary.txt

validate_data.py (234 行)

功能:词表数据质量校验

用途

  • 拼音校验:用 pypinyin 检查每个汉字拼音是否在合法读音集合内(考虑多音字)
  • 日语读音校验:
    • 整词级:用 jamdict 真词典查整词,验证假名是否为该词已知读音
    • 单字级:用 kanjidic 的音读/训读,检查每个汉字的假名是否合理
  • 结构校验:三段是否齐全、汉字数/假名数/拼音数是否对齐

输入:词表文件

输出validation_report.txtUTF-8避免控制台乱码

  • 拼音错误列表
  • 假名不匹配列表
  • 结构异常列表

使用

python scripts/analysis/validate_data.py data/db/vocabulary.txt data/db/skipped.txt

未来集成

# 计划作为 jclean 子命令
jclean validate --input data/db/vocabulary.txt --output report.txt

依赖

这些脚本依赖额外的分析库(未包含在 jclean 核心依赖中):

# 拼音分析
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

jclean analyze phonetics <input>   # 发音规律分析
jclean validate <input>             # 数据质量校验
jclean stats <input>                # 统计信息(词条数、覆盖率等)

在集成时需要:

  1. 将核心逻辑提取为模块(避免重复代码)
  2. 统一输入/输出格式(支持配置文件中的路径)
  3. 可选依赖处理pypinyin/jamdict 作为可选分析功能)
  4. 添加对应测试

当前使用

在集成之前,可以直接运行这些脚本:

# 分析发音规律
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