我正在对存储在列表 docToken 中的标记进行二元组。
print(docToken[520])
Run Code Online (Sandbox Code Playgroud)
输出:['瞌睡', '帐户', '只是', '男人', '累了', '推特', '案件', '罗姆尼', '候选人', '看起来']
list(nltk.bigrams(docToken[520]))
Run Code Online (Sandbox Code Playgroud)
输出:[('瞌睡', '帐户'), ('帐户', '刚刚'), ('刚刚', '男人'), ('男人', '累了'), ('累了', 'twitter '), ('推特', '案件'), ('案件', '罗姆尼'), ('罗姆尼', '候选人'), ('候选人', '看起来')]
当我nltk.bigrams(docToken[i])在循环中使用时,我在范围 >=1000 上收到以下错误:
bigram=[]
for i in range(5000):
ls=list(nltk.bigrams(docToken[i]))
for j in ls:
bigram.append(list(j))
Run Code Online (Sandbox Code Playgroud)
当第一个循环中的范围(500)时它工作得很好,但是当范围为1000或更多时,它会给出以下错误:
StopIteration Traceback (most recent call last)
~\Anaconda3\lib\site-packages\nltk\util.py in ngrams(sequence, n, pad_left,
pad_right, left_pad_symbol, right_pad_symbol)
467 while n > 1:
--> 468 history.append(next(sequence))
469 n -= 1
StopIteration:
The above …Run Code Online (Sandbox Code Playgroud)