Openfst、pynini
Openfst
弧的2个标注分别表示:消耗的输入
、发出的输出
,希腊字母<epsion>
表示沿弧的空输入或空输出
FSM(Finite State Machines,有限状态机)
- 有限个状态
- 同一时刻只能处于同一个状态
- 不同状态可以互相转换 ==> 状态是无序的
FSA(Finite State acceptor,有限状态接收机)描述单个字符串集
-
与FSM区别,有起点、终点;有重复利用,存储效率更高
输入msb
->msbtech
->witech
- 确定性:在任何给定状态下,对于任何输入,最多只能遍历一个transition(只能走一条路)
- 非循环:不可能重复遍历同一个状态(
有向无环图
) - Final唯一性:当且仅当有限状态机在输入序列末尾处于
最终
状态时,才接受
特定输入序列
FST(Finite State Transducer,有限状态转换器)
-
最重要的功能是可以实现Key到Value的映射
-
描述字符串与字符串之间的关系,当输入字符串对应多个输出字符串时,FST是函数式的
-
FST存储大规模较HashMap小很多,检索速度稍慢
每当有新的输入,从起始点值一次向后更新
- 确定性:在任何给定状态下,对于任何输入,最多只能遍历一个transition(只能走一条路)
- 非循环:不可能重复遍历同一个状态(
有向无环图
) - transducer:转换器有相关的值(Payload),final节点会输出一个值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人