Skip to content

s2t: 新增「这周/那周/若干周/周线 → 週」及 周围/周边/周遭 分詞保護詞條 - #1428

Merged
BYVoid merged 4 commits into
masterfrom
claude/character-conversion-dictionary-vx2wod-2
Jul 15, 2026
Merged

BYVoid merged 4 commits into
masterfrom
claude/character-conversion-dictionary-vx2wod-2

Conversation

@BYVoid

@BYVoid BYVoid commented Jul 15, 2026 •

Copy link
Copy Markdown
Owner

背景

STPhrases.txt 已收錄 上周 → 上週、下周 → 下週、本周 → 本週、每周 → 每週 等時間詞,但「这周」「那周」「若干周」「几周」「多少周」以及金融術語「周线」(按週聚合的 K 線圖)一直缺失,s2t 目前輸出 這周/那周/幾周/週線 等,「週」字丟失。

修改內容

  • data/dictionary/STPhrases.txt(29 條,已用 data/scripts/sort.py 排序):

    • 時間詞與金融術語:这周 → 這週、那周 → 那週、若干周 → 若干週、周线 → 週線。
    • 應 review 意見補充 几周 → 幾週、多少周 → 多少週,並逐一排查所有以 几 結尾、會在分詞時把後面 周 孤立的既有 key,一併收錄:十几周/几十周/好几周/这几周/那几周/哪几周/过几周/第几周 → …幾週。
    • 分詞保護詞條:这/那/若干/几/多少 + 周围/周边/周遭。這些是必需的:mmseg 最長匹配會優先吃掉新增的 这周/几周 等 key,導致「这周围」被切成 这周|围 而誤轉為「這週圍」。加上更長的詞條後,分詞恢復正確邊界。茶几周围 等由既有 茶几 詞條天然保護。
  • test/testcases/testcases.json:新增 case_065_s2x/case_066_t2x(这/那/若干/周线 組)與 case_067_s2x/case_068_t2x(几/多少 組),覆蓋 s2t、s2tw 與 t2s 往返及「若干周边设备」「多少周边产品」「茶几周围」回歸場景。

邊界情況驗證

輸入 輸出 說明
这周末 / 那周日 / 这周期 這週末 / 那週日 / 這週期 这周 先匹配,後接 末/日/期 仍為「週」,結果正確
刹那周围 剎那周圍 刹那 先於 那周 被最長匹配消耗,不受影響
若干周边设备 / 多少周边产品 若干周邊設備 / 多少周邊產品 保護詞條生效,無回歸
茶几周围 茶几周圍 既有 茶几 詞條天然保護

反向(t2s)由 TSCharacters 的 週 → 周 字符級處理,這週 → 这周、幾週 → 几周、週線 → 周线 往返一致,無需新增 TSPhrases 詞條。

已知取捨:與既有 上周/本周 詞條相同,「这周密」「这周折」這類「这 + 周密/周折」的切分歧義會偏向時間詞解讀,屬字典式分詞的固有限制,本 PR 未擴大該影響面。

驗證

  • 重建 .ocd2 後實測:上表所有輸入及 29 條新詞條輸出均符合預期。
  • 全量回歸 testcases.json 共 217 例:新增 4 例通過,其餘與 master 完全一致(master 上既有的 3 例本地 runner 差異與本修改無關)。
  • 已合併 origin/master(含 s2t: 為「复盘 → 復盤」補充顯式詞條與測試 #1427),衝突已解決。

🤖 Generated with Claude Code

https://claude.ai/code/session_016gfvxMkb2y5mdasr7GzF1y

Convert demonstrative/quantified week expressions and the financial term
周线 (weekly candlestick chart) to 週, while adding longer phrase entries
for 周围/周边/周遭 so segmentation keeps them as 周-based words.

Detailed Changes:
- **STPhrases.txt**:
  - Add 这周/那周/若干周 -> 這週/那週/若干週 and 周线 -> 週線.
  - Add 这/那/若干 + 周围/周边/周遭 identity-style entries to prevent
    the new time-word keys from stranding 圍/邊/遭 after a wrong 週.
- **testcases.json**:
  - Add case_065_s2x and case_066_t2x covering s2t/s2tw and t2s round-trip.
@frankslin

Copy link
Copy Markdown
Collaborator

How about 几周, 多少周?

claude added 2 commits July 15, 2026 00:37
Cover 几周/多少周 and every existing X几 key (十几, 几十, 好几, 这几, 那几,
哪几, 过几, 第几) that would otherwise strand a following 周 in segmentation,
plus 周围/周边/周遭 protection entries for the new short keys.

BYVoid commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

已在 bf3a91f 之後補上。除了 几周 → 幾週、多少周 → 多少週 外,還逐一排查了所有以 几 結尾、會在分詞時把後面的 周 孤立的既有 key,一併收錄:十几周/几十周/好几周/这几周/那几周/哪几周/过几周/第几周 → 幾週 系列,以及 几周围/几周边/几周遭、多少周围/多少周边/多少周遭 保護詞條(茶几周围 等由既有 茶几 詞條天然保護,已加入測試)。合併衝突已解決,新增測試 case_067_s2x/case_068_t2x。


Generated by Claude Code

@BYVoid
BYVoid marked this pull request as ready for review July 15, 2026 00:39
@BYVoid
BYVoid merged commit 2c913be into master Jul 15, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants