feat: CCA v6 腾讯云部署 + 审稿台(含查找替换)

- deploy/cca_route.py: Flask 蓝图(6个API端点),WAV自动转MP3
- deploy/cca.html: 4步单页流程(上传→处理→审稿→下载),查找替换(Ctrl+H)
- src/term_normalizer.py: 新增正则层(同音字/引号/书名号/小数点/波浪号)
- src/ai_proofreader.py: speaker角色识别+专家段增强Prompt+的地得加强
- src/ai_line_breaker.py: 引号不跨屏+极短行合并+短句合并间隔放宽
- cca_pipeline.py: Step 2.5 校对后二次正则兜底
- 已部署至 http://101.42.29.217/cca.html

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
simonkoson
2026-07-05 21:44:52 +08:00
parent ede30d3043
commit 7eb6511169
9 changed files with 2311 additions and 90 deletions
+12
View File
@@ -34,6 +34,7 @@ from srt_writer import write_srt, ms_to_srt_time
from segment_splitter import split_into_segments
from hotword_extractor import extract_hotwords
from ai_proofreader import proofread_batch
from term_normalizer import normalize_terms
def main():
@@ -104,6 +105,11 @@ def main():
print(f"[流水线] ASR 共 {len(sentences)}")
# ====== Step 1.5: 术语格式化(正则后处理,不耗 token)======
if script_text:
print("[流水线] 术语格式化(型号短横线/武器昵称引号/中文数字)...")
sentences = normalize_terms(sentences, script_text)
# ====== Step 2: AI 校对 ======
if use_ai and not args.no_proofread and script_text:
print("[流水线] AI 校对中 (DeepSeek)...")
@@ -111,6 +117,12 @@ def main():
elif not script_text and not args.no_proofread and use_ai:
print("[流水线] 未提供A稿(--script),跳过AI校对")
# ====== Step 2.5: 校对后二次正则修复(兜住AI校对引入的新问题)======
if script_text:
from term_normalizer import normalize_terms as post_normalize
print("[流水线] 校对后二次正则修复...")
sentences = post_normalize(sentences, script_text)
# ====== Step 3: 节目结构切分 ======
print("[流水线] 切分节目结构...")
segments = split_into_segments(sentences)