Python nltk值太多,无法解压缩(预期为2个)
将出现上述代码:Python nltk值太多,无法解压缩(预期为2个),python,nltk,Python,Nltk,将出现上述代码: import nltk from nltk.corpus import brown brown_tagged_sents = brown.tagged_sents(categories='news') ((x[1],y[1],z[0],z[1]) for sent in brown_tagged_sents for x,y,z in nltk.trigrams(sent)) cfd = nltk.ConditionalFreqDist( ((x[1],
import nltk
from nltk.corpus import brown
brown_tagged_sents = brown.tagged_sents(categories='news')
((x[1],y[1],z[0],z[1])
for sent in brown_tagged_sents
for x,y,z in nltk.trigrams(sent))
cfd = nltk.ConditionalFreqDist(
((x[1],y[1],z[0],z[1])
for sent in brown_tagged_sents
for x,y,z in nltk.trigrams(sent))
)
可以单独工作,但当它用作参数时会发生错误。我还是不知道为什么。所有代码都在Python3中进行了测试。
nltk。ConditionalFreqDist
需要一个由两个元素元组组成的可数,如(condition,sample)
。但是您传递的是一个4元素元组的iterable(x[1],y[1],z[0],z[1])
您可能需要调查
该类。初始值设定项
nltk.ConditionalFreqDist()
除了两个参数,条件和示例。因此,(x[1],y[1],z[0],z[1])
需要写成((x[1],y[1],z[0]),z[1])
Traceback (most recent call last):
File "/Users/shike/Desktop/textprocess/nltktest.py", line 10, in <module>
for sent in brown_tagged_sents
File "/usr/local/lib/python3.6/site-packages/nltk/probability.py", line
1803, in __init__
for (cond, sample) in cond_samples:
ValueError: too many values to unpack (expected 2)
((x[1],y[1],z[0],z[1])
for sent in brown_tagged_sents
for x,y,z in nltk.trigrams(sent))