算法课程作业

第四次作业

一、"广州塔"例子

利用隐马模型对未登录词进行切分

每个字的状态在词表中以<词的位置,词性>存储,每个字的状态有多种,不同字各状态之间有转移概率,利用Viterbi算法寻找最大概率(由初始概率,状态转移概率和发射概率组成),根据各字的状态可以完成未登录词的切分

二、Viterbi算法

1.利用CreateGraph函数找出待分字段S中所有可划分出的词,得到名为WordGraph的嵌套列表,共(len(S) + 2)个列表,第一个和最后一个代表标识位,其余列表表示一个节点,由S中相应位置的单字和该字以及该字之前的字能组成的词构成

2.利用ViterbiSearch函数对每个节点中的每一个词与前一级节点中的每个词之间计算概率,保存最大概率值以及前一级节点的最优词,即找到局部最优

3.利用BackSearch函数回溯最优路径,找到最优的分词组合

三、jieba中的状态转移概率与发射概率

jieba库中的转移概率与字无关,只记录了状态到状态之间的转移概率,例如'E'→'B'的转移概率是'E'→'B'的次数 / 'E'→其他状态的次数

jieba库中的发射概率与字有关,记录了不同状态下不同字的发射概率,例如'B'状态下'\u4e00'字的发射概率等于'B'状态下'\u4e00'字出现的次数 / 'B'状态的次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值