Matriz de co-ocorrência da lista de palavras em Python

Eu tenho uma lista de nomes como:

names = ['A', 'B', 'C', 'D']

e uma lista de documentos, que em cada documento são mencionados alguns desses nomes.

document =[['A', 'B'], ['C', 'B', 'K'],['A', 'B', 'C', 'D', 'Z']]

Gostaria de obter uma saída como uma matriz de co-ocorrências como:

  A  B  C  D
A 0  2  1  1
B 2  0  2  1
C 1  2  0  1
D 1  1  1  0

Existe uma solução (Criando matriz de co-ocorrência) para esse problema no R, mas não consegui fazê-lo no Python. Estou pensando em fazê-lo em pandas, mas ainda não há progresso!

questionAnswers(5)

yourAnswerToTheQuestion