게시된 날짜: Jul 29, 2020

Amazon Elasticsearch Service에서 이제 k-NN(k-Nearest Neighbor)을 사용한 코사인 유사성 거리 지표를 지원하여 유사성 검색 엔진을 강화합니다. 코사인 유사성은 크기와 상관없이 두 벡터 간의 유사성을 측정하는 데 사용되며 정보 검색, 이미지 인식, 텍스트 유사성, 생물 정보학 및 추천 시스템에서 일반적으로 사용됩니다.

AWS는 Amazon Elasticsearch Service에서 k-NN 유사성 검색 기능을 출시함으로써 수천 차원에 걸쳐 벡터로 표시되는 수십억 개의 문서에서 최근접 이웃 검색을 실행합니다. k-NN의 초기 릴리스에서는 유클리드 거리를 사용하여 벡터 간의 유사성을 측정했습니다. 코사인 유사성은 같은 방향의 두 벡터 사이의 각도 코사인을 측정하며, 코사인 각도가 작을수록 벡터 간의 유사성이 높음을 의미합니다. 이제 코사인 유사성을 사용하여 두 벡터 사이의 방향을 측정할 수 있습니다. 예를 들어, Bag of Words를 사용하여 길이가 크게 다르지만 가장 자주 사용되는 단어가 "pet"인 두 문서를 비교한다고 가정합니다. 둘 중 더 큰 문서에서는 이 단어가 300번 나오고 다른 문서에서는 75번 나옵니다. 두 문서의 규모가 달라 문서 간의 유클리드 거리는 클 수 있습니다. 하지만 두 문서의 콘텐츠에서 나타나는 공통된 방향 때문에 코사인 유사성을 기준으로 볼 때는 두 문서가 유사한 것으로 간주될 수 있습니다. 코사인 유사성을 사용한 k-NN 검색의 결과는 집계 및 필터링과 같은 Elasticsearch의 후처리 기능을 사용하면 그 정확도를 한층 개선할 수 있습니다. Elasticsearch의 고도로 분산된 아키텍처를 사용하면 리콜 및 성능이 뛰어난 엔터프라이즈급 코사인 유사성 기반 검색 엔진을 구현할 수 있습니다.

k-NN의 코사인 유사성 검색은 효율적인 경량 Non-Metric Space Library(NMSLIB)를 사용하여 구축되었으며 Apache 2.0 라이선스의 Elasticsearch 배포판인 Open Distro for Elasticsearch에서 제공합니다. Open Distro for Elasticsearch 및 해당 k-NN 플러그인에 대한 자세한 내용은 프로젝트 웹 사이트를 참조하십시오.

코사인 유사성 검색은 Elasticsearch 7.7을 실행하는 도메인에서 사용할 수 있습니다. 자세한 내용은 설명서를 참조하십시오.

Amazon Elasticsearch Service의 코사인 유사성 검색은 이제 미국 동부(버지니아 북부, 오하이오), 미국 서부(오레곤, 캘리포니아 북부), AWS GovCloud(US-Gov-East, US-Gov-West), 캐나다(중부), 남아메리카(상파울루), EU(아일랜드, 런던, 프랑크푸르트, 파리, 스톡홀름, 밀라노), 아시아 태평양(싱가포르, 시드니, 도쿄, 서울, 뭄바이, 홍콩), 중동(바레인), 중국(베이징 - Sinnet에서 운영, 닝샤 - NWCD에서 운영) 및 아프리카(케이프타운)를 비롯한 전 세계 24개 리전에서 사용할 수 있습니다. Amazon Elasticsearch Service 가용성에 대한 자세한 내용은 AWS 리전 표를 참조하십시오.