R에서 'lda'패키지를 사용하여 코퍼스의 토픽 모델 분석을 수행한다 ('corpusB'라고 부르 자.). 나는 먼저 'lexicalize'명령을 사용하여 분석을위한 코퍼스를 준비합니다.이 명령은 용어 - 문서 행렬과 사전 지정되지 않은 경우 코퍼스에 고유 토큰이있는 어휘를 반환합니다.R 토픽 모델링 - lda 명령어 'lexicalize'가 예기치 않은 결과를 낸다.
연구 목적으로 다른 코퍼스에서 유추 된 어휘 ('corpusA'라고 부름)를 사용하여 코퍼스를 어휘 정리하고 싶습니다. 쉽게 수행해야하는 용어입니다. 아직, 그것은 작동하지 않습니다. 다음은 코드 샘플입니다.
A <- lexicalize(corpusA) #the output of this command is just as expected
B <- lexicalize(corpusB, vocab = corpusA$vocab)
B$documents #let's see the term-document matrix
>>NULL #this is what I get
null 결과가 나타나는 이유는 무엇입니까? 이상하게도, 내가 가져온 코퍼가 아닌 단순한 문자 벡터를 사용하고 있다면 명령이 잘 작동합니다. 유용 할 수 있습니다 더 많은 정보
A <- c("I have the very model of a modern major general")
B <- c("I have a major headache")
B1 <- lexicalize(B)
B1
$documents
$documents[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 2 3 4
[2,] 1 1 1 1 1
$vocab
[1] "i" "have" "a" "major" "headache"
A1 <- lexicalize(A, vocab = B1$vocab)
A1
[[1]]
[,1] [,2] [,3] [,4]
[1,] 0 1 2 3
[2,] 1 1 1 1
몇 조각 :
1) 나는 (corpusB)에 관심 코퍼스 텍스트의 700메가바이트을 포함, 꽤 상당한 데이터;
2) 'tm'패키지를 사용하여 두 corpora (B와 A)를 R로 가져옵니다. 어휘를 사용하기 전에 'tm'을 사용하여 구두점, 숫자, 불용어를 제거하고 공백을 제거하고 소문자를 제거합니다.
어떤 도움을 주셔서 감사합니다.
을 적용하기 전에 문자 벡터로 변환해야 하는가? 그렇게하면 쉽게 재현 할 수 있습니다. –
예. 나는 이것을 용어 - 문서 행렬로 변환하고, 문제를 해결할 수있는 재판을 할 수 있는지 알아 봅니다 ... – user3197869