WeTextProcessing 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/PKG-INFO +29 -9
  2. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/README.md +28 -8
  3. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/PKG-INFO +29 -9
  4. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/SOURCES.txt +1 -0
  5. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/default/whitelist.tsv +15 -0
  6. WeTextProcessing-1.0.3/itn/chinese/data/number/digit_zh.tsv +10 -0
  7. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/measure.py +34 -2
  8. WeTextProcessing-1.0.3/itn/zh_itn_tagger.fst +0 -0
  9. WeTextProcessing-1.0.3/tn/en_tn_tagger.fst +0 -0
  10. WeTextProcessing-1.0.3/tn/en_tn_verbalizer.fst +0 -0
  11. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/tts.tsv +6 -0
  12. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/normalizer.py +29 -13
  13. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/punctuation.py +9 -5
  14. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/main.py +2 -3
  15. WeTextProcessing-1.0.2/itn/zh_itn_tagger.fst +0 -0
  16. WeTextProcessing-1.0.2/tn/en_tn_tagger.fst +0 -0
  17. WeTextProcessing-1.0.2/tn/en_tn_verbalizer.fst +0 -0
  18. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/LICENSE +0 -0
  19. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/dependency_links.txt +0 -0
  20. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/entry_points.txt +0 -0
  21. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/requires.txt +0 -0
  22. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/WeTextProcessing.egg-info/top_level.txt +0 -0
  23. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/__init__.py +0 -0
  24. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/__main__.py +0 -0
  25. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/__init__.py +0 -0
  26. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/date/dd.tsv +0 -0
  27. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/date/mm.tsv +0 -0
  28. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/default/blacklist.tsv +0 -0
  29. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/license_plate/province.tsv +0 -0
  30. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/math/operator.tsv +0 -0
  31. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/measure/units_en.tsv +0 -0
  32. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/measure/units_zh.tsv +0 -0
  33. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/money/code.tsv +0 -0
  34. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/money/symbol.tsv +0 -0
  35. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/digit.tsv +0 -0
  36. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/dot.tsv +0 -0
  37. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/sign.tsv +0 -0
  38. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/special_dash.tsv +0 -0
  39. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/special_tilde.tsv +0 -0
  40. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/number/zero.tsv +0 -0
  41. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/time/hour.tsv +0 -0
  42. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/time/minute.tsv +0 -0
  43. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/time/noon.tsv +0 -0
  44. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/data/time/second.tsv +0 -0
  45. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/inverse_normalizer.py +0 -0
  46. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/__init__.py +0 -0
  47. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/cardinal.py +0 -0
  48. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/char.py +0 -0
  49. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/date.py +0 -0
  50. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/fraction.py +0 -0
  51. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/license_plate.py +0 -0
  52. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/math.py +0 -0
  53. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/money.py +0 -0
  54. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/postprocessor.py +0 -0
  55. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/time.py +0 -0
  56. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/rules/whitelist.py +0 -0
  57. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/test/__init__.py +0 -0
  58. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/test/normalizer_test.py +0 -0
  59. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/chinese/test/utils.py +0 -0
  60. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/main.py +0 -0
  61. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/itn/zh_itn_verbalizer.fst +0 -0
  62. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/setup.cfg +0 -0
  63. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/setup.py +0 -0
  64. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/__init__.py +0 -0
  65. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/__main__.py +0 -0
  66. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/__init__.py +0 -0
  67. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/char/charset_extension.tsv +0 -0
  68. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/char/charset_national_standard_2013_8105.tsv +0 -0
  69. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/char/fullwidth_to_halfwidth.tsv +0 -0
  70. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/char/punctuations_zh.tsv +0 -0
  71. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/char/traditional_to_simple.tsv +0 -0
  72. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/date/d.tsv +0 -0
  73. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/date/dd.tsv +0 -0
  74. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/date/m.tsv +0 -0
  75. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/date/mm.tsv +0 -0
  76. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/default/blacklist.tsv +0 -0
  77. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/default/whitelist.tsv +0 -0
  78. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/erhua/whitelist.tsv +0 -0
  79. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/math/operator.tsv +0 -0
  80. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/measure/units_en.tsv +0 -0
  81. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/measure/units_zh.tsv +0 -0
  82. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/money/code.tsv +0 -0
  83. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/money/symbol.tsv +0 -0
  84. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/number/digit.tsv +0 -0
  85. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/number/dot.tsv +0 -0
  86. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/number/sign.tsv +0 -0
  87. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/number/teen.tsv +0 -0
  88. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/number/zero.tsv +0 -0
  89. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/sport/club.tsv +0 -0
  90. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/sport/country.tsv +0 -0
  91. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/time/hour.tsv +0 -0
  92. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/time/minute.tsv +0 -0
  93. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/time/noon.tsv +0 -0
  94. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/data/time/second.tsv +0 -0
  95. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/normalizer.py +0 -0
  96. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/__init__.py +0 -0
  97. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/cardinal.py +0 -0
  98. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/char.py +0 -0
  99. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/date.py +0 -0
  100. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/fraction.py +0 -0
  101. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/math.py +0 -0
  102. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/measure.py +0 -0
  103. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/money.py +0 -0
  104. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/postprocessor.py +0 -0
  105. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/preprocessor.py +0 -0
  106. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/sport.py +0 -0
  107. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/time.py +0 -0
  108. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/rules/whitelist.py +0 -0
  109. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/__init__.py +0 -0
  110. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/cardinal_test.py +0 -0
  111. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/char_test.py +0 -0
  112. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/date_test.py +0 -0
  113. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/fraction_test.py +0 -0
  114. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/math_test.py +0 -0
  115. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/measure_test.py +0 -0
  116. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/money_test.py +0 -0
  117. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/normalizer_test.py +0 -0
  118. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/postprocessor_test.py +0 -0
  119. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/preprocessor_test.py +0 -0
  120. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/sport_test.py +0 -0
  121. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/time_test.py +0 -0
  122. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/token_parser_test.py +0 -0
  123. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/utils.py +0 -0
  124. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/chinese/test/whitelist_test.py +0 -0
  125. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/__init__.py +0 -0
  126. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/__init__.py +0 -0
  127. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/address/__init__.py +0 -0
  128. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/address/address_word.tsv +0 -0
  129. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/address/state.tsv +0 -0
  130. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/__init__.py +0 -0
  131. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/day.tsv +0 -0
  132. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/month_abbr.tsv +0 -0
  133. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/month_name.tsv +0 -0
  134. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/month_number.tsv +0 -0
  135. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/week.tsv +0 -0
  136. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/date/year_suffix.tsv +0 -0
  137. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/electronic/__init__.py +0 -0
  138. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/electronic/domain.tsv +0 -0
  139. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/electronic/symbol.tsv +0 -0
  140. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/electronic/words.tsv +0 -0
  141. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/measure/__init__.py +0 -0
  142. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/measure/math_operation.tsv +0 -0
  143. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/measure/unit.tsv +0 -0
  144. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/measure/unit_alternatives.tsv +0 -0
  145. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/money/__init__.py +0 -0
  146. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/money/currency_major.tsv +0 -0
  147. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/money/currency_minor_plural.tsv +0 -0
  148. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/money/currency_minor_singular.tsv +0 -0
  149. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/money/per_unit.tsv +0 -0
  150. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/__init__.py +0 -0
  151. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/cardinal_number_name.far +0 -0
  152. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/cardinal_number_name_au.far +0 -0
  153. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/digit.tsv +0 -0
  154. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/fraction.tsv +0 -0
  155. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/hundred.tsv +0 -0
  156. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/quantity_abbr.tsv +0 -0
  157. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/teen.tsv +0 -0
  158. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/thousand.tsv +0 -0
  159. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/ty.tsv +0 -0
  160. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/number/zero.tsv +0 -0
  161. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/ordinal/__init__.py +0 -0
  162. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/ordinal/digit.tsv +0 -0
  163. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/ordinal/teen.tsv +0 -0
  164. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/roman/__init__.py +0 -0
  165. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/roman/female.tsv +0 -0
  166. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/roman/key_word.tsv +0 -0
  167. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/roman/male.tsv +0 -0
  168. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/roman/roman_to_spoken.tsv +0 -0
  169. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/suppletive.tsv +0 -0
  170. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/telephone/__init__.py +0 -0
  171. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/telephone/ip_prompt.tsv +0 -0
  172. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/telephone/ssn_prompt.tsv +0 -0
  173. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/telephone/telephone_prompt.tsv +0 -0
  174. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/time/__init__.py +0 -0
  175. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/time/suffix.tsv +0 -0
  176. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/time/zone.tsv +0 -0
  177. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/__init__.py +0 -0
  178. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/alternatives.tsv +0 -0
  179. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/alternatives_all_format.tsv +0 -0
  180. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/asr.tsv +0 -0
  181. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/asr_with_pc.tsv +0 -0
  182. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/ipa_symbols.tsv +0 -0
  183. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/lj_speech.tsv +0 -0
  184. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/data/whitelist/symbol.tsv +0 -0
  185. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/__init__.py +0 -0
  186. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/cardinal.py +0 -0
  187. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/date.py +0 -0
  188. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/decimal.py +0 -0
  189. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/electronic.py +0 -0
  190. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/fraction.py +0 -0
  191. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/measure.py +0 -0
  192. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/money.py +0 -0
  193. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/ordinal.py +0 -0
  194. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/range.py +0 -0
  195. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/roman.py +0 -0
  196. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/telephone.py +0 -0
  197. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/time.py +0 -0
  198. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/whitelist.py +0 -0
  199. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/rules/word.py +0 -0
  200. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/__init__.py +0 -0
  201. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/cardinal_test.py +0 -0
  202. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/date_test.py +0 -0
  203. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/decimal_test.py +0 -0
  204. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/electronic_test.py +0 -0
  205. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/fraction_test.py +0 -0
  206. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/measure_test.py +0 -0
  207. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/money_test.py +0 -0
  208. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/normalizer_test.py +0 -0
  209. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/ordinal_test.py +0 -0
  210. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/range_test.py +0 -0
  211. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/roman_test.py +0 -0
  212. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/telephone_test.py +0 -0
  213. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/time_test.py +0 -0
  214. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/utils.py +0 -0
  215. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/whitelist_test.py +0 -0
  216. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/english/test/word_test.py +0 -0
  217. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/processor.py +0 -0
  218. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/token_parser.py +0 -0
  219. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/utils.py +0 -0
  220. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/zh_tn_tagger.fst +0 -0
  221. {WeTextProcessing-1.0.2 → WeTextProcessing-1.0.3}/tn/zh_tn_verbalizer.fst +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: WeTextProcessing
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: WeTextProcessing, including TN & ITN
5
5
  Home-page: https://github.com/wenet-e2e/WeTextProcessing
