def METHOD_NAME(self, words: List[str]):
    indptr = []
    indices = []
    data = []
    total_length = 0
    for n, word in enumerate(words):
        indptr.append(total_length)
        for cnt, letter in enumerate(word.lower()):
            col = self.alphabet_length * cnt + self.letter_nums[letter]
            indices.append(col)
            init_value = 1.0 - cnt * 0.05
            if init_value < 0:
                init_value = 0
            data.append(init_value)
        total_length += len(word)
    indptr.append(total_length)
    data = np.array(data)
    indptr = np.array(indptr)
    indices = np.array(indices)
    matrix = csr_matrix((data, indices, indptr), shape=(len(words), self.max_word_length * self.alphabet_length))
    return matrix