import binascii


def shinglify(clean_text):
    """
    Generates list of 'shingles': crc sums of word subsequences of default length
    :param clean_text: cleaned text to calculate shingles sequence.
    :return: shingles sequence
    """
    shingle_length = 3
    result = []
    for idx in range(len(clean_text) - shingle_length + 1):
        result.append(
            binascii.crc32(
                bytes(
                    u' '.join(
                        [word for word in clean_text[idx:idx+shingle_length]]
                    ),
                    'utf-8'
                )
            )
        )

    return result