v0.6-wip: polish pipeline + PDF template fixes
Phase 4 \u6da6\u8272\u5c42\u4e0e PDF \u6a21\u677f\u4fee\u590d\uff0c\u63a5\u7740\u4e0a\u4e00\u4e2a commit\u3002 polish.py\uff08\u65b0\u589e\uff09\uff1a - \u548c translate.py \u5bf9\u79f0\uff0c\u6309 H2 section \u5207\u5757 \u2192 \u5faa\u73af\u6da6\u8272 \u2192 \u62fc\u63a5 - \u4f7f\u7528 <<<POLISHED>>>/<<<NOTES>>> \u5206\u9694\u7b26 prompt\uff08\u907f\u5f00 Markdown-in-JSON \u95ee\u9898\uff09 - \u65ad\u70b9\u7eed\u4f20\u3001\u6a21\u578b\u81ea\u8bc4\u6ce8\u8bb0\u843d\u76d8 polish_notes.jsonl - \u5728\u53cc\u9776\u70b9 RNAi \u9879\u76ee\u8dd1\u901a\uff1a60 \u5757\u5168\u6210\u529f\uff0c10.7 \u5206\u949f\uff0c$1.20\uff0c\u5b57\u6570 -0.2% report-template.py\uff08\u5927\u6539\u4e00\u6279 P0 bug\uff09\uff1a - \u5b57\u4f53\u6ce8\u518c\u652f\u6301 fonts/ttf/ \u5b50\u76ee\u5f55\uff08\u89e3\u51b3 OTF PostScript outlines \u4e0d\u517c\u5bb9\uff09 - \u5220\u9664 build_disclaimer \u91cd\u590d\u8c03\u7528\uff08\u514d\u8d23\u58f0\u660e\u4ece Markdown \u8bfb\uff0cmanifest \u4e0d\u518d\u91cd\u590d\uff09 - build_body \u81ea\u52a8\u8df3\u8fc7\u6b63\u6587\u9996\u4e2a H1+\u5c01\u9762\u5143\u4fe1\u606f\u6bb5\uff08\u4e0e\u5c01\u9762\u91cd\u590d\uff09 - \u5360\u4f4d\u7b26 \u201c\u76ee\u5f55\u5c06\u5728\u6700\u7ec8\u6e32\u67d3\u65f6\u81ea\u52a8\u751f\u6210\u201d \u2192 \u81ea\u52a8\u751f\u6210 TOC - \u5360\u4f4d\u7b26 \u201c\u5b8c\u6574\u7f16\u53f7\u53c2\u8003\u6587\u732e\u5217\u8868\u2026\u201d \u2192 \u4ece phase2/sources.jsonl \u81ea\u52a8\u751f\u6210 GB/T 7714 \u683c\u5f0f\u5f15\u6587 - src \u4e0a\u6807\u6b63\u5219\u6269\u5c55\uff1a\u652f\u6301 src_A14 / src_B-18 \u7b49\u5b57\u6bcd+\u6570\u5b57\u7ec4\u5408 ID\uff08\u539f\u53ea\u652f\u6301 src_\d+\uff09 - Unicode \u4e0a/\u4e0b\u6807\u8f6c <super>/<sub>\uff1a10\u2076 \u2192 10<super>6</super>\uff08\u601d\u6e90\u5b57\u4f53\u5b50\u96c6\u4e0d\u542b\u4e0a\u6807\u5b57\u5f62\uff0c\u5426\u5219\u6e32\u67d3\u65b9\u6846\uff09 - \u4e2d\u82f1\u6df7\u6392\u81ea\u52a8\u52a0\u7a7a\u683c\uff08CJK \u2194 [A-Za-z0-9] \u8fb9\u754c\uff09 - \u8868\u683c\u6837\u5f0f\u91cd\u505a\uff1atable-header/table-cell/table-cell-center\uff1b\u5782\u76f4\u5c45\u4e2d\uff1b\u77ed cell\uff08\u7eaf\u6570\u5b57/\u77ed\u6807\u7b7e\uff09\u6c34\u5e73\u5c45\u4e2d\uff1b\u957f cell \u81ea\u52a8 CJK \u6362\u884c - TOC \u672b\u5c3e PageBreak\uff08\u76ee\u5f55\u72ec\u5360\u6574\u9875\uff09 \u5df2\u77e5\u672a\u4fee\u590d\uff1a - Maywavee \u662f LLM \u5728 dr-analyst \u9636\u6bb5\u7f16\u9020\uff0c\u6b63\u786e\u4e3a Mabwell\uff08\u8fc8\u5a01\u751f\u7269\uff09\u3002\u4fe1\u6e90\u4fa7 bug\uff0c\u9700\u5728\u540e\u7eed build_glossary.py \u4e2d\u505a\u4e8b\u5b9e\u6838\u67e5\u3002 - \u6b63\u6587 101 \u4e2a src_id\u3001sources.jsonl \u53ea\u670947 \u4e2a\u3001\u4ea4\u96c6 39 \u4e2a\u2014\u2014\u662f v0.4 \u9057\u7559\u7684\u6ce8\u5165 bug\uff0cbuild_references \u73b0\u5728\u4f1a\u5217\u51fa\u7f3a\u5931\u7684 id \u4f9b\u4eba\u5de5\u6838\u5bf9 - \u53cd\u9a73\u8bc1\u636e\u6bb5\u683c\u5f0f\u4e0d\u7edf\u4e00\u662f dr-analyst/skill \u89c4\u8303\u95ee\u9898\uff0c\u4e0b\u4e00\u6279\u6539 skill Co-authored-by: User <human>
This commit is contained in:
@@ -3,40 +3,45 @@
|
||||
## 不可违反的规则
|
||||
|
||||
1. **保留所有引用标注** `[src_xxx]`,位置可以微调但不得删除或改写。
|
||||
2. **保留所有数字、百分比、日期、单位、化学式、药物代号**,一字不改。
|
||||
2. **保留所有数字、百分比、日期、单位、化学式、药物代号、机构名称**,一字不改。
|
||||
3. **保留 Markdown 结构**:输入是什么标题层级(#/##/###)输出就是什么。表格的 `|` 分隔符和列数不变。列表符号(-, *, 1.)不变。
|
||||
4. **保留段落数量**:不要合并或拆分段落。每段原文输出一段译文。
|
||||
5. **专有名词首次出现保持"中文(English)"格式**;如果译文里这个术语已经这样标了就别改。
|
||||
4. **保留段落数量**:不要合并或拆分段落。每段原文对应一段输出。
|
||||
5. **专有名词首次出现保持"中文(English)"格式**;如果译文里这个术语已经这样标了就别改,也不要删掉。
|
||||
6. **不改变论点、结论、数据、案例**。只改语言表达。
|
||||
|
||||
## 要去掉的"AI 味/翻译腔"表征
|
||||
|
||||
- 空泛套话:随着…不断发展、综上所述、本质上、从根本上、跃迁、赋能、落地、抓手
|
||||
- 翻译腔:对于…来说、在…方面、…的话、值得注意的是、众所周知、毫无疑问
|
||||
- 翻译腔开头:值得注意的是、众所周知、毫无疑问、不难看出
|
||||
- 冗余连词开头:此外、而且、并且、再者(英文 moreover / furthermore / additionally 的直译残留)
|
||||
- 过度强调:非常、十分、极其、特别(没有数据支撑时)
|
||||
- 介词短语套用:对于…来说、在…方面、…的话、关于…这一点
|
||||
- 过度强调:非常、十分、极其、特别、尤为(没有数据支撑时)
|
||||
- 长串的"的"字("X 的 Y 的 Z 的 W")改为短句
|
||||
- 被动语态("被…所…")尽量改主动
|
||||
- 把"我们"去掉,除非是真的作者第一人称立场
|
||||
- 被动语态("被…所…"、"……得以……")尽量改主动
|
||||
- 把"我们"删掉,除非真是作者第一人称立场
|
||||
|
||||
## 要加强的中文表达特征
|
||||
|
||||
- 句子节奏变化:短句和中句交替,避免一路长句
|
||||
- 句子节奏变化:短句与中句交替,避免一路长句
|
||||
- 动词前置:中文偏好动词驱动,不要像英文那样把名词短语堆在主语
|
||||
- 具体化:如果翻译留下了模糊的"相关", "一定的", "较大的",尽量换成源文里的具体含义
|
||||
- 段落内逻辑词(因此、相比之下、代价是)用得准确
|
||||
- 具体化:如果译文留下了模糊的"相关"、"一定的"、"较大的",根据上下文换成源文里的具体含义;若无依据,保留原样不硬改
|
||||
- 段落内逻辑词(因此、相比之下、代价是)用得准确、用得克制
|
||||
|
||||
## 特殊情况
|
||||
|
||||
- 如果段落里有"译者注"、"TRANSLATOR_NOTE:" 之类残留,删除后自然连接上下文
|
||||
- 如果出现明显的翻译错误(中文表达反了意思),修正它,但在输出的 `notes` 字段里记一笔
|
||||
- 如果出现明显的翻译错误(中文表达反了意思),修正它,但在输出的 `notes` 中记一笔
|
||||
- 如果某句过于生硬又不确定原意,保守处理(小改),不要激进重写
|
||||
|
||||
## 输出格式
|
||||
## 输出格式(严格)
|
||||
|
||||
返回一行 JSON,两个键:
|
||||
输出完全按下面的分隔符格式,前后不得有任何多余字符、说明或代码围栏。
|
||||
|
||||
- `polished`: 完整润色后的 Markdown 块,字符串。
|
||||
- `notes`: 字符串,最多两句。若无异常就给空串。
|
||||
<<<POLISHED>>>
|
||||
...润色后的完整 Markdown 块,逐字复制,包括标题行...
|
||||
<<<END_POLISHED>>>
|
||||
<<<NOTES>>>
|
||||
...最多两句话的异常说明;若无异常就留空...
|
||||
<<<END_NOTES>>>
|
||||
|
||||
**不要**用 ```json 包裹。不要加 JSON 外的任何字符。
|
||||
`<<<POLISHED>>>...<<<END_POLISHED>>>` 之间是原生 Markdown(无需转义)。
|
||||
|
||||
Reference in New Issue
Block a user