데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      OpenLab 2기 - AI 시대 자동화 시스템과 대화하는 새로운 방법(3) - 노래 추천 시스템에 적용하기

      fnelwndls 24.11.26
      266 2 0
      DEVOTEE 요약
      데보션 오픈랩 2기 스터디에서 GraphRAG를 활용한 노래 추천 프로젝트를 소개하고자 합니다. 온톨로지와 GraphDB를 통해 음악의 구조적 관계를 활용하여 사용자의 감정이나 상황에 맞춰 추천하는 시스템을 구현했습니다.
      DEVOTEE 추천 블로그

      안녕하세요, 데보션 오픈랩 2기 [AI 시대 자동화 시스템과 대화하는 새로운 방법] 스터디의 김수진입니다.


      스터디에서 온톨로지와 그래프에 인사이트를 얻고 graphRAG를 적용한 노래 추천 토이 프로젝트를 소개하고자 합니다.

      법률, 의료와 같이 규칙이 명확한 도메인에서 온톨로지를 활용하여 데이터를 구조화하고 추론 과정을 개선하는 사례를 다뤘습니다.

      음악은 노래 제목, 장르, 가수, 앨범, 특징 등 다양한 구조적 관계를 가지기 때문에 해당 도메인에 적용하기 적합하다고 생각했습니다.


      온톨로지와 GraphDB의 연관성

      온톨로지는 특정 도메인을 체계적으로 표현하기 위해 개념, 속성, 관계를 구조화하는 방식입니다.

      음악 추천 시스템에서 이는 사용자의 감정, 노래의 장르, 태그와 같은 다양한 요소 간의 관계를 정의하고 활용하는 데 중요한 역할을 합니다.

      정보를 노드(개념)와 엣지(관계)로 표현하고 이를 통해 데이터 간의 관계를 유연하고 직관적으로 탐색할 수 있습니다.


      다음과 같은 장점이 있습니다.

      1. 다양한 관계 표현:

        • 노래, 가수, 장르, 태그 등 다양한 요소를 온톨로지 개념처럼 체계적으로 정리

      2. 유연한 탐색:

        • 사용자 감정과 노래 간의 다중 관계를 효율적으로 탐색 가능

      3. 확장성과 적응성

        • 새로운 감정 태그나 노래를 추가할 때 기존 데이터와 자연스럽게 연결 가능

      4. 의미적 일치

        • 사용자의 주관적 표현(예: "편안한 노래")을 그래프 데이터(예: "잔잔한 태그")와 매칭

      본 프로젝트에서는 사용자 상호작용 정보는 반영할 수 없다는 전제 하에 사용자가 본인의 상태나 감정만을 입력했을 구축된 그래프에서 가장 적합한 노래를 추천하는 시스템을 설계했습니다.


      프로젝트 구조와 파이프라인


      1. STT(음성 인식) 기술을 활용한 데이터 처리

      • Google Cloud Speech-to-Text API를 사용하여 사용자의 음성 데이터를 텍스트로 변환

      2. Melon Playlist Dataset으로 GraphDB 구축

      • Melon Playlist Dataset을 활용하여 노래, 태그, 장르 등 데이터를 기반으로 그래프 구조 설계


        [Graph schema]

      • 데이터 구성:

        • Playlists: 148,826개

        • Songs: 649,091

        • Tags: 30,652개

        • Genres: 30개, Sub-Genres: 219개

      3. 사용자 감정 및 상황 분석

      • OpenAI GPT를 활용하여 사용자의 입력 텍스트에서 감정 및 상황 태그 추출

      • 예: "슬픈 노래 추천해줘" -> 태그 "슬픔" 추출

      4. 추천 엔진 구현

      1. Semantic Search:

        • 사용자 입력에서 추출된 태그를 GraphDB의 노드 정보와 매칭

        • 예: 입력 "편안한 노래 추천" -> graphDB의 "잔잔한" 태그와 매칭

      2. Cypher Query 생성

        • Graph schema와 semantic search 결과를 기반으로 LLM이 적합한 Cypher Query 생성

      3. RAG 프로세스


        • Query로 GraphDB에서 조건에 맞는 추천 노래 리스트 추출

      4. LLM 최종 응답 생성

        • 추출된 결과를 사용자에게 제공

      [결과]



      퍼스트파티 데이터가 존재하지 않을 때 상황 정보만 반영하여 graphRAG를 적용한 추천 시스템을 구현해봤습니다.


      이번 스터디를 통해 온톨로지와 GraphRAG를 활용한 데이터 구조화와 추론 방식에 대해 인사이트를 얻을 수 있었습니다.

      특히, 법률이나 의료와 같은 규칙 기반 도메인뿐 아니라 주관적인 음악 도메인에서도 이러한 기술을 효과적으로 적용할 가능성을 발견할 수 있었습니다.

      좋은 인사이트를 나눠주신 스터디원들께 감사드리며 앞으로도 꾸준한 활동을 지속해 나가고 싶습니다!



      음성인식 처리 과정 세미나로 NUGU가 어떻게 작동되는지 이해할 수 있었습니다ㅎ.ㅎ

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      fnelwndls 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기