4
나는 오디오 핑거 프린팅 시스템에서 일하고 최근에 몇 가지 서류 및 연구를 통해 갈

에 해싱 특히이 페이지 : c# AudioFingerprinting and Locality Sensitive Hashing소재지 민감한 오디오 지문

는 지금 오디오의 모든 32 ms보다 짧은 시간을 위해 지문의 시리즈를 가지고있다 . LSH 또는 다른 유사성 보존 방법을 사용하여 이러한 개별 지문을 해시하는 것입니다. 내가 LSH에 대해 이해 한 바에 따르면, 다차원 벡터에서 작동하고 해밍 (Hamming) 공간에서 비교할 수있는 바이너리 문자열을 생성합니다.

내 문제는 내가 가지고있는 지문이 다차원이 아니라는 것입니다. 그것들은 단지 하나의 긴 정수입니다. LSH를 사용하여 이것을 어떻게 해시 할 수 있습니까? 단일 차원 스칼라를 해시하는 (유사성 보존 방식으로) 방법이 있습니까?

답변

1

답장이 늦어졌지만, 여기에있는 일이 실제로 매우 간단했지만 어떻게 놓쳤는 지 모릅니다.

LSH는 벡터 또는 스칼라를 다른 차원 공간에 투영하기 위해 임의의 투영 벡터를 사용하면서 유사성을 보존합니다. 여기에서 좋은 대답을 확인하십시오 https://stackoverflow.com/a/12967538/858467

그래서 제가해야 할 일은 [nx 1] 차수의 무작위 투영 행렬을 만든 다음 스칼라 [1 x 1] 또는 스칼라 [1 xm]의 벡터로 곱하면됩니다. 투영법 [nx 1] 또는 [nxm]을 얻으십시오. 그 후 이진 벡터를 얻기 위해 그것을 thresholding하는 것으로 보인다.

이것은 정확한 믿음의 방법이라고 생각합니다 (이전에 같은 방식으로 했음). 지금은 좋은 바이너리 벡터를 얻을 수없는 것 같습니다. 문제에 좀 더 깊이 들어가면 아마도 또 다른 질문을 게시 할 것입니다.