파이썬 차이에 잠재 의미 분석 :나는 다음과 같은 코드를 사용하여 파이썬에서 <a href="http://en.wikipedia.org/wiki/Latent_semantic_analysis" rel="nofollow">Wikipedia Article on latent semantic indexing</a>을 따르려고
documentTermMatrix = array([[ 0., 1., 0., 1., 1., 0., 1.],
[ 0., 1., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 1., 1.],
[ 0., 0., 0., 1., 0., 0., 0.],
[ 0., 1., 1., 0., 0., 0., 0.],
[ 1., 0., 0., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 1., 1., 0.],
[ 0., 0., 1., 1., 0., 0., 0.],
[ 1., 0., 0., 1., 0., 0., 0.]])
u,s,vt = linalg.svd(documentTermMatrix, full_matrices=False)
sigma = diag(s)
## remove extra dimensions...
numberOfDimensions = 4
for i in range(4, len(sigma) -1):
sigma[i][i] = 0
queryVector = array([[ 0.], # same as first column in documentTermMatrix
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 1.],
[ 0.],
[ 0.],
[ 1.]])
는 수학이 작동해야한다고 말했습니다 방법 : 작업을 수행 무엇
dtMatrixToQueryAgainst = dot(u, dot(s,vt))
queryVector = dot(inv(s), dot(transpose(u), queryVector))
similarityToFirst = cosineDistance(queryVector, dtMatrixToQueryAgainst[:,0]
# gives 'matrices are not aligned' error. should be 1 because they're the same
을, 잘못된 보이는 수학에 : (here에서)
dtMatrixToQueryAgainst = dot(s, vt)
queryVector = dot(transpose(u), queryVector)
similarityToFirst = cosineDistance(queryVector, dtMatrixToQueryAgainsst[:,0])
# gives 1, which is correct
왜 만들자을한다 그리고 LSA의 수학에 대해 알아낼 수있는 모든 것이 올바른 것으로 첫 번째를 보여줄 때? 나는 명백한 무엇인가를 놓치고있는 것처럼 느낀다 ...
'## 외형 치수 제거 ...'에는 어떤 것이 포함됩니까? – Avaris
'u, s, vt = linalg.svd (a, full_matrices = False)'에서 순위 감소 표시 – Jmjmh
을 편집 한 결과,'a'는 어디에서 왔습니까 ??? – Oerd