def __create_matrixes(self): """ Creates transition and emission matrix. """ print ("Creating matrixes") for unit in self.data: # Ordered list of hidden labels framed by -1 sequence = [-1,-1 ] for observation in unit[2:-2]: # Assign random label to observation label = randint(0, self.labels - 1) # Add C(label|previous label) change_count(self.transition, label, sequence[-2], sequence[-1], 1) # print(label, sequence[-2], sequence[-1]) # Add C(emission|label) change_count(self.emission, observation, label, 1) sequence.append(label) # Last transition add C(-1|previous label) change_count(self.transition, "-1", sequence[-2],sequence[-1], 1) # print( "-1", sequence[-2],sequence[-1]) sequence.append(-1) change_count(self.transition, "-1", sequence[-2],sequence[-1], 1) # print( "-1", sequence[-2],sequence[-1]) sequence.append(-1) # print(len(sequence),len(unit)) # Add sequence of observations list of sequences self.sequences.append(sequence) for stemm in self.stemlist: change_count(self.stemdict, stemm, 1)
def __create_matrixes(self): """ Creates transition and emission matrix. """ print("Creating matrixes") for i in range(len(self.data)): unit = self.data[i] unitStem = self.stems[i] # Ordered list of hidden labels framed by -1 sequence = [-1, -1] for aa in range(2, len(unitStem) - 2): item = unit[aa] stem = unitStem[aa] # Assign random label to observation label = randint(0, self.labels - 1) # Add C(label|previous label) change_count(self.transition, label, sequence[-2], sequence[-1], 1) # print(label, sequence[-2], sequence[-1]) # Add C(emission|label) change_count(self.emission, item, label, 1) change_count(self.stemEmission, stem, label, 1) sequence.append(label) # Last transition add C(-1|previous label) change_count(self.transition, "-1", sequence[-2], sequence[-1], 1) # print( "-1", sequence[-2],sequence[-1]) sequence.append(-1) change_count(self.transition, "-1", sequence[-2], sequence[-1], 1) # print( "-1", sequence[-2],sequence[-1]) sequence.append(-1) # Add sequence of observations list of sequences self.sequences.append(sequence)
def __change_sample(self, blanket, i): """ Adds (i = 1) or removes (i = -1) a sample. Arguments: blanket -- affected labels i -- add or remove """ current_label,previous_previous_label, previous_label, following_label, following_following_label,current_observation,current_stem = blanket change_count(self.transition,current_label,previous_previous_label, previous_label,i) change_count(self.transition, following_label, previous_label,current_label, i) change_count(self.transition, following_following_label,current_label,following_label, i) change_count(self.emission, current_observation, current_label, i) change_count(self.stemEmission, current_stem, current_label, i)
def __change_sample(self, blanket, i): """ Adds (i = 1) or removes (i = -1) a sample. Arguments: blanket -- affected labels i -- add or remove """ current_label, previous_label, following_label, current_observation = blanket change_count(self.transition, current_label, previous_label, i) change_count(self.transition, following_label, current_label, i) change_count(self.emission, current_observation, current_label, i)
def __create_matrixes(self): """ Creates transition and emission matrix. """ print "Creating matrixes" for unit in self.data: # Ordered list of hidden labels framed by -1 sequence = [-1] for observation in unit[1:-1]: # Assign random label to observation label = randint(0, self.labels - 1) # Add C(label|previous label) change_count(self.transition, label, sequence[-1], 1) # Add C(emission|label) change_count(self.emission, observation, label, 1) sequence.append(label) # Last transition add C(-1|previous label) change_count(self.transition, "-1", sequence[-1], 1) sequence.append(-1) # Add sequence of observations list of sequences self.sequences.append(sequence)