【sparrowhawk】笔记

1.sparrowhawk

谷歌内部基于WFST的TTS-TN系统Kestrel的开源版本 sparrowhawk,可以支持数字,日期,时间,货币,邮箱等多种文本类型的书面语文本转口语文本

安装参考

2.sparrowhawk基本工作过程

主要包括两个模块

  1. The tokenizer/classifier
  2. The verbalizer

2.1.tokenizer / classify模块

2.1.1.输入的句子首先根据空格或自定义字符分割成一个个的token,再根据classifier进行分类为下列几类(分类规则由thrax语法文件确定 grammars/en_toy/classify/xxx.grm)

  1. 普通单词token(不需要进行处理的):
    1. 普通单词不进行任何处理
    2. eg. “apple”、“yes” → “apple” 、“yes”
  2. 标点符号token(Punctuation):
    1. sparrowhawk 源码中默认转换成 “sil”(silence,即不发音) 源码 line 157
    2. eg. “,” 、"?" → sil 、sil
  3. 需要进行TN处理的token(semiotic classes) sparrowhawk源码中类型定义
    1. 自定义的类型,处理成对应的proto格式(见2.1.2)
      1. Cardinal 整数 1,2,3
      2. Ordinal 序数 1st,2nd
      3. Fraction 分数 1/3,2/5
      4. Time 时间 12:30
      5. Decimal 十进制数 10.21 ,-11.11 ,12k
      6. Measure 度量单位 10cm,10kg,100%
      7. Date 日期 3 Jan. 1980
      8. Money 货币 $10
      9. Telephone 电话号码
      10. Electronic URL地址
      11. Connector 连接符 1:1,4x3
      12. Abbreviation 缩写词 U.S
  4. 未知或者处理失败的token
    1. 在verbalize中的verbatim.grm二次处理

2.1.2.token经过classify分类之后,处理成不同的proto格式 ,根据编写的语法而定 classify_example (其中的 .grm文件为thrax语法规则,.far文件为编译后的FST Arachive文件)

  1. eg. 货币格式 $200 ----→ tokens { money { currency: “usd” amount { integer_part: “200”} } }
  2. eg. 度量格式 66.66% ----→ tokens { measure { decimal { integer_part: “66” fractional_part: “66”} units: “percent”} }
  3. eg. 数字格式 12 ----→ tokens { cardinal { integer: “12” } }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值