diff --git a/itn/chinese/rules/measure.py b/itn/chinese/rules/measure.py index 2077a30..6dff860 100644 --- a/itn/chinese/rules/measure.py +++ b/itn/chinese/rules/measure.py @@ -97,7 +97,12 @@ def build_tagger(self): -0.5, ) - tagger = insert('value: "') + (measure | measure_sp | percent) + insert('"') + # X块Y, X块Y毛: 十五块八 => 15块8, 三块五毛 => 3块5毛 + money_colloquial = ( + self.cardinal.number + accep("块") + digit + (accep("毛") | delete("角")).ques + ) + + tagger = insert('value: "') + (measure | measure_sp | percent | money_colloquial) + insert('"') # 每小时十千米 => 10km/h, 每小时三十到三百一十一千米 => 30~311km/h tagger |= insert('denominator: "') + delete("每") + units + insert('" numerator: "') + measure + insert('"') diff --git a/itn/chinese/test/data/normalizer_disable_standalone_number_disable_0_to_9.txt b/itn/chinese/test/data/normalizer_disable_standalone_number_disable_0_to_9.txt index 6ebf578..e43f3b8 100644 --- a/itn/chinese/test/data/normalizer_disable_standalone_number_disable_0_to_9.txt +++ b/itn/chinese/test/data/normalizer_disable_standalone_number_disable_0_to_9.txt @@ -1,4 +1,4 @@ -二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,五十五,疑是银河落九天,12块五 +二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,五十五,疑是银河落九天,12块5 一年后 => 一年后 两年后 => 两年后 二十年后 => 20年后 @@ -16,7 +16,7 @@ 三百二十四点七五克 => 324.75g 二十点一万 => 20.1万 一百块钱 => 100块钱 -十二块五毛 => 12块五毛 +十二块五毛 => 12块5毛 一万零三百人 => 10300人 一亿两千三百人 => 1亿2300人 一亿零两千三百人 => 1亿2300人 diff --git a/itn/chinese/test/data/normalizer_disable_standalone_number_enable_0_to_9.txt b/itn/chinese/test/data/normalizer_disable_standalone_number_enable_0_to_9.txt index 85caa69..afedcc6 100644 --- a/itn/chinese/test/data/normalizer_disable_standalone_number_enable_0_to_9.txt +++ b/itn/chinese/test/data/normalizer_disable_standalone_number_enable_0_to_9.txt @@ -1,4 +1,4 @@ -二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,五十五,疑是银河落9天,12块五 +二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,五十五,疑是银河落9天,12块5 三百九十九三盒 => 三百九十九3盒 这是八百一千 => 这是八百一千 这是二十九千 => 这是二十九千 diff --git a/itn/chinese/test/data/normalizer_enable_standalone_number_disable_0_to_9.txt b/itn/chinese/test/data/normalizer_enable_standalone_number_disable_0_to_9.txt index b645bc0..20e6c76 100644 --- a/itn/chinese/test/data/normalizer_enable_standalone_number_disable_0_to_9.txt +++ b/itn/chinese/test/data/normalizer_enable_standalone_number_disable_0_to_9.txt @@ -1,4 +1,4 @@ -二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,55,疑是银河落九天,12块五 +二点五平方电线,五,五十五,疑是银河落九天,十二块五 => 2.5平方电线,五,55,疑是银河落九天,12块5 一年后 => 一年后 两年后 => 两年后 二十年后 => 20年后 @@ -16,7 +16,7 @@ 三百二十四点七五克 => 324.75g 二十点一万 => 20.1万 一百块钱 => 100块钱 -十二块五毛 => 12块五毛 +十二块五毛 => 12块5毛 一万零三百人 => 10300人 一亿两千三百人 => 1亿2300人 一亿零两千三百人 => 1亿2300人