In your compliment label function, you have used in Labelled LDA - there seems to be an error. Complement Label accepts a label from a list of labels, but it does a for loop in the function. This would get individual characters from a single label. Isn't this wrong ?
for x in label: vec[self.labelmap[x]] = 1.0