패키지 내 작업은 코사인 문서를 코사인 유사성과 비교하는 것입니다. 나는 tm 패키지를 사용하여 TermDocumentMatrix (td-idf 형식) tdm을 얻습니다. 다음 작업을하지만, 내 TDM에서 용어의 수는 120,000 명 이상의 (약 50,000 문서), 매우 큰 heretm의 TermDocumentMatrix에있는 두 문서 간의 코사인 유사도 계산 R
d <- dist(tdm, method="cosine")
또는
cosine_dist_mat <- 1 - crossprod_simple_triplet_matrix(tdm)/(sqrt(col_sums(tdm^2) %*% t(col_sums(tdm^2))))
에서 간단하게 언급해야한다. 그러한 매트릭스를 다루는 것은 R의 능력을 넘어선 다. 내 RStudio가 여러 번 충돌되었습니다.
제 질문은 1) 어떻게 큰 매트릭스를 처리하고 페어 와이즈 (120,000 * 120,000) 코사인 유사성을 얻을 수 있습니까? 2) 불가능할 경우 어떻게하면 한 번에 두 개의 문서 만 코사인 유사성을 얻을 수 있습니까? TDM은 단순 매트릭스 인 경우는 I
sim10_21<-cosine_similarity(tdm, d1=10,d2=21)
같은 문헌 10, 21, 무언가 사이의 유사도를한다고 가정, I는 TDM의 계산을 할 수있다 [C (10,21)]. 그러나 tdm을 매트릭스로 변환하는 것은 정확히 내가 처리 할 수없는 것입니다. 내 질문은 궁극적으로 tdm에서 행렬과 같은 계산을 수행하는 방법에 달려있다.