6
6
  Author: Zhendong Peng, Xingchen Song
@@ -49,14 +49,34 @@ weitn --text "二点五平方电线"
49
49
  Python usage:
50
50
 
51
51
  ```py
52
- # tn usage
53
- >>> from tn.chinese.normalizer import Normalizer
54
- >>> normalizer = Normalizer()
55
- >>> normalizer.normalize("2.5平方电线")
56
- # itn usage
57
- >>> from itn.chinese.inverse_normalizer import InverseNormalizer
58
- >>> invnormalizer = InverseNormalizer()
59
- >>> invnormalizer.normalize("二点五平方电线")
52
+ from itn.chinese.inverse_normalizer import InverseNormalizer
53
+ from tn.chinese.normalizer import Normalizer as ZhNormalizer
54
+ from tn.english.normalizer import Normalizer as EnNormalizer
55
+
56
+ # NOTE(xcsong): 和默认参数不一致时,必须重新构图,要重新构图请务必指定 `overwrite_cache=True`
57
+ # When the parameters differ from the defaults, it is mandatory to re-compose. To re-compose, please ensure you specify `overwrite_cache=True`.
58
+
59
+ zh_tn_text = "你好 WeTextProcessing 1.0,船新版本儿,船新体验儿,简直666,9和10"
60
+ zh_itn_text = "你好 WeTextProcessing 一点零,船新版本儿,船新体验儿,简直六六六,九和六"
61
+ en_tn_text = "Hello WeTextProcessing 1.0, life is short, just use wetext, 666, 9 and 10"
62
+ zh_tn_model = ZhNormalizer(remove_erhua=True, overwrite_cache=True)
63
+ zh_itn_model = InverseNormalizer(enable_0_to_9=False, overwrite_cache=True)
64
+ en_tn_model = EnNormalizer(overwrite_cache=True)
65
+ print("中文 TN (去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
66
+ print("中文ITN (小于10的单独数字不转换,重新在线构图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
67
+ print("英文 TN (暂时还没有可控的选项,后面会加...):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
68
+
69
+ zh_tn_model = ZhNormalizer(overwrite_cache=False)
70
+ zh_itn_model = InverseNormalizer(overwrite_cache=False)
71
+ en_tn_model = EnNormalizer(overwrite_cache=False)
72
+ print("中文 TN (复用之前编译好的图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
73
+ print("中文ITN (复用之前编译好的图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
74
+ print("英文 TN (复用之前编译好的图):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
75
+
76
+ zh_tn_model = ZhNormalizer(remove_erhua=False, overwrite_cache=True)
77
+ zh_itn_model = InverseNormalizer(enable_0_to_9=True, overwrite_cache=True)
78
+ print("中文 TN (不去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
79
+ print("中文ITN (小于10的单独数字也进行转换,重新在线构图):\n\t{} => {}\n".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
60
80
  ```
