https://www.sciencedirect.com/science/article/pii/S0167739X17300389
요약
SOC는 현재 IT시장에서 굉장히 유연한 컴퓨팅 아키텍처로 각광받고있고, web service는 가장 보편적인 SOA를 구현 기술이다. 유사한 기능을 제공하지만 서로 다른 퀄리티를 지닌 웹서비스들이 많기 때문에 서비스 추천 기술이 필요하다. 그래서 기존의 방식과는 차별적인 SVM기반의 CF 방법인 서비스 추천 방법을 제시한다.
그리고 관련 연구 부분에서 CF의 소분류인 memory-based, model-based, context-based approach도 소개됨.
prediction based approach가 의미가 없으며 이 논문에서 제시하는 방식은 prediction을 하지 않고 바로 서비스를 추천한다.고 언급함.
Model of SVMCF4SR 그림이 되게 잘 그려져 있고, 알고리즘의 전체적인 구조는 Solution of SVMCF4SR 보면 깔끔하게 설명되어있다. 내용에 포함된 여러 식들은..잘 이해하지 못했다.
SVMCF4SR 알고리즘은 아래와 같다.
- 유저가 평가한 서비스들은 training set으로 분류되며 각 서비스의 유저 평가 수치인 r이 임계값 엡실론 보다 높으면 positive 서비스(XP), 아닌 경우 negative 서비스(XN)으로 분류된다.
- training set은 SVM을 사용하여 학습된다. SVM 학습 결과 구분 초평면(separating hyperplane = classifier)이 얻어짐. test set에 대해서는 이 구분자에 의해 분류될 것이다.
- test set을 입력하여 나온 결과 y=1(y가 결과값 = 선호할 것으로 예상되는 서비스 지표)이면 SP(positive)로 분류되고, y=-1이면 SN(negative)로 분류되는데, SN은 제거되어 추천될 가능성을 없앤다.
- 또한 f(s)s를 계산하여 (f(s)의 결과는 해당 서비스와 SVM hyperplane 과의 거리일 것) 선호 정도를 측정한다. 이 결과값을 내림차순으로 정렬하여 높은 순으로 N개를 추출하여 유저에게 추천한다.
결론적으로 다른 CF방식들과 비교했을 때 해당 방법이 시간 복잡도 면에서도 추천 성능 면에서도 성능이 좋았다는 것이다. 그리고 장점 중 하나로 data가 sparse해도 상관없다고 언급함.
이 논문은 SVM(support vector machine)을 기반으로 하고 있기 때문에 hyperplane과 같은 용어가 등장해서 기본적인 SVM에 대한 지식이 있는 상태에서 보는 게 훨씬 이해하기 쉬울 것 같다. 이 논문 안에서도 SVM에 대해서 설명하고 있긴 하지만 도움이 될 만한 블로그 링크를 첨부합니다.
https://deep-learning-study.tistory.com/796