문서의 용어를 비교하여 유사성 매트릭스를 작성해야합니다. 예를 들어 Document1과 Document2가 같은 용어를 2 개 사용하는 경우 m [1, 2]에 의 유사도 행렬에 2를 써야합니다. 내 유사성 매트릭스는 지금 다음과 같습니다.문서 용어 이용시 용어 비교 R
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 0 NA NA NA NA NA NA NA NA
[2,] 0 0 NA NA NA NA NA NA NA
[3,] 0 0 0 NA NA NA NA NA NA
[4,] 0 0 0 0 NA NA NA NA NA
[5,] 0 0 0 0 0 NA NA NA NA
[6,] 0 0 0 0 0 0 NA NA NA
[7,] 0 0 0 0 0 0 0 NA NA
[8,] 0 0 0 0 0 0 0 0 NA
문서 및 용어는 문서 용어 매트릭스 안에 있습니다. 이제는 유사도 행렬에서 NA를 말하는 모든 문서와 용어를 비교하여 유사도 행렬을 채워야합니다. 문서 쌍의 모든 용어 일치에 대해 +1을 계산하고 행렬의 올바른 위치에 최종 값을 주입해야합니다.
내 문제는 문서 용어 매트릭스에서 단일 문서와 해당 용어에 액세스 할 수 없다는 것입니다. 이 작업을 수행하는 다른 방법이 있습니까? 여기 코드 :
install.packages("tm")
install.packages("openNLP")
install.packages("openNLPmodels.en")
Sys.setenv(NOAWT=TRUE)
library(tm)
library(openNLP)
library(openNLPmodels.en)
sample = c(
"count eagle alien",
"dis bound eagle",
"bound count eagle dis",
"count eagle dis alien",
"bound eagle",
"count dis alien",
"bound count alien",
"bound count",
"count eagle dis"
)
print(sample)
corpus <- Corpus(VectorSource(sample))
inspect(corpus)
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stemDocument,language="english")
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, tmTagPOS)
inspect(corpus)
dtm <- DocumentTermMatrix(corpus)
inspect(dtm)
# need to create similarity matrix here
#dist(dtm, method = "manhattan", diag = FALSE, upper = TRUE)
rowCount <- nrow(dtm)
similMatrix = matrix(nrow = rowCount - 1, ncol = rowCount)
show(similMatrix)
similMatrix[ row(similMatrix) >= col(similMatrix) ] <- 0
for(i in 1:(rowCount - 1)){ # rows
for (j in i+1:rowCount){ # cols
# need to compare document i and j here and write
# the value into similarity matrix
}
}
show(similMatrix)
많은 패키지가 있습니다. 이것을 재현하려면 모두 설치해야합니까? –
예를 들어,'DocumentTermMatrix'를 정의한 패키지를 설치했다면 결과에'dput'을 써서 표현을 만들면 재현 할 수 있을까요? –
tm openNLP 및 openNLPmodels.en 패키지는 작업을 수행해야하지만 100 % 확실하지는 않습니다. 이 모든 패키지는 내 교수가 작업을 수행하도록 권장되었습니다. –