61
81
 
62
82
  #### 1.2 Advanced Usage:
@@ -34,14 +34,34 @@ weitn --text "二点五平方电线"
34
34
  Python usage:
35
35
 
36
36
  ```py
37
- # tn usage
38
- >>> from tn.chinese.normalizer import Normalizer
39
- >>> normalizer = Normalizer()
40
- >>> normalizer.normalize("2.5平方电线")
41
- # itn usage
42
- >>> from itn.chinese.inverse_normalizer import InverseNormalizer
43
- >>> invnormalizer = InverseNormalizer()
44
- >>> invnormalizer.normalize("二点五平方电线")
37
+ from itn.chinese.inverse_normalizer import InverseNormalizer
38
+ from tn.chinese.normalizer import Normalizer as ZhNormalizer
39
+ from tn.english.normalizer import Normalizer as EnNormalizer
40
+
41
+ # NOTE(xcsong): 和默认参数不一致时,必须重新构图,要重新构图请务必指定 `overwrite_cache=True`
42
+ # When the parameters differ from the defaults, it is mandatory to re-compose. To re-compose, please ensure you specify `overwrite_cache=True`.
43
+
44
+ zh_tn_text = "你好 WeTextProcessing 1.0,船新版本儿,船新体验儿,简直666,9和10"
45
+ zh_itn_text = "你好 WeTextProcessing 一点零,船新版本儿,船新体验儿,简直六六六,九和六"
46
+ en_tn_text = "Hello WeTextProcessing 1.0, life is short, just use wetext, 666, 9 and 10"
47
+ zh_tn_model = ZhNormalizer(remove_erhua=True, overwrite_cache=True)
48
+ zh_itn_model = InverseNormalizer(enable_0_to_9=False, overwrite_cache=True)
49
+ en_tn_model = EnNormalizer(overwrite_cache=True)
50
+ print("中文 TN (去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
51
+ print("中文ITN (小于10的单独数字不转换,重新在线构图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
52
+ print("英文 TN (暂时还没有可控的选项,后面会加...):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
53
+
54
+ zh_tn_model = ZhNormalizer(overwrite_cache=False)
55
+ zh_itn_model = InverseNormalizer(overwrite_cache=False)
56
+ en_tn_model = EnNormalizer(overwrite_cache=False)
57
+ print("中文 TN (复用之前编译好的图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
58
+ print("中文ITN (复用之前编译好的图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
59
+ print("英文 TN (复用之前编译好的图):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
60
+
61
+ zh_tn_model = ZhNormalizer(remove_erhua=False, overwrite_cache=True)
62
+ zh_itn_model = InverseNormalizer(enable_0_to_9=True, overwrite_cache=True)
63
+ print("中文 TN (不去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
64
+ print("中文ITN (小于10的单独数字也进行转换,重新在线构图):\n\t{} => {}\n".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
45
65
  ```
