Example #1
0
    def pad_sentece(self, windows_size):
        """
        Padding the sentence with nonsence word so that the moving window method can be applied
        :param windows_size:
        :return:
        """

        assert (windows_size+1)%2 == 0, "window size should be an odd number"

        padding_num = (windows_size - 1)/2

        paddings = [get_padding_word()] * padding_num
        properties = [WordProperty()] * padding_num
        for property in properties:
            property.pos = PosTags.PADDING_POS_TAG

        self.__words = paddings + self.__words + paddings
        self.__word_properties = properties + self.__word_properties + properties
        for srl in self.__srl_structs:
            srl.pos_shift(padding_num)

        for ne in self.__nes:
            ne.pos_shift(padding_num)

        for chunk in self.__chunks:
            chunk.pos_shift(padding_num)

        for phrase in self.__phrases:
            phrase.pos_shift(padding_num)
Example #2
0
    def word_windows(self, windows_size):

        assert (windows_size+1)%2 == 0, "window size should be an odd number"

        padding_num = (windows_size - 1)/2

        paddings = [get_padding_word()] * padding_num



        extended_words = paddings + self.__words + paddings

        return moving_window(extended_words, windows_size)