Issue: 사용자가 식당을 추천받긴 받았으나 무슨근거로 왜 추천받았는지 신뢰하지못할것같음.
Problem Solving
Sentence-BERT: 문장을 벡터로 변환하는 데(임베딩) 하는데 있어서 최적화가 잘 되어 있음. 문장 간의 의미적 유사성을 잘 캡처하여 임베딩을 생성하기 때문에, 비슷한 리뷰들을 군집화하는 데 매우 유리.
https://huggingface.co/sentence-transformers/all-mpnet-base-v2
UMAP (Uniform Manifold Approximation and Projection): UMAP은 고차원의 데이터를 저차원으로 축소하면서도 중요한 구조를 유지함. 데이터의 복잡성을 줄여 군집화를 더 효율적으로 수행함.
HDBSCAN: 밀도 기반 군집화 알고리즘으로, 특히 클러스터의 모양이나 크기에 관계없이 데이터를 효과적으로 클러스터링함. HDBSCAN은 노이즈에 강하고, 클러스터의 개수를 사전에 지정할 필요가 없다는 장점.
api 리턴완료
"status": "success",
"keyword": "경기 성남시 분당구 제육볶음",
"ranked_resturant": [
{
"store_name": "고창댁설렁탕",
"address": "성남시 분당구 돌마로486번길 12 지하3호",
"score": 3.2646838971669565,
"top_terms": [
[
"모찌",
12
],
[
"메모",
8
],
[
"맛있어요",
7
],
[
"모찌가",
5
],
[
"너무",
4
]
]
},
{
"store_name": "상기육개장",
"address": "성남시 분당구 판교역로2번길 34 1층 102호",
"score": 2.8404288694251782,
"top_terms": [
[
"육개장",
5
],
[
"깔끔하고",
3
],
[
"육개장이",
2
],
[
"밥맛도",
2
],
[
"반찬도",
2
]
]
},
{
"store_name": "숭늉주는청국장집",
"address": "성남시 분당구 황새울로360번길 28 은성프라자 1층 107호",
"score": 2.7429806535587624,
"top_terms": [
[
"여기",
2
],
[
"청국장찌개",
2
],
[
"맛있어요",
2
],
...................
{
"store_name": "제주삼다가",
"address": "성남시 분당구 새마을로1번길 2 1-2층",
"score": -0.6398013843478347,
"top_terms": [
[
"직원들이",
2
],
[
"테이블",
2
],
[
"불친절과",
1
],
[
"띨빵함",
1
],
[
"사이분",
1
]
]
},
{
"store_name": "본술",
"address": "성남시 분당구 판교역로192번길 14-2",
"score": -1.355391673939908,
"top_terms": [
[
"진짜",
3
],
[
"여기",
3
],
[
"짜디",
2
],
[
"그냥",
2
],
[
"절대",
2
]
]
}
]
}
하지만, 보통 1~2분 걸리던 과정이, 5~6분으로 늘었음. 서버에도 부담이고 사용자가 안쓸거임