46
66
 
47
67
  #### 1.2 Advanced Usage:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: WeTextProcessing
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: WeTextProcessing, including TN & ITN
5
5
  Home-page: https://github.com/wenet-e2e/WeTextProcessing
6
6
  Author: Zhendong Peng, Xingchen Song
@@ -49,14 +49,34 @@ weitn --text "二点五平方电线"
49
49
  Python usage:
50
50
 
51
51
  ```py
52
- # tn usage
53
- >>> from tn.chinese.normalizer import Normalizer
54
- >>> normalizer = Normalizer()
55
- >>> normalizer.normalize("2.5平方电线")
56
- # itn usage
57
- >>> from itn.chinese.inverse_normalizer import InverseNormalizer
58
- >>> invnormalizer = InverseNormalizer()
59
- >>> invnormalizer.normalize("二点五平方电线")
52
+ from itn.chinese.inverse_normalizer import InverseNormalizer
53
+ from tn.chinese.normalizer import Normalizer as ZhNormalizer
54
+ from tn.english.normalizer import Normalizer as EnNormalizer
55
+
56
+ # NOTE(xcsong): 和默认参数不一致时,必须重新构图,要重新构图请务必指定 `overwrite_cache=True`
57
+ # When the parameters differ from the defaults, it is mandatory to re-compose. To re-compose, please ensure you specify `overwrite_cache=True`.
58
+
59
+ zh_tn_text = "你好 WeTextProcessing 1.0,船新版本儿,船新体验儿,简直666,9和10"
60
+ zh_itn_text = "你好 WeTextProcessing 一点零,船新版本儿,船新体验儿,简直六六六,九和六"
61
+ en_tn_text = "Hello WeTextProcessing 1.0, life is short, just use wetext, 666, 9 and 10"
62
+ zh_tn_model = ZhNormalizer(remove_erhua=True, overwrite_cache=True)
63
+ zh_itn_model = InverseNormalizer(enable_0_to_9=False, overwrite_cache=True)
64
+ en_tn_model = EnNormalizer(overwrite_cache=True)
65
+ print("中文 TN (去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
66
+ print("中文ITN (小于10的单独数字不转换,重新在线构图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
67
+ print("英文 TN (暂时还没有可控的选项,后面会加...):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
68
+
69
+ zh_tn_model = ZhNormalizer(overwrite_cache=False)
70
+ zh_itn_model = InverseNormalizer(overwrite_cache=False)
71
+ en_tn_model = EnNormalizer(overwrite_cache=False)
72
+ print("中文 TN (复用之前编译好的图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
73
+ print("中文ITN (复用之前编译好的图):\n\t{} => {}".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
74
+ print("英文 TN (复用之前编译好的图):\n\t{} => {}\n".format(en_tn_text, en_tn_model.normalize(en_tn_text)))
75
+
76
+ zh_tn_model = ZhNormalizer(remove_erhua=False, overwrite_cache=True)
77
+ zh_itn_model = InverseNormalizer(enable_0_to_9=True, overwrite_cache=True)
78
+ print("中文 TN (不去除儿化音,重新在线构图):\n\t{} => {}".format(zh_tn_text, zh_tn_model.normalize(zh_tn_text)))
79
+ print("中文ITN (小于10的单独数字也进行转换,重新在线构图):\n\t{} => {}\n".format(zh_itn_text, zh_itn_model.normalize(zh_itn_text)))
60
80
  ```
