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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)