如何使用元组对列表进行迭代并使用nltk.整个结构的FreqDist



为了使用nltk,我想迭代包含元组的列表。FreqDist和nltk。整个结构的条件频率Dist。结构如下:

[[('minha','PROADJ'(,('ifância','N'(,[('na','ADV'(,'巴伊亚','NPROP'(,'era','V',('oa','ADJ'(,,('mas','KC'(,〔era,'V],('ofrida','PCP'(,waldo','NPROP'(],[('torque','KS'(,('eu','PROPERS'(,['tina','V'(]]

我不想要每个列表的结果(示例中有两个列表,但我有一千个(,而是想要整个结构的结果。我怎么能这么做?以下代码只按列表给我结果:

fd = []
cd = []
for tuple in list1:
fd.append(nltk.FreqDist(tuple)) 
cd.append(nltk.ConditionalFreqDist(tuple))

我想要整个结构的结果。非常感谢。

您可能希望尝试扁平化列表:

from nltk import FreqDist, ConditionalFreqDist
l = [[('minha', 'PROADJ'), ('infância', 'N'), ('na', 'ADV'), ('Bahia', 'NPROP'), ('era', 'V'), ('boa', 'ADJ'), ('mas', 'KC'), ('era', 'V'), ('sofrida', 'PCP'), ('também', 'PDEN'), ('né', 'IN'), ('doutor', 'N'), ('Oswaldo', 'NPROP')], [('porque', 'KS'), ('eu', 'PROPESS'), ('tinha', 'V')]]
l_flat = [i for l_ in l for i in l_]
fd = FreqDist(l_flat)
cfd = ConditionalFreqDist(l_flat)

最新更新