61
81
 
62
82
  #### 1.2 Advanced Usage:
@@ -25,6 +25,7 @@ itn/chinese/data/measure/units_zh.tsv
25
25
  itn/chinese/data/money/code.tsv
26
26
  itn/chinese/data/money/symbol.tsv
27
27
  itn/chinese/data/number/digit.tsv
28
+ itn/chinese/data/number/digit_zh.tsv
28
29
  itn/chinese/data/number/dot.tsv
29
30
  itn/chinese/data/number/sign.tsv
30
31
  itn/chinese/data/number/special_dash.tsv
@@ -61,3 +61,18 @@
61
61
  五台山 五台山
62
62
  六盘水 六盘水
63
63
  八宿 八宿
64
+ 十二五 十二五
65
+ 十三五 十三五
66
+ 十四五 十四五
67
+ 几十万 几十万
68
+ 几百万 几百万
69
+ 几千万 几千万
70
+ 十几万 十几万
71
+ 二十几万 二十几万
72
+ 三十几万 三十几万
73
+ 四十几万 四十几万
74
+ 五十几万 五十几万
75
+ 六十几万 六十几万
76
+ 七十几万 七十几万
77
+ 八十几万 八十几万
78
+ 九十几万 九十几万
@@ -0,0 +1,10 @@
1
+ 一
2
+ 二
3
+ 两
4
+ 三
5
+ 四
6
+ 五
7
+ 六
8
+ 七
9
+ 八
10
+ 九
@@ -16,7 +16,7 @@ from itn.chinese.rules.cardinal import Cardinal
16
16
  from tn.processor import Processor
