CNN (Convolutional Neural Network)을 사용하여 문서를 분류하려고합니다. 짧은 텍스트 / 문장에 대한 CNN은 많은 논문에서 연구되었습니다. 그러나 긴 텍스트 나 문서에 CNN을 사용한 논문은없는 것 같습니다.
내 문제는 문서의 기능이 너무 많다는 것입니다. 내 데이터 세트에서 각 문서에는 1000 개 이상의 토큰 / 단어가 있습니다. 각 예제를 CNN에 제공하기 위해 word2vec 또는 장갑 을 사용하여 각 문서를 행렬로 변환 하여 큰 행렬을 만듭니다. 각 행렬에서 높이는 문서의 길이이고 너비는 단어 포함 벡터의 크기입니다. 내 데이터 세트에는 9000 개가 넘는 예제가 있으며 네트워크를 훈련시키는 데 많은 시간이 걸립니다 (일주일 내내). 매개 변수를 미세 조정하기가 어렵습니다.
또 다른 특징 추출 방법은 각 단어마다 one-hot vector를 사용하는 것이지만 매우 희소 행렬을 만듭니다. 물론이 방법은 이전 방법보다 훈련하는 데 더 많은 시간이 걸립니다.
큰 입력 행렬을 만들지 않고 피처를 추출하는 더 좋은 방법이 있습니까?
가변 길이의 문서를 어떻게 처리해야합니까? 현재 문서의 길이를 동일하게 만들기 위해 특수 문자열을 추가하지만 좋은 해결책이라고 생각하지 않습니다.