en_us_normalization.production.classify.MeasureFst
- class en_us_normalization.production.classify.MeasureFst(decimal: Optional[DecimalFst] = None, fraction: Optional[FractionFst] = None)[source]
Finite state transducer for classifying measure, suppletive aware, i.e. 12kg -> 12 kilograms, but 1kg -> 1 kilogram. Inside of measure semiotic class there is decimal or fraction semiotic subclasses to specify the amount. Measure matches one of those and then measurement units from the data file: “measurements.tsv”.
Examples of input strings and transducer outputs:
-12kg -> measure { decimal { negative: “true” integer_part: “12” } units: “kilograms” }
1kg -> measure { decimal { integer_part: “1” } units: “kilogram” }
300,000 km/s -> measure { decimal { integer_part: “300000” } units: “kilometers per second” }
.5kg -> measure { decimal { fractional_part: “5” } units: “kilograms” }
- __init__(decimal: Optional[DecimalFst] = None, fraction: Optional[FractionFst] = None)[source]
constructor of measure fst
- Parameters
- decimal: DecimalFst
fst with decimal numbers to reuse. Created from scratch if not provided.
- fraction: FractionFst
fst with fractions to reuse as numbers. Created from scratch if not provided.