链接:https://pan.baidu.com/s/1uBjLC61xm4tQ9raDa_M1wQ  提取码:f7l1

推荐:https://blog.csdn.net/longgb123/article/details/78154295

import sys
sys.path.append('保存文件的路径') #设置路径
# 下面三个文件在上面

from prob_emit import P as p_emit
from prob_start import P as p_start
from prob_trans import P as p_trans obs = '今天我来到北京清华大学' #观察值
states = 'BMES' V = [{}]
path = {} prev_states = {
'B': 'ES', # t时刻:t-1时刻
'M': 'BM',
'E': 'BM',
'S': 'SE'
} # 初始化 第一个字符作为 'BMES' 的概率
for y in states:
V[0][y] = p_start[y] + p_emit[y][obs[0]]
path[y] = y #概率: 输出概率(独立性概率:第k个字符状态为y的概率) + 转换概率(y0 --> y ) + 上一个字符状态为y0的概率(当前状态与上一个字符的状态有关) for k in range(1, len(obs)):
t0 = {} # 储存概率
path0 = {} # 储存路径 for y in states:
em_p = p_emit[y][obs[k]] # 输出概率 表示 第 k 个字符状态为 y 时 的输出概率 (prob, s0) = max((em_p+p_trans[y0][y]+V[-1][y0], y0) for y0 in prev_states[y]) # 动态规划
#上面的prob s0 就是在下面的每个循环中取tmp_prob tmp_s0 中取得最大值
# for y0 in prev_states[y]: # prev_state[y] 表示 t时刻 状态为 y 时的 t-1时刻可能出现的状态
# tmp_prob = em_p + p_trans[y0][y] + V[-1][y0]
# tmp_s0 = y0 t0[y] = prob
path0[y] = path[s0] + y path = path0
V.append(t0)
path
(prob, s0) = max((V[-1][y], y) for y in 'ES') s2 = []
for i, char in enumerate(obs):
sign = path[s0][i]
if(sign == 'B'):
begin = i
elif sign == 'E':
s2.append(obs[begin: i+1])
elif sign == 'S':
s2.append(obs[i])
else :
pass
s2

最新文章

  1. 基于android studio的快捷开发(将持续更新)
  2. 使用openssl的一些问题
  3. CentOS 7下的 Mysql 主从配置
  4. javaweb框架构想-自己的对象存储池-遁地龙卷风
  5. 老爷车IE8如何兼容图标字体
  6. MemPool
  7. Linux主机硬盘的主要规划
  8. ↗☻【HTML5秘籍 #BOOK#】第1章 HTML5简介
  9. informix 查看数据库空间名
  10. iOS开发学习--纯代码 UIScrollView 无限循环的实现——代码类封装
  11. 使用Java创建RESTful Web Service(转)
  12. Eclipse用法和技巧十五:自动添加未实现方法1
  13. 求n!末尾0的个数
  14. Linux下ansible的group模块
  15. getMemory的经典例子
  16. dict-test
  17. php如何以post形式发送xm并返回xmll数据
  18. rhce 第十一题 挂载NFS共享
  19. moodleform -转载于blfshiye
  20. shell脚本选择LOG里面特定的行,生成新文件并rsync上传

热门文章

  1. 开源月刊《HelloGitHub》第 62 期
  2. 如何彻底禁止 macOS Big Sur 自动更新,去除更新标记和通知
  3. [LeetCode] 231. 2 的幂
  4. 达芬奇架构NPU
  5. AI芯片结构目标图形处理
  6. A,B,C,D分别为不同的整数,满足以下乘法公式,求A,B,C,D的值
  7. wrk(1)- 详细使用
  8. python小知识,字典
  9. sql 数据库使用注意事项
  10. 关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url