问题描述
我正在尝试手动计算 Viterbi 的概率分布,然后在交叉验证中使用它们。
我有一个带有句子的语料库(corps),每个单词都与其标签组合在一起,大致如下所示:
[('I','O'),('go','B-Verb:go'),('where','i'),('want','B-Verb:want'),('to','B-Verb:go')]
然后我将我的数据分成训练集和测试集并创建两个列表
train_set,test_set =train_test_split(corps,train_size=0.90,test_size=0.10,random_state = 101)
train_tagged_words = [ tup for sent in train_set for tup in sent ]
test_tagged_words = [ tup for sent in test_set for tup in sent ]
tags = {tag for word,tag in train_tagged_words}
但是当我想计算我的标签的转换矩阵时,代码需要永远。 代码如下:
tags_matrix = np.zeros((len(tags),len(tags)),dtype='float32')
for i,t1 in enumerate(list(tags)):
for j,t2 in enumerate(list(tags)):
tags_matrix[i,j] = t2_given_t1(t2,t1)[0]/t2_given_t1(t2,t1)[1]
print(tags_matrix)
我做错了吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)