如何创建一个序列序列的热编码

How to create one hot encoding of a sequence of sequences

我想对看起来像 [[5,7,11,9,13,1,...],[3,7,5,9,16,. ...];..];其中每个序列的长度为 24,每个序列中的最大可能整数为 33,序列总数为 200。每个序列是一个句子的整数表示。 我如何才能对此进行高效的热编码? 我试过了

for sentence in sentences:    
n=maxlen    
k=max_vocabullary    
m=np.zeros((n,k))    
m[np.arange(n),sentence]=1     
print (m)  

试试 Scikit-learn 的 OneHotEncoder。

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder()
encoded_seqs = enc.fit_transform([[5,7,11,9,13,1,...],[3,7,5,9,16,....],..])

http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html