Ⅰ. 서론
최근 인공지능(AI)과 딥러닝 기술의 발전은 정보 처리와 분석 방식에 혁명적인 변화를 가져왔다. 특히, 2017년에 소개된 트랜스포머(Transformer) 모델은 자연어 처리(NLP) 분야에서 기존의 한계를 극복하며, 문맥 이해 능력에서 큰 진보를 이루었다. 트랜스포머 아키텍처는 이후 BERT(Bidirectional Encoder Representations from Transformers)를 포함한 다양한 파생 모델들의 기반이 되었으며, 이들 모델은 NLP의 여러 분야에서 새로운 기준을 설정하였다.
이러한 모델들의 성공은 곧 대규모 언어 모델(Large Language Models, LLM)의 개발로 이어졌으며, 이는 GPT(Generative Pre-trained Transformer) 시리즈와 같은 모델들을 통해 구현되었다. 이러한 LLM들은 방대한 양의 텍스트 데이터를 학습하여, 문장 생성, 요약, 번역과 같은 고도의 언어 이해 및 생성 작업을 수행할 수 있는 능력을 보여주었다. 이것은 AI와 딥러닝이 인간의 언어를 이해하고 생성하는 방식에 대한 우리의 이해를 근본적으로 변화시켰다.
이러한 발전이 추천 시스템에도 새로운 잠재력을 제공하고 있다. 전통적인 추천 시스템은 사용자의 명시적인 피드백(예: 평점)을 기반으로 하여 개인화된 추천을 생성하였다. 그러나, LLM과 같은 모델들은 사용자의 리뷰나 텍스트 데이터에서 더욱 복잡하고 미묘한 선호도와 감정을 이해할 수 있는 능력을 제공함으로써, 추천 시스템의 정확도와 개인화 수준을 한 단계 더 발전시킬 수 있는 기회를 제공한다.
본 연구는 이러한 최신 모델들의 잠재력을 활용하여, 사용자 리뷰의 감정 분석을 통한 사용자 임베딩과 유사한 취향을 가진 사용자 간의 매칭을 통한 추천 시스템을 개발하였다. 이 과정에서 Elasticsearch와 같은 오픈천 결과 출력을 가능하게 하여, 추천 시스템 연구에 새로운 방향성을 제시하고자 한다.
Ⅱ. 관련 연구
1. 추천 시스템 알고리즘
‘BERT 기반 감성분석을 이용한 추천시스템’의 논문에서는 추천 시스템과 감성 분석을 결합한 연구이다. 특히 BERT 모델을 활용하여 감성 분석의 성능을 향상시키는 방안을 제시하였다. 연구를 위해 BERT의 사전 학습과 미세 조정 기능을 활용하였다. 감성 분석은 사용자 리뷰와 평점 데이터를 이용하였다. 문장 내 단어 간 관계를 정의하기 위해 포지션 임베딩과 scaled dot-product attention 메커니즘을 사용하고, 문맥 정보는 Bi-LSTM과 attentino 레이어를 결합하여 활용하였다. 최종적으로 softmax 활성화 함수를 사용하여 각 평점 레이블의 확률 값을 계산하여 사용자에게 맞춤 추천을 제공하였다. 실험 결과 BERT 기반 감성 분석을 통한 추천 모델은 기존 모형들보다 우수한 추천 성능을 보여주었다. 그러나 BERT 모델의 복잡한 연산 과정, 콜드스타트 문제, Top-N 추천 성능 평가의 한계를 가졌다. 이 논문에서 제안하는 BERT 개념도는 그림 1과 같다[1].
그림 1. BERT 개념도
Fig. 1. System Conceptual Diagram for Bus Rapid Transit
2. 검색 시스템
‘빅데이터 클러스터 기반 검색 폴랫폼의 실시간 인덱싱 서능 최적화’, ‘Elasticsearch 기반의 동적 추천 아키텍쳐 및 절차’ 의 논문에서는 순환신경망 기반의 정적 추천 시스템에서 생성된 상품 리스트를 바탕으로, Elasticsearch와 BM25 알고리즘을 활용해 동적으로 상품을 추가하여 추천하는 새로운 아키텍처를 제안하였다. 이를 통해 사용자에게 제공되는 추천 상품 리스트의 정확도와 효율성을 개선할 수 있음을 실험을 통해 확인하였으며, 이 아키텍처는 재학습 없이도 동적인 추천을 가능하게 하여 추천 시스템의 성능을 향상시킬 수 있는 기반을 마련하였다. 또한, 향후 이 아키텍처를 다양한 전자상거래 추천 서비스에 적용 가능하도록 OpenAPI 구조에 대한 연구를 계획하고 있다는 점에서 의의를 가진다. 이 논문에서 제안하는 동적 추천 아키텍처는 그림 2와 같다[2].
그림 2. 동적 추천 아키텍처
Fig. 2. System Conceptual Diagram for Bus Rapid Transit
3. 협업 필터링
‘온라인 의류 쇼핑을 위한 맞춤형 치수 추천시스템:협업 필터링 접근법’의 논문에서는 온라인 의류 쇼핑을 위한 개인화된 치수 추천 시스템을 개발하였으며, 이는 패션 전자상거래 기업의 주문 정보를 활용한 협업 필터링 기반 방법론을 사용한다. 데이터 전처리, 모델 훈련, 평가 과정을 거쳐, NMF 알고리즘이 가장 높은 성능을 보였고, KNN은 가장 낮은 성능을 나타냈다. 또한, 의류 구매 데이터의 희소성과 콜드 스타트 문제, 그리고 구매 건수가 성능에 영향을 미치는 것으로 나타났다. 이 연구는 온라인 의류 쇼핑에서 치수 선택의 어려움을 해결하고 개인화된 쇼핑 경험을 제공하여 전자상거래 사이트의 사용자 만족도를 높이는 데 기여할 것으로 기대된다. 이 논문에서 제안하는 사이즈 추천 시스템 개발 절차는 그림 3과 같다[3].
그림 3. 사이즈 추천 시스템 개발 절차
Fig. 3. System Conceptual Diagram for Bus Rapid Transit
Ⅲ. 본문
1. 제안 시스템 구조
본 논문에서 제안하는 시스템은 Apache Tomcat을 이용한 WAS, MariaDB를 이용한 DB 서버, Elasticsearch와 BERT 모델 구동을 위한 Elasticsearch 서버, 실제 Elasticsearch document들이 저장되어 있는 Shard들이 모인 Elastic Cluster로 이루어져 있다. 추천 기능과 검색 기능을 구현하기 위해 기본적으로 Apache Tomcat을 기반으로 한 웹 서비스를 구현하였다. 사용자가 각종 기능들을 이용하면 WAS에 따라 회원 정보와 같은 데이터들은 DB 서버로 요청이 되고 추천 기능과 검색 기능이 필요한 요청들은 Elasticsearch 서버로 요청한다. Elasticsearch의 기능들은 REST API로 구현되어 각종 쿼리들을 쉽게 요청할 수 있다. 제안 시스템의 전체 구조도는 그림 4와 같다.
그림 4. 시스템 구조도
Fig. 4. Standard Protocol Structure
2. 알고리즘
가. 추천시스템 알고리즘. 프로세스
추천 시스템 알고리즘은 협업 필터링 방식에 머신러닝 모델을 결합한 방식을 사용하였다. 협업 필터링은 최근 많이 사용되는 추천 방식으로 사용자와 유사한 취향의 사용자를 찾아 Eelement를 추천한다. 사전 학습된 BERT 모델은 문맥 이해에 뛰어난 장점이 있어 감성 분석에 뛰어난 결과를 보인다. 이에 기존에 추천 시스템에서는 사용하기 어렵던 리뷰 텍스트 데이터를 감성 분석하여 짧은 텍스트 데이터로 변환 후 이를 vector 형식으로 변환하여 협업 필터링을 구현한다. 이를 구현하기 위해 데이터 셋으로는 아마존 상거래 사용자 리뷰 데이터 셋을 사용하였다. 먼저 사용자를 임베딩하기 위해 데이터 전처리 과정을 거쳤는데 기본적으로 상품의 카테고리, 상품의 별점, 상품 리뷰의 텍스트 데이터를 사용하였다. 상품의 카테고리와 별점과 같은 정량적인 데이터는 수정 없이 사용하였고, 리뷰의 텍스트 데이터와 같은 정성적인 데이터는 BERT를 이용하여 감성 분석을 진행한 뒤 그 결과를 사용하였다. 이 데이터들을 결합하여 하나의 텍스트 데이터로 만든 뒤, 각 사용자에 맞게 분류하여 사용자 Element 리스트를 하나의 텍스트로 만든다. 그 뒤 사전 학습된 BERT 모델에 입력하여 vector 임베딩을 한다. 그러면 각 사용자에 해당하는 vector가 출력되게 되고 코사인 유사도를 사용하여 입력된 사용자와 가장 vector 상으로 유사한 사용자를 찾아 Element를 추천하게 된다. 제안 시스템의 추천 시스템 알고리즘은 그림 5와 같다.
그림 5. 추천 시스템 알고리즘
Fig. 5. Center System Service Platform Configuration Diagram
나. 검색 시스템 알고리즘
많은 양의 데이터를 다룰 경우 효율적이고 빠른 검색 기능을 도입하기 위해 lusean기반의 검색 엔진 Elasticsearch를 시스템에 이용하였다. Elasticsearch의 기본적인 검색 방법은 역색인 구조로 단순히 데이터의 내용 중 키워드에 따라 색인을 나눠 그 색인이 검색되면 해당되는 문서들을 검색하는 방식이기에 검색에 최적화되어 있다. 또한 기본적으로 TF/IDF, BM25 등 다양한 추천 알고리즘이 있고 사용자 커스텀 모델을 이용하여 추천 알고리즘을 적용할 수 있다. 이에 사용자 맞춤 Element 추천은 앞서 설명한 추천 시스템 알고리즘을 사용하게 되고 나머지 부분에서는 Elasticsearch 자체 제공 추천 알고리즘을 사용하여 검색에 사용하여 상황에 따른 추천을 할 수 있게 하였다.
데이터 읽기 요청이 들어오면 요청 내용이 개인 맞춤형 추천인지 확인한다. 맞다면 사용자 데이터 및 키워드를 읽어오고 사전 학습된 BERT 모델을 호출하고 유사 사용자를 추천하여 Element를 추천하고 Element ID를 반환한다. 이후는 요청이 개인 맞춤화 추천이 아닌 경우와 같이 진행된다. 선택지가 거짓일 경우 키워드 기반 document 쿼리를 실행하여 역색인에 키워드가 존재하는 지 확인한다. 역색인에 키워드가 존재한다면 해당 document를 탐색하고 아닐 경우 유사도가 높은 document를 탐색한다. 그 뒤 document 쿼리 결과를 반환한다. 제안 시스템의 검색 시스템 알고리즘은 그림 6과 같다.
그림 6. 검색 시스템 알고리즘
Fig. 6. Center System Service Platform Configuration Diagram
3. 데이터베이스 구조
구매 내역(Purchase_history) 테이블은 사용자가 어떤 상품을 언제 구매했는지에 대한 정보를 담고 있다. 각 구매 내역에는 고유한 ID(history_id), 구매한 사용자의 ID(user_id), 구매한 상품의 ID(asin), 구매 시간(timestamp), 그리고 구매 상태(status)가 기록된다. 이 테이블은 구매가 완료되었는지, 아니면 취소되었는지 등의 상태 정보를 포함하여 사용자의 구매 이력을 추적한다. 유저 리뷰(User_review) 테이블은 사용자가 상품에 대해 남긴 리뷰의 상세 정보를 저장한다. 리뷰는 리뷰 ID(review_id), 상품 평가 점수(rating), 리뷰 제목(title), 리뷰 내용(text), 리뷰에 첨부된 사진(images), 리뷰 대상 상품의 ID(asin), 리뷰 작성자의 ID(user_id), 리뷰 작성 시간(timestamp), 그리고 도움 되는 리뷰에 대한 투표 수(helpful_vote)를 포함한다. 이 테이블을 통해 사용자는 상품에 대한 경험을 공유하고, 다른 사용자들은 이를 참고할 수 있다. 사용자(User) 테이블은 웹 사이트의 사용자 개인 정보를 관리한다. 각 사용자는 고유한 ID(user_id), 이메일 주소(email), 비밀번호(password), 그리고 이름(name)을 가지고 있다. 이 테이블은 사용자 관리와 인증 과정에서 중요한 역할을 한다. 상품(Element) 테이블은 상점에서 판매되는 각 상품의 상세 정보를 담고 있다. 이는 상품의 ID(asin), 속한 테마(theme), 카테고리(category), 상품명(title), 평균 평점(average_rating), 평점 수(rating_number), 상품 설명(description), 가격(price), 그리고 상품 이미지(images)로 구성된다. 상품 테이블은 상품 검색, 추천, 상품 정보 제공 등에 활용된다. Element 조회 이력(Element_history) 테이블은 사용자가 어떤 상품을 조회했는지에 대한 이력을 저장한다. 이는 조회 이력의 ID(history_id), 조회한 상품의 ID(asin), 조회한 사용자의 ID(user_id), 그리고 조회 시간(timestamp)을 포함한다. 이 정보는 사용자의 관심사를 파악하고 개인화된 콘텐츠를 제공하는 데 사용될 수 있다. 마지막으로, Element 북마크(Element_bookmark) 테이블은 사용자가 관심 있는 상품을 북마크한 정보를 저장합니다. 북마크 ID(bookmark_id), 북마크한 상품의 ID(asin), 북마크한 사용자의 ID(user_id), 그리고 북마크 시간(timestamp)이 기록된다. 이 테이블을 통해 사용자는 자신이 관심 있는 상품을 쉽게 찾고 관리할 수 있다. 데이터베이스 구조는 그림7과 같다.
그림 7. 데이터베이스 구조
Fig. 7. Integrated Operating System Implementation Screen
4. Element 관리
운용자가 볼 수 있는 페이지로 Element의 기본적인 CRUD 기능을 사용할 수 있다. 페이지 중앙 상단에 존재하는 검색 창은 Element 검색 기능과 같이 카테고리 검색과 키워드 검색을 지원한다. 그 밑에는 Element들의 정보들이 표현되어 있는데 제일 위쪽에는 각종 Element의 스키마 정보들이 기록되어 있다. 그리고 가장 우측에는 체크 박스 형식으로 버튼을 선택할 수 있게 되어 있다. 이 체크 박스에 체크가 되어 있고 우측 상단에 휴지통 모양의 버튼을 누르게 된다면 체크가 된 Element들을 삭제할 수 있다. 좌측 하단에 더하기 모양의 버튼은 Element를 추가할 수 있는 버튼이다. 이 버튼을 클릭하게 된다면 운용자는 Element를 추가할 수 있다. 그리고 중앙 하단부에는 이 Element가 특정 개수 이상 존재한다면 페이지 구분을 위해 존재하는 페이징 기능이다. 제안된 시스템의 Element 관리 화면 설계는 그림 8과 같다.
그림 8. Element 관리 화면 설계
Fig. 8. S-BRT Service Operation Platform Advancement Schematic
5. 테스트
상관관계 기반 Element 추천 화면은 사용자가 선택한 Element와 사용자 사용 기록을 통해 추천되는 Element를 추천한다. 현재 테스트 화면에서는 중단의 사진들이 나열되어 있는데 맨 왼쪽의 Element가 사용자가 선택한 Element이고 나머지 사진은 추천된 Element이다. 가장 좌측 사용자가 선택한 Element는 MicroSD 카드이며 그 추천 결과로 휴대용 카메라, SD 리더기, 다른 MicroSD 카드가 추천 된 것을 볼 수 있다. 그리고 화면 우측 상단에는 이 결과를 저장할 수 있는 플로피 디스크 모양의 버튼이 자리잡고 있다. 그리고 추천 결과는 여기서 끝이 아니라 화면 우측 꺽쇠 모양의 버튼을 누르거나 스크롤을 할 경우 추천되는 다른 상품들을 볼 수 있다. 그리고 우측 하단에는 상품의 총합 가격을 나타내는 텍스트가 제공된다. 상관관계 기반 Element 추천 테스트 화면 그림 9와 같다.
그림 9. 테스트 화면
Fig. 9. Measurement of Processing Service Data Processing Results
Ⅳ. 결론
본 연구를 통해 최신 인공지능 및 딥러닝 기술, 특히 대규모 언어 모델을 활용한 추천 시스템의 개발과 구현이 가능함을 확인하였다. 최근 몇 년간 AI와 딥러닝 기술은 급속히 발전하였으며, 특히 2017년에 소개된 트랜스포머모델은 자연어 처리(NLP) 분야에서 기존의 한계를 극복하며, 문맥 이해 능력에서 큰 진보를 이루었다. 트랜스포머 아키텍처는 이후 BERT를 포함한 다양한 파생 모델들의 기반이 되었고, 이들 모델은 NLP의 여러 분야에서 새로운 기준을 설정하였다.
현재 문제점으로는 전통적인 추천 시스템이 사용자의 명시적인 피드백(예: 평점)에만 의존하여 개인화된 추천을 제공하는 데 한계가 있다는 점을 지적할 수 있다. 이러한 시스템은 사용자 선호도의 복잡한 양상과 감정을 충분히 반영하지 못하는 문제가 있다.
따라서 본 연구에서는 LLM과 같은 최신 모델들이 사용자의 리뷰나 텍스트 데이터에서 더 복잡하고 미묘한 선호도와 감정을 이해할 수 있는 능력을 활용하였다. 이를 통해 사용자 리뷰의 감정 분석을 통한 사용자 임베딩과 유사한 취향을 가진 사용자 간의 매칭을 통해 보다 정밀하고 개인화된 추천 시스템을 개발하였다. 또한, Elasticsearch와 같은 오픈소스 검색 엔진을 활용하여 빠른 검색과 효율적인 추천 결과 출력을 가능하게 하였다.
본 연구의 결과는 추천 시스템의 개발 방법론에 새로운 시각을 제공하며, 인공지능 기술의 적용 가능성을 확장시키는 데 기여할수 있다. 사용자의 세밀한 선호도와 감정을 파악하여 추천의 정확도와 개인화 수준을 높이는 접근 방식은 향후 다양한 온라인 서비스에서 사용자 경험 개선에 중요한 역할을 할 것이다.
향후 계획으로는 더 다양한 데이터 소스와 고급 분석 기법을 통합하여 추천 시스템의 정밀도와 사용자 만족도를 더욱 향상시킬 수 있는 방안을 모색해야 하고자 한다. 또한, 개인정보 보호와 데이터 보안에 대한 고려도 중요한 연구 주제가 될 것이다.
References
- Park, H. Y., Kim, K.J."Recommender system using BERT sentiment analysis". Journal of Intelligent Information Systems Research, Vol.27, No.2, pp.1-15, 2021 DOI: https://doi.org/10.13088/jiis.2021.27.2.001
- Jeong, J.H., & Kim, C.J."A Dynamic Recommendation Architecture and Procedure Based on Elasticsearch." Journal of the Korea Society of IT Services, Vol.15, No.4, pp.463-472, 2020 DOI: http://doi.org/10.34163/jkits.2020.15.4.002
- D. W. Lee, "Personalized Size Recommender System for Online Apparel Shopping: A Collaborative Filtering Approach," Journal of the Korea Computer Information Society, Vol.28, No.8, pp.39-48, 2023 DOI: https://doi.org/10.9708/jksci.2023.28.08.039
- Kook, H.J., Shin, Y.H. "Review-based Personalized Recommendation System using Effective Personalized Fusion and BERT." Journal of the Korean Informatics Society, Vol.50, No.8, pp.646-652, 2023 DOI: https://doi.org/10.5626/JOK.2023.50.8.646
- Cho, S.E., & Lim, H.S. "A Study on Product Recommendation System Based on User Search Keyword". Journal of the Korean Society of Digital Content, Vol.20, No.2, pp.315-320, 2019 DOI: http://dx.doi.org/10.9728/dcs.2019.20.2.315
- Chow, Y, J. Park, S, Y. Youn, S, H. Choi, S,H and Yoo, S, J. "Machine Learning Based Optimal Evacuation Route Guidance ARNavigation System in Indoor Fire Situations."The Journal of Korean Institute of Communications and Information Sciences, Vol. 7, No.1, pp.88-97, 2022 DOI: https://doi.org/10.7840/kics.2022.47.1.88
- Jung, J.H., Kim, J.W., On, B.W., Jung, D.W., "University Reputation Evaluation based on AR-KNU+ Sentiment Dictionary using BERT". Journal of the Korea Institute of Information Technology, Vol.20, No.1, pp.149-157, 2022 DOI: http://dx.doi.org/10.14801/jkiit.2022.20.1.149
- Kim, J.Y., Cho, K.H., Park, J., Jung, S.H., & Shim, C.B. "A Development of Optimal Travel Course Recommendation System based on Altered TSP and Elasticsearch Algorithm". Journal of the Korean Society of Multimedia, Vol.22, No.9, pp.1,108-1,121, 2019 DOI: https://doi.org/10.9717/kmms.2019.22.9.1108
- H. W. Kim, H. J. Yoon, G. H. Kim, "A Study on the Intelligent Online Judging System Using User-Based Collaborative Filtering," Journal of the Korea Computer Information Society, Vol.29, No.1, pp.273-285,2024 DOI: https://doi.org/10.9708/jksci.2024.29.01.273
- S. W. Hwang, D. Y. Kim, E. B. Kim, Y. E. Lee, Y. S. Eom, "Recommender System for the Hobby-Activity-Item Rental Platform using User-based Collaborative Filtering," Journal of the Korea Digital Content Society, Vol.23, No.6, pp.985-993, 2022. DOI: http://dx.doi.org/10.9728/dcs.2022.23.6.985
- Davichi Jeong, Young-J. Rho, " Development of Filtering System ADDAVICHI for Fake Reviews using Big Data Analysis",The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol.19, No.6, pp.1-8, 2019. DOI: http://doi.org/10.7236/JIIBC.2019.19.6.1
- Jungsuk Choi, Nammee Moon, "BERT-based B2B matching model for K-Startups and Overseas Buyers", Journal of the Korea Academia- Industrial cooperation Society, Vol. 24, No. 9 pp. 769-775, 2023 DOI: http://doi.org/10.5762/KAIS.2023.24.9.769
- Se-Joon Park, Do-Hyun Soung, and Yung-Cheol Byun, "A Hybrid Collaborative Filtering based on Online Shopping Patterns using XGBoost and Word2Vec", Journal of KIIT. Vol. 18, No. 9, pp. 1-8, Sep. 30, 2020 DOI: http://dx.doi.org/10.14801/jkiit.2020.18.9.1