Estou tentando usar a CNN (rede neural convolucional) para classificar documentos. A CNN para textos / frases curtas foi estudada em muitos artigos. No entanto, parece que nenhum documento usou a CNN para texto ou documento longo.
Meu problema é que há muitos recursos em um documento. No meu conjunto de dados, cada documento possui mais de 1000 tokens / palavras. Para alimentar cada exemplo em uma CNN, converto cada documento em uma matriz usando word2vec ou luva, resultando em uma grande matriz. Para cada matriz, a altura é o comprimento do documento e a largura é o tamanho do vetor de incorporação de palavras. Meu conjunto de dados tem mais de 9000 exemplos e leva muito tempo para treinar a rede (uma semana inteira), o que dificulta o ajuste fino dos parâmetros.
Outro método de extração de recurso é usar um vetor quente para cada palavra, mas isso criará matrizes muito esparsas. E, claro, esse método ainda leva mais tempo para treinar do que o método anterior.
Portanto, existe um método melhor para extrair recursos sem criar grandes matrizes de entrada?
E como devemos lidar com documentos de tamanho variável? Atualmente, adiciono seqüências especiais para fazer com que o documento tenha o mesmo tamanho, mas não acho que seja uma boa solução.