我在NLTK训练PunktSentenceTokenizer并获得了泡菜文件 “learnt.pickle”:如何合并两个PunktSentenceTokenizer pickle文件?
ccopy_reg
_reconstructor
p0
(cnltk.tokenize.punkt
PunktSentenceTokenizer
p1
c__builtin__
object
p2
Ntp3
Rp4
(dp5
S'_Token'
p6
cnltk.tokenize.punkt
PunktToken
p7
sS'_lang_vars'
p8
g0
(cnltk.tokenize.punkt
PunktLanguageVars
p9
g2
Ntp10
Rp11
I1
bsS'_params'
p12
g0
(cnltk.tokenize.punkt
PunktParameters
p13
g2
Ntp14
Rp15
(dp16
S'sent_starters'
p17
c__builtin__
set
p18
((lp19
tp20
Rp21
sS'collocations'
p22
g18
((lp23
tp24
Rp25
sS'abbrev_types'
p26
g18
((lp27
Vago
p28
aVgca
p29
aVe.g`
我还有一个咸菜文件 “english.pickle”:
ccopy_reg
_reconstructor
p0
(cnltk.tokenize.punkt
PunktSentenceTokenizer
p1
c__builtin__
object
p2
Ntp3
Rp4
(dp5
S'_Token'
p6
cnltk.tokenize.punkt
PunktToken
p7
sS'_lang_vars'
p8
g0
(cnltk.tokenize.punkt
PunktLanguageVars
p9
g2
Ntp10
Rp11
I1
bsS'_params'
p12
g0
(cnltk.tokenize.punkt
PunktParameters
p13
g2
Ntp14
Rp15
(dp16
S'sent_starters'
p17
c__builtin__
set
p18
((lp19
Vamong
p20
aVsince
p21
aVthey
p22
aVindeed
p23
aVsome
p24
aVsales
p25
aVin
p26
aVmoreover
p27
aVyet`
我想合并它们以形成一个单一的.pickle文件(这必须与PunktSentenceTokenizer的一起使用)。
我使用下面的代码:
import pickle
my_dict_final = {}
with open('english.pickle', 'rb') as f:
my_dict_final.update(pickle.load(f))
with open('learnt.pickle', 'rb') as f:
my_dict_final.update(pickle.load(f))
out = open("finaldict.pickle","wb")
pickle.dump(my_dict_final, out)
out.close()
但它显示了这个错误:
TypeError: 'PunkSentenceTokenizer' object is not iterable.
我不知道这意味着什么(我不是编程非常好)... 。但我真的需要一个解决方案....
@COLDSPEED感谢帮助格式 – ashesh