def build_3D_matrix(dictionary, alphabet):
    """
    `build_3D_matrix()` initiate and fill a 3D matrix (dict of dict of dict object) by browsing the dictionary.

    * **dictionary** (*list*) : the input dictionary (after processing)
    * **alphabet** (*list*) : the used alphabet (from input file or from dictionary)
    * **return** (*dict*) : the matrix representing the probability of letter chaining each other
    """
    # initiate matrix
    matrix = dict()
    for letter1 in alphabet:
        matrix[letter1] = dict()
        for letter2 in alphabet:
            matrix[letter1][letter2] = dict()
            for letter3 in alphabet:
                matrix[letter1][letter2][letter3] = 0

    # fill matrix with dictionary
    for word in dictionary:
        previous_letter1 = ''
        previous_letter2 = ''
        for current_letter in word:
            matrix[previous_letter1][previous_letter2][current_letter] += 1
            previous_letter1 = previous_letter2
            previous_letter2 = current_letter
        matrix[word[len(word)-2]][word[len(word)-1]][''] +=1
        matrix[word[len(word)-1]][''][''] +=1
    return matrix