【发布时间】:2018-02-09 21:34:55
【问题描述】:
您好,我正在尝试生成 n 和 n-1 克并计算 ngram 的概率。但是,生成的 n-1 克不采用每个子列表的最后一个元素。有人可以帮我弄清楚我哪里出错了。
Input:
input1 = [['A', 'B', 'C', 'D', 'E'],
['D', 'E', 'C', 'D', 'E'],
['A', 'C', 'D', 'D']]
for line in input_text:
for i in range (len(line)-n+1):
g = ' '.join(line[i:i+n])
ngram.setdefault(g, 0)
ngram[g] += 1
h = ' '.join(line[i:i+n-1])
history.setdefault(h, 0)
history[h] +=1
n-1 克即历史的输出如下: {'D':4,'A':2,'C':3,'B':1,'E':1}
但是应该是{'D': 4, 'A': 2, 'C': 3, 'B': 1, 'E': 3}
谁能帮我调试一下。谢谢
【问题讨论】:
标签: python dictionary nlp n-gram