From 28ccfbfc51068a663a80764e14074df5edf2b5ba Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期五, 13 三月 2026 17:41:41 +0800
Subject: [PATCH] 提交
---
fun_text_processing/text_normalization/de/verbalizers/decimal.py | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/fun_text_processing/text_normalization/de/verbalizers/decimal.py b/fun_text_processing/text_normalization/de/verbalizers/decimal.py
index ee330db..db4100a 100644
--- a/fun_text_processing/text_normalization/de/verbalizers/decimal.py
+++ b/fun_text_processing/text_normalization/de/verbalizers/decimal.py
@@ -1,4 +1,3 @@
-
import pynini
from fun_text_processing.text_normalization.de.taggers.decimal import quantities
from fun_text_processing.text_normalization.en.graph_utils import (
@@ -12,8 +11,8 @@
class DecimalFst(GraphFst):
"""
- Finite state transducer for classifying decimal, e.g.
- decimal { negative: "true" integer_part: "elf" fractional_part: "vier null sechs" quantity: "billionen" } -> minus elf komma vier null sechs billionen
+ Finite state transducer for classifying decimal, e.g.
+ decimal { negative: "true" integer_part: "elf" fractional_part: "vier null sechs" quantity: "billionen" } -> minus elf komma vier null sechs billionen
decimal { integer_part: "eins" quantity: "billion" } -> eins billion
"""
@@ -22,21 +21,34 @@
super().__init__(name="decimal", kind="classify", deterministic=deterministic)
delete_space = pynutil.delete(" ")
- self.optional_sign = pynini.closure(pynini.cross("negative: \"true\"", "minus ") + delete_space, 0, 1)
- self.integer = pynutil.delete("integer_part: \"") + pynini.closure(DAMO_NOT_QUOTE, 1) + pynutil.delete("\"")
+ self.optional_sign = pynini.closure(
+ pynini.cross('negative: "true"', "minus ") + delete_space, 0, 1
+ )
+ self.integer = (
+ pynutil.delete('integer_part: "')
+ + pynini.closure(DAMO_NOT_QUOTE, 1)
+ + pynutil.delete('"')
+ )
self.fractional_default = (
- pynutil.delete("fractional_part: \"") + pynini.closure(DAMO_NOT_QUOTE, 1) + pynutil.delete("\"")
+ pynutil.delete('fractional_part: "')
+ + pynini.closure(DAMO_NOT_QUOTE, 1)
+ + pynutil.delete('"')
)
self.fractional = pynutil.insert(" komma ") + self.fractional_default
self.quantity = (
- delete_space + insert_space + pynutil.delete("quantity: \"") + quantities + pynutil.delete("\"")
+ delete_space
+ + insert_space
+ + pynutil.delete('quantity: "')
+ + quantities
+ + pynutil.delete('"')
)
self.optional_quantity = pynini.closure(self.quantity, 0, 1)
graph = self.optional_sign + (
- self.integer + self.quantity | self.integer + delete_space + self.fractional + self.optional_quantity
+ self.integer + self.quantity
+ | self.integer + delete_space + self.fractional + self.optional_quantity
)
self.numbers = graph
--
Gitblit v1.9.1