核心问题是:文件名中的中文部分是后期不准确的直译,而英文部分是准确的原始描述。需要优先使用英文部分进行翻译和标签生成。
- 英文部分是准确的原始描述,中文部分可能是后期不准确的直译,应优先使用英文部分
- 过滤无意义内容:天途影像、X 2 数量标识、错误直译词
- 单个中文数字(一、二、三等)应保留,不应被过滤
- 保持代码修改已提交到 git
Discoveries
- 问题根源:
_extract_english_part方法从完整路径提取英文而非只提取文件名 - 多层过滤问题:多个地方都有
len(word) >= 2的过滤条件,导致单个中文数字被过滤 - 需要修改的位置:
_extract_semantic_words中的语义提取_filter_meaningless_tags中的标签过滤_generate_natural_language_filename中的文件名生成
Accomplished
- 新增
_extract_english_part()方法提取英文部分(已修复路径问题) - 新增
_optimize_filename_with_llm()方法使用 Qwen 模型优化 - 扩展翻译词库(鸟类、猫、狗、身体部位、数字等约150词)
- 扩展
label_to_tags映射表(约120词) - 修复
NameError: quoted_content 未定义错误 - 添加缺失的翻译词:finger→手指, five→五, six→六 等
- 修改多处过滤逻辑允许单个中文数字通过
正在修复:单个中文数字在最终文件名生成时仍被过滤的问题
Relevant files / directories
python/classifier_v2.py- 主分类器,包含文件名处理逻辑_extract_english_part()- 提取英文部分_extract_semantic_words()- 提取语义词_generate_natural_language_filename()- 生成新文件名_translate_filename_to_chinese()- 翻译英文到中文_optimize_filename_with_llm()- LLM优化文件名
python/utils/tag_generator.py- 标签生成工具extract_filename_keywords()- 提取关键词_filter_meaningless_tags()- 过滤无意义标签MEANINGLESS_TAGS- 无意义标签列表translation_map- 翻译词库
python/utils/local_llm_tags.py- 本地LLM标签生成器
File: Five finger whistles..07034113.wav
Semantic: ['五', '手指', '口哨'] ✅ 正确
Keywords: ['五', '手指', '口哨'] ✅ 正确
CN Tags: ['五', '手指', '口哨', ...] ✅ 正确
New Name: 手指_口哨_2df943.wav ❌ 缺少 '五'