2016-11-03 7 views
0

텍스트 클러스터링을위한 k- 수단, 특히 영어 문장을 구현하려고합니다. 지금까지 각 문서 (문장)에 대한 용어 빈도 행렬이있는 지점에 있습니다. 텍스트 데이터에 대한 k- 수단의 실제 구현에 대해서는 다소 혼란 스럽습니다. 그것이 어떻게 작동해야하는지에 대한 나의 추측이 있습니다.k- 텍스트 클러스터링을위한 수단

  1. 모든 문장의 독특한 단어의 수를 알아낼 (많은 수의, 그것을 n 전화).

  2. (나는이 숫자에 대한 경계가 무엇인지를 결정하는 방법)을 kn 차원 벡터 (클러스터)를 작성하고 일부 임의의 숫자와 k 벡터의 값을 입력

  3. 부터 유클리드 거리를 결정 임의 k 클러스터에 q 문장의 각 등 클러스터를 재배치 (n는 영어와 같은 매우 큰 경우,이 벡터의 유클리드 거리를 계산 않을 것 매우 비용이 많이 드는?)

통찰력을 가져 주셔서 감사합니다!

답변

1

댓글에 약간 깁니다.

문서 용어 행렬이있는 경우 공분산 행렬의 주요 구성 요소를 찾으십시오. 주성분 공간에서 원래 데이터의 계수를 결정합니다. 이 공간에서 k-means 클러스터링을 할 수 있습니다.

텍스트 데이터의 경우 일반적으로 20, 50, 100 또는 그 이상의 크기가 필요합니다. 또한, 나는 k-means 대신에 가우스 혼합 모델/기대 최대화 클러스터링을 추천 할 것이지만, 그것은 또 다른 이야기입니다.

1

여기에 약간 오래된 질문을 부활하지만, 일반적으로 두 ...

을 연결하는 가치, 당신은 로컬 민감한 해시 대신 단어 발생 빈도에 의존하는 어떤 종류를 사용하십시오. 그러나 수동으로 기능 매트릭스를 조립하는 것은 큰 번거 로움입니다.

SO answer은 문서 목록에서 해당 기능 행렬을 만들고, scikit-learn을 사용하고 단계를 설명하는 방법을 안내합니다. 나는 그것이 당신에게 필요한 일련의 순서를 보여주는 데 도움이 될 것이라고 생각합니다.

관련 문제