| | |
| | | import pynini |
| | | from fun_text_processing.inverse_text_normalization.id.graph_utils import DAMO_NOT_QUOTE, GraphFst, delete_space |
| | | from fun_text_processing.inverse_text_normalization.id.graph_utils import ( |
| | | DAMO_NOT_QUOTE, |
| | | GraphFst, |
| | | delete_space, |
| | | ) |
| | | from pynini.lib import pynutil |
| | | |
| | | |
| | |
| | | |
| | | def __init__(self): |
| | | super().__init__(name="decimal", kind="verbalize") |
| | | optionl_sign = pynini.closure(pynini.cross("negative: \"true\"", "-") + delete_space, 0, 1) |
| | | optionl_sign = pynini.closure(pynini.cross('negative: "true"', "-") + delete_space, 0, 1) |
| | | integer = ( |
| | | pynutil.delete("integer_part:") |
| | | + delete_space |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | + pynini.closure(DAMO_NOT_QUOTE, 1) |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | ) |
| | | optional_integer = pynini.closure(integer + delete_space, 0, 1) |
| | | fractional = ( |
| | | pynutil.insert(".") |
| | | + pynutil.delete("fractional_part:") |
| | | + delete_space |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | + pynini.closure(DAMO_NOT_QUOTE, 1) |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | ) |
| | | optional_fractional = pynini.closure(fractional + delete_space, 0, 1) |
| | | quantity = ( |
| | | pynutil.delete("quantity:") |
| | | + delete_space |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | + pynini.closure(DAMO_NOT_QUOTE, 1) |
| | | + pynutil.delete("\"") |
| | | + pynutil.delete('"') |
| | | ) |
| | | optional_quantity = pynini.closure(pynutil.insert(" ") + quantity + delete_space, 0, 1) |
| | | graph = optional_integer + optional_fractional + optional_quantity |