게시물에 대한 그림 찾기 here 나는 계층 적 텍스트 클러스터링이 내가 원하는 것을 할 것이라는 것을 발견했다. (이 경우 세) 올바른 클러스터의 수를 선택하는 경우
names <- c('jon smith','jon, smith','Jon Smith','jon smith et al','bob seger','bob, seger','bobby seger','bob seger jr.','jake','jakey','jack','jakeyfied')
# Levenshtein Distance
e <- adist(names)
rownames(e) <- names
hc <- hclust(as.dist(e))
plot(hc)
rect.hclust(hc,k=3) #the k value provides the number of clusters
df <- data.frame(names,cutree(hc,k=3))
이 출력은 정말 좋아 보인다 :
names cutree.hc..k...3.
jon smith jon smith 1
jon, smith jon, smith 1
Jon Smith Jon Smith 1
jon smith et al jon smith et al 1
bob seger bob seger 2
bob, seger bob, seger 2
bobby seger bobby seger 2
bob seger jr. bob seger jr. 2
jake jake 3
jakey jakey 3
jack jack 3
jakeyfied jakeyfied 3
그러나, 이름이 자주 이것보다 더 복잡, 그리고 몇 가지 더를 추가 한 후
names <- c('jon smith','jon, smith','Jon Smith','jon smith et al','bob seger','bob, seger','bobby seger','bob seger jr.','jake','jakey','jack','jakeyfied','1234 ranch','5678 ranch','9983','7777')
d <- adist(names)
rownames(d) <- names
hc <- hclust(as.dist(d))
plot(hc)
rect.hclust(hc,k=6)

: 어려운 이름, 나는 기본
adist
옵션은 최적의 클러스터링을 포기하지 않았다 발견
대체 값을 2로 늘리고 삽입 및 삭제 비용을 1로 유지하고 대소 문자를 무시함으로써이 문제를 개선 할 수있었습니다.내가 더 잘 예 : "목장 같은 일반적인 용어를 제거하여 클러스터링을 조정
d <- adist(names,ignore.case=TRUE, costs=c(i=1,d=1,s=2)) #i=insertion, d=deletion s=substitution
rownames(d) <- names
hc <- hclust(as.dist(d))
plot(hc)
rect.hclust(hc,k=6

: 이것은 내가 그룹화 싶지 않았다 완전히 다른 네 개의 문자 숫자 문자열의 잘못된 그룹화를 최소화하는 데 도움이 "와"등의 "grep
패키지의 gsub
도구를 사용하여 하나의 클러스터의 수를 증가 :
names<-gsub("ranch","",names)
names<-gsub("et al","",names)
d <- adist(names,ignore.case=TRUE, costs=c(i=1,d=1,s=2))
rownames(d) <- names
hc <- hclust(as.dist(d))
plot(hc)
rect.hclust(hc,k=7)

를
수작업으로 숫자를 선택하는 대신 데이터 수가 가장 많은 클러스터를 정렬 할 수있는 방법이 있지만 실제로는 시행 착오를 사용하는 것이 가장 쉬운 것으로 나타났습니다 (정보는 here about that approach 임).
좁은 답변 (미안)이 없지만 [자연어 처리 작업보기 (CRAN)] (http://cran.r-project.org/web/views/NaturalLanguageProcessing)에서 검색을 시작합니다. .html). –
[계층 적 텍스트 클러스터링] (http://stackoverflow.com/a/21513338/1203041)이 내가 원하는 것을 할 것입니다. –
계층 적 텍스트 클러스터링 링크에 감사드립니다. 언어 처리가 흥미로워 보인다. –