17
17
  from tn.utils import get_abs_path
18
18
 
19
- from pynini import string_file, accep, cross
19
+ from pynini import string_file, accep, cross, union
20
20
  from pynini.lib.pynutil import delete, insert, add_weight
21
21
 
22
22
 
@@ -36,6 +36,11 @@ class Measure(Processor):
36
36
  get_abs_path('../itn/chinese/data/measure/units_zh.tsv'))
37
37
  sign = string_file(
38
38
  get_abs_path('../itn/chinese/data/number/sign.tsv')) # + -
39
+ digit = string_file(
40
+ get_abs_path('../itn/chinese/data/number/digit.tsv')) # 1 ~ 9
41
+ digit_zh = string_file(
42
+ get_abs_path('../itn/chinese/data/number/digit_zh.tsv')) # 1 ~ 9
43
+ addzero = insert('0')
39
44
  to = cross('到', '~') | cross('到百分之', '~')
40
45
 
41
46
  units = add_weight(
@@ -55,8 +60,35 @@ class Measure(Processor):
55
60
 
56
61
  # 十千米每小时 => 10km/h, 十一到一百千米每小时 => 11~100km/h
57
62
  measure = number + (to + number).ques + units
58
- tagger = insert('value: "') + (measure | percent) + insert('"')
59
63
 
64
+ # XXX: 特殊case处理, ignore enable_standalone_number
65
+ # digit + union("百", "千", "万") + digit + unit
66
+ unit_sp_case1 = [
67
+ '年',
68
+ '月',
69
+ '个月',
70
+ '周',
71
+ '天',
72
+ '位',
73
+ '次',
74
+ '个',
75
+ '顿',
76
+ ]
77
+ if self.enable_0_to_9:
78
+ measure_sp = add_weight(
79
+ ((digit + delete('百') + add_weight(addzero**2, 1.0)) |
80
+ (digit + delete('千') + add_weight(addzero**3, 1.0)) |
81
+ (digit + delete('万') + add_weight(addzero**4, 1.0))) +
82
+ insert(' ') + digit + union(*unit_sp_case1), -0.5)
83
+ else:
84
+ measure_sp = add_weight(
85
+ ((digit + delete('百') + add_weight(addzero**2, 1.0)) |
86
+ (digit + delete('千') + add_weight(addzero**3, 1.0)) |
87
+ (digit + delete('万') + add_weight(addzero**4, 1.0))) +
88
+ digit_zh + union(*unit_sp_case1), -0.5)
89
+
90
+ tagger = insert('value: "') + (measure | measure_sp
91
+ | percent) + insert('"')
60
92
  # 每小时十千米 => 10km/h, 每小时三十到三百一十一千米 => 30~311km/h
61
93
  tagger |= (insert('denominator: "') + delete('每') + units +
62
94
  insert('" numerator: "') + measure + insert('"'))
@@ -3061,3 +3061,9 @@ Z. Y. ZY
3061
3061
  Z.Y. ZY
3062
3062
  Z. Z. ZZ
3063
3063
  Z.Z. ZZ
3064
+ here's here is
3065
+ you're you are
3066
+ i'm i am
3067
+ Here's Here is
3068
+ You're You are
3069
+ I'm I am
@@ -57,15 +57,25 @@ class Normalizer(Processor):
57
57
  punct = add_weight(Punctuation().tagger, 2.00)
58
58
  rang = add_weight(Range().tagger, 1.01)
59
59
  # TODO(xcsong): add roman
60
- tagger = punct.star + \
61
- (cardinal | ordinal | word
62
- | date | decimal | fraction
63
- | time | measure | money
64
- | telephone | electronic
60
+ tagger = \
61
+ (cardinal
62
+ | ordinal
63
+ | word
64
+ | date
65
+ | decimal
66
+ | fraction
67
+ | time
68
+ | measure
69
+ | money
70
+ | telephone
71
+ | electronic
65
72
  | whitelist
66
- | rang).optimize() + (punct.plus | self.DELETE_SPACE)
67
- # delete the last space
68
- self.tagger = tagger.star @ self.build_rule(delete(' '), r='[EOS]')
73
+ | rang
74
+ | punct
75
+ ).optimize() + (punct.plus | self.DELETE_SPACE)
76
+ # delete the first and last space
77
+ self.tagger = (delete(' ').star + tagger.star) @ self.build_rule(
78
+ delete(' '), r='[EOS]')
69
79
 
70
80
  def build_verbalizer(self):
71
81
  cardinal = Cardinal().verbalizer
@@ -83,14 +93,20 @@ class Normalizer(Processor):
83
93
  punct = Punctuation().verbalizer
84
94
  rang = Range().verbalizer
85
95
  verbalizer = \
86
- (cardinal | ordinal | word
87
- | date | decimal
88
- | fraction | time
89
- | measure | money
96
+ (cardinal
97
+ | ordinal
98
+ | word
99
+ | date
100
+ | decimal
101
+ | fraction
102
+ | time
103
+ | measure
104
+ | money
90
105
  | telephone
91
106
  | electronic
92
107
  | whitelist
93
108
  | punct
94
- | rang).optimize() + (punct.plus | self.INSERT_SPACE)
109
+ | rang
110
+ ).optimize() + (punct.plus | self.INSERT_SPACE)
95
111
  self.verbalizer = verbalizer.star @ self.build_rule(delete(' '),
96
112
  r='[EOS]')
@@ -61,14 +61,15 @@ class Punctuation(Processor):
61
61
  punct = closure(self.punct | cross('\\', '\\\\\\') | cross('"', '\\"'),
62
62
  1)
63
63
 
64
- emphasis = (
64
+ self.emphasis = (
65
65
  accep("<") +
66
66
  ((
67
67
  closure(self.NOT_SPACE - union("<", ">"), 1) + # noqa
68
68
  closure(accep("/"), 0, 1)) # noqa
69
69
  | (accep("/") + closure(self.NOT_SPACE - union("<", ">"), 1))) +
70
70
  accep(">")) # noqa
71
- punct = plurals._priority_union(emphasis, punct, closure(self.VCHAR))
71
+ punct = plurals._priority_union(self.emphasis, punct,
72
+ closure(self.VCHAR))
72
73
 
73
74
  self.graph = punct
74
75
  final_graph = insert("v: \"") + add_weight(
@@ -78,7 +79,10 @@ class Punctuation(Processor):
78
79
 
79
80
  def build_verbalizer(self):
80
81
  punct = closure(
81
- self.punct | cross('\\\\\\', '\\') | cross('\\"', '"')
82
- | accep(" "), 1)
83
- verbalizer = delete('v: "') + punct + delete('"')
82
+ self.punct | self.emphasis | cross('\\\\\\', '\\')
83
+ | cross('\\"', '"'), 1)
84
+ verbalizer = delete('v: "') + add_weight(accep(" "), -1.0).star \
85
+ + punct \
86
+ + add_weight(accep(" "), -1.0).star \
87
+ + delete('"')
84
88
  self.verbalizer = self.delete_tokens(verbalizer)
@@ -73,9 +73,8 @@ def main():
73
73
  full_to_half=str2bool(args.full_to_half),
74
74
  tag_oov=str2bool(args.tag_oov))
75
75
  elif args.language == "en":
76
- normalizer = EnNormalizer(
77
- cache_dir=args.cache_dir,
78
- overwrite_cache=args.overwrite_cache)
76
+ normalizer = EnNormalizer(cache_dir=args.cache_dir,
77
+ overwrite_cache=args.overwrite_cache)
79
78
 
80
79
  if args.text:
81
80
  print(normalizer.tag(args.text))
Binary file