From 7c814813f5c9d4ac1d7c75032b957343d5a41480 Mon Sep 17 00:00:00 2001 From: pengzhendong <275331498@qq.com> Date: Tue, 9 Jun 2026 16:44:04 +0800 Subject: [PATCH] fix: support L (liter) unit and number+unit denominator in Measure (#306) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add L → 升 to units_en.tsv - Allow denominator in X/Y patterns to be measure (number+unit), not just bare unit. This enables 4.5L/100km → 每一百公里四点五升 --- tn/chinese/data/measure/units_en.tsv | 1 + tn/chinese/rules/measure.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tn/chinese/data/measure/units_en.tsv b/tn/chinese/data/measure/units_en.tsv index 4142e4f6..24bf3ce8 100644 --- a/tn/chinese/data/measure/units_en.tsv +++ b/tn/chinese/data/measure/units_en.tsv @@ -41,6 +41,7 @@ kw 千瓦 kW 千瓦 lbs 磅 lb 磅 +L 升 m2 平方米 m² 平方米 m3 立方米 diff --git a/tn/chinese/rules/measure.py b/tn/chinese/rules/measure.py index 1d2bf107..f5ecb4af 100644 --- a/tn/chinese/rules/measure.py +++ b/tn/chinese/rules/measure.py @@ -58,7 +58,7 @@ def build_tagger(self): # 10km/h rmsign = rmspace + delete("/") + rmspace - tagger |= insert('numerator: "') + measure + rmsign + insert('" denominator: "') + units + insert('"') + tagger |= insert('numerator: "') + measure + rmsign + insert('" denominator: "') + (measure | units) + insert('"') self.tagger = self.add_tokens(tagger) def build_verbalizer(self):